/* Advent behaviour comes from main; typography and controls use the publisher shell. */
.advent-hero { padding-block:45px 35px; text-align:center; }
.advent-label { display:block; font-size:18px; color:var(--text-muted); margin-bottom:22px; }
.advent-hero h1 { font:600 clamp(43px,5.7vw,78px)/1.08 'Dimple Sans Variable',var(--body); letter-spacing:-1.8px; }
.advent-description { max-width:56ch; margin:28px auto 0; font-size:22px; }
.advent-status { margin:25px auto 0; max-width:55ch; font-size:20px; }
.advent-hero a:not(.btn) { text-decoration:underline; text-underline-offset:5px; }
.advent-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:15px; list-style:none; padding:0; margin:0; }
.advent-door__link { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; height:100%; min-height:210px; padding:20px 12px; border:1px solid var(--border-strong); border-radius:12px; background:var(--surface); color:var(--text); }
.advent-door__link[href]:hover { background:var(--p-sun-50); border-color:var(--text); }
.advent-door__num { font:600 36px/1.1 'Dimple Sans Variable',var(--body); }
.advent-door__icon { width:56px; height:56px; border-radius:14px; }
.advent-door__game { font-size:17px; text-align:center; }
.advent-door__state { font-size:16px; color:var(--text-muted); }
.is-today .advent-door__link { background:var(--p-sun-100); border:2px solid var(--text); }
.is-played .advent-door__state { color:var(--link); }
.is-locked .advent-door__link { background:var(--sunken); border-color:var(--border); cursor:default; }
.is-locked .advent-door__icon { filter:grayscale(1); opacity:.5; }
.advent-share { text-align:center; margin-block:35px 20px; }
.advent-footnote { font-size:17px; text-align:center; color:var(--text-muted); max-width:65ch; margin:25px auto 55px; }
.advent-footnote a { text-decoration:underline; text-underline-offset:4px; }
.advent-day-heading { max-width:800px; margin-inline:auto; }
.advent-day__icon { margin:25px auto; border-radius:22px; }
.advent-day__state { margin-top:30px; }
.advent-day__state p { margin-top:20px; }
.advent-day__nav { display:flex; justify-content:space-between; gap:20px; margin-top:45px; font-size:18px; }
@media(max-width:1000px) { .advent-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:560px) {
  .advent-hero { padding-top:30px; }
  .advent-description { font-size:20px; }
  .advent-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
  .advent-door__link { min-height:190px; padding:15px 7px; gap:10px; }
  .advent-door__num { font-size:29px; }
  .advent-door__icon { width:45px; height:45px; border-radius:12px; }
  .advent-door__game { font-size:16px; }
  .advent-door__state { font-size:14px; }
  .advent-day__nav { font-size:16px; gap:12px; }
}
