/* Shared storefront composition */
:root{--wine:#78132b;--page-gradient:radial-gradient(ellipse at 15% 25%,#f5e4ec,transparent 64%),radial-gradient(ellipse at 88% 60%,#e9e3f3,transparent 65%),linear-gradient(135deg,#fff8f6,#f9f4fa)}
dialog#panel[data-store-type=quick]{inset:50% auto auto 50%;width:min(900px,calc(100vw - 40px));height:auto;max-height:calc(100dvh - 40px);margin:0;transform:translate(-50%,-47%) scale(.97);opacity:0;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s;border-radius:26px}
dialog#panel[data-store-type=quick].is-open{transform:translate(-50%,-50%) scale(1);opacity:1}
#panel[data-store-type=quick] #panel-content{display:grid;grid-template-columns:1fr 1fr;gap:25px}#panel[data-store-type=quick] #panel-content>h2{grid-column:1/-1;margin:0;font-size:30px}#panel[data-store-type=quick] .gallery-main{height:340px;object-fit:contain;width:100%;border-radius:18px}#panel[data-store-type=quick] .quick-copy{padding:0}#panel[data-store-type=quick] .quick-copy p{font-size:14.7px;line-height:1.8}
@media(max-width:767px){dialog#panel[data-store-type=quick]{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:20px}#panel[data-store-type=quick] #panel-content{grid-template-columns:1fr;padding:20px;gap:15px}#panel[data-store-type=quick] .gallery-main{height:240px}#panel[data-store-type=quick] #panel-content>h2{font-size:27px}}
body[data-page]{background:var(--page-gradient);background-attachment:fixed}
.page-header-scene{width:92.6%;max-width:1800px;margin:20px auto 0;position:relative;border-radius:30px;background:var(--page-gradient);min-height:130px}
.site-page-header{margin:0;min-height:130px;padding:15px 25px 35px;gap:clamp(20px,5vw,95px);background:none;border:0;backdrop-filter:none;border-radius:0}
.site-page-header>.page-brand{position:relative;width:225px;align-self:flex-start;padding-top:12px;z-index:2}
.site-page-header:before{content:'';position:absolute;top:-1px;left:-1px;width:27%;height:105px;background:white;border-bottom-right-radius:85px;transform:skewX(-30deg);transform-origin:top left}
.site-page-header>.page-glass{margin-left:auto;display:flex;flex:1;min-width:0;gap:24px;background:#ffffff65;backdrop-filter:blur(22px);border:1px solid #ffffffbd;padding:12px 25px;border-radius:22px;box-shadow:0 10px 40px #6d344809}
.site-page-header nav{gap:clamp(12px,1.8vw,30px);min-width:0}.page-tools{display:flex;gap:14px;align-items:center}.page-tools>button,.page-tools>a{position:relative;font-size:25px;display:grid;place-items:center}.site-page-header>.page-glass button{padding:7px 0}.site-page-header>.page-glass .mega-trigger{font-size:clamp(10px,.75vw,13px);letter-spacing:.7px}
.site-page-header>.page-glass .mega-trigger{display:flex;flex-direction:row;gap:5px;align-items:center}.site-page-header>.page-glass{display:flex}.page-brand{max-width:none!important}
.filter-title button{width:30px;flex:0 0 30px;padding:0}.filter-title h2{flex:1;white-space:nowrap}
@media(max-width:1023px){.site-page-header>.page-glass{flex:0 0 auto;width:auto}.page-tools{flex-shrink:0}}
[data-wish-count],[data-cart-count],#bag-count{position:absolute;right:-5px;top:-5px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;background:var(--wine);color:white;border-radius:20px;font:700 10px var(--body);line-height:17px;z-index:5}[data-wish-count][hidden],[data-cart-count][hidden],#bag-count[hidden]{display:none}
[data-panel=wishlist]{position:relative}
.page-intro.gradient-intro{height:auto;min-height:270px;padding:45px 35px 55px;background:transparent;border-radius:0;overflow:visible;margin-bottom:30px}.gradient-intro:after{display:none}.gradient-intro h1{max-width:85%;font-size:clamp(40px,4vw,72px)}.gradient-intro>p{max-width:800px;font-size:16.8px}.gradient-intro>.eyebrow{max-width:none}.gradient-intro .page-scroll-note{margin-top:22px}
.store-page{padding-top:0}.product-name-row strong{font-weight:700;font-size:14px}.product-buy-row>button{font-weight:700;font-size:11.55px;text-transform:uppercase}.price-preview{font-weight:700;font-size:12.6px}.detail-price{font-weight:700}.product-visual{overflow:hidden}.store-product{height:100%;display:flex!important;flex-direction:column;transition:box-shadow .35s;border-radius:28px}.product-name-row{flex:1;min-height:100px}.product-photo{overflow:hidden}.store-grid{align-items:stretch}.product-photo img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.store-product,.category-tile,.social-card,.experience-card,.ingredient-grid>article,.concern-grid>a,.concern-grid>article,.product-card,.order-card,.product-facts>div{transition:scale .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .4s}.store-product:hover,.category-tile:hover,.social-card:hover,.experience-card:hover,.ingredient-grid>article:hover,.concern-grid>a:hover,.concern-grid>article:hover,.product-card:hover,.order-card:hover,.product-facts>div:hover{scale:1.025;box-shadow:0 18px 42px #78132b16;z-index:2}.store-product:hover .product-photo img{transform:scale(1.025)} }
.mega-panel,.header .mega-panel{left:auto;right:25px;width:min(1080px,calc(100% - 50px));top:calc(100% - 10px);padding:24px;gap:24px;border-radius:20px;grid-template-columns:.9fr 1.5fr .85fr;box-shadow:0 20px 55px #52223720}.header .mega-panel{top:calc(100% + 8px);right:24px}.mega-intro{padding:5px 20px 0 0}.mega-intro h2{font-size:27px;line-height:1.15}.mega-intro p{font-size:12.6px}.mega-links>a{font-size:13.65px!important;padding:10px 0}.mega-feature{min-height:210px}.mega-feature>span{font-size:21px}.mega-links>a span{font-size:10.5px}
.care-cta:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff8f0ed,#fff8f0a6 30%,#fff8f000 62%);z-index:0;pointer-events:none}.care-cta>div{z-index:1;width:48%;padding-left:5%;display:flex;flex-direction:column;justify-content:center}.care-cta h2{font-size:clamp(28px,2.7vw,50px);max-width:600px;line-height:1.18;margin:18px 0 24px}.care-cta button{align-self:flex-start;font-size:13.65px;font-weight:600}.care-cta .eyebrow{font-size:10.5px}.care-cta>img{object-fit:contain}
/* Filters are a real sidebar, separate from the collection grid. */
.shop-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px;align-items:start}.filter-sidebar{position:sticky;top:25px}.shop-filters{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin:0;padding:25px;background:#fffafcd9;border:1px solid #ecd6df;border-radius:24px;box-shadow:none}.filter-title{display:flex;justify-content:space-between;align-items:center}.filter-title h2{font:25.2px var(--heading);margin:0}.filter-title button{display:none}.shop-filters label{font-size:12.6px;font-weight:600}.shop-filters input,.shop-filters select{font-size:13.65px;padding:12px}.shop-filters .availability{display:flex;align-items:center;gap:8px}.availability input{width:auto;accent-color:var(--wine)}.reset-filters{text-align:center;text-decoration:underline;color:var(--wine);font-size:12.6px}.shop-results .result-count{margin:0 0 20px}.shop-results .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.shop-mobile-bar{display:none}
/* Full product structure, with a vertical gallery and separate information tabs. */
body[data-page=product] .product-detail{grid-template-columns:1.1fr 1fr;padding:0;gap:25px;background:none;border:0;align-items:stretch}.product-detail .product-gallery{display:grid;grid-template-columns:85px minmax(0,1fr);gap:18px;align-items:start}.product-detail .gallery-main{grid-column:2;grid-row:1;width:100%;height:620px;border:1px solid #f0dfe6;background:#fff9fc;object-fit:contain;border-radius:24px;mask-image:none}.product-detail .gallery-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;margin:0;max-height:620px;overflow:auto;scrollbar-width:none}.gallery-thumbs button{border-radius:13px;overflow:hidden;aspect-ratio:1;border:1px solid transparent;background:#fff9fc}.gallery-thumbs button[aria-pressed=true]{border-color:var(--wine)}.gallery-thumbs img{width:100%;height:100%;object-fit:contain}.product-detail-copy{padding:35px;background:#fffafcbd;border:1px solid #fff;border-radius:24px}.product-detail h1{font-size:clamp(32px,3vw,54px);margin:18px 0}.product-detail-copy>p{font-size:14.7px}.key-formula{border-top:1px solid #ecd9e2;border-bottom:1px solid #ecd9e2;padding:20px 0;margin-top:25px}.key-formula p{font-size:13.65px;color:#69515e;line-height:1.8}.product-price-box{margin:20px 0;padding:18px 22px;background:#ffffffa8;border-radius:16px}.product-price-box .detail-price{margin:0 0 5px}.product-price-box small{color:#957b88;font-size:11.55px}.pack-size{display:flex;justify-content:space-between;align-items:center;font-size:12.6px}.pack-size strong{border:1px solid #c991a5;padding:8px 14px;border-radius:30px;color:var(--wine)}.detail-actions{display:flex;align-items:center;gap:10px}.detail-actions>.primary-button{flex:1;justify-content:center;border-radius:30px;font-weight:700}.detail-actions>.outline-button{border-radius:50%;width:46px;min-height:46px;padding:12px;justify-content:center}.product-quantity{display:flex;align-items:center;border:1px solid #dfcad4;border-radius:30px;background:white}.product-quantity button{padding:10px 12px}.product-quantity output{font-size:13.65px;min-width:20px;text-align:center}.product-meta{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ead7e0;margin-top:25px;padding-top:20px;font-size:12.6px}.product-meta small{display:block;color:#927888;font-size:10.5px}.product-meta a{color:var(--wine)}.product-tabs{background:#fffafcbf;border:1px solid white;border-radius:24px;margin-top:25px;padding:25px 30px}.product-tabs>[role=tablist]{display:flex;gap:20px;border-bottom:1px solid #e9d5df;overflow:auto}.product-tabs [role=tab]{padding:15px 10px;color:#876c7a;font-size:12.6px;white-space:nowrap;border-bottom:2px solid transparent}.product-tabs [aria-selected=true]{color:var(--wine);border-color:var(--wine)}.product-tabs>[role=tabpanel]{padding:25px 0 5px}.product-tabs [role=tabpanel][hidden]{display:none}.product-tabs h2{font:30.45px var(--heading);margin-bottom:20px}.product-tabs p,.product-tabs li{font-size:14.7px;line-height:1.8;color:#715b66}.product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:25px}.product-facts>div{background:#ffffffa3;border-radius:16px;padding:20px}.product-facts strong{display:block;font-size:13.65px;margin-top:7px}.related-products .store-grid{align-items:stretch}
/* Equal cards, without spanning cells or empty masonry holes. */
.concern-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:24px}.concern-grid>a,.concern-grid>article{grid-column:auto!important;min-height:260px;height:100%;padding:30px}.concern-grid h2{font-size:34.65px}.ingredient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;background:none;border:0;border-radius:0;overflow:visible}.ingredient-grid>article{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:30px;border:1px solid #e8d3de!important;border-radius:24px;background:linear-gradient(135deg,#fffafc,#f6edf6);min-height:290px}.ingredient-icon{font-size:35px;color:var(--wine);width:62px;height:62px;border:1px solid #edd4df;background:#ffffffa6;border-radius:18px;display:grid;place-items:center}.ingredient-grid>article>.eyebrow{max-width:none}.ingredient-grid h2{font-size:27.3px}.ingredient-grid>article>div{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}.ingredient-grid a{font-size:11.55px}.site-footer{margin-top:0}.site-footer button,.site-footer a{line-height:1.7}
@media(max-width:1279px){.site-page-header>.page-brand{width:185px}.site-page-header{gap:40px;padding:15px 20px 30px}.site-page-header>.page-glass{gap:15px;padding:12px 18px}.page-tools{gap:10px}.page-tools>button,.page-tools>a{font-size:23px}.shop-layout{grid-template-columns:225px minmax(0,1fr);gap:24px}.shop-results .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-detail .gallery-main{height:520px}.product-detail .gallery-thumbs{max-height:520px}.product-detail-copy{padding:25px}.product-detail .product-gallery{grid-template-columns:65px minmax(0,1fr);gap:12px}}
@media(max-width:1023px){.site-page-header nav{display:none}.site-page-header>.page-glass{flex:0;margin-left:auto}.site-page-header:before{width:42%}.page-menu{display:grid!important}.page-tools{gap:18px}.concern-grid,.ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-results .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail{grid-template-columns:1fr!important}.product-detail .gallery-main{height:570px}.product-detail .gallery-thumbs{max-height:570px}.product-detail-copy{padding:30px}.detail-actions{flex-direction:row}.page-intro.gradient-intro h1{max-width:100%}.page-intro.gradient-intro>p{max-width:100%}}
@media(max-width:767px){.page-header-scene{width:calc(100% - 24px);margin-top:12px;min-height:90px;border-radius:22px}.site-page-header{min-height:90px;padding:10px 12px 15px;gap:20px}.site-page-header>.page-brand{width:145px;max-width:46%;padding-top:9px}.site-page-header:before{height:78px;width:55%;border-bottom-right-radius:42px;transform:skewX(-15deg)}.site-page-header>.page-glass{background:#ffffff82;gap:0;padding:10px 12px;border-radius:16px}.page-tools{gap:12px}.page-tools>a{display:none}.page-tools>button{font-size:20px}.page-tools>[data-panel=wishlist]{display:none}.site-page-header>.page-glass button{padding:0}.page-intro.gradient-intro{min-height:230px;padding:30px 10px;margin-bottom:15px}.gradient-intro h1{font-size:39.9px;max-width:100%}.gradient-intro>p{font-size:14.7px!important}.gradient-intro>.eyebrow{font-size:8.4px}.store-page{width:calc(100% - 32px)}.shop-layout{display:block}.shop-mobile-bar{display:flex;align-items:center;justify-content:space-between;background:#fffafc;border:1px solid #ead2de;border-radius:15px;padding:14px 16px;margin-bottom:25px;position:sticky;top:10px;z-index:10}.shop-mobile-bar button{font-size:12.6px;font-weight:600;display:flex;align-items:center;gap:7px;color:var(--wine)}.shop-mobile-bar span{font-size:11.55px;color:#8a6a7c}.filter-sidebar{display:none;position:fixed;inset:0;z-index:50;background:#4a223c66;padding:18px 16px 90px;overflow:auto;backdrop-filter:blur(8px)}.filter-sidebar.filter-open{display:block}.shop-filters{max-width:440px;margin:auto;padding:25px;gap:18px;background:#fff9fc}.filter-title button{display:block}.shop-results .shop-grid{gap:12px}.shop-results .result-count{display:none}.product-name-row strong{font-size:11.55px}.product-name-row{min-height:100px}.product-buy-row>button{font-size:9.45px}.price-preview{font-size:10.5px}.product-buy-row>button span{width:22px;height:22px}.care-cta>div{width:57%;padding:12px}.care-cta h2{font-size:17.85px;line-height:1.16;margin:7px 0 10px}.care-cta .eyebrow{font-size:7.35px}.care-cta button{font-size:8.4px}.care-cta:after{background:linear-gradient(90deg,#fff8f0dd,#fff8f07a 43%,transparent 65%)}.concern-grid,.ingredient-grid{grid-template-columns:1fr;gap:18px}.concern-grid>a{min-height:240px}.ingredient-grid>article{min-height:270px;padding:26px}.product-detail .product-gallery{display:flex;flex-direction:column;gap:12px}.product-detail .gallery-main{height:390px;order:0;width:100%}.product-detail .gallery-thumbs{flex-direction:row;width:100%;max-height:none;order:1;overflow:auto}.product-detail .gallery-thumbs button{min-width:65px;width:65px}.product-detail-copy{padding:25px 20px}.product-detail h1{font-size:35.7px}.detail-actions{gap:7px;flex-wrap:wrap}.detail-actions>.primary-button{font-size:11.55px;padding:12px;min-height:44px}.detail-actions>.outline-button{width:44px;min-height:44px}.product-quantity button{padding:9px}.product-tabs{padding:18px;margin-top:20px}.product-tabs>[role=tablist]{gap:10px}.product-facts{grid-template-columns:1fr;gap:10px}.product-facts>div{padding:15px}.product-meta{font-size:11.55px}.product-tabs h2{font-size:27.3px}.product-tabs p,.product-tabs li{font-size:13.65px}.related-products{margin-top:45px}.mobile-dock [data-wish-count]{right:calc(50% - 22px);top:2px}.site-footer .footer-grid{gap:30px}}
@media(prefers-reduced-motion:reduce){.store-product,.category-tile,.social-card,.experience-card,.ingredient-grid>article,.concern-grid>a{transition:none!important}}

@media(max-width:1023px){.site-page-header>.page-glass{flex:0 0 auto;width:auto}.page-tools{flex-shrink:0}}
.filter-title button{width:30px!important;flex:0 0 30px;padding:0}.filter-title h2{flex:1;white-space:nowrap}
