/*
Theme Name:   Danvi Saree Store
Theme URI:    https://danvisaree.com
Description:  Custom WooCommerce theme for Danvi Saree, built from the site's own design (hero slider, category grid, product cards, festive banner) with WooCommerce shop, product, cart and checkout pages styled to match.
Author:       Danvi Saree
Version:      2.8.2
Requires at least: 6.0
Requires PHP: 7.4
Requires Plugins: woocommerce
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  danvi-saree
*/

:root{--maroon:#6c0424;--maroon2:#51051c;--rose:#ac0c44;--gold:#b8862b;--gold2:#e2b85c;--cream:#fbf7eb;--paper:#fffdf7;--ink:#261c1a;--muted:#716660;--line:#e7ddcf;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px}a{text-decoration:none;color:inherit}button,input{font:inherit}button{cursor:pointer}
.announcement{height:34px;background:var(--maroon);color:#fff4df;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;text-align:center;font:11px var(--serif);letter-spacing:.02em}.announcement-center{border-left:1px solid rgba(226,184,92,.5);border-right:1px solid rgba(226,184,92,.5)}
.header{position:sticky;top:0;z-index:100;background:rgba(251,247,235,.97);backdrop-filter:blur(12px);border-bottom:1px solid #eee4d7}.header-inner{height:68px;max-width:var(--max);margin:auto;padding:0 25px;display:flex;align-items:center;gap:35px}.logo{width:145px}.logo img{width:122px;height:58px;object-fit:cover;object-position:center;border-radius:50%}.nav{display:flex;align-items:center;gap:28px;margin:auto}.nav a{font-size:10px;letter-spacing:.09em}.nav a:hover{color:var(--maroon)}.header-tools{display:flex;gap:3px}.header-tools button{border:0;background:none;color:var(--maroon);font-size:20px;width:32px;height:32px;position:relative}.cart b{position:absolute;right:0;top:-2px;background:var(--maroon);color:#fff;border-radius:50%;font-size:8px;width:15px;height:15px;display:grid;place-items:center}.mobile-menu{display:none}.search-bar{display:none;max-width:var(--max);padding:10px 25px 14px;margin:auto;gap:10px}.search-bar.open{display:flex}.search-bar input{flex:1;padding:12px;border:1px solid var(--line);background:white}.search-bar button{border:0;background:var(--maroon);color:white;padding:0 18px}
.hero{height:535px;position:relative;overflow:hidden;background:var(--maroon2);color:white}.hero-slide{position:absolute;inset:0;display:none}.hero-slide.active{display:block}.hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--maroon2) 0%,#780522 39%,rgba(108,4,36,.32) 66%,rgba(108,4,36,.08) 100%)}.hero-model{position:absolute;right:17%;top:0;height:100%;width:53%;overflow:hidden}.hero-model:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(81,5,28,.45),transparent 35%)}.hero-model img{width:100%;height:100%;object-fit:cover;object-position:center 33%;filter:saturate(.98)}.hero-copy{position:absolute;z-index:3;left:max(6vw,calc((100vw - var(--max))/2));top:50%;transform:translateY(-50%);width:540px}.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--gold2);margin:0 0 12px;text-transform:uppercase;font-weight:600}.hero h1{font:500 clamp(48px,5.2vw,72px)/.88 var(--serif);margin:0 0 23px;letter-spacing:-.025em}.hero h1 em{font-weight:400}.hero-copy>p:not(.eyebrow){font:15px/1.45 var(--serif);max-width:490px;color:#f7e9db;margin:0 0 26px}.hero-actions{display:flex;gap:27px;align-items:center}.hero-btn{background:#fff;color:var(--maroon);padding:13px 24px;font-size:9px;font-weight:700;letter-spacing:.15em}.hero-link{font-size:10px;letter-spacing:.12em;font-weight:600}.hero-link span{margin-left:8px;font-size:15px}.hero-brand{position:absolute;right:3.5%;top:68px;width:175px;text-align:center;z-index:3;color:#fff}.hero-brand img{width:92px;height:92px;object-fit:cover;border-radius:50%;border:2px solid rgba(226,184,92,.7);margin-bottom:8px}.hero-brand div{font:500 23px/1.05 var(--serif)}.hero-brand em{font-weight:400}.hero-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:rgba(43,0,15,.75);color:white;font:27px var(--serif)}.hero-arrow.left{left:10px}.hero-arrow.right{right:10px}.hero-dots{position:absolute;z-index:5;left:6%;bottom:24px;display:flex;gap:9px}.hero-dot{width:8px;height:8px;border-radius:50%;border:0;background:#fff;opacity:.8;padding:0}.hero-dot.active{background:var(--gold2);width:11px;height:11px}
.benefits{background:var(--paper);display:grid;grid-template-columns:repeat(5,1fr);max-width:var(--max);margin:auto;padding:24px 18px;border-bottom:1px solid var(--line)}.benefit{display:flex;justify-content:center;align-items:center;gap:12px;border-right:1px solid var(--line)}.benefit:last-child{border:0}.benefit>span{border:1px solid var(--gold);color:var(--maroon);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:21px}.benefit b,.benefit small{display:block}.benefit b{font:13px var(--serif)}.benefit small{font-size:9px;color:var(--muted)}
.section{max-width:var(--max);margin:auto;padding:60px 25px}.section-title{text-align:center;margin-bottom:28px}.section-title .eyebrow{color:var(--gold)}.section-title h2,.product-heading h2{font:500 40px/.95 var(--serif);margin:0;color:var(--maroon2)}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.category{background:#f1e9dc;border-radius:7px;overflow:hidden;text-align:center}.category img{width:100%;height:105px;object-fit:cover;transition:.4s}.category:hover img{transform:scale(1.05)}.category div{padding:8px 4px 11px}.category b{font:16px var(--serif);display:block}.category small{font-size:9px;color:var(--muted)}
.new-arrivals{padding-top:30px}.product-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px;border-left:2px solid var(--gold);padding-left:16px}.product-heading .eyebrow{color:var(--maroon);margin-bottom:3px}.product-heading h2{font-size:29px}.product-heading h2 em{font-weight:400;color:var(--muted)}.product-heading>a{font-size:9px;letter-spacing:.15em;color:var(--maroon);border:1px solid var(--maroon);padding:10px 15px}.product-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.product{background:#fff;border:1px solid #e8ded0;padding-bottom:9px;position:relative}.product-img{height:285px;position:relative;overflow:hidden;background:#eadfd1}.product-img img{width:100%;height:100%;object-fit:cover;transition:.5s}.product:hover img{transform:scale(1.035)}.heart{position:absolute;right:7px;top:7px;border:0;background:#fff;border-radius:50%;width:28px;height:28px;color:var(--maroon);font-size:17px}.product h3{font:15px var(--serif);margin:7px 8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product>strong{display:block;color:var(--maroon);font-size:12px;margin:1px 8px 7px}.cart-btn{display:block;width:calc(100% - 16px);margin:auto;border:0;background:var(--maroon);color:#fff;padding:8px;font-size:8px;letter-spacing:.13em}.cart-btn:hover{background:var(--maroon2)}
.festive-banner{max-width:var(--max);margin:0 auto 15px;height:170px;position:relative;overflow:hidden}.festive-banner img{width:100%;height:100%;object-fit:cover}.festive-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(70,3,23,.88),rgba(108,4,36,.25))}.festive-copy{position:absolute;left:38px;top:50%;transform:translateY(-50%);color:white}.festive-copy p{font-size:9px;letter-spacing:.2em;margin:0 0 3px;color:var(--gold2)}.festive-copy h2{font:500 30px/.88 var(--serif);margin:0 0 5px}.festive-copy h2 em{font-weight:400}.festive-copy span{display:block;font:12px var(--serif);margin-bottom:11px}.festive-copy a{display:inline-block;background:white;color:var(--maroon);padding:9px 16px;font-size:8px;letter-spacing:.12em;font-weight:700}
.occasion-section{padding-top:0}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.occasion-card{height:155px;position:relative;overflow:hidden;background:#eee}.occasion-card img{width:100%;height:100%;object-fit:cover;transition:.5s}.occasion-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(91,20,31,.55),transparent 70%)}.occasion-card div{position:absolute;z-index:2;left:20px;top:50%;transform:translateY(-50%);color:#fff}.occasion-card h3{font:25px var(--serif);margin:0}.occasion-card p{margin:2px 0;font:12px var(--serif)}
.collection-panels{padding-top:5px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.panel{height:220px;position:relative;overflow:hidden}.panel img{width:100%;height:100%;object-fit:cover}.panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(80,10,30,.72),transparent 80%)}.panel div{position:absolute;z-index:2;left:25px;top:50%;transform:translateY(-50%);color:#fff}.panel p{font-size:8px;letter-spacing:.2em;color:var(--gold2)}.panel h2{font:500 31px/.9 var(--serif);margin:5px 0 12px}.panel a{font-size:8px;letter-spacing:.15em}
.brand-values{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;background:var(--paper)}.brand-values div{display:flex;justify-content:center;align-items:center;gap:12px;border-right:1px solid var(--line)}.brand-values div:last-child{border:0}.brand-values span{color:var(--maroon);font-size:27px}.brand-values b{font:15px var(--serif)}
.newsletter{background:#f1e8dc;max-width:var(--max);margin:auto;padding:55px 45px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.newsletter h2{font:500 43px/.88 var(--serif);color:var(--maroon);margin:0 0 10px}.newsletter h2 em{font-weight:400}.newsletter>div>p:last-child{font-size:11px;color:var(--muted)}.newsletter form{display:flex;border-bottom:1px solid var(--maroon)}.newsletter input{flex:1;border:0;background:transparent;padding:13px;outline:0}.newsletter button{border:0;background:var(--maroon);color:#fff;padding:0 20px;font-size:8px;letter-spacing:.13em}
footer{background:#2c111b;color:#d9c9c0}.footer-main{max-width:var(--max);margin:auto;padding:50px 25px 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:45px}.footer-brand img{width:80px;height:80px;object-fit:cover;border-radius:50%}.footer-brand p{font:18px var(--serif);color:#fff;margin:9px 0}.footer-brand span{font-size:10px;color:#a88e8c}.footer-main h4{font-size:9px;letter-spacing:.2em;color:var(--gold2);margin:5px 0 15px}.footer-main>div:not(.footer-brand){display:flex;flex-direction:column;gap:8px}.footer-main a,.footer-main span{font-size:10px}.footer-main a:hover{color:#fff}.footer-bottom{border-top:1px solid #4b2b35;max-width:var(--max);margin:auto;padding:16px 25px;display:flex;justify-content:space-between;font-size:8px;color:#a98f8e}
.drawer,.drawer-bg,.mobile-nav{display:none}.toast{position:fixed;z-index:300;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--maroon2);color:#fff;padding:11px 17px;font-size:10px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.nav{gap:14px}.product-grid{grid-template-columns:repeat(3,1fr)}.product-img{height:340px}.category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){
 body{padding-bottom:61px}.announcement{height:30px;display:block;padding:7px 5px;font-size:8px}.announcement-center,.announcement>div:last-child{display:none}.header-inner{height:62px;padding:0 14px;justify-content:space-between}.mobile-menu{display:block;border:0;background:none;color:var(--maroon);font-size:21px}.logo{width:72px}.logo img{width:52px;height:52px}.nav{display:none}.hide-mobile{display:none}.header-tools button{width:30px}.hero{height:660px}.hero-slide:before{background:linear-gradient(0deg,rgba(81,5,28,.98) 0%,rgba(108,4,36,.62) 47%,rgba(108,4,36,.1) 100%)}.hero-model{right:0;top:0;width:100%;height:65%}.hero-model img{object-position:center 30%}.hero-brand{right:15px;top:18px;width:105px}.hero-brand img{width:58px;height:58px}.hero-brand div{font-size:17px}.hero-copy{left:22px;right:22px;top:auto;bottom:48px;transform:none;width:auto}.hero h1{font-size:46px;margin-bottom:13px}.hero-copy>p:not(.eyebrow){font-size:12px;margin-bottom:17px}.hero-actions{gap:13px;flex-wrap:wrap}.hero-btn{padding:11px 15px;font-size:8px}.hero-link{font-size:8px}.hero-dots{left:22px;bottom:18px}.hero-arrow{top:35%;width:32px;height:32px}.benefits{grid-template-columns:repeat(2,1fr);padding:10px}.benefit{padding:11px 5px}.benefit:nth-child(2n){border-right:0}.benefit:nth-child(n+3){display:none}.benefit>span{width:34px;height:34px;font-size:17px}.benefit b{font-size:11px}.benefit small{font-size:7px}.section{padding:45px 15px}.section-title h2{font-size:37px}.category-grid{grid-template-columns:repeat(2,1fr);gap:8px}.category img{height:130px}.category b{font-size:15px}.product-heading{display:block}.product-heading>a{display:inline-block;margin-top:13px}.product-grid{grid-template-columns:repeat(2,1fr);gap:8px}.product-img{height:280px}.product h3{font-size:14px}.cart-btn{padding:9px 3px}.festive-banner{margin:0 15px;height:260px}.festive-copy{left:22px;right:20px}.festive-copy h2{font-size:34px}.occasion-grid,.collection-panels{grid-template-columns:1fr}.occasion-card{height:175px}.panel{height:200px}.brand-values{grid-template-columns:repeat(2,1fr);padding:8px}.brand-values div{padding:11px 4px}.brand-values div:nth-child(2){border-right:0}.brand-values div:nth-child(n+3){border-top:1px solid var(--line);padding-top:14px}.newsletter{display:block;padding:45px 20px}.newsletter h2{font-size:40px}.newsletter form{margin-top:25px}.footer-main{grid-template-columns:1fr 1fr;padding:45px 20px 35px;gap:30px 18px}.footer-brand{grid-column:1/-1}.footer-bottom{padding:16px 20px;display:block}.footer-bottom span{display:block;margin-top:7px}.mobile-nav{display:grid;position:fixed;z-index:150;left:0;right:0;bottom:0;height:61px;background:rgba(255,253,247,.98);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.mobile-nav span{font-size:17px;color:var(--maroon)}.drawer{display:flex;position:fixed;z-index:220;top:0;bottom:0;left:0;width:84vw;background:var(--paper);flex-direction:column;padding:20px;transform:translateX(-100%);transition:.3s}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;font-size:10px;letter-spacing:.16em;color:var(--maroon)}.drawer-head button{border:0;background:none;font-size:25px;color:var(--maroon)}.drawer>a{font:500 27px var(--serif);padding:14px 0;border-bottom:1px solid var(--line)}.drawer-box{margin-top:30px;background:#f0e6d8;padding:15px;font-size:10px;color:var(--muted)}.drawer-box strong{display:block;color:var(--maroon);margin-top:3px}.drawer-bg{display:block;position:fixed;z-index:210;inset:0;background:rgba(25,4,12,.5);opacity:0;pointer-events:none;transition:.25s}.drawer-bg.open{opacity:1;pointer-events:auto}
}


/* Menu + dropdown submenus (v1.0.2) */
.nav ul{list-style:none;margin:0;padding:0}
.nav .nav-menu{display:flex;align-items:center;gap:28px}
.nav .nav-menu>li{position:relative;padding:24px 0}
.nav .menu-item-has-children>a:after{content:"\25BE";margin-left:5px;font-size:9px}
.nav .sub-menu{position:absolute;top:100%;left:-16px;min-width:200px;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:0 14px 30px rgba(38,28,26,.12);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;z-index:300}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.nav .sub-menu a{display:block;padding:9px 18px;font-size:11px;letter-spacing:.06em;white-space:nowrap}
.nav .sub-menu a:hover{background:var(--cream);color:var(--maroon)}
@media(max-width:1000px){.nav .nav-menu{gap:14px}}
.drawer ul{list-style:none;margin:0;padding:0}
.drawer-menu>li>a{display:block;font:500 25px var(--serif);padding:13px 0;border-bottom:1px solid var(--line)}
.drawer-menu .sub-menu a{display:block;font-size:13px;padding:10px 0 10px 16px;color:var(--muted);border-bottom:1px solid var(--line)}
.drawer{overflow-y:auto}


/* ===== 2026 menu: floating pill + mega panel (v1.0.6) ===== */
.header{background:rgba(251,247,235,.82);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid rgba(231,221,207,.7)}
.header-inner{height:84px;position:relative}
.nav{position:static}
.nav .nav-menu{gap:2px;padding:6px;background:rgba(255,255,255,.72);border:1px solid rgba(231,221,207,.9);border-radius:999px;box-shadow:0 6px 24px rgba(81,5,28,.06),inset 0 1px 0 #fff}
.nav .nav-menu>li{position:static;padding:0}
.nav .nav-menu>li>a{display:flex;align-items:center;gap:7px;padding:11px 20px;border-radius:999px;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.01em;color:var(--ink);transition:background .25s,color .25s}
.nav .nav-menu>li>a:hover,.nav .nav-menu>li:hover>a{background:#f4ebdf;color:var(--maroon)}
.nav .nav-menu>li.current-menu-item>a,.nav .nav-menu>li.current-menu-ancestor>a{background:var(--maroon);color:#fff}
.nav .menu-item-has-children>a:after{content:"";width:6px;height:6px;margin:-3px 0 0 1px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .3s}
.nav .menu-item-has-children:hover>a:after{transform:translateY(3px) rotate(-135deg)}
/* mega panel */
.nav .sub-menu{position:absolute;top:calc(100% - 4px);left:50%;width:min(1080px,94vw);transform:translate(-50%,12px);display:grid;grid-template-columns:repeat(3,1fr) 300px;grid-template-rows:repeat(3,auto);grid-auto-flow:column;align-content:start;gap:4px 18px;padding:30px 30px 30px 34px;min-height:250px;background:#fffdf9;border:1px solid rgba(231,221,207,.8);border-radius:24px;box-shadow:0 30px 70px rgba(38,28,26,.18);opacity:0;visibility:hidden;transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1),visibility .25s;z-index:300}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav .sub-menu:before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px}
.nav .sub-menu:after{content:var(--mega-label,"Shop the\A Festive Edit  \2192");white-space:pre;grid-column:4;grid-row:1/span 3;display:flex;align-items:flex-end;padding:22px;border-radius:18px;min-height:190px;background:linear-gradient(180deg,transparent 35%,rgba(60,4,22,.85)),var(--mega-img,url(assets/images/d10.jpeg)) center/cover;color:#fff;font:500 25px/1.1 var(--serif);transition:background-image .3s}
.nav .sub-menu li{list-style:none}
.nav .sub-menu a{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-radius:14px;font:500 21px var(--serif);letter-spacing:0;color:var(--maroon2);white-space:nowrap;transition:background .2s,padding .25s}
.nav .sub-menu a:after{content:"\2192";font:15px var(--sans);color:var(--gold);opacity:0;transform:translateX(-8px);transition:.25s}
.nav .sub-menu a:hover{background:#f8f1e7;padding-left:22px}
.nav .sub-menu a:hover:after{opacity:1;transform:none}
/* icons */
.header-tools{gap:8px}
.header-tools>button,.header-tools>a{width:42px!important;height:42px!important;border-radius:50%!important;background:rgba(255,255,255,.72)!important;border:1px solid rgba(231,221,207,.9)!important;font-size:18px!important;display:inline-grid!important;place-items:center;transition:background .25s,color .25s}
.header-tools>button:hover,.header-tools>a:hover{background:var(--maroon)!important;color:#fff!important}
.cart-contents-count{right:-3px!important;top:-3px!important;width:18px!important;height:18px!important;font-size:9.5px!important;border:2px solid var(--cream)}
@media(max-width:1150px){.nav .nav-menu>li>a{padding:10px 13px;font-size:13px}.nav .sub-menu{grid-template-columns:repeat(2,1fr) 260px}.nav .sub-menu:after{grid-column:3}}
.drawer-menu>li>a{font:500 22px var(--serif)}

/* ===== Compact dropdown (v1.1.0): anchored under its item, no empty space ===== */
.nav .nav-menu>li.menu-item-has-children{position:relative}
.nav .sub-menu{left:-8px;width:auto;min-width:0;transform:translateY(12px);grid-template-columns:minmax(190px,max-content) 230px;grid-template-rows:none;grid-auto-rows:auto;grid-auto-flow:row;gap:0 18px;padding:14px;min-height:0;border-radius:20px}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu{transform:translateY(0)}
.nav .sub-menu li{grid-column:1}
.nav .sub-menu a{padding:10px 14px;font-size:19px;border-radius:12px;margin:1px 0}
.nav .sub-menu:after{grid-column:2;grid-row:1/span 40;align-self:stretch;min-height:230px;padding:18px;border-radius:14px;font-size:21px}
@media(max-width:1150px){.nav .sub-menu{grid-template-columns:minmax(170px,max-content) 190px}.nav .sub-menu:after{grid-column:2}}

/* v1.3.0 performance: no blur on phones/tablets (expensive to repaint while scrolling) */
@media(max-width:1024px){.header,.nav .nav-menu,.nav .sub-menu{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.header{background:var(--cream)!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== v1.5.0 mega menu: picture tiles + feature card ===== */
.nav .nav-menu>li.menu-item-has-children{position:static}
.nav .sub-menu{left:50%!important;right:auto;width:min(1120px,94vw)!important;transform:translate(-50%,12px)!important;grid-template-columns:repeat(auto-fill,minmax(118px,128px)) !important;grid-auto-flow:row!important;grid-auto-rows:auto;gap:18px 14px!important;padding:26px 330px 26px 28px!important;min-height:300px!important;border-radius:0 0 22px 22px!important;top:100%!important;align-content:start;position:absolute}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu{transform:translate(-50%,0)!important}
.nav .sub-menu li{grid-column:auto!important;display:flex;flex-direction:column;align-items:center;text-align:center}
.nav .sub-menu:after{position:absolute;right:26px;top:26px;bottom:26px;width:280px;min-height:0!important;grid-column:auto!important;grid-row:auto!important;border-radius:16px!important;font:500 22px/1.15 var(--serif)!important;letter-spacing:.02em}
.nav .sub-menu a{display:block!important;width:100%;padding:0!important;border-radius:12px!important;background:none!important;font:500 14px var(--sans)!important;color:var(--maroon2)!important;white-space:normal!important}
.nav .sub-menu a:after{display:none!important}
.nav .sub-menu a:hover{padding-left:0!important}
.mm-thumb{display:block;width:100%;aspect-ratio:4/4.6;border-radius:12px 12px 0 0;background:#efe4d6 center/cover no-repeat;transition:transform .35s}
.mm-thumb.mm-empty{display:grid;place-items:center;font:500 40px var(--serif);color:var(--maroon);background:linear-gradient(135deg,#f6e9da,#ecd6be)}
.mm-label{display:block;background:var(--maroon);color:#fff;padding:7px 6px;border-radius:0 0 12px 12px;font:600 13px var(--sans);letter-spacing:.02em}
.nav .sub-menu a:hover .mm-thumb{transform:scale(1.03)}
.nav .sub-menu a:hover .mm-label{background:var(--maroon2)}
.mm-desc{display:block;margin-top:6px;font:13px var(--sans);color:var(--muted);line-height:1.3}
.drawer .mm-thumb,.drawer .mm-desc{display:none}
.drawer .mm-label{display:inline;background:none;color:inherit;padding:0;font:inherit}
@media(max-width:1150px){.nav .sub-menu{padding-right:26px!important}.nav .sub-menu:after{display:none}}

/* search overlay */
.search-bar{position:fixed;inset:0;z-index:600;background:rgba(38,10,20,.55);display:none!important;align-items:flex-start;justify-content:center;padding:90px 16px 0;max-width:none!important}
.search-bar.open{display:flex!important}
.search-box{position:relative;width:min(760px,100%);background:#fffdf8;border-radius:22px;padding:22px 22px 18px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.search-box form{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:999px;padding:6px 6px 6px 18px;background:#fff;color:var(--maroon)}
.search-box form:focus-within{border-color:var(--gold)}
.search-box input[type=search]{flex:1;border:0!important;outline:0;font:16px var(--sans);padding:10px 0;background:none}
.search-box .go{border:0;background:var(--maroon);color:#fff;border-radius:999px;padding:12px 22px;font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.search-box .close{position:absolute;right:-12px;top:-12px;width:34px;height:34px;border-radius:50%;border:0;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.18);font-size:22px;color:var(--maroon);cursor:pointer}
.search-pop{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font:12px var(--sans);color:var(--muted)}
.search-pop a{padding:7px 14px;border-radius:999px;background:#f4ebdf;color:var(--maroon2);font-size:12px}
.search-pop a:hover{background:var(--maroon);color:#fff}

/* homepage tabs */
.danvi-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 26px;margin:-8px 0 30px}
.danvi-tabs button{border:0;background:none;padding:8px 2px;font:500 15px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;transition:.2s}
.danvi-tabs button.active,.danvi-tabs button:hover{color:var(--maroon);border-bottom-color:var(--gold)}
.danvi-tab-panel{display:none}
.danvi-tab-panel.active{display:block;animation:danviFade .4s ease}
@keyframes danviFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.danvi-empty-tab{text-align:center;color:var(--muted);padding:30px 0}
.danvi-center-cta{text-align:center;margin-top:30px}

/* product of the week */
.danvi-potw .potw-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;max-width:1050px;margin:0 auto}
.danvi-potw .potw-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px}
.danvi-potw h3{font:500 clamp(28px,3vw,38px)/1.1 var(--serif);color:var(--maroon2);margin:0 0 10px}
.danvi-potw .price{font:600 20px var(--sans);color:var(--maroon);margin-bottom:16px}
.danvi-potw .price del{color:var(--muted);font-weight:400;margin-right:6px}
.danvi-potw .price ins{text-decoration:none}
.danvi-potw .potw-desc{font-size:14px;line-height:1.75;color:#4b3f3b;margin-bottom:22px}
.potw-actions{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:800px){.danvi-potw .potw-grid{grid-template-columns:1fr;gap:24px}}

/* footer */
.danvi-footer{background:#2a0f19;color:#e3d2c8;margin-top:40px}
.danvi-footer .footer-main{grid-template-columns:1.4fr 1fr 1fr 1.2fr 1.3fr!important;gap:40px;padding:60px 25px 46px}
.danvi-footer h4{font:600 12px var(--sans)!important;letter-spacing:.18em;color:var(--gold2)!important;margin:4px 0 16px!important}
.danvi-footer .footer-main a,.danvi-footer .footer-main span{font-size:14px!important;line-height:1.5}
.danvi-footer .footer-main>div{gap:10px!important}
.danvi-footer .footer-brand p{font-size:22px!important}
.danvi-footer .footer-brand span{font-size:13px!important;color:#c0a9a3!important}
.footer-social{display:flex;gap:10px;margin-top:18px}
.footer-social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff}
.footer-social a:hover{background:var(--gold);color:#2a0f19}
.footer-contact b{font:600 13px var(--sans);color:#fff;letter-spacing:.04em;margin-top:6px}
.footer-contact span,.footer-contact a{color:#d9c3b9!important;margin-top:-6px}
.footer-news-form{display:flex;border-bottom:1px solid rgba(255,255,255,.3);margin-top:8px}
.footer-news-form input{flex:1;background:none;border:0;color:#fff;padding:12px 0;font:14px var(--sans);outline:0}
.footer-news-form input::placeholder{color:#a88e8c}
.footer-news-form button{background:none;border:0;color:var(--gold2);font-size:22px;cursor:pointer}
.danvi-footer .footer-bottom{font-size:12px!important;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:1000px){.danvi-footer .footer-main{grid-template-columns:1fr 1fr!important}.danvi-footer .footer-brand,.footer-news{grid-column:1/-1}}
.danvi-wa-float{position:fixed;right:18px;bottom:22px;z-index:400;width:54px;height:54px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s}
.danvi-wa-float:hover{transform:scale(1.07)}
@media(max-width:700px){.danvi-wa-float{bottom:84px;right:14px;width:48px;height:48px}}

/* ===== v1.6.0 colour rhythm: full-width section bands + per-page tones ===== */
:root{--blush:#f6e7dc;--sand:#f3e6d3;--ivory:#fffaf2;--deep:#3a0d1b}
.band{position:relative;box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax);background:var(--band)}
.home .category-section{--band:var(--ivory)}
.home .new-arrivals{--band:var(--blush)}
.home .danvi-potw{--band:#fff}
.home .occasion-section{--band:var(--sand);padding-top:60px!important}
.home .collection-panels{--band:var(--ivory);padding-top:60px!important}
.home .category-section,.home .new-arrivals,.home .danvi-potw,.home .occasion-section,.home .collection-panels{position:relative;box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax);background:var(--band)}
.section-title h2:after,.home .product-heading h2:after{content:"";display:block;width:64px;height:9px;margin:14px auto 0;background:radial-gradient(circle,var(--gold) 2.5px,transparent 3px) center/9px 9px no-repeat,linear-gradient(var(--gold),var(--gold)) left center/26px 1px no-repeat,linear-gradient(var(--gold),var(--gold)) right center/26px 1px no-repeat}
.home .new-arrivals .danvi-tabs button.active{background:#fff;border-radius:999px;padding:8px 16px;border-bottom-color:transparent;box-shadow:0 4px 14px rgba(108,4,36,.1)}
.home .danvi-potw .potw-info{background:var(--ivory);border:1px solid var(--line);border-radius:22px;padding:34px}
.brand-values{background:var(--deep)!important;color:#f3dfcf;border:0!important;max-width:none!important;box-shadow:0 0 0 100vmax var(--deep);clip-path:inset(0 -100vmax)}
.brand-values b{color:#fff}
.brand-values span{color:var(--gold2)!important;border-color:rgba(226,184,92,.5)!important}
.newsletter{border-radius:22px;background:linear-gradient(120deg,#f1e1cf,#f8ede1)!important;margin:50px auto!important}

/* shop & category: warm ivory canvas, white cards */
body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product,body.search-results{background:var(--ivory)}
/* product page: clean white with a cream buying panel */
body.single-product{background:#fff}
.single-product div.product .summary{background:var(--ivory);border:1px solid var(--line);border-radius:22px;padding:30px 32px!important}
.single-product .woocommerce-tabs{background:#fbf5ec;border-radius:22px;padding:24px 28px;margin-top:40px}
.single-product .woocommerce-tabs ul.tabs{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 18px;border-bottom:1px solid var(--line)}
.single-product .woocommerce-tabs ul.tabs li{margin:0}
.single-product .woocommerce-tabs ul.tabs li a{display:block;padding:10px 18px;font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--maroon);box-shadow:inset 0 -2px 0 var(--gold)}
.danvi-low-stock{color:#b5531b!important;font-weight:600}
/* bag & checkout: soft blush canvas, white cards */
body.woocommerce-cart,body.woocommerce-checkout{background:var(--blush)}
.woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout form.checkout #customer_details,.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-order,.wp-block-woocommerce-cart .wc-block-cart__main,.wp-block-woocommerce-cart .wc-block-cart__sidebar,.wp-block-woocommerce-checkout .wc-block-checkout__main,.wp-block-woocommerce-checkout .wc-block-checkout__sidebar{background:#fff;border-radius:20px;padding:24px!important;box-shadow:0 10px 30px rgba(108,4,36,.06)}
.woocommerce-checkout #order_review_heading{font:500 26px var(--serif);color:var(--maroon2);margin-top:26px}
/* my account: sand canvas, pill navigation */
body.woocommerce-account{background:var(--sand)}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:12px;margin:0;background:#fff;border-radius:18px}
.woocommerce-MyAccount-navigation li a{display:block;padding:11px 16px;border-radius:12px;font:500 14px var(--sans);color:var(--ink)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--maroon);color:#fff}
.woocommerce-MyAccount-content{background:#fff;border-radius:18px;padding:26px}
/* content pages: ivory with a soft corner glow */
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account){background:radial-gradient(circle at 100% 0,rgba(226,184,92,.12),transparent 40%),var(--ivory)}

.benefit>span .danvi-ico{width:20px;height:20px}.brand-values span{display:inline-grid;place-items:center}

/* ===== v1.7.0 cinematic hero + transparent header on the homepage ===== */
.hero.hero-cine{height:clamp(520px,calc(100vh - 34px),880px);margin-top:-84px;background:#1d0a10}
.hero-cine .hero-slide{display:block!important;opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 1.2s}
.hero-cine .hero-slide:before{display:none}
.hero-cine .hero-slide.active{opacity:1;visibility:visible}
.hero-cine .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.08);transition:transform 7s ease-out}
.hero-cine .hero-slide.active .hero-bg{transform:scale(1)}
.hero-cine .hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,4,10,.55) 0%,rgba(20,4,10,0) 26%,rgba(20,4,10,0) 52%,rgba(20,4,10,.7) 100%)}
.hero-cap{position:absolute;z-index:3;left:max(6vw,calc((100vw - var(--max))/2 + 25px));bottom:clamp(70px,12vh,120px);max-width:620px;color:#fff;opacity:0;transform:translateY(24px);transition:opacity .9s .5s,transform .9s .5s}
.hero-slide.active .hero-cap{opacity:1;transform:none}
.hero-cap .eyebrow{color:var(--gold2)!important;letter-spacing:.28em}
.hero-cap h2{font:500 clamp(38px,5.2vw,74px)/1 var(--serif);margin:0 0 26px;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero-cap .hero-btn{display:inline-block;background:#fff;color:var(--maroon);padding:15px 30px;font:700 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;transition:.25s}
.hero-cap .hero-btn:hover{background:var(--gold2);color:var(--maroon2)}
.hero-cine .hero-arrow{width:50px;height:50px;border-radius:50%;background:rgba(30,6,14,.45);backdrop-filter:blur(4px);display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.25);transition:.25s}
.hero-cine .hero-arrow:hover{background:var(--maroon)}
.hero-cine .hero-arrow.left{left:22px}.hero-cine .hero-arrow.right{right:22px}
.hero-cine .hero-dots{left:50%;transform:translateX(-50%);bottom:28px}
.hero-cine .hero-dot{width:9px;height:9px;background:rgba(255,255,255,.55);border:0;transition:.3s}
.hero-cine .hero-dot.active{background:#fff;width:28px;border-radius:9px}
/* header floats transparently over the hero until you scroll */
.home .header{transition:background .35s,box-shadow .35s,border-color .35s}
.home .header:not(.is-scrolled){background:transparent!important;border-bottom-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.home .header:not(.is-scrolled) .nav .nav-menu{background:transparent;border-color:transparent;box-shadow:none}
.home .header:not(.is-scrolled) .nav .nav-menu>li>a{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.home .header:not(.is-scrolled) .nav .nav-menu>li>a:hover,.home .header:not(.is-scrolled) .nav .nav-menu>li:hover>a{background:rgba(255,255,255,.16);color:#fff}
.home .header:not(.is-scrolled) .header-tools>a,.home .header:not(.is-scrolled) .header-tools>button{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.35)!important;color:#fff!important}
.home .header:not(.is-scrolled) .logo img{box-shadow:0 0 0 2px rgba(255,255,255,.5);background:#fff}
.home .header:not(.is-scrolled) .mobile-menu{color:#fff}
.home .header.is-scrolled{background:rgba(251,247,235,.97)!important;box-shadow:0 6px 24px rgba(38,28,26,.08)}
@media(max-width:700px){.hero.hero-cine{height:78vh;margin-top:-68px}.hero-cap{left:20px;right:20px;bottom:64px}.hero-cine .hero-arrow{display:none}}

/* ===== curved category carousel ===== */
.cat-arc-wrap{position:relative}
.category-grid.cat-arc{display:flex!important;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding:46px max(20px,calc(50% - 130px)) 70px;scrollbar-width:none;grid-template-columns:none!important;cursor:grab;perspective:1200px}
.cat-arc::-webkit-scrollbar{display:none}
.cat-arc.dragging{cursor:grabbing;scroll-snap-type:none}
.cat-arc .category{flex:0 0 240px;scroll-snap-align:center;background:none!important;border:0!important;text-align:center;transform-origin:50% 120%;transition:transform .25s ease-out;will-change:transform}
.cat-arc .category img{width:100%!important;height:290px!important;object-fit:cover;border-radius:22px;box-shadow:0 18px 40px rgba(38,28,26,.18);pointer-events:none}
.cat-arc .category div{background:none!important;padding:14px 4px 0!important}
.cat-arc .category b{display:block;font:500 24px var(--serif)!important;color:var(--ink)}
.cat-arc .category small{display:block;font:13px var(--sans)!important;color:var(--muted);margin-top:4px}
.cat-arc-nav{position:absolute;top:42%;z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--maroon);font-size:26px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(38,28,26,.12)}
.cat-arc-nav.prev{left:6px}.cat-arc-nav.next{right:6px}
.cat-arc-nav:hover{background:var(--maroon);color:#fff}
@media(max-width:700px){.cat-arc .category{flex-basis:200px}.cat-arc .category img{height:240px!important}.cat-arc-nav{display:none}}
.home .header:not(.is-scrolled) .nav>a{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.cat-arc-wrap{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.cat-arc-nav.prev{left:max(12px,calc(50vw - 640px))}.cat-arc-nav.next{right:max(12px,calc(50vw - 640px))}
.home .category-section{clip-path:none!important;overflow:visible!important}
body{overflow-x:clip}
.cat-arc .category div{box-shadow:none!important}

/* ===== v1.8.0 carousel engine (transform based) ===== */
.category-grid.cat-arc{display:block!important;overflow:hidden!important;padding:40px 0 70px!important;cursor:grab;touch-action:pan-y;user-select:none}
.cat-arc-track{display:flex;gap:26px;width:max-content;transition:transform .7s cubic-bezier(.22,.8,.2,1);will-change:transform}
.cat-arc .category{flex:0 0 260px!important;transition:transform .7s cubic-bezier(.22,.8,.2,1)}
.cat-arc .category img{height:320px!important;transition:transform 1.2s ease,box-shadow .4s}
.cat-arc .category .ci{display:block;overflow:hidden;border-radius:22px}
.cat-arc .category:hover img{transform:scale(1.12)}
.cat-arc .category.is-center img{box-shadow:0 24px 50px rgba(108,4,36,.28)}
.cat-arc-dots{display:flex;justify-content:center;gap:8px;margin-top:-30px;padding-bottom:10px}
.cat-arc-dots button{width:8px;height:8px;border-radius:9px;border:0;background:#d9c6b2;padding:0;cursor:pointer;transition:.3s}
.cat-arc-dots button.active{width:26px;background:var(--maroon)}
@media(max-width:700px){.cat-arc .category{flex-basis:210px!important}.cat-arc .category img{height:260px!important}}
/* logo: show the whole logo (no crop) */
.logo{width:auto!important;flex:none}
.logo img,.logo .custom-logo{height:64px!important;width:auto!important;max-width:190px;object-fit:contain!important;border-radius:0!important;object-position:center}
.home .header:not(.is-scrolled) .logo img,.home .header:not(.is-scrolled) .logo .custom-logo{background:rgba(255,253,248,.94);border-radius:14px!important;padding:4px 10px;box-shadow:0 4px 18px rgba(0,0,0,.18)!important}
@media(max-width:700px){.logo img,.logo .custom-logo{height:50px!important;max-width:140px}}
.cat-arc-dots{margin-top:0!important;padding-bottom:20px}
.category-grid.cat-arc{padding:40px 0 90px!important}
/* v1.8.1 fix: the category band's full-width shadow was covering the hero.
   Use a contained pseudo-element background instead. */
.home .category-section{box-shadow:none!important;background:transparent!important;clip-path:none!important;isolation:isolate;position:relative}
.home .category-section:before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:var(--ivory);z-index:-1}

/* ===== v1.9.0 readable typography (min 12px) + responsive pass ===== */
body{font-size:15px;line-height:1.6;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
.eyebrow{font-size:12px!important;letter-spacing:.2em}
/* top announcement bar */
.announcement{height:auto!important;min-height:40px;padding:8px 16px;font:500 13.5px/1.4 var(--sans)!important;letter-spacing:.02em}
.announcement>div{padding:0 10px}
/* benefits strip under the slider */
.benefits{padding:28px 18px!important;gap:10px}
.benefit{gap:14px!important;padding:4px 10px}
.benefit>span{width:52px!important;height:52px!important;flex:none}
.benefit>span .danvi-ico{width:22px;height:22px}
.benefit b{font:600 16px/1.25 var(--serif)!important;color:var(--maroon2)}
.benefit small{font-size:13px!important;line-height:1.35;margin-top:2px}
/* homepage text blocks */
.section-title h2,.product-heading h2{font-size:clamp(30px,3.6vw,44px)!important;line-height:1.05}
.category small,.cat-arc .category small{font-size:13.5px!important}
.festive-copy p{font-size:12px!important;letter-spacing:.2em}
.festive-copy span{font-size:16px!important}
.festive-copy a,.panel a,.product-heading>a,.hero-link{font-size:12px!important;letter-spacing:.14em}
.panel p{font-size:12px!important;letter-spacing:.18em}
.occasion-card p{font-size:14px!important}
.brand-values b{font-size:17px!important}
.newsletter>div>p:last-child{font-size:15px!important}
.newsletter button{font-size:12px!important;letter-spacing:.14em}
.newsletter input{font-size:15px}
.toast{font-size:14px!important}
/* footer */
.footer-bottom{font-size:13px!important}
/* drawer + mobile nav */
.drawer-head{font-size:13px!important}
.drawer-box{font-size:13px!important}
.mobile-nav a{font-size:11.5px!important;font-weight:500}
.cart-contents-count{font-size:10px!important}

/* ---------- tablet ---------- */
@media(max-width:1024px){
  .announcement{grid-template-columns:1fr!important}
  .announcement>div:not(:first-child){display:none}
  .benefits{grid-template-columns:repeat(3,1fr)!important;row-gap:22px}
  .benefit{border-right:0!important;justify-content:flex-start!important}
  .header-inner{gap:16px!important;padding:0 18px!important}
  .danvi-potw .potw-grid{gap:30px}
  .danvi-footer .footer-main{gap:30px!important}
}
/* ---------- phones ---------- */
@media(max-width:700px){
  body{font-size:15px}
  .announcement{font-size:13px!important;min-height:36px;padding:7px 12px}
  .benefits{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:18px 14px!important;scrollbar-width:none}
  .benefits::-webkit-scrollbar{display:none}
  .benefit{flex:0 0 78%;scroll-snap-align:start;background:#fff;border:1px solid var(--line)!important;border-radius:16px;padding:14px!important}
  .section{padding:44px 16px!important}
  .section-title h2,.product-heading h2{font-size:30px!important}
  .danvi-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:6px 18px;padding:0 4px 6px;scrollbar-width:none}
  .danvi-tabs::-webkit-scrollbar{display:none}
  .danvi-tabs button{white-space:nowrap;font-size:13px}
  .festive-banner{min-height:340px}
  .festive-copy h2{font-size:34px!important}
  .occasion-grid,.collection-panels{grid-template-columns:1fr!important}
  .brand-values{grid-template-columns:1fr 1fr!important;row-gap:16px}
  .brand-values>div{border:0!important}
  .newsletter{grid-template-columns:1fr!important;padding:34px 22px!important;margin:30px 14px!important}
  .danvi-potw .potw-info{padding:24px}
  .danvi-archive-hero h1{font-size:34px!important}
  .woocommerce-result-count,.woocommerce-ordering{float:none!important;display:block;text-align:left}
  .woocommerce-ordering select{width:100%}
  .single-product div.product .summary{padding:22px!important}
  .danvi-footer .footer-main{padding:44px 20px 34px!important}
  .footer-bottom{flex-direction:column;gap:6px;text-align:center}
  .nav .sub-menu{display:none!important}
}
@media(max-width:400px){
  .benefit{flex-basis:86%}
  .hero-cap h2{font-size:34px}
}
.nav>a{font-size:13px!important;letter-spacing:.08em}.hero-cap .hero-btn,.hero-btn{font-size:12.5px!important}
@media(max-width:700px){.header-tools .hide-mobile{display:none!important}.header-tools{gap:8px}.header-tools>a,.header-tools>button{width:40px!important;height:40px!important}.logo{margin-right:auto}}
/* ===== v1.9.1 phone header + logo ===== */
@media(max-width:700px){
  .header-inner{height:64px!important;padding:0 14px!important;gap:10px!important}
  .home .hero.hero-cine{margin-top:-64px!important}
  .logo{position:absolute;left:50%;transform:translateX(-50%);margin:0!important}
  .logo img,.logo .custom-logo{height:46px!important;width:46px!important;max-width:none!important;object-fit:contain!important;border-radius:50%!important;padding:0!important;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12)!important}
  .home .header:not(.is-scrolled) .logo img,.home .header:not(.is-scrolled) .logo .custom-logo{padding:2px!important;border-radius:50%!important;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.55),0 4px 14px rgba(0,0,0,.25)!important}
  .mobile-menu{display:grid!important;place-items:center;width:40px;height:40px;font-size:24px;background:none;border:0;color:var(--maroon)}
  .header-tools{margin-left:auto}
  .header-tools>a,.header-tools>button{width:38px!important;height:38px!important}
}
@media(max-width:700px){.home .hero.hero-cine{margin-top:-65px!important}}

/* v1.9.3 ring carousel */
.cat-arc .cat-arc-ring{position:relative;display:block!important;transform:none!important;width:100%;transition:none!important}
.cat-arc .cat-arc-ring>.category{position:absolute!important;left:50%;top:20px;margin:0!important;translate:-50% 0;transition:transform .6s cubic-bezier(.22,.8,.25,1),opacity .4s}
.cat-arc.dragging .cat-arc-ring>.category{transition:none!important}
.cat-arc .cat-arc-ring>.category{width:260px}
.cat-arc{overflow:hidden}
@media(max-width:700px){.cat-arc .cat-arc-ring>.category{width:210px}}

/* 2.8.2 arc: no scroll-snapping inside the ring (it re-snapped the row sideways = jumbled cards) */
.category-grid.cat-arc{scroll-snap-type:none!important;overflow:hidden!important}
.cat-arc .category{scroll-snap-align:none!important}

/* 2.8.2 mega menu: hide after scroll / click; tap-to-open for "#" items */
.nav.mm-closed .sub-menu{opacity:0!important;visibility:hidden!important;pointer-events:none}
.nav li.mm-open>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)!important}

/* 2.8.2 categories: flat swipeable row (replaces the arc) */
.cat-flat-wrap{margin-left:0!important;margin-right:0!important;position:relative}
.category-grid.cat-arc.cat-flat{display:flex!important;gap:22px;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;padding:20px 4px 30px!important;scrollbar-width:thin;cursor:auto;perspective:none}
.cat-flat::-webkit-scrollbar{height:6px}.cat-flat::-webkit-scrollbar-thumb{background:#e3d6c8;border-radius:6px}
.cat-flat .category{flex:0 0 calc((100% - 66px)/4)!important;width:auto!important;position:static!important;transform:none!important;translate:none!important;opacity:1!important;scroll-snap-align:start!important;transition:none!important}
.cat-flat .category img{height:300px!important;transform:none!important;box-shadow:0 10px 26px rgba(38,28,26,.12)!important}
.cat-flat .category:hover img{transform:scale(1.04)!important}
.cat-flat-wrap .cat-arc-nav{top:40%}
.cat-flat-wrap .cat-arc-nav.prev{left:-8px!important}.cat-flat-wrap .cat-arc-nav.next{right:-8px!important}
.cat-flat-wrap .cat-arc-nav.off{opacity:0;pointer-events:none}
.cat-flat-wrap .cat-arc-dots{display:none!important}
@media(max-width:1024px){.cat-flat .category{flex-basis:calc((100% - 44px)/3)!important}}
@media(max-width:700px){.cat-flat .category{flex-basis:70%!important}.cat-flat .category img{height:260px!important}}
.nav .sub-menu{cursor:default}
/* 2.8.2 phones: when slides have a mobile image, the slider takes its 4:5 shape so nothing is cut */
@media(max-width:700px){
  body.danvi-hero-mobile .hero.hero-cine{height:auto!important;aspect-ratio:4/5;min-height:0!important}
  body.danvi-hero-mobile .hero.hero-cine .hero-slides,body.danvi-hero-mobile .hero.hero-cine .hero-slide{height:100%}
  body.danvi-hero-mobile .hero.hero-cine picture{position:absolute;inset:0;display:block}
  body.danvi-hero-mobile .hero.hero-cine .hero-bg{width:100%;height:100%;object-fit:cover;object-position:center}
}
.hero-slide picture{display:contents}
