/* ==========================================================
   Events
   ========================================================== */

.event-list{border-top:1px solid var(--line)}
.event{
  display:grid;
  grid-template-columns:minmax(0,116px) minmax(0,1fr) minmax(0,auto);
  gap:26px;
  padding:24px 2px;
  border-bottom:1px solid var(--line);
  align-items:start;
  transition:background .2s ease;
}
.event:hover{background:rgba(255,253,248,.55)}
.event.past{opacity:.55}

/* the date block, set like a leaf torn from a calendar */
.event-date{
  text-align:center;
  border:1px solid var(--line);
  background:var(--paper-light);
  padding:10px 6px 12px;
}
.event-date .d-month{
  display:block;
  font:600 .64rem/1 var(--sans);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--terracotta);
}
.event-date .d-day{
  display:block;
  margin:6px 0 3px;
  font:400 2.1rem/1 var(--serif);
  color:var(--ink);
}
.event-date .d-year{
  display:block;
  font:400 .66rem/1 var(--sans);
  color:var(--muted);
  letter-spacing:.1em;
}
.event-date.range .d-day{font-size:1.35rem;line-height:1.25}

.event-body h3{font:500 1.22rem/1.28 var(--serif);margin:0 0 7px}
.event-kind{
  display:inline-block;
  margin-bottom:8px;
  font:600 .64rem/1 var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--terracotta);
}
.event-body p{margin:0 0 10px;color:var(--muted);font-size:.88rem;line-height:1.55}
.event-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 20px;
  font:400 .78rem/1.5 var(--sans);
  color:#4f4942;
}
.event-meta span{display:inline-flex;align-items:center;gap:7px}
.event-meta svg{width:13px;height:13px;flex:none;fill:none;stroke:var(--terracotta);stroke-width:1.7}

.event-actions{display:grid;gap:8px;justify-items:stretch;min-width:150px}
.event-actions .btn-small{justify-content:center}

@media (max-width:820px){
  .event{grid-template-columns:minmax(0,92px) minmax(0,1fr);gap:18px}
  .event-actions{grid-column:1 / -1;grid-auto-flow:column;justify-content:start}
}
@media (max-width:520px){
  .event-actions{grid-auto-flow:row}
}

/* ---- subscribe panel -------------------------------------- */
.subscribe{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  gap:44px;
  align-items:start;
  border:1px solid var(--line);
  background:var(--paper-light);
  padding:38px 40px;
}
.subscribe h2{font:500 1.6rem/1.2 var(--serif);margin:6px 0 12px}
.subscribe p{margin:0 0 12px;font-size:.9rem;line-height:1.6;color:var(--muted)}
.sub-routes{display:grid;gap:12px}
.sub-route{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  border:1px solid var(--line);
  background:var(--white);
  padding:14px 16px;
}
.sub-route .mark{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid rgba(168,73,46,.3);
  color:var(--terracotta);
  font:600 .72rem/1 var(--sans);
}
.sub-route b{display:block;font:600 .86rem/1.3 var(--sans);color:var(--ink)}
.sub-route small{display:block;color:var(--muted);font-size:.76rem;line-height:1.45;margin-top:2px}

@media (max-width:820px){
  .subscribe{grid-template-columns:1fr;gap:26px;padding:28px 24px}
  .sub-route{grid-template-columns:32px minmax(0,1fr);gap:12px}
  .sub-route .btn-small{grid-column:1 / -1;justify-content:center}
}

/* ---- consent-gated embed ---------------------------------- */
.cal-embed{
  position:relative;
  border:1px solid var(--line);
  background:var(--paper-deep);
  aspect-ratio:4/3;
  overflow:hidden;
}
.cal-embed iframe{display:block;width:100%;height:100%;border:0}
.cal-gate{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  padding:34px;
  text-align:center;
  background:
    repeating-linear-gradient(45deg, rgba(168,73,46,.03) 0 12px, transparent 12px 24px),
    var(--paper-deep);
}
.cal-gate p{margin:0;max-width:46ch;font-size:.88rem;line-height:1.6;color:var(--muted)}
.cal-gate b{display:block;font:500 1.1rem/1.3 var(--serif);color:var(--ink);margin-bottom:4px}

@media (max-width:620px){
  .cal-embed{aspect-ratio:3/4}
}
