/*
Theme Name: DHN Glass
Theme URI: https://dhnglass.com
Author: DHN Group, Inc.
Description: Bespoke theme for DHN Glass — frameless glass railings, Pompano Beach FL. Bricolage Grotesque + Inter, bone/ink/brass/teal, GSAP + Lenis motion. Built from the approved design direction.
Version: 1.1.54
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: dhn-glass
*/

:root{
  --bone:#EBE6DB;--paper:#F5F1E9;--ink:#141109;--ink2:#2b271e;
  --brass:#A6824F;--brass-2:#8a6a3c;--brass-soft:#c9a877;
  --teal:#1c3a34;--teal-2:#14302b;--teal-3:#0e2622;
  --muted:#8f8676;--line:rgba(20,17,9,.14);--line-2:rgba(245,241,233,.16);
  --fd:"Bricolage Grotesque",sans-serif;--fb:"Inter",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;scroll-behavior:auto}
body{background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.5;overflow-x:hidden}
@media(hover:hover) and (pointer:fine){body.dhn-cursor,body.dhn-cursor *{cursor:none}}
img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
h1,h2,h3{font-family:var(--fd);font-weight:600;line-height:.98;letter-spacing:-.02em}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--brass-2)}
.sec-num{font-family:var(--fd);font-size:14px;color:var(--brass-2);font-weight:600}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:100px;font-weight:600;font-size:14px;background:var(--ink);color:var(--paper);transition:.35s;border:none}
.btn:hover{background:var(--brass);color:var(--ink);transform:translateY(-2px)}
.btn--brass{background:var(--brass);color:var(--ink)}
.btn--ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
/* cursor */
.cursor{position:fixed;width:12px;height:12px;border-radius:50%;background:var(--ink);pointer-events:none;z-index:9999;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(245,241,233,.9),0 2px 8px rgba(0,0,0,.25)}
.ring{position:fixed;width:44px;height:44px;border:2px solid var(--brass);border-radius:50%;pointer-events:none;z-index:9998;top:0;left:0;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s,border-color .3s;opacity:.85}
.ring.hv{width:70px;height:70px;background:rgba(166,130,79,.14)}
@media(max-width:820px){.cursor,.ring{display:none}}
/* nav */
.nav{position:fixed;top:0;left:0;width:100%;z-index:200;padding:16px 0;transition:.4s}
.nav.solid{background:rgba(245,241,233,.9);backdrop-filter:blur(14px);padding:11px 0;border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-left:clamp(12px,2vw,18px)}
.brand{display:flex;align-items:center}
.brand img{height:17px;width:auto;display:block}
.nlinks{display:flex;gap:19px;align-items:center;font-size:13.5px;font-weight:500}
.nlinks a{position:relative;opacity:.8;transition:.3s;white-space:nowrap}
.nlinks a:hover,.nlinks a.on{opacity:1}
.nlinks a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--brass);transition:.35s}
.nlinks a:hover:not(.btn)::after,.nlinks a.on:not(.btn)::after{width:100%}
.nlinks .btn{padding:10px 18px;font-size:13px}
@media(max-width:1180px){.nlinks{gap:14px;font-size:12.5px}}
@media(max-width:1024px){.nlinks a.nl{display:none}.nav .burger{display:flex}}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px}
.burger span{width:26px;height:2px;background:var(--ink);display:block}
.mobile-menu{position:fixed;inset:0;z-index:199;background:var(--paper);transform:translateY(-100%);transition:.5s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;justify-content:center;padding:0 30px;gap:6px}
.mobile-menu.open{transform:none}
.mobile-menu a{font-family:var(--fd);font-size:32px;font-weight:500;padding:8px 0;border-bottom:1px solid var(--line)}
.pt{padding-top:120px}
[data-a]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
[data-a].in{opacity:1;transform:none}
.sec-pad{padding:clamp(70px,11vh,140px) 0}
body:not(.home) .wrap.sec-pad{padding-left:clamp(20px,5vw,72px);padding-right:clamp(20px,5vw,72px)}
.sec-head{display:flex;gap:22px;align-items:baseline;margin-bottom:46px}
/* hero */
.hero{min-height:100vh;display:flex;align-items:flex-end;padding-bottom:6vh;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(120% 90% at 78% 12%,rgba(166,130,79,.20),transparent 55%),linear-gradient(200deg,#dfd8ca,#ece7dc 45%,#e4ddce)}
.hero-bg .ph{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3;mix-blend-mode:multiply;filter:grayscale(.15)}
.grain{position:absolute;inset:0;z-index:1;opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/></svg>")}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero-top{position:absolute;top:14vh;left:0;width:100%;display:flex;justify-content:space-between;padding:0 clamp(20px,5vw,72px)}
.hero-loc{font-size:13px;max-width:230px;color:var(--ink2)}.hero-loc b{font-family:var(--fd)}
.hero h1{font-size:clamp(40px,8.4vw,116px);font-weight:500;letter-spacing:-.03em}
.hero h1 .ln{display:block;overflow:hidden}.hero h1 .ln i{display:block;font-style:normal;transform:translateY(105%)}
.hero h1 em{font-style:italic;font-weight:300;color:var(--brass-2)}
.hero-sub{display:flex;justify-content:space-between;align-items:flex-end;margin-top:30px;gap:30px;flex-wrap:wrap}
.hero-sub p{max-width:420px;color:var(--ink2)}
.cue{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cue .bar{width:44px;height:1px;background:var(--ink);transform-origin:left;animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleX(.3);opacity:.4}50%{transform:scaleX(1);opacity:1}}
.mani{background:var(--bone)}
.mani .big{font-family:var(--fd);font-weight:400;font-size:clamp(26px,4.4vw,58px);line-height:1.09;letter-spacing:-.02em;max-width:18ch}
.mani .big .w{display:inline-block;opacity:.14}
.mani .row{display:flex;justify-content:space-between;gap:60px;flex-wrap:wrap;margin-top:60px;border-top:1px solid var(--line);padding-top:32px}
.mani .row p{max-width:520px;color:var(--ink2)}.mani .row .idx{font-family:var(--fd);font-size:13px;color:var(--brass-2)}
.stats{background:var(--teal);color:var(--paper)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2)}
.stat{background:var(--teal);padding:38px 26px}
.stat .n{font-family:var(--fd);font-size:clamp(38px,5.6vw,74px);font-weight:500;letter-spacing:-.03em;line-height:1}
.stat .n .u{font-size:.42em;color:var(--brass-soft);vertical-align:super;margin-left:2px}
.stat .l{margin-top:12px;font-size:14px;color:rgba(245,241,233,.7);max-width:190px}
@media(max-width:820px){.stats .grid{grid-template-columns:repeat(2,1fr)}}
.sol .list{border-top:1px solid var(--line)}
.sol-item{display:grid;grid-template-columns:60px 1.1fr 1fr 110px;gap:24px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .5s cubic-bezier(.22,1,.36,1)}
.sol-item:hover{padding-left:20px}
.sol-item .idx{font-family:var(--fd);font-size:14px;color:var(--brass-2)}
.sol-item h3{font-size:clamp(24px,3.4vw,40px);font-weight:500}
.sol-item p{color:var(--ink2);font-size:15px;max-width:340px}
.sol-item .go{justify-self:end;width:50px;height:50px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.35s}
.sol-item:hover .go{background:var(--brass);border-color:var(--brass);transform:rotate(-45deg)}
.sol-item .peek{position:absolute;right:150px;top:50%;width:210px;height:140px;transform:translateY(-50%) scale(.9);border-radius:10px;opacity:0;pointer-events:none;background-size:cover;background-position:center;transition:opacity .4s,transform .5s;z-index:3;box-shadow:0 30px 60px -20px rgba(20,17,9,.4)}
.sol-item:hover .peek{opacity:1;transform:translateY(-50%) scale(1)}
@media(max-width:900px){.sol-item{grid-template-columns:36px 1fr}.sol-item p,.sol-item .go,.sol-item .peek{display:none}}
.config{background:var(--ink);color:var(--paper);text-align:center;overflow:hidden}
.config h2{font-size:clamp(38px,7vw,110px);font-weight:500;letter-spacing:-.03em;line-height:.94}
.config h2 em{font-style:italic;font-weight:300;color:var(--brass-soft)}
.config p{max-width:440px;margin:24px auto 0;color:rgba(245,241,233,.66)}
.config .marq{white-space:nowrap;font-family:var(--fd);font-size:clamp(56px,13vw,170px);font-weight:600;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px rgba(245,241,233,.16);opacity:.6;margin:6px 0}
.proc .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.proc-step{border-top:1px solid var(--ink);padding-top:20px}
.proc-step .s{font-family:var(--fd);font-size:13px;color:var(--brass-2)}
.proc-step h3{font-size:clamp(22px,2.4vw,30px);font-weight:500;margin:28px 0 12px}
.proc-step p{font-size:14px;color:var(--ink2)}
@media(max-width:820px){.proc .grid{grid-template-columns:1fr 1fr}}
.gal{background:var(--teal-2);color:var(--paper);padding:clamp(70px,11vh,130px) 0;overflow:hidden}
.gal .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}
.gal .arrows{display:flex;gap:10px}
.gal .arrows button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--paper);font-size:18px;transition:.3s}
.gal .arrows button:hover{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.gal-scroll{display:flex;gap:24px;overflow-x:auto;padding:0 clamp(20px,5vw,72px) 10px;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.gal-scroll::-webkit-scrollbar{height:0}
.gal-card{flex:0 0 auto;width:min(64vw,460px);scroll-snap-align:start}
.gal-card .img{height:min(58vh,440px);border-radius:12px;background-size:cover;background-position:center}
.gal-card .cap{display:flex;justify-content:space-between;margin-top:14px;font-size:14px;color:rgba(245,241,233,.7)}
.gal-card .cap b{font-family:var(--fd);color:var(--paper);font-weight:500}
/* inner-page generic hero */
.ihero{padding-top:150px;padding-bottom:20px}
.woocommerce .ihero{padding-top:30px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pgrid{grid-template-columns:1fr}}
.pgrid--prod{margin-top:22px}
.pcard{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper);transition:.35s;color:inherit}
.pcard:hover{border-color:var(--brass);transform:translateY(-3px);box-shadow:0 20px 44px rgba(20,17,9,.07)}
.pcard-img{aspect-ratio:4/3;background-size:cover;background-position:center;background-color:var(--bone)}
.pcard-b{padding:18px 20px 22px}
.pcard-b h3{font-family:var(--fd);font-size:22px;font-weight:500;letter-spacing:-.01em;margin:0 0 4px}
.pcard-b .c{font-size:13px;color:var(--brass-2);letter-spacing:.03em}
.pcard-b .price{display:block;font-size:15px;color:var(--ink2);font-weight:600;margin-top:2px}
.pcard-b .price del{opacity:.5;font-weight:400;margin-right:6px}
.pcard-b .price ins{text-decoration:none}
.ppag{margin-top:44px}
.ihero .eyebrow{margin-bottom:16px}
.wrap.ihero h1{font-size:clamp(46px,7vw,100px);font-weight:500;letter-spacing:-.035em;line-height:1.02}
.ihero .lead{max-width:520px;color:var(--ink2);margin-top:22px;font-size:15px}
/* services */
.srv-list{border-top:1px solid var(--line);margin-top:10px}
.srv{display:grid;grid-template-columns:60px 1fr 1.2fr;gap:24px;padding:32px 0;border-bottom:1px solid var(--line);align-items:baseline}
.srv .idx{font-family:var(--fd);color:var(--brass-2);font-size:14px}
.srv h3{font-size:clamp(22px,2.6vw,34px);font-weight:500}
.srv p{color:var(--ink2);font-size:15px}
@media(max-width:760px){.srv{grid-template-columns:1fr}}
/* achievements */
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:820px){.agrid{grid-template-columns:1fr 1fr}}
.acard{border-radius:12px;overflow:hidden;position:relative}
.acard .img{aspect-ratio:4/3;background-size:cover;background-position:center;transition:.6s}
.acard:hover .img{transform:scale(1.05)}
.acard .cap{position:absolute;left:0;bottom:0;width:100%;padding:18px;background:linear-gradient(transparent,rgba(14,17,9,.7));color:var(--paper)}
.acard .cap b{font-family:var(--fd);font-weight:500}.acard .cap span{display:block;font-size:13px;opacity:.75}
/* blog */
.blist{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:820px){.blist{grid-template-columns:1fr 1fr}}@media(max-width:560px){.blist{grid-template-columns:1fr}}
.bpost .img{aspect-ratio:3/2;border-radius:12px;background-size:cover;background-position:center;transition:.5s}
.bpost:hover .img{transform:scale(.985)}
.bpost .k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-2);margin:16px 0 8px}
.bpost h3{font-size:22px;font-weight:500;line-height:1.1}
.bpost p{color:var(--ink2);font-size:14px;margin-top:8px}
/* forms */
.acc{max-width:440px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:40px}
.acc h2{font-size:34px;font-weight:500}
.acc .sub{color:var(--ink2);font-size:14px;margin:8px 0 24px}
.f{margin-bottom:18px}
.f label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.f input,.f textarea,.form input,.form textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);padding:10px 0;font-family:var(--fb);font-size:16px;color:var(--ink);outline:none;transition:.3s}
.f input:focus,.form input:focus,.f textarea:focus,.form textarea:focus{border-color:var(--brass)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px)}
@media(max-width:820px){.contact{grid-template-columns:1fr}}
.contact .info p{color:var(--ink2);margin-bottom:16px;max-width:380px}
.contact .info .big{font-family:var(--fd);font-size:22px;color:var(--ink);margin-bottom:6px}
.form .f{margin-bottom:20px}
/* footer */
.foot{background:var(--teal-3);color:var(--paper);padding:clamp(70px,10vh,120px) 0 40px}
.foot .cta{border-bottom:1px solid var(--line-2);padding-bottom:56px;margin-bottom:50px}
.foot .cta .eyebrow{color:var(--brass-soft)}
.foot .cta h2{font-size:clamp(42px,9vw,140px);font-weight:500;letter-spacing:-.035em;margin:16px 0 28px}
.foot .cta h2 em{font-style:italic;font-weight:300}
.foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:30px}
.foot .cols h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,241,233,.5);margin-bottom:16px;font-weight:600}
.foot .cols a,.foot .cols p{display:block;color:rgba(245,241,233,.82);font-size:15px;margin-bottom:9px}
.foot .cols a:hover{color:var(--brass-soft)}
.foot .bb{font-family:var(--fd);font-weight:700;font-size:clamp(56px,15vw,200px);letter-spacing:-.03em;line-height:.8;margin-top:56px;color:transparent;-webkit-text-stroke:1px rgba(245,241,233,.22)}
.foot .legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:26px;font-size:13px;color:rgba(245,241,233,.5)}
@media(max-width:820px){.foot .cols{grid-template-columns:1fr 1fr}}
/* rich text (pages / posts) */
.dhn-richtext h2{font-size:clamp(26px,3.4vw,40px);font-weight:600;margin:36px 0 14px;color:var(--ink)}
.dhn-richtext h3{font-size:clamp(21px,2.4vw,28px);font-weight:500;margin:28px 0 10px;color:var(--ink)}
.dhn-richtext p{margin-bottom:18px}
.dhn-richtext ul,.dhn-richtext ol{margin:0 0 18px 20px}
.dhn-richtext li{margin-bottom:8px}
.dhn-richtext a{color:var(--brass-2);text-decoration:underline;text-underline-offset:3px}
.dhn-richtext img{border-radius:12px;margin:20px 0}
.dhn-richtext blockquote{border-left:2px solid var(--brass);padding-left:20px;margin:24px 0;font-family:var(--fd);font-size:22px;color:var(--ink)}
/* pagination */
.pagination .nav-links,.woocommerce-pagination ul{display:flex;gap:8px;list-style:none;flex-wrap:wrap}
.pagination a,.pagination span,.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:1px solid var(--line);border-radius:100px;padding:0 12px;font-weight:600}
.pagination .current,.woocommerce-pagination .current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
/* ---- WooCommerce baseline (styled properly per-page later) ---- */
.woocommerce, .woocommerce-page{padding-top:120px}
.woocommerce .page-title,.woocommerce h1{font-family:var(--fd);font-weight:500;letter-spacing:-.02em}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:0;list-style:none}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}}
.woocommerce ul.products li.product{text-align:left}
.woocommerce ul.products li.product a img{border-radius:12px;aspect-ratio:4/5;object-fit:cover;margin-bottom:14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--fd);font-size:20px;font-weight:500;padding:0}
.woocommerce ul.products li.product .price{color:var(--brass-2);font-family:var(--fd)}
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,.woocommerce #respond input#submit{background:var(--ink);color:var(--paper);border-radius:100px;font-family:var(--fb);font-weight:600;padding:12px 22px;transition:.3s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover{background:var(--brass);color:var(--ink)}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--brass);color:var(--ink)}
.woocommerce span.onsale{background:var(--brass);color:var(--ink);border-radius:100px}
.woocommerce div.product .product_title{font-size:clamp(30px,4vw,52px)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-family:var(--fd);font-size:26px}
.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:13px;padding-top:120px}

