/* Compact preview calendar. The supplied dots are decorative and never cover interactions. */
.abbpf .af-previews-compact{position:relative;isolation:isolate;background:#fff;padding:var(--af-preview-padding) var(--af-padding);border:0}
.abbpf .af-previews-compact::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--af-preview-texture,none);background-size:max(100%,var(--af-texture-scale,1200px)) auto;background-position:center;background-repeat:no-repeat;opacity:var(--af-texture-opacity,.55)}
.abbpf .af-previews-compact>.af-section-title{margin:0 0 14px;font-size:clamp(24px,2.7vw,38px);text-align:var(--af-heading-align,center)}
.abbpf .af-preview-intro-row{display:flex;justify-content:var(--af-meta-justify,center);align-items:center;flex-wrap:wrap;gap:12px 22px;margin:0 0 18px}
.abbpf .af-preview-intro-row .af-preview-free{margin:0}
.abbpf .af-previews-compact .af-button{margin:0;min-height:40px;padding:10px 20px;background:var(--af-preview-button);border-color:var(--af-preview-button);color:var(--af-preview-button-ink);font-size:14px}
.abbpf .af-previews-compact .af-preview-calendar{gap:18px 30px;margin:0;align-items:start}
.abbpf .af-previews-compact .af-preview-item{padding:14px 0 0;min-width:0;border-color:rgba(0,0,0,.25);text-align:var(--af-heading-align,center)}
.abbpf .af-previews-compact .af-calendar-date{font-size:clamp(25px,2.5vw,36px);line-height:1.1;margin:0 0 10px}
.abbpf .af-previews-compact .af-preview-meta{display:flex;justify-content:var(--af-meta-justify,center);flex-wrap:wrap;gap:4px 10px;font-size:13px;line-height:1.3;margin-bottom:10px}
.abbpf .af-previews-compact .af-preview-meta p{margin:0}
.abbpf .af-previews-compact .af-calendar-films{margin:0;padding:0;font-size:clamp(19px,1.7vw,25px);line-height:1.15;gap:0}
.abbpf .af-previews-compact .af-calendar-films li{margin:0;font-size:inherit;line-height:inherit}
.abbpf-headings-center{--af-heading-align:center;--af-meta-justify:center}
.abbpf-headings-left{--af-heading-align:left;--af-meta-justify:flex-start}
.abbpf-headings-right{--af-heading-align:right;--af-meta-justify:flex-end}
.abbpf .af-event-copy>h3,.abbpf .af-film-copy>h4,.abbpf .af-film-page-head>h1,.abbpf .af-film-copy>h1,.abbpf .af-event-copy>.af-tags,.abbpf .af-event-copy>.af-credits,.abbpf .af-event-copy>.af-guests,.abbpf .af-event-copy>.af-venue,.abbpf .af-film-copy>.af-credits,.abbpf .af-film-copy>.af-tags,.abbpf .af-technical-heading{text-align:var(--af-heading-align,center)}
.abbpf .af-event-copy>.af-venue{justify-content:var(--af-meta-justify,center)}
.abbpf-text-justify .af-details>div,.abbpf-text-justify .af-description{text-align:justify;hyphens:auto;overflow-wrap:break-word}
.abbpf-text-left .af-details>div,.abbpf-text-left .af-description{text-align:left}
.abbpf-text-center .af-details>div,.abbpf-text-center .af-description{text-align:center}
.abbpf-uniform-images .af-event-image,.abbpf-uniform-images .af-film-image,.abbpf-uniform-images .af-film-page-image{aspect-ratio:var(--af-image-ratio,16/9);overflow:hidden;background:var(--af-surface);height:auto}
.abbpf-uniform-images .af-event-image img,.abbpf-uniform-images .af-film-image img,.abbpf-uniform-images .af-film-page-image img{display:block;width:100%;height:100%;aspect-ratio:var(--af-image-ratio,16/9);object-fit:var(--af-image-fit,cover);max-height:none}
.abbpf .af-technical-inline{line-height:1.55}
.abbpf .af-credit-line{font-size:var(--af-info-size);text-align:var(--af-heading-align,center)}
.abbpf .af-credit-item{display:inline}
.abbpf .af-credit-viewport{scrollbar-width:none}
.abbpf .af-credit-viewport::-webkit-scrollbar{display:none;width:0;height:0}
.abbpf .af-credit-disclosure>summary{text-align:var(--af-heading-align,center)}
@container(max-width:760px){
 .abbpf .af-previews-compact{padding:20px var(--af-mobile-inset)}
 .abbpf .af-previews-compact .af-preview-calendar{grid-template-columns:1fr;gap:12px}
 .abbpf .af-previews-compact .af-preview-item{display:grid;grid-template-columns:105px minmax(0,1fr);gap:4px 12px;align-items:center;padding-top:12px;text-align:left}
 .abbpf .af-previews-compact .af-calendar-date{grid-row:1/3;margin:0;font-size:25px}
 .abbpf .af-previews-compact .af-preview-meta{justify-content:flex-start;font-size:12px;margin:0}
 .abbpf .af-previews-compact .af-calendar-films{font-size:19px}
 .abbpf .af-previews-compact>.af-section-title{font-size:27px}
 .abbpf .af-preview-intro-row{gap:8px 14px;margin-bottom:14px}
 .abbpf .af-previews-compact .af-button{min-height:40px;padding:9px 15px}
 .abbpf .af-credit-line{line-height:1.6}
}
@media print{.abbpf .af-previews-compact::before{display:none}.abbpf .af-credit-viewport{overflow:visible}.abbpf .af-credit-row{white-space:normal}}

