/* ==========================================================================
   HasanWebs — Dark Mode (optional, opt-in)
   Every rule below is scoped under html[data-theme="dark"]. With no attribute
   (the default / Light Mode) NOTHING in this file applies, so Light Mode is
   untouched. Loaded after the child theme + Astra CSS.
   Architecture: the --hs-* / --hwb-* tokens are NOT redefined on :root. They are
   redefined only inside the approved content containers below, so anything
   outside them (Project pages, footer) keeps its Light values.
   ========================================================================== */

html[data-theme="dark"] { color-scheme: dark; }

/* ---- 1. Token overrides, inside approved content containers only ---- */
html[data-theme="dark"] body:is(.page, .blog, .category, .tag, .search, .author, .date, .error404, .single-post) .site-content {
  --hs-bg: #1A1915;
  --hs-surface: #22211C;
  --hs-band: #1E1D19;
  --hs-ink: #E8E4DC;
  --hs-body: #C9C3B8;
  --hs-muted: #A8A29A;
  --hs-gold: #C9982F;
  --hs-goldink: #E8C06A;
  --hs-line: rgba(232, 228, 220, .10);
  --ast-border-color: rgba(232, 228, 220, .10);
  --wpforms-field-background-color: #22211C;
  --wpforms-field-menu-color: #22211C;
  --wpforms-field-border-color: rgba(232, 228, 220, .18);
  --wpforms-field-text-color: #E8E4DC;
  --wpforms-label-color: #E8E4DC;
  --wpforms-label-sublabel-color: #A8A29A;
  --wpforms-label-error-color: #F2B8B5;
}
html[data-theme="dark"] .hwb-blog {
  --hwb-bg: #1A1915;
  --hwb-surface: #22211C;
  --hwb-band: #1E1D19;
  --hwb-ink: #E8E4DC;
  --hwb-body: #C9C3B8;
  --hwb-muted: #A8A29A;
  --hwb-accent: #C9982F;
  --hwb-accent-ink: #E8C06A;
  --hwb-accent-on-dark: #E8C06A;
  --hwb-line: rgba(232, 228, 220, .10);
  --hwb-shadow: rgba(0, 0, 0, .35);
}

