/* 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;}

/* angel selector bridge - covers the 6 live tenant_page_variants files (services/about/contact/gallery/team/blog).
   home.blade.php has its own partial inline "angel-color-bridge" (links/buttons/headings only) from a prior
   session - left as-is; its remaining hardcoded testimonial/team/brand inline styles are lower-traffic sections,
   out of scope for this pass (home is not a page_variant, but the primary EP-105 gap was these 6 variant files).
   Literal hex used consistently across all 6: #fdf7f8=bg #fff=surface #fff3f7=surface2 #ec5598=primary
   #d4468a=accent(hover) #3d2833=text(headings) #5a4855/#7a6772/#a89598=text-muted #fdc2dc=border */

.ansc-scope,.anav-scope,.ancm-scope,.angm-scope,.ant-scope,.anbg-scope{background:var(--color-bg)!important;color:var(--color-text-muted)!important;}

.ansc-scope h1,.ansc-scope h2,.ansc-scope h3,.ansc-scope h4,
.anav-scope h1,.anav-scope h2,.anav-scope h3,.anav-scope h4,
.ancm-scope h1,.ancm-scope h2,.ancm-scope h3,.ancm-scope h4,
.angm-scope h1,.angm-scope h2,.angm-scope h3,.angm-scope h4,
.ant-scope h1,.ant-scope h2,.ant-scope h3,.ant-scope h4,
.anbg-scope h1,.anbg-scope h2,.anbg-scope h3,.anbg-scope h4{color:var(--color-text)!important;}

.ansc-scope a,.anav-scope a,.ancm-scope a,.angm-scope a,.ant-scope a,.anbg-scope a{color:var(--color-primary)!important;}

/* hero gradients / flat hero backgrounds (surface2 -> bg fade, or flat surface) */
.ansc-banner,.ancm-hero,.ant-hero,.anbg-hero{background:linear-gradient(180deg,var(--color-surface2),var(--color-bg))!important;}
.angm-hero{background:var(--color-surface)!important;}
.angm-band{background:linear-gradient(135deg,var(--color-surface2),var(--color-bg))!important;}
.anav-hero-band{background:var(--color-primary)!important;color:var(--color-surface)!important;}
.anav-hero-band h1{color:var(--color-surface)!important;}
.anav-hero-band p{color:var(--color-surface2)!important;}

/* accent eyebrow/tag/price/icon text */
.ansc-banner-tag,.ansc-card-price,.ansc-card-cta,.ancm-hero span,.ancm-field label,.angm-hero span,
.ant-hero .ant-eyebrow,.ant-num,.ant-role,.anav-num,.anav-v-card i,.anbg-meta,.anbg-read{color:var(--color-primary)!important;}

/* muted paragraph text */
.ansc-banner p,.ansc-card p,.ansc-empty,.ancm-hero p,.ancm-form-side .ancm-sub,.ancm-info-card h4,
.angm-hero p,.angm-empty,.angm-band p,.ant-hero p,.ant-bio,.anav-vsub,.anav-text p,.anav-v-card p,
.anbg-hero p,.anbg-excerpt{color:var(--color-text-muted)!important;}

/* card / panel surfaces (literal #fff reused for both bg-surfaces and on-accent text -> single consistent token) */
.ansc-card,.ancm-split,.ancm-info-card,.ant-card,.anbg-card,.anav-row,.anav-text,.anav-v-card,
.ansc-banner-tag,.ansc-band-cta,.ant-band a{background:var(--color-surface)!important;}
.ansc-band-cta,.ant-band a{color:var(--color-primary)!important;}

/* secondary tint surfaces (image placeholders, badges, icon circles) */
.ansc-card-img,.ansc-card-cta,.ancm-map,.angm-item,.ant-avatar img,.ant-role,.ant-social a,.anbg-img,
.anav-text.alt,.anav-values,.anav-v-card i{background:var(--color-surface2)!important;}

/* solid primary-bg sections/buttons with contrasting text (on-primary convention -> surface token) */
.ansc-card-icon,.ansc-band,.ancm-send,.ancm-info-card i,.angm-band a,.ant-band,.ant-social a:hover{background:var(--color-primary)!important;color:var(--color-surface)!important;}
.ansc-band h2,.ansc-band p,.ant-band h2,.ant-band p{color:var(--color-surface)!important;}
.ancm-send:hover{background:var(--color-accent)!important;}

/* borders */
.ansc-card-foot{border-top-color:var(--color-border)!important;}
.ancm-field input:focus,.ancm-field textarea:focus{outline-color:var(--color-primary)!important;}

