/* Local device fonts only. Three palettes, shared compact typography. */
body.lf-theme-modern{--lf-bg:#f6f8fa;--lf-surface:#fff;--lf-text:#18252f;--lf-muted:#465b66;--lf-action:#c93451;--lf-border:#d6e1e6;--coral:#c93451;--amber:#ffd479;--lf-font:"Segoe UI Variable","Segoe UI",Arial,sans-serif;--lf-heading:"Segoe UI Variable","Segoe UI",Arial,sans-serif;background:var(--lf-bg)!important;color:var(--lf-text)!important}
body.lf-theme-caribbean{--lf-bg:#24102b;--lf-surface:#351935;--lf-text:#fff7ec;--lf-muted:#e2d8e4;--lf-action:#d22c5b;--lf-border:#654665;--coral:#ff4175;--amber:#ffe260;--lf-font:"Trebuchet MS","Segoe UI",Arial,sans-serif;--lf-heading:"Trebuchet MS","Segoe UI",Arial,sans-serif;background:radial-gradient(ellipse at 10% 0,#55304d,transparent 50%),var(--lf-bg)!important;color:var(--lf-text)!important}
body.lf-theme-compact{--lf-bg:#f5f0e8;--lf-surface:#fffdf9;--lf-text:#242c33;--lf-muted:#56616a;--lf-action:#b13f17;--lf-border:#ded8ce;--coral:#b13f17;--amber:#efc474;--lf-font:Tahoma,"Segoe UI",Arial,sans-serif;--lf-heading:Tahoma,"Segoe UI",Arial,sans-serif;background:var(--lf-bg)!important;color:var(--lf-text)!important}
body[class*="lf-theme-"]{font-family:var(--lf-font)!important;font-size:16px;line-height:1.55}
body[class*="lf-theme-"] :is(h1,h2,h3){font-family:var(--lf-heading)!important;letter-spacing:-.025em!important;text-shadow:none!important;text-transform:none}
body[class*="lf-theme-"] h1{font-size:clamp(26px,4vw,40px)!important;line-height:1.15!important}
body[class*="lf-theme-"] h2{font-size:clamp(21px,3vw,28px)!important;line-height:1.25!important}
body[class*="lf-theme-"] h3{font-size:18px!important;line-height:1.3!important}
body[class*="lf-theme-"] .hero h1{font-size:clamp(34px,5vw,60px)!important;max-width:100%;overflow-wrap:anywhere}
body[class*="lf-theme-"] :is(button,input,select,textarea){font-family:var(--lf-font)!important}
body[class*="lf-theme-"] :is(.settings-card,.auth-card,.legal-page,.event-detail,.event-card,.lf-directory-card,.directory-grid article,.lf-results-filter,.lf-results-menu nav){background:var(--lf-surface)!important;color:var(--lf-text)!important;border:1px solid var(--lf-border)!important;box-shadow:0 8px 24px #0000000d!important;border-radius:16px!important}
body[class*="lf-theme-"] :is(.event-card,.lf-directory-card,.directory-grid article,.settings-card,.legal-page,.event-detail,.auth-card) :is(h1,h2,h3,p,small,b,strong,label,summary,a:not(.btn)){color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important;text-shadow:none!important}
body[class*="lf-theme-"] :is(.event-body,.lf-directory-content){background:transparent!important}
body[class*="lf-theme-"] :is(input,select,textarea){background:var(--lf-surface)!important;color:var(--lf-text)!important;border-color:var(--lf-border)!important;font-size:15px!important}
body[class*="lf-theme-"] :is(.site-header,body>header,.next-events-quick,.category-strip a,.lf-results-view button,.lf-results-menu summary){background:var(--lf-surface)!important;color:var(--lf-text)!important;border-color:var(--lf-border)!important;text-shadow:none!important;box-shadow:0 3px 16px #0000000c!important}
body[class*="lf-theme-"] :is(.site-header,header) :is(a,button){color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important}
body[class*="lf-theme-"] :is(.brand,.site-header .brand){font-family:var(--lf-heading)!important;font-size:22px!important;text-shadow:none!important;color:var(--lf-action)!important;-webkit-text-stroke:0!important}
body[class*="lf-theme-"] :is(.section-head,.lf-results-top,.lf-results-view) :is(h2,span,b,small){color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important}
body[class*="lf-theme-"] :is(.btn.primary,.unified-submit,.lf-results-view button[aria-pressed=true],.category-strip a.active){background:var(--lf-action)!important;color:#fff!important;--lf-readable-color:#fff!important;border-color:var(--lf-action)!important;box-shadow:none!important;text-shadow:none!important;border-radius:11px!important}
body[class*="lf-theme-"] .btn:not(.primary){background:var(--lf-surface)!important;color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important;border:1px solid var(--lf-border)!important;box-shadow:none!important;text-shadow:none!important}
body[class*="lf-theme-"] .unified-search{background:var(--lf-surface)!important;color:var(--lf-text)!important}.unified-search .unified-main-row{gap:8px}
body[class*="lf-theme-"] .unified-search :is(label,small,a,button){color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important}
body[class*="lf-theme-"] .unified-search .unified-submit{color:#fff!important;--lf-readable-color:#fff!important}
body[class*="lf-theme-"] .unified-period a.active{background:var(--lf-action)!important;color:#fff!important}
body.lf-theme-modern :is(.hero,.caribbean-experience){background:linear-gradient(135deg,#17484f,#245b61)!important}
body.lf-theme-compact :is(.hero,.caribbean-experience){background:#343d40!important}
body.lf-theme-modern .hero :is(h1,p,strong),body.lf-theme-compact .hero :is(h1,p,strong){color:#fff!important;--lf-readable-color:#fff!important;text-shadow:none!important}
body.lf-theme-caribbean .brand{text-shadow:0 0 14px #ff417570!important;color:#ffe260!important}
body.lf-theme-caribbean .event-card{border-color:#79516f!important;box-shadow:0 6px 24px #04d5b514!important}
body.lf-theme-caribbean :is(.btn.primary,.category-strip a.active){box-shadow:0 3px 0 #08d4ac!important}
body.lf-theme-compact{font-size:14px!important;line-height:1.45}
body.lf-theme-compact :is(.hero,.settings-card,.lf-directory-content){padding:18px!important}
body.lf-theme-compact .event-grid{gap:12px!important}
body.lf-theme-compact #events .event-card .lf-card-image{height:125px!important;max-height:125px!important;flex-basis:125px!important}
body.lf-theme-compact #events .event-body{padding:10px!important;gap:8px!important}
body.lf-theme-compact .event-body h3{font-size:16px!important}
body.lf-theme-compact :is(.hero-region,.eyebrow){font-size:12px!important}
.lf-theme-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.lf-theme-choice{display:flex!important;flex-direction:column;gap:10px;border:2px solid var(--lf-border,#ddd);border-radius:14px;padding:14px;cursor:pointer;min-width:0}
.lf-theme-choice:has(input:checked){border-color:var(--lf-action,#c93451);outline:2px solid var(--lf-action,#c93451);outline-offset:2px}
.lf-theme-choice input{width:auto;align-self:start;accent-color:var(--lf-action)}
.lf-theme-sample{display:grid;gap:6px;padding:14px;border-radius:10px;min-height:100px;font-size:14px}
.lf-theme-sample.sample-modern{background:#f6f8fa;color:#18252f;font-family:"Segoe UI",sans-serif}.lf-theme-sample.sample-caribbean{background:#351935;color:#fff7ec;font-family:"Trebuchet MS",sans-serif}.lf-theme-sample.sample-compact{background:#f5f0e8;color:#242c33;font-family:Tahoma,sans-serif}
body[class*="lf-theme-"] .lf-theme-sample.sample-modern :is(b,small,span){color:#18252f!important}body[class*="lf-theme-"] .lf-theme-sample.sample-caribbean :is(b,small,span){color:#fff7ec!important}body[class*="lf-theme-"] .lf-theme-sample.sample-compact :is(b,small,span){color:#242c33!important}
body.lf-theme-motion :is(.event-card,.lf-directory-card,.btn,.lf-theme-choice){transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body.lf-theme-motion :is(.event-card,.lf-directory-card):hover{transform:translateY(-3px);box-shadow:0 10px 25px #0002!important}body.lf-theme-motion .btn:hover{transform:translateY(-1px)}}
@media(max-width:700px){.lf-theme-choices{grid-template-columns:1fr}body[class*="lf-theme-"] h1{font-size:28px!important}body[class*="lf-theme-"] .hero h1{font-size:36px!important}body[class*="lf-theme-"] :is(.settings-card,.legal-page){padding:18px!important}}
@media(prefers-reduced-motion:reduce){body[class*="lf-theme-"] *,body[class*="lf-theme-"] *::before,body[class*="lf-theme-"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body[class*="lf-theme-"] :is(.main-menu,.global-nav){background:var(--lf-surface)!important;color:var(--lf-text)!important;border-color:var(--lf-border)!important}
body[class*="lf-theme-"] :is(.main-menu,.global-nav,.lf-results-menu nav) a{color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important}
body[class*="lf-theme-"] :is(.menu-toggle span,.global-menu-toggle i){background:var(--lf-text)!important}
body[class*="lf-theme-"] #events{background:transparent!important}
body[class*="lf-theme-"]:not(.lf-theme-motion) *,body[class*="lf-theme-"]:not(.lf-theme-motion) *::before,body[class*="lf-theme-"]:not(.lf-theme-motion) *::after{animation:none!important;transition:none!important}
body[class*="lf-theme-"] :is(.wrap.lf-seo-text,.lf-regional-page,.alert,.legal-note,.offer,.list-benefit,.empty){background:var(--lf-surface)!important;color:var(--lf-text)!important;border-color:var(--lf-border)!important}
body[class*="lf-theme-"] :is(.wrap.lf-seo-text,.lf-regional-page,.alert,.legal-note,.offer,.list-benefit,.empty,.next-events-quick) :is(h1,h2,h3,p,a,b,strong,small,span,summary){color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important}

/* v597: explicit field surfaces, inherited text-fill and native control scheme. */
body.lf-theme-modern,body.lf-theme-compact{color-scheme:light}
body.lf-theme-caribbean{color-scheme:dark}
body[class*="lf-theme-"] .unified-search :is(.unified-selects label,.unified-custom-dates label,.unified-period a,.unified-period button){background:var(--lf-surface)!important;color:var(--lf-text)!important;-webkit-text-fill-color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important;border-color:var(--lf-border)!important}
body[class*="lf-theme-"] :is(input,select,textarea){color:var(--lf-text)!important;-webkit-text-fill-color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important}
body[class*="lf-theme-"] :is(input,textarea)::placeholder{color:var(--lf-muted)!important;-webkit-text-fill-color:var(--lf-muted)!important;opacity:1}
body[class*="lf-theme-"] select option{background:var(--lf-surface)!important;color:var(--lf-text)!important;-webkit-text-fill-color:var(--lf-text)!important}
body[class*="lf-theme-"] :is(.event-card,.lf-directory-card,.directory-grid article,.settings-card,.legal-page,.event-detail,.auth-card,.wrap.lf-seo-text,.lf-regional-page,.alert,.legal-note,.offer,.list-benefit,.empty,.next-events-quick) :is(h1,h2,h3,p,small,b,strong,label,summary,a:not(.btn)){-webkit-text-fill-color:var(--lf-text)!important;--lf-readable-color:var(--lf-text)!important}
body[class*="lf-theme-"] :is(.btn,.unified-submit,.category-strip a){-webkit-text-fill-color:currentColor!important}
body[class*="lf-theme-"] :is(.btn.primary,.unified-search .unified-submit,.unified-search .unified-period a.active,.unified-search .unified-period button.active,.lf-results-view button[aria-pressed=true],.category-strip a.active){background:var(--lf-action)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;--lf-readable-color:#fff!important}
body[class*="lf-theme-"] :is(.main-menu,.global-nav,.lf-results-menu nav,.lf-results-top,.lf-results-view) :is(a,span,summary,button){-webkit-text-fill-color:currentColor!important}
body[class*="lf-theme-"] .hero :is(h1,h1 span,p,strong,.eyebrow){color:#fff!important;-webkit-text-fill-color:#fff!important;--lf-readable-color:#fff!important}
body[class*="lf-theme-"] .hero .btn.primary{color:#fff!important;-webkit-text-fill-color:#fff!important;--lf-readable-color:#fff!important}
.lf-theme-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.lf-theme-sample.sample-original{background:linear-gradient(135deg,#4e1647,#123e38);color:#fff;font-family:inherit}
.lf-theme-sample.sample-original :is(b,small,span){color:#fff!important;-webkit-text-fill-color:#fff!important;--lf-readable-color:#fff!important}
body[class*="lf-theme-"] .lf-theme-sample.sample-modern :is(b,small,span){-webkit-text-fill-color:#18252f!important}
body[class*="lf-theme-"] .lf-theme-sample.sample-caribbean :is(b,small,span){-webkit-text-fill-color:#fff7ec!important}
body[class*="lf-theme-"] .lf-theme-sample.sample-compact :is(b,small,span){-webkit-text-fill-color:#242c33!important}
@media(max-width:700px){.lf-theme-choices{grid-template-columns:1fr}}
/* Upcoming strip: dedicated surfaces prevent pale-on-pale text and narrow towers. */
body[class*="lf-theme-"] .next-events-quick{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:14px max(16px,calc((100vw - 1180px)/2))!important}
body[class*="lf-theme-"] .next-events-title{grid-column:1/-1;min-width:0;align-items:flex-start;gap:8px}
body[class*="lf-theme-"] .next-events-title div{min-width:0}
body[class*="lf-theme-"] .next-events-title b{font-size:16px!important;line-height:1.3!important}
body[class*="lf-theme-"] .next-events-title small::after{color:var(--lf-muted)!important;-webkit-text-fill-color:var(--lf-muted)!important;--lf-readable-color:var(--lf-muted)!important;font-size:12px!important;line-height:1.4!important}
body[class*="lf-theme-"] .next-events-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;min-width:0}
body[class*="lf-theme-"] .next-events-list a{display:grid!important;grid-template-columns:42px minmax(0,1fr) 14px!important;gap:8px!important;min-height:80px!important;min-width:0!important;margin:0!important;padding:10px!important;background:var(--lf-surface)!important;color:var(--lf-text)!important;border:1px solid var(--lf-border)!important;box-sizing:border-box!important}
body[class*="lf-theme-"] .next-events-list a>span{display:block!important;min-width:0!important}
body[class*="lf-theme-"] .next-events-list a>span b{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;font-size:14px!important;line-height:1.35!important;color:var(--lf-text)!important;-webkit-text-fill-color:var(--lf-text)!important}
body[class*="lf-theme-"] .next-events-list small{display:block;font-size:12px!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--lf-muted)!important;-webkit-text-fill-color:var(--lf-muted)!important;--lf-readable-color:var(--lf-muted)!important}
body[class*="lf-theme-"] .next-events-list time{font-size:13px!important;color:var(--lf-action)!important;-webkit-text-fill-color:var(--lf-action)!important}
body[class*="lf-theme-"] .next-events-list time :is(b,small){color:var(--lf-action)!important;-webkit-text-fill-color:var(--lf-action)!important;--lf-readable-color:var(--lf-action)!important}
body[class*="lf-theme-"] .next-events-list a>strong{font-size:17px!important;color:var(--lf-text)!important;-webkit-text-fill-color:var(--lf-text)!important}
body[class*="lf-theme-"] .next-all{font-size:13px!important;color:var(--lf-action)!important;-webkit-text-fill-color:var(--lf-action)!important;--lf-readable-color:var(--lf-action)!important}
@media(max-width:900px){body[class*="lf-theme-"] .next-events-quick{grid-template-columns:1fr!important;padding:12px 14px!important}body[class*="lf-theme-"] .next-events-list{grid-template-columns:1fr!important}body[class*="lf-theme-"] .next-events-list a{min-height:64px!important}body[class*="lf-theme-"] .next-all{justify-self:end}}
