/* Compact, centered festival selection. Each animated group occupies one continuous line. */
.abbpf .af-selection{--af-line:var(--af-selection-line,#363636);padding-block:40px 20px;background:var(--af-selection-bg,#080808);color:var(--af-selection-ink,#ffffff);border-bottom-color:var(--af-selection-line,#363636)}
.abbpf .af-selection h2,.abbpf .af-selection h3,.abbpf .af-selection p{color:inherit}
.abbpf .af-selection a,.abbpf .af-selection a:visited,.abbpf .af-selection a:hover,.abbpf .af-selection a:focus{color:var(--af-selection-ink,#ffffff)}
.abbpf .af-selection a:focus-visible,.abbpf .af-selection button:focus-visible{outline:2px solid var(--af-selection-ink,#ffffff);outline-offset:3px}
.abbpf .af-selection-heading{text-align:center;margin:0 auto 32px;padding-block:12px 8px}
.abbpf .af-selection-festival{font-family:var(--af-heading-font);font-size:clamp(28px,3.5vw,44px);line-height:1.15;margin:0 auto 10px}
.abbpf .af-selection-dates{font-family:var(--af-body-font);font-size:15px;line-height:1.5;margin:0 auto 26px}
.abbpf .af-selection-heading>.af-section-title{font-size:min(var(--af-day-size),32px);text-align:center;margin:0 auto}
.abbpf .af-selection-intro{text-align:center;margin:18px auto 0}
.abbpf .af-selection-group{padding:24px 0 28px;border-top:1px solid var(--af-line)}
.abbpf .af-selection-group+.af-selection-group{margin-top:0}
.abbpf .af-selection-group-head{position:relative;display:flex;justify-content:center;align-items:center;min-height:30px;margin-bottom:16px;text-align:center}
.abbpf .af-selection-group-head h3{font-family:var(--af-body-font);font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.13em;text-transform:uppercase}
.abbpf .af-selection-name,.abbpf .af-selection-grid .af-selection-name{font-size:var(--af-selection-title-size,22px);line-height:1.35}
.abbpf .af-selection-list a{padding-block:14px}
.abbpf .af-selection-credits{font-size:12px;line-height:1.55;margin-top:6px}
.abbpf .af-selection-horizontal .af-selection-list li,.abbpf .af-selection-grid .af-selection-list li,.abbpf .af-selection-vertical .af-selection-list li{border-top:0}
.abbpf .af-selection-grid .af-selection-list,.abbpf .af-selection-horizontal .af-selection-list{row-gap:10px}
.abbpf .af-selection-vertical .af-selection-list li+li{border-top:1px solid var(--af-line)}
.abbpf .af-ticker-actions{position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);z-index:2}
.abbpf .af-ticker-actions[hidden]{display:none!important}
.abbpf .af-ticker-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:0;background:var(--af-selection-bg,#080808);color:var(--af-selection-ink,#ffffff);font-family:var(--af-body-font);font-size:11px;line-height:1.4;cursor:pointer}
.abbpf .af-ticker-toggle::before{content:"";width:7px;height:9px;border-inline:2px solid currentColor;flex:none}
.abbpf .af-ticker-toggle[aria-pressed="true"]::before{width:0;height:0;border:5px solid transparent;border-inline-start:7px solid currentColor;border-inline-end:0}
.abbpf .af-ticker-toggle:hover{text-decoration:underline;text-underline-offset:4px}
.abbpf .af-ticker-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.abbpf .af-ticker-pause-visible .af-selection-group-head{padding-inline:150px}
/* The default control is reachable by Tab, but appears only with keyboard focus. */
.abbpf .af-ticker-pause-focus .af-ticker-toggle:not(:focus-visible){position:absolute;inset-inline-end:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.abbpf .af-selection-carousel .af-selection-list{display:flex;flex-wrap:nowrap;align-items:center;gap:28px;width:100%;max-width:100%;margin:0;padding:4px 2px 12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.abbpf .af-selection-carousel .af-selection-list::-webkit-scrollbar{display:none;width:0;height:0}
.abbpf .af-selection-carousel .af-selection-list li{display:flex;align-items:center;gap:28px;flex:0 0 auto;min-width:0;max-width:none;margin:0;padding:0;border-top:0;scroll-snap-align:none}
.abbpf .af-selection-carousel .af-selection-list li::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--af-selection-dot,#ffffff);flex:none}
.abbpf .af-selection-carousel .af-selection-list a{display:block;padding:12px 0;white-space:nowrap}
.abbpf .af-selection-carousel .af-selection-name{display:block;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:var(--af-selection-title-size,22px);line-height:1.35}
.abbpf .af-selection-carousel .af-selection-list.af-ticker-dragging,.abbpf .af-selection-carousel .af-selection-list.af-ticker-dragging a{cursor:grabbing;user-select:none}
@container(max-width:760px){
 .abbpf .af-selection{padding-block:30px 12px}
 .abbpf .af-selection-heading{margin-bottom:26px;padding-block:8px 4px}
 .abbpf .af-selection-festival{font-size:32px}
 .abbpf .af-selection-dates{font-size:14px;margin-bottom:22px}
 .abbpf .af-selection-heading>.af-section-title{font-size:min(var(--af-day-size),28px)}
 .abbpf .af-selection-group{padding-block:20px 24px}
 .abbpf .af-selection-group-head{min-height:24px;margin-bottom:10px}
 .abbpf .af-selection-group-head h3{font-size:11px;letter-spacing:.1em}
 .abbpf .af-ticker-pause-visible .af-selection-group-head{flex-direction:column;gap:6px;padding-inline:0}
 .abbpf .af-ticker-pause-visible .af-ticker-actions{position:static;transform:none}
 .abbpf .af-selection-name,.abbpf .af-selection-grid .af-selection-name,.abbpf .af-selection-carousel .af-selection-name{font-size:min(var(--af-selection-title-size,22px),22px)}
 .abbpf .af-selection-carousel .af-selection-list,.abbpf .af-selection-carousel .af-selection-list li{gap:22px}
}
@media print{
 .abbpf .af-selection{--af-selection-bg:#fff;--af-selection-ink:#000;--af-selection-line:#777;--af-selection-dot:#000}
 .abbpf .af-ticker-actions,.abbpf [data-af-ticker-copy]{display:none!important}
 .abbpf .af-selection-carousel .af-selection-list{display:flex;flex-wrap:wrap;overflow:visible;gap:12px 24px;padding:0}
 .abbpf .af-selection-carousel .af-selection-list a,.abbpf .af-selection-carousel .af-selection-name{white-space:normal}
}

/* Desktop compactness is an editor choice; keep phone sizing and touch targets. */
@container(min-width:761px){
 .abbpf.abbpf-selection-compact .af-selection{padding-block:20px 12px}
 .abbpf.abbpf-selection-compact .af-selection-heading{margin-bottom:12px;padding-block:0}
 .abbpf.abbpf-selection-compact .af-selection-festival{font-size:32px;margin-bottom:6px}
 .abbpf.abbpf-selection-compact .af-selection-dates{font-size:14px;margin-bottom:12px}
 .abbpf.abbpf-selection-compact .af-selection-heading>.af-section-title{font-size:min(var(--af-day-size),26px)}
 .abbpf.abbpf-selection-compact .af-selection-group{padding-block:10px 12px}
 .abbpf.abbpf-selection-compact .af-selection-group-head{min-height:20px;margin-bottom:4px}
 .abbpf.abbpf-selection-compact .af-selection-list{padding-block:0}
 .abbpf.abbpf-selection-compact .af-selection-list a{padding-block:8px;min-height:44px;box-sizing:border-box}
}
