/* Uniform primary navigation and reference-matched logo cutout. */
.desktop-nav .mega-trigger,.desktop-nav .nav-direct,.site-page-header>.page-glass .mega-trigger,.site-page-header nav .nav-direct{font:500 14px var(--body)!important;letter-spacing:.45px!important;text-transform:uppercase;display:flex;align-items:center;gap:5px;white-space:nowrap;padding:12px 0!important}.site-page-header nav{justify-content:space-between;gap:20px}.desktop-nav{gap:26px}.mega-trigger i{font-size:9px}
body[data-page]{background:#fff}.page-header-scene{margin-top:40px;margin-bottom:40px}.site-page-header{padding:8px 30px 10px 16px;min-height:90px;gap:clamp(30px,5vw,90px);position:relative}.site-page-header:before{display:none}.page-brand{position:relative;background:white;align-self:flex-start;width:270px!important;padding:0 20px 20px 0!important;height:80px;display:flex!important;align-items:center}.page-brand:before{content:'';position:absolute;left:-17px;top:-41px;width:calc(100% + 17px);height:122px;background:white;z-index:-1}.page-brand:after{content:'';position:absolute;left:100%;top:-41px;width:100px;height:122px;background:white;clip-path:path('M 0 0 H 100 L 32 95 Q 12 122 0 122 Z');z-index:-1}.site-page-header>.page-brand>img{width:100%}.site-page-header>.page-glass{padding:8px 28px;border-radius:22px;margin-left:auto;gap:30px;flex:1}.page-tools{gap:20px}.page-header-scene .page-intro.gradient-intro{min-height:230px;padding:35px 50px 45px}.page-header-scene .gradient-intro h1{font-size:clamp(35px,3.2vw,56px)}.page-header-scene .gradient-intro>p{font-size:13px}.page-header-scene .gradient-intro>.eyebrow{font-size:8px}
.product-name-row,.shop-results .product-name-row{min-height:72px!important;padding:12px 14px!important;gap:8px}.product-name-row strong{font-size:13px}.product-rating{margin-top:5px}.product-rating small{font-size:9px}.product-name-row>span{font-size:10px}.store-product{height:auto}.product-buy-row{padding:12px}.product-visual{aspect-ratio:.8}
/* Shared instant filter controls, no dropdowns or apply step. */
.modern-filters{border:1px solid #eddae3;border-radius:22px;background:linear-gradient(145deg,#fffafd,#faf3f8);padding:22px;display:flex;flex-direction:column;gap:18px}.modern-filters .filter-title h2{font:23px var(--heading);margin:0}.modern-filters .filter-title button{display:none}.filter-search{position:relative;display:flex;align-items:center;background:white;border:1px solid #e8d3df;border-radius:12px;padding:10px 12px;gap:8px;color:var(--wine)}.filter-search input{width:100%;min-width:0;font:12px var(--body);border:0;background:none;outline:none;padding:0}.modern-filters details{border-top:1px solid #e6d1dc;padding-top:16px}.modern-filters summary{font-size:13px;font-weight:700;color:var(--wine);list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.modern-filters summary:after{content:'+';font-size:18px;font-weight:400}.modern-filters details[open] summary:after{content:'−'}.filter-options{display:grid;gap:12px;margin-top:16px}.filter-options label{display:flex;align-items:center;gap:9px;font-size:12px;color:#674553;cursor:pointer}.filter-options input{accent-color:var(--wine);width:16px;height:16px;flex-shrink:0;cursor:pointer}.filter-options label>span{flex:1}.filter-options small{font-size:10px;color:#a17a8c;background:white;border:1px solid #ecdae3;border-radius:10px;padding:1px 6px}.filter-price{margin-top:16px}.filter-price output{font-size:12px;color:var(--wine)}.filter-price input{width:100%;accent-color:var(--wine);margin:14px 0;cursor:pointer}.filter-price>div{display:flex;justify-content:space-between;font-size:10px;color:#a17a8c}.gold-star{color:#b88c46}.clear-modern{display:flex;justify-content:space-between;padding:13px 0 0;border-top:1px solid #e6d1dc;color:var(--wine);font-size:12px;font-weight:600}.filter-live-note{font-size:10px;color:#a17a8c}.filter-sidebar{top:15px}.collection-layout{margin-top:0}.shop-results .result-count{margin:0 0 20px}.collection-empty{grid-column:1/-1;background:#fbf4f8;padding:35px;border-radius:22px}.collection-empty h2{font:27px var(--heading)}.collection-empty p{font-size:13px;color:#876575}
/* Carousels move their track without replacing or fading every card. */
.favourites-grid{display:flex!important;overflow-x:auto;gap:20px;scrollbar-width:none;scroll-snap-type:x proximity;padding:8px 0 14px;scroll-behavior:smooth;overscroll-behavior-x:contain}.favourites-grid .store-product{flex:0 0 calc((100% - 80px)/5);scroll-snap-align:start}.favourites-grid::-webkit-scrollbar{display:none}.essentials-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.product-buy-row>button,.primary-button,.outline-button{transition:background .2s,box-shadow .2s}.collection-arrow{transition:background .2s}.favourites-grid .store-product,.social-grid .social-card{scale:1!important}.product-photo img{transition:transform .4s}.product-card{will-change:auto}.scene-background{will-change:transform}.model-stage{will-change:transform}.model{will-change:opacity}
@media(max-width:1450px){.site-page-header>.page-brand{width:220px!important}.site-page-header{gap:55px;padding-right:20px}.site-page-header>.page-glass{gap:20px;padding:8px 20px}.desktop-nav .mega-trigger,.desktop-nav .nav-direct,.site-page-header>.page-glass .mega-trigger,.site-page-header nav .nav-direct{font-size:12px!important}.desktop-nav{gap:20px}.site-page-header nav{gap:18px}.page-tools{gap:14px}}
@media(max-width:1100px){.site-page-header nav,.desktop-nav{display:none!important}.page-menu,.menu-trigger{display:grid!important}.site-page-header>.page-glass{flex:0 0 auto;width:auto;margin-left:auto}.page-tools{gap:18px}.page-header-scene .gradient-intro h1{font-size:40px}.favourites-grid .store-product{flex-basis:calc((100% - 40px)/3)}.essentials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.page-header-scene{width:calc(100% - 32px);margin-top:24px;margin-bottom:30px}.site-page-header{min-height:76px;padding:4px 12px 8px 0;gap:30px}.site-page-header>.page-brand{width:145px!important;height:76px;padding:0 12px 16px 6px!important}.page-brand:before{left:0;top:-25px;width:100%;height:101px}.page-brand:after{left:100%;top:-25px;width:43px;height:101px;clip-path:polygon(0 0,100% 0,73% 68%,58% 85%,35% 96%,0 100%)}.site-page-header>.page-glass{padding:10px 12px;gap:0;border-radius:16px;margin-left:auto}.page-tools{gap:11px}.page-tools>button{font-size:20px}.page-header-scene .page-intro.gradient-intro{padding:25px 22px 30px;min-height:225px}.page-header-scene .gradient-intro h1{font-size:34px}.page-header-scene .gradient-intro>p{font-size:12px!important}.modern-filters{background:#fff9fc;padding:22px;max-width:440px;margin:auto}.modern-filters .filter-title button{display:block}.modern-filters .filter-title h2{font-size:25px}.filter-sidebar{padding:18px 16px 85px}.favourites-grid .store-product{flex-basis:calc((100% - 12px)/2);min-width:0}.favourites-grid{gap:12px}.essentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-name-row,.shop-results .product-name-row{padding:10px!important;min-height:68px!important}.product-name-row strong{font-size:11.5px}.product-name-row>span{font-size:9px}.product-rating{font-size:10px}.product-rating small{font-size:8px}.product-visual{aspect-ratio:.65}.product-buy-row{padding:9px}.page-brand{z-index:2}.page-glass{z-index:3}}
@media(prefers-reduced-motion:reduce){.favourites-grid{scroll-behavior:auto}}
body[data-page="product"]{background:var(--page-gradient,linear-gradient(135deg,#fff8f5,#f6edf7))}
/* One homepage header across all routes. */
.page-header-scene{margin-top:2.2vw;border-radius:32px;background-image:url('assets/background-2.webp');background-size:cover}.inner-header{position:relative}.inner-header>.brand{position:relative;z-index:1}.inner-header>.brand:before{content:'';position:absolute;top:-3vw;left:-1px;width:135%;height:calc(100% + 3vw + 20px);background:white;z-index:-1;border-bottom-right-radius:48px;clip-path:path('M 0 0 H 390 Q 372 10 357 32 L 295 98 Q 280 120 250 120 H 0 Z')}.header .desktop-nav{gap:clamp(12px,1.1vw,24px)}.header .header-tools{gap:clamp(4px,.7vw,14px)}.header .search-trigger{width:clamp(45px,7vw,140px)}
@media(min-width:768px){.inner-header>.brand:before{clip-path:none;width:calc(100% + 4.5vw);height:calc(100% + 3vw + 20px);border-bottom-right-radius:65px;transform:skewX(-32deg);transform-origin:bottom left}.inner-header>.brand:after{content:'';position:absolute;left:-4vw;top:-3vw;bottom:-20px;width:4vw;background:white;z-index:-1}.inner-header .brand img{position:relative}.header .desktop-nav{margin-left:6.5vw}.header .header-tools{padding-right:4vw}}
@media(max-width:767px){.page-header-scene{width:100%;margin-top:0;background:none;border-radius:0}.inner-header{width:100%;height:84px;padding:17px 20px;gap:15px;border-radius:0}.inner-header>.brand{width:205px;max-width:58%;padding:0;height:auto;background:none;align-self:center}.inner-header>.brand:before,.inner-header>.brand:after{display:none}.inner-header .brand img{width:85%}.inner-header .header-tools{padding:0;gap:2px}.inner-header .search-trigger{width:34px}.inner-header .desktop-tool{display:none}.page-header-scene .page-intro.gradient-intro{margin:0 12px;border-radius:24px;background:url('assets/background-2.webp') 65% center/cover;min-height:245px}.page-header-scene:after{display:none}.header:before{display:none}.header .header-tools{gap:2px;padding:0}.header .search-trigger{width:34px}.header .desktop-nav{display:none!important}}
@media(max-width:374px){.inner-header{padding:16px 14px}.inner-header>.brand{max-width:56%}}
@media(min-width:768px){.inner-header>.brand:before{transform:none;border-radius:0;width:calc(100% + 6vw);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H100Q94 0 90 14L75 80Q69 100 56 100H0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}}
@media(min-width:768px){.landscape{clip-path:url(#hero-shape)}}
.portrait-gold-dust{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}.portrait-soft-glow{pointer-events:none}
:root{--motion-preference:full}@media(prefers-reduced-motion:reduce){:root{--motion-preference:reduced}}
.header .is-current{color:#78132b!important;font-weight:700!important;position:relative}.header .is-current:after{content:''!important;position:absolute!important;left:0!important;right:0;bottom:5px!important;width:100%!important;height:2px!important;background:#78132b!important;border-radius:2px}.mobile-direct[aria-current=page]{color:#78132b;font-weight:700;background:#f4e4eb}
@media(min-width:768px){.page-header-scene{background:none!important;isolation:isolate}.page-header-scene:after{display:none}.inner-header>.brand:before,.inner-header>.brand:after{display:none}.banner-surface{position:absolute;inset:0;z-index:-1;background:url('assets/background-2.webp') center 43%/cover;pointer-events:none}}
@media(max-width:767px){.banner-surface{display:none}}
@media(min-width:768px){.page-header-scene{margin:20px 3.7vw 40px;width:auto;max-width:none}}
.ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ingredient-grid>article{padding:24px;min-width:0}.ingredient-grid h2{font-size:24px;overflow-wrap:anywhere}.ingredient-grid a{max-width:100%;overflow-wrap:anywhere}.related-products .store-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(min-width:1200px){.ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1600px){.ingredient-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.ingredient-grid>article{padding:22px}.ingredient-grid h2{font-size:23px}}
@media(max-width:1023px){.ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.related-products .store-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ingredient-grid>article{padding:18px;min-height:250px}.ingredient-grid h2{font-size:20px}.ingredient-grid a{font-size:10px;padding:8px}.related-products .store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:479px){.ingredient-grid{grid-template-columns:1fr}}
/* Match gallery and information heights without stretching the product image. */
@media(min-width:1024px){
 body[data-page=product] .product-detail{align-items:stretch}
 .product-detail .product-gallery{position:relative;display:block;min-height:520px}
 .product-detail .gallery-main{position:absolute;inset:0 0 0 72px;width:calc(100% - 72px);height:100%;object-fit:contain}
 .product-detail .gallery-thumbs{position:absolute;inset:0 auto 0 0;width:56px;height:100%;max-height:none;gap:10px;overflow-y:auto}
 .product-detail .gallery-thumbs button{flex:0 0 56px;width:56px;height:56px;min-height:56px;border-radius:10px}
}
@media(min-width:768px) and (max-width:1023px){
 .product-detail .product-gallery{grid-template-columns:56px minmax(0,1fr);gap:16px}
 .product-detail .gallery-thumbs button{flex:0 0 56px;width:56px;height:56px}
}
@media(max-width:767px){.product-detail .gallery-thumbs button{flex:0 0 52px;min-width:52px;width:52px;height:52px}}
/* Keep purchase controls usable and prevent the wishlist button stretching. */
.product-detail .detail-actions>.outline-button{flex:0 0 46px;width:46px;height:46px;min-width:46px;padding:0;gap:0;border-radius:50%}
.product-detail .detail-actions>.primary-button{min-width:0;white-space:nowrap;gap:10px}
.product-detail .product-quantity{flex-shrink:0}
.product-detail-copy{min-width:0;overflow-wrap:break-word}
@media(max-width:767px){
 .product-detail .detail-actions{display:grid;grid-template-columns:72px minmax(0,1fr) 44px;gap:8px;align-items:center}
 .product-detail .detail-actions>.outline-button{width:44px;min-width:44px;height:44px;min-height:44px}
 .product-detail .detail-actions>.primary-button{width:100%;padding:12px 9px;gap:7px;font-size:11.55px;min-height:44px}
 .product-detail .product-quantity{width:72px;justify-content:center}
 .product-detail .product-quantity button{padding:10px 8px}
 .product-detail .product-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:11.55px}
 .product-detail .product-meta>a{grid-column:1/-1;justify-self:start}
 .product-detail h1{font-size:clamp(28px,8vw,35.7px);line-height:1.15}
 .product-detail .key-formula p{overflow-wrap:anywhere}
}
@media(max-width:359px){.product-detail-copy{padding:22px 16px}.product-detail .detail-actions{grid-template-columns:72px minmax(0,1fr) 40px;gap:6px}.product-detail .detail-actions>.outline-button{width:40px;min-width:40px;height:40px;min-height:40px}.product-detail .detail-actions>.primary-button{font-size:10.5px;padding:12px 6px;gap:5px}}
/* A compact, consistent type scale for mobile drawers. */
@media(max-width:767px){
 #panel .panel-top{padding:16px 20px;min-height:68px}
 #panel .panel-top>span{font-size:15px;line-height:1.4}
 #panel-content{padding:20px}
 #panel h2{font-size:23px;line-height:1.2;letter-spacing:-.4px;margin-bottom:20px}
 #panel h2 small{font-size:13px}
 #panel .empty-state{padding:20px 0}
 #panel .empty-state h2{font-size:22px;line-height:1.25;margin:10px 0 16px}
 #panel .empty-state>i{font-size:36px}
 #panel p{font-size:14px;line-height:1.65}
 #panel .empty-state>.primary-button{font-size:12px;line-height:1.4;padding:13px 16px;min-height:46px;max-width:100%;width:100%;gap:12px}
 #panel .mobile-direct,#panel .page-menu-group>summary{font:20px/1.35 var(--heading);padding:15px 0;letter-spacing:0}
 #panel .page-menu-group>a{font-size:14px;line-height:1.5}
 #panel .mobile-menu-story span{font-size:18px;line-height:1.3;padding:14px 16px}
 #panel #store-search{font-size:16px;padding:12px;min-width:0}
 #panel .search-item>span{font-size:13px}
}
@media(max-width:359px){#panel h2{font-size:21px}#panel .empty-state h2{font-size:20px}#panel .mobile-direct,#panel .page-menu-group>summary{font-size:18px}#panel-content{padding:18px}}
/* Direct links and accordion headings share exactly the same menu row. */
@media(max-width:767px){
 #panel .page-menu-group{padding:0;margin:0}
 #panel .mobile-direct,#panel .page-menu-group>summary{display:flex;align-items:center;min-height:58px;padding:15px 0;margin:0;line-height:27px;box-sizing:border-box}
 #panel .page-menu-group>summary{justify-content:space-between}
 #panel .page-menu-group[open]>summary{border-bottom:1px solid #efdee6}
 #panel .page-menu-group>a{padding:12px 10px}
 #panel .page-menu-group>a:last-child{border-bottom:0}
}
/* Social actions stay inside each card, including the bookmark control. */
.social-card>.social-post{container-type:inline-size}
.post-actions{display:grid;grid-template-columns:auto auto auto minmax(16px,1fr);gap:6px;min-width:0}
.post-actions>button{min-width:0;white-space:nowrap;gap:3px}
.post-actions i{font-size:16px;flex-shrink:0}
.post-actions>button:last-child{justify-self:end;margin-left:0}
@container(max-width:205px){.post-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.post-actions>button{justify-content:center}.post-actions>button:last-child{justify-self:center}.post-actions>button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.post-actions i{font-size:19px}}
/* Navigation owns a higher stacking layer than all page content. */
.page-header-scene{position:relative;z-index:40;overflow:visible}
.showcase{z-index:40;overflow:visible}
.header{z-index:50;overflow:visible}
.header .mega-panel{z-index:60}