/* explicit dark headings/text hardcoded to #3d2833 inside cards */
.ancm-field input,.ancm-field textarea,.ancm-info-card p,.anbg-title a{color:var(--color-text)!important;}
.anbg-title a:hover{color:var(--color-primary)!important;}

/* EP-104: form input background was left hardcoded to the theme's own light bg (#fdf7f8) while its text
   above now tracks --color-text (goes light on dark palettes) - bridge the input's own background too. */
.ancm-field input,.ancm-field textarea{background:var(--color-surface)!important;}

/* ===== angel's own legacy stylesheet (style.css) - has NO CSS vars at all, unlike dreamgirl/glamr.
   Bridging only the classes actually used by the default (no-variant) blade pages: about/contact/gallery/
   blog/pricing (services/team/faq were separately rebuilt on plain Bootstrap utilities - already self-
   consistent light-on-light regardless of palette, left alone). #ec5598=primary #222=text #666=text-muted
   #fff(section bg)=bg #f5f5f5=surface #dedede=border */
.contactSection,.varietySection,.aboutInfo,.aboutInner{background-color:var(--color-bg)!important;}
.contactTitle h3,.secotionTitle h2,.aboutInfo h2{color:var(--color-text)!important;}
.priceInfo ul li,.copyRight .list-inline li a,.copyRightText p,.useLink ul li a{color:var(--color-text-muted)!important;}
.footerInfo{border-top-color:var(--color-primary)!important;}
.priceTag,.expertSection .owl-theme .owl-dots .owl-dot.active span,.expertSection .owl-theme .owl-dots .owl-dot:hover span{background-color:var(--color-primary)!important;}
.expertSection .owl-theme .owl-dots .owl-dot span{border-color:var(--color-primary)!important;}
.copyRight .list-inline li a:hover{color:var(--color-primary)!important;}
.priceTableWrapper:hover .maskImage{background-color:var(--color-primary)!important;}
.priceInfo{background-color:var(--color-surface)!important;border-color:var(--color-border)!important;}
.priceInfo ul li{border-bottom-color:var(--color-border)!important;}

/* GLOBAL heading color rule in style.css (h1,h2,h3,h4,h5{color:#222}) applies theme-wide on every default page -
   scope to .theme-angel so other themes are unaffected. Re-affirm priceTag h4 (white text on the primary-colored
   price circle) AFTER this generic rule so it keeps its on-primary contrast instead of inheriting var(--color-text). */
.theme-angel h1,.theme-angel h2,.theme-angel h3,.theme-angel h4,.theme-angel h5{color:var(--color-text)!important;}
.theme-angel .priceTag h4{color:var(--color-surface)!important;}

/* ===== inactive variants (not currently active for any tenant, bridged now for future-proofing) =====
   Same literal palette as the already-active 6: #fdf7f8=bg #fff=surface #fff3f7=surface2 #ec5598=primary
   #d4468a=accent #3d2833=text #5a4855/#7a6772/#a89598=text-muted #fdc2dc=border.
   Prefixes: anas(about-story) angt(gallery-title) ansp(services-pricinglist) anbm(blog-magazine)
   ancf(contact-form) ane(home-editorial). */
.anas-scope,.angt-scope,.ansp-scope,.anbm-scope,.ancf-scope,.ane-scope{background:var(--color-bg)!important;color:var(--color-text-muted)!important;}
.anas-scope h1,.anas-scope h2,.anas-scope h3,.anas-scope h4,
.angt-scope h1,.angt-scope h2,.angt-scope h3,.angt-scope h4,
.ansp-scope h1,.ansp-scope h2,.ansp-scope h3,.ansp-scope h4,
.anbm-scope h1,.anbm-scope h2,.anbm-scope h3,.anbm-scope h4,
.ancf-scope h1,.ancf-scope h2,.ancf-scope h3,.ancf-scope h4,
.ane-scope h1,.ane-scope h2,.ane-scope h3,.ane-scope h4{color:var(--color-text)!important;}
.anas-scope a,.angt-scope a,.ansp-scope a,.anbm-scope a,.ancf-scope a,.ane-scope a{color:var(--color-primary)!important;}
.ane-scope a:hover{color:var(--color-accent)!important;}

/* hero gradients / flat hero surfaces */
.anas-hero,.angt-hero,.ancf-stage{background:linear-gradient(180deg,var(--color-surface2),var(--color-bg))!important;}
.ansp-hero,.angt-cta,.anas-timeline{background:var(--color-surface)!important;}
.ane-hero,.ane-testi{background:linear-gradient(135deg,var(--color-surface2),var(--color-bg))!important;}
.ane-featured,.ane-team{background:var(--color-surface)!important;}
.ane-editorial{background:linear-gradient(180deg,var(--color-surface),var(--color-surface2))!important;}