/* --- DHN: enforce brand fonts over residual Elementor-kit / Customizer CSS --- */
html body{font-family:var(--fb)!important}
html body :is(h1,h2,h3,h4,h5,h6){font-family:var(--fd)!important}
html body p,html body a,html body span,html body div,html body li,html body button,html body input,html body select,html body textarea,html body label{font-family:var(--fb)!important}
html body .hero h1,html body .mani .big,html body .foot .bb,html body .foot .cta h2,html body .config h2,html body .config .marq,html body .sec-num,html body .stat .n,html body .mobile-menu a{font-family:var(--fd)!important}

/* --- hero entrance (CSS-driven, robust) + nav readability --- */
.hero h1 .ln i{animation:dhnUp .95s cubic-bezier(.16,1,.3,1) both}
.hero h1 .ln:nth-child(2) i{animation-delay:.09s}
.hero h1 .ln:nth-child(3) i{animation-delay:.18s}
@keyframes dhnUp{from{transform:translateY(105%)}to{transform:translateY(0)}}
.hero-sub{animation:dhnFade .9s ease .5s both}
.hero-top{animation:dhnFade .9s ease .3s both}
@keyframes dhnFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.nav:not(.solid){background:linear-gradient(180deg,rgba(245,241,233,.95),rgba(245,241,233,.45) 58%,rgba(245,241,233,0));backdrop-filter:blur(3px)}
html body .nav .nlinks a,html body .nav .nlinks a.nl,html body .nav .nlinks li a{opacity:1 !important;color:var(--ink) !important}
html body .nav .nlinks .btn{color:var(--paper) !important}

