/* MECHANISM GAP: dreamgirl's own style.css defines a native :root block with --body-bg:#ffffff hardcoded,
   which dg-color-bridge / token_var_map never remaps (only --theme-color/--title-color/--body-color/
   --secondary-color/--smoke-color/--border-color/fonts are aliased). body{background-color:var(--body-bg)}
   stays literal white on every default (no-variant) page regardless of palette, while heading text correctly
   goes light via --title-color -> invisible light-on-white headings on a dark system palette. */
:root{--body-bg:var(--color-bg)!important;--white-color:var(--color-surface)!important;}
.media-style1{background-image:linear-gradient(120deg,var(--color-surface) 0%,var(--color-bg) 70%)!important;}

/* Shared platform FAQ accordion widget (pbmit-*, used across all themes) - collapsed items hardcode Bootstrap's
   default dark text (#212529) regardless of palette. The active/expanded item's button also hardcodes Bootstrap's
   light-blue active bg (#e7f1ff) - bridge both the text AND that active bg together (EP-104 pair). */
.pbmit-accordion-title{color:var(--color-text)!important;}
.accordion-button:not(.collapsed){background-color:var(--color-surface)!important;}

/* dreamgirl selector bridge - covers ALL 7 live tenant_page_variants files (home/services/about/contact/gallery/team/blog)
   Each variant file defines its own locally-scoped custom properties on a .dgXX-wrap wrapper (ink/mut/rose/cream/line),
   hardcoded to literal hex, then uses var(--dgXX-ink) etc throughout. Overriding just these 5 vars per wrapper (with
   !important) repaints nearly everything driven by them, since the theme's own definitions carry no !important. */