/* ---- 2. Page canvas and base text (approved contexts only) ---- */
html[data-theme="dark"] body:is(.page, .blog, .category, .tag, .search, .author, .date, .error404, .single-post),
html[data-theme="dark"] body.blog.ast-separate-container #primary,
html[data-theme="dark"] body.category.ast-separate-container #primary,
html[data-theme="dark"] body.search-results.ast-separate-container #primary {
  background-color: #1A1915;
}
html[data-theme="dark"] body:is(.page, .blog, .category, .tag, .search, .author, .date, .error404, .single-post) .site-content {
  color: #C9C3B8;
}
html[data-theme="dark"] body:is(.page, .blog, .category, .tag, .search, .author, .date, .error404, .single-post) .site-content :is(h1, h2, h3, h4, h5, h6, .entry-title a, .ast-archive-title, .widget-title) {
  color: #E8E4DC;
}
/* Default link colour: zero extra specificity, so any component rule (even a tie) wins. */
:where(html[data-theme="dark"] body:is(.page, .blog, .category, .tag, .search, .author, .date, .error404, .single-post) .site-content) a {
  color: #E8C06A;
}
:where(html[data-theme="dark"] body:is(.page, .blog, .category, .tag, .search, .author, .date, .error404, .single-post) .site-content) a:hover {
  color: #F0CE86;
}
html[data-theme="dark"] .ast-separate-container .ast-article-inner,
html[data-theme="dark"] .ast-separate-container .ast-article-single:not(.ast-related-post),
html[data-theme="dark"] .ast-separate-container .error-404,
html[data-theme="dark"] .ast-separate-container .no-results,
html[data-theme="dark"] .ast-separate-container.ast-two-container #secondary .widget,
html[data-theme="dark"] .ast-plain-container,
html[data-theme="dark"] .ast-page-builder-template {
  background-color: #1A1915;
}
html[data-theme="dark"] .single-post .entry-content { color: #C9C3B8; }
html[data-theme="dark"] .single-post .entry-content :where(blockquote, pre, code, table, th, td) { border-color: rgba(232, 228, 220, .14); }
html[data-theme="dark"] .single-post .entry-content blockquote { color: #C9C3B8; }
html[data-theme="dark"] .single-post .entry-content :where(pre, code) { background: #22211C; color: #E8E4DC; }
html[data-theme="dark"] .single-post .entry-content :where(th) { background: #22211C; color: #E8E4DC; }
html[data-theme="dark"] .single-post .entry-content :where(td) { color: #C9C3B8; }
html[data-theme="dark"] .entry-meta,
html[data-theme="dark"] .entry-meta * { color: #E8C06A; }
html[data-theme="dark"] .ast-post-nav a,
html[data-theme="dark"] .single .nav-links .nav-previous,
html[data-theme="dark"] .single .nav-links .nav-next,
html[data-theme="dark"] .single .post-navigation a { color: #E8C06A; }
html[data-theme="dark"] .ast-separate-container .comments-area,
html[data-theme="dark"] .comments-area { background-color: #22211C; }
html[data-theme="dark"] .comment-respond :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
  background: #22211C; border-color: rgba(232, 228, 220, .18); color: #E8E4DC;
}
html[data-theme="dark"] .comment-respond :where(label, legend, .comment-notes, .comment-reply-title) { color: #E8E4DC; }

/* ---- 3. Header (shared global shell): colours only, no dimensions ---- */
html[data-theme="dark"] #masthead { --ast-border-color: rgba(232, 228, 220, .10); }
html[data-theme="dark"] #masthead,
html[data-theme="dark"] .site-header { border-bottom-color: rgba(232, 228, 220, .10); }
html[data-theme="dark"] .ast-primary-header-bar,
html[data-theme="dark"] .main-header-bar {
  background-color: #1A1915;
  border-bottom-color: rgba(232, 228, 220, .10);
}
html[data-theme="dark"] .ast-mobile-header-wrap .ast-mobile-header-content,
html[data-theme="dark"] .ast-desktop-header-content,
html[data-theme="dark"] .ast-mobile-popup-drawer.active .ast-mobile-popup-inner {
  background-color: #1A1915;
}
html[data-theme="dark"] .ast-builder-menu-1 .main-header-menu .menu-item > .menu-link,
html[data-theme="dark"] .ast-builder-menu-1 .menu-item > .menu-link,
html[data-theme="dark"] .ast-builder-menu-1 .menu-item > .ast-menu-toggle,
html[data-theme="dark"] #ast-mobile-header .ast-builder-menu-1 .menu-item > .menu-link {
  color: #C9C3B8;
}
html[data-theme="dark"] .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
html[data-theme="dark"] .ast-builder-menu-1 .current-menu-ancestor > .menu-link,
html[data-theme="dark"] .ast-builder-menu-1 .menu-item.current-menu-item > .ast-menu-toggle {
  color: #C9C3B8;
}
html[data-theme="dark"] .ast-builder-menu-1 .menu-link:hover,
html[data-theme="dark"] .ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link,
html[data-theme="dark"] .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link:hover,
html[data-theme="dark"] .ast-builder-menu-1 .menu-item:hover > .ast-menu-toggle {
  color: #E8C06A;
}
html[data-theme="dark"] .ast-builder-menu-1 .sub-menu { background-color: #22211C; }
html[data-theme="dark"] .ast-header-break-point .main-header-menu,
html[data-theme="dark"] .ast-header-break-point .main-header-menu .sub-menu { background-color: #1A1915; }
html[data-theme="dark"] .ast-header-break-point .main-navigation ul .menu-item .menu-link,
html[data-theme="dark"] .ast-header-break-point .ast-builder-menu-1 .main-header-menu .menu-item > .menu-link {
  border-color: rgba(232, 228, 220, .10);
}
html[data-theme="dark"] .hw-lang-toggle-desktop .hw-lang-link,
html[data-theme="dark"] .hw-lang-toggle-mobile { color: #C9C3B8; }
html[data-theme="dark"] .hw-lang-toggle-desktop .hw-lang-link:hover,
html[data-theme="dark"] .hw-lang-toggle-desktop .hw-lang-link:focus-visible,
html[data-theme="dark"] .hw-lang-toggle-mobile:hover,
html[data-theme="dark"] .hw-lang-toggle-mobile:focus-visible { color: #E8C06A; }
html[data-theme="dark"] .hw-lang-toggle-desktop .hw-lang-sep { color: #8F8A81; }

/* Dark logo: the original <img> keeps its box (and alt text for assistive tech);
   the existing white-on-dark asset (media ID 321, already used in the footer)
   is painted behind it. */
html[data-theme="dark"] #masthead .custom-logo-link {
  background: url("/wp-content/uploads/2026/10/hasanwebs-logo-horizontal-white-concept-12.png") no-repeat center / 100% 100%;
  /* 2026-10-05: inline-block so the painted box equals the <img> box (as inline it was only one text line
     tall, which squashed the white logo vertically). The <img> position is unchanged. */
  display: inline-block;
  line-height: 0;
  vertical-align: middle;
}
html[data-theme="dark"] #masthead .custom-logo { opacity: 0; }


/* ---- 4a. Elementor Home / Contact (EN + AR): colours mapped by role from each page's generated CSS. Element-ID selectors are used only because these Elementor widgets carry no semantic classes. ---- */
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-415c418,.elementor-element-89a9cca,.elementor-element-ce36e25),
html[data-theme="dark"] .elementor-59 .elementor-element:is(.elementor-element-5757229,.elementor-element-92e3dca,.elementor-element-d35ee76,.elementor-element-ed1225d),
html[data-theme="dark"] .elementor-66 .elementor-element:is(.elementor-element-3bd8bea,.elementor-element-3e22aa4,.elementor-element-7e83889,.elementor-element-8ad7706){background-color:#1A1915}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-03140b4,.elementor-element-1610c71,.elementor-element-1e75dee,.elementor-element-34f023c,.elementor-element-3acb45d,.elementor-element-526ac2f,.elementor-element-52aede4,.elementor-element-55eb6ae,.elementor-element-62da179,.elementor-element-7c2c090,.elementor-element-7de6724,.elementor-element-855b8c3,.elementor-element-8680c9b,.elementor-element-8845f2f,.elementor-element-916ade4,.elementor-element-a5ca997,.elementor-element-b0696d6,.elementor-element-c44b5bd,.elementor-element-d2c592b) .elementor-heading-title,
html[data-theme="dark"] .elementor-59 .elementor-element:is(.elementor-element-17d58d8,.elementor-element-4fb8f8d,.elementor-element-59f307f,.elementor-element-5b5f9db,.elementor-element-a0aab7b) .elementor-heading-title,
html[data-theme="dark"] .elementor-66 .elementor-element:is(.elementor-element-002dc6d,.elementor-element-372215e,.elementor-element-74e13c6,.elementor-element-76bf32f,.elementor-element-e47a561) .elementor-heading-title{color:#E8C06A}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-09112e8,.elementor-element-1ad277d,.elementor-element-1f9453b,.elementor-element-2152172,.elementor-element-2368589,.elementor-element-4220bd0,.elementor-element-45488ce,.elementor-element-4a426a6,.elementor-element-55336c3,.elementor-element-5d35ed5,.elementor-element-6b73529,.elementor-element-6e0b41b,.elementor-element-733d6f4,.elementor-element-7b154ef,.elementor-element-83f7d00,.elementor-element-8f3bf40,.elementor-element-9430923,.elementor-element-94ff90a,.elementor-element-9b92613,.elementor-element-a75a0ba,.elementor-element-a89eff8,.elementor-element-a957c29,.elementor-element-c1a02fa,.elementor-element-c49019d,.elementor-element-c758ea0,.elementor-element-cce575c,.elementor-element-dca79ab,.elementor-element-e5c309e) .elementor-heading-title,
html[data-theme="dark"] .elementor-59 .elementor-element:is(.elementor-element-3e4a475,.elementor-element-b283c49,.elementor-element-bdf5249,.elementor-element-ce95057,.elementor-element-f26972b) .elementor-heading-title,
html[data-theme="dark"] .elementor-66 .elementor-element:is(.elementor-element-561ab24,.elementor-element-928c337,.elementor-element-931fb7c,.elementor-element-d310f6a,.elementor-element-da59a12) .elementor-heading-title{color:#E8E4DC}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-076947a,.elementor-element-0e23d83,.elementor-element-0f627fe,.elementor-element-1549507,.elementor-element-176faee,.elementor-element-1f006ce,.elementor-element-2b65a81,.elementor-element-2dfd3db,.elementor-element-3aed218,.elementor-element-420fa68,.elementor-element-4941dc0,.elementor-element-4c65698,.elementor-element-55a43a3,.elementor-element-586704e,.elementor-element-5f13152,.elementor-element-62330a3,.elementor-element-6698c44,.elementor-element-74f8206,.elementor-element-7fc0812,.elementor-element-803af77,.elementor-element-8fdf7d2,.elementor-element-9d13e96,.elementor-element-9fe5cad,.elementor-element-a2c66ec,.elementor-element-b3d66fd,.elementor-element-b4f0ab8,.elementor-element-dc641b9,.elementor-element-e4259d5,.elementor-element-f16aab6),
html[data-theme="dark"] .elementor-59 .elementor-element:is(.elementor-element-05d7d43,.elementor-element-2b51f52,.elementor-element-80ec127,.elementor-element-887e41a),
html[data-theme="dark"] .elementor-66 .elementor-element:is(.elementor-element-158f4e3,.elementor-element-3036e71,.elementor-element-94b83cc,.elementor-element-e5f2740){color:#C9C3B8}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element.elementor-element-4ce42a3,
html[data-theme="dark"] .elementor-59 .elementor-element:is(.elementor-element-4bb2346,.elementor-element-579a854),
html[data-theme="dark"] .elementor-66 .elementor-element:is(.elementor-element-652fe81,.elementor-element-7f46685),
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-8541f7e,.elementor-element-a058dbe,.elementor-element-be9c9e8) .elementor-heading-title{color:#A8A29A}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-464037b,.elementor-element-89b2a80,.elementor-element-c049973,.elementor-element-c629a83,.elementor-element-f6d179d,.elementor-element-fa50092),
html[data-theme="dark"] .elementor-59 .elementor-element:is(.elementor-element-694de89,.elementor-element-9f25030){background-color:#1E1D19}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-1596c06,.elementor-element-271c34c,.elementor-element-33aa9e6,.elementor-element-3cefc9b,.elementor-element-5d87470,.elementor-element-6046257,.elementor-element-8e4c191,.elementor-element-8fe5dfc,.elementor-element-973fd00,.elementor-element-9e49983,.elementor-element-b5b5eab,.elementor-element-bdbb8b6,.elementor-element-cd1e477,.elementor-element-d3756d2,.elementor-element-d80976a,.elementor-element-e83126b,.elementor-element-eef7e55,.elementor-element-fbc9d1d){border-color:rgba(232,228,220,0.09)}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-1596c06,.elementor-element-271c34c,.elementor-element-33aa9e6,.elementor-element-3cefc9b,.elementor-element-5d87470,.elementor-element-6046257,.elementor-element-8e4c191,.elementor-element-8fe5dfc,.elementor-element-973fd00,.elementor-element-9e49983,.elementor-element-b5b5eab,.elementor-element-bdbb8b6,.elementor-element-cd1e477,.elementor-element-d3756d2,.elementor-element-d80976a,.elementor-element-e83126b,.elementor-element-eef7e55,.elementor-element-fbc9d1d),
html[data-theme="dark"] .elementor-66 .elementor-element:is(.elementor-element-3c06853,.elementor-element-d9372d9),
html[data-theme="dark"] .elementor-45 .elementor-element:is(.elementor-element-0495e82b,.elementor-element-109be42f,.elementor-element-1b2188a9,.elementor-element-29559d5a,.elementor-element-31faeb1d,.elementor-element-4603ed32,.elementor-element-5354f1ff,.elementor-element-545d88f2,.elementor-element-6bde3c42,.elementor-element-89554fef,.elementor-element-9506661c,.elementor-element-96a9908b,.elementor-element-a2cace17,.elementor-element-abe52b02,.elementor-element-ae67f4ef,.elementor-element-c0bd0824,.elementor-element-d30ce040,.elementor-element-defe7ef1,.elementor-element-e0d3d641,.elementor-element-f6f2ca67,.elementor-element-ff717881).elementor-view-stacked .elementor-icon,
html[data-theme="dark"] .elementor-65 .elementor-element:is(.elementor-element-008a87e5,.elementor-element-09950657,.elementor-element-1156d761,.elementor-element-26a43b28,.elementor-element-2826179e,.elementor-element-6f2ed1fa,.elementor-element-921f897d,.elementor-element-9d4bd00c,.elementor-element-a0eb6e5d,.elementor-element-a89a3b59,.elementor-element-aa543d73,.elementor-element-bbd7d922,.elementor-element-bea8e4ca,.elementor-element-bfd1f7a5,.elementor-element-c8b0c542,.elementor-element-da219f21,.elementor-element-e77a6648,.elementor-element-e8630000,.elementor-element-f19ceeb8,.elementor-element-f4a87ce9,.elementor-element-fb00f4ae).elementor-view-stacked .elementor-icon{background-color:#22211C}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-188d5fd,.elementor-element-2011afc,.elementor-element-279ed1c,.elementor-element-71e32de,.elementor-element-89d61af,.elementor-element-8ce1937,.elementor-element-ac6d6bb,.elementor-element-b07e7c6,.elementor-element-b211816) .elementor-button{fill:#E8C06A;color:#E8C06A}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element.elementor-element-0c1d290 .elementor-button{background-color:#22211C;fill:#E8E4DC;color:#E8E4DC;border-color:rgba(232,228,220,0.18)}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element.elementor-element-0c1d290 .elementor-button:hover,
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element.elementor-element-0c1d290 .elementor-button:focus{background-color:#22211C;color:#E8E4DC;border-color:#E8E4DC}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element.elementor-element-0c1d290 .elementor-button:hover svg,
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element.elementor-element-0c1d290 .elementor-button:focus svg{fill:#E8E4DC}
html[data-theme="dark"] :is(.elementor-45,.elementor-65) .elementor-element:is(.elementor-element-1b91c84,.elementor-element-2a560ad,.elementor-element-3345fd6,.elementor-element-3514f9e,.elementor-element-5aeb47f,.elementor-element-c836159) .elementor-heading-title{color:rgba(232,192,106,0.35)}

/* ---- 4b. Custom component classes (hs-*): hard-coded colours; token-based rules are handled by the token overrides above ---- */
html[data-theme="dark"] .hs-chip,
html[data-theme="dark"] .hs-post,
html[data-theme="dark"] .blog .ast-article-post,
html[data-theme="dark"] .archive .ast-article-post,
html[data-theme="dark"] .hs-consult-card__icon,
html[data-theme="dark"] .hs-blogsearch input,
html[data-theme="dark"] .hs-featured-main,
html[data-theme="dark"] .hs-featured-mini,
html[data-theme="dark"] .hs-catpill,
html[data-theme="dark"] .hs-essential{background-color:#22211C}
html[data-theme="dark"] .hs-soon{border-color:rgba(232,228,220,.22)}
html[data-theme="dark"] .hs-quote{color:rgba(232,192,106,.4)}
html[data-theme="dark"] .single-post .entry-content,
html[data-theme="dark"] #skills .hs-intro-desc,
html[data-theme="dark"] .hs-enq-list li,
html[data-theme="dark"] .hs-step__d{color:#C9C3B8}
html[data-theme="dark"] .wpforms-container input[type=text],
html[data-theme="dark"] .wpforms-container input[type=email],
html[data-theme="dark"] .wpforms-container input[type=tel],
html[data-theme="dark"] .wpforms-container select,
html[data-theme="dark"] .wpforms-container textarea{border-color:rgba(232,228,220,.16)}
html[data-theme="dark"] #skills .hs-heading,
html[data-theme="dark"] #skills .hs-card-title,
html[data-theme="dark"] #skills .hs-skill-label,
html[data-theme="dark"] #skills .hs-value-title,
html[data-theme="dark"] .hs-who-card__t,
html[data-theme="dark"] .hs-touch-card__v,
html[data-theme="dark"] .hs-enq-form .wpforms-field-label,
html[data-theme="dark"] .hs-step__t{color:#E8E4DC}
html[data-theme="dark"] #skills .hs-card{background-color:#22211C;border-color:rgba(232,228,220,.06)}
html[data-theme="dark"] #skills .hs-value-item:not(:first-child),
html[data-theme="dark"] #skills .hs-value-item:nth-child(2n){border-inline-start-color:rgba(232,228,220,.09)}
html[data-theme="dark"] #skills .hs-value-desc,
html[data-theme="dark"] .hs-who-card__d,
html[data-theme="dark"] .hs-touch-card__l{color:#A8A29A}
html[data-theme="dark"] #skills .hs-value-item{border-bottom-color:rgba(232,228,220,.12)}
html[data-theme="dark"] .hs-testi-card{background-color:#22211C!important}
html[data-theme="dark"] .hs-deck-btn{border-color:rgba(232,228,220,.16)!important;background-color:#22211C!important}
html[data-theme="dark"] .hs-contact-form-card,
html[data-theme="dark"] .hs-quick-card,
html[data-theme="dark"] .hs-who-card,
html[data-theme="dark"] .hs-touch-card,
html[data-theme="dark"] .hs-enq-card,
html[data-theme="dark"] .hs-step{background-color:#22211C;border-color:rgba(232,228,220,.09)}
html[data-theme="dark"] .hs-contact-form-card .wpforms-container,
html[data-theme="dark"] .hs-enq-form .wpforms-container{--wpforms-field-border-color:rgba(232,228,220,.16);--wpforms-field-background-color:#22211C;--wpforms-field-text-color:#E8E4DC;--wpforms-label-color:#E8E4DC;--wpforms-label-error-color:#F2B8B5}
html[data-theme="dark"] .hs-contact-form-card input[type=text],
html[data-theme="dark"] .hs-contact-form-card input[type=email],
html[data-theme="dark"] .hs-contact-form-card input[type=tel],
html[data-theme="dark"] .hs-contact-form-card select,
html[data-theme="dark"] .hs-contact-form-card textarea{border-color:rgba(232,228,220,.14);background-color:#22211C}
html[data-theme="dark"] .hs-contact-form-card .wpforms-error,
html[data-theme="dark"] .hs-enq-form .wpforms-error{color:#F2B8B5}
html[data-theme="dark"] .hs-quick-card--whatsapp .hs-quick-card__icon,
html[data-theme="dark"] .hs-touch-card--whatsapp .hs-touch-card__ic{background-color:#1F2E26}
html[data-theme="dark"] .hs-who-photo img{border-color:rgba(232,228,220,.08)}
html[data-theme="dark"] .hs-who-card__ic,
html[data-theme="dark"] .hs-touch-card__ic{background-color:#2B2922;color:#E8C06A}
html[data-theme="dark"] .hs-enq-side{background-color:#1A1915;border-inline-end-color:rgba(232,228,220,.07)}
html[data-theme="dark"] .hs-enq-side{border-bottom-color:rgba(232,228,220,.07)}
html[data-theme="dark"] .hs-enq-list__title{color:#A8A29A;border-top-color:rgba(232,228,220,.08)}
html[data-theme="dark"] .hs-enq-form .wpforms-required-label,
html[data-theme="dark"] .hs-step__num{color:#E8C06A}
html[data-theme="dark"] .hs-enq-form input[type=text],
html[data-theme="dark"] .hs-enq-form input[type=email],
html[data-theme="dark"] .hs-enq-form input[type=tel],
html[data-theme="dark"] .hs-enq-form select,
html[data-theme="dark"] .hs-enq-form textarea{border-color:rgba(232,228,220,.14);color:#E8E4DC;background-color:#22211C}
html[data-theme="dark"] .hs-enq-form .wpforms-confirmation-container{background-color:#1E1D19;color:#E8E4DC}
html[data-theme="dark"] [dir=rtl] .hs-enq-side{border-inline-end-color:rgba(232,228,220,.07)}
html[data-theme="dark"] .hs-step__num{background-color:#1A1915}

/* ---- 5. Intentionally dark components stay dark; gold-button text stays dark ink ---- */
html[data-theme="dark"] .hs-postcta,
html[data-theme="dark"] .hwb-side-cta,
html[data-theme="dark"] .hwb-value-cta {
  background: #14130F;
  box-shadow: 0 0 0 1px rgba(232, 228, 220, .10);
}
html[data-theme="dark"] .hs-finalcta { box-shadow: 0 0 0 1px rgba(232, 228, 220, .10); }
html[data-theme="dark"] .hs-postcta h2 { color: #FAF7F2; }
html[data-theme="dark"] .hs-postcta .hs-btn,
html[data-theme="dark"] .hs-chip--key,
html[data-theme="dark"] .hwb-pagination .page-numbers.current,
html[data-theme="dark"] .hwb-side-search button,
html[data-theme="dark"] .hwb-side-cta__btn,
html[data-theme="dark"] .hwb-value-cta__btn { color: #14130F; }
html[data-theme="dark"] .hs-postcta .hs-btn--ghost { color: #FAF7F2; }
html[data-theme="dark"] .hs-blogsearch button { background: #E8E4DC; color: #14130F; }
html[data-theme="dark"] .hs-blogsearch button:hover { background: #E8C06A; }
html[data-theme="dark"] .hs-deck-btn { color: #E8E4DC !important; }
html[data-theme="dark"] .hs-deck-dot { background: rgba(232, 228, 220, .22) !important; }
html[data-theme="dark"] .hs-deck-dot.is-on { background: #C9982F !important; }

/* Contact enquiry form: dark "ink" submit becomes a light button; gold submit unchanged */
html[data-theme="dark"] .hs-enq-form button.wpforms-submit,
html[data-theme="dark"] .hs-enq-form .wpforms-submit,
html[data-theme="dark"] .hs-enq-form button.wpforms-submit[disabled],
html[data-theme="dark"] .hs-enq-form button.wpforms-submit:disabled,
html[data-theme="dark"] .hs-enq-form .wpforms-submit[disabled] { background: #E8E4DC !important; color: #14130F !important; }
html[data-theme="dark"] .hs-enq-form button.wpforms-submit:hover,
html[data-theme="dark"] .hs-enq-form .wpforms-submit:hover,
html[data-theme="dark"] .hs-enq-form button.wpforms-submit:focus-visible,
html[data-theme="dark"] .hs-enq-form .wpforms-submit:focus-visible,
html[data-theme="dark"] .hs-enq-form button.wpforms-submit:active,
html[data-theme="dark"] .hs-enq-form .wpforms-submit:active { background: #E8C06A !important; color: #14130F !important; }
html[data-theme="dark"] .hs-contact-form-card button.wpforms-submit,
html[data-theme="dark"] .hs-contact-form-card .wpforms-submit { color: #14130F !important; }
html[data-theme="dark"] .wpforms-container ::placeholder { color: #8F8A81; opacity: 1; }
html[data-theme="dark"] .wpforms-container .wpforms-field-sublabel { color: #A8A29A; }
html[data-theme="dark"] .wpforms-container .wpforms-error,
html[data-theme="dark"] .wpforms-container label.wpforms-error { color: #F2B8B5; }
html[data-theme="dark"] .wpforms-container input:focus,
html[data-theme="dark"] .wpforms-container select:focus,
html[data-theme="dark"] .wpforms-container textarea:focus { border-color: #E8C06A; }

html[data-theme="dark"] .hs-post__cat,
html[data-theme="dark"] .hs-featured-main__cat { background: rgba(26, 25, 21, .92); }

/* Home decorative background grids */
html[data-theme="dark"] #home:before,
html[data-theme="dark"] .hs-testi-section::before {
  background-image: linear-gradient(rgba(232, 228, 220, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(232, 228, 220, .045) 1px, transparent 1px);
}

/* ---- 6. Theme toggle control: pill switch (approved 2026-10-05) ----
   Desktop: icon-only button in the header. Tablet/mobile: last row of the hamburger menu, full-width tap
   target with the text label kept for screen readers only. Light mode: #14130F track, knob left, moon + stars.
   Dark mode: logo orange #C15113 track, sun left, knob right. Knob and icons #FFFFFF in both modes.
   Behaviour (theme-toggle.js, hw-theme storage, aria-pressed, early head script) is unchanged.
   Selectors start with #masthead so they out-rank Elementor Kit / Astra generic "button" styles. */
#masthead button.hw-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
  line-height: 0;
  flex: 0 0 auto;
  -webkit-appearance: none;
  appearance: none;
}
#masthead button.hw-theme-toggle:hover,
#masthead button.hw-theme-toggle:focus { background: transparent; box-shadow: none; }
#masthead button.hw-theme-toggle:focus-visible { outline: 2px solid #C9982F; outline-offset: 2px; }

#masthead .hw-pill {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 54px;
  height: 28px;
  border-radius: 999px;
  background: #14130F;
  direction: ltr;
  transition: background-color .2s ease;
}
#masthead .hw-pill__knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #FFFFFF;
  transition: transform .2s ease;
}
#masthead .hw-pill__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #FFFFFF;
  line-height: 0;
}
#masthead .hw-pill__icon svg { display: block; width: 16px; height: 16px; }
#masthead .hw-pill__moon { right: 6px; }
#masthead .hw-pill__sun { left: 6px; display: none; }
html[data-theme="dark"] #masthead .hw-pill { background: #C15113; }
html[data-theme="dark"] #masthead .hw-pill__knob { transform: translateX(26px); }
html[data-theme="dark"] #masthead .hw-pill__moon { display: none; }
html[data-theme="dark"] #masthead .hw-pill__sun { display: block; }
@media (prefers-reduced-motion: reduce) {
  #masthead .hw-pill,
  #masthead .hw-pill__knob { transition: none; }
}

#masthead .hw-theme-row button.hw-theme-toggle {
  width: 100%;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 0;
  justify-content: flex-start;
  border-radius: 0;
}
#masthead .hw-theme-row .hw-theme-label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