/* --- robustness: content always visible (reveal disabled until verified stable with Lenis) --- */
html body .mani .big .w{opacity:1 !important}

/* ============ USER FIXES (round 1) ============ */
body.admin-bar .nav{top:32px}
@media(max-width:782px){body.admin-bar .nav{top:46px}}
html body .nav{padding:20px 0}
html body .nav.solid{padding:12px 0}
html body .nav .nlinks{gap:21px;font-size:14px}
html body .nav .nlinks a.nl{opacity:1 !important;color:var(--ink) !important}
html body .nav .nlinks .btn{color:#fff !important}
html body .nav:not(.solid){background:linear-gradient(180deg,rgba(245,241,233,.98),rgba(245,241,233,.6) 55%,rgba(245,241,233,0));backdrop-filter:blur(5px)}
html body .brand img{height:30px}
html body .btn--brass{color:#fff !important}
html body .btn--brass:hover{color:#fff !important;background:var(--brass-2) !important}
html body .config h2,html body .config p{color:var(--paper) !important}
html body .config h2 em{color:var(--brass-soft) !important}
html body .config .marq{opacity:.4;margin-bottom:30px}
html body .gal h2,html body .gal .sec-num,html body .gal .cap b{color:var(--paper) !important}
html body .gal .cap span{color:rgba(245,241,233,.72) !important}
html body .gal .arrows button{width:52px;height:52px;min-width:52px;flex:0 0 52px;padding:0;border-radius:50%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
html body .foot .cta h2,html body .foot .cta h2 em{color:var(--paper) !important}
.eno-acc-btn-link,#eno-acc-btn-link,.eno-locale-bubble,#eno-locale-bubble,#eno-locale,.eno-locale,.eno-currency-bubble{display:none !important}

#eno-acc-floating-btn,.eno-acc-floating-btn,.eno-acc-btn-link{display:none !important}

/* reveal disabled: content always visible */
html body [data-a]{opacity:1 !important;transform:none !important}

/* ===================== Single product page (DHN) ===================== */
.single-product.woocommerce,.single-product.woocommerce-page{padding-top:0}
.single-product #main.site-main{max-width:1240px;margin:0 auto;padding:clamp(116px,15vh,164px) clamp(20px,5vw,72px) clamp(60px,8vh,110px)}
.single-product .woocommerce-breadcrumb{margin:0 0 20px;padding:0;color:var(--muted);font-family:var(--fb);font-size:12.5px;letter-spacing:.02em}
.single-product .woocommerce-breadcrumb a{color:var(--ink2);text-decoration:none}
.single-product .woocommerce-breadcrumb a:hover{color:var(--brass-2)}

.single-product div.product{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(28px,4.5vw,64px);align-items:start;width:auto!important;max-width:none;margin:0}
.single-product div.product>.woocommerce-product-gallery,
.single-product div.product>.summary{width:auto!important;float:none!important;margin:0!important}
.single-product div.product>.woocommerce-tabs{grid-column:1 / -1;margin-top:clamp(34px,5vw,66px)}

/* gallery */
.single-product .woocommerce-product-gallery{position:relative}
.single-product .woocommerce-product-gallery__wrapper{margin:0}
.single-product .woocommerce-product-gallery__image{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper)}
.single-product .woocommerce-product-gallery__image img{display:block;border-radius:18px}
.single-product .woocommerce-product-gallery__trigger{top:16px;right:16px;background:var(--paper);border:1px solid var(--line)}
.single-product .flex-control-thumbs{margin-top:14px;gap:10px;display:flex;padding:0;list-style:none}
.single-product .flex-control-thumbs li{width:auto}
.single-product .flex-control-thumbs img{width:72px;height:72px;object-fit:cover;border:1px solid var(--line);border-radius:10px;opacity:.7}
.single-product .flex-control-thumbs img.flex-active,.single-product .flex-control-thumbs img:hover{opacity:1;border-color:var(--brass)}

/* summary */
.single-product .summary.entry-summary{padding:4px 0 0}
.single-product .summary .product_title.entry-title{font-family:var(--fd);font-weight:500;letter-spacing:-.025em;line-height:1.02;font-size:clamp(34px,4.4vw,58px);margin:0 0 12px;color:var(--ink)}
.single-product .summary>p.price{font-family:var(--fd);font-weight:500;color:var(--ink2);font-size:clamp(20px,2.2vw,26px);margin:0 0 22px}
.single-product .summary .woocommerce-variation-price .price{font-family:var(--fd);font-weight:500;color:var(--ink);font-size:clamp(24px,2.6vw,34px)}
.single-product .summary del{color:var(--muted);font-weight:400;opacity:.65;margin-right:8px}
.single-product .summary ins{text-decoration:none;color:var(--brass-2)}

/* variation selectors */
.single-product table.variations{border:0;margin:0 0 4px;width:100%;border-collapse:collapse}
.single-product table.variations tbody{display:block}
.single-product table.variations tr{display:block;margin-bottom:15px}
.single-product table.variations th.label{display:block;text-align:left;padding:0 0 8px;font-family:var(--fb);font-weight:600;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink2);width:auto}
.single-product table.variations td.value{display:block;position:relative;padding:0}
.single-product table.variations select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:14px 46px 14px 17px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:15px;line-height:1.2;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.single-product table.variations select:hover{border-color:var(--brass-soft)}
.single-product table.variations select:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(166,130,79,.16)}
.single-product table.variations td.value::after{content:"";position:absolute;right:19px;top:calc(50% - 4px);width:9px;height:9px;border-right:2px solid var(--ink2);border-bottom:2px solid var(--ink2);transform:rotate(45deg);pointer-events:none}
.single-product .reset_variations{display:inline-block;margin:4px 0 0;font-family:var(--fb);font-size:12.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.single-product .reset_variations:hover{color:var(--brass-2)}
.single-product .single_variation_wrap{margin-top:14px}
.single-product .woocommerce-variation-description p{color:var(--ink2);font-family:var(--fb);font-size:14px;line-height:1.7;margin:0 0 8px}
.single-product .woocommerce-variation-availability .stock{font-family:var(--fb);font-size:13px;color:var(--brass-2);font-weight:600}

/* add to cart */
.single-product form.cart{margin:22px 0 22px}
.single-product .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form){display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin:0}
.single-product form.cart .quantity{display:flex}
.single-product form.cart .quantity input.qty{width:76px;height:56px;text-align:center;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:16px;font-weight:600;-moz-appearance:textfield}
.single-product form.cart .quantity input.qty:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(166,130,79,.16)}
.single-product .single_add_to_cart_button.button{height:56px;padding:0 38px;border:0;border-radius:100px;background:var(--ink);color:var(--paper);font-family:var(--fb);font-weight:600;font-size:15px;letter-spacing:.01em;cursor:pointer;transition:background .25s,transform .25s;display:inline-flex;align-items:center;justify-content:center}
.single-product .single_add_to_cart_button.button:hover{background:var(--brass-2);transform:translateY(-2px)}
.single-product .single_add_to_cart_button.button:disabled,.single-product .single_add_to_cart_button.button.disabled,.single-product .single_add_to_cart_button.button.wc-variation-selection-needed{opacity:.35;cursor:not-allowed;transform:none;background:var(--ink)}

