/* Explicit migration adapters. Existing forms, hooks and permission-filtered DOM remain intact. */
body:is(.fiesta-v1-site,.crm-public){--fiesta-canvas:var(--fiesta-surface-page);--fiesta-panel:var(--fiesta-surface-card);--fiesta-raised:var(--fiesta-surface-subtle);--fiesta-ink:var(--fiesta-text-primary);--fiesta-muted:var(--fiesta-text-muted);--fiesta-line:var(--fiesta-border-default);--fiesta-link:var(--fiesta-text-link);--fiesta-primary:var(--fiesta-control-primary-bg);--fui-bg:var(--fiesta-surface-page);--fui-surface:var(--fiesta-surface-aqua);--fui-elevated:var(--fiesta-surface-primary);--fui-text:var(--fiesta-text-primary);--fui-secondary:var(--fiesta-text-secondary);--fui-muted:var(--fiesta-text-muted);--fui-border:var(--fiesta-border-subtle);--fui-brand:var(--fiesta-control-primary-bg);--fui-brand-hover:var(--fiesta-control-primary-bg-hover);--fui-accent:var(--fiesta-brand-energy);--fui-inverse:var(--fiesta-text-inverse);--wp--preset--color--base:var(--fiesta-surface-primary);--wp--preset--color--contrast:var(--fiesta-text-primary);--wp--preset--color--ink:var(--fiesta-text-primary);background:var(--fiesta-surface-page);color:var(--fiesta-text-primary);color-scheme:light;font-family:var(--fiesta-font-interface);line-height:var(--fiesta-line-body);margin:0}
body:is(.fiesta-v1-site,.crm-public) *{box-sizing:border-box}
:is(.fiesta-v1-site,.crm-public) :is(.td-shell,.ftp-profile,.ftp-editor,.fcpv,.fpl-wrap,.fpl-page){--td-bg:var(--fiesta-surface-subtle);--td-panel:var(--fiesta-surface-primary);--td-line:var(--fiesta-border-subtle);--td-text:var(--fiesta-text-primary);--td-muted:var(--fiesta-text-muted);--td-accent:var(--fiesta-text-link);--ftp-ink:var(--fiesta-text-primary);--ftp-muted:var(--fiesta-text-muted);--ftp-accent:var(--fiesta-text-link);--cp-bg:var(--fiesta-surface-page);--cp-panel:var(--fiesta-surface-primary);--cp-text:var(--fiesta-text-primary);--cp-muted:var(--fiesta-text-muted);--cp-accent:var(--fiesta-text-link);--fpl-border:var(--fiesta-border-default);--fpl-ink:var(--fiesta-text-primary);--fpl-accent:var(--fiesta-text-link)}
body:is(.fiesta-v1-site,.crm-public).fta-page{--ink:var(--fiesta-text-primary);--muted:var(--fiesta-text-muted);--paper:var(--fiesta-surface-warm);--green:var(--fiesta-text-link);--lime:var(--fiesta-surface-aqua);background:var(--fiesta-surface-page)}
:is(.fiesta-v1-site,.crm-public) :is(.wp-site-blocks,.wp-block-post-content,.fc-account,.fs-wrap,.fua-account,.fcpv,.ftp-profile,.fsearch-main,.td-shell,.td-main,.fta-main){color:var(--fiesta-text-primary);background-color:transparent}
:is(.fiesta-v1-site,.crm-public) :is(h1,h2,h3,h4,h5,h6){color:var(--fiesta-text-primary);font-family:var(--fiesta-font-display);letter-spacing:var(--fiesta-tracking-heading);line-height:var(--fiesta-line-heading);overflow-wrap:anywhere}
:is(.fiesta-v1-site,.crm-public) h1{font-size:var(--fiesta-type-h1-size)}
:is(.fiesta-v1-site,.crm-public) h2{font-size:var(--fiesta-type-h2-size)}
:is(.fiesta-v1-site,.crm-public) h3{font-size:var(--fiesta-type-h3-size)}
:is(.fiesta-v1-site,.crm-public) :is(p,li,dd){overflow-wrap:anywhere}
:is(.fiesta-v1-site,.crm-public) a{color:var(--fiesta-text-link);text-underline-offset:.2em}
:is(.fiesta-v1-site,.crm-public) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--fiesta-control-focus);outline-offset:3px}
:is(.fiesta-v1-site,.crm-public) :is(.fc-event-card,.fsearch-card,.ftp-class,.fua-card,.fc-account-card,.fc-account-panel,.fui-pass,.fui-offering,.td-card,.td-panel,.fta-panel,.fta-preview,.fta-class-card,.fcpv-registration,.fcpv-section,.fpl-card,.fcr-card,.fs-wrap>article,.fs-wrap>details){background:var(--fiesta-surface-card);color:var(--fiesta-text-primary);border:1px solid var(--fiesta-border-subtle);border-radius:var(--fiesta-radius-lg);box-shadow:var(--fiesta-shadow-subtle)}
:is(.fiesta-v1-site,.crm-public) :is(.fc-event-card-body,.fsearch-card,.ftp-class,.fua-card,.fc-account-card,.fui-pass,.fui-offering){padding:var(--fiesta-padding-card)}
:is(.fiesta-v1-site,.crm-public) :is(.fc-event-card,.fsearch-card,.ftp-class,.fua-card){min-width:0}
:is(.fiesta-v1-site,.crm-public) :is(.fc-card-image,.fc-card-image img){border-radius:var(--fiesta-radius-lg) var(--fiesta-radius-lg) 0 0}
:is(.fiesta-v1-site,.crm-public) .fc-card-image img{object-fit:contain;background:var(--fiesta-surface-aqua)}
:is(.fiesta-v1-site,.crm-public) :is(.fc-event-grid,.fua-grid,.ftp-class-grid,.fsearch-results){gap:var(--fiesta-grid-gap)}
:is(.fiesta-v1-site,.crm-public) :is(.fui-label,.fc-kicker,.ftp-eyebrow,.fcpv-eyebrow,.fsearch-eyebrow,.fta-eyebrow){color:var(--fiesta-text-link);font-weight:600;letter-spacing:.1em}
:is(.fiesta-v1-site,.crm-public) :is(.fc-small,.ftp-muted,.fcpv-small,.fta-muted,.fua-card dt,.fsearch-card p,.td-muted){color:var(--fiesta-text-muted)}
:is(.fiesta-v1-site,.crm-public) :is(.fui-empty,.fc-empty,.ftp-empty,.fsearch-empty,.td-empty,.fta-independent,.fta-final,.ftp-final,.fua-checkout-intro){background:var(--fiesta-surface-aqua);color:var(--fiesta-text-primary);border-radius:var(--fiesta-radius-xl);border:1px solid var(--fiesta-border-subtle)}
:is(.fiesta-v1-site,.crm-public) :is(.fta-final>p:not(.fta-eyebrow),.fta-final .fta-eyebrow,.ftp-final p){color:var(--fiesta-text-secondary)}
:is(.fiesta-v1-site,.crm-public) :is(.fui-stats,.ftp-highlights,.ftp-fit,.fta-review-summary,.fta-preview-grid>div){background:var(--fiesta-surface-subtle);color:var(--fiesta-text-primary);border-color:var(--fiesta-border-subtle)}
:is(.fiesta-v1-site,.crm-public) :is(.ftp-hero,.fcpv-hero,.fsearch-hero){background:var(--fiesta-surface-aqua);color:var(--fiesta-text-primary);border-radius:var(--fiesta-radius-xl);border:1px solid var(--fiesta-border-subtle)}
:is(.fiesta-v1-site,.crm-public) .fsearch-hero>.fui-media{display:none}
:is(.fiesta-v1-site,.crm-public) .fsearch-hero:before,:is(.fiesta-v1-site,.crm-public) .fsearch-hero:after{background:none}
:is(.fiesta-v1-site,.crm-public) :is(.fsearch-hero p,.fcpv-summary,.ftp-headline,.ftp-identity-line){color:var(--fiesta-text-secondary)}
:is(.fiesta-v1-site,.crm-public) :is(.ftp-tags li,.fta-chips span,.fcpv-tags span,.fsearch-tag,.fta-tag){background:var(--fiesta-surface-aqua);color:var(--fiesta-text-link);border-color:var(--fiesta-border-subtle)}
:is(.fiesta-v1-site,.crm-public) :is(.td-sidebar,.td-mobile,.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){background:var(--fiesta-surface-primary);color:var(--fiesta-text-primary);border-color:var(--fiesta-border-subtle);box-shadow:none}
:is(.fiesta-v1-site,.crm-public) :is(.td-sidebar nav a,.td-mobile a,.woocommerce-MyAccount-navigation a){color:var(--fiesta-text-secondary)}
:is(.fiesta-v1-site,.crm-public) :is(.td-sidebar a[aria-current],.td-mobile a[aria-current],.td-tabs a[aria-current],.fsearch-filters a[aria-current],.woocommerce-MyAccount-navigation .is-active a){background:var(--fiesta-selected-bg);color:var(--fiesta-selected-text);border-color:var(--fiesta-selected-border)}
:is(.fiesta-v1-site,.crm-public) :is(.td-topline,.td-sidebar-person,.td-class-row,.td-student-row,.fua-session,.ftp-section){border-color:var(--fiesta-border-subtle)}
:is(.fiesta-v1-site,.crm-public) :is(.td-brand,.td-sidebar-person strong,.td-heading p){color:var(--fiesta-text-primary)}
:is(.fiesta-v1-site,.crm-public) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea){background:var(--fiesta-control-field-bg);color:var(--fiesta-control-field-text);border:1px solid var(--fiesta-control-field-border);border-radius:var(--fiesta-radius-sm);font-family:inherit;font-size:1rem;max-width:100%;min-height:44px}
:is(.fiesta-v1-site,.crm-public) :is(input,textarea)::placeholder{color:var(--fiesta-control-placeholder);opacity:1}
:is(.fiesta-v1-site,.crm-public) :is(input[type=checkbox],input[type=radio]){accent-color:var(--fiesta-control-selected)}
:is(.fiesta-v1-site,.crm-public) :is(.fui-button--primary,.fc-action,.ftp-button,.fcpv-cta,.fta-button,.td-primary,.fsearch-form button,.fc-account-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.fs-wrap button[type=submit]){background:var(--fiesta-control-primary-bg);color:var(--fiesta-control-primary-text);border:1px solid var(--fiesta-control-primary-bg);border-radius:var(--fiesta-radius-md);min-height:44px;padding:12px 20px;font-weight:600;text-decoration:none;box-shadow:none;text-shadow:none;white-space:normal}
:is(.fiesta-v1-site,.crm-public) :is(.ftp-secondary,.fta-secondary,.td-button:not(.td-primary),.fs-link,.fui-button--secondary,.fcpv-copy-link){background:var(--fiesta-control-secondary-bg);color:var(--fiesta-control-secondary-text);border:1px solid var(--fiesta-control-secondary-border);border-radius:var(--fiesta-radius-md);min-height:44px;padding:10px 18px;text-decoration:none}
:is(.fiesta-v1-site,.crm-public) :is(.fc-status,.ftp-state){background:var(--fiesta-semantic-neutral-bg);color:var(--fiesta-semantic-neutral-text);border-radius:var(--fiesta-radius-sm);padding:6px 10px;width:fit-content}
:is(.fiesta-v1-site,.crm-public) :is(.woocommerce-info,.td-notice,.fta-notice,.fs-notice){background:var(--fiesta-semantic-info-bg);color:var(--fiesta-semantic-info-text);border-color:var(--fiesta-semantic-info-border)}
:is(.fiesta-v1-site,.crm-public) :is(.woocommerce-error,.fta-notice.error){background:var(--fiesta-semantic-danger-bg);color:var(--fiesta-semantic-danger-text);border-color:var(--fiesta-semantic-danger-border)}
:is(.fiesta-v1-site,.crm-public) .woocommerce-message{background:var(--fiesta-semantic-success-bg);color:var(--fiesta-semantic-success-text);border-color:var(--fiesta-semantic-success-border)}
:is(.fiesta-v1-site,.crm-public) :is(table,th,td,fieldset){border-color:var(--fiesta-border-default)}
:is(.fiesta-v1-site,.crm-public) :is(thead,tfoot){background:var(--fiesta-surface-subtle);color:var(--fiesta-text-primary)}
:is(.fiesta-v1-site,.crm-public) .woocommerce-checkout #payment{background:var(--fiesta-surface-subtle);color:var(--fiesta-text-primary)}
:is(.fiesta-v1-site,.crm-public) :is(.fc-footer,footer.wp-block-template-part){background:var(--fiesta-surface-subtle);color:var(--fiesta-text-secondary);border-block-start:1px solid var(--fiesta-border-subtle)}
:is(.fiesta-v1-site,.crm-public) :is(.fc-footer a,.fc-footer p,.fc-footer h3,.fta-footer a){color:var(--fiesta-text-secondary)}
:is(.fiesta-v1-site,.crm-public) :is(.ftp-mobile-actions,.fcpv-sticky){background:var(--fiesta-surface-primary);border-color:var(--fiesta-border-subtle);box-shadow:var(--fiesta-shadow-raised)}
/* Festival photography remains expressive; its text moves to an opaque light panel. */
:is(.fiesta-v1-site,.crm-public) .fui-hero--blu{background:var(--fiesta-surface-aqua);color:var(--fiesta-text-primary)}
:is(.fiesta-v1-site,.crm-public) .fui-hero--blu .fui-hero-content{background:var(--fiesta-surface-primary);border-radius:var(--fiesta-radius-xl);padding:var(--fiesta-space-7);margin-block:var(--fiesta-space-8);max-width:var(--fiesta-container-reading)}
:is(.fiesta-v1-site,.crm-public) .fui-hero--blu :is(h1,.fui-hero-copy,.fui-date){color:var(--fiesta-text-primary)}
:is(.fiesta-v1-site,.crm-public) .fui-hero--blu h1{font-size:var(--fiesta-type-display-l-size);line-height:var(--fiesta-line-display)}
:is(.fiesta-v1-site,.crm-public) .fui-hero-note{color:var(--fiesta-text-inverse)}
@media(max-width:48rem){:is(.fiesta-v1-site,.crm-public) :is(.fc-event-grid,.ftp-class-grid,.fua-grid,.fsearch-results){grid-template-columns:minmax(0,1fr)}:is(.fiesta-v1-site,.crm-public) :is(.ftp-actions,.fui-actions,.fta-actions){flex-wrap:wrap}:is(.fiesta-v1-site,.crm-public) .fui-hero--blu .fui-hero-content{padding:var(--fiesta-space-5)}:is(.fiesta-v1-site,.crm-public) :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){width:100%;float:none}}
@media(prefers-reduced-motion:reduce){:is(.fiesta-v1-site,.crm-public) :is(.fc-event-card,.ftp-class,.fsearch-card,.fui-button,.fta-button){transition:none;transform:none}}

