/* Current-season calendar: registration colors, readable date panels, shared on home. */
.cw-page { --ink:#180e42; --accent:#006b85; --accent-ink:#006b85; --cw-cyan:#00b5df; --cw-mint:#9bd4a5; }
.cw-page .sqs-title { color:var(--ink); font-weight:600; }
.cw-page .sqs-button { background:var(--ink); }
.cw-page .sqs-html a, .cw-page .sqs-footer a { color:var(--accent); }
.cw-page .sqs-content { max-width:1320px; }
.cw-page .sqs-hr { background:var(--ink); }
.cw, .cw *, .cw *::before, .cw *::after { box-sizing:border-box; }
.cw { --cw-line:#ced5e2; --cw-ground:#f3f5f9; --cw-meta:#4e5266; font-weight:400; scroll-margin-top:24px; }
.cw [hidden] { display:none !important; }
.cw img { display:block; max-width:100%; }
.cw button, .cw select { font:inherit; }
.cw button, .cw a, .cw select { touch-action:manipulation; }
.cw :is(button,a,select):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.cw-mh { margin:0 0 18px; }
.cw-h2 { font:700 clamp(1.6rem,3vw,2.4rem)/1.15 Fraunces,Georgia,serif; color:var(--ink); margin:0 0 10px; }
.cw-sub { margin:0; color:var(--cw-meta); font-size:.95rem; line-height:1.6; }
.cw-week { margin:12px 0 44px; }
/* Filters have matching label baselines, generous controls, and no narrow fixed widths. */
.cw-filters { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(220px,1fr); align-items:end; gap:18px 24px; padding:24px; margin:22px 0 28px; background:var(--cw-ground); border:1px solid var(--cw-line); border-radius:20px; }
.cw-field { display:grid; gap:8px; min-width:0; margin:0; }
.cw-filter-label { color:var(--cw-meta); font-size:.72rem; font-weight:700; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; }
.cw-seg { display:flex; min-width:0; padding:3px; border:1px solid var(--cw-line); border-radius:12px; background:white; }
.cw .cw-segb { flex:1 1 0; min-width:0; border:0; background:transparent; color:var(--ink); font-weight:500; font-size:.85rem; line-height:1.3; padding:8px; min-height:44px; border-radius:8px; cursor:pointer; }
.cw .cw-segb:hover { background:#e5e9f2; }
.cw .cw-segb[aria-pressed=true] { background:var(--ink); color:white; font-weight:600; }
.cw-select select { font-size:.85rem; font-weight:500; min-height:52px; padding:12px 32px 12px 12px; border:1px solid var(--cw-line); border-radius:12px; background:white; color:var(--ink); width:100%; min-width:0; cursor:pointer; }
.cw-field--spirits { grid-column:1 / 3; }
.cw-chips { display:flex; flex-wrap:wrap; gap:8px; }
.cw-chip { border:1px solid var(--cw-line); background:white; color:var(--ink); font-size:.85rem !important; font-weight:500 !important; padding:8px 14px; min-height:44px; border-radius:9px; cursor:pointer; }
.cw-chip[aria-pressed=true] { background:var(--cw-mint); border-color:#6ca67a; }
.cw-clear { justify-self:end; min-height:44px; padding:8px 0; color:var(--accent); border:0; background:none; text-decoration:underline; text-underline-offset:4px; font-size:.85rem !important; cursor:pointer; }
/* One week, seven readable dates. Each selected day has room for its experiences. */
.cw-strip { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.cw-strip button { flex:1 0 3.2em; min-width:44px; border:1px solid var(--cw-line); background:white; color:var(--ink); border-radius:14px; padding:14px 6px; min-height:90px; cursor:pointer; display:grid; gap:6px; justify-items:center; }
.cw-strip button span { font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.cw-strip button b { font:700 1.7rem/1 Fraunces,Georgia,serif; }
.cw-strip button i { width:6px; height:6px; border-radius:50%; background:var(--accent); }
.cw-strip button i.off { visibility:hidden; }
.cw-strip button[aria-pressed=true] { background:var(--ink); color:white; border-color:var(--ink); }
.cw-strip button[aria-pressed=true] i { background:var(--cw-cyan); }
.cw-board { display:block; }
.cw-day { display:none; min-width:0; background:var(--cw-ground); border:1px solid var(--cw-line); border-radius:20px; padding:24px; }
.cw-day.on { display:block; }
.cw-dh { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 12px; padding-bottom:18px; color:var(--ink); }
.cw-dow { font-size:.85rem; font-weight:700; letter-spacing:.04em; }
.cw-date { font:700 1.8rem/1.2 Fraunces,Georgia,serif; }
.cw-date small { font:500 1rem/1.2 Poppins,sans-serif; margin-left:6px; }
.cw-n { margin-left:auto; font-size:.8rem; color:var(--accent); font-weight:600; }
.cw-n--quiet { color:var(--cw-meta); }
.cw-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; }
.cw-ecard { display:grid; grid-template-columns:120px minmax(0,1fr); text-decoration:none; color:var(--ink); background:white; border:1px solid var(--cw-line); border-radius:12px; overflow:hidden; min-width:0; }
.cw-eph { display:block; min-height:140px; background:#e2e7f0; position:relative; }
.cw-eph img { width:100%; height:100%; position:absolute; object-fit:cover; }
.cw-time { position:absolute; left:8px; right:8px; bottom:8px; background:var(--ink); color:white; font-size:.7rem; font-weight:600; padding:5px 7px; border-radius:6px; line-height:1.4; }
.cw-eb { display:block; padding:18px; align-self:center; min-width:0; }
.cw-et { margin:0; font-size:1rem; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.cw-ev { margin:8px 0 0; font-size:.8rem; color:var(--cw-meta); line-height:1.5; overflow-wrap:anywhere; }
.cw-more { width:100%; border:1px solid var(--cw-line); border-radius:12px; background:white; color:var(--accent); padding:12px; min-height:44px; cursor:pointer; }
.cw-quiet p { margin:0 0 8px; color:var(--cw-meta); }
.cw-quiet a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--accent); text-underline-offset:4px; }
.cw-key { margin:16px 0 0; color:var(--cw-meta); font-size:.85rem; line-height:1.6; max-width:80ch; }
.cw-note { margin:0; padding:18px 22px; background:#eef7f0; color:var(--ink); border-radius:12px; font-size:.95rem; }
.cw-count { margin:0 0 18px; color:var(--cw-meta); font-size:.85rem; }
.cw-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cw-card { display:flex; flex-direction:column; text-decoration:none; color:var(--ink); background:white; border:1px solid var(--cw-line); border-radius:16px; overflow:hidden; min-width:0; transition:border-color .15s; }
.cw-card:hover, .cw-ecard:hover { border-color:var(--accent); }
.cw-ph { aspect-ratio:4/3; background:var(--cw-ground); position:relative; overflow:hidden; }
.cw-ph img { width:100%; height:100%; object-fit:cover; }
.cw-plate { position:absolute; inset:0; display:grid; place-items:center; padding:20px; background:var(--ink); color:var(--cw-mint); font:700 1.65rem/1.3 Fraunces,Georgia,serif; text-align:center; }
.cw-price { position:absolute; top:12px; right:12px; background:white; color:var(--ink); font-weight:700; padding:6px 12px; border-radius:8px; font-size:.9rem; }
.cw-body { padding:22px; min-width:0; }
.cw-venue { margin:0; font-size:1.1rem; font-weight:700; line-height:1.35; color:var(--ink); overflow-wrap:anywhere; }
.cw-title { margin:10px 0 0; color:var(--accent); font-size:1rem; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.cw-bite { margin:6px 0 0; color:var(--cw-meta); font-size:.85rem; line-height:1.6; overflow-wrap:anywhere; }
.cw-badge { display:inline-block; margin:14px 0 0; color:var(--ink); background:#e6f4e9; font-size:.72rem; font-weight:600; padding:4px 8px; border-radius:5px; line-height:1.5; }
.cw-meta { margin:14px 0 0; color:var(--cw-meta); font-size:.75rem; line-height:1.6; display:flex; flex-wrap:wrap; gap:4px 8px; }
.cw-meta span:not(:last-child)::after { content:'·'; margin-left:8px; }
.cw-empty { grid-column:1/-1; padding:28px 20px; border:1px dashed var(--cw-line); border-radius:16px; color:var(--cw-meta); }
.cw-empty a { color:var(--accent); }
.cw-intro { text-align:center; margin:0 17px 36px; padding:44px 24px !important; background:var(--ink); border-radius:24px; color:white; }
.cw-kicker { margin:0 0 18px; color:var(--cw-mint); font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.cw-intro h1 { margin:0; color:white; font:700 clamp(2.3rem,5.4vw,4rem)/1.08 Fraunces,Georgia,serif; letter-spacing:-.035em; }
.cw-intro h1 span { display:block; color:var(--cw-cyan); }
.cw-intro-copy { max-width:60ch; margin:22px auto 16px; font-size:.95rem; line-height:1.7; }
.cw-intro-dates { margin:0; color:var(--cw-mint); font-size:.85rem; font-weight:600; }
.cw-home #season-2026 { max-width:900px; margin-inline:auto; }
.cw-home #season-2026 h1 { color:var(--ink); font-family:Fraunces,Georgia,serif; font-weight:700; margin:12px 0 18px; }
@media(max-width:899px) {
  .cw-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cw-field--show, .cw-field--spirits { grid-column:1/-1; }
  .cw-clear { grid-column:1/-1; }
  .cw-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}
@media(max-width:599px) {
  .cw-filters { grid-template-columns:minmax(0,1fr); padding:16px; gap:16px 12px; }
  .cw .cw-segb { font-size:.78rem; padding-inline:5px; }
  .cw-select select { font-size:.8rem; }
  .cw-strip { gap:8px; }
  .cw-strip button { flex-basis:4em; border-radius:9px; min-height:76px; padding:12px 2px; }
  .cw-strip button span { font-size:.6rem; letter-spacing:0; }
  .cw-strip button b { font-size:1.35rem; }
  .cw-day { padding:16px; }
  .cw-cards { grid-template-columns:minmax(0,1fr); }
  .cw-body { padding:20px; }
  .cw-intro { padding:32px 20px !important; margin-bottom:22px; }
  .cw-intro-copy { font-size:.9rem; }
  .cw-intro-dates { font-size:.75rem; }
}
@media(max-width:359px) {
  .cw-filters { grid-template-columns:minmax(0,1fr); }
  .cw-ecard { grid-template-columns:90px minmax(0,1fr); }
  .cw-eb { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { .cw * { transition:none !important; scroll-behavior:auto !important; } }

.cw-page .sqs-burger, .cw-page .sqs-menu .close { min-height:44px; }
.cw-page .sqs-nav a, .cw-page .cw-link { min-height:44px; display:inline-flex; align-items:center; }
