@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--green:#003e31;--royal:#00674f;--gold:#e8cc5f;--ivory:#fcfbf8;--champagne:#f3eee4;--ink:#123b30;--line:#dcded5;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--ivory);font:16px/1.6 var(--sans)}
body:has(dialog[open]){overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{color:inherit;border:0;background:none}
img{max-width:100%;display:block}
svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}
h1{font-size:clamp(52px,7vw,106px)}
h2{font-size:clamp(40px,4.6vw,68px)}
h3{font-size:32px}
p{max-width:62ch}
small,.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:600;line-height:1.7}
.eyebrow{display:block;margin-bottom:20px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b98d13;outline-offset:5px}
.skip{position:fixed;top:-100px;z-index:100;background:white;padding:15px}
.skip:focus{top:0}
.announcement{height:34px;background:var(--green);color:#fff;font-size:11px;letter-spacing:.13em;display:flex;justify-content:center;align-items:center;position:relative}
.locale{position:absolute;right:3%;font-size:10px}
.header-main{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:relative}
.brand{position:absolute;left:50%;transform:translateX(-50%);width:112px}
.brand img{width:112px;height:78px;object-fit:contain}
.finder-link{font-size:13px}
.finder-link span{padding-left:18px}
.header-actions{display:flex;align-items:center;gap:22px}
.icon{font-size:27px;width:32px;height:38px;display:flex;align-items:center;justify-content:center;padding:3px}
.bag-button{display:flex;gap:9px;align-items:center;font-size:13px}
.mobile-menu{display:none}
header{background:var(--ivory);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
nav{height:48px;display:flex;justify-content:flex-start;align-items:center;gap:18px;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0 4%}
@media(min-width:1300px){nav{justify-content:center}}
nav::-webkit-scrollbar{display:none}
nav>li{list-style:none}
nav a{font-size:11px;letter-spacing:.08em;padding:14px 0;white-space:nowrap;flex:0 0 auto}
nav .current-menu-item>a,nav .current_page_item>a,nav .current-menu-parent>a{color:var(--green);border-bottom:1px solid var(--green)}
nav a:hover{color:var(--royal)}
.mega{display:none;position:absolute;left:0;right:0;top:100%;padding:36px 7%;background:var(--ivory);border-top:1px solid var(--line);box-shadow:0 18px 20px #003e3110;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:40px}
.mega-trigger:hover .mega,.mega-trigger:focus-within .mega{display:grid}
.mega a{display:block;padding:7px 0;font-size:14px}
.mega small{display:block;margin-bottom:15px}
.mega img{height:190px;object-fit:cover;width:100%}
.hero{height:min(740px,74vw);min-height:570px;position:relative;background:#062c23;color:white;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 55%;animation:slowzoom 12s ease-out both;opacity:1}
.hero-copy{position:relative;z-index:2;padding:85px 7%;max-width:65%;animation:reveal 1.1s ease both}
.hero-copy .eyebrow{color:var(--gold)}
.hero h1{line-height:.91;letter-spacing:-.035em}
.hero h1 em{font-weight:400;color:#e9dcb7}
.hero p{margin-top:25px;color:#edf1e8;font-size:15px}
.hero.slide-0 .eyebrow{color:var(--green)}
.hero.slide-0 h1{color:var(--green)}
.hero.slide-0 h1 em{color:var(--gold)}
.hero.slide-0 p{color:var(--green)}
.hero.slide-0 .button.light{background:var(--green);color:var(--ivory)}
.hero.slide-2 .eyebrow{color:var(--green)}
.hero.slide-2 h1{color:var(--green)}
.hero.slide-2 h1 em{color:var(--gold)}
.hero.slide-2 p{color:var(--green)}
.hero.slide-2 .button.light{background:var(--green);color:var(--ivory)}
.hero.slide-0 .hero-caption,.hero.slide-2 .hero-caption{color:var(--green)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:16px 25px;background:var(--green);color:white;font-size:12px;letter-spacing:.09em;min-height:52px;transition:background .25s,transform .25s}
.button:hover{background:var(--royal)}
.button.light{background:var(--ivory);color:var(--green)}
.button.gold{background:var(--gold);color:var(--green)}
.button.outline{background:transparent;color:inherit;border:1px solid currentColor}
.button span{transition:transform .25s}
.button:hover span{transform:translateX(4px)}
.hero .button{margin-top:33px}
.hero-foot{position:absolute;z-index:3;bottom:35px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center}
.hero-dots{display:flex;gap:10px;background:#00000038;padding:8px 14px 6px;border-radius:30px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.hero-dots button{width:35px;height:26px;border-bottom:1px solid #ffffff80;color:#ffffffc0;text-align:left;font-size:11px;padding:0 0 5px}
.hero-dots button.active{width:70px;border-color:var(--gold);color:var(--gold)}
.hero-caption{font-size:11px;letter-spacing:.2em}
.hero-trio{position:absolute;z-index:1;display:flex;width:48%;right:3%;top:12%;height:73%;align-items:center}
.hero-trio img{width:35%;object-fit:contain;max-height:100%;mix-blend-mode:screen}
.hero-trio img:nth-child(2){margin:40px -3% 0}
.slide-1 .hero-bg,.slide-3 .hero-bg{opacity:.13}
.container{max-width:1440px;margin:auto;padding:80px 6%}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px;gap:25px}
.section-head .eyebrow{margin-bottom:12px}
.text-link{font-size:12px;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:7px;white-space:nowrap}
.categories{padding-top:42px;padding-bottom:48px}
.category-rail{display:grid;grid-template-columns:repeat(7,1fr);gap:20px;margin-top:25px}
.category-sublinks{display:flex;flex-wrap:wrap;gap:28px;margin-top:26px}
.category-sublinks a{font-size:12px;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:5px;white-space:nowrap}
@media(max-width:760px){.category-rail{grid-template-columns:repeat(3,1fr);gap:12px}.category-card{font-size:10px}.category-card .category-image{height:100px;margin-bottom:8px}.category-sublinks{gap:18px}}
.category-card{font-size:12px;letter-spacing:.1em;text-align:center}
.category-card .category-image{background:var(--champagne);height:165px;overflow:hidden;margin-bottom:15px}
.category-image img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .7s}
.category-card:hover img{transform:scale(1.06)}
.originals{background:#eeeee5;text-align:center}
.originals .intro{max-width:600px;margin:18px auto 40px;color:#5a6f62;font-size:15px}
.original-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}
.original-card{position:relative;background:#ddd7c6;overflow:hidden}
.original-photo{height:350px;position:relative;overflow:hidden}
.original-photo img{height:100%;width:100%;object-fit:contain;transition:transform 1s}
.original-card:hover img{transform:scale(1.04) translateY(-5px)}
.original-meta{padding:25px 28px 30px;border-top:1px solid #78908238}
.original-meta h3{font:500 15px/1.4 var(--sans)}
.original-meta .rating{margin:8px 0}
.meta-row{display:flex;justify-content:space-between;align-items:center}
.rating{font-size:12px;letter-spacing:.02em;color:#806d31;margin:5px 0 9px}
.rating .stars{letter-spacing:.08em;margin-right:7px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.product-card{min-width:0;display:flex;flex-direction:column}
.product-visual{position:relative;aspect-ratio:4/5;background:var(--champagne);overflow:hidden}
.product-visual img{height:100%;width:100%;object-fit:contain;transition:transform .5s}
.product-visual .bottle{mix-blend-mode:multiply;padding:13%;position:relative;z-index:1}
.product-visual:hover .bottle{transform:scale(1.04)}
.badge{position:absolute;z-index:3;left:15px;top:15px;font-size:10px;letter-spacing:.08em;background:#fcfbf8e8;padding:5px 8px;color:var(--green)}
.wish{position:absolute;z-index:4;right:12px;top:10px;font-size:26px;width:38px;height:38px}
.wish.on{color:#a37618}
.quick-add{position:absolute;z-index:4;bottom:12px;left:12px;right:12px;background:#fcfbf8ef;min-height:43px;font-size:11px;letter-spacing:.1em;transform:translateY(65px);transition:transform .3s}
.product-visual:hover .quick-add,.product-visual:focus-within .quick-add{transform:translateY(0)}
.product-info{padding-top:17px;flex:1;display:flex;flex-direction:column}
.product-info h3{font:500 15px/1.4 var(--sans)}
.product-bottom{margin-top:8px;padding-top:0;display:flex;justify-content:space-between;gap:10px;align-items:center}
.row-foot{text-align:center;margin-top:36px}
.price{font-size:14px;font-weight:600}
.price del{color:#9aa39c;text-decoration:line-through;font-weight:400;opacity:.85;margin-right:2px}
.price ins{color:var(--royal);text-decoration:none;font-weight:700}
.price .price-from{font-weight:500}
.sizes{font-size:10px;letter-spacing:.05em;color:#78877a}
.editorial{display:grid;grid-template-columns:1.07fr 1fr;background:var(--green);color:var(--ivory);min-height:560px}
.editorial img{height:100%;max-height:650px;width:100%;object-fit:cover}
.editorial-copy{padding:75px 14%;align-self:center}
.editorial-copy .eyebrow{color:var(--gold)}
.editorial-copy h2{font-size:clamp(48px,5vw,78px)}
.editorial-copy p{margin:25px 0 30px;color:#c5d4c9;font-size:15px}
.video-section{text-align:center;padding:60px 6% 80px}
.film{width:70%;margin:35px auto 0;aspect-ratio:16/9;position:relative;background:#13281d;overflow:hidden}
.film>img,.film video{width:100%;height:100%;object-fit:cover}
.film-caption{position:absolute;left:25px;bottom:20px;color:white;font-size:12px;letter-spacing:.16em}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border:1px solid #fff9;border-radius:50%;color:white;background:#003e3130;font-size:24px}
.film p{position:absolute;top:20px;left:20px;color:white;font-size:12px}
.family-section{background:#e9eee7}
.family-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}
.family-tile{height:150px;position:relative;overflow:hidden;background:var(--green);color:white}
.family-tile img{width:100%;height:100%;object-fit:cover;opacity:.53;transition:transform .6s}
.family-tile span{position:absolute;bottom:15px;left:15px;font-size:12px;letter-spacing:.13em}
.family-tile:hover img{transform:scale(1.09)}
.finder-campaign{text-align:center;background:var(--champagne);padding:90px 15%}
.finder-campaign h2{font-size:clamp(54px,7vw,96px)}
.finder-campaign p{margin:25px auto}
.finder-campaign .button{margin-top:10px}
.number-line{display:flex;gap:30px;justify-content:center;margin-bottom:30px;color:#a3956c;font:22px var(--serif)}
.campaigns{display:grid;grid-template-columns:1fr}
.campaign{min-height:420px;position:relative;overflow:hidden;background:#dce6df;padding:60px 55px;display:flex;flex-direction:column;justify-content:center}
.campaign h2{font-size:52px;position:relative;z-index:2;max-width:560px}
.campaign p{position:relative;z-index:2;max-width:400px;margin:16px 0 28px;color:#3c4c42;font-size:15px}
.campaign img{position:absolute;right:6%;bottom:0;width:30%;max-width:280px;height:75%;object-fit:contain;mix-blend-mode:multiply}
.campaign .button{position:relative;z-index:3;align-self:flex-start}
.campaign .eyebrow{position:relative;z-index:2}
.other-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.other-card{position:relative;background:var(--champagne);height:350px;overflow:hidden}
.other-card img{height:85%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.other-card div{position:absolute;bottom:25px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center}
.maison-strip{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.maison-strip img{aspect-ratio:4/5;object-fit:cover}
.maison-strip p{margin:25px 0;color:#63766a}
.maison-strip .text-link{color:var(--green)}
.reviews{background:var(--champagne)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}
.review-grid blockquote{margin:0;font:27px/1.4 var(--serif)}
.review-grid small{letter-spacing:.04em;color:#63766a;display:block;margin-top:20px}
.review-grid .rating{font-size:16px;margin-bottom:15px}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.journal-card img{width:100%;aspect-ratio:1.5;object-fit:cover;margin-bottom:22px}
.journal-card h3{font-size:30px;margin:12px 0}
.journal-card p{font-size:13px}
.newsletter{padding:70px 6%;background:#e9eee7;display:flex;gap:50px;justify-content:space-between;align-items:center}
.newsletter h2{font-size:44px}
.newsletter form{display:flex;border-bottom:1px solid var(--green);min-width:35%;padding:12px 0}
.newsletter input{border:0;background:transparent;min-width:0;flex:1;outline:none;font-size:14px}
.newsletter button{font-size:12px;letter-spacing:.1em}
footer{background:var(--green);color:#d6e3d9;padding:65px 6% 90px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px}
.footer-brand img{width:135px;height:auto;max-width:100%;margin-bottom:22px}
.footer-brand p{font-size:13px;max-width:220px}
.footer-grid h4{font-size:11px;letter-spacing:.14em;margin:0 0 20px;color:var(--gold)}
.footer-grid a{display:block;font-size:12px;margin:9px 0}
.footer-bottom{border-top:1px solid #ffffff25;margin-top:45px;padding-top:25px;font-size:11px;display:flex;justify-content:space-between;gap:20px}
.review-note{font-size:11px;opacity:.65;margin-top:20px}
.page-title{text-align:center;padding:65px 6% 50px;background:var(--champagne)}
.page-title h1{font-size:70px}
.page-title p{margin:18px auto;color:#627667;font-size:14px}
.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}
.toolbar select,.filters select,.woocommerce-ordering select{padding:10px;border:1px solid var(--line);background:var(--ivory);max-width:100%;font-size:13px}
.woocommerce-ordering{margin:0}
.collection-layout{display:grid;grid-template-columns:190px 1fr;gap:35px}
.filters h4{font-size:13px;margin:20px 0 10px}
.filters label{display:block;font-size:13px;margin:8px 0}
.filters input{accent-color:var(--green)}
.filters input[type=range]{width:100%}
.filters select{width:100%}
.collection-layout .product-grid{gap:20px 18px;grid-template-columns:repeat(6,minmax(0,1fr))}
.collection-layout .product-info h3{font-size:14px}
.collection-layout .product-bottom{display:block}
.filter-toggle{display:none}
.count{font-size:13px;color:#738373}
.load-more .navigation.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:40px}
.load-more .nav-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.load-more .page-numbers{font-size:12px;letter-spacing:.08em;padding:8px 12px;border:1px solid var(--line)}
.load-more a.page-numbers:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.load-more .page-numbers.current{background:var(--green);color:#fff;border-color:var(--green)}
.empty{padding:60px;text-align:center;grid-column:1/-1}
.empty p{margin:20px auto}
.pdp{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:start}
.pdp-gallery{background:var(--champagne);position:relative}
.pdp-gallery>img{width:100%;height:620px;object-fit:contain;mix-blend-mode:multiply;padding:10%}
.gallery-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:10px}
.gallery-tabs button{padding:10px;background:#fff8;font-size:12px}
.pdp-info{position:sticky;top:180px}
.pdp-info h1{font-size:53px}
.pdp-info .rating{margin:15px 0}
.pdp-info>p{margin:20px 0;color:#667a6b}
.pdp-price{font-size:26px;margin:25px 0}
.variant-buttons{display:flex;gap:10px;margin:12px 0 25px}
.variant-buttons button{border:1px solid var(--line);flex:1;padding:12px;font-size:12px}
.variant-buttons button.active{background:var(--green);color:white}
.variant-buttons span{display:block;font-size:11px;margin-top:5px}
.purchase-row{display:flex;gap:12px}
.purchase-row input{width:65px;background:transparent;border:1px solid var(--line);text-align:center}
.purchase-row .button{flex:1}
.pdp-info .buy-now{width:100%;margin:12px 0}
.pdp-info details{border-top:1px solid var(--line);padding:16px 0;font-size:13px}
.pdp-info summary{cursor:pointer}
.pdp-info details p{margin-top:12px}
.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:45px}
.notes div{background:var(--champagne);padding:35px}
.notes h3{margin:12px 0;font-size:28px}
.notes p{font-size:14px}
.quiz{max-width:950px;margin:auto;min-height:650px;padding:80px 30px;text-align:center}
.quiz-progress{display:flex;justify-content:center;gap:20px;margin-bottom:45px}
.quiz-progress span{font-size:12px;border-bottom:2px solid var(--line);padding:10px 18px}
.quiz-progress .done{border-color:var(--green)}
.quiz h1{font-size:62px;margin-bottom:35px}
.quiz-options{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.quiz-options button{padding:22px;border:1px solid var(--line);transition:.2s}
.quiz-options button:hover,.quiz-options button.chosen{background:var(--green);color:white}
.quiz-back{margin-top:35px;font-size:13px;text-decoration:underline}
.result-intro{text-align:center;margin-bottom:45px}
.result-intro p{margin:20px auto}
.match{font-size:12px;color:var(--royal);margin-bottom:10px}
.bundle-steps{display:flex;gap:25px;justify-content:center;margin:20px 0 35px}
.bundle-steps span{padding:10px;border-bottom:2px solid var(--line);font-size:13px}
.bundle-steps .active{border-color:var(--green)}
dialog{border:0;padding:0;color:var(--ink);background:var(--ivory);max-height:100dvh;max-width:100vw}
dialog::backdrop{background:#001d17a6;backdrop-filter:blur(3px)}
dialog.drawer{margin:0 0 0 auto;height:100dvh;width:510px;max-width:94vw;animation:drawer .3s ease}
dialog.modal{width:800px;padding:35px;max-height:90dvh}
dialog.mobile-nav{margin:0;height:100dvh;width:100%;max-width:100%;padding:25px}
.panel-head{display:flex;justify-content:space-between;align-items:center;padding:25px;border-bottom:1px solid var(--line)}
.panel-head h2{font-size:35px}
.close{font-size:27px;width:40px;height:40px}
.panel-body{padding:25px}
.cart-item{display:grid;grid-template-columns:85px 1fr auto;gap:17px;padding:22px 0;border-bottom:1px solid var(--line);font-size:13px}
.cart-item img{width:85px;height:100px;object-fit:contain;background:var(--champagne);mix-blend-mode:multiply}
.cart-item h3{font:500 14px/1.4 var(--sans)}
.cart-item p{font-size:12px;color:#778476;margin:6px 0}
.quantity{display:flex;align-items:center;gap:15px;margin-top:10px}
.quantity button{border:1px solid var(--line);width:28px;height:28px}
.remove{font-size:12px;text-decoration:underline}
.cart-offer{background:var(--champagne);padding:20px;margin:20px 0;font-size:13px}
.cart-total{display:flex;justify-content:space-between;margin:20px 0;font-size:17px}
.cart-actions .button{display:flex;margin-top:12px;width:100%}
.shipping-meter{height:3px;background:var(--line);margin:15px 0}
.shipping-meter div{height:100%;background:var(--royal)}
.search-input{width:100%;padding:15px 5px;border:0;border-bottom:1px solid var(--green);background:none;font-size:22px;margin-bottom:25px}
.search-result{display:flex;align-items:center;gap:20px;padding:12px;border-bottom:1px solid var(--line)}
.search-result img{width:60px;height:75px;object-fit:contain}
.search-result h3{font:14px var(--sans)}
.checkout-layout{display:grid;grid-template-columns:1fr 0.8fr;gap:60px}
.checkout-layout h2{font-size:34px;margin:28px 0 20px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-grid label{font-size:12px}
.form-grid input,.form-grid select{width:100%;padding:13px;border:1px solid var(--line);background:white;display:block;margin-top:7px}
.wide{grid-column:1/-1}
.order-summary{background:var(--champagne);padding:30px;align-self:start}
.payment-options{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.payment-options label{border:1px solid var(--line);padding:12px;font-size:12px}
.account{max-width:600px;margin:70px auto;padding:30px}
.account h1{font-size:62px;margin-bottom:25px}
.account .form-grid{margin-top:25px}
.account .button{margin-top:20px}
.article{max-width:850px;margin:auto;padding:65px 25px}
.article h1{font-size:65px}
.article img{width:100%;margin:30px 0}
.article h2{font-size:35px;margin:35px 0 15px}
.article p{margin:16px 0}
.mobile-links a{display:block;font:35px var(--serif);padding:9px 0}
.mobile-links{padding-top:20px}
#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--green);color:white;padding:14px 25px;z-index:80;font-size:13px;box-shadow:0 5px 20px #0002;transition:transform .3s;max-width:90vw}
#toast.show{transform:translateX(-50%) translateY(0)}
.muted{font-size:12px;color:#798578}
.reveal{animation:reveal .8s both}
.full-button{width:100%}
.info-page{max-width:850px;margin:60px auto;padding:30px}
.info-page h1{font-size:58px;margin-bottom:30px}
.info-page h2{font-size:32px;margin:30px 0 15px}
.info-page p{margin:15px 0}
.sticky-buy{display:none}
.load-more{display:block;margin:40px auto 0}
.subtle{color:#687d6b}
.profile-row{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.profile-row span{padding:8px 12px;background:var(--champagne);font-size:12px}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.round-control{border:1px solid #ffffff70;border-radius:50%;width:35px;height:35px;color:white}
.hero-controls{display:flex;align-items:center;gap:15px}
.filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.filter-pills button{font-size:12px;border:1px solid var(--line);padding:7px 12px}
.filter-pills button.active{color:white;background:var(--green)}

@keyframes slowzoom{from{transform:scale(1.03)}
to{transform:scale(1.1)}
}
@keyframes reveal{from{opacity:0;transform:translateY(22px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes drawer{from{transform:translateX(100%)}
to{transform:translateX(0)}
}

@media(min-width:1600px){.hero{height:780px}
.hero-copy{padding-top:120px}
}
@media(max-width:1100px){nav{gap:16px}
nav a{font-size:10px}
.product-grid{gap:17px}
.collection-layout{grid-template-columns:150px 1fr;gap:20px}
.collection-layout .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.family-grid{grid-template-columns:repeat(4,1fr)}
.category-rail{gap:12px}
.hero-copy{padding-top:80px}
.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}
.original-photo{height:290px}
.film{width:78%}
.editorial-copy{padding:50px 12%}
}

@media(max-width:760px){.locale{display:none}
.announcement{font-size:9px;letter-spacing:.1em;height:30px}
.header-main{height:77px;padding:0 18px}
.brand,.brand img{width:82px;height:64px}
.header-actions{gap:9px}
.finder-link,.account-link,.wish-link{display:none}
.mobile-menu{display:flex}
nav:not(.mobile-links){display:none}
.hero{min-height:660px;height:calc(91svh - 107px);max-height:790px}
.hero-bg{object-position:64%;opacity:1}
.hero-copy{padding:45px 25px;max-width:100%}
.hero h1{font-size:65px}
.hero-copy .eyebrow{font-size:10px}
.hero p{font-size:13px;max-width:260px}
.hero .button{margin-top:25px}
.hero-foot{left:25px;right:25px;bottom:25px}
.hero-caption{display:none}
.hero-trio{width:85%;top:43%;right:7%;height:43%}
.hero-dots button{width:30px}
.hero-dots button.active{width:50px}
.container{padding:55px 20px}
.section-head{gap:15px;align-items:end;margin-bottom:25px}
.section-head h2{font-size:36px}
.section-head .text-link{font-size:9px;white-space:normal;max-width:90px;text-align:right}
.eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:15px}
.categories{padding-top:32px;padding-bottom:24px}
.category-rail{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:15px}
.category-card{flex:0 0 125px;font-size:10px;scroll-snap-align:start}
.category-card .category-image{height:137px}
.original-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:15px;padding-bottom:15px}
.original-card{flex:0 0 65%;scroll-snap-align:center}
.original-photo{height:310px}
.original-meta{padding:22px}
.original-meta h3{font-size:13px}
.originals .intro{font-size:13px}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
.product-rail{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:16px;padding-bottom:6px}
.product-rail .product-card{flex:0 0 62%;scroll-snap-align:start}
.product-visual{aspect-ratio:3/4}
.product-visual .bottle{padding:9%}
.product-info h3{font-size:13px}
.rating{font-size:10px}
.price{font-size:12px}
.product-bottom{display:block;margin-top:10px}
.row-foot{margin-top:20px}
.sizes{display:block;margin-top:5px;font-size:9px}
.badge{font-size:8px;left:8px;top:10px;padding:4px}
.wish{font-size:22px;right:4px;top:3px}
.quick-add{transform:translateY(0);font-size:9px;bottom:7px;left:7px;right:7px;min-height:33px}
.editorial{display:flex;flex-direction:column;min-height:0}
.editorial img{height:350px}
.editorial-copy{padding:45px 27px;width:100%}
.editorial-copy h2{font-size:58px}
.editorial-copy p{font-size:14px}
.video-section{padding:50px 20px}
.film{width:100%;margin-top:28px}
.film-caption{font-size:9px;bottom:12px;left:15px}
.family-grid{grid-template-columns:repeat(3,1fr);gap:10px}
.family-tile{height:125px}
.family-tile span{font-size:9px;left:10px;bottom:12px}
.finder-campaign{padding:65px 22px}
.finder-campaign h2{font-size:58px}
.finder-campaign p{font-size:14px}
.number-line{gap:23px}
.campaign{min-height:0;padding:35px 25px 145px}
.campaign h2{font-size:38px}
.campaign p{font-size:13px;max-width:100%}
.campaign .button{max-width:65%}
.campaign img{width:34%;max-width:120px;height:130px;bottom:0;right:20px;opacity:.9}
.other-categories{display:flex;overflow:auto;gap:15px}
.other-card{min-width:75%;height:340px}
.maison-strip{grid-template-columns:1fr;gap:35px}
.maison-strip img{aspect-ratio:1.1}
.maison-strip h2{font-size:50px}
.review-grid{grid-template-columns:1fr;gap:35px}
.review-grid blockquote{font-size:25px}
.journal-grid{display:flex;overflow:auto;gap:20px}
.journal-card{min-width:80%}
.journal-card h3{font-size:28px}
.newsletter{padding:45px 20px;display:block}
.newsletter h2{font-size:39px}
.newsletter form{margin-top:30px}
.footer-grid{grid-template-columns:1fr 1fr;gap:30px}
.footer-brand{grid-column:1/-1}
.footer-brand img{width:105px}
.footer-brand p{max-width:320px}
footer{padding:45px 25px 90px}
.footer-bottom{display:block}
.footer-bottom span{display:block;margin-top:12px}
.page-title{padding:45px 20px 35px}
.page-title h1{font-size:53px}
.page-title p{font-size:13px}
.collection-layout{display:block}
.filters{display:none;background:var(--champagne);padding:20px;margin-bottom:25px;grid-template-columns:1fr 1fr;gap:0 20px}
.filters.open{display:grid}
.collection-layout .product-grid{grid-template-columns:repeat(2,1fr);gap:25px 13px}
.filter-toggle{display:block;font-size:12px;border:1px solid var(--line);padding:10px}
.toolbar{gap:10px;flex-wrap:wrap}
.toolbar select{font-size:12px;max-width:170px}
.toolbar .count{font-size:11px}
.pdp{grid-template-columns:1fr;gap:35px;padding-top:25px}
.pdp-gallery>img{height:430px}
.pdp-info{position:static}
.pdp-info h1{font-size:45px}
.notes{grid-template-columns:1fr;margin-top:25px}
.notes div{padding:25px}
.purchase-row .button{font-size:11px}
.quiz{padding:45px 20px;min-height:650px}
.quiz h1{font-size:43px}
.quiz-options{grid-template-columns:1fr 1fr;gap:12px}
.quiz-options button{font-size:13px;padding:20px 12px}
.quiz-progress{gap:8px;margin-bottom:35px}
.quiz-progress span{padding:8px 12px}
.checkout-layout{grid-template-columns:1fr;gap:30px}
.checkout-layout .order-summary{order:-1}
.form-grid{gap:12px}
.form-grid input{font-size:14px}
.account{margin:30px auto;padding:25px}
.article h1{font-size:48px}
.article{padding:40px 20px}
.info-page{padding:20px;margin:35px auto}
.info-page h1{font-size:44px}
.bundle-steps{gap:10px}
.bundle-steps span{font-size:11px}
.cart-item{grid-template-columns:65px 1fr auto;gap:10px}
.cart-item img{width:65px}
.panel-body{padding:20px}
dialog.modal{padding:20px;width:94vw}
.sticky-buy{position:fixed;bottom:0;left:0;right:0;background:var(--ivory);border-top:1px solid var(--line);padding:12px 20px;display:flex;z-index:15;justify-content:space-between;align-items:center;gap:15px}
.sticky-buy .button{min-height:43px;font-size:10px}
.sticky-buy .price{font-size:15px}
.pdp-page~footer{padding-bottom:100px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.hero-bg{transform:none}
}


.hero-trio img{mix-blend-mode:normal;box-shadow:0 20px 50px #0005}
.pdp-gallery{overflow:hidden}
.journal-grid{display:grid}
.hero-trio{gap:10px}
.hero-trio img{width:32%}
.hero-trio img:nth-child(2){margin:40px 0 0}
.slide-1 .hero-copy{max-width:57%}
.slide-1 h1{font-size:clamp(50px,6vw,88px)}
@media(max-width:760px){.slide-1 .hero-copy{max-width:100%}
.slide-1 h1{font-size:53px}
.journal-grid{display:flex}
.hero-trio{gap:7px}
.hero-trio img{box-shadow:0 10px 25px #0004}
}

nav a{font-size:12px}
nav{gap:21px}
.original-card .eyebrow{font-size:12px}
.quick-add{font-size:12px;min-height:44px}
.pdp-gallery:has(img[src*="aura"])>img,.pdp-gallery:has(img[src*="shadow"])>img,.pdp-gallery:has(img[src*="crystal"])>img{mix-blend-mode:normal}
@media(min-width:761px) and (max-width:1150px){nav{gap:13px}
nav a{font-size:10px}
.header-main{height:90px}
.hero-copy{max-width:70%}
}
@media(max-width:760px){.quick-add{font-size:11px;min-height:40px}
.category-card{font-size:11px}
.product-info h3{font-size:14px}
.rating{font-size:11px}
.sizes{font-size:11px}
.family-tile span{font-size:11px;letter-spacing:.06em}
.section-head .text-link{font-size:11px;max-width:100px}
.variant-buttons button{min-height:56px}
.gallery-tabs button{min-height:44px}
.quiz-back{min-height:44px}
.price{font-size:14px}
.badge{font-size:10px}
.hero-dots button{height:44px}
.round-control{width:44px;height:44px}
}

/* ---- WordPress / WooCommerce integration additions (not present in the static V4 preview) ---- */
.admin-bar header{top:32px}
@media(max-width:782px){.admin-bar header{top:0}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rm-empty-note{grid-column:1/-1;text-align:center;padding:60px 20px;color:#697b70}
.rm-empty-note a{text-decoration:underline}
.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 18px;list-style:none;margin:0;padding:40px 6% 80px;max-width:1600px;margin-left:auto;margin-right:auto}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{position:relative;margin:0;font-size:13px}
.woocommerce ul.products li.product a{text-decoration:none;color:inherit;display:block}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--champagne);display:block;margin:0 0 10px}
.woocommerce ul.products li.product .onsale{position:absolute;top:10px;left:10px;background:var(--green);color:#fff;font-size:10px;letter-spacing:.06em;padding:4px 8px;text-transform:uppercase;border-radius:0;min-height:0;min-width:0;height:auto;width:auto;line-height:1}
.woocommerce ul.products li.product h2,.woocommerce ul.products li.product .woocommerce-loop-product__title{font:16px/1.3 var(--serif);margin:0 0 4px;color:var(--ink);font-weight:500}
.woocommerce ul.products li.product .price{font-size:13px;color:var(--royal);display:block}
.woocommerce ul.products li.product .price del{opacity:.5;font-weight:400;margin-right:6px}
.woocommerce ul.products li.product .price ins{text-decoration:none;font-weight:600}
.woocommerce ul.products li.product .button{margin-top:10px;display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);padding:8px 14px;background:transparent;color:var(--ink);transition:background .2s,color .2s}
.woocommerce ul.products li.product .button:hover{background:var(--ink);color:#fff}
.woocommerce ul.products li.product .star-rating{font-size:12px;margin-bottom:4px;color:var(--gold)}
@media(max-width:1200px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px;padding:24px 5% 60px}}
.woocommerce nav.woocommerce-pagination{text-align:center;margin:50px 0 0}
.woocommerce nav.woocommerce-pagination ul{display:inline-flex;gap:8px;list-style:none;border:0;margin:0;padding:0}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination a,.woocommerce nav.woocommerce-pagination span{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;border:1px solid var(--line);font-size:12px}
.woocommerce nav.woocommerce-pagination .current{background:var(--green);color:#fff;border-color:var(--green)}
.woocommerce-breadcrumb{font-size:11px;letter-spacing:.08em;color:#7c8c80;padding:20px 6% 0;max-width:1440px;margin:0 auto}
.woocommerce-breadcrumb a{text-decoration:underline}
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews{background:var(--champagne);padding:16px 20px;font-size:13px;margin:0 0 25px;list-style:none}
p.stars{display:flex;gap:4px}
p.stars a{position:relative;display:inline-block;width:20px;height:20px;overflow:hidden;text-indent:-999px;color:var(--line);text-decoration:none;cursor:pointer}
p.stars a::before{content:'\2605';position:absolute;top:0;left:0;text-indent:0;font-size:20px;line-height:1}
p.stars a:hover,
p.stars a:has(~ a:hover),
p.stars.selected a.active,
p.stars.selected a:has(~ a.active){color:var(--gold)}
.rm-notes-list{list-style:none;margin:0;padding:0;font-size:13px;color:#63766a}
.rm-notes-list li{margin:2px 0}


/* ===== WooCommerce single product page (native template + hooks, styled to match the V4 PDP) ===== */
.pdp-gallery{background:var(--champagne)}
.pdp-gallery .woocommerce-product-gallery__wrapper{margin:0}
.pdp-gallery .woocommerce-product-gallery__image{padding:10%}
.pdp-gallery .woocommerce-product-gallery__image img{width:100%;height:500px;object-fit:contain;mix-blend-mode:multiply}
.pdp-gallery .flex-control-thumbs{display:flex;gap:5px;flex-wrap:wrap;padding:10px;list-style:none;margin:0}
.pdp-gallery .flex-control-thumbs li{width:70px}
.pdp-gallery .flex-control-thumbs img{width:100%;height:70px;object-fit:contain;background:var(--champagne);cursor:pointer;opacity:.6}
.pdp-gallery .flex-control-thumbs img.flex-active{opacity:1;outline:1px solid var(--green)}

.pdp-info .product_title{font:400 46px/1.15 var(--serif);margin:0 0 12px}
.pdp-info .woocommerce-product-rating{margin:12px 0}
.pdp-info .woocommerce-product-details__short-description{margin:18px 0;color:#667a6b}
.pdp-info p.price{font:500 26px var(--sans);margin:20px 0;color:var(--ink)}
.pdp-info p.price ins{text-decoration:none}
.pdp-info p.price del{opacity:.5;font-size:.7em;margin-right:8px}

.pdp-info table.variations{width:100%;border:0;margin:0 0 20px;border-collapse:collapse}
.pdp-info table.variations tbody,.pdp-info table.variations tr,.pdp-info table.variations th,.pdp-info table.variations td{display:block;border:0;padding:0}
.pdp-info table.variations th.label label{display:block;font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.pdp-info table.variations td.value select{display:none !important}
.pdp-info .variable-items-wrapper{display:flex;gap:10px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.pdp-info .variable-item{border:1px solid var(--line);flex:1;min-width:80px;padding:12px;font-size:12px;text-align:center;background:var(--ivory);transition:background .2s,color .2s}
.pdp-info .variable-item:hover{border-color:var(--green)}
.pdp-info .variable-item.selected{background:var(--green);color:#fff;border-color:var(--green)}
.pdp-info .reset_variations{display:inline-block;font-size:11px;text-decoration:underline;margin-top:8px}

.pdp-info .woocommerce-variation-price .price{font-size:22px;margin:10px 0}
.pdp-info .woocommerce-variation-availability{font-size:12px;margin-bottom:10px}

.pdp-info form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 20px}
.pdp-info .quantity{margin:0}
.pdp-info .quantity input{width:65px;height:52px;background:transparent;border:1px solid var(--line);text-align:center}
.pdp-info .single_add_to_cart_button{flex:1;min-width:200px}
.pdp-info .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;width:100%;align-items:center}

/* Real product-page cart row: the live Elementor/Kitify template has no .pdp-info wrapper,
   so the .pdp-info-scoped rules above never actually apply there -- this puts the same
   professional layout on the real markup (all 112 products are variable-type), turning
   the quantity control into one joined stepper and giving Add to Cart / Add to Wishlist
   a clean, evenly-proportioned row instead of stacking with mismatched widths. */
.woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;width:100%;margin-top:10px}
.woocommerce-variation-add-to-cart .quantity{display:flex;align-items:stretch;gap:0;margin:0;flex:0 0 auto;height:52px;border:1px solid var(--line)}
.woocommerce-variation-add-to-cart .quantity .rm-qty-btn{width:44px;height:100%;border:0;background:transparent;color:var(--green);font-size:16px;line-height:1;cursor:pointer;transition:background .2s}
.woocommerce-variation-add-to-cart .quantity .rm-qty-btn:hover{background:var(--champagne)}
.woocommerce-variation-add-to-cart .quantity .qty{width:48px;height:100%;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);background:transparent;text-align:center;font-size:14px;-moz-appearance:textfield}
.woocommerce-variation-add-to-cart .quantity .qty::-webkit-outer-spin-button,.woocommerce-variation-add-to-cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 180px;min-width:180px;margin:0}
.woocommerce-variation-add-to-cart .wcboost-wishlist-button{flex:0 0 auto;background:transparent;border:1px solid var(--green);color:var(--green);min-height:52px;padding:16px 20px;gap:10px;margin:0}
.woocommerce-variation-add-to-cart .wcboost-wishlist-button:hover{background:var(--green);color:#fff}
@media (max-width:480px){
.woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 100%}
.woocommerce-variation-add-to-cart .wcboost-wishlist-button{flex:1 1 100%;justify-content:center}
}

.pdp-info .product_meta{border-top:1px solid var(--line);padding-top:16px;font-size:13px;color:#667a6b;list-style:none;margin:20px 0 0}
.pdp-info .product_meta>span{display:block;margin:4px 0}

@media (max-width:900px){.pdp{grid-template-columns:1fr}.pdp-info{position:static}}

/* Quick Add / Choose Size overlay button — give it real button treatment
   (centered, solid brand color, shadow) instead of bare translucent text,
   for both the simple-product ajax button and the variable-product link. */
.quick-add{display:flex;align-items:center;justify-content:center;text-align:center;background:var(--green);color:#fff;text-transform:uppercase;border:0;box-shadow:0 4px 14px rgba(0,0,0,.18);padding:0 14px}
.quick-add:hover{background:var(--royal);color:#fff}

/* Native WooCommerce star-rating widget (product page) — replace the raw
   'Rated X out of 5 based on Y customer ratings' accessibility text with
   visible star glyphs, matching the shop grid's star display. */
.star-rating{position:relative;display:inline-block;overflow:hidden;font-size:16px;line-height:1;letter-spacing:2px;color:var(--line);height:1em;width:5.4em;vertical-align:middle}
.star-rating::before{content:'\2605\2605\2605\2605\2605';position:absolute;top:0;left:0}
.star-rating span{position:absolute;top:0;left:0;overflow:hidden;font-size:0;height:100%}
.star-rating span::before{content:'\2605\2605\2605\2605\2605';font-size:16px;letter-spacing:2px;color:var(--gold);position:absolute;top:0;left:0}
.woocommerce-product-rating{display:flex;align-items:center;gap:10px;margin:12px 0}
.woocommerce-product-rating .woocommerce-review-link{font-size:12px;color:#667a6b;text-decoration:underline}

/* ===== Reviews tab (product page) — the Elementor "Product Data Tabs" widget
   (Kitify plugin) that wraps this native WooCommerce tabs/reviews markup fails
   to initialize on this site (its init script calls jQuery's .foundation(),
   which needs the Foundation JS framework — not loaded here — so it throws
   "$scope.foundation is not a function" and never applies its own styling).
   WooCommerce's own tab-switching script still works underneath (clicking a
   tab does switch panels), but with zero of Kitify's CSS applied the tabs and
   the whole reviews panel rendered as a bare, unstyled bullet list + plain
   browser form. This gives that same untouched native markup the V4 look,
   without touching the Kitify widget or the Elementor template. */
.woocommerce-tabs{margin:60px 0 0;max-width:640px}
.woocommerce-tabs ul.tabs{display:flex;gap:35px;list-style:none;margin:0 0 35px;padding:0;border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs li{margin:0;padding:0}
.woocommerce-tabs ul.tabs li a{display:inline-block;padding:0 0 16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7c8c80;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--green)}
.woocommerce-tabs .panel{padding:0}
.woocommerce-tabs .panel table{border-collapse:collapse;font-size:13px}
.woocommerce-tabs .panel table th,.woocommerce-tabs .panel table td{text-align:left;padding:8px 20px 8px 0;border-bottom:1px solid var(--line)}
.woocommerce-Reviews-title{font:400 24px/1.2 var(--serif);margin:0 0 20px;color:var(--ink)}
#comments .commentlist{list-style:none;margin:0 0 30px;padding:0}
#comments .comment{border-bottom:1px solid var(--line);padding:20px 0}
#comments li:first-child .comment{padding-top:0}
#comments .comment_container{display:flex;gap:15px;align-items:flex-start}
#comments .comment-text{flex:1}
#comments .comment-text .star-rating{margin-bottom:6px}
#comments .meta{font-size:12px;color:#7c8c80;margin-bottom:8px;display:block}
#comments .description p{margin:0;font-size:14px;line-height:1.6}
#review_form_wrapper{border-top:1px solid var(--line);padding-top:30px}
#respond .comment-reply-title{font:400 20px/1.2 var(--serif);display:block;margin-bottom:22px;color:var(--ink)}
.comment-form-rating{margin-bottom:20px}
.comment-form-rating label{display:block;font-size:12px;letter-spacing:.06em;margin-bottom:9px;color:var(--ink)}
.comment-form-rating p.stars{margin:0}
.comment-form-rating p.stars a{text-decoration:none;margin-right:5px;font-size:14px}
.comment-form-comment label,.comment-form-author label,.comment-form-email label{display:block;font-size:12px;letter-spacing:.06em;margin-bottom:8px;color:var(--ink)}
#respond textarea,#respond input[type=text],#respond input[type=email]{width:100%;padding:13px;border:1px solid var(--line);background:#fff;font-size:14px;margin-bottom:20px;font-family:var(--sans);display:block}
#respond textarea{min-height:130px;resize:vertical}
#respond p.form-submit{margin:0}
#respond #submit{display:inline-flex;align-items:center;justify-content:center;padding:14px 30px;background:var(--green);color:#fff;font-size:12px;letter-spacing:.09em;text-transform:uppercase;border:0;cursor:pointer;transition:background .25s}
#respond #submit:hover{background:var(--royal)}



/* Cart page (/cart/) — rebuilt from WooCommerce's default unstyled table markup.
   Two-column layout: item list + sticky order-summary sidebar, matching the V4 mockup. */
.cart-page{max-width:1200px;margin:50px auto 90px;padding:0 24px;display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:start}
@media(max-width:900px){.cart-page{grid-template-columns:1fr;gap:40px}}
.cart-list{min-width:0}
.cart-item-body{display:flex;flex-direction:column}
.cart-item-end{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px;text-align:right}
.cart-item-price{font-size:12px;color:#778476}
.cart-item-subtotal{font:500 15px/1.4 var(--sans);color:var(--ink)}
.cart-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:26px}
.coupon{display:flex;gap:10px;flex:1;min-width:230px}
.coupon input{flex:1;border:1px solid var(--line);padding:0 14px;height:44px;font-size:13px;background:#fff}
.coupon .button{white-space:nowrap}
.button.outline{background:transparent;border:1px solid var(--green);color:var(--green);box-shadow:none}
.button.outline:hover{background:var(--green);color:#fff}
.cart-collaterals{position:sticky;top:110px}
.cart-summary-box{background:var(--champagne);padding:32px}
.cart-summary-box h2{font:500 21px/1.3 var(--serif);margin:0 0 22px}
.cart-summary-box .cart-total{font-size:13px}
.cart-grand-total{font-weight:600;font-size:19px;border-top:1px solid var(--line);padding-top:18px;margin-top:8px}
.wc-proceed-to-checkout{margin-top:22px}
.wc-proceed-to-checkout .checkout-button{display:flex;justify-content:center;align-items:center;width:100%;background:var(--green);color:#fff;text-align:center;padding:17px;text-transform:uppercase;font-size:13px;letter-spacing:.05em}
.wc-proceed-to-checkout .checkout-button:hover{background:var(--royal)}
.cart-empty{font-size:16px;margin:70px 0 20px;text-align:center}
.cart-page p:has(> a.button){text-align:center}
.woocommerce-shipping-calculator{margin-top:10px;font-size:12px}
.woocommerce-shipping-calculator .shipping-calculator-button{text-decoration:underline;cursor:pointer}
.woocommerce-notices-wrapper .woocommerce-message,.woocommerce-notices-wrapper .woocommerce-error,.woocommerce-notices-wrapper .woocommerce-info{list-style:none;padding:16px 20px;margin:0 0 20px;background:var(--champagne);border-left:3px solid var(--green);font-size:13px}
.woocommerce-notices-wrapper .woocommerce-error{border-left-color:#b23b3b}
.cross-sells{margin-top:44px}
.cross-sells h2{font:500 18px/1.3 var(--serif);margin-bottom:16px}


/* Cart totals: shipping row — the native WooCommerce shipping-methods markup
   (label + hidden/radio inputs + "Shipping options will be updated..." note +
   the Calculate Shipping form) is multi-line, so it can't sit in the same
   single-line flex row as Subtotal/Total — give it its own block layout. */
.cart-total.cart-shipping-block{display:block;font-size:13px}
.cart-shipping-block ul.woocommerce-shipping-methods{list-style:none;margin:6px 0 4px;padding:0}
.cart-shipping-block ul.woocommerce-shipping-methods li{font-size:13px}
.cart-shipping-block label{cursor:default}
.cart-shipping-block .woocommerce-shipping-destination{font-size:11px;color:#889186;margin:4px 0 8px}
.cart-shipping-block .shipping-calculator-button{font-size:11px;text-decoration:underline;color:#667a6b}
.cart-shipping-block .shipping-calculator-form{margin-top:12px}
.cart-shipping-block .shipping-calculator-form .form-row{margin:0 0 10px}
.cart-shipping-block .shipping-calculator-form label{display:block;font-size:11px;margin-bottom:4px}
.cart-shipping-block .shipping-calculator-form .input-text,
.cart-shipping-block .shipping-calculator-form select{width:100%;border:1px solid var(--line);height:38px;padding:0 10px;font-size:12px;background:#fff}
.cart-shipping-block .shipping-calculator-form button{border:1px solid var(--green);background:transparent;color:var(--green);height:36px;padding:0 16px;font-size:12px;text-transform:uppercase}


/* Cart item row: align the image to the top instead of stretching it to the
   full row height (which left an empty champagne-colored gap below shorter
   product photos), and reflow to a stacked layout on narrow screens where
   the default 85px/1fr/auto grid squeezed the price+remove column too
   tight and wrapped the price awkwardly. */
.cart-item{align-items:start}
@media(max-width:600px){
  .cart-item{grid-template-columns:72px 1fr;gap:14px}
  .cart-item-end{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;text-align:left;padding-top:14px;margin-top:4px;border-top:1px dashed var(--line)}
  .cart-actions-row{flex-direction:column;align-items:stretch}
  .coupon{min-width:0}
}


/* Coupon field overflow on narrow screens: the input's flex default
   min-width:auto refused to shrink below its intrinsic content size,
   pushing the row wider than the cart column and clipping "Apply coupon"
   off the right edge. */
.coupon input{min-width:0}
@media(max-width:420px){
  .coupon{flex-direction:column}
  .coupon input,.coupon .button{width:100%}
}

/* Fix: keep WooCommerce's native star-rating accessibility text hidden — theme's bare .rating rules were leaking through and overlapping the star icons */
.star-rating .rating{font-size:0}

/* Fix: mobile nav drawer's own <nav> was inheriting the generic horizontal `nav{display:flex}` row layout meant for other navs on the site — lay it out as a proper vertical menu list instead */
.mobile-links{display:flex;flex-direction:column;align-items:flex-start;height:auto;gap:0}
.mobile-links li{list-style:none;width:100%}


/* Join.chat (WhatsApp widget) iPhone safe-area fix: the plugin's own mobile
   breakpoint tightens its bottom offset to 6px, which sits under the home
   indicator on notched iPhones. Extend it with the device's safe-area inset
   without touching plugin files, so it survives plugin updates. */
@media(max-width:480px),(orientation:landscape) and (max-height:480px){
.joinchat{--bottom:calc(6px + env(safe-area-inset-bottom)) !important}
}

/* Royal Misk storefront refinement — September 2026. */
.collection-layout .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.collection-layout .product-info h3{font-size:16px;line-height:1.5}
.collection-layout .product-visual{min-height:250px}
.page-title{padding:34px 6% 28px}
.page-title h1{font-size:54px}
.page-title p{margin:12px auto 0}
.page-title + .container{padding-top:32px}
.hero.slide-0 h1 em,.hero.slide-2 h1 em{color:var(--green)}
.header-main{height:86px}
.finder-link{font:inherit;font-size:13px;text-align:left}
header nav{justify-content:center;gap:28px}
header nav a{font-size:12px}
.quick-add{transform:translateY(0);box-shadow:none;min-height:44px}
.product-visual .bottle{padding-bottom:42px}
.rm-product-subtitle{font:400 13px/1.6 var(--sans);color:#526759;margin:8px 0 0}
.original-meta h3{font:500 30px/1.15 var(--serif);margin:12px 0 8px}
.originals h2{max-width:900px;margin-left:auto;margin-right:auto}
.filters .rm-filter-links{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.rm-filter-links a{font-size:13px;padding:8px 10px;border:1px solid var(--line)}
.rm-filter-links a[aria-current=page]{background:var(--green);color:white}
.single-product .summary .product_title{font:500 44px/1.1 var(--serif);color:var(--green);margin:0 0 12px}
.single-product .summary .rm-product-subtitle{font-size:15px;margin:0 0 16px}
.single-product .summary .woocommerce-product-details__short-description{font-size:14px;line-height:1.7;margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}
.single-product .summary form.cart{margin:18px 0 14px}
.single-product .summary .single_add_to_cart_button{min-height:50px;padding:15px 24px;background:var(--green);color:white}
.single-product .summary .rm-purchase-help{font-size:13px;line-height:1.7;margin:14px 0 18px;color:#526759}
.single-product .summary .rm-purchase-help a{text-decoration:underline}
.single-product .summary .product_meta{font-size:12px}
.single-product .summary .star-rating{flex-shrink:0}
:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(min-width:1500px){.collection-layout .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px) and (min-width:761px){header nav{gap:18px}header nav a{font-size:11px}.collection-layout{grid-template-columns:155px 1fr;gap:22px}.collection-layout .product-grid{gap:26px 16px}}
@media(max-width:760px){.header-main{height:72px}.collection-layout .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.collection-layout .product-visual{min-height:190px}.collection-layout .product-info h3{font-size:14px}.page-title{padding:28px 20px}.page-title h1{font-size:42px}.page-title + .container{padding-top:24px}.original-meta h3{font-size:28px}.rm-product-subtitle{font-size:12px}.single-product .summary .product_title{font-size:36px}.hero{min-height:570px}.hero-copy{padding:36px 24px}.hero h1{font-size:56px}.filters.open{grid-template-columns:1fr}.quick-add{font-size:10px}.product-visual .bottle{padding-bottom:36px}}

/* Desktop category dropdown; mobile keeps every category directly available. */
header nav{overflow:visible}
header nav>li{position:relative}
header nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:215px;background:var(--ivory);border:1px solid var(--line);padding:10px 16px;box-shadow:0 12px 24px #003c3014;list-style:none;z-index:30}
header nav .sub-menu a{display:block;padding:11px 4px;font-size:12px}
header nav li:hover>.sub-menu,header nav li:focus-within>.sub-menu{display:block}
header nav>.menu-item-has-children>a::after{content:' ▾';font-size:11px}
.mobile-links .sub-menu{display:grid;grid-template-columns:1fr 1fr;padding:4px 0 14px 16px;list-style:none;gap:0 12px}
.mobile-links .sub-menu a{font:500 12px/1.4 var(--sans);display:block;padding:12px 0;white-space:normal}

/* Product pages use the existing Kitify/Elementor template. */
.single-product .elementor-element-0799a73>.e-con-inner{flex-wrap:wrap}
.single-product .elementor-element-0799a73 .elementor-element-6c657ec{width:100%;--width:100%;flex-basis:100%;gap:32px}
.single-product .elementor-element-6c657ec>.elementor-element-22c2753,.single-product .elementor-element-6c657ec>.elementor-element-77bd4ef{width:calc(50% - 16px);--width:calc(50% - 16px)}
.single-product .elementor-element-0799a73 .elementor-element-60f8981{width:100%;--width:100%;flex-basis:100%;margin-top:24px}
.single-product .elementor-element-77bd4ef{gap:16px}
.single-product .elementor-element-77bd4ef>.elementor-widget-spacer{display:none}
.single-product .elementor-element-77bd4ef>.elementor-kitify-wooproduct-title{order:1}
.single-product .elementor-element-77bd4ef>.elementor-element-79775fa{order:2}
.single-product .elementor-element-77bd4ef>.elementor-kitify-wooproduct-addtocart{order:3;margin:4px 0 8px}
.single-product .elementor-element-77bd4ef>.elementor-kitify-wooproduct-shortdescription{order:4;border-top:1px solid var(--line);padding-top:20px;font-size:14px;line-height:1.7}
.single-product .elementor-element-77bd4ef>.elementor-kitify-wooproduct-meta{order:5}
.single-product .elementor-element-77bd4ef>.elementor-kitify-social-share{order:6}
.single-product .elementor-kitify-wooproduct-title h1.kitify-post-title{font:500 46px/1.1 var(--serif);color:var(--green);margin:0}
.single-product .elementor-kitify-wooproduct-addtocart .single_add_to_cart_button{min-height:50px;font-size:14px;padding:14px 24px}
.single-product .elementor-kitify-wooproduct-addtocart .quantity input{min-height:50px}
@media(max-width:760px){.single-product .elementor-element-6c657ec>.elementor-element-22c2753,.single-product .elementor-element-6c657ec>.elementor-element-77bd4ef{width:100%;--width:100%}.single-product .elementor-kitify-wooproduct-title h1.kitify-post-title{font-size:36px}.single-product .elementor-element-0799a73 .elementor-element-6c657ec{gap:24px}}


/* Quantity stepper (+/- buttons) for all WooCommerce quantity fields (cart, product page) */
.quantity{position:relative}
.quantity .rm-qty-btn{background:var(--ivory,#fcfbf8);color:var(--ink,#123b30);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease,color .15s ease}
.quantity .rm-qty-btn:hover{background:var(--gold,#e8cc5f)}
.quantity .rm-qty-btn:active{background:var(--royal,#00674f);color:#fff;border-color:var(--royal,#00674f)}
.quantity .rm-qty-btn:disabled{opacity:.35;cursor:not-allowed}
.woocommerce-cart .quantity input.qty{width:50px;text-align:center}
.elementor-kitify-wooproduct-addtocart .quantity{display:inline-flex !important;align-items:center !important;gap:8px !important}
.pdp-info .quantity .rm-qty-btn{height:52px}


/* ==========================================================================
   RM Quick Add flyout (size picker) + "Your Bag" slide-in drawer
   ========================================================================== */
html.rm-panel-lock{overflow:hidden}
.rm-panel-overlay{position:fixed;inset:0;background:rgba(18,59,48,.45);opacity:0;transition:opacity .3s ease;z-index:9998}
.rm-panel-overlay.is-open{opacity:1}
.rm-flyout,.rm-bag{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--ivory,#fcfbf8);box-shadow:-8px 0 30px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .35s ease;z-index:9999;overflow-y:auto;display:flex;flex-direction:column}
.rm-flyout.is-open,.rm-bag.is-open{transform:translateX(0)}
.rm-panel-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--line,#dcded5);background:transparent;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;color:var(--ink,#123b30);display:flex;align-items:center;justify-content:center;z-index:2}
.rm-panel-close:hover{background:var(--champagne,#f3eee4)}

.rm-flyout-body{padding:56px 28px 28px}
.rm-flyout-media{text-align:center;margin-bottom:16px}
.rm-flyout-media img{max-width:160px;max-height:220px;object-fit:contain}
.rm-flyout-name{font-family:var(--serif,serif);font-size:22px;margin:0 0 6px;text-align:center}
.rm-flyout-rating{text-align:center;font-size:13px;color:var(--ink,#123b30);margin-bottom:18px}
.rm-flyout-rating .stars{color:var(--gold,#e8cc5f);margin-right:6px}
.rm-flyout-label{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink,#123b30);opacity:.7;margin:0 0 10px}
.rm-flyout-loading{text-align:center;padding:24px 0;opacity:.7}

.rm-size-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line,#dcded5)}
.rm-size-label{flex:0 0 auto;font-size:14px;font-weight:600;min-width:56px}
.rm-size-price{flex:1;font-size:14px;color:var(--ink,#123b30)}
.rm-size-add{flex:0 0 auto;border:1px solid var(--green,#003e31);background:transparent;color:var(--green,#003e31);padding:8px 16px;font-size:11px;letter-spacing:.08em;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.rm-size-add:hover:not(:disabled){background:var(--green,#003e31);color:#fff}
.rm-size-add:disabled{opacity:.4;cursor:not-allowed}

.rm-bag-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line,#dcded5)}
.rm-bag-head h3{font-family:var(--serif,serif);font-size:22px;margin:0}
.rm-bag-head .rm-panel-close{position:static}
.rm-bag-promo{margin:16px 28px 0;padding:12px 16px;background:var(--champagne,#f3eee4);color:var(--green,#003e31);font-size:12.5px;letter-spacing:.02em;text-align:center;border-radius:2px}
.rm-bag-items{flex:1;padding:16px 28px}
.rm-bag-empty{text-align:center;padding:40px 0;opacity:.7}
.rm-bag-item{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line,#dcded5)}
.rm-bag-item img{width:56px;height:56px;object-fit:contain;background:var(--champagne,#f3eee4);border-radius:4px;flex:0 0 auto}
.rm-bag-item-info{flex:1;min-width:0}
.rm-bag-item-name{font-size:13.5px;margin:0 0 8px;line-height:1.3}
.rm-bag-qty{display:flex;align-items:center;gap:0;width:fit-content;border:1px solid var(--line,#dcded5)}
.rm-bag-qty .rm-qty-btn{width:26px;height:26px;border:0;background:transparent;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink,#123b30)}
.rm-bag-qty .rm-qty-btn:hover{background:var(--champagne,#f3eee4)}
.rm-bag-qty-val{min-width:24px;text-align:center;font-size:13px}
.rm-bag-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:0 0 auto}
.rm-bag-item-price{font-size:13.5px;font-weight:600;white-space:nowrap}
.rm-bag-remove{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:var(--ink,#123b30);opacity:.5}
.rm-bag-remove:hover{opacity:1}

.rm-bag-foot{padding:20px 28px 28px;border-top:1px solid var(--line,#dcded5)}
.rm-bag-subtotal{display:flex;align-items:center;justify-content:space-between;font-size:15px;margin-bottom:16px}
.rm-bag-subtotal strong{font-size:18px}
.rm-bag-foot .button{width:100%;margin-bottom:10px;text-decoration:none}
.rm-bag-foot .rm-bag-view{background:transparent;border:1px solid var(--green,#003e31);color:var(--green,#003e31)}
.rm-bag-foot .rm-bag-view:hover{background:var(--champagne,#f3eee4)}

@media (max-width:600px){
  .rm-flyout,.rm-bag{width:100vw;max-width:100vw}
  .rm-flyout-body{padding:52px 20px 24px}
  .rm-bag-head,.rm-bag-items,.rm-bag-foot{padding-left:20px;padding-right:20px}
  .rm-bag-promo{margin-left:20px;margin-right:20px}
}