body:is(.fiesta-v1-site,.crm-public) .wp-block-post-content > .fsv-home{max-width:none;width:100%;margin-inline:0}

/* Standalone CRM document omits body_class(); explicit class keeps this adapter scoped.
   Important is necessary only to retire existing CRM important colour declarations. */
body.crm-public{background:var(--fiesta-surface-page)!important;color:var(--fiesta-text-primary)!important}
.crm-public .crm-register-summary h1,.crm-public .crm-registration h2{color:var(--fiesta-text-primary)}
.crm-public :is(.crm-register-form,.crm-register-success){background:var(--fiesta-surface-aqua);border-color:var(--fiesta-border-default)}
.crm-public .crm-registration :is(a,.td-eyebrow){color:var(--fiesta-text-link)}
.crm-public .crm-registration .td-primary{background:var(--fiesta-control-primary-bg)!important;color:var(--fiesta-control-primary-text)!important}
.crm-public .crm-registration :is(input:not([type=checkbox]):not([type=hidden]),textarea){background:var(--fiesta-control-field-bg);color:var(--fiesta-text-primary);border-color:var(--fiesta-border-default)}
.crm-public .crm-registration .td-muted{color:var(--fiesta-text-muted)}
.crm-public :is(.crm-register-facts,.crm-agreement){border-color:var(--fiesta-border-default)}
.fiesta-v1-site .fui-hero--blu .fui-hero-content{width:min(100%,var(--fiesta-container-reading));margin-inline-start:0}
.fiesta-v1-site .fc-card-image{background:var(--fiesta-surface-aqua)}
.fiesta-v1-site .fc-card-image:empty{display:none}
.fiesta-v1-site .fc-card-image p{margin:0}
.fiesta-v1-site .fsv-header-actions{flex-shrink:0;white-space:nowrap}
.fiesta-v1-site .fsv-menu summary{white-space:nowrap;overflow-wrap:normal}
@media(max-width:30rem){.fiesta-v1-site .fsv-header-inner{gap:var(--fiesta-space-2);padding-inline:var(--fiesta-space-2)}.fiesta-v1-site .fsv-header-actions{gap:var(--fiesta-space-2)}}
