/* One motion rhythm for the menu, product content and cart. No loading delay. */
:root{--sivory-motion:cubic-bezier(.22,.61,.36,1)}
body.sivory-lux-navigation .sivory-drawer{transform:translateX(-103%);transition:transform 560ms cubic-bezier(.4,0,.3,1),visibility 0s linear 560ms;overscroll-behavior:contain;scrollbar-gutter:stable}
body.sivory-lux-navigation .sivory-drawer-backdrop{transition:opacity 480ms ease,visibility 0s linear 560ms}
body.sivory-lux-navigation .sivory-menu-root-feature>img{max-height:116px;aspect-ratio:auto;object-fit:contain}
.sivory-menu-status{margin-inline-start:auto;color:#68786f;font:500 11px/1.4 Arial,sans-serif}
.sivory-search-panel{box-sizing:border-box;max-height:calc(100dvh - var(--sivory-header-height) - 24px);overflow:auto}
.sivory-search-panel input{box-sizing:border-box}
.sivory-search-results{overscroll-behavior:contain}
body .sivory-search-results .sivory-search-product{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;min-height:60px;text-align:start}
.sivory-search-thumbnail{display:block;width:52px;height:52px;overflow:hidden;background:#f6f6f2}
.sivory-search-thumbnail>.sivory-product-media{position:relative;display:block;width:100%;height:100%;aspect-ratio:1;overflow:hidden}
.sivory-search-thumbnail img{width:100%;height:100%;object-fit:contain}
.sivory-search-product>span:last-child{min-width:0;overflow-wrap:anywhere;font-weight:600}
.sivory-shop-dialog[open]{animation:sivory-panel-enter 240ms var(--sivory-motion)}
@keyframes sivory-panel-enter{from{opacity:.6;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.sivory-product-page :is(button,a){scroll-margin-block:calc(var(--sivory-header-height) + 16px)}
body.sivory-product-page-active .sivory-page-top{display:none!important}
body.sivory-product-page-active{padding-top:var(--sivory-header-height)!important}
.sivory-film-actions{position:absolute;z-index:3;left:max(20px,env(safe-area-inset-left));right:84px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:10px;max-width:520px}
.sivory-film-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:10px 16px;border:1px solid #ffffffb3;background:#ffffffed;color:#173d30;text-decoration:none;font:600 13px/1.4 Arial,sans-serif;text-align:center}
.sivory-film-actions a:focus-visible{outline:2px solid white;outline-offset:3px}
@media(max-width:700px){
 body .sivory-floating-toolbar.sivory-lux-header{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:8px;gap:4px;box-sizing:border-box}
 body .sivory-lux-header .sivory-header-left{width:auto;gap:0}
 body .sivory-lux-header .sivory-member-toggle{display:none}
 body .sivory-lux-header .sivory-menu-button{width:44px!important;min-width:44px!important;padding:0!important}
 body .sivory-lux-header .sivory-menu-text{font-size:12px}
 body .sivory-lux-header .sivory-wordmark{width:100%;max-width:144px;min-width:0;justify-self:center;padding:0}
 body .sivory-lux-header .sivory-wordmark img{height:48px}
 body .sivory-lux-header .sivory-wordmark-descriptor{font-size:9px;letter-spacing:.22em}
 body .sivory-lux-header :is(.sivory-favorites-toggle,.sivory-search-button,.sivory-cart-toggle,.lang-button){width:44px!important;min-width:44px!important;height:44px!important;flex:0 0 44px;padding:0!important}
 body .sivory-lux-header .sivory-commerce-header-actions{width:44px;flex:0 0 44px}
 body .sivory-lux-header .lang-button span{display:none}
 body .sivory-lux-header .sivory-header-right{gap:0}
 .sivory-film-actions{gap:8px}
 .sivory-film-actions a{flex:1 1 100px;padding:10px;font-size:12px}
 .sivory-shop-dialog{padding:16px;max-width:100vw}
 .sivory-shop-item{grid-template-columns:72px minmax(0,1fr);gap:12px}
 .sivory-shop-controls{flex-wrap:wrap}
 .sivory-shop-controls button{min-width:44px;min-height:44px}
}
@media(max-width:360px){
 :root{--sivory-header-height:104px}
 body .sivory-floating-toolbar.sivory-lux-header{grid-template-columns:60px minmax(0,1fr) 60px;grid-template-rows:52px 44px;padding-block:4px;gap:0 4px}
 body .sivory-lux-header .sivory-header-left{grid-area:1/1;justify-content:flex-start}
 body .sivory-lux-header .sivory-wordmark{grid-area:1/2;max-width:132px}
 body .sivory-lux-header .sivory-header-right{display:contents}
 body .sivory-lux-header .section-language{grid-area:1/3;justify-self:end}
 body .sivory-lux-header .sivory-commerce-header-actions{grid-area:2/1;justify-self:center}
 body .sivory-lux-header .sivory-search-button{grid-area:2/2;justify-self:center}
 body .sivory-lux-header .sivory-cart-toggle{grid-area:2/3;justify-self:center}
}
@media(prefers-reduced-motion:reduce){
 body.sivory-lux-navigation .sivory-drawer,body.sivory-lux-navigation .sivory-drawer-backdrop{transition:none}
 .sivory-shop-dialog[open]{animation:none}
}
body.sivory-home-film:not(.film-header-solid) .sivory-lux-header :is(.sivory-favorites-toggle,.sivory-cart-toggle,.sivory-member-toggle){color:#fff}
.sivory-search-results a[role=listitem]{outline-offset:-2px}

/* Product selection links keep a native destination; the card action adds. */
.sivory-shop-menu-product>.sivory-product-detail-button{box-sizing:border-box;margin:0;text-align:center;text-decoration:none;white-space:normal}
figure[data-product-title] .sivory-add-to-cart{margin-top:12px;width:100%;min-height:48px;font-weight:700}
figure[data-product-title] .sivory-add-to-cart:disabled{opacity:.55;cursor:default}

/* Reference-inspired continuous panels: one clock, no bounce or blank frame. */
body.sivory-lux-navigation .sivory-drawer.open{transform:translateX(0);transition-delay:0s,0s}
body.sivory-lux-navigation .sivory-drawer-backdrop.open{transition-delay:0s,0s}
.sivory-menu-stage{position:relative;overflow:hidden;isolation:isolate}
.sivory-menu-outgoing{position:absolute;left:0;right:0;pointer-events:none;background:#fff}
.sivory-menu-stage.is-transitioning>.sivory-menu-content{will-change:opacity;background:#fff}
@media(prefers-reduced-motion:reduce){body.sivory-lux-navigation .sivory-drawer,body.sivory-lux-navigation .sivory-drawer-backdrop{transition:none}.sivory-menu-stage.is-transitioning>.sivory-menu-content{will-change:auto}}

/* Mobile reference proportions: inset surface above the site header. */
body.sivory-lux-navigation .sivory-drawer{
 inset:16px auto 8px 8px;width:min(520px,calc(100vw - 16px));max-height:calc(100dvh - 24px);
 box-sizing:border-box;z-index:151;border-radius:8px;background:#fff!important;
 box-shadow:0 10px 40px #00000014;scrollbar-gutter:auto;
}
body.sivory-lux-navigation .sivory-drawer-backdrop{inset:0;z-index:150;background:rgba(0,0,0,.38)}
body.sivory-lux-navigation .sivory-menu-pages{flex:1 0 auto;min-height:100%;background:#fff}
body.sivory-lux-navigation .sivory-menu-toolbar{
 padding:14px 24px 0;gap:0;background:#fff;border:0;min-height:64px;box-sizing:border-box;
}
body.sivory-lux-navigation .sivory-menu-toolbar:after{content:'';grid-column:1/-1;height:1px;background:#e3e5e1;margin-top:10px}
body.sivory-lux-navigation .sivory-menu-toolbar h2{
 font:500 15px/1.45 Arial,sans-serif;letter-spacing:0;text-transform:none;color:#173d30!important;
}
body.sivory-lux-navigation .sivory-drawer[data-menu-level=root] .sivory-menu-toolbar h2{font:400 22px/1.3 Georgia,serif;letter-spacing:.1em}
body.sivory-lux-navigation .sivory-menu-home{font-weight:400;font-size:12px;padding:6px 0;margin:0;border:0}
body.sivory-lux-navigation .sivory-menu-content{padding:12px 28px 24px}
body.sivory-lux-navigation .sivory-menu-list>button,
body.sivory-lux-navigation .sivory-menu-list>a,
body.sivory-lux-navigation .sivory-menu-collections>button,
body.sivory-lux-navigation .sivory-menu-explore{
 min-height:52px;padding:14px 0;border-bottom:0;font:400 16px/1.5 Arial,sans-serif;letter-spacing:0;
}
body.sivory-lux-navigation .sivory-menu-collections{gap:0 16px;padding:0 0 14px;margin-bottom:12px}
body.sivory-lux-navigation .sivory-menu-collections>button{font-size:14px;min-height:46px;padding:8px 0;color:#173d30}
body.sivory-lux-navigation .sivory-menu-list>[data-menu-node=cart]{border-top:1px solid #e3e5e1;margin-top:14px;padding-top:22px}
body.sivory-lux-navigation .sivory-menu-root-feature{margin:22px 0 0;border-top:1px solid #e3e5e1;padding-top:16px}
body.sivory-lux-navigation .sivory-menu-root-feature>img{max-height:68px;aspect-ratio:auto;background:#fff}
body.sivory-lux-navigation .sivory-menu-service-categories,
body.sivory-lux-navigation .sivory-menu-list.sivory-menu-cosmetics{display:flex;flex-direction:column;gap:0}
body.sivory-lux-navigation .sivory-menu-service-categories>button,
body.sivory-lux-navigation .sivory-menu-service-categories>a,
body.sivory-lux-navigation .sivory-menu-list.sivory-menu-cosmetics>button,
body.sivory-lux-navigation .sivory-menu-list.sivory-menu-cosmetics>a{min-height:52px;font:400 16px/1.5 Arial,sans-serif;padding:14px 0}
body.sivory-lux-navigation .sivory-menu-feature:not(.sivory-menu-root-feature){margin-top:20px}
body.sivory-lux-navigation .sivory-menu-feature:not(.sivory-menu-root-feature)>img{max-height:230px;object-fit:contain}
body.sivory-lux-navigation .sivory-drawer.open .sivory-menu-pages{animation:sivory-menu-reveal 320ms ease-out 180ms backwards}
@keyframes sivory-menu-reveal{from{opacity:0}to{opacity:1}}
@media(min-width:701px){body.sivory-lux-navigation .sivory-drawer{inset:20px auto 20px 20px;max-height:calc(100dvh - 40px)}}
@media(prefers-reduced-motion:reduce){body.sivory-lux-navigation .sivory-drawer.open .sivory-menu-pages{animation:none}}
