/* Natural poster proportions + measured, chronological skyline packing.
   CSS grid is the readable fallback; mobile stays in normal document flow. */
.event-preview-kind{display:none}
#events,.seasonal-grid{--masonry-columns:1;--masonry-gap:8;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;align-items:start}
#events .event.event-preview{margin:0}
.event-preview-name{display:block;overflow-wrap:anywhere;text-wrap:pretty}
.event-preview-media{display:block;overflow:hidden;min-width:0;border-radius:10px;background:#e8ecdf}
.event-preview-image{display:block;width:100%;height:auto;object-fit:contain}
.event-preview:is([data-media="image"],[data-media="fallback"]) .event-preview-media{width:52px;height:auto;flex:none}
html[data-theme="dark"] .event-preview-media{background:#111a14}
.event-preview-art{position:relative;display:grid;place-items:center;isolation:isolate;width:100%;aspect-ratio:4/3;overflow:hidden;color:var(--card-art-ink,#647450);background:radial-gradient(ellipse at 16% 18%,color-mix(in srgb,var(--card-art-a,#d4e49c) 88%,transparent),transparent 67%),radial-gradient(ellipse at 88% 82%,color-mix(in srgb,var(--card-art-b,#dbcbec) 85%,transparent),transparent 65%),var(--card-art-base,#f1f1e5)}
.event-preview-art::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 51% 45%,#ffffff85,transparent 56%)}
.event-preview-art::after{content:"";position:absolute;z-index:-1;width:72%;aspect-ratio:1;border:1px solid #ffffff70;border-radius:50%;transform:translate(22%,20%)}
.event-preview-art-icon{display:block;width:29%;max-width:112px;transform:rotate(-7deg);opacity:.85}
.event-preview-art-icon svg{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .event-preview-art{color:color-mix(in srgb,var(--card-art-ink,#647450) 30%,#fff);background:radial-gradient(ellipse at 16% 18%,color-mix(in srgb,var(--card-art-a,#d4e49c) 30%,transparent),transparent 68%),radial-gradient(ellipse at 88% 82%,color-mix(in srgb,var(--card-art-b,#dbcbec) 25%,transparent),transparent 66%),color-mix(in srgb,var(--card-art-base,#f1f1e5) 12%,#14251e)}
html[data-theme="dark"] .event-preview-art::before{opacity:.1}
html[data-theme="dark"] .event-preview-art::after{border-color:#ffffff12}

@media(min-width:760px){
  body[data-flow="results"]{--results-gutter:clamp(24px,3.2vw,80px)}
  body[data-flow="results"] :is(.top,main,footer){width:calc(100% - var(--results-gutter)*2);max-width:none}
  body[data-flow="results"] .top{flex-wrap:wrap;gap:8px 24px;padding-block:12px}
  body[data-flow="results"] .top nav{flex-wrap:wrap;max-width:100%}
  body[data-flow="results"] .flow-nav{max-width:480px;margin:0;padding-top:18px;border-bottom:0}
  body[data-flow="results"] .flow-nav button{min-height:42px;padding:10px 14px}
  body[data-flow="results"] #agenda{padding-top:22px}
  body[data-flow="results"] .results-heading{margin-bottom:24px;gap:24px}
  body[data-flow="results"] .results-heading h2{font-size:clamp(32px,2.8vw,48px);font-weight:550;letter-spacing:-.045em;line-height:1.15;margin-top:6px}
  body[data-flow="results"] #change-day{min-height:32px;padding:4px 0;font-size:12px}
  body[data-flow="results"] .results-view-actions{gap:10px}
  body[data-flow="results"] .results-view-actions button{min-height:48px;padding-inline:18px;border-radius:12px}
  #events,.seasonal-grid{--masonry-columns:2;--masonry-gap:14;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  #events>:not(.event-preview){grid-column:1/-1}
  #events>.calendar-help{margin:0 0 4px}
  #events>.text-button{justify-self:start}
  #events>.day-empty{margin:0}
  #events .event.event-preview{--card-line:#d9dfd0;--card-muted:#59674f;min-width:0;margin:0;border-radius:18px;border-color:var(--card-line);background:#fcfdf8;background:color-mix(in srgb,var(--event-color) 4%,#fcfdf8);transition:border-color .15s ease,box-shadow .15s ease}
  #events .event-preview:hover{border-color:#94a582;box-shadow:0 5px 16px #24351d0a}
  #events .event-preview h3{width:100%;min-width:0;margin:0;font-size:clamp(19px,1.45vw,24px);line-height:1.28;letter-spacing:-.035em;font-weight:560}
  #events .event-preview-open{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;grid-template-rows:auto auto;align-items:center;gap:18px 10px;min-height:0;padding:22px;width:100%;min-width:0;height:auto;border-radius:inherit;background:transparent}
  #events .event-preview-open:hover{background:transparent}
  #events .event-category-icon{display:flex;grid-column:1;grid-row:1;width:32px;height:32px;border-radius:9px}
  #events .event-category-icon svg{width:20px;height:20px}
  #events .event-preview-kind{display:block;grid-column:2;grid-row:1;color:var(--card-muted);font:500 10px/1.5 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em;overflow-wrap:anywhere}
  #events .event-preview-arrow{grid-column:3;grid-row:1;align-self:center;font-size:23px;color:var(--card-muted)}
  #events .event-preview-title{display:flex;flex-direction:column;grid-row:2;grid-column:1/-1;min-width:0;gap:16px;line-height:inherit}
  #events .event-preview-meta{margin:0;padding-top:13px;border-top:1px solid var(--card-line);gap:5px 16px;font-size:12px;color:var(--card-muted)}
  #events .event-preview-distance{margin:-9px 0 0;color:var(--card-muted)}
  #events .seasonal-plans{min-width:0;margin:14px 0 0;padding-top:4px}
  #events .seasonal-plans>summary{padding-block:20px;min-height:48px}
  #events .seasonal-plans>p{max-width:76ch}
  /* Full-width media in its own row: dimensions come from the actual image.
     Never crop poster credits/dates or stretch a landscape into a portrait. */
  #events .event-preview:is([data-media="image"],[data-media="fallback"]) .event-preview-open{padding:12px;grid-template-rows:auto auto auto;gap:16px 10px}
  #events .event-preview:is([data-media="image"],[data-media="fallback"]) .event-preview-media{grid-column:1/-1;grid-row:1;width:100%;height:auto;border-radius:10px}
  #events .event-preview[data-media="image"] .event-preview-image{width:100%;height:auto;min-height:0;max-height:none}
  #events .event-preview:is([data-media="image"],[data-media="fallback"]) .event-category-icon{grid-row:2;margin-left:8px}
  #events .event-preview:is([data-media="image"],[data-media="fallback"]) .event-preview-kind{grid-row:2;margin-left:8px}
  #events .event-preview:is([data-media="image"],[data-media="fallback"]) .event-preview-arrow{grid-row:2}
  #events .event-preview:is([data-media="image"],[data-media="fallback"]) .event-preview-title{grid-row:3;padding:0 8px 8px}
  html[data-theme="dark"] #events .event-preview{--card-line:#435047;--card-muted:#b1bdac;background:#1e2721;background:color-mix(in srgb,var(--event-color) 6%,#1e2721)}
  html[data-theme="dark"] #events .event-preview:hover{border-color:#81926f;box-shadow:0 5px 16px #0002}
  html[data-theme="dark"] #events .event-preview-arrow{color:#d3e798}
  body[data-flow="results"] #support-details{max-width:none;margin-top:20px}
}
@media(min-width:1200px){#events,.seasonal-grid{--masonry-columns:3;--masonry-gap:16;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(min-width:1900px){#events,.seasonal-grid{--masonry-columns:4;--masonry-gap:18;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}
@media(max-width:759px){
  .event-preview:is([data-media="image"],[data-media="fallback"]) .event-preview-open{position:relative;gap:12px;padding-inline:12px}
  .event-preview[data-media="image"] .event-category-icon{position:absolute;left:49px;top:calc(50% + 8px);width:22px;height:22px;border-radius:6px}
  .event-preview[data-media="image"] .event-category-icon svg{width:15px;height:15px}
  .event-preview[data-media="fallback"] .event-category-icon{display:none}
  .event-preview-art-icon{width:44%}
  .event-preview-art::after{display:none}
}
@media(prefers-reduced-motion:reduce){#events .event-preview{transition:none}}
