/* ==========================================================================
   Sea Change — Calendar & Events 2026 (preview)
   Scoped under .scev. Palette matches the 2026 homepage (sch-home-2026.css);
   the AA-safe *-ink variants are used wherever a colour carries small text.
   Mobile-first; breakpoints at 600 / 900.
   ========================================================================== */

.scev{
  --navy:#1B3A4B;
  --navy-deep:#122837;
  --teal:#4E9AAB;
  --teal-soft:#EAF4F5;
  --teal-ink:#407F8D;
  --coral-fill:#B05F55;
  --coral-fill-hover:#9A4F46;
  --sand:#F6F3EE;
  --ink:#28323A;
  --mist-ink:#5F7987;
  --line:#E3DED6;
  --white:#fff;

  --maxw:900px;
  --gutter:20px;
  --radius:12px;

  color:var(--ink);
}
.scev *{box-sizing:border-box}

.scev-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.scev-band{padding:40px 0 72px}

/* ---- heading ---------------------------------------------------------- */
.scev-eyebrow{
  display:block;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--coral-fill);margin-bottom:10px;
}
.scev-h1{
  font-size:34px;line-height:1.12;margin:0 0 12px;color:var(--navy);
}
@media (min-width:600px){.scev-h1{font-size:44px}}
.scev-lede{font-size:17px;line-height:1.6;color:var(--mist-ink);margin:0 0 28px;max-width:56ch}

/* ---- controls --------------------------------------------------------- */
.scev-controls{margin-bottom:30px}

.scev-search{display:block;margin-bottom:16px}
.scev-search__label{
  display:block;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mist-ink);margin-bottom:8px;
}
/* The theme styles bare inputs down to a 1px underline with no padding and
   beats this sheet on source order, so the search box needs !important to
   read as a box at all. Same lesson as the nav pill. */
.scev .scev-search input[type="search"]{
  width:100% !important;
  font:inherit !important;
  font-size:16px !important;           /* 16px stops iOS zooming on focus */
  padding:14px 44px 14px 16px !important;
  border:2px solid var(--line) !important;
  border-radius:8px !important;
  background-color:var(--white) !important;
  color:var(--ink) !important;
  -webkit-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F7987' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  background-size:18px 18px !important;
}
.scev .scev-search input[type="search"]:focus{
  outline:none !important;
  border-color:var(--teal) !important;
  box-shadow:0 0 0 3px var(--teal-soft) !important;
}
.scev .scev-search input[type="search"]::-webkit-search-cancel-button{cursor:pointer}

.scev-filters{display:flex;flex-wrap:wrap;gap:8px}

/* ---- filter rows ------------------------------------------------------ */
.scev-row{margin-bottom:14px}
.scev-row__label{
  display:block;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mist-ink);margin-bottom:8px;
}

.scev-dates{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.scev-date-in{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mist-ink);
}
.scev .scev-date-in input[type="date"]{
  font:inherit !important;
  font-size:14px !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  padding:8px 10px !important;
  border:1.5px solid var(--line) !important;
  border-radius:8px !important;
  background:var(--white) !important;
  color:var(--ink) !important;
  width:auto !important;
  -webkit-appearance:none;
  appearance:none;
}
.scev .scev-date-in input[type="date"]:focus{
  outline:none !important;border-color:var(--teal) !important;
  box-shadow:0 0 0 3px var(--teal-soft) !important;
}
.scev-chip{
  font:inherit;font-size:13px;font-weight:600;
  padding:8px 14px;border-radius:999px;cursor:pointer;
  background:var(--white);color:var(--navy);border:1.5px solid var(--line);
  display:inline-flex;align-items:center;gap:7px;
}
.scev-chip:hover{border-color:var(--teal);color:var(--teal-ink)}
.scev-chip.is-on{background:var(--navy);border-color:var(--navy);color:var(--white)}
.scev-chip__n{
  font-size:11px;font-weight:700;opacity:.65;
  font-variant-numeric:tabular-nums;
}
.scev-chip.is-on .scev-chip__n{opacity:.8}

.scev-count{
  margin:14px 0 0;font-size:13px;color:var(--mist-ink);
  font-variant-numeric:tabular-nums;
}

/* ---- month groups ----------------------------------------------------- */
.scev-month{margin-bottom:34px}
.scev-month__h{
  font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--teal-ink);margin:0 0 14px;padding-bottom:10px;
  border-bottom:1px solid var(--line);
}

/* ---- cards ------------------------------------------------------------ */
.scev-card{
  display:flex;gap:16px;align-items:flex-start;
  padding:18px 0;border-bottom:1px solid var(--line);
}
.scev-card:last-child{border-bottom:0}

.scev-date{
  flex:0 0 58px;text-align:center;line-height:1.1;
  background:var(--sand);border-radius:10px;padding:10px 4px;
}
.scev-date__d{
  display:block;font-size:10px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mist-ink);
}
.scev-date__n{
  display:block;font-size:24px;font-weight:700;color:var(--navy);margin:2px 0;
  font-variant-numeric:tabular-nums;
}
.scev-date__m{
  display:block;font-size:10px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mist-ink);
}

.scev-body{flex:1 1 auto;min-width:0}
.scev-card__h{font-size:18px;line-height:1.3;margin:0 0 6px;color:var(--navy)}
.scev-card__h a{color:inherit;text-decoration:none}
.scev-card__h a:hover,.scev-card__h a:focus{color:var(--teal-ink);text-decoration:underline}

.scev-meta{margin:0 0 8px;font-size:14px;color:var(--mist-ink)}
.scev-meta__sep{margin:0 6px}
.scev-desc{margin:0 0 8px;font-size:15px;line-height:1.55;color:var(--ink)}

.scev-tag{
  display:inline-block;margin:0;
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--teal-ink);background:var(--teal-soft);
  padding:4px 10px;border-radius:999px;
}


/* ---- repeating listings ------------------------------------------------ */
.scev-card.is-series .scev-date{background:var(--teal-soft)}

.scev-when{margin:0 0 8px}
.scev-when summary{
  display:inline-block;cursor:pointer;list-style:none;
  font-size:13px;font-weight:600;color:var(--teal-ink);
}
.scev-when summary::-webkit-details-marker{display:none}
.scev-when summary::after{content:" \203A";display:inline-block;transition:transform .15s}
.scev-when[open] summary::after{transform:rotate(90deg)}
.scev-when summary:hover{text-decoration:underline}
.scev-when__list{
  margin:10px 0 0;padding:0 0 0 16px;
  font-size:14px;line-height:1.7;color:var(--mist-ink);
}
.scev-when__list li{margin:0}

/* ---- empty state ------------------------------------------------------ */
.scev-empty{
  margin:20px 0 0;font-size:16px;color:var(--mist-ink);
}
.scev-reset{
  font:inherit;font-size:16px;background:none;border:0;padding:0;cursor:pointer;
  color:var(--teal-ink);text-decoration:underline;
}
.scev-reset:hover{color:var(--navy)}

/* hidden by the filter */
.scev-card[hidden],.scev-month[hidden]{display:none}