/* card / panel surfaces hardcoded to literal #fff */
.anas-story blockquote,.anas-tc,.angt-card,.ansp-category,.ancf-card,.ane-hero-lead .ane-tag,.ane-svc-card:hover{background:var(--color-surface)!important;}
.ansp-cta{background:var(--color-surface2)!important;}
.ane-svc-card{background:var(--color-surface2)!important;}
.ancf-form input,.ancf-form select,.ancf-form textarea{background:var(--color-surface2)!important;color:var(--color-text)!important;}

/* accent/eyebrow/price text */
.anas-hero .anas-eyebrow,.anas-tl-year,.anas-tc-role,.angt-hero .angt-eyebrow,.angt-card-cat,.ansp-eyebrow,.ansp-num,.ansp-price,.ansp-cat-count,
.anbm-issue,.anbm-meta,.anbm-row-meta,.anbm-sec,.ancf-badge,.ane-section-label,.ane-svc-more,.ane-team-rank,.ane-testi-name{color:var(--color-primary)!important;}

/* muted body/paragraph text */
.anas-story p,.anas-tl-item p,.ansp-row-body p,.ansp-price small,.anbm-tagline,.anbm-feature-body .anbm-lead-excerpt,.anbm-row p,.anbm-empty,
.ancf-card .ancf-lead,.ancf-alt,.ancf-quickinfo h5,.ane-hero-lead p,.ane-svc-desc,.ane-ed-body p{color:var(--color-text-muted)!important;}

/* solid primary-bg / on-primary text (bg:primary + literal white text stays fine; literal near-black-on-primary -> surface) */
.anas-counters,.ancf-submit,.ancf-badge,.anbm-feature-body .anbm-lead-label,.ane-svc-icon,.ane-cta-band{background:var(--color-primary)!important;}
.anas-counters,.anas-counter h3,.ane-cta-band,.ane-cta-band h2{color:var(--color-surface)!important;}
.anas-counter p{color:var(--color-surface2)!important;}
.ancf-submit:hover{background:var(--color-accent)!important;}

/* EP-104/specificity: these selectors' color is set with !important in the variant's OWN inline <style>, which
   renders AFTER this bridge <link> - equal specificity + !important loses to later source order (confirmed via
   devtools on .ane-cta). Boost specificity by doubling the scope class so the bridge wins regardless of order. */
.ane-scope.ane-scope .ane-cta{background:var(--color-primary)!important;color:var(--color-surface)!important;}
.ane-scope.ane-scope .ane-cta:hover{background:var(--color-accent)!important;}
.ane-scope.ane-scope .ane-cta.ghost,.ane-scope.ane-scope .ane-cta-band .ane-cta{background:var(--color-surface)!important;color:var(--color-primary)!important;}
.ane-scope.ane-scope .ane-cta-band .ane-cta:hover{background:var(--color-surface2)!important;}
.angt-scope.angt-scope .angt-cta a{color:var(--color-primary)!important;border-color:var(--color-primary)!important;}
.angt-scope.angt-scope .angt-cta a:hover{background:var(--color-primary)!important;color:var(--color-surface)!important;}
.ansp-scope.ansp-scope .ansp-cta a{background:var(--color-primary)!important;color:var(--color-surface)!important;}
.ane-testi-quote{color:var(--color-text)!important;}
.anas-story blockquote{color:var(--color-text)!important;}
.ane-cta-band .ane-cta:hover{background:var(--color-surface2)!important;}

/* EP-104/specificity: the variant's own inline <style> loads AFTER this bridge <link> in the DOM, so equal-
   specificity + !important rules lose on source order alone (confirmed in glamr) - boost specificity here. */
.anbm-scope.anbm-scope .anbm-feature-body h2 a,.anbm-scope.anbm-scope .anbm-row h4 a,
.ancf-scope.ancf-scope .ancf-quickinfo p{color:var(--color-text)!important;}
.anbm-scope.anbm-scope .anbm-feature-body h2 a:hover,.anbm-scope.anbm-scope .anbm-row h4 a:hover{color:var(--color-primary)!important;}

/* BUGFIX-footer-contrast: footer sits on a fixed light background IMAGE (footer-bg.jpg, unbridgeable via CSS
   vars). The generic .theme-angel h1..h5{color:var(--color-text)} rule above correctly tracks the palette
   everywhere else, but on a dark palette it turns these footer headings light -> invisible on the light image.
   Force footer headings back to the theme own original dark heading color regardless of palette. */
.theme-angel footer h1,.theme-angel footer h2,.theme-angel footer h3,.theme-angel footer h4,.theme-angel footer h5{color:#222!important;}
