/* Events-only refinements; preserve the site's coastal palette and typography. */
.events-page [hidden] { display:none !important; }
.events-page .events-hero { min-height:340px; padding:64px 0 44px; }
.events-page .events-hero h1 { font-size:clamp(44px,6vw,78px); line-height:.98; letter-spacing:-.065em; }
.events-page .events-hero p { font-size:17px; max-width:650px; }
.event-section-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.event-section-links a { display:inline-flex; align-items:center; min-height:44px; padding:10px 15px; color:#fff; border:1px solid #b8c9c5; border-radius:999px; font-size:13px; font-weight:700; text-decoration:none; }
.event-section-links a:hover,.event-section-links a:focus-visible { background:#fff; color:#263f42; }
.event-intro { padding:44px 0 12px; scroll-margin-top:20px; }
.event-intro-grid { grid-template-columns:1fr 2fr; gap:40px; }
.event-intro h2 { font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.055em; }
.event-intro-grid>div:last-child>p:first-child { font-size:16px; margin-bottom:20px; }
.event-filters button { min-height:44px; }
.event-search-label { display:block; margin-top:18px; color:#454b47; font-size:12px; font-weight:800; }
.event-search-label input { display:block; width:100%; margin-top:7px; min-height:46px; padding:12px 14px; font:400 15px Archivo,sans-serif; color:#263f42; border:1px solid #bab8ae; border-radius:10px; background:#fff; }
.event-search-label input:focus { outline:2px solid #263f42; outline-offset:2px; }
.event-time-note { font-size:12px; line-height:1.6; color:#68655f; }
.event-empty { padding:18px; border:1px solid #b8ada0; border-radius:12px; font-size:15px; }
.event-month-nav a { min-height:44px; }
.event-month { padding-top:30px; }
.event-month-heading h2 { font-size:clamp(30px,3.5vw,44px); line-height:1; }
.event-editorial { min-height:0; padding:22px; }
.event-editorial h3 { font-size:clamp(23px,2.4vw,30px); line-height:1.1; }
.event-editorial-date time { display:block; color:#263f42; font-size:15px; font-weight:900; line-height:1.35; }
.event-editorial-copy>p { margin:10px 0 18px; }
.event-ticket { min-height:44px; }
.event-reference { max-width:1180px; margin:0 auto; }
.event-reference>summary { padding:24px; cursor:pointer; color:#263f42; font-size:clamp(20px,3vw,28px); font-weight:800; }
.events-page .fairhope-local,.events-page .market-guide,.events-page .annual-section { padding:16px 0; scroll-margin-top:20px; }
.event-reference[open] { padding-bottom:32px; }
.event-reference .wrap { width:calc(100% - 48px); }
.fairhope-local-head { margin-top:18px; gap:30px; }
.fairhope-local-head h2,.market-guide-head h2 { font-size:clamp(32px,4vw,48px); line-height:1; }
.fairhope-local-head>p { font-size:16px; }
.local-program { min-height:0; padding:24px; border-radius:14px; }
.local-program h3 { font-size:26px; }
.local-watch { margin-top:28px; }
@media(max-width:700px) {
 .events-page .events-hero { min-height:280px; padding:36px 0 28px; }
 .events-page .events-hero .wrap { width:calc(100% - 32px); }
 .event-intro { padding-top:30px; }
 .event-intro-grid { grid-template-columns:1fr; gap:18px; }
 .event-filters,.event-month-nav { flex-wrap:wrap; overflow:visible; margin-right:0; }
 .event-filters button { flex:0 1 auto; padding:11px 13px; }
 .event-month-nav a { flex:0 1 auto; }
 .event-editorial-list { grid-template-columns:1fr; }
 .event-month-heading { grid-template-columns:1fr auto; align-items:center; }
 .event-month-heading>span { display:none; }
 .event-month-heading p { grid-column:auto; font-size:12px; }
 .event-editorial { padding:18px; }
 .event-reference .wrap { width:calc(100% - 32px); }
 .event-reference>summary { padding:20px 16px; }
 .event-section-links { gap:8px; }
 .event-section-links a { font-size:12px; padding:9px 12px; }
}
