/* 3.3.2: mobile navigation and embedded event/calendar contrast. Scoped to this theme. */
:root{--fsmp-admin-offset:0px;--fsmp-menu-top:90px;--fsmp-header-height:90px}
html{scroll-padding-top:calc(var(--fsmp-admin-offset) + var(--fsmp-header-height) + 18px)}
.fsmp-2027 .site-header{top:var(--fsmp-admin-offset)!important;z-index:9990;isolation:isolate;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important}
.fsmp-2027 .mobile-navigation:not([open]) nav{display:none!important}
.fsmp-2027 .mobile-navigation summary{cursor:pointer;touch-action:manipulation}
.fsmp-2027 .mobile-navigation a{touch-action:manipulation}
.fsmp-2027 :where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--fp-focus);outline-offset:4px}
.fp-contact-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:12px 0 28px}
.fp-contact-address{overflow-wrap:anywhere;margin-top:18px}.fp-contact-mail{overflow-wrap:anywhere}
[data-copy-status]{display:block;min-height:1.5em;font-size:13px;color:var(--fp-muted)}
.fp-admin-diagnostic{margin-top:24px;padding:18px;border:1px solid var(--fp-line);border-radius:10px;background:var(--fp-bg);color:var(--fp-ink);font-size:13px}
.fp-admin-diagnostic ul{margin:12px 0;padding-left:18px}.fp-admin-diagnostic li{margin-bottom:7px}
.fp-form-fallback .button{max-width:100%;white-space:normal}
.fp-form [data-turnstile]{max-width:100%;overflow:hidden}
.fp-events-notice{padding:20px 24px;border:1px solid var(--fp-line);border-radius:12px;background:var(--fp-card);margin-bottom:30px}
/* The Events Calendar defines its own palette; do not inherit its light-theme dark text. */
:root[data-fsmp-theme="dark"] .fsmp-2027 :where(.tribe-common,.tribe-events,.tribe-events-view,#tribe-events-pg-template,.tribe-events-single){
 --tec-color-text-primary:#f4f6f8;--tec-color-text-secondary:#c7d6e3;--tec-color-text-disabled:#a1b4c5;
 --tec-color-background:#070f19;--tec-color-background-events:#101f2e;--tec-color-background-secondary:#101f2e;
 --tec-color-background-primary:#101f2e;--tec-color-border-default:#41576a;--tec-color-border-secondary:#41576a;
 --tec-color-link-primary:#9ed9fc;--tec-color-link-accent:#ffe45a;--tec-color-accent-primary:#9ed9fc;
 --tec-color-text-events-title:#f4f6f8;--tec-color-text-event-title:#f4f6f8;color:#f4f6f8;
}
:root[data-fsmp-theme="dark"] .fsmp-2027 :where(.tribe-common,.tribe-events,.tribe-events-single) :where(h1,h2,h3,h4,h5,p,li,span,time,dd,dt,label){color:var(--fp-ink)}
:root[data-fsmp-theme="dark"] .fsmp-2027 :where(.tribe-common,.tribe-events,.tribe-events-single) a{color:var(--fp-blue)}
:root[data-fsmp-theme="dark"] .fsmp-2027 :where(.tribe-common,.tribe-events) :where(input,select,textarea){background:var(--fp-card);color:var(--fp-ink);border-color:#41576a}
:root[data-fsmp-theme="dark"] .fsmp-2027 .tribe-common :where(.tribe-common-c-btn,.tribe-events-c-search__button){background:#ffe45a;color:#102639}
:root[data-fsmp-theme="dark"] .fsmp-2027 .tribe-common-c-svgicon{color:var(--fp-blue)}
:root[data-fsmp-theme="dark"] .fsmp-2027 :where(.tribe-events-notices,.tribe-events-calendar-list__event-details){background:transparent;color:var(--fp-ink)}
.fsmp-2027 .tribe-events :where(img,video){opacity:1}
@media(max-width:940px){
 html[data-fsmp-nav-open="true"] body{overflow:hidden}
 .fsmp-2027 .header-inner{gap:12px}
 .fsmp-2027 .mobile-navigation[open] nav{display:block;position:fixed;top:var(--fsmp-menu-top);left:0;right:0;width:auto;max-height:calc(100vh - var(--fsmp-menu-top));max-height:calc(100dvh - var(--fsmp-menu-top));overflow-y:auto;overscroll-behavior:contain;z-index:9991;padding:12px max(22px,env(safe-area-inset-left)) calc(22px + env(safe-area-inset-bottom));background:var(--fp-bg);box-shadow:0 14px 32px #0005;border-bottom:1px solid var(--fp-line)}
 .fsmp-2027 .mobile-navigation .menu{gap:0!important;margin:0;list-style:none;padding:0}
 .fsmp-2027 .mobile-navigation .menu a{display:block;min-height:48px;padding:14px 12px;font-size:16px;border-radius:7px;color:var(--fp-ink)}
 .fsmp-2027 .mobile-navigation a[aria-current="page"]{background:var(--fp-card);color:var(--fp-blue)}
 .fsmp-2027 .mobile-navigation .sub-menu{padding-left:14px!important}
 .fsmp-2027 .mobile-navigation summary{min-height:44px;min-width:64px;display:flex;align-items:center;justify-content:center}
 .fsmp-2027 .fp-theme-toggle{min-height:44px;min-width:44px}
 .fp-page-hero{padding-top:26px;padding-bottom:36px}
 .fp-breadcrumb{margin-bottom:22px}
}
@media(max-width:400px){.fsmp-2027 .header-inner{width:calc(100% - 24px);gap:8px}.fsmp-2027 .brand{gap:7px}.fsmp-2027 .brand img{width:33px;height:43px}.fsmp-2027 .brand b{font-size:11px}.fsmp-2027 .brand small{font-size:8px;letter-spacing:.10em}.fsmp-2027 .fp-header-tools{gap:6px}.fp-form{padding:18px}.fp-form-fallback{padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fsmp-2027 *{scroll-behavior:auto!important}}

/* 3.3.3: a single registration row in the shared footer; no in-content duplicate. */
.fsmp-2027 .fp-footer-grid > * { min-width: 0; }
.fsmp-2027 .fp-footer-registration {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px 32px;
    margin-top: 38px;
    padding: 22px 0;
    border-top: 1px solid var(--fp-line);
    color: var(--fp-muted);
    font-size: 12px;
    line-height: 1.7;
}
.fsmp-2027 .fp-footer-registration-label { font-weight: 600; }
.fsmp-2027 .fp-footer-registration dl {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 28px;
    margin: 0;
    padding: 0;
    min-width: 0;
    max-width: 100%;
}
.fsmp-2027 .fp-footer-registration dl > div {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
}
.fsmp-2027 .fp-footer-registration dt {
    margin: 0;
    padding: 0;
    color: var(--fp-muted);
    font-weight: 600;
    flex-shrink: 0;
}
.fsmp-2027 .fp-footer-registration dd {
    margin: 0;
    padding: 0;
    color: var(--fp-ink);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
    min-width: 0;
}
.fsmp-2027 .fp-footer-registration + .fp-footer-bottom { margin-top: 0; }
@media (max-width: 700px) {
    .fsmp-2027 .fp-footer-registration { margin-top: 28px; gap: 12px; padding: 20px 0; }
    .fsmp-2027 .fp-footer-registration-label { flex-basis: 100%; }
    .fsmp-2027 .fp-footer-registration dl { gap: 8px 24px; }
}
@media (max-width: 370px) {
    .fsmp-2027 .fp-footer-registration dl { flex-direction: column; }
}
