/* Studiora theme selector bridge - EP-102 mechanism. Default theme is light (cream/terracotta); home hero + photo sections use intentional full-bleed dark photo treatment (EP-104 overlay exemption) except brand accents, which always follow the palette. Original CSS already uses !important on body/.st-nav-cta/.st-btn (EP-108 risk) -- specificity-boosted via html body / double-class selectors so the bridge always wins regardless of load order. */

html body{background-color:var(--color-bg)!important;color:var(--color-text-muted)!important;}
.theme-studiora{background-color:var(--color-bg)!important;font-family:var(--font-body)!important;}
.theme-studiora h1,.theme-studiora h2,.theme-studiora h3,.theme-studiora h4,.theme-studiora h5,.theme-studiora h6{font-family:var(--font-heading)!important;}

/* primary dark text = #221F1C */
.st-back,.st-blog-card__title,.st-contact-info__value,.st-h2,.st-logo,.st-pf-back,.st-stat__num,.st-team-card__name,.vbh-row__more,.vsh-blog-card__title,.st-btn--ghost{color:var(--color-text)!important;}
.st-burger span{background-color:var(--color-text)!important;}
.st-btn--ghost{border-color:var(--color-text)!important;}
.vpc-nav button:hover{background-color:var(--color-bg)!important;color:var(--color-text)!important;}

/* solid dark-fill sections (bg=#221F1C, text=#F8F4EC) - functional, not photo */
.st-footer,.st-page-hero,.vsh-hero__panel,.st-form-submit,.vbc-card__pill{background-color:var(--color-text)!important;color:var(--color-bg)!important;}
.st-btn--ghost:hover,.st-contact-socials a:hover,.st-filter.is-active,.st-filter:hover,.vpm-filter.is-active,.vpm-filter:hover{background-color:var(--color-text)!important;border-color:var(--color-text)!important;color:var(--color-bg)!important;}
.st-nav-cta.st-nav-cta{background-color:var(--color-text)!important;color:var(--color-bg)!important;}
.st-svc-card__icon{background-color:var(--color-text)!important;color:var(--color-accent)!important;}
.st-footer-brand,.st-footer-heading,.st-footer-about,.st-footer-list a,.st-footer-socials a{color:var(--color-bg)!important;}
/* h1-h6 inside inverted dark-fill sections don't inherit color (platform's base h1-h6{color:var(--color-text)} rule always beats inherited values) - override explicitly */
.st-page-hero h1,.st-page-hero h2,.vsh-hero__panel h1,.vsh-hero__panel h2,.st-footer h1,.st-footer h2,.st-footer h3,.st-footer h4{color:var(--color-bg)!important;}
.st-page-hero__text{color:var(--color-bg)!important;}
.st-footer-socials a{border-color:var(--color-border)!important;}
.st-footer-bottom{color:var(--color-bg)!important;border-color:var(--color-border)!important;}

/* form-submit hover + nav-cta hover + footer-socials hover use accent (#B5502E) */
.st-form-submit:hover,.st-footer-socials a:hover{background-color:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--color-bg)!important;}
.st-nav-cta.st-nav-cta:hover{background-color:var(--color-primary)!important;color:var(--color-bg)!important;}

/* muted text = #8A8375 / #6B655C / #4A453D / #3A3630 / #7E786C / #A39E92 */
.st-contact-info__label,.st-empty,.st-stat__label,.st-team-card__socials a,.vbc-empty,.vbh-empty,.vbm-empty,.vpl-empty,.vpm-empty,.vsh-empty,.st-p,.st-svc-card__desc,.st-svc-row__desc,.st-tm-bio,.vsh-svc-card__desc,.st-contact-socials a,.st-filter,.st-nav a,.st-pf-content,.st-sidebar-box a,.st-testi-card__text,.st-tm-socials a,.vbs-sidebar-box a,.vpm-filter,.st-post-body,.st-svc-body,.vbs-body,.vpc-empty{color:var(--color-text-muted)!important;}

/* card/thumbnail surface backgrounds = #E4DCC8 / #F1EBDD / #F8F4EC (functional content sections, not photo/hero) */
.st-svc-card,.st-testi-card,.st-cta,.st-section--alt,.vsh-section--alt,.vsh-svc-card,.st-form-row input,.st-form-row textarea{background-color:var(--color-surface)!important;}
.st-header{background-color:var(--color-bg)!important;border-color:var(--color-border)!important;}
.st-nav{background-color:var(--color-bg)!important;}

/* hairline borders = #E4DCC8 / #C9BFA8 */
.st-header,.st-form-row input,.st-form-row textarea,.st-testi-card,.st-contact-socials a,.st-filter,.st-sidebar-box a,.st-svc-row,.vbs-sidebar-box a,.vpm-filter,.st-tm-socials a{border-color:var(--color-border)!important;}

/* accent primary = #B5502E */
.st-blog-card__date,.st-btn,.st-eyebrow,.st-form-alert.success,.st-nav a:hover,.st-nav a.is-active,.st-pf-hero__cat,.st-post-hero__date,.st-sidebar-box a:hover,.st-svc-card__link,.st-svc-hero__eyebrow,.st-svc-hero__price,.st-svc-row__price,.st-team-card__rank,.st-tm-rank,.vbc-hero__eyebrow,.vbh-hero__eyebrow,.vbh-row__date,.vbm-hero__eyebrow,.vbs-hero__date,.vbs-sidebar-box a:hover,.vpl-hero__eyebrow,.vpm-hero__eyebrow,.vsh-eyebrow{color:var(--color-primary)!important;}
.st-btn.st-btn,.vbm-lead__pill,.vsh-btn{background-color:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--color-bg)!important;}
.st-form-alert.success{border-color:var(--color-primary)!important;}
.st-form-row input:focus,.st-form-row textarea:focus{border-color:var(--color-primary)!important;}
.st-nav a::after{background-color:var(--color-primary)!important;}

/* secondary/lighter accent = #E38C5B */
.st-footer-list a:hover,.st-hero__eyebrow,.st-page-hero__eyebrow,.st-portfolio-item__cat,.vpc-hero__eyebrow,.vsh-hero__eyebrow{color:var(--color-accent)!important;}

/* shared FAQ accordion widget (EP-107 standing checklist item, no-op if theme has no FAQ page) */
.pbmit-accordion-title{color:var(--color-text)!important;}
.accordion-button:not(.collapsed){background-color:var(--color-surface)!important;}
