/**
 * GarageStroy — additive theme layer.
 * Load after the original style.css. The data attribute is the source of truth;
 * JavaScript also toggles .dark for future Tailwind dark: utilities.
 * No image inversion, no changes to the original light-theme utilities.
 */

/* Compact switch: 44px touch target, decorative sun/moon and moving thumb. */
.gs-theme-toggle {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  flex: 0 0 64px;
  align-items: center;
  width: 64px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #64686d;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.gs-theme-toggle[hidden] { display: none !important; }
.gs-theme-toggle::before {
  content: "";
  position: absolute;
  inset: 4px 0;
  z-index: -2;
  border: 1px solid #d9dce0;
  border-radius: inherit;
  background: #eff1f3;
  box-shadow: inset 0 1px 3px rgb(0 0 0 / .06);
  transition: background-color .2s ease, border-color .2s ease;
}
.gs-theme-toggle__thumb {
  position: absolute;
  top: 8px;
  left: 4px;
  z-index: -1;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f6d200;
  box-shadow: 0 2px 5px rgb(0 0 0 / .16);
  transition: transform .22s ease;
}
.gs-theme-icon {
  position: absolute;
  top: 13px;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
  transition: color .2s ease;
}
.gs-theme-icon--sun { left: 9px; color: #171717; }
.gs-theme-icon--moon { right: 9px; }
.gs-theme-toggle:hover::before { border-color: #91979e; }
.gs-theme-toggle:focus-visible { outline: 3px solid #968211; outline-offset: 3px; }
.gs-header-actions { flex-shrink: 0; }
.gs-header-brand { min-width: 0; }
.gs-header-brand > img { max-width: 100%; object-fit: contain; }
@media (max-width: 767px) {
  .gs-header-grid { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
  .gs-header-actions, .gs-header-actions > .md\:hidden { gap: 5px; }
  .gs-header-brand { max-width: 190px; }
  .gs-header-brand > img { width: auto; height: auto; max-height: 46px; }
}
@media (max-width: 374px) {
  .gs-header-grid { gap: 6px; }
  .gs-header-actions, .gs-header-actions > .md\:hidden { gap: 2px; }
}

/* Theme tokens. --gs-dark is deliberately unchanged: existing gold controls
 * use it as dark ink, while body headings are adapted explicitly below. */
@media screen {
html[data-gs-theme="dark"] {
  color-scheme: dark;
  --gs-theme-page: #111315;
  --gs-theme-panel: #191c1f;
  --gs-theme-raised: #23272b;
  --gs-theme-text: #f3f4f6;
  --gs-theme-secondary: #bac1c8;
  --gs-theme-border: #383e45;
  --gs-theme-heading-rgb: 243, 244, 246;
  --gs-theme-copy-rgb: 186, 193, 200;
  --gs-fores: #d0d5db;
  --gs-muted: #bac1c8;
  --gs-border: #383e45;
  --gs-shadow: 0 12px 30px rgb(0 0 0 / .24);
  background-color: var(--gs-theme-page);
  color: var(--gs-theme-text);
  scrollbar-color: #958213 var(--gs-theme-page);
}
html[data-gs-theme="dark"] body {
  background-color: var(--gs-theme-page);
  color: var(--gs-theme-secondary);
}
html[data-gs-theme="dark"] ::-webkit-scrollbar-track { background: var(--gs-theme-page); }
html[data-gs-theme="dark"] ::selection { background: #f6d200; color: #171717; }
html[data-gs-theme="dark"] .gs-theme-toggle::before { background: #292e34; border-color: #4b535d; }
html[data-gs-theme="dark"] .gs-theme-toggle__thumb { transform: translateX(28px); }
html[data-gs-theme="dark"] .gs-theme-icon--sun { color: #bcc2c9; }
html[data-gs-theme="dark"] .gs-theme-icon--moon { color: #171717; }
html[data-gs-theme="dark"] .gs-theme-toggle:focus-visible { outline-color: #f6d200; }
html[data-gs-theme="dark"] .gs-top-icon:focus-visible { outline-color: #f6d200; }

/* Existing Tailwind surfaces. Alpha white highlights over photographs and
 * intentional black overlays are left intact; only actual light panels change. */
html[data-gs-theme="dark"] :is(.bg-white, .neomorph, .skeleton-card, .dd-panel) {
  background-color: var(--gs-theme-panel);
}
html[data-gs-theme="dark"] .bg-light-shade { background-color: var(--gs-theme-page); }
html[data-gs-theme="dark"] .pattern-bg { background-color: var(--gs-theme-page); }
html[data-gs-theme="dark"] :is(.bg-gray-50, .bg-gray-100, .bg-gray-200, .bg-slate-50, .bg-slate-100, .review-image-box) {
  background-color: var(--gs-theme-raised);
}
html[data-gs-theme="dark"] .bg-white\/90 { background-color: rgb(25 28 31 / .94); }
html[data-gs-theme="dark"] .bg-white\/95 { background-color: rgb(25 28 31 / .97); }
html[data-gs-theme="dark"] .bg-white\/80 { background-color: rgb(25 28 31 / .90); }
html[data-gs-theme="dark"] .bg-light-shade\/20 { background-color: rgb(17 19 21 / .2); }
html[data-gs-theme="dark"] .bg-light-shade\/40 { background-color: rgb(17 19 21 / .4); }
html[data-gs-theme="dark"] .bg-light-shade\/50 { background-color: rgb(17 19 21 / .5); }
html[data-gs-theme="dark"] .bg-light-shade\/60 { background-color: rgb(17 19 21 / .6); }
html[data-gs-theme="dark"] :is(.bg-dark-shade\/5, .bg-foreground\/5) { background-color: rgb(255 255 255 / .045); }
html[data-gs-theme="dark"] :is(.bg-dark-shade\/10, .bg-foreground\/10) { background-color: rgb(255 255 255 / .08); }
html[data-gs-theme="dark"] .glass-effect { background-color: rgb(25 28 31 / .78); }
html[data-gs-theme="dark"] .neomorph {
  background-image: none;
  box-shadow: 6px 6px 18px rgb(0 0 0 / .25), -3px -3px 12px rgb(255 255 255 / .025);
}
html[data-gs-theme="dark"] .shadow-neomorphic {
  --tw-shadow: 6px 6px 18px rgb(0 0 0 / .25), -3px -3px 12px rgb(255 255 255 / .025);
  --tw-shadow-colored: var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
html[data-gs-theme="dark"] .skeleton { background: rgb(255 255 255 / .065); }
html[data-gs-theme="dark"] .skeleton::before { background: linear-gradient(90deg, transparent, rgb(255 255 255 / .07), transparent); }
html[data-gs-theme="dark"] .dd-panel { border-color: var(--gs-theme-border); box-shadow: 0 20px 40px rgb(0 0 0 / .35); }
html[data-gs-theme="dark"] .dd-item:hover { background: var(--gs-theme-raised); }

/* Solid yellow is a light surface. Its local text tokens also reach nested
 * icons and labels; nested neutral cards reset those tokens below. */
html[data-gs-theme="dark"] :is(.bg-primary, .bg-primary\/90, .neomorph-yellow, .review-stats, .client-avatar, .dd-apply, .gs-want-same-btn) {
  --gs-theme-heading-rgb: 23, 23, 23;
  --gs-theme-copy-rgb: 53, 49, 27;
  color: #171717;
}
html[data-gs-theme="dark"] :is(.bg-white, .bg-white\/80, .bg-white\/90, .bg-white\/95, .bg-light-shade, .bg-gray-50, .bg-gray-100, .bg-gray-200, .bg-dark-shade, .bg-dark-shade\/80, .bg-dark-shade\/90, .bg-black\/60, .bg-black\/70, .bg-black\/80, .bg-slate-900, .neomorph, .dd-panel) {
  --gs-theme-heading-rgb: 243, 244, 246;
  --gs-theme-copy-rgb: 186, 193, 200;
}

/* Text utilities use local surface tokens, keeping gold controls readable. */
html[data-gs-theme="dark"] :is(.text-dark-shade, .text-black, .text-gray-900, .text-gray-800, .text-slate-900, .text-slate-800) {
  color: rgb(var(--gs-theme-heading-rgb));
}
html[data-gs-theme="dark"] :is(.text-foreground, .text-gray-500, .text-gray-600, .text-gray-700, .text-slate-500, .text-slate-600, .text-slate-700) {
  color: rgb(var(--gs-theme-copy-rgb));
}
html[data-gs-theme="dark"] :is(.text-dark-shade\/90, .text-black\/90) { color: rgba(var(--gs-theme-heading-rgb), .9); }
html[data-gs-theme="dark"] :is(.text-dark-shade\/80, .text-black\/80) { color: rgba(var(--gs-theme-heading-rgb), .85); }
html[data-gs-theme="dark"] :is(.text-dark-shade\/70, .text-black\/70) { color: rgba(var(--gs-theme-heading-rgb), .78); }
html[data-gs-theme="dark"] :is(.text-dark-shade\/60, .text-black\/60) { color: rgba(var(--gs-theme-heading-rgb), .72); }
html[data-gs-theme="dark"] :is(.text-dark-shade\/50, .text-black\/50) { color: rgba(var(--gs-theme-heading-rgb), .65); }
html[data-gs-theme="dark"] .text-foreground\/80 { color: rgba(var(--gs-theme-copy-rgb), .92); }
html[data-gs-theme="dark"] .text-foreground\/70 { color: rgba(var(--gs-theme-copy-rgb), .87); }
html[data-gs-theme="dark"] .text-foreground\/60 { color: rgba(var(--gs-theme-copy-rgb), .82); }
html[data-gs-theme="dark"] .text-foreground\/50 { color: rgba(var(--gs-theme-copy-rgb), .78); }
html[data-gs-theme="dark"] .text-foreground\/30 { color: rgba(var(--gs-theme-copy-rgb), .55); }
html[data-gs-theme="dark"] .text-primary-dark { color: #e4ce59; }

/* Borders: neutral separators become cool gray; brand borders remain yellow. */
html[data-gs-theme="dark"] :is(.border-border-color, .border-gray-100, .border-gray-200, .border-gray-300, .border-slate-200, .border-slate-300) { border-color: var(--gs-theme-border); }
html[data-gs-theme="dark"] .border-border-color\/60 { border-color: rgb(56 62 69 / .7); }
html[data-gs-theme="dark"] :is(.divide-gray-100, .divide-gray-200, .divide-border-color) > :not([hidden]) ~ :not([hidden]) { border-color: var(--gs-theme-border); }
html[data-gs-theme="dark"] .ring-black\/5 { --tw-ring-color: rgb(255 255 255 / .09); }
html[data-gs-theme="dark"] :is(.ring-offset-white, .ring-offset-light-shade) { --tw-ring-offset-color: var(--gs-theme-panel); }

/* Pale gradients, including reviews and catalog banners; never replace an
 * entire background-image, so photographic and brand gradients survive. */
html[data-gs-theme="dark"] .from-light-shade\/50 {
  --tw-gradient-from: rgb(17 19 21 / .5) var(--tw-gradient-from-position, );
  --tw-gradient-to: rgb(17 19 21 / 0) var(--tw-gradient-to-position, );
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
html[data-gs-theme="dark"] .from-light-shade\/60 {
  --tw-gradient-from: rgb(17 19 21 / .6) var(--tw-gradient-from-position, );
  --tw-gradient-to: rgb(17 19 21 / 0) var(--tw-gradient-to-position, );
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
html[data-gs-theme="dark"] .from-white {
  --tw-gradient-from: #191c1f var(--tw-gradient-from-position, );
  --tw-gradient-to: rgb(25 28 31 / 0) var(--tw-gradient-to-position, );
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
html[data-gs-theme="dark"] .to-white { background: #191c1f }
html[data-gs-theme="dark"] .to-light-shade { --tw-gradient-to: #111315 var(--tw-gradient-to-position, ); }
html[data-gs-theme="dark"] .to-accent1 { --tw-gradient-to: #3b3125 var(--tw-gradient-to-position, ); }
/* This exact viewBox belongs to the white catalog divider, not to content SVG. */
html[data-gs-theme="dark"] svg[viewBox="0 0 1440 48"] > path[fill="white"] { fill: var(--gs-theme-panel); }

/* Form fields, excluding swatches, sliders, checkboxes and submit controls. */
html[data-gs-theme="dark"] :where(input:not([type]), input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="password"], input[type="number"], input[type="date"], input[type="datetime-local"], input[type="time"], textarea, select) {
  color: var(--gs-theme-text);
  background-color: var(--gs-theme-panel);
  border-color: #4a525c;
  caret-color: #f6d200;
  color-scheme: dark;
}
html[data-gs-theme="dark"] :where(input, textarea)::placeholder { color: #969fa9; opacity: 1; }
html[data-gs-theme="dark"] :where(select) option { background: var(--gs-theme-panel); color: var(--gs-theme-text); }
html[data-gs-theme="dark"] :where(input[type="checkbox"], input[type="radio"], input[type="range"]) { accent-color: #f6d200; }
html[data-gs-theme="dark"] :where(input, textarea):autofill {
  box-shadow: 0 0 0 1000px var(--gs-theme-raised) inset;
  -webkit-text-fill-color: var(--gs-theme-text);
  caret-color: #f6d200;
}
html[data-gs-theme="dark"] :where(input, textarea):-webkit-autofill {
  box-shadow: 0 0 0 1000px var(--gs-theme-raised) inset;
  -webkit-text-fill-color: var(--gs-theme-text);
  caret-color: #f6d200;
}

/* Existing prose and WYSIWYG content. Explicit primary-button ink avoids the
 * original --gs-dark variable's double role as heading and button color. */
html[data-gs-theme="dark"] .prose {
  --tw-prose-body: #d0d5db;
  --tw-prose-headings: #f3f4f6;
  --tw-prose-lead: #bac1c8;
  --tw-prose-links: #f6d200;
  --tw-prose-bold: #f3f4f6;
  --tw-prose-counters: #bac1c8;
  --tw-prose-bullets: #8e98a3;
  --tw-prose-hr: #383e45;
  --tw-prose-quotes: #e4e7eb;
  --tw-prose-quote-borders: #f6d200;
  --tw-prose-captions: #bac1c8;
  --tw-prose-code: #f3f4f6;
  --tw-prose-pre-code: #e4e7eb;
  --tw-prose-pre-bg: #111315;
  --tw-prose-th-borders: #4a525c;
  --tw-prose-td-borders: #383e45;
  color: #d0d5db;
}
html[data-gs-theme="dark"] :is(.prose.gs-desc, .catalog-wysiwyg, .review-content) :is(h1, h2, h3, h4, h5, h6, strong, b) { color: var(--gs-theme-text); }
html[data-gs-theme="dark"] .prose.gs-desc h5 { background: var(--gs-theme-raised); border-left-color: #f6d200; }
html[data-gs-theme="dark"] .prose.gs-desc :is(mark, code) { color: var(--gs-theme-text); }
html[data-gs-theme="dark"] .prose.gs-desc code { background: var(--gs-theme-raised); }
html[data-gs-theme="dark"] .prose.gs-desc a:not(.btn):hover { color: #f6d200; }
html[data-gs-theme="dark"] .prose.gs-desc .btn-primary { color: #171717; }
html[data-gs-theme="dark"] .prose.gs-desc .btn-outline { color: var(--gs-theme-text); border-color: #8e98a3; }
html[data-gs-theme="dark"] .prose.gs-desc .btn-outline:hover { background: var(--gs-theme-raised); border-color: #f6d200; }
html[data-gs-theme="dark"] .prose.gs-desc ol > li::before { color: #171717; }
html[data-gs-theme="dark"] .prose.gs-desc .btn-primary :is(strong, b) { color: #171717; }
html[data-gs-theme="dark"] .review-category { color: #e4ce59; }
html[data-gs-theme="dark"] .client-avatar { border-color: var(--gs-theme-border); }
html[data-gs-theme="dark"] .filter-btn { background: var(--gs-theme-panel); color: #e4ce59; }
html[data-gs-theme="dark"] :is(.filter-btn:hover, .filter-btn.active) { background: #f6d200; color: #171717; }

/* Semantic feedback stays distinguishable in the dark palette. */
html[data-gs-theme="dark"] :is(.bg-green-50, .bg-green-100) { background-color: #163024; }
html[data-gs-theme="dark"] :is(.text-green-600, .text-green-700, .text-green-800) { color: #82dea6; }
html[data-gs-theme="dark"] :is(.border-green-200, .border-green-300) { border-color: #2f6847; }
html[data-gs-theme="dark"] :is(.bg-red-50, .bg-red-100) { background-color: #381e23; }
html[data-gs-theme="dark"] :is(.text-red-600, .text-red-700, .text-red-800) { color: #ffacb4; }
html[data-gs-theme="dark"] :is(.border-red-200, .border-red-300) { border-color: #78404a; }

/* State utilities must follow base remapping: Tailwind's runtime stylesheet
 * can be appended later, so these scoped selectors win by specificity. */
html[data-gs-theme="dark"] .hover\:bg-light-shade:hover { background-color: var(--gs-theme-raised); }
html[data-gs-theme="dark"] .hover\:bg-white:hover { background-color: var(--gs-theme-raised); }
html[data-gs-theme="dark"] .hover\:bg-gray-100:hover { background-color: var(--gs-theme-raised); }
html[data-gs-theme="dark"] .hover\:bg-dark-shade\/10:hover { background-color: rgb(255 255 255 / .08); }
html[data-gs-theme="dark"] .hover\:bg-dark-shade\/20:hover { background-color: rgb(255 255 255 / .12); }
html[data-gs-theme="dark"] .hover\:bg-primary\/10:hover { background-color: rgb(246 210 0 / .10); }
html[data-gs-theme="dark"] .hover\:bg-primary\/20:hover { background-color: rgb(246 210 0 / .20); }
html[data-gs-theme="dark"] .hover\:bg-primary-dark:hover { background-color: #d9bd13; }
html[data-gs-theme="dark"] .hover\:bg-primary:hover {
  background-color: #f6d200;
  --gs-theme-heading-rgb: 23, 23, 23;
  --gs-theme-copy-rgb: 53, 49, 27;
  color: #171717;
}
html[data-gs-theme="dark"] .hover\:text-dark-shade:hover { color: rgb(var(--gs-theme-heading-rgb)); }
html[data-gs-theme="dark"] .hover\:text-foreground:hover { color: rgb(var(--gs-theme-copy-rgb)); }
html[data-gs-theme="dark"] .hover\:text-primary:hover { color: #f6d200; }
html[data-gs-theme="dark"] .hover\:text-primary-dark:hover { color: #ffdf49; }
html[data-gs-theme="dark"] .hover\:text-white:hover { color: #fff; }
html[data-gs-theme="dark"] .group:hover .group-hover\:text-primary { color: #f6d200; }
html[data-gs-theme="dark"] .group:hover .group-hover\:bg-primary\/20 { background-color: rgb(246 210 0 / .2); }
html[data-gs-theme="dark"] :is(.focus\:border-primary:focus, .hover\:border-primary:hover) { border-color: #f6d200; }
html[data-gs-theme="dark"] .focus\:border-transparent:focus { border-color: transparent; }
html[data-gs-theme="dark"] .hover\:border-primary\/20:hover { border-color: rgb(246 210 0 / .2); }
html[data-gs-theme="dark"] .hover\:border-primary\/30:hover { border-color: rgb(246 210 0 / .3); }
html[data-gs-theme="dark"] .hover\:border-primary\/50:hover { border-color: rgb(246 210 0 / .5); }

@media (min-width: 1024px) {
  html[data-gs-theme="dark"] .lg\:bg-white { background-color: var(--gs-theme-panel); }
  html[data-gs-theme="dark"] .lg\:bg-transparent { background-color: transparent; }
}
} /* screen: print retains the original light theme. */

@media print {
  html { color-scheme: light !important; }
  .gs-theme-toggle { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .gs-theme-toggle, .gs-theme-toggle::before, .gs-theme-toggle__thumb, .gs-theme-icon { transition: none; }
}
@media (forced-colors: active) {
  .gs-theme-toggle::before { border: 1px solid ButtonText; }
  .gs-theme-toggle__thumb { border: 2px solid Highlight; background: ButtonFace; }
  .gs-theme-icon { color: ButtonText; }
}

@media screen {
/* Template components: additive overrides for calculator, product specs and modals.
   All selectors are scoped to the theme attribute; dimensions and behavior are kept. */

/* Calculator controls have no background utility in page-calculator.php. */
html[data-gs-theme="dark"] #calc-root :is(select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"])) {
  color: var(--gs-theme-text);
  background-color: var(--gs-theme-raised);
  border-color: var(--gs-theme-border);
}
html[data-gs-theme="dark"] #calc-root :is(select, textarea, input):focus-visible {
  border-color: #f6d200;
  outline: 2px solid #f6d200;
  outline-offset: 2px;
}
html[data-gs-theme="dark"] #calc-root :is(select, textarea, input):disabled {
  color: var(--gs-theme-secondary);
  opacity: .65;
}
html[data-gs-theme="dark"] #calc-root :is(input, textarea)::placeholder {
  color: var(--gs-theme-secondary);
  opacity: 1;
}
html[data-gs-theme="dark"] #calc-root :is(.stepper-dec, .stepper-inc) {
  color: var(--gs-theme-text);
  background-color: var(--gs-theme-raised);
  border-color: var(--gs-theme-border);
}
html[data-gs-theme="dark"] #calc-root :is(.stepper-dec, .stepper-inc):hover {
  color: #f6d200;
  background-color: #30353a;
}
html[data-gs-theme="dark"] #calc-root :is(.stepper-dec, .stepper-inc):focus-visible {
  outline: 2px solid #f6d200;
  outline-offset: -3px;
}
html[data-gs-theme="dark"] .gs-inserted-from-product .gs-inserted-note {
  color: var(--gs-theme-secondary);
}

/* Product calculator: a value chip and optional selection-card states. */
html[data-gs-theme="dark"] .selectedfield {
  color: var(--gs-theme-text);
  border-color: var(--gs-theme-border);
}
html[data-gs-theme="dark"] :is(.calculator-option-card, .calculator-checkbox-card) {
  color: var(--gs-theme-text);
  background-color: var(--gs-theme-panel);
  border-color: var(--gs-theme-border);
}
html[data-gs-theme="dark"] :is(.calculator-option-card, .calculator-checkbox-card):hover,
html[data-gs-theme="dark"] :is(.calculator-option-card, .calculator-checkbox-card).border-primary {
  background-color: rgba(246, 210, 0, .10);
  border-color: #f6d200;
}

/* Product specifications: retain the dotted leaders and their solid masks. */
html[data-gs-theme="dark"] .gs-spec-row + .gs-spec-row {
  border-top-color: var(--gs-theme-border);
}
html[data-gs-theme="dark"] .gs-spec-name {
  color: var(--gs-theme-secondary);
}
html[data-gs-theme="dark"] .gs-spec-name::after {
  border-bottom-color: var(--gs-theme-border);
}
html[data-gs-theme="dark"] .gs-spec-name > span,
html[data-gs-theme="dark"] .gs-spec-val {
  background-color: var(--gs-theme-panel);
}
html[data-gs-theme="dark"] .gs-spec-val {
  color: var(--gs-theme-text);
}
html[data-gs-theme="dark"] h5[data-type="equipment"] + ul li::before {
  color: var(--gs-theme-secondary);
}

/* Description disclosure exists in both products and completed works. */
html[data-gs-theme="dark"] .gs-toggle {
  color: var(--gs-theme-text);
  background-color: var(--gs-theme-panel);
  border-color: var(--gs-theme-border);
}
html[data-gs-theme="dark"] .gs-toggle:hover {
  border-color: rgba(246, 210, 0, .7);
}
html[data-gs-theme="dark"] .prose.gs-desc .gs-toggle {
  color: var(--gs-theme-text);
  background-color: transparent;
}
html[data-gs-theme="dark"] .gs-toggle__action,
html[data-gs-theme="dark"] .prose.gs-desc .gs-toggle__action {
  color: var(--gs-theme-secondary);
  border-color: var(--gs-theme-border);
}
html[data-gs-theme="dark"] .prose.gs-desc.is-open .gs-toggle__action {
  color: var(--gs-theme-text);
  background-color: var(--gs-theme-raised);
}
html[data-gs-theme="dark"] .gs-toggle__icon::before {
  color: #f6d200;
}

/* Quiz selection uses ID-scoped styles appended by footer.php. */
html[data-gs-theme="dark"] #gsQuizModal .gq-option.is-active,
html[data-gs-theme="dark"] #gsQuizModal .gq-contact-channel.is-active {
  color: var(--gs-theme-text);
  background-color: rgba(246, 210, 0, .12);
  border-color: #f6d200;
  box-shadow: 0 0 0 1px rgba(246, 210, 0, .15);
}
html[data-gs-theme="dark"] #gsBuildingTypeModal .gbt-option:hover {
  background-color: rgba(246, 210, 0, .08);
  border-color: #f6d200;
}

/* Known shortcode surfaces only. The plugin's own form source was not supplied. */
html[data-gs-theme="dark"] .gsabf-card,
html[data-gs-theme="dark"] #gsAmoBuildingFormModal .gsabf-card-shortcode {
  color: var(--gs-theme-text);
  background-color: var(--gs-theme-panel);
  border-color: var(--gs-theme-border);
}

html[data-gs-theme="dark"] .gsabf-choice__text {
color: #ffffff;
}

html[data-gs-theme="dark"] .gsabf-field__label {
color: #ffffff
}

}