/* Shared geometry for the Tickets home page. Kept after legacy theme layers. */
body[data-route="home"] #route-outlet .home-page--template {
  width: min(1480px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 0 !important;
}
body[data-route="home"] #route-outlet .home-page--template .sponsor-stage {
  --promo-height: clamp(360px, 31vw, 470px);
  width: 100% !important;
  height: var(--promo-height) !important;
  min-height: 0 !important;
  margin: 0 !important;
}
body[data-route="home"] #route-outlet .home-page--template :is(.sponsor-stage__viewport, .sponsor-stage__track, .sponsor-slide, .sponsor-slide__image, .sponsor-slide__hit) {
  height: var(--promo-height) !important;
  min-height: 0 !important;
  max-height: none !important;
}
body[data-route="home"] #route-outlet .home-page--template .sponsor-stage__viewport {
  width: 100% !important;
  border-radius: 20px !important;
}
body[data-route="home"] #route-outlet .home-page--template .sponsor-slide__copy {
  left: 28px !important;
  right: 28px !important;
  bottom: 28px !important;
  width: min(740px, calc(100% - 56px)) !important;
  max-width: none !important;
  padding: 0 !important;
}
body[data-route="home"] #route-outlet .home-page--template .sponsor-slide__copy h2 {
  font-size: clamp(30px, 3.2vw, 46px) !important;
  line-height: 1.08 !important;
  margin: 0 0 8px !important;
}
body[data-route="home"] #route-outlet .home-page--template .sponsor-slide__copy p { margin: 0 0 12px !important; }
body[data-route="home"] #route-outlet .home-page--template .upcoming-section { margin-top: 0 !important; }
body[data-route="home"] #route-outlet .home-page--template .feed-section { padding-bottom: 0 !important; }
body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel {
  width: 100% !important;
  margin: 14px 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel .programme-calendar {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}
body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel .programme-calendar__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  height: auto !important;
  min-height: 34px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}
body[data-route="home"] #route-outlet .home-page--template [data-month-label] { font-size: 12px !important; line-height: 1.2 !important; }
.programme-calendar__tools { display: flex; align-items: center; gap: 8px; }
body[data-route="home"] #route-outlet .home-page--template .programme-calendar .range-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 10px !important;
  white-space: nowrap;
  font-size: 12px !important;
  border-radius: 10px !important;
}
body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel .day-rail {
  width: 100% !important;
  height: 76px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  gap: 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel .day-pill {
  flex: 0 0 64px !important;
  width: 64px !important;
  min-width: 64px !important;
  height: 68px !important;
  min-height: 68px !important;
  padding: 7px 3px !important;
  gap: 3px !important;
}
body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel .day-pill strong { font-size: 24px !important; line-height: 1 !important; }
body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel .day-pill :is(span, small) { font-size: 9px !important; line-height: 1.1 !important; }
body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel .mobile-home-filter-shell {
  display: flex !important;
  width: 100% !important;
  gap: 8px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  flex-wrap: wrap;
}
body[data-route="home"] #route-outlet .home-page--template .mobile-home-filter {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: auto !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #f1f3f5 !important;
  color: #20252b !important;
  font-size: 12px !important;
}
body[data-route="home"] #route-outlet .home-page--template .section-heading {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}
body[data-route="home"] #route-outlet .home-page--template :is(.culture-heading__main, .section-heading > div:first-child) { flex: 1; min-width: 0; }
body[data-route="home"] #route-outlet .home-page--template .heading-controls { position: static !important; display: flex !important; flex-direction: row !important; flex: 0 0 auto; width: auto !important; align-self: center !important; padding: 0 !important; margin: 0 !important; }
body[data-route="home"] #route-outlet .home-page--template .rail-controls { position: static !important; display: flex !important; align-items: center; gap: 7px; }
body[data-route="home"] #route-outlet .home-page--template .rail-controls .rail-arrow {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: #f1f3f5 !important;
  box-shadow: none !important;
}
body[data-route="home"] #route-outlet .home-page--template .programme-calendar .rail-arrow { width: 32px !important; height: 32px !important; min-width: 32px !important; }
body[data-route="home"] #route-outlet .home-page--template .section-heading__title-link { width: auto !important; padding: 0 !important; gap: 0 !important; }
body[data-route="home"] #route-outlet .home-page--template .culture-layout { grid-template-columns: minmax(0, 1fr) !important; }
body[data-route="home"] #route-outlet .home-page--template .culture-layout:has(.culture-people) { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) !important; }
@media (max-width: 760px) {
  body[data-route="home"] #route-outlet .home-page--template .section-heading .heading-controls,
  body[data-route="home"] #route-outlet .home-page--template .popular-choices .rail-controls,
  body[data-route="home"] #route-outlet .home-page--template .programme-calendar .rail-controls { display: none !important; }
  body[data-route="home"] #route-outlet .home-page--template { width: calc(100% - 32px) !important; }
  body[data-route="home"] #route-outlet .home-page--template .sponsor-stage { --promo-height: clamp(330px, 105vw, 440px); width: calc(100% + 32px) !important; margin-inline: -16px !important; }
  body[data-route="home"] #route-outlet .home-page--template .sponsor-stage__viewport { border-radius: 0 !important; }
  body[data-route="home"] #route-outlet .home-page--template .sponsor-slide__copy { left: 20px !important; right: 20px !important; bottom: 24px !important; width: calc(100% - 40px) !important; }
  body[data-route="home"] #route-outlet .home-page--template .sponsor-slide__copy h2 { font-size: clamp(26px, 7vw, 34px) !important; }
  body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel { margin: 10px 0 16px !important; }
  body[data-route="home"] #route-outlet .home-page--template .home-discovery-panel .day-pill { flex-basis: 56px !important; width: 56px !important; min-width: 56px !important; }
  body[data-route="home"] #route-outlet .home-page--template .culture-layout:has(.culture-people) { grid-template-columns: minmax(0, 1fr) !important; }
}
