/* 115 Schiller / Events sales and appearance v0.3 — scoped to event routes.
   Keep shared navigation/footer and booking flows owned by existing sitewide systems.
   Colors tested against WCAG 2.2 contrast minimum. */
body.sch-events-site {
 --ev-canvas:#f5f3ec;
 --ev-alternate:#e8efe9;
 --ev-card:#fffdfa;
 --ev-ink:#17382f;
 --ev-muted:#315b4b;
 --ev-link:#175241;
 --ev-gold:#795429;
 --ev-stroke:#c8d6cb;
 --ev-hero:#17382f;
 --ev-hero-text:#f5f6ef;
 --ev-hero-muted:#dce8df;
 --ev-hero-gold:#f1d49a;
 --ev-feature:#fffaf0;
 --ev-button:#21533f;
 --ev-button-text:#fff;
 --ev-button-ghost:#fffdfa;
 --ev-focus:#d0a256;
}
html[data-sch-theme="dark"] body.sch-events-site {
 --ev-canvas:#142528;
 --ev-alternate:#1b3030;
 --ev-card:#253a38;
 --ev-ink:#e2eee5;
 --ev-muted:#ccded2;
 --ev-link:#d8e9df;
 --ev-gold:#f1d49a;
 --ev-stroke:#506d62;
 --ev-hero:#12282a;
 --ev-hero-text:#f0f5ef;
 --ev-hero-muted:#ceded2;
 --ev-hero-gold:#f1d49a;
 --ev-feature:#223b36;
 --ev-button:#eac88b;
 --ev-button-text:#17382f;
 --ev-button-ghost:#29453c;
 --ev-focus:#ebcb92;
}
body.sch-events-site #main-content { color:var(--ev-ink); }
body.sch-events-site :is(.event-hub,.event-cta,.xp-end) { background:var(--ev-hero)!important;color:var(--ev-hero-text)!important; }
body.sch-events-site :is(.sch-event-campaigns,.sch-event-featured,.sch-campaign-brief,.event-section,.xp-section){background:var(--ev-canvas)!important;color:var(--ev-ink)!important}
body.sch-events-site :is(.sch-event-more,.xp-experiences,.sch-campaign-stay,.event-section--warm,.xp-tint){background:var(--ev-alternate)!important;color:var(--ev-ink)!important}
body.sch-events-site :is(.event-hub,.event-cta,.xp-end) .eyebrow,body.sch-events-site :is(.event-hero,.xp-hero) .eyebrow{color:var(--ev-hero-gold)!important}
body.sch-events-site :is(.sch-event-campaigns,.sch-event-more,.xp-experiences,.sch-event-featured,.sch-campaign-brief,.sch-campaign-stay,.event-section,.xp-section) .eyebrow{color:var(--ev-gold)!important}
body.sch-events-site #main-content a:focus-visible{outline:3px solid var(--ev-focus)!important;outline-offset:4px}
body.sch-events-site #main-content :is(a,button):focus-visible{border-radius:5px}
body.sch-events-site #main-content :is(.event-shell,.sch-event-campaigns,.xp-experiences) {scroll-margin-top:110px;}
/* Lead / wayfinding: first-screen hierarchy, keep book CTA visible */
body.sch-events-index .event-hub {padding:clamp(65px,6.5vw,94px) 0 62px}
body.sch-events-index .event-hub h1 {font:400 clamp(48px,6.2vw,89px)/1.02 Georgia,serif;letter-spacing:-.045em;max-width:970px;margin:16px 0 18px}
body.sch-events-index .event-hub h1 em{color:var(--ev-hero-gold)!important}
body.sch-events-index .event-hub p.ev-lead{max-width:890px;font-size:clamp(17px,1.7vw,21px);line-height:1.66;color:var(--ev-hero-muted)!important;margin:0}
body.sch-events-index .ev-jump{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 22px}
body.sch-events-index .ev-jump a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;min-height:44px;border:1px solid #66877a;border-radius:999px;color:#f3f7ef!important;text-decoration:none;background:#21483b;font:650 13px/1.4 system-ui,sans-serif}
body.sch-events-index .ev-jump a:hover,body.sch-events-index .ev-jump a:focus-visible{background:#33624d;text-decoration:underline;text-underline-offset:4px}
body.sch-events-index .sch-booking-premise{padding:18px 23px;margin-top:25px;border:1px solid #627f70;border-radius:11px;background:#21483b!important;gap:20px}
body.sch-events-index .sch-booking-premise h2{font-size:clamp(23px,2.8vw,34px);margin:5px 0 5px;color:#fff}
body.sch-events-index .sch-booking-premise h2 em{color:var(--ev-hero-gold)!important}
body.sch-events-index .sch-booking-premise p{max-width:780px;color:#e2ebe4!important;font-size:14px;line-height:1.56}
body.sch-events-index .sch-booking-premise .sch-kicker{color:var(--ev-hero-gold)!important}
body.sch-events-index .sch-booking-premise-cta{background:#fffaf0!important;color:#17382f!important;min-height:46px;border:1px solid #fffaf0;text-decoration:none}
body.sch-events-index .sch-booking-premise-cta:hover{text-decoration:underline;text-underline-offset:4px}
body.sch-events-index .ev-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:44px}
body.sch-events-index .ev-section-head h2{font:400 clamp(31px,3.5vw,47px)/1.12 Georgia,serif;letter-spacing:-.03em;margin:7px 0;color:#fff}
body.sch-events-index .ev-section-head p{max-width:410px;color:#dae7dc!important;font-size:14px;line-height:1.65;margin:0}
body.sch-events-index #ev-seasons,body.sch-events-index #xp-experiences,body.sch-events-index #sch-more-seasons,body.sch-events-index #sch-weekend-planner{scroll-margin-top:115px}
/* Early-booking feature on visually distinct light/dark surface */
body.sch-events-index .xp-ad{margin:28px 0 0;min-height:0;grid-template-columns:1.12fr .88fr;border:1px solid var(--ev-stroke);background:var(--ev-feature)!important;color:var(--ev-ink)!important;box-shadow:0 12px 36px #071e1420}
body.sch-events-index .xp-ad-copy{padding:clamp(22px,3.5vw,43px)}
body.sch-events-index .xp-ad h2{font:400 clamp(32px,4.1vw,52px)/1.1 Georgia,serif;margin:9px 0 13px;color:var(--ev-ink)!important}
body.sch-events-index .xp-ad h2 em{color:var(--ev-gold)!important}
body.sch-events-index .xp-ad .xp-eyebrow{color:var(--ev-gold)!important}
body.sch-events-index .xp-ad p{color:var(--ev-muted)!important;font-size:15px;line-height:1.63;margin:0}
body.sch-events-index .xp-ad p.xp-small{margin-top:11px;color:var(--ev-muted)!important}
body.sch-events-index .xp-ad .xp-chips{margin:17px 0}
body.sch-events-index .xp-ad .xp-chips span{color:var(--ev-ink)!important;border:1px solid var(--ev-stroke);background:transparent}
body.sch-events-index .xp-ad .xp-actions{margin:16px 0 10px;gap:13px}
body.sch-events-index .xp-ad .xp-actions a:not(.xp-btn){color:var(--ev-link)!important;text-decoration:underline;text-underline-offset:4px}
body.sch-events-index .xp-ad .xp-ad-image{min-height:340px}
body.sch-events-index .xp-ad .xp-btn{background:var(--ev-button)!important;color:var(--ev-button-text)!important;border:1px solid var(--ev-button)!important;text-decoration:none!important;min-height:48px}
body.sch-events-index .xp-ad .xp-btn:hover{text-decoration:underline!important;text-underline-offset:4px}
body.sch-events-index .xp-ad .xp-ad-tile{border-color:#88a79a;background:#153d30e8!important;color:white!important}
body.sch-events-index .xp-ad .xp-ad-tile :is(span,strong,small){color:#fff!important}
body.sch-events-index .xp-ad .xp-ad-tile span{color:#f1d49a!important}
/* Seasonal story cards: consistent height, orientation and clearly separated booking action */
body.sch-events-index .hub-grid{margin-top:18px;gap:17px}
body.sch-events-index .sch-event-hub-card{display:flex;flex-direction:column;background:var(--ev-card)!important;border:1px solid var(--ev-stroke);border-radius:13px;box-shadow:none}
body.sch-events-index .sch-event-hub-card .hub-tile{display:block;flex:1;background:var(--ev-card)!important;color:var(--ev-ink)!important}
body.sch-events-index .hub-tile img{height:225px;width:100%;object-fit:cover}
body.sch-events-index .hub-tile .hub-copy{padding:22px 24px 14px}
body.sch-events-index .hub-tile strong{color:var(--ev-ink)!important;font:400 clamp(26px,2.7vw,34px)/1.18 Georgia,serif}
body.sch-events-index .hub-tile .hub-copy span{color:var(--ev-gold)!important}
body.sch-events-index .hub-tile p{color:var(--ev-muted)!important;font-size:14px;line-height:1.6;margin:9px 0 0}
body.sch-events-index .sch-event-card-actions{border-color:var(--ev-stroke)!important;background:var(--ev-card)!important;padding:15px 22px;gap:13px}
body.sch-events-index .sch-event-card-actions .sch-date-hint{color:var(--ev-muted)!important;font-size:12px}
body.sch-events-index .sch-event-date-link{color:var(--ev-button-text)!important;background:var(--ev-button)!important;border:1px solid var(--ev-button)!important;border-radius:7px;min-height:44px;text-decoration:none!important}
body.sch-events-index .sch-event-date-link:hover{text-decoration:underline!important;text-underline-offset:4px}
body.sch-events-index .sch-event-fine{margin:20px 0 0;color:#dbe8dc!important;max-width:100%}
/* Holiday planner: use one clearly primary action and one text action */
body.sch-events-index .sch-event-campaigns{padding:58px 0 60px}
body.sch-events-index .sch-event-campaigns h2{color:var(--ev-ink)!important;font-size:clamp(35px,4vw,55px);margin:8px 0 10px}
body.sch-events-index .sch-event-campaigns .sch-campaign-intro{max-width:830px;color:var(--ev-muted)!important;line-height:1.66}
body.sch-events-index .sch-campaign-grid{gap:17px;margin-top:25px}
body.sch-events-index .sch-campaign-card{border:1px solid var(--ev-stroke)!important;background:var(--ev-card)!important;border-radius:13px}
body.sch-events-index .sch-campaign-image{aspect-ratio:16/7.5}
body.sch-events-index .sch-campaign-body{padding:21px 23px 24px}
body.sch-events-index .sch-campaign-tag{color:var(--ev-gold)!important}
body.sch-events-index .sch-campaign-card h3{color:var(--ev-ink)!important}
body.sch-events-index .sch-campaign-card p{color:var(--ev-muted)!important;font-size:14px;line-height:1.66}
body.sch-events-index .sch-campaign-date{color:var(--ev-ink)!important;font-size:12px}
body.sch-events-index .sch-campaign-actions{align-items:center;gap:10px 15px;margin-top:15px}
body.sch-events-index .sch-campaign-actions a{background:transparent!important;color:var(--ev-link)!important;border:0!important;padding:9px 0;min-height:44px;text-decoration:underline!important;text-underline-offset:4px;font-size:13px}
body.sch-events-index .sch-campaign-actions a:last-child:not(:first-child){padding:10px 15px;background:var(--ev-button)!important;color:var(--ev-button-text)!important;border:1px solid var(--ev-button)!important;text-decoration:none!important;border-radius:7px}
body.sch-events-index .sch-campaign-actions a:last-child:hover{text-decoration:underline!important;text-underline-offset:3px}
body.sch-events-index .sch-campaign-fine{margin-top:16px;color:var(--ev-muted)!important;line-height:1.7}
body.sch-events-index .sch-campaign-fine a{color:var(--ev-link)!important;text-decoration:underline;text-underline-offset:4px}
/* Outdoor / family promotional cards, restored contrast in either scheme */
body.sch-events-index .xp-experiences{padding:58px 0 60px}
body.sch-events-index .xp-experiences h2{color:var(--ev-ink)!important;margin:11px 0}
body.sch-events-index .xp-experiences h2 em{color:var(--ev-gold)!important}
body.sch-events-index .xp-experiences>.event-shell>p{color:var(--ev-muted)!important}
body.sch-events-index .xp-experiences .xp-eyebrow{color:var(--ev-gold)!important}
body.sch-events-index .xp-grid{gap:17px;margin:22px 0 19px}
body.sch-events-index .xp-card{background:var(--ev-card)!important;border:1px solid var(--ev-stroke)!important;border-radius:13px}
body.sch-events-index .xp-card img{height:220px}
body.sch-events-index .xp-card>div{padding:24px}
body.sch-events-index .xp-card h3{color:var(--ev-ink)!important;font-size:clamp(26px,2.7vw,35px)}
body.sch-events-index .xp-card p{color:var(--ev-muted)!important;line-height:1.67}
body.sch-events-index .xp-links{gap:9px 20px}
body.sch-events-index .xp-links a,body.sch-events-index .xp-resources a{color:var(--ev-link)!important;text-decoration:underline!important;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
body.sch-events-index .xp-resources{gap:8px 28px}
body.sch-events-index .xp-experiences .xp-small{color:var(--ev-muted)!important;max-width:950px}
body.sch-events-index .sch-event-more{padding:58px 0 62px}
body.sch-events-index .sch-event-more h2{margin:9px 0 14px;color:var(--ev-ink)!important;font-size:clamp(34px,4vw,53px)}
body.sch-events-index .sch-event-intro{color:var(--ev-muted)!important;max-width:840px;line-height:1.66}
body.sch-events-index .sch-seasonal-rituals{gap:16px;margin-top:23px}
body.sch-events-index .sch-seasonal-rituals article{background:var(--ev-card)!important;border:1px solid var(--ev-stroke)!important;padding:24px}
body.sch-events-index .sch-seasonal-rituals h3{color:var(--ev-ink)!important;font-size:28px}
body.sch-events-index .sch-seasonal-rituals article span{color:var(--ev-gold)!important}
body.sch-events-index .sch-seasonal-rituals p{color:var(--ev-muted)!important;font-size:14px}
body.sch-events-index .sch-seasonal-rituals a,body.sch-events-index .sch-event-source a{color:var(--ev-link)!important;text-decoration:underline!important;text-underline-offset:4px}
body.sch-events-index .sch-event-source{color:var(--ev-muted)!important;margin-top:20px}
body.sch-events-index .event-cta{padding:54px 0}
body.sch-events-index .event-cta h2{color:var(--ev-hero-text)!important;margin:10px 0}
body.sch-events-index .event-cta .event-btn:first-child{color:#17382f!important;background:#fffaf0!important;border-color:#fffaf0!important}
body.sch-events-index .event-cta .event-btn--outline{color:#fff!important;background:transparent!important;border-color:#aecabc!important}
/* Detail pages: same typography hierarchy and surfaces as the hub */
body.sch-events-detail :is(.event-section,.sch-event-more,.sch-event-featured,.sch-campaign-brief,.sch-campaign-stay,.xp-section){padding-top:60px;padding-bottom:60px}
body.sch-events-detail .event-hero{background-color:var(--ev-hero)!important}
body.sch-events-detail .event-hero h1{color:#fff!important}
body.sch-events-detail :is(.event-hero,.xp-hero) .eyebrow{color:#f1d49a!important}
body.sch-events-detail :is(.event-section,.sch-campaign-brief,.sch-campaign-stay,.sch-event-more,.sch-event-featured,.xp-section) :is(h2,h3,h4){color:var(--ev-ink)!important}
body.sch-events-detail :is(.event-section,.sch-campaign-brief,.sch-campaign-stay,.sch-event-more,.sch-event-featured,.xp-section) p{color:var(--ev-muted)!important}
body.sch-events-detail :is(.event-info,.event-card,.event-stay,.sch-campaign-brief aside,.sch-event-feature-side,.sch-seasonal-rituals article,.xp-itinerary article){background:var(--ev-card)!important;border-color:var(--ev-stroke)!important;color:var(--ev-ink)!important}
body.sch-events-detail :is(.event-info,.event-card,.event-stay,.sch-campaign-brief aside,.sch-event-feature-side,.sch-seasonal-rituals article,.xp-itinerary article) :is(h3,strong){color:var(--ev-ink)!important}
body.sch-events-detail :is(.event-info,.event-card,.event-stay,.sch-campaign-brief aside,.sch-event-feature-side,.sch-seasonal-rituals article,.xp-itinerary article) :is(p,small,span){color:var(--ev-muted)!important}
body.sch-events-detail :is(.event-info,.event-stay,.sch-campaign-brief aside,.sch-event-feature-side,.sch-seasonal-rituals article,.xp-itinerary article) a:not(.event-btn),body.sch-events-detail .xp-cite-links a{color:var(--ev-link)!important;text-decoration:underline;text-underline-offset:4px}
body.sch-events-detail :is(.event-section,.sch-campaign-brief,.sch-campaign-stay,.sch-event-featured,.sch-event-more,.xp-section) .eyebrow{color:var(--ev-gold)!important}
body.sch-events-detail .xp-page{background:var(--ev-canvas)!important;color:var(--ev-ink)!important}
body.sch-events-detail .xp-page :is(.xp-section,.xp-tint){background:var(--ev-canvas)!important}
body.sch-events-detail .xp-page .xp-tint{background:var(--ev-alternate)!important}
body.sch-events-detail .xp-itinerary h3{color:var(--ev-ink)!important}
body.sch-events-detail .xp-itinerary p{color:var(--ev-muted)!important}
body.sch-events-detail .xp-itinerary span{color:var(--ev-gold)!important}
body.sch-events-detail .xp-itinerary a,body.sch-events-detail .xp-cite-links a{color:var(--ev-link)!important}
body.sch-events-detail .xp-section h2 em{color:var(--ev-gold)!important}
body.sch-events-detail .xp-hero h1,body.sch-events-detail .xp-end h2{color:#f7f6f0!important}
body.sch-events-detail .xp-hero h1 em,body.sch-events-detail .xp-end h2 em{color:#f1d49a!important}
body.sch-events-detail .xp-hero p,body.sch-events-detail .xp-end p{color:#e5efe6!important}
body.sch-events-detail .xp-hero .xp-btn,body.sch-events-detail .xp-end .xp-btn{background:#eac88b!important;color:#17382f!important}
body.sch-events-detail .xp-hero .xp-actions a:not(.xp-btn),body.sch-events-detail .xp-end .xp-actions a:not(.xp-btn){color:#f1f5ed!important}
body.sch-events-detail .xp-section .xp-eyebrow{color:var(--ev-gold)!important}
body.sch-events-detail .event-cta .event-btn{background:#fffaf0!important;color:#17382f!important;border-color:#fffaf0!important}
body.sch-events-detail .event-cta .event-btn--outline{background:transparent!important;color:#fff!important;border-color:#9cb3a4!important}
body.sch-events-detail .sch-campaign-brief aside a{color:var(--ev-link)!important}
body.sch-events-detail .sch-campaign-stay .event-stay{color:var(--ev-ink)!important}
body.sch-events-detail .event-stay b{color:var(--ev-gold)!important}
body.sch-events-detail :is(.event-info .event-date,.sch-event-feature-side strong){color:var(--ev-ink)!important}
html[data-sch-theme="dark"] body.sch-events-site :is(.sch-event-campaigns,.sch-event-more,.xp-experiences,.sch-event-featured,.sch-campaign-brief,.sch-campaign-stay,.event-section,.event-section--warm,.xp-section,.xp-tint){color:var(--ev-ink)!important}
html[data-sch-theme="dark"] body.sch-events-site :is(.hub-tile,.sch-event-hub-card,.sch-seasonal-rituals article,.sch-campaign-card,.xp-card,.event-info,.event-card,.event-stay,.sch-event-feature-side,.xp-itinerary article){background:var(--ev-card)!important;color:var(--ev-ink)!important;border-color:var(--ev-stroke)!important}
html[data-sch-theme="dark"] body.sch-events-site :is(.sch-seasonal-rituals a,.sch-event-source a,.sch-event-date-link,.sch-booking-premise-cta,.hub-tile p,.sch-seasonal-rituals p){color:inherit}
html[data-sch-theme="dark"] body.sch-events-index .sch-event-date-link{color:var(--ev-button-text)!important;background:var(--ev-button)!important}
html[data-sch-theme="dark"] body.sch-events-index .hub-tile p{color:var(--ev-muted)!important}
html[data-sch-theme="dark"] body.sch-events-index .sch-seasonal-rituals p{color:var(--ev-muted)!important}
@media(max-width:920px){
 body.sch-events-index .ev-section-head{align-items:start;flex-direction:column;gap:5px}
 body.sch-events-index .xp-ad{grid-template-columns:1fr}
 body.sch-events-index .xp-ad .xp-ad-image{min-height:255px}
 body.sch-events-index .sch-event-card-actions{align-items:stretch}
 body.sch-events-detail .xp-split{grid-template-columns:1fr}
}
@media(max-width:650px){
 body.sch-events-index .event-hub{padding:51px 0 48px}
 body.sch-events-index .event-hub h1{font-size:clamp(42px,11vw,60px)}
 body.sch-events-index .ev-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.sch-events-index .ev-jump a{border-radius:8px;padding:9px 11px;font-size:12px}
 body.sch-events-index .sch-booking-premise{padding:19px 17px}
 body.sch-events-index .xp-ad-copy{padding:23px 18px}
 body.sch-events-index .xp-ad .xp-actions .xp-btn{width:100%}
 body.sch-events-index .hub-tile img{height:190px}
 body.sch-events-index .hub-tile .hub-copy{padding:19px 20px 14px}
 body.sch-events-index .sch-event-campaigns,body.sch-events-index .xp-experiences,body.sch-events-index .sch-event-more{padding:46px 0}
 body.sch-events-index .sch-campaign-actions a{width:100%;justify-content:center}
 body.sch-events-index .xp-card img{height:190px}
 body.sch-events-detail .xp-hero .event-shell{padding:65px 0}
}
@media(max-width:380px){body.sch-events-index .ev-jump{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body.sch-events-site :is(.xp-btn,.hub-tile,.sch-event-date-link){transition:none!important}}
