/* Big NC Tennis preview: program-page layer (loads after each page's own CSS). Visual only. */
body{font-size:16px}
/* calm page hero: off-white, ink text, left aligned */
.page-hero,body>.hero{background:var(--surface)!important;color:var(--ink)!important;text-align:left!important;border-bottom:1px solid var(--line)!important;padding:2.4rem max(5%,calc((100% - 1220px)/2)) 2rem!important;box-shadow:var(--sh-1)}
.page-hero *,body>.hero *{color:inherit;text-shadow:none!important}
.page-hero h1,body>.hero h1{color:var(--ink)!important;font-size:clamp(1.875rem,4vw,2.75rem)!important;letter-spacing:-.02em;line-height:1.15!important}
.page-hero p,.page-hero .subtitle,body>.hero p{color:var(--muted)!important;margin-left:0!important;margin-right:auto!important;opacity:1!important}
.page-hero .subtitle,body>.hero .eyebrow{color:var(--ink-2)!important;font-weight:700}
body>.hero .eyebrow,.page-hero .eyebrow,body>.hero .chip,.page-hero .chip{background:var(--bg)!important;border:1px solid var(--line)!important}
.page-hero [class*="btns"],.page-hero [class*="buttons"],body>.hero [class*="btns"],body>.hero [class*="buttons"],body>.hero .chips,.page-hero .chips{justify-content:flex-start!important}
/* section titles: left, ink, short lime rule */
.section-title,.section-subtitle,.section-sub{text-align:left!important}
.section-title{color:var(--ink)!important;letter-spacing:-.015em}
.section-title::after{margin-left:0!important;background:var(--lime)!important;width:40px!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.section-sub,.section-subtitle{color:var(--muted)!important}
/* raised white cards, no colored top borders */
.card,.program-card,.event-card,.reg-card,.format-card,.pkg,.meta-box,.itinerary,.faq-item,.book-box,.clinic-note,.price-box,.sponsor-card,.harnett-sg,.harnett-level,.inquire-soft,.faq-block,.crosslink,.bring-box,.promo,.program-meta,.session-block,.how-step,.archive-section{background:var(--surface)!important;border:1px solid rgba(17,24,39,.06)!important;border-radius:var(--r)!important;box-shadow:var(--sh-2),var(--hl)!important;color:var(--ink)}
.card h3,.program-card h3,.event-card h3,.reg-card h3,.pkg h3,.book-box h2,.book-box h3{color:var(--ink)!important}
.card p,.program-card p,.event-card p,.reg-card p{color:var(--ink-2)}
.card:hover,.program-card:hover{transform:translateY(-2px)!important;box-shadow:var(--sh-3),var(--hl)!important}
.price{color:var(--ink)!important}
/* dark/colored bands -> whitespace on the off-white base */
.session-banner,.scroller-wrap,.photo-band,.pgc-photo-band,.band-dark,.club-block,.band,.sponsor-band{background:transparent!important;border:0!important;color:var(--ink)!important}
.session-banner *,.band-dark *,.club-block *,.pgc-photo-band *{color:inherit}
.session-banner .label,.scroller-label,.photo-band .label,.pgc-photo-band .label{color:var(--muted)!important}
.session-banner .title,.club-block h2,.club-block h3,.band-dark h2{color:var(--ink)!important}
.session-banner .dates,.session-banner .days,.club-block p,.band-dark p{color:var(--ink-2)!important}
.band-dark .card{background:var(--surface)!important}
.scroller figure,.photo-band figure,.pgc-scroller figure{box-shadow:var(--sh-2);background:#dfe3ea!important}
/* one action color */
main .btn,section .btn,.btn-register,.btn-book,.btn-pay,.btn-inquire,.btn-harnett,.btn-main,.ev-btn,.hero-btn,.club-btn,.btn-format,.btn-register.full{background:var(--action)!important;color:#fff!important;border:1px solid var(--action)!important;border-radius:10px!important;font-weight:700!important;box-shadow:0 1px 2px rgba(10,111,176,.25),0 6px 16px rgba(10,111,176,.16),inset 0 1px 0 rgba(255,255,255,.18)!important;text-shadow:none!important}
main .btn:hover,section .btn:hover,.btn-register:hover,.btn-book:hover,.btn-pay:hover,.btn-inquire:hover,.btn-harnett:hover,.btn-main:hover,.ev-btn:hover,.hero-btn:hover,.club-btn:hover,.btn-format:hover{background:var(--action-h)!important;border-color:var(--action-h)!important;color:#fff!important}
/* one neutral outline */
.btn-outline,.btn-ask,.btn-ghost,.ev-btn.alt,.page-hero .btn-ask,body>.hero .btn-ask,body>.hero .btn-ghost{background:var(--surface)!important;color:var(--ink-2)!important;border:1px solid #cfd5df!important;border-radius:10px!important;box-shadow:var(--sh-1)!important;font-weight:700!important}
.btn-outline:hover,.btn-ask:hover,.btn-ghost:hover,.ev-btn.alt:hover{border-color:var(--ink-2)!important;background:#fbfcfd!important;color:var(--ink)!important}
/* text links on light: AA blue */
main a:not([class]),section a:not([class]){color:var(--action)}
/* footer purple handled in theme */
footer{text-align:center}
.section-subtitle,.section-sub{margin-left:0!important}

/* AA contrast (Oct 13): lime is never text on light backgrounds */
.page-hero .tag,.page-hero .badge,.page-hero .eyebrow,.page-hero .kicker{color:var(--purple)!important}
.page-hero .badge{background:#eef0fb!important}
.side-guide a{color:#bfe6ff}
section.band-dark .card{background:#1e1c28!important}