.abbpf .af-schedule>.af-section-title,.abbpf .af-partner-group>h2{text-align:var(--af-heading-align,center)}

.abbpf .af-previews-compact .af-preview-item{position:relative}
.abbpf .af-preview-film-anchor{position:absolute;top:0;left:0;width:0;height:0;overflow:hidden}

/* Event alignment is independent from selection and section headings. */
.abbpf-events-left .af-day-events,.abbpf-events-left.abbpf-film-page{--af-heading-align:left;--af-meta-justify:flex-start;text-align:left}
.abbpf-events-center .af-day-events,.abbpf-events-center.abbpf-film-page{--af-heading-align:center;--af-meta-justify:center;text-align:center}
.abbpf-events-right .af-day-events,.abbpf-events-right.abbpf-film-page{--af-heading-align:right;--af-meta-justify:flex-end;text-align:right}
.abbpf .af-day-events .af-time,.abbpf .af-day-events .af-details>summary,.abbpf .af-day-events .af-access{text-align:var(--af-heading-align,left)}
.abbpf .af-previews-compact .af-calendar-date{transition:color .18s ease}
.abbpf .af-previews-compact .af-preview-item:hover .af-calendar-date,.abbpf .af-previews-compact .af-preview-item:focus-within .af-calendar-date{color:var(--af-preview-hover,#0055ff)}
@media(prefers-reduced-motion:reduce){.abbpf .af-previews-compact .af-calendar-date{transition:none}}

/* A round booking dot and accessible full-card links, without repeated visible buttons. */
.abbpf .af-previews-compact .af-preview-cta-circle{display:inline-grid;place-items:center;flex:none;width:var(--af-preview-cta-size,88px);height:var(--af-preview-cta-size,88px);min-height:0;aspect-ratio:1;border-radius:50%;padding:12px;text-align:center;line-height:1.15;box-sizing:border-box;white-space:normal}
.abbpf .af-preview-cta-circle .af-preview-cta-label{display:block;max-width:62px;overflow-wrap:break-word}
.abbpf .af-previews-compact .af-preview-card-link{position:absolute;inset:0;z-index:2;display:block;border-radius:var(--af-radius);color:inherit}
.abbpf .af-previews-compact .af-preview-card-link:focus-visible{outline:3px solid var(--af-preview-hover,#0055ff);outline-offset:5px}
@container(max-width:760px){.abbpf .af-previews-compact .af-preview-cta-circle{padding:12px;min-height:0}}
