/* Keep all Polish Theatre destinations visible without changing other section menus. */
.trw-section-nav[aria-label="Sekcja Teatr"] .trw-section-nav__viewport {
  overflow-x: visible;
  overflow-y: visible;
  touch-action: auto;
}

.trw-section-nav[aria-label="Sekcja Teatr"] .trw-section-nav__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  width: 100%;
  min-width: 0;
  gap: 8px 12px;
}

.trw-section-nav[aria-label="Sekcja Teatr"] .trw-section-nav__item {
  min-width: 0;
}

.trw-section-nav[aria-label="Sekcja Teatr"] .trw-section-nav__item:last-child {
  grid-column: span 2;
}

.trw-section-nav[aria-label="Sekcja Teatr"] .trw-section-nav__link {
  display: flex;
  width: 100%;
  min-width: 0;
  height: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (min-width: 1200px) {
  .trw-section-nav[aria-label="Sekcja Teatr"] .trw-section-nav__list {
    grid-template-columns:
      minmax(0, .85fr)
      minmax(0, 1.2fr)
      minmax(0, .75fr)
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, 1.15fr)
      minmax(0, 1.4fr);
  }

  .trw-section-nav[aria-label="Sekcja Teatr"] .trw-section-nav__item:last-child {
    grid-column: auto;
  }
}

@media (max-width: 767px) {
  .trw-section-nav[aria-label="Sekcja Teatr"] .trw-section-nav__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*
 * The Theatre landing hero is shared by the main Theatre page and by new
 * destinations created in Elementor. Own the complete component here so its
 * appearance does not depend on page-specific Elementor CSS.
 */
html body .e-con:has(> .tr-theatre-shared-page-shell) {
  padding: 0 !important;
}

html body .tr-theatre-shared-page-shell {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

html body .tr-theatre-shared-hero {
  --trw-theatre-header-offset: 60px;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-top: var(--trw-theatre-header-offset) !important;
  padding: 55px 0 0 !important;
  gap: 0 !important;
  overflow: visible !important;
  background: #eceae7 !important;
}

html body .tr-theatre-shared-hero > .e-con-inner,
html body .tr-theatre-shared-hero-inner > .e-con-inner {
  display: contents !important;
}

html body .tr-theatre-shared-hero-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 1224px !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 39px !important;
  gap: 0 !important;
}

html body .tr-theatre-shared-hero .elementor-widget-heading {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .tr-theatre-shared-hero .elementor-heading-title,
html body .tr-theatre-shared-hero h1 {
  margin: 0 !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: "Druk Text Wide Web", sans-serif !important;
  font-size: 70px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

html body .tr-theatre-shared-hero .elementor-widget-shortcode {
  padding-bottom: 0 !important;
  padding-top: 16px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* Keep linked programme headings on the Wyjazdy page consistently red. */
html body.page-id-60335 .entry-content .elementor-widget-text-editor h2 a {
  text-decoration-color: #ff0000 !important;
}

html body.admin-bar .tr-theatre-shared-hero {
  margin-top: calc(var(--trw-theatre-header-offset) - 32px) !important;
}

@media (min-width: 1280px) {
  html body .tr-theatre-shared-hero {
    --trw-theatre-header-offset: 120px;
  }
}

@media (max-width: 782px) {
  html body.admin-bar .tr-theatre-shared-hero {
    margin-top: calc(var(--trw-theatre-header-offset) - 46px) !important;
  }
}

@media (max-width: 767px) {
  html body .tr-theatre-shared-hero {
    padding-top: 36px !important;
  }

  html body .tr-theatre-shared-hero-inner {
    width: 100% !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  html body .tr-theatre-shared-hero .elementor-heading-title,
  html body .tr-theatre-shared-hero h1 {
    font-size: 34px !important;
    line-height: 1.23 !important;
  }
}
