/*
Theme Name: Daehan LED Lights (Hello Elementor Child)
Theme URI: https://daehanlights.com
Description: Child theme for Hello Elementor. Provides the Daehan header, mega menu, footer, WooCommerce catalogue templates, hero slider and shortcodes. Page content is built with Elementor Free.
Author: Daehan LED Lights
Template: hello-elementor
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: daehan
*/

/* ===== Tokens =====
   Brand colours below are the TEMPORARY values. Set the real ones (taken from the logo) in
   Appearance > Customize > Daehan LED Lights > Brand colours. They override these at runtime. */
:root{
  --dh-red:#D32932; --dh-red-d:#B01F28; --dh-green:#19733B; --dh-green-d:#125A2E; --dh-char:#18251D;
  --dh-bg:#FFFFFF; --dh-alt:#F5F7F5; --dh-surface:#FFFFFF; --dh-text:#18251D; --dh-muted:#57665D; --dh-line:#DEE5E0;
  --dh-gt:#19733B; --dh-tint:rgba(25,115,59,.10); --dh-tint-r:rgba(211,41,50,.08);
  --dh-art1:#F6F8F6; --dh-art2:#E0E8E2; --dh-fx:#2B3A32;
  --dh-shadow:0 1px 2px rgba(24,37,29,.06),0 14px 30px -16px rgba(24,37,29,.30);
  --dh-font:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
/* Make Elementor's global colour and font variables follow the brand. The attribute selector
   out-ranks Elementor's own .elementor-kit-N rule without needing !important. */
body[class*="elementor-kit-"]{
  --e-global-color-primary:var(--dh-char); --e-global-color-secondary:var(--dh-green);
  --e-global-color-text:var(--dh-text); --e-global-color-accent:var(--dh-red);
  --e-global-typography-primary-font-family:'Manrope'; --e-global-typography-secondary-font-family:'Manrope';
  --e-global-typography-text-font-family:'Manrope'; --e-global-typography-accent-font-family:'Manrope';
}

/* ===== Base (minimal, because Hello's reset stylesheet is dequeued in functions.php) ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--dh-bg);color:var(--dh-text);font-family:var(--dh-font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--dh-red)}
:where(.dh-x) :is(h1,h2,h3,h4,p,ul,ol,figure){margin:0}
:where(.dh-x) :is(ul,ol){padding:0;list-style:none}
:where(.dh-x) a{color:inherit;text-decoration:none}
:where(.dh-x) :is(img,svg){display:block;max-width:100%}
:where(.dh-x) :is(h1,h2,h3,h4){letter-spacing:-.015em;line-height:1.12}
.dh-x button:not(.dh-btn){font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;border-radius:0}
:focus-visible{outline:3px solid var(--dh-red);outline-offset:2px;border-radius:3px}
[hidden]{display:none!important}
.dh-skip{position:absolute;left:-999px;top:8px;background:var(--dh-red);color:#fff;padding:10px 16px;z-index:200;border-radius:4px}
.dh-skip:focus{left:8px}
.dh-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px}
.dh-sec{padding:clamp(56px,7.5vw,96px) 0}
.dh-sec.dh-alt{background:var(--dh-alt)}
.dh-ic{width:1.15em;height:1.15em;flex:none}
.dh-muted{color:var(--dh-muted)}
.dh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dh-notice{border:1.5px dashed #b58900;background:#fff8dc;color:#5c4400;padding:14px 18px;border-radius:6px;font-size:.9rem;margin:16px auto;max-width:1240px}

/* ===== Buttons and links ===== */
.dh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:4px;font-weight:700;font-size:.95rem;line-height:1.2;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer;text-align:center}
.dh-btn:active{transform:translateY(1px)}
.dh-btn-sm{padding:10px 14px;font-size:.84rem}
.dh-btn-red{background:var(--dh-red);color:#fff}.dh-btn-red:hover{background:var(--dh-red-d)}
.dh-btn-green{background:var(--dh-green);color:#fff}.dh-btn-green:hover{background:var(--dh-green-d)}
.dh-btn-outline{border-color:var(--dh-text);color:var(--dh-text)}.dh-btn-outline:hover{background:var(--dh-text);color:var(--dh-bg)}
.dh-btn-light{border-color:rgba(255,255,255,.7);color:#fff}.dh-btn-light:hover{background:#fff;color:var(--dh-char)}
.dh-btn-white{background:#fff;color:var(--dh-char)}.dh-btn-white:hover{background:#e9efe9}
.dh-btn[disabled]{opacity:.55;cursor:not-allowed}
.dh-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--dh-red)}
.dh-link .dh-ic{transition:transform .2s}.dh-link:hover .dh-ic{transform:translateX(3px)}
.dh-on-dark .dh-link{color:#fff}

/* ===== Section heads ===== */
.dh-sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;margin-bottom:32px}
.dh-sec-h h2{font-size:clamp(1.65rem,3.4vw,2.5rem);font-weight:800}
.dh-sec-h p{color:var(--dh-muted);margin-top:8px;max-width:58ch}
.dh-on-dark .dh-sec-h p{color:#b9c7be}

/* ===== Top bar ===== */
.dh-topbar{background:var(--dh-char);color:#c9d6cd;font-size:.8rem}
.dh-topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px}
.dh-tb-l,.dh-tb-r{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.dh-topbar a,.dh-topbar span.dh-i{display:inline-flex;align-items:center;gap:7px}
.dh-topbar a:hover{color:#fff}
.dh-hide-m{display:none}.dh-hide-t{display:none}
@media(min-width:720px){.dh-hide-m{display:inline-flex}}
@media(min-width:1000px){.dh-hide-t{display:inline-flex}}

/* ===== Header ===== */
.dh-hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--dh-bg);border-bottom:1px solid var(--dh-line)}
.dh-hdr-in{display:flex;align-items:center;gap:16px;height:72px}
.dh-logo{display:flex;align-items:center;gap:11px;flex:none}
.dh-logo-mark{width:40px;height:40px}
.dh-logo-t{display:flex;flex-direction:column;line-height:1}
.dh-logo-t b{font-size:1.28rem;font-weight:800;letter-spacing:.02em}
.dh-logo-t small{font-size:.66rem;font-weight:700;letter-spacing:.32em;color:var(--dh-gt);margin-top:4px}
.dh-mainnav{display:none}
.dh-nav{display:flex;align-items:center;gap:2px}
.dh-hdr-act{display:flex;align-items:center;gap:8px;margin-left:auto}
.dh-icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:4px;font-size:1.15rem}
.dh-icon-btn:hover{background:var(--dh-alt)}
.dh-hdr-act .dh-btn{display:none}
@media(min-width:720px){.dh-hdr-act .dh-btn{display:inline-flex}}
.dh-burger{display:grid}
@media(min-width:1180px){
  .dh-burger{display:none}
  .dh-mainnav{display:block;margin-left:auto}
  .dh-hdr-act{margin-left:0}
  .dh-nav>li>a,.dh-nav>li>button{display:inline-flex;align-items:center;gap:5px;padding:10px 11px;font-weight:600;font-size:.92rem;border-radius:4px;height:72px}
  .dh-nav>li>a:hover,.dh-nav>li>button:hover,.dh-nav .dh-on{color:var(--dh-red)}
  .dh-nav .dh-on{box-shadow:inset 0 -3px 0 var(--dh-red)}
}
.dh-mega{display:none;position:absolute;left:0;right:0;top:100%;background:var(--dh-surface);border-bottom:1px solid var(--dh-line);box-shadow:var(--dh-shadow)}
.dh-has-mega:hover>.dh-mega,.dh-has-mega:focus-within>.dh-mega,.dh-has-mega.dh-is-open>.dh-mega{display:block}
.dh-mega-in{display:grid;grid-template-columns:1fr 290px;gap:32px;padding:26px 20px 30px}
.dh-mega-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 20px}
.dh-mega-item{display:flex;gap:12px;align-items:center;padding:8px;border-radius:6px}
.dh-mega-item:hover{background:var(--dh-alt)}
.dh-mega-item .dh-media{width:64px;flex:none;aspect-ratio:1}
.dh-mega-item b{display:block;font-size:.95rem;line-height:1.25}
.dh-mega-item small{display:block;color:var(--dh-muted);font-size:.78rem;line-height:1.35;margin-top:2px}
.dh-mega-promo{background:var(--dh-char);color:#fff;border-radius:6px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;position:relative;overflow:hidden;min-height:220px}
.dh-mega-promo h3{font-size:1.25rem;position:relative}
.dh-mega-promo p{font-size:.88rem;color:#c3d0c7;position:relative}
.dh-mega-promo .dh-beam{position:absolute;inset:0;opacity:.9}

/* ===== Drawer and search ===== */
.dh-drawer{position:fixed;inset:0;z-index:80;display:none}
.dh-drawer.dh-open{display:block}
.dh-drawer-bg{position:absolute;inset:0;background:rgba(10,16,12,.6)}
.dh-drawer-p{position:absolute;top:0;right:0;bottom:0;width:min(90vw,390px);background:var(--dh-bg);overflow:auto;padding:calc(14px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px}
.dh-drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.dh-drawer nav a,.dh-drawer summary{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;font-weight:700;font-size:1.05rem;border-bottom:1px solid var(--dh-line);cursor:pointer;min-height:48px}
.dh-drawer summary{list-style:none}.dh-drawer summary::-webkit-details-marker{display:none}
.dh-drawer details[open] summary .dh-ic{transform:rotate(180deg)}
.dh-drawer .dh-sub a{font-weight:600;font-size:.98rem;padding:11px 4px 11px 16px;color:var(--dh-muted)}
.dh-drawer .dh-d-cta{display:grid;gap:10px;margin-top:18px}
.dh-search{position:fixed;inset:0;z-index:90;display:none;background:rgba(10,16,12,.65);padding:calc(10vh + env(safe-area-inset-top,0px)) 16px 16px}
.dh-search.dh-open{display:block}
.dh-search-box{max-width:660px;margin:0 auto;background:var(--dh-surface);border-radius:8px;box-shadow:var(--dh-shadow);overflow:hidden}
.dh-search-row{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--dh-line)}
.dh-search-row input{flex:1;border:0;background:none;color:inherit;font:inherit;font-size:1.05rem;padding:18px 0;outline:none}
.dh-search-res{max-height:52vh;overflow:auto}
.dh-search-res a{display:flex;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--dh-line)}
.dh-search-res a:hover,.dh-search-res a:focus-visible{background:var(--dh-alt)}
.dh-search-res small{color:var(--dh-muted);flex:none}
.dh-search-empty{padding:20px 18px;color:var(--dh-muted)}

/* ===== Art / media ===== */
.dh-media{position:relative;aspect-ratio:4/3;background:radial-gradient(120% 90% at 50% 0%,var(--dh-art1),var(--dh-art2));border-radius:4px;overflow:hidden}
.dh-media svg,.dh-media img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}
.dh-art{color:var(--dh-text)}
.dh-fx{fill:var(--dh-fx)}.dh-fxs{stroke:var(--dh-fx);fill:none}
.dh-ph{position:absolute;left:8px;bottom:8px;font-size:.68rem;font-weight:600;padding:2px 9px;border-radius:99px;background:rgba(24,37,29,.78);color:#fff;pointer-events:none}
.dh-badge{position:absolute;left:10px;top:10px;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--dh-char);color:#fff;z-index:2}

/* ===== Hero ===== */
.dh-hero{position:relative;background:var(--dh-char);color:#fff;overflow:hidden;--dh-fx:#8FA398;--dh-art1:#2A3D33;--dh-art2:#1B2A21}
.dh-slides{position:relative;min-height:clamp(600px,84vh,740px)}
.dh-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s;background:radial-gradient(90% 70% at 88% 12%,rgba(25,115,59,.28),transparent 60%),radial-gradient(60% 50% at 8% 100%,rgba(211,41,50,.20),transparent 60%),var(--dh-char)}
.dh-slide.dh-active{opacity:1;visibility:visible}
.dh-slide::before{content:"";position:absolute;inset:0;pointer-events:none;background:conic-gradient(from 168deg at 78% -8%,transparent 0deg,rgba(255,231,163,.20) 22deg,transparent 46deg);opacity:0}
.dh-slide.dh-active::before{animation:beam 1.6s ease-out .1s forwards}
@keyframes beam{from{opacity:0}to{opacity:1}}
.dh-slide-in{position:relative;height:100%;display:grid;align-items:center;gap:8px;padding-top:36px;padding-bottom:92px;align-content:center}
.dh-slide-copy{position:relative;z-index:2}
.dh-slide h1,.dh-slide h2{font-size:clamp(2.35rem,5.6vw,4.1rem);font-weight:800;line-height:1.03;letter-spacing:-.025em;max-width:14ch}
.dh-slide-copy p{font-size:clamp(1rem,1.5vw,1.16rem);color:#d0dcd4;max-width:44ch;margin:18px 0 28px}
.dh-slide-btns{display:flex;flex-wrap:wrap;gap:12px}
.dh-slide-art{position:relative;width:100%;max-width:560px;justify-self:center}
.dh-slide-art .dh-media{aspect-ratio:4/3;background:none}
@media(min-width:900px){.dh-slide-in{grid-template-columns:1.05fr .95fr;gap:32px}.dh-slide-art{justify-self:end}}
@media(max-width:899px){.dh-slide-art{position:absolute;right:-10%;bottom:64px;width:72%;max-width:360px;opacity:.3;pointer-events:none}.dh-slides{min-height:clamp(600px,80vh,680px)}}
.dh-hero-ctl{position:absolute;left:0;right:0;bottom:28px;z-index:5}
.dh-hero-ctl .dh-wrap{display:flex;align-items:center;justify-content:space-between}
.dh-dots{display:flex;gap:8px}
.dh-dot{height:8px;width:28px;border-radius:99px;background:rgba(255,255,255,.35);transition:width .3s,background .3s;position:relative}
.dh-dot::after{content:"";position:absolute;inset:-18px -4px}
.dh-dot[aria-current="true"]{width:52px;background:var(--dh-red)}
.dh-arrows{display:flex;gap:8px}
.dh-arrows button{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);display:grid;place-items:center}
.dh-arrows button:hover{background:#fff;color:var(--dh-char)}
.dh-arrows .dh-ic{width:1.2em}

/* ===== Value strip ===== */
.dh-strip{background:var(--dh-surface);border-bottom:1px solid var(--dh-line)}
.dh-strip-in{display:grid;grid-template-columns:repeat(2,1fr)}
.dh-strip-i{display:flex;gap:12px;align-items:flex-start;padding:22px 16px;border-left:1px solid var(--dh-line)}
.dh-strip-i:first-child{border-left:0}
.dh-strip-i:nth-child(odd){border-left:0}
.dh-strip-i .dh-ic{font-size:1.7rem;color:var(--dh-gt);margin-top:2px}
.dh-strip-i b{display:block;font-size:.95rem;line-height:1.3}
.dh-strip-i span{display:block;font-size:.82rem;color:var(--dh-muted);line-height:1.4;margin-top:2px}
.dh-strip-i:last-child{grid-column:1/-1;border-top:1px solid var(--dh-line)}
@media(min-width:1000px){.dh-strip-in{grid-template-columns:repeat(5,1fr)}.dh-strip-i{padding:26px 22px;border-left:1px solid var(--dh-line)!important;border-top:0!important;grid-column:auto!important}.dh-strip-i:first-child{border-left:0!important}}

/* ===== Category grid ===== */
.dh-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:900px){.dh-cats{grid-template-columns:repeat(3,1fr);gap:22px}}
.dh-cat{display:block;background:var(--dh-surface);border:1px solid var(--dh-line);border-radius:6px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.dh-cat .dh-media{border-radius:0;aspect-ratio:5/4}
.dh-cat:hover{border-color:var(--dh-char);box-shadow:var(--dh-shadow)}
.dh-cat:hover .dh-media svg{transform:scale(1.05)}
.dh-cat-b{padding:14px 16px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.dh-cat h3{font-size:1.05rem;font-weight:800}
.dh-cat .dh-link{font-size:.85rem}

/* ===== Tabs ===== */
.dh-tabs{display:flex;gap:4px;border-bottom:1px solid var(--dh-line);margin-bottom:28px;overflow-x:auto}
.dh-tab{padding:13px 20px;font-weight:700;color:var(--dh-muted);border-bottom:3px solid transparent;white-space:nowrap;margin-bottom:-1px}
.dh-tab:hover{color:var(--dh-text)}
.dh-tab[aria-selected="true"]{color:var(--dh-text);border-color:var(--dh-red)}

/* ===== Product cards ===== */
.dh-pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:900px){.dh-pgrid{grid-template-columns:repeat(3,1fr);gap:20px}}
@media(min-width:1200px){.dh-pgrid.dh-p4{grid-template-columns:repeat(4,1fr)}}
.dh-pc{background:var(--dh-surface);border:1px solid var(--dh-line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}
.dh-pc:hover{box-shadow:var(--dh-shadow);border-color:var(--dh-char)}
.dh-pc-m{position:relative;display:block}
.dh-pc-m .dh-media{border-radius:0;aspect-ratio:1/1;background:var(--dh-surface);border-bottom:1px solid var(--dh-line)}
.dh-pc:hover .dh-pc-m svg{transform:scale(1.04)}
.dh-pc-b{padding:14px 14px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.dh-pc-cat{font-size:.78rem;color:var(--dh-gt);font-weight:700}
.dh-pc h3{font-size:1rem;font-weight:800;line-height:1.25}
.dh-pc h3 a:hover{color:var(--dh-red)}
.dh-pc-meta{font-size:.82rem;color:var(--dh-muted)}
.dh-pc-a{display:grid;gap:8px;margin-top:auto;padding-top:12px}
@media(min-width:1000px){.dh-pc-a{grid-template-columns:1fr 1fr}}
.dh-empty{border:1.5px dashed var(--dh-line);border-radius:6px;padding:36px 24px;text-align:center;color:var(--dh-muted);display:grid;gap:14px;justify-items:center}
.dh-empty b{color:var(--dh-text);font-size:1.1rem}
.dh-sample-note{font-size:.84rem;color:var(--dh-muted);margin-top:18px}

/* ===== Promo banners ===== */
.dh-promos{display:grid;gap:20px}
@media(min-width:800px){.dh-promos{grid-template-columns:1fr 1fr}}
.dh-promo{position:relative;min-height:360px;border-radius:6px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;--dh-fx:#8FA398}
.dh-promo.dh-g{background:linear-gradient(135deg,#18251D 40%,#1d3f2b)}
.dh-promo.dh-r{background:linear-gradient(135deg,#18251D 40%,#40191d)}
.dh-promo-art{position:absolute;right:-4%;top:6%;width:66%;opacity:.95}
.dh-promo-art .dh-media{background:none}
.dh-promo-b{position:relative;padding:32px;max-width:62%;display:grid;gap:12px;justify-items:start}
.dh-promo h3{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800}
.dh-promo p{color:#cbd8cf;font-size:.95rem}
@media(max-width:560px){.dh-promo-b{max-width:100%;padding:24px}.dh-promo-art{width:80%;top:0;opacity:.5}.dh-promo{min-height:400px}}

/* ===== Dark band ===== */
.dh-dark-band{background:var(--dh-char);color:#fff;--dh-surface:#1F2E26;--dh-line:#32443A;--dh-text:#EDF3EE;--dh-muted:#A9B8AF;--dh-art1:#2C3E34;--dh-art2:#1C2A22;--dh-fx:#7B9186;--dh-gt:#3FBF74}
.dh-dark-band .dh-pc{color:var(--dh-text)}
.dh-dark-band .dh-btn-outline{border-color:#EDF3EE;color:#EDF3EE}.dh-dark-band .dh-btn-outline:hover{background:#EDF3EE;color:var(--dh-char)}
.dh-hscroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-color:#4a5f53 transparent}
@media(min-width:1000px){.dh-hscroll{grid-auto-columns:calc((100% - 48px)/4)}}
.dh-hscroll>*{scroll-snap-align:start}

/* ===== Split (about) ===== */
.dh-split{display:grid;gap:40px;align-items:center}
@media(min-width:900px){.dh-split{grid-template-columns:1fr 1fr;gap:64px}}
.dh-split .dh-media{aspect-ratio:5/4;border-radius:6px}
.dh-split-media{position:relative}
.dh-split-cap{position:absolute;right:16px;bottom:16px;background:var(--dh-surface);border-radius:4px;padding:12px 16px;box-shadow:var(--dh-shadow);font-size:.85rem;display:flex;gap:10px;align-items:center}
.dh-split-cap .dh-ic{color:var(--dh-red);font-size:1.3rem}
.dh-prose h2{font-size:clamp(1.65rem,3.4vw,2.5rem);font-weight:800;margin-bottom:16px}
.dh-prose h3{font-size:1.25rem;margin:28px 0 8px}
.dh-prose p{color:var(--dh-muted);margin-bottom:14px;max-width:66ch}
.dh-prose ul.dh-ticks{margin:8px 0 24px;display:grid;gap:10px}
.dh-ticks li{display:flex;gap:10px;align-items:flex-start}
.dh-ticks .dh-ic{color:var(--dh-gt);margin-top:.25em}

/* ===== Why grid ===== */
.dh-why{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.dh-why-c{background:var(--dh-surface);border:1px solid var(--dh-line);border-radius:6px;padding:26px;display:grid;gap:10px;align-content:start;box-shadow:var(--dh-shadow)}
.dh-why-c .dh-ico{width:52px;height:52px;border-radius:6px;background:var(--dh-tint);color:var(--dh-gt);display:grid;place-items:center;font-size:1.5rem}
.dh-why-c h3{font-size:1.1rem;font-weight:800}
.dh-why-c p{color:var(--dh-muted);font-size:.93rem}

/* ===== Applications ===== */
.dh-apps{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:900px){.dh-apps{grid-template-columns:repeat(4,1fr);gap:16px}.dh-apps .dh-app:first-child{grid-column:span 2}}
.dh-app{position:relative;aspect-ratio:1/1.08;border-radius:6px;overflow:hidden;background:var(--dh-char);color:#fff;display:flex;align-items:flex-end;--dh-fx:#8FA398;--dh-art1:#2A3D33;--dh-art2:#18251D}
@media(min-width:900px){.dh-apps .dh-app:first-child{aspect-ratio:auto}}
.dh-app .dh-media{position:absolute;inset:0;aspect-ratio:auto;border-radius:0}
.dh-app .dh-media svg{object-fit:cover}
.dh-app:hover .dh-media svg{transform:scale(1.06)}
.dh-app::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,37,29,0) 35%,rgba(24,37,29,.92))}
.dh-app-b{position:relative;z-index:2;padding:16px;display:grid;gap:4px;width:100%}
.dh-app-b .dh-ic{font-size:1.5rem;color:#fff;margin-bottom:4px}
.dh-app-b h3{font-size:1.05rem;font-weight:800;line-height:1.2}
.dh-app-b span{font-size:.82rem;color:#cfdad2;display:flex;align-items:center;gap:6px}

/* ===== Services ===== */
.dh-svc{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.dh-svc-c{background:var(--dh-surface);border:1px solid var(--dh-line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.dh-svc-top{padding:26px 24px 0;display:grid;gap:14px}
.dh-svc-top .dh-ico{width:56px;height:56px;border-radius:50%;background:var(--dh-char);color:#fff;display:grid;place-items:center;font-size:1.5rem}
.dh-svc-top h3{font-size:1.15rem;font-weight:800}
.dh-svc-b{padding:8px 24px 24px;display:flex;flex-direction:column;gap:18px;flex:1}
.dh-svc-b p{color:var(--dh-muted);font-size:.93rem}
.dh-svc-b .dh-btn{margin-top:auto;align-self:flex-start}

/* ===== Projects and blog cards ===== */
.dh-cards3{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.dh-card{background:var(--dh-surface);border:1px solid var(--dh-line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}
.dh-card:hover{box-shadow:var(--dh-shadow)}
.dh-card .dh-media{border-radius:0;aspect-ratio:16/10}
.dh-card-b{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.dh-card-b h3{font-size:1.1rem;font-weight:800;line-height:1.25}
.dh-card-b p{color:var(--dh-muted);font-size:.92rem}
.dh-card-b .dh-link{margin-top:auto;padding-top:6px}
.dh-tag{display:inline-block;font-size:.76rem;font-weight:700;color:var(--dh-gt);background:var(--dh-tint);padding:3px 10px;border-radius:99px;align-self:flex-start}
.dh-tag.dh-draft{color:var(--dh-red);background:var(--dh-tint-r)}
.dh-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.84rem;color:var(--dh-muted)}
.dh-meta span{display:inline-flex;gap:5px;align-items:center}

/* ===== Catalogue CTA ===== */
.dh-cat-cta{display:grid;gap:36px;align-items:center}
@media(min-width:900px){.dh-cat-cta{grid-template-columns:1.3fr .7fr}}
.dh-cat-cta h2{font-size:clamp(1.7rem,3.6vw,2.7rem);font-weight:800;max-width:18ch}
.dh-cat-cta p{color:#c3d0c7;margin:14px 0 26px;max-width:52ch}
.dh-cover{justify-self:center;width:min(230px,60%);aspect-ratio:3/4;background:linear-gradient(160deg,#fff,#e4ebe6);border-radius:4px;box-shadow:0 30px 50px -20px rgba(0,0,0,.6);transform:rotate(3deg);padding:20px;display:flex;flex-direction:column;justify-content:space-between;color:var(--dh-char);position:relative;overflow:hidden}
.dh-cover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(var(--dh-red) 50%,var(--dh-green) 50%)}
.dh-cover b{font-size:1.15rem;line-height:1.1;padding-left:8px}
.dh-cover span{font-size:.72rem;color:#55665b;padding-left:8px}
.dh-cover .dh-ph{position:static;align-self:flex-start;margin-left:8px}

/* ===== Testimonials ===== */
.dh-tq{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.dh-tq-c{border:1.5px dashed var(--dh-line);border-radius:6px;padding:28px;display:grid;gap:16px;background:var(--dh-surface)}
.dh-tq-c .dh-q{font-size:2.6rem;line-height:.6;color:var(--dh-red);font-weight:800}
.dh-tq-c .dh-bar{height:10px;border-radius:5px;background:var(--dh-line)}
.dh-tq-c .dh-who{display:flex;gap:12px;align-items:center;color:var(--dh-muted);font-size:.85rem}
.dh-tq-c .dh-av{width:42px;height:42px;border-radius:50%;background:var(--dh-line)}

/* ===== FAQ ===== */
.dh-faq-wrap{display:grid;gap:32px}
@media(min-width:900px){.dh-faq-wrap{grid-template-columns:.8fr 1.2fr;gap:64px}}
details.dh-faq{border-bottom:1px solid var(--dh-line)}
details.dh-faq:first-of-type{border-top:1px solid var(--dh-line)}
details.dh-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-weight:700;font-size:1.05rem;cursor:pointer}
details.dh-faq summary::-webkit-details-marker{display:none}
details.dh-faq summary .dh-ic{transition:transform .25s;color:var(--dh-red)}
details.dh-faq[open] summary .dh-ic{transform:rotate(45deg)}
details.dh-faq .dh-ans{padding:0 4px 22px;color:var(--dh-muted);max-width:64ch;display:grid;gap:10px}

/* ===== Forms ===== */
.dh-contact{display:grid;gap:32px}
@media(min-width:960px){.dh-contact{grid-template-columns:.85fr 1.15fr;gap:48px}}
.dh-info{background:var(--dh-char);color:#fff;border-radius:6px;padding:32px;display:grid;gap:22px;align-content:start;--dh-fx:#8FA398}
.dh-info h3{font-size:1.5rem;font-weight:800}
.dh-info ul{display:grid;gap:18px}
.dh-info li{display:flex;gap:14px;align-items:flex-start;color:#cfdad2}
.dh-info li .dh-ic{font-size:1.25rem;color:#fff;margin-top:3px}
.dh-info li b{display:block;color:#fff;font-size:.9rem}
.dh-info a:hover{color:#fff;text-decoration:underline}
.dh-info .dh-soc{display:flex;gap:10px;flex-wrap:wrap}
.dh-form{background:var(--dh-surface);border:1px solid var(--dh-line);border-radius:6px;padding:clamp(20px,3vw,34px);box-shadow:var(--dh-shadow)}
.dh-form h3{font-size:1.4rem;font-weight:800;margin-bottom:4px}
.dh-fgrid{display:grid;gap:14px;margin-top:18px}
@media(min-width:600px){.dh-fgrid{grid-template-columns:1fr 1fr}.dh-fgrid .dh-full{grid-column:1/-1}}
.dh-f-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.dh-form-st{margin-top:14px;font-size:.92rem;min-height:1.4em}
.dh-form-st.dh-err{color:var(--dh-red);font-weight:600}.dh-form-st.dh-ok{color:var(--dh-gt);font-weight:600}
.dh-note{border-left:3px solid var(--dh-red);background:var(--dh-tint-r);padding:12px 16px;border-radius:0 4px 4px 0;font-size:.9rem;color:var(--dh-text)}

/* ===== Newsletter ===== */
.dh-news{background:var(--dh-surface);border-top:1px solid var(--dh-line)}
.dh-news-in{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.dh-news-in{grid-template-columns:1fr 1fr;gap:64px}}
.dh-news h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}
.dh-news p{color:var(--dh-muted);margin-top:8px}
.dh-news form{display:flex;gap:10px;flex-wrap:wrap}
.dh-news input{flex:1;min-width:220px}

/* ===== Footer ===== */
.dh-ftr{background:var(--dh-char);color:#c3d0c7;padding:64px 0 0;--dh-text:#fff;font-size:.93rem}
.dh-ftr-g{display:grid;gap:36px;grid-template-columns:repeat(2,1fr);padding-bottom:48px}
.dh-ftr-g>:first-child{grid-column:1/-1}
@media(min-width:960px){.dh-ftr-g{grid-template-columns:1.4fr .8fr 1fr 1.3fr}.dh-ftr-g>:first-child{grid-column:auto}}
.dh-ftr h4{color:#fff;font-size:1rem;margin-bottom:16px}
.dh-ftr li{margin-bottom:10px}
.dh-ftr a:hover{color:#fff;text-decoration:underline}
.dh-ftr .dh-logo-t b{color:#fff}.dh-ftr .dh-logo-t small{color:#3FBF74}
.dh-ftr-about{margin:16px 0;max-width:38ch}
.dh-ftr .dh-ci li{display:flex;gap:10px}
.dh-ftr .dh-ci .dh-ic{margin-top:4px;color:#fff;flex:none}
.dh-ftr-b{border-top:1px solid #2c3e34;padding:20px 0 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:.84rem}
.dh-ftr-b nav{display:flex;gap:18px;flex-wrap:wrap}
.dh-soc a{width:42px;height:42px;border:1px solid #3b4f43;border-radius:4px;display:grid;place-items:center;font-size:1.1rem;color:#fff}
.dh-soc a:hover{background:#fff;color:var(--dh-char);text-decoration:none}
.dh-soc{display:flex;gap:10px}

/* ===== Floating WhatsApp ===== */
.dh-wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;background:#1FA855;color:#fff;height:56px;padding:0 18px 0 16px;border-radius:99px;display:flex;align-items:center;gap:10px;font-weight:700;box-shadow:0 10px 24px -8px rgba(0,0,0,.5)}
.dh-wa-float:hover{background:#178a45}
.dh-wa-float .dh-ic{font-size:1.5rem}
@media(max-width:560px){.dh-wa-float span{display:none}.dh-wa-float{width:56px;padding:0;justify-content:center}}

/* ===== Inner pages ===== */
.dh-pg-h{position:relative;background:var(--dh-char);color:#fff;padding:44px 0 46px;overflow:hidden}
.dh-pg-h::before{content:"";position:absolute;inset:0;pointer-events:none;background:conic-gradient(from 170deg at 85% -20%,transparent 0deg,rgba(255,231,163,.16) 20deg,transparent 42deg),radial-gradient(60% 90% at 0% 100%,rgba(25,115,59,.25),transparent 70%)}
.dh-pg-h .dh-wrap{position:relative}
.dh-pg-h h1{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;letter-spacing:-.02em;margin-top:14px;max-width:22ch}
.dh-pg-h p{color:#c3d0c7;max-width:60ch;margin-top:12px}
.dh-crumbs{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.84rem;color:#b3c2b8}
.dh-crumbs li+li::before{content:"/";margin-right:10px;opacity:.6}
.dh-crumbs a:hover{color:#fff;text-decoration:underline}
.dh-shop{display:grid;gap:28px}
@media(min-width:1000px){.dh-shop{grid-template-columns:250px 1fr;gap:40px}}
.dh-side{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}
@media(min-width:1000px){.dh-side{flex-direction:column;overflow:visible;position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px);align-self:start;gap:2px}}
.dh-side a{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--dh-line);border-radius:99px;font-weight:600;font-size:.9rem;white-space:nowrap}
.dh-side a:hover{border-color:var(--dh-char)}
.dh-side a.dh-on{background:var(--dh-char);color:#fff;border-color:var(--dh-char)}
@media(min-width:1000px){.dh-side a{border:0;border-radius:4px;border-left:3px solid transparent}.dh-side a.dh-on{background:var(--dh-alt);color:var(--dh-text);border-left-color:var(--dh-red)}}
.dh-side h2{display:none;font-size:.95rem;margin-bottom:8px}
@media(min-width:1000px){.dh-side h2{display:block}}
.dh-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.dh-toolbar input{max-width:320px}
.dh-pd{display:grid;gap:36px}
@media(min-width:960px){.dh-pd{grid-template-columns:1.05fr 1fr;gap:56px}}
.dh-gal-main .dh-media{aspect-ratio:1/1;border-radius:6px;border:1px solid var(--dh-line)}
.dh-gal-main .dh-media svg{transition:transform .35s}
.dh-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.dh-thumbs button{border:2px solid var(--dh-line);border-radius:6px;overflow:hidden}
.dh-thumbs button[aria-current="true"]{border-color:var(--dh-red)}
.dh-thumbs .dh-media{aspect-ratio:1;border-radius:0}
.dh-pd-i h1{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800}
.dh-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.dh-chip{padding:6px 14px;border:1px solid var(--dh-line);border-radius:99px;font-size:.86rem;font-weight:600;background:var(--dh-surface)}
.dh-pd-act{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.dh-spec{width:100%;border-collapse:collapse;font-size:.94rem}
.dh-spec th,.dh-spec td{padding:12px 14px;border-bottom:1px solid var(--dh-line);text-align:left;vertical-align:top}
.dh-spec th{width:40%;color:var(--dh-muted);font-weight:600}
.dh-spec .dh-tbc{color:var(--dh-muted);font-style:italic}
.dh-blk{margin-top:40px}
.dh-blk h2{font-size:1.4rem;font-weight:800;margin-bottom:14px}
.dh-art-page{max-width:760px;margin:0 auto}
.dh-art-page p{margin-bottom:18px;font-size:1.05rem;color:var(--dh-text)}
.dh-art-page h2{margin:32px 0 12px;font-size:1.4rem}
.dh-stepper{display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));border:1px solid var(--dh-line);border-radius:6px;background:var(--dh-line);overflow:hidden}
.dh-stepper>div{padding:22px;background:var(--dh-surface)}
.dh-stepper b{display:block;font-size:1.05rem;margin-bottom:4px}
.dh-stepper span{color:var(--dh-muted);font-size:.9rem}
.dh-team{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.dh-team>div{border:1px solid var(--dh-line);border-radius:6px;padding:22px;background:var(--dh-surface)}
.dh-team b{display:block;font-size:1.05rem}
.dh-team span{color:var(--dh-muted);font-size:.9rem}
.dh-dl{display:grid;gap:12px}
.dh-dl-r{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;border:1px solid var(--dh-line);border-radius:6px;background:var(--dh-surface)}
.dh-dl-r div{display:flex;gap:14px;align-items:center}
.dh-dl-r .dh-ic{font-size:1.5rem;color:var(--dh-red)}
.dh-dl-r small{color:var(--dh-muted);display:block}
.dh-chips-f{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.dh-chips-f button{padding:8px 16px;border:1px solid var(--dh-line);border-radius:99px;font-weight:600;font-size:.88rem;background:var(--dh-surface)}
.dh-chips-f button[aria-pressed="true"]{background:var(--dh-char);color:#fff;border-color:var(--dh-char)}
.dh-has-mega.dh-closed>.dh-mega{display:none!important}
.dh-ftr .dh-logo-mark rect{stroke:#3b4f43;stroke-width:1.5}



/* =====================================================================
   WORDPRESS / ELEMENTOR / WOOCOMMERCE LAYER
   ===================================================================== */

/* ----- Header extras (WordPress menus) ----- */
.admin-bar .dh-hdr{top:32px}
@media(max-width:782px){.admin-bar .dh-hdr{top:46px}}
.dh-logo img{max-height:46px;width:auto}
.dh-logo .custom-logo-link{display:block}
.dh-nav>li.current-menu-item>a,.dh-nav>li.current-menu-ancestor>a,.dh-nav>li.current_page_item>a{color:var(--dh-red)}
.dh-nav>li{list-style:none}
.dh-nav>li.dh-has-mega>a .dh-ic{transition:transform .2s}
.dh-drawer-nav>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;border-bottom:1px solid var(--dh-line)}
.dh-drawer-nav>li>a{flex:1;display:flex;align-items:center;min-height:48px;padding:14px 4px;font-weight:700;font-size:1.05rem;border-bottom:0}
.dh-sub-toggle{width:48px;height:48px;display:grid;place-items:center}
.dh-sub-toggle[aria-expanded="true"] .dh-ic{transform:rotate(180deg)}
.dh-subpanel{flex-basis:100%}
.dh-subpanel a{display:block;padding:11px 4px 11px 16px;font-weight:600;font-size:.98rem;color:var(--dh-muted);border-top:1px solid var(--dh-line)}
.dh-mega-item .dh-media img{object-fit:cover}
.dh-ftr .dh-logo img{filter:none}
.dh-ftr ul.dh-ftr-menu li{margin-bottom:10px}

/* ----- Shortcode output ----- */
.dh-cat .dh-media img{object-fit:cover}
.dh-media .dh-noimg{display:grid;place-items:center;width:100%;height:100%;color:var(--dh-muted);font-size:.85rem}
.dh-tabs{scrollbar-width:thin}
.dh-slide-in.dh-noart{grid-template-columns:1fr}
.dh-slide-art .dh-media img{object-fit:contain}

/* ----- Page banner inside Elementor pages ----- */
.elementor .e-con.dh-pg-h{position:relative;background-color:var(--dh-char);color:#fff;overflow:hidden;padding-block:44px 46px;padding-inline:20px;--kit-widget-spacing:0px}
.elementor .e-con.dh-pg-h::after{content:"";position:absolute;inset:0;pointer-events:none;background:conic-gradient(from 170deg at 85% -20%,transparent 0deg,rgba(255,231,163,.16) 20deg,transparent 42deg),radial-gradient(60% 90% at 0% 100%,rgba(25,115,59,.25),transparent 70%)}
.elementor .e-con.dh-pg-h>.e-con-inner,.elementor .e-con.dh-pg-h>.elementor-widget{position:relative;z-index:1}
.elementor .dh-pg-h .elementor-heading-title{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;max-width:22ch;margin-top:14px}
.elementor .dh-pg-h .dh-pg-sub p{color:#c3d0c7;max-width:60ch;margin-top:12px}
.dh-crumbs{list-style:none;margin:0;padding:0}
.dh-crumbs a{color:#b3c2b8}

/* ----- Elementor: section scaffolding ----- */
.elementor .e-con.dh-sec{padding-block:clamp(56px,7.5vw,96px);padding-inline:20px;--container-max-width:1240px;--kit-widget-spacing:0px;--gap:0px;--row-gap:0px}
.elementor .e-con.dh-sec.dh-alt{background-color:var(--dh-alt)}
.elementor .e-con.dh-sec.dh-dark,.elementor .e-con.dh-dark{background-color:var(--dh-char);color:#fff}
.elementor .e-con.dh-strip{padding:0;background-color:var(--dh-surface);border-bottom:1px solid var(--dh-line);--container-max-width:1240px}
.elementor .e-con.dh-bare{padding:0!important;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--kit-widget-spacing:0px}
.elementor .dh-sec .elementor-widget:not(:last-child),.elementor .dh-strip .elementor-widget:not(:last-child){margin-block-end:0;margin-bottom:0}
.elementor .e-con.dh-stack{gap:14px;--gap:14px}
.elementor .e-con.dh-sec-h{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-bottom:32px}
.elementor .e-con.dh-sec-h>.e-con{flex:1 1 380px;min-width:0}
.elementor .e-con.dh-sec-h>.elementor-widget{flex:0 0 auto;width:auto}

/* Grids (the flex container is turned into a CSS grid) */
.elementor .e-con.dh-grid{display:grid;grid-template-columns:repeat(var(--dh-cols,3),minmax(0,1fr));gap:20px;align-items:stretch}
.elementor .e-con.dh-cols-2{--dh-cols:2}
.elementor .e-con.dh-cols-3{--dh-cols:3}
.elementor .e-con.dh-cols-4{--dh-cols:4}
.elementor .e-con.dh-cols-5{--dh-cols:5}
@media(max-width:1023px){.elementor .e-con.dh-cols-3,.elementor .e-con.dh-cols-4{--dh-cols:2}.elementor .e-con.dh-cols-5{--dh-cols:2}}
@media(max-width:640px){.elementor .e-con.dh-cols-2,.elementor .e-con.dh-cols-3,.elementor .e-con.dh-cols-4{--dh-cols:1}.elementor .e-con.dh-grid.dh-grid--apps{--dh-cols:2}}
.elementor .e-con.dh-split{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media(min-width:900px){.elementor .e-con.dh-split{grid-template-columns:1fr 1fr;gap:64px}}
.elementor .e-con.dh-split--reverse>:first-child{order:0}

/* ----- Elementor: text ----- */
.elementor .dh-title .elementor-heading-title{font-size:clamp(1.65rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.015em;line-height:1.12;color:var(--dh-text)}
.elementor .dh-dark .dh-title .elementor-heading-title{color:#fff}
.elementor .dh-lead,.elementor .dh-lead p{color:var(--dh-muted);margin:0;max-width:62ch}
.elementor .dh-dark .dh-lead,.elementor .dh-dark .dh-lead p{color:#c3d0c7}
.elementor .dh-h3 .elementor-heading-title{font-size:1.15rem;font-weight:800;line-height:1.25}
.elementor .dh-prose p{color:var(--dh-muted);margin:0 0 14px;max-width:66ch}

/* ----- Elementor: buttons ----- */
.elementor .dh-ebtn .elementor-button{font-family:var(--dh-font);font-weight:700;font-size:.95rem;line-height:1.2;padding:13px 22px;border-radius:4px;border:2px solid transparent;background:none;transition:background .2s,color .2s,border-color .2s;fill:currentColor}
.elementor .dh-ebtn--red .elementor-button{background:var(--dh-red);color:#fff}
.elementor .dh-ebtn--red .elementor-button:hover{background:var(--dh-red-d);color:#fff}
.elementor .dh-ebtn--green .elementor-button{background:var(--dh-green);color:#fff}
.elementor .dh-ebtn--green .elementor-button:hover{background:var(--dh-green-d)}
.elementor .dh-ebtn--outline .elementor-button{border-color:var(--dh-text);color:var(--dh-text)}
.elementor .dh-ebtn--outline .elementor-button:hover{background:var(--dh-text);color:#fff}
.elementor .dh-ebtn--white .elementor-button{background:#fff;color:var(--dh-char)}
.elementor .dh-ebtn--white .elementor-button:hover{background:#e9efe9}
.elementor .dh-ebtn--light .elementor-button{border-color:rgba(255,255,255,.7);color:#fff}
.elementor .dh-ebtn--light .elementor-button:hover{background:#fff;color:var(--dh-char)}
.elementor .dh-ebtn--link .elementor-button{padding:0;border:0;color:var(--dh-red)}
.elementor .dh-dark .dh-ebtn--link .elementor-button{color:#fff}
.elementor .dh-ebtn--sm .elementor-button{padding:10px 14px;font-size:.84rem}
.elementor .dh-ebtn .elementor-button-icon{margin-inline-start:6px}

/* ----- Elementor: value strip ----- */
.elementor .e-con.dh-grid--strip{--dh-cols:5;gap:0}
@media(max-width:1023px){.elementor .e-con.dh-grid--strip{--dh-cols:2}}
@media(max-width:640px){.elementor .e-con.dh-grid--strip{--dh-cols:1}}
.elementor .dh-strip .elementor-widget-icon-box .elementor-icon-box-wrapper{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:24px 20px;border-left:1px solid var(--dh-line);height:100%}
.elementor .dh-strip .elementor-widget-icon-box:first-child .elementor-icon-box-wrapper{border-left:0}
.elementor .dh-strip .elementor-icon-box-icon{margin:2px 0 0}
.elementor .dh-strip .elementor-icon-box-icon .elementor-icon{font-size:1.7rem;color:var(--dh-gt)}
.elementor .dh-strip .elementor-icon-box-title{font-size:.95rem;line-height:1.3;margin:0}
.elementor .dh-strip .elementor-icon-box-description{font-size:.82rem;color:var(--dh-muted);line-height:1.4;margin:2px 0 0}

/* ----- Elementor: why-choose and service cards ----- */
.elementor .dh-why .elementor-widget-icon-box .elementor-icon-box-wrapper,.elementor .e-con.dh-cardbox{background:var(--dh-surface);border:1px solid var(--dh-line);border-radius:6px;padding:26px;box-shadow:var(--dh-shadow);text-align:left;height:100%}
.elementor .dh-why .elementor-icon-box-icon{margin:0 0 14px}
.elementor .dh-why .elementor-icon-box-icon .elementor-icon{width:52px;height:52px;border-radius:6px;background:var(--dh-tint);color:var(--dh-gt);font-size:1.5rem;display:grid;place-items:center}
.elementor .dh-why .elementor-icon-box-title,.elementor .dh-cardbox .elementor-icon-box-title{font-size:1.1rem;font-weight:800;margin:0 0 8px}
.elementor .dh-why .elementor-icon-box-description,.elementor .dh-cardbox .elementor-icon-box-description{color:var(--dh-muted);font-size:.93rem;margin:0}
.elementor .e-con.dh-cardbox{display:flex;flex-direction:column;align-items:flex-start;gap:14px;--gap:14px}
.elementor .dh-cardbox .elementor-widget-icon-box .elementor-icon-box-wrapper{background:none;border:0;padding:0;box-shadow:none;height:auto}
.elementor .dh-cardbox .elementor-icon-box-icon{margin:0 0 14px}
.elementor .dh-cardbox .elementor-icon-box-icon .elementor-icon{width:56px;height:56px;border-radius:50%;background:var(--dh-char);color:#fff;font-size:1.4rem;display:grid;place-items:center}
.elementor .dh-cardbox .elementor-widget-button{margin-top:auto}

/* ----- Elementor: image slots, promo banners, application tiles ----- */
.elementor .e-con.dh-imgslot{background-color:var(--dh-art2);background-image:radial-gradient(120% 90% at 50% 0%,var(--dh-art1),var(--dh-art2));background-size:cover;background-position:center;border-radius:6px;min-height:320px;aspect-ratio:5/4}
.elementor .e-con.dh-promo{position:relative;min-height:360px;border-radius:6px;overflow:hidden;color:#fff;background-color:var(--dh-char);background-image:linear-gradient(135deg,#18251D 40%,#1d3f2b);background-size:cover;background-position:center;justify-content:flex-end;padding:32px;gap:12px;--gap:12px;align-items:flex-start}
.elementor .e-con.dh-promo--r{background-image:linear-gradient(135deg,#18251D 40%,#40191d)}
.elementor .dh-promo .elementor-heading-title{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;max-width:16ch}
.elementor .dh-promo .dh-lead,.elementor .dh-promo .dh-lead p{color:#cbd8cf;font-size:.95rem;max-width:44ch}
.elementor .e-con.dh-app-tile{position:relative;aspect-ratio:1/1.08;border-radius:6px;overflow:hidden;color:#fff;background-color:var(--dh-char);background-image:linear-gradient(160deg,#2A3D33,#18251D);background-size:cover;background-position:center;justify-content:flex-end;padding:16px;gap:4px;--gap:4px}
@media(min-width:900px){.elementor .dh-grid--apps>.e-con.dh-app-tile:first-child{grid-column:span 2;aspect-ratio:auto}}
.elementor .dh-app-tile .elementor-heading-title{color:#fff;font-size:1.05rem;font-weight:800;line-height:1.2}
.elementor .dh-app-tile .elementor-button::after{content:"";position:absolute;inset:0}
.elementor .dh-app-tile .elementor-icon-box-icon .elementor-icon{color:#fff;font-size:1.5rem}

/* ----- Elementor: ticks, accordion ----- */
.elementor .dh-ticks .elementor-icon-list-icon{color:var(--dh-gt)}
.elementor .dh-ticks .elementor-icon-list-text{color:var(--dh-text)}
.elementor .dh-acc .elementor-accordion .elementor-accordion-item{border:0;border-bottom:1px solid var(--dh-line)}
.elementor .dh-acc .elementor-accordion .elementor-accordion-item:first-child{border-top:1px solid var(--dh-line)}
.elementor .dh-acc .elementor-accordion .elementor-tab-title{padding:20px 4px;border:0;font-weight:700;font-size:1.05rem}
.elementor .dh-acc .elementor-accordion .elementor-tab-title a{color:var(--dh-text);font-family:var(--dh-font)}
.elementor .dh-acc .elementor-accordion .elementor-tab-title.elementor-active a{color:var(--dh-red)}
.elementor .dh-acc .elementor-accordion .elementor-tab-content{border:0;padding:0 4px 22px;color:var(--dh-muted);max-width:64ch}
.elementor .dh-acc .elementor-accordion-icon{color:var(--dh-red)}

/* ----- Contact Form 7 ----- */
.dh-form .wpcf7 form{margin:0}
.wpcf7 .dh-fgrid{margin-top:18px}
.wpcf7 label{display:grid;gap:6px;font-weight:600;font-size:.88rem}
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpcf7 select,.wpcf7 textarea,.dh-news-form input[type=email]{width:100%;padding:12px 14px;border:1px solid #b8c4bc;border-radius:4px;background:#fff;color:var(--dh-text);font:inherit;font-weight:400;min-height:48px;box-shadow:none}
.wpcf7 textarea{min-height:120px;resize:vertical}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:3px solid var(--dh-red);outline-offset:0;border-color:var(--dh-red)}
.wpcf7 .wpcf7-submit{cursor:pointer}
.wpcf7-not-valid-tip{color:var(--dh-red);font-size:.84rem;font-weight:600}
.wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:12px 14px;border:2px solid var(--dh-line);border-radius:4px;font-size:.92rem}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--dh-green);color:var(--dh-gt)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output{border-color:var(--dh-red);color:var(--dh-red)}
.dh-form .dh-f-act{margin-top:14px}
.dh-news-form form{display:flex;gap:10px;flex-wrap:wrap}

/* ----- WooCommerce: shop, category, single ----- */
ul.dh-pgrid{margin:0;padding:0;list-style:none}
ul.dh-pgrid>li.dh-pc{width:auto;float:none;margin:0;padding:0}
.dh-shop{display:grid;gap:28px}
@media(min-width:1000px){.dh-shop{grid-template-columns:250px 1fr;gap:40px}}
.dh-shop-main .woocommerce-result-count{margin:0 0 20px;color:var(--dh-muted);font-size:.9rem;float:none}
.dh-shop-main .woocommerce-ordering{display:none}
.dh-pc-price{font-weight:800;margin-top:2px}
.woocommerce-pagination ul.page-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:36px 0 0;padding:0;list-style:none;border:0}
.woocommerce-pagination ul.page-numbers li{border:0;margin:0;float:none}
.page-numbers{display:inline-block;min-width:42px;text-align:center;padding:9px 12px;border:1px solid var(--dh-line);border-radius:4px;font-weight:700;background:var(--dh-surface);text-decoration:none;color:var(--dh-text)}
.page-numbers.current,.page-numbers:hover{background:var(--dh-char);color:#fff;border-color:var(--dh-char)}
.dh-pd .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0;position:relative}
.dh-pd .woocommerce-product-gallery__wrapper{margin:0}
.dh-pd .woocommerce-product-gallery__image{border:1px solid var(--dh-line);border-radius:6px;overflow:hidden;background:#fff}
.dh-pd .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 0;padding:0;list-style:none}
.dh-pd .flex-control-thumbs li{margin:0;float:none;width:auto}
.dh-pd .flex-control-thumbs img{border:2px solid var(--dh-line);border-radius:6px;opacity:.75;cursor:pointer}
.dh-pd .flex-control-thumbs img.flex-active{border-color:var(--dh-red);opacity:1}
.dh-pd .summary{float:none!important;width:100%!important;margin:0}
.dh-pd .summary .dh-tag{margin-bottom:8px}
.dh-pd .summary .dh-model{margin:6px 0}
.dh-pd .woocommerce-product-details__short-description{margin:12px 0}
.dh-pd>.dh-pd-more,.dh-pd>.related,.dh-pd>.up-sells{grid-column:1/-1}
.dh-pd .related>h2{font-size:1.4rem;font-weight:800;margin:40px 0 14px}
@media(min-width:1200px){.dh-pd .related ul.dh-pgrid{grid-template-columns:repeat(4,1fr)}}
.dh-pd-more table.woocommerce-product-attributes{width:100%;border-collapse:collapse;font-size:.94rem;border:0}
.dh-pd-more table.woocommerce-product-attributes th,.dh-pd-more table.woocommerce-product-attributes td{padding:12px 14px;border:0;border-bottom:1px solid var(--dh-line);text-align:left;vertical-align:top;background:none;font-style:normal}
.dh-pd-more table.woocommerce-product-attributes th{width:40%;color:var(--dh-muted);font-weight:600}
.dh-pd-more table.woocommerce-product-attributes td p{margin:0}
.dh-pd-more .dh-blk{margin-top:40px}
.dh-pd-more .dh-prose p{margin:0 0 14px;color:var(--dh-text)}
.dh-pd-more .dh-ticks li{list-style:none}
.woocommerce-notices-wrapper{margin-bottom:16px}
.woocommerce-message,.woocommerce-info{padding:12px 16px;border-left:3px solid var(--dh-green);background:var(--dh-alt);margin:0 0 16px;list-style:none}

/* ----- Blog index / archives ----- */
.dh-card-b h3 a:hover{color:var(--dh-red)}
.dh-loop-pagination{margin-top:36px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}

/* ----- Elementor editor preview safety ----- */
.elementor-editor-active .dh-hero .dh-slide:not(.dh-active){display:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .dh-slide::before{opacity:1}
}

/* ----- Elementor: extra layout helpers used by the imported templates ----- */
.elementor .e-con.dh-contact{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
@media(min-width:960px){.elementor .e-con.dh-contact{grid-template-columns:.85fr 1.15fr;gap:48px}}
.elementor .e-con.dh-split--top{align-items:start}
.elementor .e-con.dh-narrow{max-width:820px;margin-inline:0}
.elementor .dh-app-tile .elementor-icon{color:#fff;font-size:1.5rem}
.elementor .dh-app-tile .elementor-widget-icon .elementor-icon-wrapper{text-align:left}
.elementor .dh-grid>.e-con.dh-cardbox{height:100%}
.elementor .dh-sec .dh-imgslot{width:100%}
