/* =========================================================
   FurnitureUKDirect — main stylesheet
   ========================================================= */
:root{--g900:#1b3426;--g800:#21402f;--g700:#2c5139;--brand:#146829;--brand-d:#0f5220;--gold:#c9a24a;--gold-d:#b08b38;--cream:#f7f3ec;--cream-2:#efe8dc;--sand:#e6dccb;--ink:#1f2421;--muted:#6b706b;--line:#e7e1d6;--white:#fff;--sale:#a8322d;--radius:14px;--radius-sm:8px;--shadow:0 10px 30px -12px rgba(27,52,38,.25);--shadow-lg:0 30px 60px -20px rgba(27,52,38,.35);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--w:1320px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s}
a:hover{color:var(--brand)}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0 0 .4em;color:var(--g900);letter-spacing:-.01em}
.container{width:100%;max-width:var(--w);margin:0 auto;padding:0 24px}
.screen-reader-text,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:0;background:var(--g900);color:#fff;padding:10px 16px;z-index:999}
.skip-link:focus{left:10px;top:10px}
.ico{flex:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* Buttons */
.btn,.button,button.button,a.button,.woocommerce .button,.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:14px;letter-spacing:.01em;line-height:1.2;transition:opacity .3s,visibility .3s,transform .3s var(--ease),color .25s,background-color .25s,border-color .25s;cursor:pointer;text-decoration:none}
.btn .ico{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover .ico-arrow{transform:translateX(4px)}
.btn-primary,.woocommerce .button.alt,.woocommerce button.button.alt,.single_add_to_cart_button,.checkout-button,.wc-block-components-button.contained{background:var(--g900)!important;color:#fff!important;border-color:var(--g900)!important}
.btn-primary:hover,.single_add_to_cart_button:hover,.checkout-button:hover{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important;transform:translateY(-2px)}
.btn-outline{background:transparent;border-color:var(--g900);color:var(--g900)}
.btn-outline:hover{background:var(--g900);color:#fff}
.btn-gold{background:var(--gold);color:var(--g900)}
.btn-gold:hover{background:#d8b45c;color:var(--g900);transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--g900)}
.btn-light:hover{background:var(--cream);color:var(--g900)}
.btn-lg{padding:15px 28px;font-size:15px}
.btn-sm{padding:9px 16px;font-size:13px}
.woocommerce .button{background:var(--cream-2);color:var(--g900)}
.woocommerce .button:hover{background:var(--g900);color:#fff}

/* Image zoom on hover (global) */
.zoom{overflow:hidden}
.zoom img{transition:transform 1.1s var(--ease),filter .6s}
.zoom:hover img{transform:scale(1.08)}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---------- Top bar ---------- */
.topbar{background:var(--g900);color:#e8efe9;font-size:12.5px;letter-spacing:.02em}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px}
.topbar span{display:inline-flex;align-items:center;gap:8px}
.topbar .ico{width:16px;height:16px;color:var(--gold)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 8px 24px -16px rgba(0,0,0,.25)} /* taste-skill-ignore: floats / table tabs */
.header-main{display:flex;align-items:center;gap:28px;padding-top:16px;padding-bottom:14px;transition:padding .3s}
.scrolled .header-main{padding-top:10px;padding-bottom:8px}
.site-logo img{width:250px;height:auto;transition:width .3s}
.scrolled .site-logo img{width:210px}
.search-form{flex:1;max-width:560px;margin:0 auto;position:relative;display:flex;align-items:center;background:var(--cream);border:1.5px solid var(--line);border-radius:999px;transition:border-color .2s,box-shadow .2s}
.search-form:focus-within{border-color:var(--brand);background:#fff}
.search-form>.ico{position:absolute;left:16px;width:18px;color:var(--muted)}
.search-form input[type=search]{flex:1;border:0;background:transparent;padding:12px 12px 12px 44px;font:inherit;font-size:14px;outline:0;min-width:0}
.search-form button{border:0;background:var(--g900);color:#fff;width:46px;height:40px;margin:3px;border-radius:999px;display:grid;place-items:center;transition:background .2s}
.search-form button:hover{background:var(--brand)}
.search-form button .ico{width:18px}
.search-results{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:10px;z-index:120;max-height:70vh;overflow:auto;animation:pop .25s var(--ease)} /* taste-skill-ignore: floats / table tabs */
.search-results h5{margin:8px 10px 6px;font:600 11px/1 var(--sans);color:var(--muted)}
.sr-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px}
.sr-item:hover,.sr-item.focus{background:var(--cream)}
.sr-item img{width:48px;height:48px;object-fit:cover;border-radius:8px;background:var(--cream)}
.sr-item b{display:block;font-weight:600;font-size:13.5px;line-height:1.3}
.sr-item span{font-size:13px;color:var(--brand);font-weight:700}
.sr-cats{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 6px}
.sr-cats a{font-size:12.5px;padding:5px 12px;border-radius:999px;background:var(--cream)}
.sr-all{display:block;text-align:center;padding:10px;font-weight:600;color:var(--brand);margin-top:6px}
.sr-empty{padding:16px;text-align:center;color:var(--muted)}
.header-actions{display:flex;align-items:center;gap:22px;margin-left:auto}
.hdr-link{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:600;position:relative;color:var(--g900)}
.hdr-link .ico{width:24px;height:24px;transition:transform .3s var(--ease)}
.hdr-link:hover .ico{transform:translateY(-2px)}
.cart-count,.wish-count{position:absolute;top:-6px;right:-2px;background:var(--brand);color:#fff;font:700 10.5px/18px var(--sans);min-width:18px;height:18px;border-radius:9px;text-align:center;padding:0 4px;font-style:normal}
.wish-count{background:var(--gold);color:var(--g900);right:6px}
.cart-count.bump{animation:bump .5s var(--ease)}
.icon-btn{border:0;background:transparent;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--g900);transition:background .2s}
.icon-btn:hover{background:var(--cream)}
.menu-toggle,.search-toggle{display:none}

/* ---------- Mega menu ---------- */
.main-nav{background:#fff}
.mega-nav{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
.mega-top{display:block;padding:14px 15px;font-size:14px;font-weight:600;color:var(--g900);position:relative;white-space:nowrap}
.mega-top::after{content:"";position:absolute;left:15px;right:15px;bottom:8px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.mega-item:hover>.mega-top::after,.mega-item.open>.mega-top::after{transform:scaleX(1)}
.promo-clearance .mega-top{color:var(--sale)}
.promo-clearance .mega-top::after{background:var(--sale)}
.promo-new-arrivals .mega-top{color:var(--gold-d)}
.mega-panel{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 30px 50px -30px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,visibility .3s,transform .3s var(--ease),color .25s,background-color .25s,border-color .25s;pointer-events:none} /* taste-skill-ignore: floats / table tabs */
.main-nav .mega-item:hover>.mega-panel,.main-nav .mega-item.open>.mega-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.mega-inner{display:grid;grid-template-columns:1fr 300px;gap:48px;padding-top:30px;padding-bottom:34px;align-items:start}
.mega-main{min-width:0}
.mega-title{display:flex;align-items:baseline;gap:14px;font-family:var(--serif);font-size:30px;font-weight:600;color:var(--g900);padding-bottom:12px;margin-bottom:16px}
.mega-title em{font-family:var(--sans);font-style:normal;font-size:13px;font-weight:700;color:var(--brand)}
.mega-subs{list-style:none;margin:0;padding:0;columns:3 200px;column-gap:32px}
.mega-subs li{break-inside:avoid}
.mega-subs a{display:flex;align-items:center;gap:8px;padding:9px 0;font-size:15px;font-weight:600;color:var(--ink);transition:color .2s,transform .25s var(--ease)}
.mega-subs a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.6;transition:opacity .2s}
.mega-subs a:hover{color:var(--brand);transform:translateX(4px)}
.mega-subs a:hover::before{opacity:1}
.mega-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:22px 28px;align-content:start;max-height:62vh;overflow:auto}
.mega-head{display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:14px;color:var(--g900);padding-bottom:8px;margin-bottom:8px}
.mega-head span{font-weight:500;font-size:11px;color:var(--muted);background:var(--cream);border-radius:20px;padding:1px 8px;align-self:center}
.mega-col ul{list-style:none;margin:0;padding:0}
.mega-col li a{display:block;font-size:13px;color:var(--muted);padding:3px 0;line-height:1.35;transition:color .2s,transform .2s}
.mega-col li a:hover{color:var(--brand);transform:translateX(3px)}
.mega-all{display:inline-block;margin-top:6px;font-size:12.5px;font-weight:700;color:var(--brand)}
.mega-feature{position:relative;border-radius:var(--radius);background:var(--cream);display:block;min-height:280px}
.mega-feature img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;mix-blend-mode:multiply}
.mega-feature-text{position:absolute;left:0;right:0;bottom:0;padding:18px;background:rgba(20,35,26,.55);color:#fff;display:flex;flex-direction:column;gap:4px;border-radius:0 0 var(--radius) var(--radius)}
.mega-feature-text small{opacity:.85;font-size:12px}
.mega-feature-text strong{font-family:var(--serif);font-size:21px}
.site-header .main-nav>.container{position:static}
.main-nav{position:relative}

/* ---------- Drawers / overlay / modal ---------- */
.overlay{position:fixed;inset:0;background:rgba(15,25,20,.45);z-index:180;opacity:0;transition:opacity .3s}
.overlay.show{opacity:1}
.drawer{position:fixed;top:0;bottom:0;width:min(420px,92vw);background:#fff;z-index:200;display:flex;flex-direction:column;transition:transform .45s var(--ease);box-shadow:var(--shadow-lg)} /* taste-skill-ignore: floats / table tabs */
.drawer-left{left:0;transform:translateX(-102%)}
.drawer-right{right:0;transform:translateX(102%)}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}
.drawer-head .drawer-title{margin:0;font-size:24px}
.drawer-head .site-logo img{width:180px}
.drawer-body{flex:1;overflow:auto;padding:16px 20px}
.mobile-menu .mega-nav{flex-direction:column}
.mobile-menu .mega-item{}
.mobile-menu .mega-top{padding:14px 4px;display:flex;justify-content:space-between}
.mobile-menu .mega-top::after{display:none}
.mobile-menu .has-mega>.mega-top::before{content:"+";order:2;font-size:20px;line-height:1;color:var(--muted);transition:transform .3s}
.mobile-menu .has-mega.open>.mega-top::before{transform:rotate(45deg)}
.mobile-menu .mega-panel{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;display:none;pointer-events:auto}
.mobile-menu .open>.mega-panel{display:block}
.mobile-menu .mega-inner{display:block;padding:0 0 12px}
.mobile-menu .mega-cols{grid-template-columns:1fr;max-height:none;gap:4px}
.mobile-menu .mega-col ul,.mobile-menu .mega-all,.mobile-menu .mega-feature{display:none}
.mobile-menu .mega-head{border:0;margin:0;padding:8px 0;font-weight:500}
/* mini cart */
.widget_shopping_cart_content .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.woocommerce-mini-cart-item{display:grid;grid-template-columns:70px 1fr;gap:4px 14px;padding:14px 0;position:relative;font-size:14px}
.woocommerce-mini-cart-item img{grid-row:span 2;width:70px;height:70px;object-fit:cover;border-radius:10px;background:var(--cream);float:none!important;margin:0!important}
.woocommerce-mini-cart-item a:not(.remove){font-weight:600;display:contents}
.woocommerce-mini-cart-item .quantity{color:var(--muted);font-size:13px}
.woocommerce-mini-cart-item .remove{position:absolute;right:0;top:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--muted)!important;font-size:16px}
.woocommerce-mini-cart__total{display:flex;justify-content:space-between;padding:16px 0;font-size:16px}
.woocommerce-mini-cart__buttons{display:grid;gap:10px}
.woocommerce-mini-cart__buttons .button{width:100%;padding:14px}
.woocommerce-mini-cart__buttons .checkout{background:var(--g900)!important;color:#fff!important}
.woocommerce-mini-cart__empty-message{text-align:center;color:var(--muted);padding:40px 0}
.modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s,transform .3s var(--ease),color .25s,background-color .25s,border-color .25s}
.modal.open{visibility:visible;opacity:1}
.modal-box{background:#fff;border-radius:20px;width:min(980px,100%);max-height:90vh;overflow:auto;position:relative;transform:scale(.94) translateY(20px);transition:transform .4s var(--ease);box-shadow:var(--shadow-lg)} /* taste-skill-ignore: floats / table tabs */
.modal.open .modal-box{transform:none}
.modal-close{position:absolute;right:12px;top:12px;z-index:2;background:#fff}
.modal-content{min-height:200px}
.modal-loading{display:grid;place-items:center;min-height:420px}
.spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:spin .8s linear infinite}
.qv{display:grid;grid-template-columns:1.05fr 1fr}
.qv-media{background:var(--cream);padding:24px;border-radius:20px 0 0 20px}
.qv-main{border-radius:14px;background:#fff;aspect-ratio:1}
.qv-main img{width:100%;height:100%;object-fit:contain}
.qv-thumbs{display:flex;gap:8px;margin-top:12px}
.qv-thumbs button{border:2px solid transparent;border-radius:10px;padding:0;overflow:hidden;width:64px;height:64px;background:#fff}
.qv-thumbs button.active{border-color:var(--brand)}
.qv-thumbs img{width:100%;height:100%;object-fit:cover}
.qv-info{padding:40px 36px}
.qv-cats{font-size:12px;color:var(--muted);margin-bottom:8px}
.qv-info h2{font-size:32px}
.qv-price{font-size:22px;font-weight:700;color:var(--g900);margin:8px 0}
.qv-stock{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:12px}
.qv-stock.in{background:#e3f1e6;color:var(--brand)}
.qv-stock.out{background:#f6e3e2;color:var(--sale)}
.qv-desc{color:var(--muted)}
.qv-attrs{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13.5px;margin:16px 0;padding:14px 0}
.qv-attrs dt{font-weight:700}.qv-attrs dd{margin:0;color:var(--muted)}
.qv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--cream);overflow:hidden}
.hero-track{position:relative;min-height:540px}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s var(--ease),visibility 1s}
.hero-slide.is-active{opacity:1;visibility:visible;position:relative}
.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:40px;min-height:540px;padding-top:30px;padding-bottom:50px}
.hero-text>*{opacity:0;transform:translateY(30px);transition:opacity .9s,visibility .9s,transform .9s var(--ease),color .25s,background-color .25s,border-color .25s}
.is-active .hero-text>*{opacity:1;transform:none}
.is-active .hero-text>*:nth-child(2){transition-delay:.12s}
.is-active .hero-text>*:nth-child(3){transition-delay:.24s}
.is-active .hero-text>*:nth-child(4){transition-delay:.36s}
.hero h1{font-size:clamp(42px,5.4vw,76px);line-height:1;margin-bottom:18px}
.hero p{font-size:17px;color:var(--muted);max-width:430px;margin:0 0 28px}
.hero-media{position:relative;height:100%;min-height:440px;display:grid;place-items:end center;padding-bottom:24px}
.hero-media img{position:relative;max-height:420px;max-width:92%;width:auto;object-fit:contain;mix-blend-mode:multiply;transform:scale(1.08);transition:transform 7s linear}
.is-active .hero-media img{transform:scale(1)}
.has-photo .hero-media{min-height:480px}
.has-photo .hero-media img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:24px;mix-blend-mode:normal}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:#fff;border:0;display:grid;place-items:center;z-index:5;color:var(--g900);transition:opacity .3s,visibility .3s,transform .3s var(--ease),color .25s,background-color .25s,border-color .25s}
.hero-arrow:hover{background:var(--g900);color:#fff;transform:translateY(-50%) scale(1.08)}
.hero-arrow.prev{left:20px}.hero-arrow.next{right:20px}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.hero-dots button{width:10px;height:10px;border-radius:10px;border:1.5px solid var(--g900);background:transparent;padding:0;transition:opacity .4s,visibility .4s,transform .4s var(--ease),color .25s,background-color .25s,border-color .25s}
.hero-dots button.active{background:var(--g900);width:30px}
.hero-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(27,52,38,.08)}
.hero-progress span{display:block;height:100%;width:0;background:var(--gold)}
.hero-progress span.run{animation:progress 6s linear forwards}

/* Marquee */
.marquee{background:var(--g900);color:#e8efe9;overflow:hidden;padding:14px 0;font-size:13.5px}

/* ---------- Sections ---------- */
.section{padding:64px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.section-head h2{font-size:clamp(30px,3.2vw,42px);margin:0}
.section-head p{margin:4px 0 0;color:var(--muted)}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--g900);border-bottom:1.5px solid currentColor;padding-bottom:2px}
.link-arrow .ico{width:16px;transition:transform .3s}
.link-arrow:hover .ico{transform:translateX(4px)}

/* Rooms */
.room-row{display:grid;grid-template-columns:repeat(8,1fr);gap:18px}

/* Collections */
.coll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* Tabs */
.tabs{display:flex;gap:6px;background:var(--cream);border-radius:999px;padding:5px}
.tab{border:0;background:transparent;padding:9px 18px;border-radius:999px;font-weight:600;font-size:13.5px;color:var(--muted);transition:opacity .3s,visibility .3s,transform .3s var(--ease),color .25s,background-color .25s,border-color .25s}
.tab.active{background:var(--g900);color:#fff}
.tab{white-space:nowrap;flex:1 0 auto}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:fadeUp .6s var(--ease)}
.slider{position:relative}
.slider-track{display:grid!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*20px)/4);gap:20px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 20px!important;margin:0!important}
.slider ul.products.slider-track{grid-template-columns:none!important}
.slider-track::-webkit-scrollbar{display:none}
.slider-track>li{scroll-snap-align:start}
.slider-btn{position:absolute;top:38%;z-index:3;width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:opacity .3s,visibility .3s,transform .3s var(--ease),color .25s,background-color .25s,border-color .25s;color:var(--g900)}
.slider-btn:hover{background:var(--g900);color:#fff}
.slider-btn.prev{left:-18px}.slider-btn.next{right:-18px}
.slider-btn[disabled]{opacity:0;pointer-events:none}

/* ---------- Product cards ---------- */
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product,ul.products li.card{width:auto!important;margin:0!important;float:none!important;padding:0!important}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s;position:relative}
.card:hover{transform:translateY(-6px);border-color:transparent}
.card-media{position:relative;background:var(--cream);aspect-ratio:1;overflow:hidden}
.card-img{display:block;width:100%;height:100%;position:relative}
.card-img img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain;padding:14px;mix-blend-mode:multiply;transition:transform 1s var(--ease),opacity .6s var(--ease);margin:0!important}
.card:hover .img-main{transform:scale(1.1)}
.card-img .img-alt{opacity:0;transform:scale(1.06)}
.card:hover .has-alt .img-main{opacity:0}
.card:hover .has-alt .img-alt{opacity:1;transform:scale(1)}
.badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:2}
.badge{font-size:10.5px;font-weight:800;padding:4px 9px;border-radius:6px;background:var(--g900);color:#fff;width:max-content}
.badge-sale{background:var(--sale)}
.badge-new{background:var(--gold);color:var(--g900)}
.badge-out{background:#fff;color:var(--muted)}
.wish-btn{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;background:#fff;border:0;display:grid;place-items:center;color:var(--g900);z-index:2;transition:opacity .3s,visibility .3s,transform .3s var(--ease),color .25s,background-color .25s,border-color .25s}
.wish-btn .ico{width:18px;height:18px;transition:transform .3s}
.wish-btn:hover .ico{transform:scale(1.15)}
.wish-btn.on{color:var(--sale)}
.wish-btn.on .ico{fill:currentColor;animation:heart .5s var(--ease)}
.card-actions{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;transform:translateY(130%);transition:transform .45s var(--ease)}
.card:hover .card-actions,.card:focus-within .card-actions{transform:none}
.qv-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:rgba(255,255,255,.95);padding:11px;border-radius:999px;font-weight:700;font-size:13px;color:var(--g900);transition:background .3s,color .3s}
.qv-btn .ico{width:17px}
.qv-btn:hover{background:var(--g900);color:#fff}
.card-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-body h3,.woocommerce-loop-product__title{font-family:var(--sans)!important;font-size:14.5px!important;font-weight:600!important;line-height:1.35!important;margin:0!important;padding:0!important;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.card-rating{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.card-price{font-weight:800;font-size:17px;color:var(--g900)}
.card-price del{font-weight:500;color:var(--muted);font-size:14px;margin-left:6px;order:2}
.card-price ins{text-decoration:none;color:var(--sale)}
.swatches{display:flex;gap:6px;align-items:center}
.sw{width:16px;height:16px;border-radius:50%}
.sw-more{font-size:11.5px;color:var(--muted);font-weight:600}
.card-cta{margin-top:auto;padding-top:8px}
.card-cta .button{width:100%;background:var(--cream)!important;color:var(--g900)!important;border-radius:999px!important;font-size:13px!important;padding:10px 14px!important}
.card-cta .button:hover{background:var(--g900)!important;color:#fff!important}
.card-cta .button.loading{opacity:.6}
.card-cta .added_to_cart{display:block;text-align:center;font-size:12.5px;font-weight:700;color:var(--brand);margin-top:6px}

/* ---------- Promo ---------- */
.promo{display:grid;grid-template-columns:1fr 1.3fr;border-radius:22px;overflow:hidden;background:var(--g900);color:#fff;min-height:340px;position:relative}
.promo-text{padding:52px 50px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;z-index:2}
.promo-text h2{color:#fff;font-size:clamp(38px,4.4vw,62px);margin:0 0 10px}
.promo-text p{opacity:.85;margin:0 0 24px;max-width:380px}
.promo-media{position:relative;background:var(--cream-2);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.promo-media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:20px}

/* Explore */
.explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.explore-card{position:relative;border-radius:var(--radius);aspect-ratio:16/11;background:var(--cream);display:block}
.explore-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.explore-card::after{content:"";position:absolute;inset:0;background:rgba(20,35,26,.55)}
.explore-card>span{position:absolute;left:18px;bottom:16px;z-index:2;color:#fff;display:flex;flex-direction:column}
.explore-card strong{font-family:var(--serif);font-size:24px}
.explore-card small{font-weight:600;opacity:.9;transition:transform .3s}
.explore-card:hover small{transform:translateX(5px)}

/* Why */
.why{background:var(--cream)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.why-item{text-align:center;padding:10px}
.why-item:hover .why-ico{background:var(--g900);color:var(--gold);transform:rotateY(180deg)}
.why-item:hover .why-ico .ico{transform:rotateY(180deg)}
.why-item strong{display:block;font-family:var(--serif);font-size:22px;color:var(--g900)}
.why-item p{margin:4px 0 0;color:var(--muted);font-size:14px}

/* Newsletter */
.newsletter{background:var(--cream);padding:48px 0;position:relative;overflow:hidden}
.newsletter-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.newsletter .news-title{font-size:clamp(28px,3vw,40px);margin:0}
.newsletter p{margin:4px 0 0;color:var(--muted)}
.news-form{display:flex;flex-wrap:wrap;gap:10px}
.news-form input{flex:1;min-width:220px;padding:14px 20px;border-radius:999px;border:1.5px solid transparent;background:#fff;font:inherit;outline:0;transition:border-color .2s}
.news-form input:focus{border-color:var(--brand)}
.news-msg{width:100%;color:var(--muted);font-size:12px}
.news-msg.ok{color:var(--brand);font-weight:700;font-size:14px}
.news-msg.err{color:var(--sale);font-weight:700}

/* Footer */
.site-footer{background:var(--g900);color:#cbd6cf;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:36px;padding-top:60px;padding-bottom:48px}
.footer-brand .site-logo img{width:270px;max-width:100%}
.footer-brand .socials{margin-top:22px}
.footer-brand p{margin:14px 0 18px;opacity:.8}
.socials{display:flex;gap:10px}
.socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:opacity .3s,visibility .3s,transform .3s var(--ease),color .25s,background-color .25s,border-color .25s}
.socials a:hover{background:var(--gold);border-color:var(--gold);color:var(--g900);transform:translateY(-3px)}
.socials .ico{width:17px}
.footer-col .fh{font-family:var(--sans);font-size:13px;font-weight:700;color:#fff;margin-bottom:16px}
.fcol-toggle{all:unset;display:flex;justify-content:space-between;align-items:center;width:100%;cursor:default}
.fcol-toggle span{display:none}
.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.footer-col a{color:#cbd6cf}
.footer-col a:hover{color:var(--gold)}
.footer-col li a{position:relative;transition:padding .3s,color .3s}
.footer-col li a:hover{padding-left:6px}
.help-list li{display:flex;gap:10px;align-items:center}
.help-list .ico{width:18px;color:var(--gold)}
.footer-help .btn{margin-top:16px;color:var(--g900)!important}
.footer-help .btn:hover{background:var(--gold);color:var(--g900)!important}
.footer-bottom{padding:18px 0;font-size:13px}
.footer-bottom .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.secure-note{display:inline-flex;gap:8px;align-items:center}
.secure-note .ico{width:16px;color:var(--gold)}
.to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;border:0;background:var(--g900);color:#fff;display:grid;place-items:center;z-index:90;opacity:0;transform:translateY(20px);transition:opacity .4s,visibility .4s,transform .4s var(--ease),color .25s,background-color .25s,border-color .25s;box-shadow:var(--shadow)} /* taste-skill-ignore: floats / table tabs */
.to-top.show{opacity:1;transform:none}
.to-top:hover{background:var(--gold);color:var(--g900)}

/* ---------- Page hero / generic pages ---------- */
.page-hero{background:var(--cream);padding:56px 0 46px;text-align:center;position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(36px,4.5vw,56px);margin:0;position:relative;z-index:1;animation:fadeUp .8s var(--ease)}
.page-hero p{color:var(--muted);margin:6px 0 0;position:relative;z-index:1}
.page-content .entry{max-width:860px;margin:0 auto;font-size:16px}
.page-content.wc-page .entry{max-width:none}
.entry h2{font-size:32px;margin-top:1.2em}
.entry details{border-radius:12px;padding:16px 20px;margin-bottom:12px;background:#fff}
.entry summary{font-weight:700;cursor:pointer}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post-card{border-radius:var(--radius);overflow:hidden}
.post-thumb{display:block;aspect-ratio:16/10;background:var(--cream)}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-body{padding:18px}
.post-body h2{font-size:24px}
.post-date{font-size:12px;color:var(--muted)}
.notfound{text-align:center;padding:100px 0}
.nf-code{font-family:var(--serif);font-size:140px;line-height:1;color:var(--sand);display:block}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}
.contact-info ul{list-style:none;padding:0;display:grid;gap:12px}
.contact-info li{display:flex;gap:10px;align-items:center}
.contact-info .ico{color:var(--brand)}
.contact-form{display:grid;gap:14px;background:var(--cream);padding:28px;border-radius:var(--radius)}
.contact-form label{display:grid;gap:6px;font-weight:600;font-size:14px}
.contact-form input,.contact-form textarea,.woocommerce form .input-text,.woocommerce select{padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff;outline:0}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--brand)}
.form-ok{background:#e3f1e6;color:var(--brand);padding:12px;border-radius:10px;font-weight:700}
.form-err{background:#f6e3e2;color:var(--sale);padding:12px;border-radius:10px;font-weight:700}
.wishlist-page ul.products{margin-top:10px}
.wishlist-empty{text-align:center;color:var(--muted);padding:40px 0}

/* ---------- Shop archive ---------- */
.archive-hero{background:var(--cream);overflow:hidden}
.archive-hero-inner{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:30px;min-height:240px;padding-top:26px;padding-bottom:26px}
.archive-hero h1{font-size:clamp(36px,4.2vw,58px);margin:6px 0 8px;animation:fadeUp .8s var(--ease)}
.archive-desc{color:var(--muted);max-width:560px}
.archive-desc p{margin:0}
.archive-hero-img{height:220px;border-radius:var(--radius);display:grid;place-items:center}
.archive-hero-img img{max-height:220px;width:auto;mix-blend-mode:multiply;animation:floatIn 1s var(--ease)}
.crumbs{font-size:12.5px;color:var(--muted)}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--brand)}
.crumbs .sep{margin:0 8px;opacity:.5}
.crumbs-wrap{padding-top:20px;padding-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{padding:7px 14px;border-radius:999px;background:#fff;font-size:13px;font-weight:600;transition:opacity .25s,visibility .25s,transform .25s var(--ease),color .25s,background-color .25s,border-color .25s}
.chip:hover,.chip.active{background:var(--g900);color:#fff;border-color:var(--g900)}
.shop-layout{padding-top:34px;padding-bottom:60px}
.shop-layout.has-sidebar{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start}
.shop-layout.has-sidebar .shop-content{order:2;min-width:0}
.shop-layout.has-sidebar .shop-sidebar{order:1}
.shop-layout.has-sidebar ul.products{grid-template-columns:repeat(3,1fr)}
.shop-sidebar{position:sticky;top:150px;max-height:calc(100vh - 170px);overflow:auto;padding-right:6px;scrollbar-width:thin}
.sidebar-head{display:none}
.filter-block{padding:0 0 18px;margin-bottom:18px}
.filter-block .side-h{font-family:var(--sans);font-size:13px;font-weight:800;color:var(--g900);margin-bottom:12px}
.cat-tree,.cat-tree ul,.filter-block .widget ul{list-style:none;margin:0;padding:0}
.cat-tree a,.filter-block .widget li a{display:flex;justify-content:space-between;padding:5px 0;font-size:14px;color:var(--ink)}
.cat-tree a span,.filter-block .count{font-size:11.5px;color:var(--muted);background:var(--cream);border-radius:20px;padding:0 8px;align-self:center}
.cat-tree ul{padding-left:12px;border-left:2px solid var(--line);margin:4px 0 8px}
.cat-tree ul a{font-size:13.5px;color:var(--muted)}
.cat-tree .current>a,.cat-tree .open>a{color:var(--brand);font-weight:700}
.filter-block .widget li{display:flex;justify-content:space-between;align-items:center}
.filter-block .widget li.chosen a{color:var(--brand);font-weight:700}
.filter-block .widget li.chosen a{background:var(--cream);border-radius:8px;padding-left:8px;padding-right:8px}
.filter-block .widget ul{max-height:220px;overflow:auto}
.price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.price-inputs label{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:10px;padding:0 10px;background:#fff}
.price-inputs span{color:var(--muted)}
.price-inputs input{border:0;outline:0;width:100%;padding:9px 6px;font:inherit}
.price-quick{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.price-quick a{font-size:12px;padding:4px 10px;border-radius:20px;background:var(--cream);font-weight:600}
.price-quick a:hover{background:var(--g900);color:#fff}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.shop-toolbar .woocommerce-result-count{margin:0;color:var(--muted);font-size:14px;float:none}
.shop-toolbar .woocommerce-ordering{margin:0;float:none}
.shop-toolbar select{padding:10px 36px 10px 16px;border-radius:999px;border:1.5px solid var(--line);font:inherit;font-size:14px;background:#fff}
.filter-toggle{display:none}
.woocommerce-pagination{margin-top:40px;text-align:center}
.woocommerce-pagination ul.page-numbers{display:inline-flex!important;gap:6px;border:0!important;list-style:none;padding:0}
.woocommerce-pagination ul.page-numbers li{border:0!important}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{display:grid!important;place-items:center;min-width:42px;height:42px;border-radius:50%;font-weight:700;background:var(--cream);padding:0 6px!important}
.woocommerce-pagination .page-numbers .current,.woocommerce-pagination .page-numbers a:hover{background:var(--g900)!important;color:#fff!important}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-radius:12px;border-top-color:var(--brand)!important;background:var(--cream)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--brand)!important}

/* ---------- Single product ---------- */
.single-product .shop-layout{padding-top:10px}
.single-product div.product{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;position:relative}
.single-product div.product .woocommerce-product-gallery,.single-product div.product .summary{width:100%!important;float:none!important;margin:0!important}
.single-product div.product>.badges{display:none}
.single-product div.product>*{min-width:0;max-width:100%}
.woocommerce-product-gallery{overflow:hidden;max-width:100%}
.woocommerce-product-gallery .flex-viewport{max-width:100%}
.summary .product_title{overflow-wrap:anywhere}
html,body{max-width:100%;overflow-x:clip}
.woocommerce-product-gallery{background:var(--cream);border-radius:20px;padding:20px;position:relative}
.woocommerce-product-gallery__image img{mix-blend-mode:multiply;border-radius:12px}
.woocommerce-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px!important;padding:0;list-style:none}
.woocommerce-product-gallery .flex-control-thumbs li{width:auto!important;margin:0!important}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:10px;opacity:.55;transition:opacity .3s,transform .3s;background:#fff;border:2px solid transparent}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--brand)}
.woocommerce-product-gallery__trigger{top:30px!important;right:30px!important;background:#fff!important;border-radius:50%!important;width:42px!important;height:42px!important}
.summary .product_title{font-size:clamp(32px,3.4vw,46px);margin-bottom:10px}
.summary .price{font-size:28px!important;font-weight:800;color:var(--g900)!important;margin:6px 0 16px!important;display:block}
.summary .price del{color:var(--muted);font-size:20px;font-weight:500}
.summary .price ins{text-decoration:none;color:var(--sale)}
.summary .woocommerce-product-details__short-description{color:var(--muted);font-size:15.5px}
.summary .stock{font-weight:700;display:inline-block;padding:4px 12px;border-radius:20px;font-size:13px}
.summary .stock.in-stock{background:#e3f1e6;color:var(--brand)!important}
.summary .stock.out-of-stock{background:#f6e3e2;color:var(--sale)!important}
.summary form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0!important}
.summary form.cart .quantity input{width:84px;height:50px;border-radius:999px;border:1.5px solid var(--line);text-align:center;font:inherit;font-weight:700}
.summary .single_add_to_cart_button{height:50px;padding:0 40px!important;border-radius:999px!important;flex:1;max-width:340px;font-size:15px!important}
.summary table.variations{width:100%;margin-bottom:10px}
.summary table.variations th,.summary table.variations td{display:block;text-align:left;padding:4px 0}
.summary table.variations select{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);font:inherit}
.summary .woocommerce-variation-add-to-cart{display:flex;gap:12px;width:100%;flex-wrap:wrap}
.summary .reset_variations{font-size:13px}
.single-extras{margin:10px 0 20px}
.wish-inline{position:static;width:auto;height:auto;border-radius:999px;padding:10px 18px;gap:8px;display:inline-flex;border:1.5px solid var(--line);font-weight:600;font-size:14px}
.trust-list{list-style:none;padding:18px;margin:18px 0 0;display:grid;gap:12px;background:var(--cream);border-radius:var(--radius)}
.trust-list li{display:flex;gap:12px;align-items:center;font-size:14px}
.trust-list .ico{color:var(--brand)}
.product_meta{font-size:13px;color:var(--muted);display:grid;gap:4px;padding-top:16px}
.woocommerce-tabs{grid-column:1/-1;margin-top:30px}
.woocommerce-tabs ul.tabs{display:flex!important;gap:4px;padding:0!important;margin:0 0 24px!important;border-bottom:1px solid var(--line);overflow-x:auto} /* taste-skill-ignore: floats / table tabs */
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;margin:0!important;padding:0!important;border-radius:0!important}
.woocommerce-tabs ul.tabs li a{display:block;padding:14px 20px!important;font-weight:700!important;color:var(--muted)!important;border-bottom:2px solid transparent;white-space:nowrap}
.woocommerce-tabs ul.tabs li.active a{color:var(--g900)!important;border-color:var(--g900)}
.woocommerce-tabs .panel{max-width:900px;animation:fadeUp .5s var(--ease)}
.woocommerce-tabs .panel>h2:first-child{display:none}
.woocommerce-product-attributes{width:100%;border-collapse:collapse;border:0!important}
.woocommerce-product-attributes th,.woocommerce-product-attributes td{padding:12px 16px!important;border-bottom:1px solid var(--line);text-align:left;font-style:normal!important}
.woocommerce-product-attributes tr:nth-child(odd){background:var(--cream)}
.related,.upsells{grid-column:1/-1;margin-top:40px}
.related>h2,.upsells>h2{font-size:36px;margin-bottom:22px}
.related ul.products,.upsells ul.products{grid-template-columns:repeat(4,1fr)!important}
.sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:95;background:#fff;box-shadow:0 -10px 30px -18px rgba(0,0,0,.3);transform:translateY(110%);transition:transform .45s var(--ease)} /* taste-skill-ignore: floats */
.sticky-atc.show{transform:none}
.sticky-atc-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}
.sticky-atc-prod{display:flex;align-items:center;gap:12px;min-width:0}
.sticky-atc-prod img{width:52px;height:52px;object-fit:cover;border-radius:8px;background:var(--cream)}
.sticky-atc-prod strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.sticky-atc-prod span{font-weight:800;color:var(--g900)}
.star-rating span::before,.star-rating::before{color:var(--gold)}

/* Cart / checkout (blocks + classic) */
.wc-block-cart,.wc-block-checkout{font-family:var(--sans)}
.wc-block-components-product-name{font-weight:700!important;color:var(--g900)!important}
.woocommerce table.shop_table{border-radius:var(--radius)!important;border-color:var(--line)!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:grid;gap:4px}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border-radius:10px;background:var(--cream);font-weight:600}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--g900);color:#fff}

/* Variation swatch buttons */
.summary table.variations select.has-swatches{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.summary table.variations th label{font-weight:700;font-size:14px}
.var-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.var-sw{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font-weight:600;font-size:13.5px;color:var(--g900);transition:opacity .2s,visibility .2s,transform .2s var(--ease),color .25s,background-color .25s,border-color .25s}
.var-sw:hover{border-color:var(--g900)}
.var-sw.on{background:var(--g900);border-color:var(--g900);color:#fff}
.var-sw:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}

/* WordPress admin bar (logged-in only) */
.admin-bar .site-header{top:32px}
.admin-bar .drawer,.admin-bar .shop-sidebar.open{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .drawer,.admin-bar .shop-sidebar.open{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}

/* ---------- Keyframes ---------- */
@keyframes progress{to{width:100%}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes floatIn{from{opacity:0;transform:translateX(40px) scale(.95)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bump{50%{transform:scale(1.4)}}
@keyframes heart{30%{transform:scale(1.35)}60%{transform:scale(.9)}}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .mega-top{padding:14px 10px;font-size:13.5px}
  .mega-top::after{left:10px;right:10px}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:1024px){
  .main-nav{display:none}
  .menu-toggle{display:grid}
  .header-main{gap:12px}
  .site-logo img{width:200px}
  .scrolled .site-logo img{width:180px}
  .search-form{display:none;position:absolute;left:16px;right:16px;top:100%;max-width:none;margin-top:8px;box-shadow:var(--shadow-lg);background:#fff} /* taste-skill-ignore: floats */
  .search-form.open{display:flex;animation:pop .3s var(--ease)}
  .search-toggle{display:grid}
  .header-actions{gap:8px}
  .hdr-link span:not(.cart-count){display:none}
  .shop-layout.has-sidebar{grid-template-columns:1fr}
  .shop-sidebar{position:fixed;top:0;bottom:0;left:0;width:min(340px,88vw);max-height:none;background:#fff;z-index:210;padding:20px;transform:translateX(-105%);transition:transform .45s var(--ease);box-shadow:var(--shadow-lg)} /* taste-skill-ignore: floats */
  .shop-sidebar.open{transform:none}
  .sidebar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
  .sidebar-head .side-h{margin:0;font-size:26px}
  .filter-toggle{display:inline-flex}
  .filter-toggle .ico{width:18px}
  ul.products,.shop-layout.has-sidebar ul.products,.related ul.products,.upsells ul.products{grid-template-columns:repeat(3,1fr)!important}
  .slider-track{grid-auto-columns:calc((100% - 2*20px)/3)}
  .single-product div.product{grid-template-columns:1fr;gap:30px}
  .mega-inner{grid-template-columns:1fr}
  .qv{grid-template-columns:1fr}
  .qv-media{border-radius:20px 20px 0 0}
}
@media (max-width:768px){
  body{font-size:14.5px}
  .container{padding:0 16px}
  .topbar-inner{justify-content:center}
  .topbar .tb-mid,.topbar .tb-end{display:none}
  .hero{background:var(--cream)}
  .hero-track,.hero-grid{min-height:0}
  .hero-grid{grid-template-columns:1fr;gap:0;padding-top:20px;padding-bottom:64px;text-align:center}
  .hero-text{order:2}
  .hero p{margin-left:auto;margin-right:auto}
  .hero-media{min-height:260px}
  .hero-media img{max-height:260px}
  .hero-arrow{display:none}
  .section{padding:44px 0}
  ul.products,.shop-layout.has-sidebar ul.products,.related ul.products,.upsells ul.products{grid-template-columns:repeat(2,1fr)!important;gap:16px 12px}
  .slider-track{grid-auto-columns:calc((100% - 12px)/2);gap:12px!important}
  .slider-btn{display:none}
  .card-actions{display:none}
  .card-body{padding:12px}
  .card-price{font-size:15px}
  .promo{grid-template-columns:1fr}
  .promo-text{padding:36px 26px}
  .promo-media{clip-path:none;min-height:220px}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .newsletter-inner{grid-template-columns:1fr;gap:20px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .archive-hero-inner{grid-template-columns:1fr}
  .archive-hero-img{display:none}
  .post-grid,.contact-grid{grid-template-columns:1fr}
  .tabs{width:100%;overflow-x:auto}
  .tab{padding:9px 12px;font-size:13px}
  .sticky-atc-prod img{display:none}
  .to-top{bottom:84px}
}
@media (max-width:480px){
  .site-logo img,.scrolled .site-logo img{width:150px}
  .footer-grid{grid-template-columns:1fr}
}

/* =========================================================
   Mobile refinement (phones & small tablets)
   ========================================================= */
.drawer-links{margin-top:18px;padding-top:14px;display:grid;gap:4px}
.drawer-links a{display:flex;align-items:center;gap:12px;padding:11px 4px;font-weight:600;font-size:15px;color:var(--g900)}
.drawer-links .ico{width:20px;height:20px;color:var(--brand)}
.mobile-bar{display:none}

@media (max-width:768px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  /* header: menu · logo (centred) · basket */
  .topbar{font-size:12px}
  .topbar-inner{min-height:32px}
  .header-main{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:4px;padding-top:8px;padding-bottom:8px}
  .site-logo{justify-self:center}
  .site-logo img,.scrolled .site-logo img{width:170px}
  .header-actions{gap:0;justify-content:flex-end}
  .header-actions .search-toggle,.header-actions .hdr-account,.header-actions .hdr-wish{display:none}
  .hdr-link .ico{width:24px;height:24px}
  .search-form{left:12px;right:12px}

  /* app-style bottom bar */
  .mobile-bar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:150;background:#fff;padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px -18px rgba(0,0,0,.35)} /* taste-skill-ignore: floats */
  .mobile-bar a,.mobile-bar button{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font:600 10.5px/1.1 var(--sans);color:var(--muted);position:relative;padding:4px 0;-webkit-tap-highlight-color:transparent}
  .mobile-bar .ico{width:22px;height:22px;color:var(--g900)}
  .mobile-bar .on,.mobile-bar .on .ico{color:var(--brand)}
  .mobile-bar .cart-count,.mobile-bar .wish-count{top:-2px;right:calc(50% - 20px)}
  .to-top{bottom:84px;right:14px;width:42px;height:42px}

  /* hero: image card on top, text underneath — never overlapping */
  .hero{background:var(--cream)}
  .hero-track{min-height:0}
  .hero-slide{position:absolute;inset:0 0 auto 0}
  .hero-slide.is-active{position:relative}
  .hero-grid{display:flex;flex-direction:column;gap:0;min-height:0;padding:16px 16px 58px;text-align:center}
  .hero-media{order:1;width:100%;min-height:0;height:auto;aspect-ratio:4/3;padding:0;place-items:center;border-radius:20px;background:var(--cream);overflow:hidden}
  .hero-media img{max-height:none;max-width:none;width:100%;height:100%;object-fit:contain;padding:14px;transform:none!important}
  .has-photo .hero-media img{padding:0;object-fit:cover}
  .hero-text{order:2;position:relative;z-index:2;padding-top:22px}
  .hero h1{font-size:34px;line-height:1.05;margin-bottom:10px}
  .hero p{font-size:15px;margin:0 auto 18px;max-width:320px}
  .hero .btn-lg{padding:13px 24px;font-size:14px}
  .hero-dots{bottom:22px}

  /* sections */
  .section{padding:40px 0}
  .section-head{margin-bottom:18px;align-items:flex-end}
  .section-head h2{font-size:28px}
  .section-head p{font-size:14px}
  .link-arrow{font-size:13px}

  /* rooms: swipeable strip */
  .room-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:16px;margin:0 -16px;padding:4px 16px 8px;scrollbar-width:none}

  /* collections: swipeable cards */
  .coll-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:16px;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none}

  /* product cards */
  .tabs{padding:4px}
  .card{border-radius:12px}
  .card:hover{transform:none}
  .card-img img{padding:10px}
  .card-body{padding:10px 10px 12px;gap:4px}
  .card-body h3,.woocommerce-loop-product__title{font-size:13px!important;min-height:2.7em}
  .card-price{font-size:15px}
  .wish-btn{width:32px;height:32px;top:8px;right:8px}
  .wish-btn .ico{width:16px;height:16px}
  .badges{top:8px;left:8px}
  .badge{font-size:9.5px;padding:3px 7px}
  .card-cta .button{font-size:12px!important;padding:9px 8px!important}
  .sw{width:13px;height:13px}

  /* promo, explore, why */
  .promo{border-radius:18px}
  .promo-text{padding:28px 22px;text-align:left}
  .promo-text h2{font-size:34px}
  .promo-media{min-height:200px;order:-1}
  .explore-grid{grid-template-columns:1fr 1fr;gap:12px}
  .explore-card{aspect-ratio:1}
  .explore-card strong{font-size:19px}
  .explore-card small{font-size:11.5px}
  .why-grid{grid-template-columns:1fr 1fr;gap:12px}
  .why-item{background:#fff;border-radius:14px;padding:16px 10px}
  .why-item strong{font-size:18px}
  .why-item p{font-size:12.5px}

  /* newsletter */
  .newsletter{padding:34px 0;text-align:center}
  .newsletter .news-title{font-size:26px}
  .news-form{flex-direction:column}
  .news-form input{min-width:0;width:100%}
  .news-form .btn{width:100%;padding:14px}

  /* footer: centred brand, accordion columns */
  .footer-grid{grid-template-columns:1fr!important;gap:0;padding-top:40px;padding-bottom:12px}
  .footer-brand{text-align:center;padding-bottom:26px}
  .footer-brand .site-logo{display:inline-block}
  .footer-brand .site-logo img{width:240px}
  .footer-brand .socials{justify-content:center}
  .footer-col{}
  .footer-col .fh{margin:0}
  .fcol-toggle{cursor:pointer;padding:17px 0}
  .fcol-toggle span{display:block;width:12px;height:12px;position:relative}
  .fcol-toggle span::before,.fcol-toggle span::after{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:var(--gold);transition:transform .3s var(--ease)}
  .fcol-toggle span::after{transform:rotate(90deg)}
  .footer-col.open .fcol-toggle span::after{transform:rotate(0)}
  .footer-col ul{max-height:0;overflow:hidden;transition:max-height .45s var(--ease),padding .3s;gap:12px}
  .footer-col.open ul{max-height:640px;padding-bottom:18px}
  .footer-help{border-bottom:0;padding:22px 0 8px;text-align:center}
  .footer-help h4{margin-bottom:12px}
  .footer-help .help-list{justify-items:center}
  .footer-bottom .container{justify-content:center;text-align:center;font-size:12px}

  /* shop pages */
  .archive-hero-inner{min-height:0;padding-top:18px;padding-bottom:20px}
  .archive-hero h1{font-size:34px}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:14px -16px 0;padding:0 16px 4px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto}
  .shop-layout{padding-top:18px}
  .shop-toolbar{position:sticky;top:64px;z-index:20;background:#fff;margin:0 -16px 14px;padding:10px 16px}
  .shop-toolbar .woocommerce-result-count{display:none}
  .shop-toolbar .woocommerce-ordering{flex:1}
  .shop-toolbar select{width:100%;padding:10px 14px}

  /* product page */
  .summary .product_title{font-size:30px}
  .summary .price{font-size:24px!important}
  .summary form.cart{gap:10px}
  .summary .single_add_to_cart_button{max-width:none;flex:1 1 auto}
  .summary .woocommerce-variation-add-to-cart{flex-wrap:nowrap}
  .summary form.cart .quantity input{width:72px}
  .woocommerce-tabs ul.tabs li a{padding:12px 14px!important;font-size:14px}
  .sticky-atc{bottom:calc(60px + env(safe-area-inset-bottom))}
  .page-hero{padding:38px 0 30px}
}
@media (max-width:380px){
  .site-logo img,.scrolled .site-logo img{width:150px}
  .hero h1{font-size:30px}
}

/* =========================================================
   Design refinement v2 (taste-skill review)
   Flat surfaces, tone instead of lines, one type scale.
   ========================================================= */
:root{--muted:#4f5a53;--step-s:13px;--step-b:16px;--step-card:16px;--step-h2:clamp(32px,3.6vw,48px);--step-d:clamp(44px,5.2vw,78px)}
body{font-size:var(--step-b);line-height:1.6}
:focus-visible{outline:3px solid var(--g900);outline-offset:3px}
.site-footer :focus-visible,.topbar :focus-visible,.promo :focus-visible,.hero-dots :focus-visible{outline-color:var(--gold)}
.icon-btn{width:44px;height:44px}
.var-sw{min-height:44px}

/* header: one tone step instead of rules */
.topbar-inner{justify-content:center;gap:44px}
.topbar{font-size:var(--step-s)}
.main-nav{background:var(--cream)}
.mega-title{padding-bottom:0}
.mega-head{padding-bottom:6px}

/* hero: type leads, one big picture */
.hero{background:var(--cream)}
.hero-track{min-height:620px}
.hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:56px;min-height:620px;padding-top:40px;padding-bottom:70px}
.hero h1{font-size:var(--step-d);line-height:.98;letter-spacing:-.03em;margin-bottom:22px}
.hero p{font-size:19px;color:var(--ink);max-width:460px;margin-bottom:32px}
.hero-media{background:var(--cream-2);min-height:520px;border-radius:0;padding:0;place-items:center}
.hero-media img{max-height:none;max-width:none;width:100%;height:100%;object-fit:contain;padding:36px;position:absolute;inset:0;transform:scale(1.06)}
.has-photo .hero-media img{padding:0;object-fit:cover;border-radius:0}
.hero-arrow{box-shadow:none;background:#fff}
.hero-dots button{border-color:var(--g900)}
.hero-progress{background:transparent}

/* sections */
.section{padding:96px 0}
.section-head h2{font-size:var(--step-h2);letter-spacing:-.02em}
.section-head p{color:var(--muted);font-size:17px}
.link-arrow{border-bottom:2px solid currentColor}

/* rooms: list leads, picture follows */
.rooms-wide{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:stretch}
.rooms-pic{position:relative;min-height:540px;background:var(--cream-2);overflow:hidden}
.rooms-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:32px;mix-blend-mode:multiply;opacity:0;transform:scale(1.04);transition:opacity .5s var(--ease),transform .9s var(--ease)}
.rooms-pic img.is-on{opacity:1;transform:none}
.rooms-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center}
.room{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;font-family:var(--serif);font-size:clamp(28px,3vw,40px);font-weight:600;color:var(--g900);line-height:1.1;transition:padding .35s var(--ease),background-color .25s,color .25s}
.room .ico{width:26px;height:26px;opacity:0;transform:translateX(-8px);transition:opacity .25s,transform .35s var(--ease);color:var(--brand)}
.room:hover,.room:focus-visible,.room.is-on{background:var(--cream);padding-left:20px;padding-right:20px;color:var(--brand)}
.room:hover .ico,.room:focus-visible .ico,.room.is-on .ico{opacity:1;transform:none}
.room-thumb{display:none}

/* collections: alternating bands */
.coll-list{display:grid;gap:36px}
.coll-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}
.coll-row:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.coll-row:nth-child(even) .coll-pic{order:2}
.coll-pic{display:block;aspect-ratio:16/9;background:var(--cream-2);overflow:hidden;position:relative}
.coll-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:28px;mix-blend-mode:multiply}
.coll-copy{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.coll-copy strong{font-family:var(--serif);font-size:clamp(34px,4vw,56px);line-height:1;color:var(--g900);letter-spacing:-.02em}
.coll-copy small{font-size:18px;color:var(--ink);max-width:380px}
.coll-copy em{font-style:normal;font-weight:700;font-size:var(--step-b);color:var(--brand);display:inline-flex;gap:8px;align-items:center;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.coll-copy .ico{width:18px}
.coll-row:hover .coll-copy em .ico{transform:translateX(5px)}
.coll-copy em .ico{transition:transform .3s var(--ease)}

/* colour picker strip */
.finish{background:var(--cream)}
.finish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.finish-card{display:flex;flex-direction:column;gap:14px}
.finish-pic{display:block;aspect-ratio:1;background:#fff;position:relative;overflow:hidden}
.finish-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:18px;mix-blend-mode:multiply;transition:opacity .25s,transform .9s var(--ease)}
.finish-card:hover .finish-pic img{transform:scale(1.06)}
.finish-pic img.swap{opacity:0}
.finish-title{font-weight:700;font-size:var(--step-card);line-height:1.35;color:var(--ink)}
.finish-dots{display:flex;flex-wrap:wrap;gap:4px;margin-left:-6px}
.finish-dot{width:44px;height:44px;border:0;background:transparent;padding:0;display:grid;place-items:center;border-radius:50%}
.finish-dot i{width:24px;height:24px;border-radius:50%;display:block;border:2px solid #fff;outline:1px solid rgba(0,0,0,.18)}
.finish-dot.on i{outline:3px solid var(--g900);outline-offset:1px}
.finish-name{font-size:var(--step-s);color:var(--muted);min-height:1.4em}
.finish-price{font-weight:800;font-size:18px;color:var(--g900)}

/* cards */
.card{background:#fff;border-radius:0}
.card:hover{transform:none}
.card-media{border-radius:0}
.card-body h3,.woocommerce-loop-product__title{font-size:var(--step-card)!important}
.card-price{font-size:18px}
.badge{font-size:var(--step-s);font-weight:700;padding:4px 12px;border-radius:999px;text-transform:none;letter-spacing:0}
.badge-out{background:#fff;color:var(--muted)}
.wish-btn{box-shadow:none}
.qv-btn{background:#fff}
.tab{font-size:var(--step-b)}
.tabs{background:var(--cream-2)}
.slider-btn{box-shadow:none;background:var(--cream)}
.sw{border-color:rgba(0,0,0,.18)}

/* promo / explore */
.promo{border-radius:0}
.promo-text h2{letter-spacing:-.02em}
.explore-card{border-radius:0}
.explore-card::after{content:"";position:absolute;inset:0;background:rgba(20,35,26,.45)}

/* why us: one flat band of plain facts */
.why{background:var(--cream-2);padding:72px 0}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px}
.why-item{text-align:left;padding:0}
.why-item strong{font-size:clamp(26px,2.4vw,34px);line-height:1.1;margin-bottom:8px}
.why-item p{font-size:var(--step-b);color:var(--ink);margin:0}

/* newsletter */
.newsletter{background:var(--sand)}
.news-form input{border-radius:0}

/* footer: the name returns at full width */
.site-footer{font-size:var(--step-b)}
.footer-col .fh{font-size:var(--step-b);letter-spacing:0;text-transform:none}
.footer-col a{color:#e3ebe5}
.footer-bottom{background:rgba(0,0,0,.18)}
.footer-mark{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(44px,10.6vw,160px);line-height:.9;letter-spacing:-.04em;color:var(--g700);white-space:nowrap;overflow:hidden;padding:0 24px 28px;text-align:center;user-select:none}
.socials a{background:rgba(255,255,255,.1)}

/* shop chrome */
.chip{background:var(--cream)}
.chip:hover,.chip.active{background:var(--g900)}
.crumbs{font-size:var(--step-s)}
.filter-block{padding-bottom:20px;margin-bottom:22px;background:transparent}
.filter-block .side-h{font-size:var(--step-b);letter-spacing:0;text-transform:none}
.post-card,.entry details{background:var(--cream)}

@media (max-width:1024px){
  .rooms-wide{grid-template-columns:1fr;gap:0}
  .rooms-pic{display:none}
  .room{font-size:26px;gap:14px;justify-content:flex-start;padding:10px 0}
  .room .ico{margin-left:auto;opacity:1;transform:none}
  .room-thumb{display:block;width:64px;height:64px;object-fit:contain;background:var(--cream-2);mix-blend-mode:multiply;flex:none}
  .coll-row,.coll-row:nth-child(even){grid-template-columns:1fr;gap:20px}
  .coll-row:nth-child(even) .coll-pic{order:0}
  .finish-grid{grid-template-columns:repeat(2,1fr)}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:0}
}
@media (max-width:768px){
  body{font-size:var(--step-b)}
  .section{padding:56px 0}
  .hero-track{min-height:0}
  .hero-media{min-height:0;aspect-ratio:4/3;background:var(--cream-2);position:relative}
  .hero-media img{padding:14px;transform:none!important}
  .hero h1{font-size:38px;line-height:1.02}
  .hero p{font-size:16px;color:var(--ink);max-width:340px}
  .section-head h2{font-size:32px}
  .coll-list{gap:32px}
  .coll-pic{aspect-ratio:16/10}
  .coll-copy strong{font-size:34px}
  .coll-copy small{font-size:16px}
  .why{padding:48px 0}
  .why-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .why-item{background:transparent;border-radius:0;padding:0}
  .why-item strong{font-size:22px}
  .why-item p{font-size:14.5px}
  .finish-grid{gap:20px 14px}
  .footer-mark{font-size:11.4vw;padding:8px 16px 18px}
  .footer-brand{border-bottom:0}
  .footer-col{border-bottom:0;background:rgba(255,255,255,.05);margin-bottom:8px;padding:0 16px}
  .footer-help{background:transparent;padding:22px 0 8px}
  .badge{font-size:12px;padding:3px 9px}
  .card-body h3,.woocommerce-loop-product__title{font-size:14.5px!important}
  .shop-toolbar{border-bottom:0;background:var(--cream);padding:10px 16px}
  .drawer-links{border-top:0;background:var(--cream);padding:10px 12px;margin-top:20px}
  .mobile-bar .on{background:transparent}
}

.hero-media img.hero-room{object-position:72% 50%}
@media (max-width:1024px){.hero-media img.hero-room{object-position:50% 50%}}
@media (max-width:1024px){.has-photo .hero-media{min-height:0;aspect-ratio:4/3}}

/* real room photographs (dropped into assets/img/) fill their frames */
img.is-photo{object-fit:cover!important;padding:0!important;mix-blend-mode:normal!important}
.room-thumb.is-photo{width:64px;height:64px}

/* =========================================================
   Homepage v3 — layout from the supplied mockup
   ========================================================= */
.topbar-inner{justify-content:space-between;gap:16px}
.hsec{padding:34px 0}
.hsec .section-head{margin-bottom:18px;align-items:flex-end}
.hsec .section-head h2{font-size:clamp(26px,2.4vw,34px);letter-spacing:-.01em}
.inline-head>div{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.inline-head>div p{margin:0;font-size:14px}
.link-arrow{font-size:14px;border-bottom-width:1.5px}

/* hero: full-bleed photo, text on the left */
.hv3{background:var(--cream)}
.hv3 .hero-track,.hv3 .hero-grid{min-height:520px}
.hv3 .hero-slide{overflow:hidden}
.hv3 .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%;transform:scale(1.04);transition:transform 7s linear}
.hv3 .is-active .hero-bg{transform:none}
.hv3 .has-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(247,243,236,.92) 0%,rgba(247,243,236,.72) 30%,rgba(247,243,236,0) 55%)}
.hv3 .hero-grid{position:relative;z-index:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-top:40px;padding-bottom:60px}
.hv3 .has-photo .hero-grid{grid-template-columns:minmax(0,520px) 1fr}
.hv3 .hero-text h1,.hv3 .hero-text .h1{font-family:var(--serif);font-weight:600;color:var(--g900);font-size:clamp(42px,4.6vw,68px);line-height:1.02;letter-spacing:-.01em;margin:0 0 18px}
.hv3 .hero-text p{font-size:18px;color:var(--ink);margin:0 0 26px;max-width:420px}
.hv3 .btn-lg{border-radius:4px;padding:14px 26px}
.hv3 .hero-media{background:transparent;min-height:440px;position:relative}
.hv3 .hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:20px;mix-blend-mode:multiply}
.hv3 .hero-arrow{width:44px;height:44px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.hv3 .hero-dots button{width:10px;height:10px;border-color:#fff;background:rgba(255,255,255,.5)}
.hv3 .hero-dots button.active{width:10px;background:#fff}

/* shop by room: circles */
.room-circles{display:grid;grid-template-columns:repeat(10,1fr);gap:14px}
.rc{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.rc-img{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--cream-2);display:block;position:relative;transition:transform .35s var(--ease)}
.rc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform .8s var(--ease)}
.rc:hover .rc-img{transform:translateY(-4px)}
.rc:hover .rc-img img{transform:scale(1.1)}
.rc-name{font-size:13.5px;font-weight:600;color:var(--g900);line-height:1.25}

/* featured collections + inspiration: photo cards with title overlay */
.fc-grid,.insp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fc-card,.insp-card{position:relative;display:block;overflow:hidden;border-radius:6px;background:var(--cream-2);aspect-ratio:4/3.1;isolation:isolate}
.insp-card{aspect-ratio:16/10}
.fc-card img,.insp-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fc-card.is-cut img,.insp-card.is-cut img{object-fit:contain;padding:18px 18px 70px;mix-blend-mode:multiply}
.fc-card::after,.insp-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,35,26,0) 40%,rgba(20,35,26,.82) 100%)}
.fc-text{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 16px 14px;color:#fff;display:flex;flex-direction:column;gap:3px}
.fc-text strong{font-family:var(--serif);font-weight:600;font-size:clamp(20px,1.7vw,25px);line-height:1.1}
.fc-text small{font-size:13px;opacity:.9}
.fc-text em{font-style:normal;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:6px;margin-top:6px;text-decoration:underline;text-underline-offset:4px}
.fc-text .ico{width:15px;transition:transform .3s var(--ease)}
.fc-card:hover .fc-text .ico,.insp-card:hover .fc-text .ico{transform:translateX(4px)}

/* best sellers: six across, bordered cards */
.home-best .slider-track{grid-auto-columns:calc((100% - 5*14px)/6);gap:14px!important}
.home-best .card,.card{border:1px solid var(--line);border-radius:6px}
.home-best .card-cta,.home-best .card-actions{display:none}
.home-best .card-body{padding:12px 12px 14px}
.home-best .card-body h3,.home-best .woocommerce-loop-product__title{font-size:14px!important;min-height:2.7em}
.badge{font-size:11px;padding:3px 8px;border-radius:3px}
.badge-best{background:var(--g900)}
.wish-btn{box-shadow:0 1px 6px rgba(0,0,0,.12)}

/* promo: dark panel with a curved edge over the photo */
.promo3{position:relative;display:grid;grid-template-columns:minmax(0,44%) 1fr;min-height:250px;border-radius:6px;overflow:hidden;background:var(--g900)}
.promo3-text{position:relative;z-index:2;padding:34px 0 34px 48px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.promo3-text::after{content:"";position:absolute;top:0;bottom:0;right:-90px;width:180px;background:var(--g900);border-radius:0 50% 50% 0/0 50% 50% 0;z-index:-1}
.promo3-kicker{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.promo3 h2{color:#fff;font-size:clamp(36px,3.8vw,54px);margin:0 0 10px;line-height:1}
.promo3 h2 span{color:var(--gold)}
.promo3-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.promo3-row p{margin:0;font-size:17px;opacity:.92}
.promo3 .btn-gold{border-radius:4px}
.promo3-media{position:relative;min-height:250px}
.promo3-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.promo3-media.is-cut{background:var(--cream-2)}
.promo3-media.is-cut img{object-fit:contain;padding:16px;mix-blend-mode:multiply}

/* newsletter as a sand band */
.newsletter{background:transparent;padding:10px 0 40px}
.newsletter-inner{background:var(--sand);border-radius:6px;padding:30px 40px}
.newsletter .news-title{font-size:clamp(24px,2.2vw,30px)}
.news-form input{border-radius:4px}
.news-form .btn{border-radius:4px}

/* footer: two-column lists for Shop and About */
.footer-grid{grid-template-columns:1.2fr 1.3fr 1fr 1.3fr 1.1fr}
.footer-col:nth-child(2) ul,.footer-col:nth-child(4) ul{grid-template-columns:1fr 1fr;column-gap:20px}

@media (max-width:1200px){.room-circles{grid-template-columns:repeat(5,1fr)}.home-best .slider-track{grid-auto-columns:calc((100% - 3*14px)/4)}}
@media (max-width:1024px){
  .fc-grid,.insp-grid{grid-template-columns:repeat(2,1fr)}
  .hv3 .has-photo .hero-grid{grid-template-columns:1fr}
  .home-best .slider-track{grid-auto-columns:calc((100% - 2*14px)/3)}
  .promo3{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .topbar-inner{justify-content:center}
  .hsec{padding:26px 0}
  .inline-head>div{display:block}
  .hv3 .hero-track,.hv3 .hero-grid{min-height:0}
  .hv3 .hero-slide.has-photo{display:flex;flex-direction:column}
  .hv3 .has-photo::before{display:none}
  .hv3 .hero-bg{position:relative;inset:auto;height:auto;aspect-ratio:4/3;transform:none!important}
  .hv3 .hero-grid,.hv3 .has-photo .hero-grid{display:block;padding:20px 16px 52px;text-align:center}
  .hv3 .hero-text h1,.hv3 .hero-text .h1{font-size:34px}
  .hv3 .hero-text p{font-size:15.5px;margin:0 auto 18px}
  .hv3 .hero-media{min-height:0;aspect-ratio:4/3;margin-top:16px}
  .hv3 .is-cutout .hero-grid{display:flex;flex-direction:column-reverse}
  .room-circles{display:flex;overflow-x:auto;gap:14px;margin:0 -16px;padding:2px 16px 6px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .room-circles::-webkit-scrollbar{display:none}
  .rc{flex:0 0 84px;scroll-snap-align:start}
  .rc-name{font-size:12px}
  .fc-grid,.insp-grid{display:flex;overflow-x:auto;gap:12px;margin:0 -16px;padding:0 16px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .fc-grid::-webkit-scrollbar,.insp-grid::-webkit-scrollbar{display:none}
  .fc-card,.insp-card{flex:0 0 78%;scroll-snap-align:start}
  .home-best .slider-track{grid-auto-columns:calc((100% - 12px)/2)}
  .promo3{grid-template-columns:1fr}
  .promo3-text{padding:28px 22px}
  .promo3-text::after{display:none}
  .promo3-media{min-height:200px;order:-1}
  .newsletter-inner{padding:24px 18px}
  .footer-col:nth-child(2) ul,.footer-col:nth-child(4) ul{grid-template-columns:1fr}
}

.hv3 .hero-progress{background:transparent}.hv3 .hero-progress span{background:var(--gold);opacity:.8}
.fc-card.is-cut img,.insp-card.is-cut img{object-fit:cover;padding:0;mix-blend-mode:multiply}

/* =========================================================
   Hero v4 — product spotlight carousel (real product photos)
   ========================================================= */
.hspot{position:relative;overflow:hidden;background:#f4efe6}
.hspot .hero-track{min-height:580px}
.hspot .hero-slide{overflow:hidden;transition:opacity .9s var(--ease),visibility .9s}
.tone-cream{background:#f4efe6}
.tone-sage{background:#e2e8df}
.tone-sand{background:#efe2cf}
.tone-green{background:#1b3426}
.hs-word{position:absolute;right:-1vw;bottom:-3.2vw;font-family:var(--serif);font-weight:600;font-size:clamp(120px,17vw,280px);line-height:1;letter-spacing:-.04em;color:rgba(27,52,38,.06);white-space:nowrap;pointer-events:none;user-select:none;transform:translateX(40px);opacity:0;transition:transform 1.4s var(--ease),opacity 1.2s}
.tone-green .hs-word{color:rgba(255,255,255,.06)}
.is-active .hs-word{transform:none;opacity:1}
.hs-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center;min-height:580px;padding-top:30px;padding-bottom:60px}
.hs-text h1,.hs-text .h1{font-family:var(--serif);font-weight:600;color:var(--g900);font-size:clamp(44px,4.8vw,72px);line-height:1;letter-spacing:-.015em;margin:0 0 18px}
.hs-text p{font-size:18px;color:var(--ink);max-width:420px;margin:0 0 28px}
.tone-green .hs-text h1,.tone-green .hs-text .h1{color:#fff}
.tone-green .hs-text p{color:#dfe8e1}
.tone-green .btn-primary{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--g900)!important}
.hs-ctas{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hs-ctas .btn-lg{border-radius:4px;padding:15px 28px}
.hs-count{font-size:14px;font-weight:600;color:var(--g700)}
.tone-green .hs-count{color:#cfe0d4}
.hs-text>*{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.is-active .hs-text>*{opacity:1;transform:none}
.is-active .hs-text>*:nth-child(2){transition-delay:.1s}
.is-active .hs-text>*:nth-child(3){transition-delay:.2s}

/* the stage: one big product card, two smaller ones floating beside it */
.hs-stage{position:relative;height:500px}
.hs-main{position:absolute;left:4%;top:10px;width:min(64%,470px);aspect-ratio:1;display:block;background:#fff;border-radius:22px;box-shadow:0 30px 60px -25px rgba(27,52,38,.35);opacity:0;transform:translateY(30px) scale(.94);transition:opacity .9s var(--ease) .15s,transform 1s var(--ease) .15s}
.is-active .hs-main{opacity:1;transform:none}
.hs-main-img{position:absolute;inset:0;border-radius:22px;overflow:hidden;display:block}
.hs-main-img img{width:100%;height:100%;object-fit:contain;padding:28px 28px 70px;transition:transform 1.2s var(--ease),opacity .3s}
.hs-main:hover .hs-main-img img{transform:scale(1.05)}
.hs-main-img img.swap{opacity:0}
.hs-tag{position:absolute;left:-22px;bottom:22px;max-width:86%;background:var(--g900);color:#fff;border-radius:12px;padding:12px 18px;display:flex;flex-direction:column;gap:2px;box-shadow:0 14px 30px -14px rgba(0,0,0,.4)}
.hs-tag strong{font-size:15px;font-weight:700;line-height:1.3}
.hs-price{font-size:20px;font-weight:800;color:var(--gold)}
.hs-price del{color:#a9b8ad;font-size:14px;font-weight:500;margin-right:6px}
.hs-price ins{text-decoration:none}
.tone-green .hs-tag{background:var(--gold);color:var(--g900)}
.tone-green .hs-price{color:var(--g900)}
.hs-sale{position:absolute;top:18px;left:18px;background:var(--sale);color:#fff;font-size:12px;font-weight:800;padding:5px 12px;border-radius:999px}
.hs-swatches{position:absolute;left:calc(4% + min(64%,470px) - 10px);top:40px;transform:translateX(-100%);display:flex;align-items:center;gap:2px;background:#fff;border-radius:999px;padding:4px 6px 4px 14px;box-shadow:0 10px 24px -12px rgba(0,0,0,.3);z-index:3;opacity:0;transition:opacity .6s .6s}
.is-active .hs-swatches{opacity:1}
.hs-swl{font-size:12.5px;font-weight:700;color:var(--g900);margin-right:4px;min-width:44px}
.hs-sw{width:34px;height:34px;border:0;background:transparent;padding:0;display:grid;place-items:center;border-radius:50%}
.hs-sw i{width:20px;height:20px;border-radius:50%;display:block;border:2px solid #fff;outline:1px solid rgba(0,0,0,.2)}
.hs-sw.on i{outline:2px solid var(--g900);outline-offset:1px}
.hs-mini{position:absolute;right:0;width:min(34%,250px);display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 22px 44px -22px rgba(27,52,38,.4);opacity:0;transform:translateX(60px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
.hs-mini-1{top:0;transition-delay:.35s}
.hs-mini-2{bottom:0;right:8%;transition-delay:.5s}
.is-active .hs-mini{opacity:1;transform:none}
.is-active .hs-mini-1{animation:hsFloat 6s ease-in-out 1.4s infinite}
.is-active .hs-mini-2{animation:hsFloat 7s ease-in-out 1.8s infinite reverse}
@keyframes hsFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
.hs-mini-img{display:block;aspect-ratio:4/3;background:#fff}
.hs-mini-img img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .8s var(--ease)}
.hs-mini:hover .hs-mini-img img{transform:scale(1.07)}
.hs-mini-txt{display:flex;flex-direction:column;gap:2px;padding:10px 14px 12px;background:#faf8f4}
.hs-mini-txt strong{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hs-mini-txt span{font-size:15px;font-weight:800;color:var(--g900)}
.hs-mini-txt del{font-size:12px;color:var(--muted);font-weight:500}
.hs-mini-txt ins{text-decoration:none;color:var(--sale)}
.hspot .hero-arrow{width:46px;height:46px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.14);z-index:5}
.hspot .hero-dots button{border-color:var(--g900)}
.hspot .hero-dots button.active{background:var(--g900);width:28px}
.hspot .hero-progress{z-index:5}
@media (prefers-reduced-motion:reduce){.is-active .hs-mini-1,.is-active .hs-mini-2{animation:none}}

@media (max-width:1024px){
  .hs-grid{grid-template-columns:1fr 1fr;gap:20px}
  .hs-stage{height:420px}
  .hs-mini-2{display:none}
}
@media (max-width:768px){
  .hspot .hero-track{min-height:0}
  .hs-word{font-size:120px;bottom:auto;top:250px;right:-20px}
  .hs-grid{display:flex;flex-direction:column-reverse;gap:6px;min-height:0;padding:18px 16px 56px;text-align:center}
  .hs-stage{height:auto;width:100%}
  .hs-main{position:relative;left:auto;top:auto;width:84%;margin:0 auto 34px}
  .hs-main-img img{padding:18px 18px 64px}
  .hs-tag{left:50%;bottom:-24px;transform:translateX(-50%);max-width:94%;width:max-content;text-align:center;align-items:center;padding:10px 16px}
  .hs-tag strong{font-size:13.5px}
  .hs-price{font-size:18px}
  .hs-swatches{position:relative;left:auto;top:auto;transform:none;display:inline-flex;margin:0 auto 6px}
  .hs-mini{display:none}
  .hs-text h1,.hs-text .h1{font-size:36px}
  .hs-text p{font-size:15.5px;margin:0 auto 18px;max-width:340px}
  .hs-ctas{justify-content:center}
  .hs-count{width:100%;font-size:13px}
}
.hs-main{left:0;width:min(60%,460px)}
.hs-swatches{left:calc(min(60%,460px) - 14px)}
.hs-mini{width:min(36%,250px)}
.hs-mini-2{right:0;bottom:6px}
.hs-mini-1{top:6px}
.hs-mini-img img{object-fit:cover;padding:0}
@media (max-width:1024px){.hs-mini{width:38%}}
.hs-mini-img{aspect-ratio:16/10}
.hs-mini-txt{padding:9px 14px 11px}
.hs-mini-img{height:150px;aspect-ratio:auto;overflow:hidden;flex:none}.hs-mini-img img{display:block;height:150px}@media (max-width:1024px){.hs-mini-img,.hs-mini-img img{height:130px}}
@media (max-width:768px){
  .hs-main{position:relative;left:auto;top:auto;width:86%;margin:0 auto 34px}
  .hs-swatches{position:relative;left:auto;top:auto;transform:none;display:inline-flex;margin:0 auto 6px}
}

/* =========================================================
   Footer v2 — brand footer
   ========================================================= */
.fv2{background:#16291e;color:#c6d3ca;font-size:15px}
.fv2-promise{background:var(--g900);border-bottom:1px solid rgba(255,255,255,.07)}
.fv2-promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:26px;padding-bottom:26px}
.fv2-p{display:flex;align-items:center;gap:14px}
.fv2-p-ico{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(201,162,74,.12);color:var(--gold)}
.fv2-p-ico .ico{width:22px;height:22px}
.fv2-p strong{display:block;color:#fff;font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.15}
.fv2-p small{display:block;font-size:13.5px;color:#a9bbb0;margin-top:2px}

.fv2-main{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:48px;padding-top:64px;padding-bottom:56px}
.fv2-brand .site-logo img{width:250px;max-width:100%}
.fv2-brand p{margin:20px 0 22px;max-width:330px;line-height:1.7;color:#b7c7bd}
.fv2-contact{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.fv2-contact li{display:flex;align-items:center;gap:10px}
.fv2-contact .ico{width:17px;height:17px;color:var(--gold)}
.fv2-contact a{color:#fff;font-weight:600}
.fv2-hours{font-size:13.5px;color:#9fb3a6;padding-left:27px}
.fv2-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fv2-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid rgba(201,162,74,.6);border-radius:4px;color:var(--gold);font-weight:700;font-size:14px;transition:background-color .25s,color .25s}
.fv2-btn .ico{width:17px;height:17px}
.fv2-btn:hover{background:var(--gold);color:var(--g900)}
.fv2 .socials a{width:40px;height:40px;background:rgba(255,255,255,.06);border:0}
.fv2-col .fh{font-family:var(--serif)!important;font-size:21px!important;font-weight:600;color:#fff;letter-spacing:0!important;text-transform:none!important;margin:0 0 20px;position:relative;padding-bottom:12px}
.fv2-col .fh::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--gold)}
.fv2 .footer-col ul{display:grid!important;grid-template-columns:1fr!important;gap:12px}
.fv2 .footer-col a{color:#c6d3ca;font-size:15px;transition:color .25s,padding-left .3s}
.fv2 .footer-col a:hover{color:var(--gold);padding-left:4px}
.fv2-bottom{background:#112018}
.fv2-bottom-in{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;font-size:13.5px;color:#93a89b}
.fv2-bottom .secure-note .ico{color:var(--gold)}

@media (max-width:1200px){
  .fv2-main{grid-template-columns:1fr 1fr 1fr 1fr;gap:36px}
  .fv2-brand{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:12px 40px;align-items:center}
  .fv2-brand p{margin:0}
}
@media (max-width:1024px){.fv2-promise-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){
  .fv2-promise-grid{gap:18px 14px;padding-top:22px;padding-bottom:22px}
  .fv2-p{flex-direction:column;text-align:center;gap:8px}
  .fv2-p strong{font-size:17px}
  .fv2-p small{font-size:12.5px}
  .fv2-main{display:block;padding-top:36px;padding-bottom:16px}
  .fv2-brand{display:block;text-align:center;padding-bottom:28px}
  .fv2-brand .site-logo{display:inline-block}
  .fv2-brand .site-logo img{width:230px}
  .fv2-brand p{margin:16px auto 20px}
  .fv2-contact{justify-items:center}
  .fv2-hours{padding-left:0}
  .fv2-actions{justify-content:center}
  .fv2 .footer-col{background:rgba(255,255,255,.04);border-radius:6px;margin-bottom:8px;padding:0 16px}
  .fv2-col .fh{font-size:18px!important;margin:0;padding-bottom:0}
  .fv2-col .fh::after{display:none}
  .fv2 .footer-col.open ul{padding-bottom:18px}
  .fv2-bottom-in{justify-content:center;text-align:center;font-size:12.5px}
}
@media (max-width:768px){.fv2 .footer-col ul{max-height:0;overflow:hidden}.fv2 .footer-col.open ul{max-height:700px!important}}

/* Hero background word: fitted, outlined, drawn in on each slide */
.hspot .hs-word{position:absolute;left:50%;top:50%;width:min(1320px,calc(100% - 48px));height:auto;transform:translate(-50%,-46%);z-index:1;overflow:visible;pointer-events:none;opacity:0;transition:opacity 1s var(--ease)}
.hspot .hs-word text{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;fill:transparent;stroke:rgba(27,52,38,.16);stroke-width:1.4px;stroke-dasharray:900;stroke-dashoffset:900;paint-order:stroke}
.hspot .tone-green .hs-word text{stroke:rgba(201,162,74,.28)}
.hspot .is-active .hs-word{opacity:1}
.hspot .is-active .hs-word text{animation:hsDraw 2.6s cubic-bezier(.5,0,.2,1) .2s forwards,hsFill 1.2s ease 2.4s forwards}
@keyframes hsDraw{to{stroke-dashoffset:0}}
@keyframes hsFill{to{fill:rgba(27,52,38,.035)}}
.hspot .tone-green.is-active .hs-word text{animation:hsDraw 2.6s cubic-bezier(.5,0,.2,1) .2s forwards,hsFillG 1.2s ease 2.4s forwards}
@keyframes hsFillG{to{fill:rgba(201,162,74,.06)}}
@media (prefers-reduced-motion:reduce){.hspot .hs-word text{stroke-dasharray:none;stroke-dashoffset:0;animation:none!important}}
@media (max-width:768px){.hspot .hs-word{top:auto;bottom:150px;transform:translateX(-50%);width:calc(100% - 24px)}.hspot .hs-word text{stroke-width:2.2px}}
/* background word now heads the text column, fitted to its width */
.hspot .hs-word{position:relative;left:auto;top:auto;transform:none;display:block;width:100%;max-width:560px;margin:0 0 -34px -4px;opacity:1}
.hspot .hs-word text{stroke:rgba(27,52,38,.32);stroke-width:1.6px}
.hspot .tone-green .hs-word text{stroke:rgba(201,162,74,.55)}
@keyframes hsFill{to{fill:rgba(27,52,38,.05)}}
@keyframes hsFillG{to{fill:rgba(201,162,74,.08)}}
.hs-text h1,.hs-text .h1{position:relative}
@media (max-width:768px){.hspot .hs-word{position:relative;bottom:auto;left:auto;transform:none;width:100%;max-width:340px;margin:0 auto -18px}}
.hspot .hs-word{margin:0 0 -6px -2px;max-width:540px}
@media (max-width:768px){.hspot .hs-word{margin:0 auto -4px;max-width:330px}.hspot .hs-word text{text-anchor:middle}}
.hspot .hs-word{width:auto;height:92px;max-width:100%;margin:0 0 -4px -2px}
@media (max-width:768px){.hspot .hs-word{height:58px;margin:0 auto 2px}.hspot .hs-word text{text-anchor:start}}
.hspot .hs-word{height:78px;margin:0 0 12px -2px}@media (max-width:768px){.hspot .hs-word{height:52px;margin:0 auto 8px}}
.hspot .hs-word{margin-bottom:30px}@media (max-width:768px){.hspot .hs-word{margin-bottom:14px}}
/* all hero slides on the deep green */
.hspot{background:#1b3426}
.hspot .hero-dots button{border-color:rgba(255,255,255,.7);background:transparent}
.hspot .hero-dots button.active{background:var(--gold);border-color:var(--gold)}
.hspot .hero-progress span{background:var(--gold)}

/* Hero kicker: gold rule + letter cascade, aligned to the headline */
.hs-kicker{display:flex;align-items:center;gap:18px;margin:0 0 22px;line-height:1;perspective:600px}
.hs-line{flex:none;display:block;width:0;height:2px;background:var(--gold);transition:width .9s cubic-bezier(.65,0,.35,1) .15s}
.is-active .hs-line{width:56px}
.hs-letters{display:inline-flex;font-family:var(--serif);font-weight:600;font-size:clamp(34px,3.4vw,52px);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.hs-letters i{font-style:normal;display:inline-block;color:transparent;-webkit-text-stroke:1px rgba(201,162,74,.9);opacity:0;transform:translateY(.55em) rotateX(-75deg);transform-origin:50% 100%;filter:blur(4px);transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1),filter .6s ease,color 1s ease;transition-delay:calc(.55s + var(--i) * 55ms)}
.hs-letters i.sp{width:.35em}
.is-active .hs-letters i{opacity:1;transform:none;filter:none;color:rgba(201,162,74,.22)}
.is-active .hs-letters i{transition-delay:calc(.55s + var(--i) * 55ms),calc(.55s + var(--i) * 55ms),calc(.55s + var(--i) * 55ms),calc(1.6s + var(--i) * 40ms)}
.hs-kicker:hover .hs-letters i{color:rgba(201,162,74,.45)}
/* the kicker has its own animation, so it skips the generic text rise */
.hs-text>.hs-kicker{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){.hs-letters i{opacity:1;transform:none;filter:none;color:rgba(201,162,74,.22)}.hs-line{width:56px}}
@media (max-width:768px){
  .hs-kicker{justify-content:center;gap:12px;margin-bottom:14px}
  .is-active .hs-line{width:28px}
  .hs-letters{font-size:28px;letter-spacing:.12em}
}
/* colour dot inside the product page colour buttons */
.var-sw.has-dot{display:inline-flex;align-items:center;gap:9px;padding-left:10px}
.var-dot{width:22px;height:22px;border-radius:50%;flex:none;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.18)}
.var-sw.on .var-dot{box-shadow:0 0 0 1px rgba(255,255,255,.6)}
.sw{box-shadow:0 0 0 1px rgba(0,0,0,.15)}

/* Welcome: the first slide plays its entrance when the page opens */
.hspot.pre .hero-slide.is-active .hs-text>*:not(.hs-kicker){opacity:0;transform:translateY(24px)}
.hspot.pre .hero-slide.is-active .hs-line{width:0}
.hspot.pre .hero-slide.is-active .hs-letters i{opacity:0;transform:translateY(.55em) rotateX(-75deg);filter:blur(4px);color:transparent}
.hspot.pre .hero-slide.is-active .hs-main{opacity:0;transform:translateY(30px) scale(.94)}
.hspot.pre .hero-slide.is-active .hs-mini{opacity:0;transform:translateX(60px);animation:none}
.hspot.pre .hero-slide.is-active .hs-swatches{opacity:0}

/* headings turned into styled text (SEO heading order) */
.drawer-title,.news-title,.side-title{font-family:var(--serif);font-weight:600;color:var(--g900);line-height:1.1;margin:0}
.drawer-head .drawer-title{font-size:24px}
.side-h{font-family:var(--sans);font-weight:800;color:var(--g900);margin:0 0 12px}
.sidebar-head .side-h{font-family:var(--serif);font-weight:600;font-size:26px;margin:0}
.price-quick button{font:600 12px/1.2 var(--sans);padding:6px 10px;border-radius:20px;background:var(--cream);border:0;color:var(--g900);cursor:pointer;transition:background-color .2s,color .2s}
.price-quick button:hover{background:var(--g900);color:#fff}
.fh{margin:0 0 20px}
.filter-block .lnav-link{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;width:100%;padding:5px 0;font-size:14px;color:var(--ink);cursor:pointer}
.filter-block .lnav-link:hover{color:var(--brand)}
.filter-block .widget li.chosen .lnav-link{color:var(--brand);font-weight:700}
.filter-block .widget_layered_nav_filters .lnav-link{display:inline-flex;width:auto;padding:4px 10px;border-radius:20px;background:var(--cream);margin:0 6px 6px 0;font-size:13px}

/* WhatsApp chat (v2) */
:root{--wa:#25d366;--wa-deep:#128c4a}
.wa-float{position:fixed;left:24px;bottom:24px;z-index:95;display:flex;align-items:center;gap:14px;padding:8px 22px 8px 8px;border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 18px 40px -16px rgba(16,40,28,.45),0 0 0 1px rgba(16,40,28,.06);transition:transform .3s var(--ease),box-shadow .3s} /* taste-skill-ignore: floats */
.wa-float:hover,.wa-float:focus-visible{transform:translateY(-3px);box-shadow:0 24px 48px -18px rgba(16,40,28,.5),0 0 0 1px rgba(37,211,102,.35)}
.wa-ico{position:relative;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;flex:none}
.wa-glyph{width:27px;height:27px;display:block}
.wa-dot{position:absolute;right:1px;top:1px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px var(--wa)}
.wa-ico::after{content:"";position:absolute;inset:0;border-radius:50%;animation:waRing 2.8s 1.2s infinite}
@keyframes waRing{0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 0 0 14px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.wa-text{display:flex;flex-direction:column;line-height:1.2}
.wa-text small{font:500 12px/1.3 var(--sans);color:var(--muted)}
.wa-text strong{font:700 15px/1.25 var(--sans);color:var(--g900)}
.wa-arrow{font:600 18px/1 var(--sans);color:var(--wa-deep);transition:transform .3s var(--ease)}
.wa-float:hover .wa-arrow{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.wa-ico::after{animation:none}}
@media (max-width:900px){.wa-float{left:14px;bottom:86px;padding:6px 16px 6px 6px;gap:10px}.wa-ico{width:44px;height:44px}.wa-glyph{width:24px;height:24px}.wa-text small{display:none}.wa-text strong{font-size:14px}.wa-arrow{display:none}}
@media (max-width:380px){.wa-float{padding:6px}.wa-text{display:none}}
.wa-ask{display:flex;align-items:center;gap:14px;margin:16px 0 6px;padding:14px 18px 14px 14px;border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 0 0 1px rgba(16,40,28,.1);transition:box-shadow .25s,transform .25s var(--ease)}
.wa-ask:hover{box-shadow:0 0 0 1.5px var(--wa),0 12px 26px -16px rgba(16,40,28,.45);transform:translateY(-1px)}
.wa-ask-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;flex:none}
.wa-ask-ico .wa-glyph{width:24px;height:24px}
.wa-ask-text{display:flex;flex-direction:column;gap:2px;flex:1}
.wa-ask-text small{font:500 12.5px/1.3 var(--sans);color:var(--muted)}
.wa-ask-text strong{font:700 15px/1.3 var(--sans);color:var(--g900)}
.wa-ask-go{font:600 18px/1 var(--sans);color:var(--wa-deep);transition:transform .3s var(--ease)}
.wa-ask:hover .wa-ask-go{transform:translateX(4px)}

/* Product gallery v2: no stretched panel, image fills a square frame */
.single-product div.product{align-items:start}
.single-product div.product .woocommerce-product-gallery{align-self:start;padding:14px}
@media (min-width:901px){.single-product div.product .woocommerce-product-gallery{position:sticky;top:120px}}
.woocommerce-product-gallery__image>a{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:14px;background:#fff}
.woocommerce-product-gallery__image>a{position:relative}
.woocommerce-product-gallery__image img{width:100%!important;height:100%!important;object-fit:contain;border-radius:0;mix-blend-mode:normal}
.woocommerce-product-gallery__image img[data-fill]{position:absolute;left:var(--lx);top:var(--ty);width:calc(var(--s)*100%)!important;height:auto!important;max-width:none;object-fit:fill}
.woocommerce-product-gallery .flex-control-thumbs img{aspect-ratio:1/1;width:100%;object-fit:cover}
.woocommerce-product-gallery .flex-viewport{border-radius:14px}
/* Variation reset link and spacing */
.single-product .reset_variations{display:inline-block;margin-top:8px;font:500 12.5px/1 var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.single-product .single_variation_wrap .woocommerce-variation{margin:4px 0 12px}
.single-product .woocommerce-variation-description:empty,.single-product .woocommerce-variation-price:empty{display:none}

/* Product cards v2: one calm 4:3 frame; padded photos fill it edge to edge */
.card-media{aspect-ratio:4/3}
.card-img img.is-photo{padding:0!important;mix-blend-mode:normal;inset:auto;left:var(--lx,0);top:var(--ty,0);width:calc(var(--s,1)*100%)!important;height:auto!important;max-width:none;object-fit:fill;transform-origin:center}
.card:hover .card-img img.is-photo.img-main{transform:scale(1.04)}
.single-product table.variations{margin-bottom:6px!important}
.single-product .single_variation .stock{margin:0 0 4px}
.single-product .woocommerce-variation.single_variation{margin-top:0}