/* meta */
.single-product .product_meta{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--fb);font-size:13px;color:var(--muted);line-height:2}
.single-product .product_meta>span{display:block}
.single-product .product_meta a{color:var(--ink2);text-decoration:none}
.single-product .product_meta a:hover{color:var(--brass-2)}

/* tabs */
.single-product .woocommerce-tabs ul.tabs{list-style:none;margin:0 0 24px;padding:0;display:flex;gap:28px;border-bottom:1px solid var(--line)}
.single-product .woocommerce-tabs ul.tabs::before,.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after{display:none}
.single-product .woocommerce-tabs ul.tabs li{margin:0;padding:0;background:none;border:0;border-radius:0}
.single-product .woocommerce-tabs ul.tabs li a{padding:0 0 13px;font-family:var(--fb);font-weight:600;font-size:13.5px;letter-spacing:.02em;color:var(--muted);text-decoration:none;display:inline-block;border-bottom:2px solid transparent;margin-bottom:-1px}
.single-product .woocommerce-tabs ul.tabs li.active a,.single-product .woocommerce-tabs ul.tabs li a:hover{color:var(--ink);border-color:var(--brass)}
.single-product .woocommerce-Tabs-panel{max-width:840px;color:var(--ink2);font-family:var(--fb);line-height:1.75;font-size:15px}
.single-product .woocommerce-Tabs-panel>h2{font-family:var(--fd);font-weight:500;font-size:24px;color:var(--ink);margin:0 0 14px}
.single-product .woocommerce-Tabs-panel table.shop_attributes{border:1px solid var(--line);border-collapse:collapse;width:100%;max-width:520px}
.single-product .woocommerce-Tabs-panel table.shop_attributes th,.single-product .woocommerce-Tabs-panel table.shop_attributes td{border:1px solid var(--line);padding:10px 14px;font-size:14px;text-align:left}
.single-product .woocommerce-Tabs-panel table.shop_attributes th{background:var(--bone);font-weight:600;color:var(--ink2);width:32%}

/* related products */
.single-product .related.products{grid-column:1 / -1;margin-top:clamp(40px,6vw,80px)}
.single-product .related.products>h2{font-family:var(--fd);font-weight:500;font-size:clamp(24px,3vw,34px);color:var(--ink);margin:0 0 24px}

@media(max-width:900px){
  .single-product div.product{grid-template-columns:1fr;gap:26px}
  .single-product #main.site-main{padding-top:clamp(104px,14vh,130px)}
  .single-product .summary .product_title.entry-title{font-size:clamp(30px,8vw,40px)}
}

/* Single product add-to-cart: override WooCommerce .alt default (purple) with DHN ink pill */
.single-product .single_add_to_cart_button.button.alt,
.single-product .single_add_to_cart_button.button{background:var(--ink)!important;background-color:var(--ink)!important;color:var(--paper)!important;border:0!important;box-shadow:none!important;text-shadow:none!important}
.single-product .single_add_to_cart_button.button.alt:hover,
.single-product .single_add_to_cart_button.button:hover{background:var(--brass-2)!important;background-color:var(--brass-2)!important;color:var(--paper)!important}
.single-product .single_add_to_cart_button.button.disabled,
.single-product .single_add_to_cart_button.button:disabled,
.single-product .single_add_to_cart_button.button.wc-variation-selection-needed{background:var(--ink)!important;background-color:var(--ink)!important;color:var(--paper)!important;opacity:.3}

