/* Canonical global canvas and line system. Loaded after all legacy theme CSS. */
:root {
  --cdn-page-background: #fbfaf7;
  --cdn-page-background-image: none;
  --cdn-line: #d9d2c8;
  --cdn-line-strong: #b9afa3;
  --cdn-line-dark: #45413b;
  --cdn-heading-line: #a7202e;
  --font-body: "Manrope", sans-serif;
  --font-heading: "Manrope", sans-serif;
}

body,
button,
input,
select,
textarea,
.site-header,
.site-nav,
.site-footer {
  font-family: var(--font-body) !important;
}

:is(h1, h2, h3, h4, h5, h6),
.hero__title,
.section-title,
.page-hero__title,
.film-card__title,
.film-detail-hero__title,
.site-brand__title,
.button {
  font-family: var(--font-heading) !important;
}

html,
body {
  background-color: var(--cdn-page-background) !important;
  background-image: var(--cdn-page-background-image) !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: cover !important;
}

.site-shell,
.site-main,
.ccdn-builder-content,
.elementor,
.elementor-section-wrap,
.elementor-location-single,
.elementor-location-archive {
  background-color: transparent !important;
}

.site-main .section,
.site-main .section--muted,
.site-main .section--surface {
  background-color: transparent !important;
  background-image: none !important;
}

.elementor-widget[class*="elementor-widget-ccdn-"] ,
.elementor-widget[class*="elementor-widget-ccdn-"] > .elementor-widget-container,
.ccdn-ew-film-grid,
.ccdn-ew-hero,
.ccdn-ew-events-today,
.ccdn-ew-coming-soon,
.ccdn-ew-promo-banner,
.ccdn-ew-contact-cards,
.ccdn-ew-business-hero,
.ccdn-ew-service-cards,
.ccdn-ew-gallery-grid,
.ccdn-ew-menu-list,
.ccdn-ew-offers-grid,
.ccdn-ew-opening-hours,
.ccdn-ew-cta-banner,
.ccdn-ew-page-hero,
.ccdn-ew-image-text,
.ccdn-ew-editorial-split,
.ccdn-ew-facts-grid,
.ccdn-ew-download-list {
  background-color: transparent !important;
}

.ccdn-section-head .section-title::before,
.ccdn-ew-section-heading .section-title::before,
.film-detail-box > .section-title::before {
  background-color: var(--cdn-heading-line) !important;
}

.film-detail-description,
.film-detail-facts,
.empty-state,
.ccdn-ew-empty-state,
.ccdn-ew-contact-card,
.ccdn-ew-service-card,
.ccdn-ew-fact-card,
.ccdn-ew-download-card,
.ccdn-ew-offer-card,
.ccdn-ew-menu-list__item,
.ccdn-ew-opening-hours__row,
.ccdn-ew-promo-banner > .promo-banner__inner,
.ccdn-ew-editorial-split__inner {
  border-color: var(--cdn-line) !important;
}

.site-header,
.film-card,
.today-card,
.stage-card,
.destination-card,
.empty-state {
  border-color: var(--cdn-line) !important;
}

/* Canonical header: one typography and one spacing system across the site. */
.site-header {
  position: fixed !important;
  top: 0;
  right: 0;
  left: 0;
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  transition: background-color 240ms ease, border-color 240ms ease !important;
}

