/* Narrow, additive styling. The existing Kazel layout and payment styles are unchanged. */
.festival-card.kzfm-upcoming,.festival-card.kzfm-ongoing{border-width:2px;box-shadow:0 7px 24px rgba(67,164,103,var(--kzfm-glow,0));transition:border-color .35s,box-shadow .35s}
.festival-card.kzfm-ended{background:#f0efec;border-color:#e3e1de;box-shadow:none}.festival-card.kzfm-ended h3,.festival-card.kzfm-ended>p{color:#777881}.festival-card.kzfm-ended .country-code{filter:grayscale(.9);opacity:.6}.festival-card.kzfm-ended .festival-card-status{color:#53545d}.festival-card.kzfm-ended .festival-countdown{background:#e5e3df;color:#505159}
.kzfm-archive{margin-top:32px}.kzfm-archive>h3{font-size:16px;margin:0 0 16px;color:#6b6c76}.kzfm-card-programme{display:flex;flex-direction:column;gap:7px;margin:10px 0 13px;padding-top:10px;border-top:1px solid rgba(67,164,103,.16)}.kzfm-card-programme>small{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#34734e;font-weight:800}.kzfm-card-artist{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0}.kzfm-card-artist-photo{width:38px;height:38px;min-width:38px;max-width:38px;object-fit:cover;object-position:center;border-radius:10px;box-shadow:0 4px 12px rgba(8,12,31,.12);background:#f4f4f2}.kzfm-card-programme .kzfm-card-artist b{min-width:0;font-size:12px;line-height:1.2;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kzfm-card-programme .kzfm-card-artist time{white-space:nowrap;color:#4b6654;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.next-event.kzfm-next-live{border:2px solid #83cba1}.kzfm-next-artists{display:flex;flex-direction:column;gap:10px;margin:12px 0}.kzfm-next-artist{display:flex;gap:10px;align-items:center}.kzfm-next-artist img{width:48px;height:48px;object-fit:cover;border-radius:12px;flex:0 0 48px}.kzfm-next-artist>span{display:flex;flex-direction:column;gap:4px;min-width:0}.kzfm-next-artist b{font-size:16px;line-height:1.2}.next-event .kzfm-next-artist small{font-size:11px;line-height:1.4}.kzfm-daily-empty{font-size:12px;line-height:1.5;margin:8px 0}.kzfm-season-card>strong{font-size:25px!important;line-height:1.2}.kzfm-season-card>p{font-size:13px;line-height:1.5}.kzfm-season-link{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;margin-top:12px}.kzfm-season-notice,.kzfm-lineup-pending{background:var(--surface,#fff);border:1px solid #e8e4e3;border-radius:20px;padding:28px}.kzfm-season-notice>strong{display:block;font-size:26px;margin:10px 0}.kzfm-season-notice>p{max-width:640px;line-height:1.6;margin-bottom:20px}.kzfm-lineup-pending{font-weight:700;color:#666675}.gent-live-grid:has(.gent-live-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.kzfm-preview [data-kzfm-slug]{cursor:pointer}.kzfm-preview [data-kzfm-slug]:hover{outline:2px dashed #8cbca1!important;outline-offset:3px}.kzfm-detail-summary{font-size:15px;line-height:1.6;max-width:680px}
@media(max-width:1000px){.gent-live-grid:has(.gent-live-card:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.gent-live-grid:has(.gent-live-card:nth-child(4)){grid-template-columns:1fr}.kzfm-next-artist img{width:40px;height:40px;flex-basis:40px}.kzfm-next-artist b{font-size:14px}.kzfm-card-artist{grid-template-columns:34px minmax(0,1fr) auto;gap:8px}.kzfm-card-artist-photo{width:34px;height:34px;min-width:34px;max-width:34px}.kzfm-card-programme .kzfm-card-artist b,.kzfm-card-programme .kzfm-card-artist time{font-size:11px}.kzfm-season-notice{padding:22px}.kzfm-archive{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.festival-card.kzfm-upcoming,.festival-card.kzfm-ongoing{transition:none}}

.next-event .kzfm-next-image{width:100%;height:105px;object-fit:cover;border-radius:10px;margin:9px 0}
/* Reserve a full-width programme row in the original two-column hero badge. */
.next-event.kzfm-next-live{grid-template-areas:"label countdown" "city city" "meta meta" "artists artists" "price arrow"}.next-event .kzfm-next-artists,.next-event .kzfm-daily-empty{grid-area:artists;min-width:0;width:100%}.next-event .kzfm-next-artist small{grid-area:auto;overflow-wrap:normal}.next-event:has(.kzfm-next-image){grid-template-areas:"label countdown" "city city" "meta meta" "photo photo" "price arrow"}.next-event .kzfm-next-image{grid-area:photo}.next-event.kzfm-season-card{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:220px}.kzfm-season-card .kzfm-season-link{color:var(--rose,#f86c9f)}
/* 2.4.3 — compact live-artist card in the home hero. It deliberately contains only photo, name and stage time. */
.next-event.kzfm-next-live{grid-template-areas:"label countdown" "city city" "meta meta" "artists artists" "price arrow"}
.next-event .kzfg-spotlight-compact{grid-area:artists;display:grid;grid-template-columns:58px minmax(0,1fr);gap:11px;align-items:center;width:100%;min-width:0;margin:10px 0 4px;padding:9px;border:1px solid rgba(131,203,161,.72);border-radius:14px;background:rgba(240,250,244,.97);color:#17142b;box-shadow:0 8px 22px rgba(5,28,18,.08);overflow:hidden}
.next-event .kzfg-spotlight-compact>img{width:58px;height:58px;min-width:58px;max-width:58px;object-fit:cover;object-position:center;border-radius:10px;margin:0}
.next-event .kzfg-spotlight-compact>div{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;overflow:hidden}
.next-event .kzfg-spotlight-compact strong{display:block;min-width:0;margin:0;color:#17142b;font-size:15px;line-height:1.12;font-weight:850;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
.next-event .kzfg-spotlight-compact time{display:block;color:#35604a;font-size:12px;line-height:1.2;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:620px){.next-event .kzfg-spotlight-compact{grid-template-columns:52px minmax(0,1fr);gap:10px;padding:8px}.next-event .kzfg-spotlight-compact>img{width:52px;height:52px;min-width:52px;max-width:52px}.next-event .kzfg-spotlight-compact strong{font-size:14px}.next-event .kzfg-spotlight-compact time{font-size:11px}}