/* Fix: one chevron on variation selects (drop redundant ::after; put chevron on the select) */
.single-product table.variations td.value::after{content:none!important;display:none!important}
.single-product table.variations select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%232b271e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 17px center!important;background-size:12px 8px!important;padding-right:44px}

/* Chatbot temporairement masqué (à restaurer plus tard) */
#eno-chat-widget{display:none!important}


/* v1.1.12 - (02) Systems section card images */
.sol .list .sol-item:nth-child(1) .peek{background-image:url(/wp-content/uploads/2026/09/dhn-sys-frameless.jpg)!important;background-size:cover!important;background-position:center!important}
.sol .list .sol-item:nth-child(2) .peek{background-image:url(/wp-content/uploads/2026/09/dhn-sys-pool-v2.jpg)!important;background-size:cover!important;background-position:center!important}
.sol .list .sol-item:nth-child(3) .peek{background-image:url(/wp-content/uploads/2026/09/dhn-sys-stair.jpg)!important;background-size:cover!important;background-position:center!important}
.sol .list .sol-item:nth-child(4) .peek{background-image:url(/wp-content/uploads/2026/09/dhn-sys-hardware.jpg)!important;background-size:cover!important;background-position:center!important}


/* v1.1.17 - Product page cleanup */
.single-product #sidebar{display:none!important}
.single-product .woocommerce-tabs .panel > h2{font-size:22px;margin:0 0 18px;letter-spacing:-.01em}
.single-product table.shop_attributes{width:100%;border:1px solid rgba(20,20,20,.10);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden}
.single-product table.shop_attributes th,.single-product table.shop_attributes td{padding:16px 22px;border-bottom:1px solid rgba(20,20,20,.08);text-align:left;font-style:normal;vertical-align:middle}
.single-product table.shop_attributes tr:last-child th,.single-product table.shop_attributes tr:last-child td{border-bottom:none}
.single-product table.shop_attributes th{width:190px;background:rgba(20,20,20,.035);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink,#141414)}
.single-product table.shop_attributes td{color:rgba(20,20,20,.72);font-size:15px;line-height:1.55}
.single-product table.shop_attributes td p{margin:0}


/* v1.1.18 - Recent work images */
#galScroll .gal-card:nth-child(1) .img{background-image:url(/wp-content/uploads/2024/03/251053713_115702197571001_77177852820859179_n_auto_x2-640w-1.webp)!important;background-size:cover!important;background-position:center!important}
#galScroll .gal-card:nth-child(2) .img{background-image:url(/wp-content/uploads/2024/03/250448293_115702164237671_2316638607649920566_n_auto_x2-640w-1.webp)!important;background-size:cover!important;background-position:center!important}
#galScroll .gal-card:nth-child(3) .img{background-image:url(/wp-content/uploads/2024/03/256488833_119689610505593_3423725941654255931_n_auto_x2-640w-1.webp)!important;background-size:cover!important;background-position:center!important}
#galScroll .gal-card:nth-child(4) .img{background-image:url(/wp-content/uploads/2024/03/256138496_119689630505591_1224049259717764819_n_auto_x2-640w-1.webp)!important;background-size:cover!important;background-position:center!important}
#galScroll .gal-card:nth-child(5) .img{background-image:url(/wp-content/uploads/2024/03/292779829_185075227300364_4945824972232402055_n_auto_x2-640w-1.jpg)!important;background-size:cover!important;background-position:center!important}


/* v1.1.19 - Recent work align first card with title */
#galScroll{padding-left:calc((100vw - min(100vw,1440px))/2 + 72px)!important;scroll-padding-left:calc((100vw - min(100vw,1440px))/2 + 72px)!important}


/* v1.1.21 - Additional info revamp */
.single-product .woocommerce-tabs .panel{padding-top:4px}
.single-product table.shop_attributes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:720px;border:none!important;border-radius:0!important;overflow:visible!important;background:transparent!important}
.single-product table.shop_attributes tbody{display:contents}
.single-product table.shop_attributes tr{display:flex!important;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--line)!important;border-radius:16px;padding:24px 26px}
.single-product table.shop_attributes th,.single-product table.shop_attributes td{display:block!important;border:none!important;background:none!important;padding:0!important;width:auto!important;text-align:left!important}
.single-product table.shop_attributes th{font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--brass)!important;font-weight:700!important}
.single-product table.shop_attributes td{font-size:19px!important;line-height:1.4;color:var(--ink)!important;font-weight:500!important;font-style:normal!important}
.single-product table.shop_attributes td p{margin:0}
@media(max-width:640px){.single-product table.shop_attributes{grid-template-columns:1fr;max-width:none}}


/* v1.1.22 - Product tabs (Description + Specifications) */
.single-product .woocommerce-tabs .panel > h2{display:none!important}
.single-product .woocommerce-tabs ul.tabs{display:flex!important;gap:6px;list-style:none;margin:0 0 30px!important;padding:0!important;border-bottom:1px solid var(--line);overflow:visible}
.single-product .woocommerce-tabs ul.tabs::before,.single-product .woocommerce-tabs ul.tabs::after{display:none!important}
.single-product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;background:none!important;border:none!important;border-radius:0!important}
.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after{display:none!important}
.single-product .woocommerce-tabs ul.tabs li a{display:inline-block;padding:12px 20px 14px!important;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted)!important;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s}
.single-product .woocommerce-tabs ul.tabs li a:hover{color:var(--ink)!important}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important;border-bottom-color:var(--brass)}
.single-product .woocommerce-Tabs-panel--description{max-width:760px}
.single-product .woocommerce-Tabs-panel--description p{font-size:16px;line-height:1.75;color:rgba(20,17,9,.82);margin:0 0 16px}
.single-product .woocommerce-Tabs-panel--description ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:11px}
.single-product .woocommerce-Tabs-panel--description ul li{position:relative;padding-left:26px;font-size:15px;line-height:1.5;color:var(--ink)}
.single-product .woocommerce-Tabs-panel--description ul li::before{content:"";position:absolute;left:5px;top:8px;width:7px;height:7px;background:var(--brass);border-radius:50%}


/* v1.1.23 - cursor inner gold */
.cursor{background:var(--brass)!important}


/* v1.1.26 - remove related products */
.single-product .related.products, .single-product section.related, .single-product .upsells.products{display:none!important}