.site-header.is-scrolled {
  background: #fff !important;
  border-bottom-color: var(--cdn-line, #e8e3dc) !important;
}

.site-header__inner {
  display: flex;
  width: min(1320px, calc(100vw - 48px)) !important;
  min-height: 96px !important;
  gap: clamp(28px, 3vw, 52px) !important;
  align-items: center;
}

.site-brand {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  line-height: 0;
}

.site-header .site-brand__logo.site-brand__logo--header {
  width: 220px !important;
  height: auto;
  filter: none !important;
  transition: width 360ms cubic-bezier(0.22, 1, 0.36, 1), filter 240ms ease !important;
}

.site-header.is-scrolled .site-brand__logo.site-brand__logo--header {
  width: 188px !important;
  filter: invert(1) brightness(0.08) !important;
}

.site-nav {
  margin-left: auto;
  font-family: var(--font-body, "Manrope", sans-serif) !important;
}

.site-nav__standard,
.site-nav__fallback,
.site-nav .menu {
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(17px, 1.55vw, 28px) !important;
  align-items: center;
  justify-content: flex-end;
}

.site-nav a,
.site-nav__fallback a {
  min-height: 42px !important;
  padding: 10px 0 !important;
  color: #d6b06f !important;
  font-family: var(--font-body, "Manrope", sans-serif) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav__fallback a:hover,
.site-nav__fallback a:focus-visible {
  color: #fff !important;
  background: transparent !important;
}

.site-nav .current-menu-item > a,
.site-nav .current_page_item > a,
.site-nav__fallback a.is-active {
  color: #d6b06f !important;
  background: transparent !important;
}

.site-header.is-scrolled .site-nav a,
.site-header.is-scrolled .site-nav__fallback a {
  color: var(--cdn-text, #171512) !important;
}

.site-header.is-scrolled .site-nav a:hover,
.site-header.is-scrolled .site-nav a:focus-visible,
.site-header.is-scrolled .site-nav__fallback a:hover,
.site-header.is-scrolled .site-nav__fallback a:focus-visible,
.site-header.is-scrolled .site-nav .current-menu-item > a,
.site-header.is-scrolled .site-nav .current_page_item > a,
.site-header.is-scrolled .site-nav__fallback a.is-active {
  color: #d6b06f !important;
}

.site-nav a.site-header__cta,
.site-nav__fallback a.site-header__cta {
  min-height: 44px !important;
  padding: 11px 19px !important;
  color: #d6b06f !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: 1px solid #d6b06f !important;
  border-radius: 4px !important;
}

.site-nav a.site-header__cta:hover,
.site-nav a.site-header__cta:focus-visible,
.site-nav__fallback a.site-header__cta:hover,
.site-nav__fallback a.site-header__cta:focus-visible {
  color: #171512 !important;
  background: #d6b06f !important;
  border-color: #d6b06f !important;
}

.site-header.is-scrolled .site-nav a.site-header__cta,
.site-header.is-scrolled .site-nav__fallback a.site-header__cta {
  color: #fff !important;
  background: #141311 !important;
  border-color: #141311 !important;
}

.site-header.is-scrolled .site-nav a.site-header__cta:hover,
.site-header.is-scrolled .site-nav a.site-header__cta:focus-visible,
.site-header.is-scrolled .site-nav__fallback a.site-header__cta:hover,
.site-header.is-scrolled .site-nav__fallback a.site-header__cta:focus-visible {
  color: #171512 !important;
  background: #d6b06f !important;
  border-color: #d6b06f !important;
}

@media (max-width: 1080px) {
  body.nav-open {
    overflow: hidden !important;
  }

  body.nav-open .site-header {
    background: #fff !important;
    border-bottom-color: var(--cdn-line, #e8e3dc) !important;
  }

  body.nav-open .site-header .site-brand__logo.site-brand__logo--header {
    filter: invert(1) brightness(0.08) !important;
  }

  .site-header__inner {
    position: relative;
    z-index: 2;
    width: calc(100vw - 40px) !important;
    min-height: 88px !important;
  }

  .site-header .site-brand__logo.site-brand__logo--header {
    width: 202px !important;
  }

  .site-header.is-scrolled .site-brand__logo.site-brand__logo--header {
    width: 178px !important;
  }

  .site-nav {
    position: fixed !important;
    top: 88px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    background: #fff !important;
    border: 0 !important;
    min-height: calc(100dvh - 88px) !important;
    max-height: calc(100dvh - 88px) !important;
    padding: 24px 20px 32px !important;
    overflow-y: auto !important;
  }

  .site-nav.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .site-nav__standard,
  .site-nav__fallback,
  .site-nav .menu {
    flex-direction: column;
    gap: 2px !important;
    align-items: stretch;
    min-height: 100%;
    justify-content: center;
  }

  .site-nav a,
  .site-nav__fallback a {
    width: 100%;
    min-height: 48px !important;
    justify-content: center;
    padding: 12px 16px !important;
    font-size: 1.02rem !important;
    text-align: center;
    color: var(--cdn-text, #171512) !important;
  }

  .site-nav a:hover,
  .site-nav a:focus-visible,
  .site-nav__fallback a:hover,
  .site-nav__fallback a:focus-visible,
  .site-nav .current-menu-item > a,
  .site-nav .current_page_item > a,
  .site-nav__fallback a.is-active {
    color: #d6b06f !important;
  }

  .site-nav a.site-header__cta,
  .site-nav__fallback a.site-header__cta {
    color: #fff !important;
    background: #141311 !important;
    border-color: #141311 !important;
  }

  .site-header__toggle-bar {
    background: #d6b06f !important;
  }

  .site-header.is-scrolled .site-header__toggle-bar,
  body.nav-open .site-header__toggle-bar,
  .site-header__toggle[aria-expanded="true"] .site-header__toggle-bar {
    background: #171512 !important;
  }
}

@media (max-width: 680px) {
  .site-header__inner {
    width: calc(100vw - 32px) !important;
    min-height: 80px !important;
  }

  .site-header .site-brand__logo.site-brand__logo--header,
  .site-header.is-scrolled .site-brand__logo.site-brand__logo--header {
    width: 180px !important;
  }

  .site-nav {
    top: 80px !important;
    min-height: calc(100dvh - 80px) !important;
    max-height: calc(100dvh - 80px) !important;
    padding: 20px 16px 28px !important;
  }
}

.site-footer,
.site-footer__bottom,
.site-footer__contact {
  border-color: var(--cdn-line-dark) !important;
}

.screenings-list,
.screening-day,
.screening-day__title,
.screening-time,
.ccdn-ew-film-detail .screenings-list,
.ccdn-ew-film-detail .screening-day,
.ccdn-ew-film-detail .screening-day__title,
.ccdn-ew-film-detail .screening-time {
  border-color: var(--cdn-line-dark) !important;
}

/* The film backdrop starts behind the transparent header, without the internal-page white strip. */
body.ccdn-film-detail-page .site-main {
  padding-top: 0 !important;
}

body.ccdn-film-detail-page .film-detail-hero {
  margin-top: 0 !important;
}

body.ccdn-film-detail-page .film-detail-hero__inner {
  padding-top: calc(clamp(64px, 7vw, 104px) + 24px) !important;
}
