/* C128 festival cards: layout only. Colours, radius, type and hover come from the existing
   .sto, .fdate, .pill, .lock and .more rules and the theme variables. */
.fcards128{container-type:inline-size;margin:0 0 8px;min-width:0}
.fcards128[hidden]{display:none!important}
#flist[data-cards128="shown"]{display:none!important}
.fview128{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 8px)/2);gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px}
.fview128::-webkit-scrollbar{display:none}
@container (min-width:560px){.fview128{grid-auto-columns:calc((100% - 16px)/3)}}
@container (min-width:820px){.fview128{grid-auto-columns:calc((100% - 24px)/4)}}
@container (max-width:330px){.fview128{grid-auto-columns:86%}}
.fcard128{scroll-snap-align:start;min-width:0;cursor:pointer;align-content:start}
.fcard128 .fhead128{display:flex;align-items:center;justify-content:space-between;gap:6px}
.fcard128 .fdate{min-width:38px;padding:3px 6px}
.fcard128 h4{font-size:12.5px;line-height:1.3}
.fcard128 p{font-size:11px;line-height:1.35;margin:0;white-space:normal}
.fcard128 .fmean128{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fcard128 .pill{justify-self:start;white-space:normal;font-size:10.5px}
.fnav128{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;font-size:11px}
.fnav128 .more{min-width:28px;min-height:28px;justify-content:center;font-size:15px}
.fdots128{display:inline-flex;gap:5px;align-items:center}
.fdot128{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer}
.fdot128[aria-current="true"]{background:var(--gold)}
.fdetail128 h3{font-size:13px;margin:12px 0 4px}
.fdetail128 p,.fdetail128 li{font-size:12.5px;line-height:1.5}
.fdetail128 ol,.fdetail128 ul{margin:0;padding-inline-start:18px}
.fdetail128 .fsam128{columns:2;column-gap:18px}
.ftable128{width:100%;border-collapse:collapse;font-size:12px}
.ftable128 th{text-align:start;font-weight:600;padding:5px 8px 5px 0;vertical-align:top;width:58%}
.ftable128 td{padding:5px 0;vertical-align:top}
.ftable128 tr+tr th,.ftable128 tr+tr td{border-top:1px solid var(--hair)}
.flock128{margin-top:12px;padding:10px 12px;border:1px solid var(--gold);border-radius:12px;background:var(--gold-soft)}
.flock128 h3{margin-top:0}
.flockrow128{margin:3px 0}
@media (prefers-reduced-motion:reduce){.fview128{scroll-behavior:auto}}
