@font-face { font-family: 'HK Flowers Display'; src: url('/fonts/hkflowers-display.ttf') format('truetype'); font-style: normal; font-weight: 600; font-display: swap; }
.page-schedule { --hkf-primary: #254d40; --hkf-primary-dark: #183c2f; --hkf-primary-soft: #edf1e8; background: #faf9f5 !important; color: #233e35; }
.page-schedule .public-icon { align-items: center; background: none; border: 0; border-radius: 0; display: inline-flex; flex-shrink: 0; height: 22px; justify-content: center; width: 22px; }
.page-schedule .public-icon svg { height: 22px; width: 22px; }
.page-schedule .schedule-page-intro { margin: 0 0 28px; padding-top: 18px; }
.page-schedule .schedule-page-intro nav { color: #7c8671; display: flex; font-size: 12px; gap: 10px; margin-bottom: 22px; }
.page-schedule .schedule-page-intro nav a { text-decoration: none; }
.page-schedule .schedule-page-heading { align-items: center; display: flex; gap: 24px; justify-content: space-between; }
.page-schedule .schedule-page-kicker { align-items: center; color: #8b703e; display: flex; font-size: 12px; gap: 8px; letter-spacing: .04em; }
.page-schedule .schedule-page-heading h1 { color: #254d40; font-family: 'HK Flowers Display', serif; font-size: clamp(1.65rem, 3vw, 2.4rem) !important; font-weight: 600; letter-spacing: .04em; line-height: 1.5; margin: 10px 0; }
.page-schedule .schedule-page-heading p { color: #73816a; font-size: .84rem; line-height: 1.8; margin: 0; }
.page-schedule .schedule-intro-help { align-items: center; border-bottom: 1px solid #b3c0a4; color: #40594b; display: flex; flex-shrink: 0; font-size: .8rem; gap: 8px; min-height: 44px; text-decoration: none; }
.page-schedule #schedule-workspace { align-items: start; background: none !important; border: 0 !important; border-radius: 0; box-shadow: none; display: grid; gap: 28px; grid-template-columns: 290px minmax(0, 1fr); margin: 0; padding: 0 !important; }
.page-schedule #schedule-search { background: #f0f2e9; border: 1px solid #dfe5d6; border-radius: 5px; gap: 16px; margin: 0; min-width: 0; padding: 20px; position: sticky; top: 136px; }
.page-schedule .schedule-search-copy h2 { color: #254d40; font-size: 1.1rem; font-weight: 650; line-height: 1.5; margin: 0 0 7px; }
.page-schedule .schedule-search-copy p { color: #7b8671; font-size: .75rem; line-height: 1.8; margin: 0; }
.page-schedule .schedule-search-form { align-items: start; gap: 16px; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.page-schedule .schedule-search-form label { gap: 6px; min-width: 0; }
.page-schedule .schedule-search-form label > span { color: #52674e; font-size: .75rem; font-weight: 600; }
.page-schedule .schedule-search-form input, .page-schedule .schedule-search-form select { background: #fffef9; border: 1px solid #cdd7c3; border-radius: 3px; color: #40594b; font-family: inherit; font-size: .83rem; height: 44px; min-width: 0; padding: 9px 10px; width: 100%; }
.page-schedule .schedule-search-form label small { color: #859079; font-size: 12px; }
.page-schedule .schedule-more-filters { border-top: 1px solid #dfe5d6; grid-column: 1 / -1; padding-top: 9px; }
.page-schedule .schedule-more-filters summary { color: #62765b; cursor: pointer; font-size: .75rem; min-height: 36px; padding: 8px 0; }
.page-schedule .schedule-more-filters summary > span { color: #859079; float: right; font-size: 12px; }
.page-schedule .schedule-more-filters label { margin-top: 10px; }
.page-schedule .schedule-search-actions { align-items: center; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) auto; }
.page-schedule #schedule-search .schedule-search-actions button { background: #254d40 !important; border: 1px solid #254d40 !important; border-radius: 3px !important; color: white !important; font-size: .83rem; font-weight: 600 !important; min-height: 44px; padding: 9px 12px; }
.page-schedule #schedule-search .schedule-search-actions a { background: none !important; border: 0 !important; box-shadow: none; color: #62765b !important; font-size: 12px; font-weight: 500 !important; min-height: 44px; padding: 12px 0; text-decoration: underline; text-underline-offset: 4px; }
.page-schedule .schedule-search-loading { color: #62765b; display: none; font-size: .75rem; }
.page-schedule .htmx-request .schedule-search-loading, .page-schedule .schedule-search-loading.htmx-request { display: block; }
.page-schedule .schedule-search-error { color: #98613b; font-size: .75rem; grid-column: 1 / -1; line-height: 1.8; margin: 0; }
.page-schedule .schedule-search-error[hidden] { display: none !important; }
.page-schedule .schedule-quick-dates { display: flex; gap: 8px; }
.page-schedule .schedule-quick-dates a { background: #fffef9; border: 1px solid #d2dbca; border-radius: 3px; color: #52674e; flex: 1; font-size: 12px; min-height: 40px; padding: 10px 8px; text-align: center; text-decoration: none; }
.page-schedule .schedule-quick-dates a > span { color: #859079; font-size: 12px; margin-left: 5px; }
.page-schedule .schedule-quick-dates a[aria-current] { border-color: #8da380; }
.page-schedule .schedule-search-links { border-top: 1px solid #dfe5d6; display: flex; flex-wrap: wrap; gap: 3px 14px; padding-top: 10px; }
.page-schedule .schedule-search-links a { background: none; border: 0; color: #62765b; font-size: 12px; min-height: 32px; padding: 7px 0; text-underline-offset: 4px; }
.page-schedule #schedule-results { min-width: 0; scroll-margin-top: 136px; }
.page-schedule .schedule-freshness { border-left-color: #b7a16a; margin: 0 0 18px; }
.page-schedule .schedule-freshness p { font-size: 12px; }
.page-schedule .schedule-result-summary { background: none; border: 0; border-bottom: 1px solid #dce1d4; border-radius: 0; gap: 8px; padding: 0 0 16px; }
.page-schedule .schedule-result-summary > div { align-items: baseline; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.page-schedule .schedule-result-summary h2 { color: #254d40; font-family: 'HK Flowers Display', serif; font-size: 1.45rem; font-weight: 600; line-height: 1.5; margin: 0; }
.page-schedule .schedule-result-summary span { color: #7a866f; font-size: 12px; }
.page-schedule .schedule-result-summary > p { color: #7b8671; font-size: 12px; line-height: 1.8; margin-top: 6px; }
.page-schedule .schedule-active-filters { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 8px 0; }
.page-schedule .schedule-active-filters span { background: #f0f2e9; border: 1px solid #e0e5d8; border-radius: 3px; font-size: 12px; padding: 4px 7px; }
.page-schedule .schedule-active-filters a { color: #62765b; font-size: 12px; padding: 5px 0; text-underline-offset: 3px; }
.page-schedule .schedule-result-list.schedule-scroll-area { gap: 12px; max-height: none; overflow: visible; padding: 0; scroll-behavior: auto; scrollbar-gutter: auto; }
.page-schedule .schedule-result-card { align-items: start; border: 1px solid #e0e5d8; border-radius: 4px; gap: 8px 18px; grid-template-columns: 128px minmax(0, 1fr) 166px; padding: 18px; }
.page-schedule .schedule-result-date { border: 0; border-right: 1px solid #e0e5d8; gap: 5px; grid-column: 1; grid-row: 1 / 3; padding-right: 14px; }
.page-schedule .schedule-result-date .schedule-result-date-label { color: #8b703e; font-size: 12px; font-weight: 500; }
.page-schedule .schedule-result-date strong { color: #40594b; font-size: .88rem; font-variant-numeric: tabular-nums; font-weight: 650; white-space: nowrap; }
.page-schedule .schedule-result-date > span:last-child { color: #7b8671; font-size: 12px; font-weight: 400; line-height: 1.8; }
.page-schedule .schedule-result-main { grid-column: 2; grid-row: 1; min-width: 0; }
.page-schedule .schedule-result-main h3 { color: #254d40; font-size: 1.03rem; font-weight: 650; line-height: 1.6; margin: 0 0 7px; }
.page-schedule .schedule-result-location { align-items: start; color: #62765b; display: flex; font-size: .79rem; gap: 6px; }
.page-schedule .schedule-result-location .public-icon, .page-schedule .schedule-result-location svg { height: 15px; margin-top: 2px; width: 15px; }
.page-schedule .schedule-result-meta { gap: 6px 10px; grid-column: 2; grid-row: 2; justify-content: start; }
.page-schedule .schedule-result-meta span { background: none; border: 0; border-radius: 0; color: #849078; font-size: 12px; font-weight: 400; padding: 0; }
.page-schedule .schedule-result-prefill { border: 0; grid-column: 3; grid-row: 1 / 3; margin: 0; padding: 0; }
.page-schedule .schedule-result-prefill > summary { background: #f4f5ed; border: 1px solid #d4ddca; border-radius: 3px; color: #40594b; cursor: pointer; font-size: 12px; font-weight: 500; min-height: 44px; padding: 12px 8px; text-align: center; }
.page-schedule .schedule-result-prefill[open] { grid-column: 2 / -1; grid-row: 3; }
.page-schedule .schedule-prefill-confirm { background: #f4f5ed; border: 0; border-radius: 3px; margin-top: 10px; padding: 16px; }
.page-schedule .schedule-prefill-confirm strong { color: #40594b; font-size: .8rem; }
.page-schedule .schedule-prefill-confirm p { color: #7b8671; font-size: 12px; line-height: 1.9; }
.page-schedule #schedule-results .schedule-prefill-confirm button { background: #254d40 !important; border-color: #254d40 !important; border-radius: 3px !important; color: #fff !important; font-size: .76rem; min-height: 44px; }
.page-schedule .schedule-pagination { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-top: 22px; }
.page-schedule .schedule-pagination a, .page-schedule .schedule-pagination-disabled { border: 1px solid #d4ddca; border-radius: 3px; color: #40594b; font-size: .76rem; min-height: 44px; padding: 12px 15px; text-decoration: none; }
.page-schedule .schedule-pagination-disabled { border-color: #e7e9de; color: #a3ac98; }
.page-schedule .schedule-pagination > span:not(.schedule-pagination-disabled) { color: #73816b; font-size: .75rem; }
.page-schedule .schedule-pagination-note { color: #849078; font-size: 12px; line-height: 1.8; margin-top: 14px; }
.page-schedule .schedule-empty-fallback { background: #f3f3e9; border: 1px solid #e1e2d4; border-radius: 4px; color: #6d7c63; padding: 24px; }
.page-schedule .schedule-empty-fallback h2 { color: #40594b; font-size: 1.1rem; margin-top: 0; }
.page-schedule .schedule-empty-fallback p { font-size: .84rem; line-height: 1.9; }
.page-schedule .schedule-empty-fallback a { color: #254d40; display: inline-block; font-size: .8rem; margin-right: 20px; min-height: 44px; padding: 12px 0; }
.page-schedule .schedule-help-details { border-top: 1px solid #dce1d4; margin-top: 36px; padding: 18px 0; }
.page-schedule .schedule-help-details > summary { color: #40594b; cursor: pointer; font-size: .86rem; min-height: 44px; padding: 10px 0; }
.page-schedule .storefront-guidance--schedule-lower { background: none; border: 0; gap: 20px; }
.page-schedule .storefront-guidance--schedule-lower > div { background: none; border: 0; border-radius: 0; color: #7b8671; font-size: .78rem; line-height: 1.8; }
.page-schedule .venue-seo-grid--schedule-lower .venue-seo-card { background: none; border: 0; border-radius: 0; box-shadow: none; color: #7b8671; padding: 18px 0; }
.page-schedule .venue-seo-card h3 { color: #52674e; font-size: .9rem; }
.page-schedule .venue-seo-card p { font-size: .78rem; line-height: 1.9; }
.page-schedule .public-floating-support-panel { display: none; }
.page-schedule .public-floating-actions .public-floating-button { border-radius: 3px; gap: 8px; padding: 10px 14px; width: auto; }
.page-schedule .public-floating-actions .public-floating-button > span { clip: auto; clip-path: none; display: inline-flex !important; height: auto; overflow: visible; position: static; width: auto; }
.page-schedule .public-floating-actions .public-floating-button > .public-icon, .page-schedule .public-floating-actions svg { height: 20px; width: 20px; }
.page-schedule a:focus-visible, .page-schedule summary:focus-visible, .page-schedule input:focus-visible, .page-schedule select:focus-visible, .page-schedule button:focus-visible { outline: 2px solid #977946; outline-offset: 3px; }
@media (max-width: 1100px) {
    .page-schedule #schedule-workspace { gap: 20px; grid-template-columns: 250px minmax(0, 1fr); }
    .page-schedule .schedule-result-card { gap: 8px 14px; grid-template-columns: 115px minmax(0, 1fr); padding: 16px; }
    .page-schedule .schedule-result-prefill { grid-column: 2; grid-row: 3; }
    .page-schedule .schedule-result-prefill[open] { grid-column: 1 / -1; grid-row: 3; }
}
@media (max-width: 800px) {
    .page-schedule .schedule-page-intro { margin-bottom: 20px; padding-top: 16px; }
    .page-schedule .schedule-page-intro nav, .page-schedule .schedule-page-heading p { display: none; }
    .page-schedule .schedule-page-kicker, .page-schedule .schedule-intro-help { display: none; }
    .page-schedule .schedule-page-heading { align-items: start; flex-direction: column; gap: 8px; }
    .page-schedule .schedule-page-heading h1 { font-size: 1.65rem !important; letter-spacing: .02em; }
    .page-schedule .schedule-page-heading p { font-size: .76rem; }
    .page-schedule .schedule-intro-help { font-size: 12px; min-height: 36px; }
    .page-schedule #schedule-workspace { gap: 24px; grid-template-columns: minmax(0, 1fr); }
    .page-schedule #schedule-search { gap: 12px; padding: 18px; position: static; }
    .page-schedule .schedule-search-copy { display: none; }
    .page-schedule .schedule-search-copy p { display: none; }
    .page-schedule .schedule-search-form { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-schedule .schedule-name-field { grid-column: 1 / -1; }
    .page-schedule .schedule-search-form input, .page-schedule .schedule-search-form select { font-size: 1rem; }
    .page-schedule .schedule-search-form label small { font-size: 12px; }
    .page-schedule .schedule-quick-dates { max-width: 260px; }
    .page-schedule #schedule-results { scroll-margin-top: 100px; }
    .page-schedule .schedule-freshness p { font-size: 12px; }
    .page-schedule .schedule-result-summary h2 { font-size: 1.3rem; }
    .page-schedule .schedule-result-card { gap: 9px 12px; grid-template-columns: 96px minmax(0, 1fr); padding: 14px; }
    .page-schedule .schedule-result-date { padding-right: 10px; }
    .page-schedule .schedule-result-date strong { font-size: .76rem; }
    .page-schedule .schedule-result-date > span:last-child { font-size: 12px; }
    .page-schedule .schedule-result-main h3 { font-size: 1rem; }
    .page-schedule .schedule-result-location { font-size: 12px; }
    .page-schedule .schedule-result-prefill, .page-schedule .schedule-result-prefill[open] { grid-column: 1 / -1; grid-row: 3; }
    .page-schedule .schedule-result-prefill > summary { min-height: 44px; padding: 12px; }
    .page-schedule .schedule-pagination { gap: 6px; }
    .page-schedule .schedule-pagination a, .page-schedule .schedule-pagination-disabled { font-size: 12px; padding: 12px 10px; }
    .page-schedule .schedule-pagination > span:not(.schedule-pagination-disabled) { font-size: 12px; }
    .page-schedule .public-floating-actions .public-floating-button--top { display: none; }
}
@media (max-height: 820px) {
    .page-schedule #schedule-search { position: static; }
}

/* Sharing reuses the existing card and selection form. */
.page-schedule .schedule-result-actions { grid-column:3; grid-row:1/3; display:grid; gap:8px; min-width:0; }
.page-schedule .schedule-result-actions:has(details[open]) { grid-column:2/-1; grid-row:3; }
.page-schedule .schedule-result-actions .schedule-result-prefill,
.page-schedule .schedule-result-actions .schedule-result-prefill[open] { grid-column:auto; grid-row:auto; }
.page-schedule .schedule-share-button { align-items:center; background:#fffef9; border:1px solid #bdcdbc; border-radius:4px; color:#254d40; cursor:pointer; display:inline-flex; font:inherit; font-size:12px; gap:7px; justify-content:center; min-height:44px; padding:8px 12px; width:100%; }
.page-schedule .schedule-share-button:hover { background:#edf3e9; border-color:#6d917c; }
.page-schedule .schedule-share-button:focus-visible { outline:2px solid #aa8540; outline-offset:3px; }
.page-schedule .schedule-share-button svg { flex-shrink:0; height:16px; width:16px; }
.page-schedule .schedule-share-feedback { color:#285542; font-size:12px; line-height:1.6; margin:6px 0 0; }
.page-schedule .schedule-share-fallback { margin-top:8px; }
.page-schedule .schedule-share-fallback label { color:#40594b; font-size:12px; }
.page-schedule .schedule-share-fallback input { box-sizing:border-box; width:100%; min-height:44px; padding:8px; border:1px solid #bdcdbc; background:#fff; color:#254d40; border-radius:4px; font-size:16px; }
.page-schedule .schedule-share-feedback[hidden], .page-schedule .schedule-share-fallback[hidden] { display:none!important; }
.page-schedule .schedule-share-notice { background:#edf3e9; border:1px solid #c8d8c4; border-left:3px solid #ae8c4a; border-radius:5px; color:#294d3d; padding:14px 16px; margin-bottom:16px; }
.page-schedule .schedule-share-notice p { font-size:14px; line-height:1.8; margin:6px 0; }
.page-schedule .schedule-result-card--shared { border:2px solid #648771; box-shadow:0 0 0 3px #edf3e9; scroll-margin-top:145px; }
.page-schedule .schedule-shared-label { display:block; color:#6f552b; font-size:12px; margin-bottom:5px; }
@media(max-width:1100px) { .page-schedule .schedule-result-actions { grid-column:2; grid-row:3; } }
@media(max-width:760px) { .page-schedule .schedule-result-actions, .page-schedule .schedule-result-actions:has(details[open]) { grid-column:1/-1; grid-row:3; } .page-schedule .schedule-result-card--shared { scroll-margin-top:110px; } }

/* Boxed editorial Hero: shares the storefront's ivory paper and sage borders. */
.page-schedule .schedule-page-intro{margin-bottom:18px;padding:12px 0 0}
.page-schedule .schedule-page-intro nav{margin-bottom:12px}
.page-schedule .schedule-page-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 30px;background:#f6f6ef;border:1px solid #d7dfd0;border-radius:14px}
.page-schedule .schedule-page-heading::before{content:"";position:absolute;top:-1px;left:30px;width:44px;height:2px;background:#ac925b}
.page-schedule .schedule-hero-copy{min-width:0;max-width:730px}
.page-schedule .schedule-page-kicker{display:flex;color:#6a7054;font-size:12px;letter-spacing:.07em;font-weight:600}
.page-schedule .schedule-page-heading h1{font-size:clamp(1.85rem,3vw,2.55rem)!important;line-height:1.35;letter-spacing:.025em;margin:9px 0 12px}
.page-schedule .schedule-page-heading .schedule-hero-lead{font-size:15px;line-height:1.8;color:#4f6353;max-width:650px}
.page-schedule .schedule-page-heading .schedule-hero-disclaimer{font-size:12px;line-height:1.7;color:#65715d;margin-top:9px}
.page-schedule .schedule-hero-aside{flex:0 0 220px;display:flex;align-items:center;flex-direction:column;gap:0}
.page-schedule .schedule-hero-art{display:block;width:220px;height:156px;pointer-events:none}
.page-schedule .schedule-hero-aside .schedule-intro-help{font-size:12px;min-height:30px;color:#52664f;border-bottom-color:#c4cebc;gap:6px}
.page-schedule .schedule-intro-help:focus-visible{outline:2px solid #ac9257;outline-offset:4px}
@media(max-width:1100px){
 .page-schedule .schedule-page-heading{padding:23px 25px;gap:18px}
 .page-schedule .schedule-hero-aside{flex-basis:185px}
 .page-schedule .schedule-hero-art{width:185px;height:auto}
}
@media(max-width:800px){
 .page-schedule .schedule-page-intro{margin-bottom:14px;padding-top:12px}
 .page-schedule .schedule-page-heading{display:block;padding:21px 19px;border-radius:11px}
 .page-schedule .schedule-page-heading::before{left:20px;width:34px}
 .page-schedule .schedule-page-kicker{font-size:11px;letter-spacing:.025em}
 .page-schedule .schedule-page-heading h1{font-size:1.7rem!important;line-height:1.4;margin:7px 0 10px}
 .page-schedule .schedule-page-heading .schedule-hero-lead{display:block;font-size:14px;line-height:1.75}
 .page-schedule .schedule-page-heading .schedule-hero-disclaimer{display:block;font-size:12px;margin-top:9px}
 .page-schedule .schedule-hero-aside{display:none}
}

/* Venue shortcuts reuse the existing hall filter and remain readable without scrolling sideways. */
.schedule-venue-shortcuts{display:flex;gap:10px;align-items:flex-start;margin:14px 0 20px}
.schedule-venue-shortcuts>strong{padding-top:10px;font-size:.9rem;white-space:nowrap;color:#315440}
.schedule-venue-shortcuts>div{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.schedule-venue-shortcuts a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid #d3ddcd;border-radius:7px;background:#fffef9;color:#315440;text-decoration:none;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}
.schedule-venue-shortcuts a[aria-current=page]{background:#254d40;border-color:#254d40;color:#fff}
.schedule-venue-shortcuts a:hover{border-color:#8b7847}.schedule-venue-shortcuts a:focus-visible{outline:3px solid #b39a5c;outline-offset:2px}
@media(max-width:600px){.schedule-venue-shortcuts{display:block}.schedule-venue-shortcuts>strong{display:block;padding:0;margin-bottom:8px}.schedule-venue-shortcuts a{padding:8px 11px}}
