/* DF Custom Header, Astra + Elementor Free */
:root{--dfch-ink:#192226;--dfch-dark:#202b30;--dfch-teal:#0997a5;--dfch-white:#f5f8f8}
body:not(.wp-admin) #masthead,body:not(.wp-admin) header.site-header,body:not(.wp-admin) .ast-header-break-point #masthead{display:none!important}
.dfch,.dfch *{box-sizing:border-box}
.dfch{position:fixed;z-index:999990;inset:0 0 auto;width:100%;height:92px;background:rgba(19,30,35,.38);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .3s ease,height .3s ease,box-shadow .3s ease;font-family:Arial,Helvetica,sans-serif}
.dfch:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(9,17,21,.48),transparent);transition:opacity .3s}
.dfch.dfch-scrolled,.dfch.dfch-menu-open{height:78px;background:rgba(27,38,42,.94);box-shadow:0 10px 35px rgba(0,0,0,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.dfch.dfch-scrolled:before,.dfch.dfch-menu-open:before{opacity:0}
.dfch-inner{position:relative;max-width:1700px;width:calc(100% - 88px);height:100%;margin:auto;display:flex;align-items:center;gap:clamp(16px,2vw,38px)}
.dfch-logo{display:flex;align-items:center;flex:0 0 auto;min-width:0;text-decoration:none!important}
.dfch-logo img{width:clamp(190px,20.5vw,307px);height:auto;max-height:58px;object-fit:contain;display:block}
.dfch-desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(11px,1.5vw,28px);margin-left:auto;white-space:nowrap}
.dfch-navlink{font-size:clamp(11px,.86vw,14px);line-height:1.4;font-weight:500;letter-spacing:.005em;color:#eef4f5!important;text-decoration:none!important;transition:color .2s}
.dfch-navlink:hover,.dfch-navlink:focus-visible{color:#75dbe3!important}
.dfch-quote,.dfch-mobile-quote{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:0 19px;background:#0997a5;color:#fff!important;border:1px solid #0997a5;border-radius:8px;text-decoration:none!important;font-size:12px;font-weight:800;letter-spacing:.05em;white-space:nowrap;transition:background .2s,transform .2s}
.dfch-quote:hover,.dfch-mobile-quote:hover{background:#087f8b;transform:translateY(-1px)}
.dfch-quote span,.dfch-mobile-quote span{font-size:18px;line-height:1}
.dfch-toggle{display:none;width:46px;height:44px;flex:0 0 auto;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:10px;color:#fff;cursor:pointer;padding:10px}
.dfch-toggle span{display:block;width:20px;height:2px;background:#f5f8f8;border-radius:2px;transition:transform .22s,opacity .22s}
.dfch.dfch-menu-open .dfch-toggle span:first-child{transform:translateY(8px) rotate(45deg)}
.dfch.dfch-menu-open .dfch-toggle span:nth-child(2){opacity:0}
.dfch.dfch-menu-open .dfch-toggle span:last-child{transform:translateY(-8px) rotate(-45deg)}
.dfch-mobile-panel{display:none}
.dfch a:focus-visible,.dfch button:focus-visible{outline:2px solid #ffce6a;outline-offset:4px}
body.admin-bar .dfch{top:32px}
/* Allow the fixed transparent header to overlay hero without covering hero labels and showroom title. */
body:not(.wp-admin) #df-hero-v1 .df-layout{padding-top:max(132px,9vw)}
body:not(.home):not(.front-page) #content{padding-top:88px}
@media(max-width:1270px){.dfch-inner{width:calc(100% - 44px)}.dfch-logo img{width:210px}.dfch-desktop-nav{gap:13px}.dfch-navlink{font-size:11.5px}.dfch-quote{padding:0 12px;font-size:11px}}
@media(max-width:1050px){
 .dfch{height:78px}.dfch.dfch-scrolled,.dfch.dfch-menu-open{height:72px}
 .dfch-inner{width:calc(100% - 34px);gap:12px}
 .dfch-logo img{width:clamp(188px,31vw,255px);max-height:54px}
 .dfch-desktop-nav{display:none}
 .dfch-quote{margin-left:auto;min-height:42px}
 .dfch-toggle{display:flex}
 .dfch-mobile-panel{display:flex;position:fixed;top:72px;right:0;left:0;height:calc(100dvh - 72px);flex-direction:column;overflow-y:auto;padding:25px max(24px,7vw) 30px;background:#202b30;opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none;transition:opacity .25s,visibility .25s,transform .25s;border-top:1px solid rgba(255,255,255,.09)}
 .dfch.dfch-menu-open .dfch-mobile-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
 .dfch-mobile-panel nav{display:flex;flex-direction:column}
 .dfch-mobile-link{display:block;padding:15px 0;color:#f5f8f8!important;font-size:clamp(22px,4.5vw,34px);line-height:1.2;font-weight:600;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.13)}
 .dfch-mobile-link:hover{color:#71d8e1!important}
 .dfch-mobile-quote{width:100%;max-width:430px;margin-top:25px;min-height:52px}
 .dfch-mobile-footer{margin-top:auto;padding-top:30px;color:#9eafb2;letter-spacing:.09em;font-size:10px}
 body:not(.wp-admin) #df-hero-v1 .df-layout{padding-top:118px}
}
@media(max-width:600px){
 .dfch-inner{width:calc(100% - 26px)}
 .dfch-logo img{width:clamp(165px,49vw,215px)}
 .dfch-quote{display:none}
 .dfch-toggle{margin-left:auto}
 body.admin-bar .dfch{top:46px}
 body:not(.wp-admin) #df-hero-v1 .df-layout{padding-top:112px}
 body:not(.home):not(.front-page) #content{padding-top:72px}
}
body.dfch-lock{overflow:hidden!important}
@media(prefers-reduced-motion:reduce){.dfch *,.dfch{transition:none!important}}

/* V1.1: place the page's hero background behind the fixed navigation.
   The former white band was Astra/Elementor canvas visible through the transparent header. */
body.dfch-has-hero #content{margin-top:-92px!important;position:relative}
@media(max-width:1050px){body.dfch-has-hero #content{margin-top:-78px!important}}
@media(max-width:600px){body.dfch-has-hero #content{margin-top:-78px!important}}
/* On non-home pages retain a legible dark glass background. */
body:not(.dfch-has-hero) .dfch:not(.dfch-scrolled):not(.dfch-menu-open){background:rgba(27,38,42,.94)}

/* V1.3: fixed header must not obscure the FAQ and the enquiry form. */
html{scroll-padding-top:104px}
#faq,#quote{scroll-margin-top:104px}
@media(max-width:1050px){html{scroll-padding-top:94px}#faq,#quote{scroll-margin-top:94px}}
@media(max-width:600px){html{scroll-padding-top:85px}#faq,#quote{scroll-margin-top:85px}}
