/* Apply semantic colors after the component sheets. Public pages receive these
   variables from the shared server-side HTML decorator. */
html[data-website-theme]{background:var(--site-background);color:var(--site-text)}
html[data-website-theme] body{background-color:var(--site-background);color:var(--site-text)}
html[data-website-theme] body :where(a:not([class])){color:var(--site-accent-link)}
html[data-website-theme] body :where(input,select,textarea){accent-color:var(--site-accent)}
html[data-website-theme] :focus-visible{outline-color:var(--site-accent-link)}
html[data-website-theme] body:is(.webeyt-public-brand,.site-preview,.wb-hall-page) > header:is(.wb-unified-header,.wb-site-header,.site-header){
 --wb-accent-rgb:var(--site-accent-rgb);
 --wb-accent:var(--site-accent);
 --wb-accent-pale:var(--site-on-brand-accent);
 background:var(--site-brand)!important;
 color:var(--site-on-brand)!important;
 border-color:color-mix(in srgb,var(--site-on-brand) 24%,transparent)!important;
}
html[data-website-theme] body.webeyt-public-brand > header.wb-unified-header.wb-site-header:is(.open,.wb-menu-open),
html[data-website-theme] body.webeyt-public-brand.wb-page-scrolled > header.wb-unified-header.wb-site-header:not(.open):not(.wb-menu-open),
html[data-website-theme] body.wb-hall-page.webeyt-public-brand.wb-page-scrolled > header.wb-unified-header.wb-site-header:not(.open):not(.wb-menu-open){
 background:var(--site-brand)!important;
}
html[data-website-theme] body > header:is(.wb-unified-header,.wb-site-header,.site-header)::before,
html[data-website-theme] body > header:is(.wb-unified-header,.wb-site-header,.site-header)::after{
 background:transparent!important;
}
html[data-website-theme] body > header :is(.wb-menu-toggle,.site-menu),
html[data-website-theme] body #wb-public-navigation a,
html[data-website-theme] body #site-nav a{
 color:var(--site-on-brand)!important;
}
html[data-website-theme] body :is(#wb-public-navigation,#site-nav) a:is(:hover,:focus-visible,.wb-nav-current,[aria-current=page]){
 color:var(--site-on-brand-accent)!important;
 outline-color:var(--site-on-brand-accent)!important;
}
html[data-website-theme] body :is(#wb-public-navigation,#site-nav) a::before{background:var(--site-on-brand-accent);box-shadow:none}
html[data-website-theme] header img:is([src*="logo-white"],[src*="logo-transparent"]){filter:var(--site-logo-filter)}
html[data-website-theme] body :is(#webeyt-legal,footer.site-footer){
 background:var(--site-brand)!important;color:var(--site-on-brand)!important;
}
html[data-website-theme] body :is(#webeyt-legal,footer.site-footer) a{color:var(--site-on-brand-accent)!important}
html[data-website-theme] body :is(.primary,.hall-button.primary,.site-button.primary,.room-primary,.wb-room-primary):not([disabled]){
 background:var(--site-accent)!important;color:var(--site-on-accent)!important;border-color:var(--site-accent)!important;
}
html[data-website-theme] body :is(.hall-setup-schwarz,.hall-immersive,.hall-hero-controls,.hall-lightbox){
 background-color:var(--site-brand)!important;color:var(--site-on-brand)!important;
}
html[data-website-theme] body .hall-setup-schwarz .hall-setup-copy :is(h2,p){color:var(--site-on-brand)}
html[data-website-theme] body .hall-setup-schwarz :is(.hall-kicker,.hall-setup-open,.hall-setup-play){color:var(--site-on-brand-accent)}

/* A solid brand surface keeps navigation readable over every hero and while scrolling. */
html[data-website-theme] body > header:has(:is(#wb-public-navigation,#site-nav)){
 background:var(--site-brand)!important;
 color:var(--site-on-brand)!important;
}
html[data-website-theme] body > header:has(:is(#wb-public-navigation,#site-nav))::before,
html[data-website-theme] body > header:has(:is(#wb-public-navigation,#site-nav))::after{
 background:none!important;
}
html[data-website-theme] body > header:has(:is(#wb-public-navigation,#site-nav)) :is(.wb-menu-toggle,.site-menu){
 color:var(--site-on-brand)!important;
 border-color:color-mix(in srgb,var(--site-on-brand) 50%,transparent)!important;
}

/* Components that build their styles or markup after page load. */
html[data-website-theme] body :is(.rb-primary,.registration-submit,.hh-launch,.rb-auth-form>button[data-password]){
 background:var(--site-accent)!important;
 color:var(--site-on-accent)!important;
 border-color:var(--site-accent)!important;
}
html[data-website-theme] body :is(.rb-calendar-grid button[aria-pressed=true],.rb-repeat-options button[aria-pressed=true],.rb-auth-tabs button[aria-pressed=true],.rb-time-dialog button[aria-pressed=true],.rb-account-line button[data-view][aria-pressed=true]){
 background:var(--site-brand)!important;
 color:var(--site-on-brand)!important;
 border-color:var(--site-brand)!important;
}
html[data-website-theme] body :is(.rb-account-buttons,.customer-auth-actions) :is([data-login-view],[data-register-view]){
 color:var(--site-accent-link);
 background:var(--site-tint);
 border-color:var(--site-border);
}
html[data-website-theme] body.wb-kino-readable :is(.event-information,.event-enrolment,.kino-info-grid>section,.contact-section){
 color:var(--site-text);background:var(--site-surface);border-color:var(--site-border);
}
html[data-website-theme] body.wb-kino-readable :is(.kino-month-note,.kino-participation-note,.kino-event-facts>p,.registration-choice,.contact-choice){
 color:var(--site-text);background:var(--site-tint);border-color:var(--site-border);
}
html[data-website-theme] body.wb-kino-readable :is(.kino-story h2,.kino-story .kino-story-lead,.kino-mobile-intro h1,.kino-signup-head h2,.kino-month-note strong,.kino-info-title,.kino-info-grid h4,.contact-section h3,.event-enrolment label,.event-enrolment legend){
 color:var(--site-text);
}
html[data-website-theme] body.wb-kino-readable :is(.kino-story p,.kino-month-note p,.kino-info-grid p,.kino-event-facts small){
 color:var(--site-muted);
}
html[data-website-theme] body.wb-kino-readable :is(.kino-story h2 em,.kino-story-kicker,.kino-month-mark,.kino-info-number,.event-enrolment .consent a){
 color:var(--site-accent-link);
}
html[data-website-theme] body :is(.hh-dialog,.public-seat-dialog){
 color:var(--site-text);background:var(--site-surface);border-color:var(--site-border);
}
html[data-website-theme] body :is(.hh-heading,.hh-dialog .hh-controls){
 background:var(--site-tint)!important;border-color:var(--site-border);
}
html[data-website-theme] body .hh-launch small{color:inherit}
html[data-website-theme] body :is(.wb-content-film,.wb-content-dialog,.hall-lightbox-bar,.hall-gallery-count){
 color:var(--site-on-brand);background:var(--site-brand);
}

/* The image-led pages keep an overlay navigation until the first scroll. */
html[data-website-theme][data-hero-header] body:not(.wb-page-scrolled)>header:has(:is(#wb-public-navigation,#site-nav)):not(.open):not(.wb-menu-open):not(.scrolled){
 background:transparent!important;
 box-shadow:none!important;
 border-color:transparent!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}
html[data-website-theme][data-hero-header] body:not(.wb-page-scrolled)>header:has(:is(#wb-public-navigation,#site-nav)):not(.open):not(.wb-menu-open):not(.scrolled)::before{
 background:linear-gradient(to bottom,#0f111668,transparent)!important;
}
html[data-website-theme][data-hero-header] body:not(.wb-page-scrolled)>header:has(:is(#wb-public-navigation,#site-nav)):not(.open):not(.wb-menu-open):not(.scrolled) :is(nav a,.wb-menu-toggle,.site-menu){
 color:#fff!important;
 text-shadow:0 1px 8px #000b;
}
html[data-website-theme][data-hero-header] body:not(.wb-page-scrolled)>header:has(:is(#wb-public-navigation,#site-nav)):not(.open):not(.wb-menu-open):not(.scrolled) img{
 filter:none;
}

/* One card design for the home and offers lists, including the first render. */
html[data-website-theme] .event-cards .polished-card{
 background:var(--site-surface);
 border:1px solid var(--site-border);
 color:var(--site-text);
 font-family:inherit;
}
html[data-website-theme] .event-cards .polished-card .event-card-body{
 padding:clamp(17px,2vw,24px)!important;
}
html[data-website-theme] .event-cards .polished-card .card-tags{
 display:flex;align-items:center;flex-wrap:wrap;gap:6px;
}
html[data-website-theme] .event-cards .polished-card .card-tags :is(.category-label,.class-label){
 display:inline-flex;align-items:center;min-height:26px;margin:0;padding:3px 9px;
 font-family:inherit;font-size:12px;font-weight:650;line-height:1.4;
 letter-spacing:0;text-transform:none;
 border:1px solid var(--site-border);border-radius:100px;
 background:var(--site-tint);color:var(--site-text);
}
html[data-website-theme] .event-cards .polished-card .event-card-body h2{
 min-height:0;margin:12px 0 8px;
 font-family:inherit;font-size:clamp(19px,1.8vw,23px);font-weight:700;
 line-height:1.22;letter-spacing:-.025em;
 color:var(--site-text);
 -webkit-line-clamp:unset;
}
html[data-website-theme] .event-cards .polished-card .event-card-body h2 :is(a,button){
 color:inherit;font:inherit;letter-spacing:inherit;
}
html[data-website-theme] .event-cards .polished-card .event-card-body .recurrence-text{
 min-height:2.9em;font-family:inherit;font-size:13px;line-height:1.45;
 color:var(--site-muted);
}
html[data-website-theme] .event-cards .polished-card .event-card-actions{
 margin-top:auto;padding-top:14px;
}
html[data-website-theme] .event-cards .polished-card .event-card-actions :is(a,button){
 font-family:inherit;font-size:13px;font-weight:650;min-height:44px;
}
html[data-website-theme] .event-cards .polished-card .event-card-actions :is(a,button):not(.primary):not(:disabled){
 color:var(--site-accent-link);border-color:var(--site-border);
}

html[data-website-theme] #community .event-cards{
 gap:24px;
 align-items:stretch;
}
html[data-website-theme] #community .event-cards>.polished-card{
 width:100%;
 height:auto!important;
 align-self:stretch;
 max-width:none;
 min-width:0;
 margin:0;
 box-sizing:border-box;
}

html[data-website-theme] .event-cards>.polished-card[data-offer-status=sold_out] .card-image :is(img,video){
 filter:grayscale(1);
}
html[data-website-theme] .event-cards>.polished-card[data-offer-status=sold_out] .v216-ribbon{
 background:#b51f2ed1;
 color:#fff;
}

html[data-website-theme] #community .portal-home-hero .hero-copy{
 position:relative;
 z-index:2;
}
html[data-website-theme] #community .portal-home-hero .hero-copy>.eyebrow{
 color:color-mix(in srgb,var(--site-on-brand-accent) 58%,white)!important;
 opacity:1;
 text-shadow:0 1px 8px #000b;
}

/* Table QR guest header */
html[data-table-guest] .guest-head{
 position:sticky;
 top:0;
 z-index:12;
 flex-direction:row;
 align-items:center;
 margin-inline:-20px;
 padding:calc(10px + env(safe-area-inset-top, 0px)) 20px 10px;
 background:var(--site-brand);
 color:var(--site-on-brand);
 border-color:color-mix(in srgb,var(--site-on-brand) 24%,transparent);
}
html[data-table-guest] .guest-table-title{
 color:inherit;
 font-size:clamp(1.25rem,5vw,2rem);
 min-width:0;
 margin:0;
}
html[data-table-guest] .guest-header-logo{
 display:block;
 flex:none;
 width:clamp(82px,26vw,116px);
 height:34px;
 object-fit:contain;
 object-position:right center;
}