/* v1.1.27 - cart icon + notices */
.nav .nlinks .nl-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);padding:6px;margin:0 2px 0 8px;line-height:0}
.nav .nlinks .nl-cart svg{width:21px;height:21px;display:block}
.nav .nlinks .nl-cart:hover{color:var(--brass)}
.nav .nlinks .nl-cart .cart-n{position:absolute;top:-3px;right:-5px;min-width:16px;height:16px;padding:0 4px;background:var(--brass);color:#fff;border-radius:9px;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-sizing:border-box}
.nav .nlinks .nl-cart .cart-n.empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#fff!important;border:1px solid var(--line)!important;border-left:3px solid var(--brass)!important;border-radius:14px!important;color:var(--ink)!important;padding:15px 20px!important;box-shadow:0 6px 24px rgba(20,17,9,.07)!important;font-size:15px!important;line-height:1.5!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:var(--brass)!important;position:static!important;top:auto!important;left:auto!important;margin:0!important;font-size:18px!important;line-height:1!important}
.woocommerce-message .button,.woocommerce-message a.button,.woocommerce-info .button{margin-left:auto!important;background:var(--ink)!important;color:#fff!important;border-radius:999px!important;padding:9px 20px!important;font-size:13px!important;font-weight:600!important;text-transform:none!important;box-shadow:none!important}
.woocommerce-message .button:hover,.woocommerce-info .button:hover{background:var(--brass)!important;color:#fff!important}


/* v1.1.28 - notice focus outline */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-error:focus,.woocommerce-notices-wrapper:focus,.woocommerce-notices-wrapper *:focus{outline:none!important;box-shadow:0 6px 24px rgba(20,17,9,.07)!important}


/* v1.1.29 - remove leftover ENO blog CTA (Ready to price your project?) */
.eno-blog-cta{display:none!important}

/* ============ My Account (ENO-logic revamp, DHN palette) v1.1.30 ============ */
.woocommerce-account .wrap.sec-pad{padding-top:10px}
.woocommerce-account .woocommerce{max-width:1080px;margin:0 auto;display:block}
.woocommerce-account .woocommerce::after{content:"";display:block;clear:both}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none!important;width:100%!important;margin:0 0 30px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:2px;margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0;padding:0;list-style:none;border:0;background:none}
.woocommerce-account .woocommerce-MyAccount-navigation li::before,.woocommerce-account .woocommerce-MyAccount-navigation li::marker{content:none;display:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 20px;font-size:15px;font-weight:500;letter-spacing:.01em;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--ink);border-bottom-color:var(--brass)}
.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:100%!important;padding:30px 34px;border:1px solid var(--line);border-radius:16px;background:#fff}
.woocommerce-account .woocommerce-MyAccount-content p{color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button){color:var(--brass);text-decoration:none;border-bottom:1px solid rgba(166,130,79,.35)}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover{border-bottom-color:var(--brass)}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table{border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;width:100%}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{background:var(--paper);font-weight:600;color:var(--ink);padding:12px 14px;border:0}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td{padding:12px 14px;border-top:1px solid var(--line)}
.woocommerce-account .woocommerce .button,.woocommerce-account .woocommerce button.button,.woocommerce-account .woocommerce input.button,.woocommerce-account .woocommerce a.button{background:var(--ink);color:var(--paper)!important;border:none;border-radius:999px;padding:12px 24px;font-weight:600;font-size:14px;letter-spacing:.02em;transition:background .15s ease;cursor:pointer}
.woocommerce-account .woocommerce .button:hover,.woocommerce-account .woocommerce button.button:hover,.woocommerce-account .woocommerce input.button:hover,.woocommerce-account .woocommerce a.button:hover{background:var(--brass)}
.woocommerce-account .woocommerce form .form-row{margin:0 0 16px}
.woocommerce-account .woocommerce label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;display:block}
.woocommerce-account .woocommerce input.input-text,.woocommerce-account .woocommerce input[type="text"],.woocommerce-account .woocommerce input[type="email"],.woocommerce-account .woocommerce input[type="password"],.woocommerce-account .woocommerce input[type="tel"],.woocommerce-account .woocommerce select{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:15px;color:var(--ink);box-shadow:none}
.woocommerce-account .woocommerce input:focus,.woocommerce-account .woocommerce select:focus{outline:none;border-color:var(--brass)}
.woocommerce-account .woocommerce .col2-set .col-1,.woocommerce-account .woocommerce .col2-set .col-2,.woocommerce-account .woocommerce .u-columns .u-column1,.woocommerce-account .woocommerce .u-columns .u-column2{float:none!important;width:100%!important}
.woocommerce-account .woocommerce .u-columns{display:flex;flex-wrap:wrap;gap:24px}
.woocommerce-account .woocommerce .u-columns>div{flex:1 1 320px;padding:28px 30px;border:1px solid var(--line);border-radius:16px;background:#fff}
.woocommerce-account .woocommerce h2,.woocommerce-account .woocommerce h3{color:var(--ink)}
@media(max-width:640px){
.woocommerce-account .woocommerce-MyAccount-navigation ul{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.woocommerce-account .woocommerce-MyAccount-navigation li a{white-space:nowrap;padding:10px 15px;font-size:14px}
.woocommerce-account .woocommerce-MyAccount-content{padding:22px 18px}
}

/* v1.1.31 account refinements */
.woocommerce-account .woocommerce{padding-top:0!important}
.woocommerce-account .woocommerce-MyAccount-navigation li a{padding:12px 15px;font-size:14.5px}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{margin-left:auto}

/* v1.1.34 account spacing - title top margin matches standard pages (blog), tight gap to content */
.woocommerce-account .wrap.ihero,body.page-id-3795 .wrap.ihero,body.page-id-3796 .wrap.ihero,body.page-id-3797 .wrap.ihero,body.page-id-3798 .wrap.ihero,body.page-id-3799 .wrap.ihero{padding-top:150px!important;padding-bottom:14px!important}
.woocommerce-account .wrap.sec-pad,body.page-id-3795 .wrap.sec-pad,body.page-id-3796 .wrap.sec-pad,body.page-id-3797 .wrap.sec-pad,body.page-id-3798 .wrap.sec-pad,body.page-id-3799 .wrap.sec-pad{padding-top:0!important}


/* v1.1.35 auth pages: tighten title->form gap; inscription full-width, no shadow */
.eno-acc-page{padding-top:8px!important}
body.page-id-3796 .eno-acc-container,body.page-id-3796 .eno-acc-container-wide{max-width:none!important;width:100%!important;box-shadow:none!important;border:1px solid var(--line)}


/* v1.1.36 my-account offset fix + auth pages unbox/full-width */
body.woocommerce-account{padding-top:0!important}
body.page-id-3795 .dhn-richtext,body.page-id-3796 .dhn-richtext,body.page-id-3797 .dhn-richtext,body.page-id-3798 .dhn-richtext{max-width:none!important;width:100%!important}
.eno-acc-page{background:none!important;border:none!important;box-shadow:none!important;padding:8px 0 0!important;max-width:none!important;width:100%!important;margin:0!important}
.eno-acc-container,.eno-acc-container-wide{box-shadow:none!important;max-width:none!important;width:100%!important;margin:0!important}


/* ===== v1.1.37 Cart revamp (ENO-style, standard Woo cart) ===== */
body.woocommerce-cart{padding-top:0!important}
body.woocommerce-cart .wrap.ihero{padding-top:150px!important;padding-bottom:14px!important}
body.woocommerce-cart .wrap.sec-pad{padding-top:0!important}
.woocommerce-cart .dhn-richtext{max-width:none!important;width:auto!important;margin:0!important;padding:8px 0 40px!important;text-align:left!important}
.woocommerce-cart .dhn-richtext .woocommerce{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0;margin:0}
.woocommerce-cart .cart-collaterals{grid-column:2;width:100%!important;float:none!important;margin:0}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%!important;float:none!important}
.woocommerce-cart .woocommerce-notices-wrapper{grid-column:1 / -1}

.woocommerce-cart table.cart{border:1px solid var(--line);border-radius:16px;border-collapse:separate!important;border-spacing:0;overflow:hidden;background:#fff;margin:0;table-layout:fixed;width:100%}
.woocommerce-cart table.cart thead th{background:var(--paper);border:0;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--muted);font-weight:600;padding:14px 16px;text-align:left}
.woocommerce-cart table.cart td{border:0;border-bottom:1px solid var(--line);padding:16px;vertical-align:middle;background:#fff}
.woocommerce-cart table.cart tr.cart_item:last-child td{border-bottom:0}
.woocommerce-cart td.product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.woocommerce-cart td.product-name a{color:var(--ink);font-weight:600;text-decoration:none}
.woocommerce-cart td.product-name a:hover{color:var(--brass)}
.woocommerce-cart .product-remove a.remove{color:var(--muted)!important;font-size:22px;line-height:1;background:none!important;width:auto;height:auto;border:0}
.woocommerce-cart .product-remove a.remove:hover{color:#b3261e!important;background:none!important}
.woocommerce-cart .quantity input.qty{border:1px solid var(--line);border-radius:10px;padding:8px;width:74px;background:#fff;color:var(--ink)}

.woocommerce-cart .woocommerce-cart-form .actions{padding:18px 20px 22px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.woocommerce-cart .coupon{display:flex;gap:8px;align-items:center}
.woocommerce-cart .coupon input#coupon_code{border:1px solid var(--line);border-radius:10px;padding:11px 12px;min-width:170px;background:#fff}

.woocommerce-cart .button,.woocommerce-cart .checkout-button{background:var(--brass)!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:12px 22px!important;font-weight:600!important;letter-spacing:.02em;text-transform:none!important;transition:filter .15s;box-shadow:none!important}
.woocommerce-cart .button:hover,.woocommerce-cart .checkout-button:hover{filter:brightness(.92)}
.woocommerce-cart .coupon .button{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.woocommerce-cart .coupon .button:hover{border-color:var(--brass)!important;color:var(--brass)!important;filter:none}
.woocommerce-cart button[name="update_cart"]{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.woocommerce-cart button[name="update_cart"]:disabled{opacity:.5}

.woocommerce-cart .cart_totals{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:22px;position:sticky;top:110px}
.woocommerce-cart .cart_totals h2{font-size:18px;margin:0 0 14px;color:var(--ink);text-align:left}
.woocommerce-cart .cart_totals table{border:0!important;margin:0;width:100%;background:none}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{border:0;border-bottom:1px solid var(--line);padding:12px 0;background:none;font-size:14px}
.woocommerce-cart .cart_totals tr.order-total th,.woocommerce-cart .cart_totals tr.order-total td{border-bottom:0;font-size:18px;color:var(--ink);padding-top:14px}
.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0 0}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{display:block;width:100%;text-align:center;font-size:16px!important}

@media (max-width:900px){
 .woocommerce-cart .dhn-richtext .woocommerce{grid-template-columns:1fr}
 .woocommerce-cart .cart-collaterals{grid-column:1}
 .woocommerce-cart .cart_totals{position:static}
 .woocommerce-cart table.cart thead{display:none}
 .woocommerce-cart table.cart td{display:flex;justify-content:space-between;align-items:center;text-align:right;border-bottom:1px solid var(--line)}
 .woocommerce-cart table.cart td::before{content:attr(data-title);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
 .woocommerce-cart table.cart td.product-remove{justify-content:flex-end}
 .woocommerce-cart table.cart td.product-remove::before{content:""}
}


/* ===== v1.1.39 Cart fixes: kill inner 120px pad + tame remove column ===== */
.woocommerce-cart .dhn-richtext .woocommerce{padding-top:0!important}
.woocommerce-cart table.cart td.product-remove,.woocommerce-cart table.cart th.product-remove{width:52px!important;padding-left:14px!important;padding-right:6px!important;text-align:center}
.woocommerce-cart table.cart td.product-thumbnail,.woocommerce-cart table.cart th.product-thumbnail{width:88px!important;padding-left:6px!important}
.woocommerce-cart table.cart td.product-name,.woocommerce-cart table.cart th.product-name{width:100%!important;padding-left:6px!important}

/* ===== v1.1.40 fixed table column widths ===== */
.woocommerce-cart table.cart td.product-price,.woocommerce-cart table.cart th.product-price{width:110px!important}
.woocommerce-cart table.cart td.product-quantity,.woocommerce-cart table.cart th.product-quantity{width:120px!important}
.woocommerce-cart table.cart td.product-subtotal,.woocommerce-cart table.cart th.product-subtotal{width:120px!important}

/* ===== v1.1.41 no-wrap cart buttons ===== */
.woocommerce-cart .button,.woocommerce-cart .checkout-button{white-space:nowrap!important}
.woocommerce-cart .woocommerce-cart-form .actions .coupon{flex-wrap:nowrap}

/* ===== v1.1.43 remove stray border under actions row ===== */
.woocommerce-cart table.cart td.actions{border-bottom:0!important}
.woocommerce-cart table.cart tr:last-child td{border-bottom:0!important}


/* ===== v1.1.44 Checkout revamp (ENO-style, standard Woo checkout) ===== */
body.woocommerce-checkout{padding-top:0!important}
body.woocommerce-checkout .wrap.ihero{padding-top:150px!important;padding-bottom:14px!important}
body.woocommerce-checkout .wrap.sec-pad{padding-top:0!important}
.woocommerce-checkout .dhn-richtext{max-width:none!important;width:auto!important;margin:0!important;padding:8px 0 40px!important;text-align:left!important}
.woocommerce-checkout .dhn-richtext .woocommerce{padding-top:0!important}

/* 2-col layout (floats keep any express-pay row full width at top) */
.woocommerce-checkout form.checkout::after{content:"";display:block;clear:both}
.woocommerce-checkout #customer_details{float:left;width:calc(100% - 412px)}
.woocommerce-checkout #order_review_heading{float:right;width:380px;clear:right;margin:0 0 12px;font-size:18px;color:var(--ink)}
.woocommerce-checkout #order_review{float:right;width:380px;clear:right;position:sticky;top:110px;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:22px}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:100%;margin:0 0 8px}
.woocommerce-checkout #customer_details h3,.woocommerce-checkout #order_review_heading{font-size:18px;color:var(--ink)}
.woocommerce-checkout #customer_details h3{margin:0 0 14px}

/* form fields */
.woocommerce-checkout .form-row label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px;font-weight:500}
.woocommerce-checkout .form-row .required{color:var(--brass);border:0}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection{border:1px solid var(--line)!important;border-radius:10px!important;padding:11px 12px!important;background:#fff!important;width:100%;box-shadow:none!important;min-height:46px;color:var(--ink)}
.woocommerce-checkout .select2-container .select2-selection__rendered{line-height:24px!important;padding-left:0!important;color:var(--ink)}
.woocommerce-checkout .select2-container .select2-selection__arrow{top:12px!important;right:10px!important}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{border-color:var(--brass)!important;outline:none!important}

/* order review card */
.woocommerce-checkout #order_review table.shop_table{border:0!important;background:none;margin:0;width:100%}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{border:0;border-bottom:1px solid var(--line);padding:12px 0;background:none;font-size:14px}
.woocommerce-checkout #order_review table.shop_table thead th{text-transform:uppercase;letter-spacing:.05em;font-size:12px;color:var(--muted)}
.woocommerce-checkout #order_review .cart-subtotal th,.woocommerce-checkout #order_review .cart-subtotal td{font-weight:500}
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total td{font-size:18px;color:var(--ink);border-bottom:0;padding-top:14px}
.woocommerce-checkout #order_review .product-name{color:var(--ink)}

/* payment box */
.woocommerce-checkout #payment{background:none!important;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:10px 0 0!important;margin:0}
.woocommerce-checkout #payment div.payment_box{background:#fff!important;border:1px solid var(--line)!important;border-radius:10px!important;margin-top:8px}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}
.woocommerce-checkout #payment .place-order{padding:14px 0 0!important;margin:0}

/* place order button */
.woocommerce-checkout #place_order{background:var(--brass)!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:14px 22px!important;font-weight:600!important;font-size:16px!important;width:100%;text-transform:none!important;box-shadow:none!important;white-space:nowrap;transition:filter .15s}
.woocommerce-checkout #place_order:hover{filter:brightness(.92)}

@media (max-width:900px){
 .woocommerce-checkout #customer_details,
 .woocommerce-checkout #order_review_heading,
 .woocommerce-checkout #order_review{float:none;width:100%;position:static}
 .woocommerce-checkout #order_review_heading{margin-top:24px}
}


/* ===== v1.1.45 Cart Totals shipping calculator fields ===== */
.woocommerce-cart .cart_totals .shipping-calculator-form{margin-top:12px}
.woocommerce-cart .cart_totals .shipping-calculator-form p{margin:0 0 12px}
.woocommerce-cart .cart_totals .shipping-calculator-form label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px;font-weight:500}
.woocommerce-cart .cart_totals .shipping-calculator-form .required{color:var(--brass);border:0}
.woocommerce-cart .cart_totals .shipping-calculator-form select,
.woocommerce-cart .cart_totals .shipping-calculator-form input.input-text,
.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container .select2-selection{
  width:100%!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  padding:11px 40px 11px 12px!important;
  min-height:46px!important;
  height:46px!important;
  line-height:22px!important;
  background-color:#fff!important;
  color:var(--ink)!important;
  font-size:14px!important;
  box-shadow:none!important;
  -webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238f8676' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 12px center!important;
  background-size:16px 16px!important;
}
.woocommerce-cart .cart_totals .shipping-calculator-form input.input-text{padding-right:12px!important;background-image:none!important}
.woocommerce-cart .cart_totals .shipping-calculator-form select:focus,
.woocommerce-cart .cart_totals .shipping-calculator-form input.input-text:focus{border-color:var(--brass)!important;outline:none!important}
.woocommerce-cart .cart_totals .shipping-calculator-button{color:var(--brass)!important;font-weight:500}
.woocommerce-cart .cart_totals .shipping-calculator-form button.button{width:auto;margin-top:2px}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination{color:var(--muted);font-size:13px;line-height:1.5}

/* ===== v1.1.46 fix select2 double-arrow in cart shipping calculator ===== */
.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container--default .select2-selection__arrow{display:none!important}
.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container .select2-selection--single{height:46px!important;display:flex!important;align-items:center;border:1px solid var(--line)!important;border-radius:10px!important;background-color:#fff!important}
.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container .select2-selection__rendered{line-height:24px!important;padding:0 28px 0 0!important;color:var(--ink)!important}

/* ===== v1.1.47 Brand-style select2 dropdown popups (country/state) ===== */
.select2-container--default .select2-dropdown{border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:0 12px 34px rgba(20,17,9,.14)!important;overflow:hidden;background:#fff!important}
.select2-container--default .select2-search--dropdown{padding:10px 10px 6px!important}
.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid var(--line)!important;border-radius:8px!important;padding:9px 11px!important;outline:none!important;font-size:14px!important;color:var(--ink)!important;background:#fff!important}
.select2-container--default .select2-search--dropdown .select2-search__field:focus{border-color:var(--brass)!important}
.select2-container--default .select2-results__option{padding:10px 14px!important;font-size:14px!important;color:var(--ink)!important;border:0!important}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted{background-color:var(--brass)!important;color:#fff!important}
.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--paper)!important;color:var(--ink)!important;font-weight:600!important}
.select2-container--default .select2-results>.select2-results__options{max-height:250px!important}

/* ===== v1.1.48 select2 dropdown: kill focus outline + brass hover ===== */
.select2-container--default .select2-results__option{outline:0!important;box-shadow:none!important}
.select2-container--default .select2-results__options{outline:0!important}
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:var(--brass)!important;color:#fff!important}
.select2-container--default .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted){background-color:var(--paper)!important;color:var(--ink)!important;font-weight:600!important}

/* ===== v1.1.49 Mobile menu + burger fixes ===== */
.mobile-menu{justify-content:flex-start!important;padding:104px 30px 44px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;gap:2px!important}
.burger{-webkit-tap-highlight-color:transparent}
.burger:focus,.burger:focus-visible,.burger:active{outline:none!important;box-shadow:none!important}

/* ===== v1.1.50 Mobile: logo aspect, burger visible, menu spacing/size ===== */
/* Logo: never squish (keep aspect ratio) */
.nav a img,.nav .brand img,.nav .logo img{object-fit:contain!important;width:auto!important}
@media(max-width:1024px){
 .nav a img,.nav .brand img,.nav .logo img{height:38px!important;width:auto!important;max-width:160px!important}
}
/* Burger: remove black square so the icon is visible */
.nav .burger{background:transparent!important;border:0!important;border-radius:0!important;padding:10px 6px!important}
.nav .burger span{background:var(--ink)!important;width:28px!important;height:2px!important}
/* Mobile menu: clear the header + smaller, readable options */
.mobile-menu{padding-top:132px!important}
.mobile-menu a{font-size:21px!important;padding:13px 0!important}

/* ===== v1.1.51 Mobile nav fit (no overflow) + menu top spacing ===== */
@media(max-width:1024px){
 .nav .wrap{padding-left:16px!important;padding-right:16px!important;gap:10px!important}
 .nav .nlinks{gap:12px!important}
 .nav .btn{padding:10px 15px!important}
}
.mobile-menu{padding-top:96px!important}

/* ===== v1.1.52 Mobile nav: more side margin + smaller Get a quote ===== */
@media(max-width:1024px){
 .nav .wrap{padding-left:24px!important;padding-right:24px!important}
 .nav .btn{padding:8px 14px!important;font-size:12px!important}
}

/* ===== v1.1.53 Mobile nav: stronger side margin + clearly smaller Get a quote ===== */
@media(max-width:1024px){
 .nav .wrap{padding-left:28px!important;padding-right:28px!important;gap:12px!important}
 .nav .btn{padding:7px 13px!important;font-size:11px!important;letter-spacing:.01em!important}
 .nav .nl-cart{transform:scale(.9)}
}

/* ===== v1.1.54 Mobile nav: more right margin (shrink button to fit) ===== */
@media(max-width:1024px){
 .nav .wrap{padding-left:24px!important;padding-right:34px!important;gap:10px!important}
 .nav .btn{padding:6px 12px!important;font-size:11px!important}
 .nav .burger{padding:10px 0 10px 8px!important}
}