.dge-wrap{--dge-ink:var(--color-text)!important;--dge-mut:var(--color-text-muted)!important;--dge-rose:var(--color-primary)!important;--dge-cream:var(--color-surface)!important;--dge-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dgsc-wrap{--dgsc-ink:var(--color-text)!important;--dgsc-mut:var(--color-text-muted)!important;--dgsc-rose:var(--color-primary)!important;--dgsc-cream:var(--color-surface)!important;--dgsc-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dgas-wrap{--dgas-ink:var(--color-text)!important;--dgas-mut:var(--color-text-muted)!important;--dgas-rose:var(--color-primary)!important;--dgas-cream:var(--color-surface)!important;--dgas-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dgcm-wrap{--dgcm-ink:var(--color-text)!important;--dgcm-mut:var(--color-text-muted)!important;--dgcm-rose:var(--color-primary)!important;--dgcm-cream:var(--color-surface)!important;--dgcm-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dggm-wrap{--dggm-ink:var(--color-text)!important;--dggm-mut:var(--color-text-muted)!important;--dggm-rose:var(--color-primary)!important;--dggm-cream:var(--color-surface)!important;background:var(--color-bg)!important;}
.dgt-wrap{--dgt-ink:var(--color-text)!important;--dgt-mut:var(--color-text-muted)!important;--dgt-rose:var(--color-primary)!important;--dgt-cream:var(--color-surface)!important;--dgt-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dgbg-wrap{--dgbg-ink:var(--color-text)!important;--dgbg-mut:var(--color-text-muted)!important;--dgbg-rose:var(--color-primary)!important;--dgbg-cream:var(--color-surface)!important;--dgbg-line:var(--color-border)!important;background:var(--color-bg)!important;}

/* Hero pastel gradient backgrounds - text on top is driven by var(--dgXX-ink)/var(--dgXX-rose) above; on a dark
   system palette --color-text goes light, so the hardcoded light pastel gradient needs to move to --color-surface too. */
.dge-hero,.dgas-hero,.dgcm-hero,.dggm-hero,.dgt-hero,.dgbg-hero{background:var(--color-surface)!important;}

/* Card / panel / icon-badge backgrounds hardcoded to literal #fff, containing text driven by the vars above */
.dge-hero-mark,.dge-slider-strip,.dge-svc-tile,.dge-about,.dge-team-card,.dge-testi-card,.dge-blog{background:var(--color-surface)!important;}
.dge-testi{background:var(--color-surface)!important;}
.dgsc-tab,.dgsc-card,.dgsc-price-card,.dgsc-cta,.dgsc-card-badge{background:var(--color-surface)!important;}
.dgas-intro,.dgas-milestone .body,.dgas-values,.dgas-value-card i,.dgas-team-card{background:var(--color-surface)!important;}
.dgcm-form,.dgcm-form input:focus,.dgcm-form textarea:focus,.dgcm-form select:focus,.dgcm-item i,.dgcm-social a,.dgcm-faq-item{background:var(--color-surface)!important;}
.dgt-social a{background:var(--color-surface)!important;}
.dgbg-card{background:var(--color-surface)!important;}

/* hover states that swap to a literal white background while text becomes the ink-driven color */
.dgas-cta a:hover,.dggm-cta a:hover,.dgt-cta a:hover{background:var(--color-surface)!important;}

/* EP-104: selectors that use var(--dgXX-ink) as a SOLID dark background paired with literal color:#fff text.
   ink is now aliased to --color-text, which goes LIGHT on dark system palettes -- breaking the white-on-dark
   contrast these buttons/bands were designed around. Re-point just the background to --color-primary (always
   a vivid, contrast-safe accent by design) so white text stays readable regardless of palette. */
.dge-ribbon,.dge-cta,.dge-btn-primary,.dge-btn-ghost:hover{background:var(--color-primary)!important;}
.dgsc-tab.active,.dgsc-card-book:hover,.dgsc-empty .btn,.dgsc-price-card a,.dgsc-cta a.primary,.dgsc-cta a.ghost:hover{background:var(--color-primary)!important;}
.dgas-cta{background:var(--color-primary)!important;}
.dgcm-form .btn-send{background:var(--color-primary)!important;}
.dggm-cta{background:var(--color-primary)!important;}
.dgt-cta{background:var(--color-primary)!important;}

/* ===== portfolio.blade.php + portfolio_detail.blade.php (no-variant default pages, share .dgp-wrap scope) ===== */
.dgp-wrap{--dgp-ink:var(--color-text)!important;--dgp-mut:var(--color-text-muted)!important;--dgp-rose:var(--color-primary)!important;--dgp-cream:var(--color-surface)!important;background:var(--color-bg)!important;}
.dgp-hero{background:var(--color-surface)!important;}
.dgp-filters button{background:var(--color-surface)!important;border-color:var(--color-border)!important;}
.dgp-filters button.is-active{color:var(--color-surface)!important;}
.dgp-card{background:var(--color-surface)!important;}
.dgp-empty{border-color:var(--color-border)!important;}
.dgp-cta{background:var(--color-primary)!important;}
.dgp-cta a:hover{background:var(--color-surface)!important;}
.dgpd-related,.dgpd-related .card{background:var(--color-surface)!important;}
.dgpd-back a{border-color:var(--color-border)!important;}

/* ===== inactive variants (not currently active for any tenant, bridged now for future-proofing) =====
   Same "wrapper local vars" pattern as above, this palette family also has a "blush" tint (lighter pink,
   distinct from cream) -> mapped to --color-surface2. Prefixes: dgav(about-split) dggt(gallery-title)
   dgsp(services-pricinglist) dgbm(blog-magazine) dgcf(contact-form) dgb(home-booking) */
.dgav-wrap{--dgav-ink:var(--color-text)!important;--dgav-mut:var(--color-text-muted)!important;--dgav-rose:var(--color-primary)!important;--dgav-blush:var(--color-surface2)!important;--dgav-cream:var(--color-surface)!important;--dgav-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dggt-wrap{--dggt-ink:var(--color-text)!important;--dggt-mut:var(--color-text-muted)!important;--dggt-rose:var(--color-primary)!important;--dggt-blush:var(--color-surface2)!important;--dggt-cream:var(--color-surface)!important;--dggt-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dgsp-wrap{--dgsp-ink:var(--color-text)!important;--dgsp-mut:var(--color-text-muted)!important;--dgsp-rose:var(--color-primary)!important;--dgsp-blush:var(--color-surface2)!important;--dgsp-cream:var(--color-surface)!important;--dgsp-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dgbm-wrap{--dgbm-ink:var(--color-text)!important;--dgbm-mut:var(--color-text-muted)!important;--dgbm-rose:var(--color-primary)!important;--dgbm-blush:var(--color-surface2)!important;--dgbm-cream:var(--color-surface)!important;--dgbm-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dgcf-wrap{--dgcf-ink:var(--color-text)!important;--dgcf-mut:var(--color-text-muted)!important;--dgcf-rose:var(--color-primary)!important;--dgcf-blush:var(--color-surface2)!important;--dgcf-cream:var(--color-surface)!important;--dgcf-line:var(--color-border)!important;background:var(--color-bg)!important;}
.dgb-wrap{--dgb-ink:var(--color-text)!important;--dgb-mut:var(--color-text-muted)!important;--dgb-rose:var(--color-primary)!important;--dgb-blush:var(--color-surface2)!important;--dgb-cream:var(--color-surface)!important;}

/* hero gradients (blush/cream 3-stop fade -> surface2/bg fade) */
.dgav-hero,.dggt-hero,.dgsp-hero,.dgbm-hero,.dgcf-hero{background:linear-gradient(120deg,var(--color-surface2) 0%,var(--color-bg) 55%,var(--color-surface2) 100%)!important;}
.dgb-hero{background:linear-gradient(120deg,var(--color-surface2) 0%,var(--color-bg) 55%,var(--color-surface2) 100%)!important;}

/* card / panel surfaces hardcoded to literal #fff */
.dgav-approach-card,.dgav-testi-card,.dggt-tab,.dggt-card,.dgsp-book,.dgcf-book,.dgcf-strip-card,.dgb-book,.dgb-svc-pill,.dgb-stat,.dgb-team-img,.dgb-testi-item,.dgb-mini-blog article{background:var(--color-surface)!important;}
.dgcf-hero .quick-facts .f i,.dgb-hero-facts .f i{background:var(--color-surface)!important;}
.dgcf-strip-card i{background:var(--color-surface2)!important;}
.dgcf-book input:focus,.dgcf-book select:focus,.dgcf-book textarea:focus,.dgb-book input:focus,.dgb-book select:focus,.dgb-book textarea:focus{background:var(--color-surface)!important;}

/* EP-104: ink-bg + white-text buttons -> repoint bg to primary */
.dgav-stats{background:var(--color-primary)!important;}
.dggt-tab.active{background:var(--color-primary)!important;}
.dgsp-book:hover,.dgsp-side .cta,.dgsp-empty a{background:var(--color-primary)!important;}
.dgsp-book{color:var(--color-text)!important;border-color:var(--color-text)!important;}
.dgbm-lead-card .btn{background:var(--color-primary)!important;}
.dgcf-book .btn-send{background:var(--color-primary)!important;}
.dgb-book .dgb-submit{background:var(--color-primary)!important;}
.dgb-svc-pill:hover{background:var(--color-primary)!important;}

/* BUGFIX-footer-contrast: .widget_title (h3) has no explicit color rule in dreamgirl style.css - it silently
   inherits Bootstrap default body text (#212529) instead of the theme own --title-color:#fff set on .widget-area,
   invisible against the footer own fixed-dark background (#1f262b, not palette-driven). Force it white directly. */
.footer-widget .widget_title{color:#fff!important;}
