/* SHYNE web interaction and typography overrides. Keep this file last in the cascade. */
.org-editor[open] { width: min(1080px, calc(100vw - 28px)); height: min(860px, calc(100dvh - 28px)); }
.org-editor, .org-editor * { scroll-behavior: auto !important; }
.org-editor__head { padding: 16px 52px 0 20px !important; }
.org-editor__head h2 { margin: 3px 0 5px !important; font-size: 20px !important; font-weight: 620 !important; }
.org-editor__draft-code { margin: 0 0 10px; color: #77808d; font-size: 11px; line-height: 1.3; }
.org-editor__draft-code strong { color: #3e4855; font-weight: 600; letter-spacing: .04em; }
.org-editor .org-editor__body { padding: 16px 20px 74px !important; }
.org-editor .org-editor__section { padding: 16px !important; border-radius: 8px !important; }
.org-editor input, .org-editor select, .org-editor textarea { font-size: 16px !important; transform: none !important; touch-action: manipulation; }
.org-editor .org-editor__actions { min-height: 56px; margin: 16px -20px -74px !important; padding: 9px 20px !important; }
.home-page--template .section-heading h2,
.home-page--template .section-heading__title-link,
.home-page--template .section-heading--controls h2,
.home-page--template .section-heading--action h2,
.home-page--template .theatre-programme .section-heading h2,
.section-heading h2 { font-weight: 600 !important; }
.home-page--template .event-card,
.home-page--template .event-card.event-card--tile,
.home-page--template .event-card.event-card--poster,
.home-page--template .event-card.event-card--theatre,
.home-page--template .event-card.event-card--workshop { border: 1px solid #e6ebf0 !important; border-radius: 8px !important; box-shadow: none !important; }
.home-page--template .event-card .event-card__copy h3,
.home-page--template .event-card.event-card--tile .event-card__copy h3,
.home-page--template .event-card.event-card--poster .event-card__copy h3,
.home-page--template .event-card.event-card--theatre .event-card__copy h3,
.home-page--template .event-card.event-card--workshop .event-card__copy h3 { font-weight: 520 !important; }
.home-page--template .event-card__copy, .home-page--template .event-card__meta, .home-page--template .event-card__bottom { font-weight: 450 !important; }
.home-page--template .event-card__media { border-radius: 8px !important; }
@media (max-width: 760px) {
  .org-editor[open] { width: 100vw; height: 100dvh; }
  .org-editor__head { padding: 11px 49px 0 13px !important; }
  .org-editor .org-editor__body { padding: 12px 13px calc(78px + env(safe-area-inset-bottom)) !important; }
  .org-editor .org-editor__section { padding: 13px !important; }
  .org-editor .org-editor__actions { margin: 12px -13px calc(-78px - env(safe-area-inset-bottom)) !important; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important; }
  .home-page--template .event-tile-grid .event-card,
  .home-page--template .poster-rail .event-card,
  .home-page--template .workshop-list .event-card,
  .home-page--template .theatre-grid .event-card { flex-basis: min(76vw, 280px) !important; width: min(76vw, 280px) !important; min-width: min(76vw, 280px) !important; max-width: 280px !important; }
  .home-page--template .event-card .event-card__copy h3 { font-size: 19px !important; font-weight: 520 !important; }
}

/* 2026-09-20 checkout payment parity: compact type, in-sheet progress and iOS-sized method rail. */
.checkout-layout--wizard,
.checkout-action-dock,
.checkout-payment-sheet {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Golos Text", "Segoe UI", sans-serif !important;
}

.checkout-layout--wizard .checkout-step-pill {
  font-size: 12px !important;
  font-weight: 600 !important;
}

.checkout-layout--wizard .checkout-step-pill.is-active span {
  transform: none !important;
}

.checkout-page--payment.focused-page {
  width: min(1120px, 100%) !important;
}

.checkout-page--payment .checkout-event-hero {
  height: min(560px, 66vh) !important;
  min-height: 440px !important;
}

.checkout-page--payment .checkout-event-hero__content {
  bottom: 126px !important;
}

.checkout-page--payment .checkout-event-hero__content h1 {
  font-weight: 650 !important;
}

.checkout-payment-topbar {
  inset: 18px 20px auto !important;
}

.checkout-payment-back {
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.checkout-payment-sheet {
  width: min(1040px, calc(100% - 28px)) !important;
  margin-top: -88px !important;
  padding: 12px clamp(20px, 3.4vw, 42px) 28px !important;
  border-radius: 24px 24px 8px 8px !important;
}

.checkout-payment-sheet__grabber {
  width: 38px !important;
  height: 4px !important;
  margin-bottom: 12px !important;
}

.checkout-payment-step-status {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px 18px;
  padding: 0 0 12px;
  color: #717a88;
}

.checkout-payment-step-status span {
  color: #171b24;
  font-size: 13px;
  font-weight: 600;
}

.checkout-payment-step-status small {
  font-size: 11px;
  font-weight: 500;
}

.checkout-payment-step-status i {
  grid-column: 1 / -1;
  height: 2px;
  overflow: hidden;
  border-radius: 2px;
  background: #e5e9ef;
}

.checkout-payment-step-status i::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--checkout-accent);
}

.checkout-payment-sheet__grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(285px, .55fr) !important;
  gap: clamp(26px, 4vw, 52px) !important;
}

.checkout-payment-section {
  padding: 16px 0 !important;
}

.checkout-payment-section > header {
  margin-bottom: 10px !important;
}

.checkout-payment-section h2 {
  font-size: 16px !important;
  font-weight: 600 !important;
}

.checkout-payment-section header button {
  font-size: 12px !important;
  font-weight: 600 !important;
}

.checkout-payment-order,
.checkout-payment-calculation {
  gap: 8px !important;
}

.checkout-payment-order > div,
.checkout-payment-calculation > div {
  font-size: 13px !important;
  font-weight: 400 !important;
}

.checkout-payment-order strong,
.checkout-payment-calculation strong,
.checkout-payment-buyer {
  font-weight: 550 !important;
}

.checkout-payment-section > p {
  font-size: 12px !important;
}

.checkout-payment-methods {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 118px !important;
  grid-template-columns: none !important;
  gap: 10px !important;
  max-width: 100% !important;
  padding: 1px 0 6px !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.checkout-payment-methods::-webkit-scrollbar {
  display: none;
}

.checkout-payment-method {
  width: 118px !important;
  min-width: 118px !important;
  min-height: 88px !important;
  height: 88px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 5px !important;
  padding: 10px !important;
  border-radius: 8px !important;
  scroll-snap-align: start;
}

.checkout-payment-method__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.checkout-payment-method__icon {
  width: 28px !important;
  height: 28px !important;
}

.checkout-payment-method__icon .icon {
  width: 15px !important;
  height: 15px !important;
}

.checkout-payment-method:has(input:checked) .checkout-payment-method__icon {
  background: var(--checkout-accent) !important;
  color: #fff !important;
}

.checkout-payment-method__head > i {
  width: 14px;
  height: 14px;
  border: 1.5px solid #c6ccd5;
  border-radius: 50%;
}

.checkout-payment-method:has(input:checked) .checkout-payment-method__head > i {
  border: 5px solid var(--checkout-accent);
}

.checkout-payment-method__copy {
  min-width: 0;
}

.checkout-payment-method strong {
  overflow: hidden;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.checkout-payment-method small {
  overflow: hidden;
  margin-top: 3px !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.checkout-payment-method > i {
  display: none !important;
}

.checkout-payment-calculation {
  padding: 16px 0 !important;
}

.checkout-payment-calculation .checkout-payment-total {
  padding-top: 14px !important;
  font-size: 16px !important;
}

.checkout-payment-calculation .checkout-payment-total strong {
  font-size: 23px !important;
  font-weight: 600 !important;
}

.checkout-payment-promo input,
.checkout-payment-promo button,
.checkout-payment-sheet__summary > .button--signal {
  font-family: inherit !important;
  font-weight: 600 !important;
}

.checkout-payment-consent {
  margin: 14px 0 12px !important;
  font-size: 11px !important;
}

@media (max-width: 860px) {
  .checkout-page--payment.focused-page {
    padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
  }

  .checkout-page--payment .checkout-event-hero {
    height: clamp(300px, 43svh, 360px) !important;
    min-height: 300px !important;
  }

  .checkout-page--payment .checkout-event-hero__content {
    right: 18px !important;
    bottom: 68px !important;
    left: 18px !important;
  }

  .checkout-page--payment .checkout-event-hero__content h1 {
    font-size: clamp(28px, 8.5vw, 38px) !important;
    line-height: 1 !important;
  }

  .checkout-payment-sheet {
    width: 100% !important;
    margin-top: -42px !important;
    padding: 10px 16px 24px !important;
    border-radius: 22px 22px 0 0 !important;
  }

  .checkout-payment-sheet__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  .checkout-payment-section {
    padding: 14px 0 !important;
  }

  .checkout-payment-section h2 {
    font-size: 16px !important;
  }

  .checkout-payment-methods {
    margin-right: -16px !important;
    padding-right: 16px !important;
  }
}

/* Shine Tickets visual weight pass. This layer intentionally stays last. */
.home-page--template,
.event-detail,
.checkout-page,
.tickets-page,
.orders-page {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.home-page--template .section-heading,
.home-page--template .feed-section,
.home-page--template .party-programme,
.home-page--template .concert-programme,
.home-page--template .workshop-programme,
.home-page--template .theatre-programme {
  border-width: 0 !important;
  box-shadow: none !important;
}

.home-page--template .section-heading h2,
.home-page--template .section-heading__title-link,
.home-page--template .culture-people__title,
.event-detail .detail-content h1,
.tickets-page .page-title h1,
.orders-page .page-title h1,
.checkout-page .checkout-heading h1,
.checkout-event-hero__content h1,
.ticket-entry-hero__content h1 {
  font-weight: 540 !important;
  letter-spacing: 0 !important;
}

.home-page--template .section-heading p,
.home-page--template .section-heading a,
.home-page--template .event-card__copy,
.home-page--template .event-card__meta,
.home-page--template .event-card__bottom,
.home-page--template .event-card__date,
.home-page--template .event-card__venue,
.event-detail,
.checkout-page,
.tickets-page,
.orders-page {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.home-page--template .event-card,
.search-result-grid .event-card,
.plans-section .event-card {
  border: 1px solid #e2e7ee !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

.home-page--template .event-card:hover,
.search-result-grid .event-card:hover,
.plans-section .event-card:hover {
  box-shadow: 0 10px 26px rgba(24, 31, 45, 0.06) !important;
}

.home-page--template .event-card__copy h3,
.search-result-grid .event-card__copy h3,
.plans-section .event-card__copy h3 {
  font-weight: 520 !important;
  letter-spacing: 0 !important;
}

.home-page--template .event-card__price,
.search-result-grid .event-card__price,
.plans-section .event-card__price,
.event-card__foot strong {
  font-weight: 560 !important;
}

.home-page--template .event-card__media,
.search-result-grid .event-card__media,
.plans-section .event-card__media {
  aspect-ratio: 364 / 243 !important;
  border-radius: 8px !important;
}

.home-page--template .event-card__image,
.search-result-grid .event-card__image,
.plans-section .event-card__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.checkout-event-hero__content > span,
.ticket-entry-hero__content p,
.ticket-entry-hero__facts span,
.ticket-entry-hero__share,
.checkout-ticket-panel__head > strong,
.checkout-step-card--tickets .ticket-type h3,
.checkout-step-card--tickets .ticket-type__price > strong,
.checkout-step-card--tickets .ticket-type p,
.order-summary--wizard h2,
.order-summary--wizard .summary-total strong,
.ticket-entry-card__body > strong,
.ticket-entry-card__price b,
.ticket-entry-card__link,
.wallet-ticket .wallet-ticket__body h2 {
  font-weight: 560 !important;
  letter-spacing: 0 !important;
}

.checkout-step-card--tickets .ticket-type,
.checkout-step-card--details,
.checkout-step-card--payment,
.order-summary--wizard,
.ticket-entry-card,
.wallet-ticket {
  border-radius: 8px !important;
  box-shadow: none !important;
}

.checkout-step-card--tickets .ticket-type.is-selected,
.checkout-page .checkout-summary-actions .button--signal {
  box-shadow: 0 8px 22px rgba(49, 87, 213, 0.12) !important;
}

@media (max-width: 760px) {
  .home-page--template .event-tile-grid .event-card,
  .home-page--template .poster-rail .event-card,
  .home-page--template .workshop-list .event-card,
  .home-page--template .theatre-grid .event-card {
    flex-basis: min(82vw, 312px) !important;
    width: min(82vw, 312px) !important;
    min-width: min(82vw, 312px) !important;
    max-width: 312px !important;
  }

  .home-page--template .event-card__copy h3,
  .search-result-grid .event-card__copy h3,
  .plans-section .event-card__copy h3 {
    font-size: 20px !important;
    font-weight: 500 !important;
  }

  .home-page--template .section-heading h2,
  .home-page--template .section-heading__title-link {
    font-weight: 520 !important;
  }
}

/* 2026-09-19 Tickets polish: frameless posters and one continuous event scene. */
.home-page--template .event-card,
.home-page--template .event-card.event-card--tile,
.home-page--template .event-card.event-card--poster,
.home-page--template .event-card.event-card--theatre,
.home-page--template .event-card.event-card--workshop,
.search-result-grid .event-card,
.plans-section .event-card {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.home-page--template .event-card:hover,
.search-result-grid .event-card:hover,
.plans-section .event-card:hover {
  box-shadow: none !important;
}

.home-page--template .event-card__media,
.home-page--template .event-card.event-card--tile .event-card__media,
.home-page--template .event-card.event-card--poster .event-card__media,
.home-page--template .event-card.event-card--theatre .event-card__media,
.home-page--template .event-card.event-card--workshop .event-card__media,
.search-result-grid .event-card__media,
.plans-section .event-card__media {
  aspect-ratio: 3 / 2 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f1f3f6 !important;
  box-shadow: none !important;
}

.home-page--template .event-card__image,
.search-result-grid .event-card__image,
.plans-section .event-card__image {
  object-fit: cover !important;
  transition: transform 220ms cubic-bezier(.2, .75, .3, 1) !important;
}

@media (hover: hover) {
  .home-page--template .event-card:hover .event-card__image,
  .search-result-grid .event-card:hover .event-card__image,
  .plans-section .event-card:hover .event-card__image {
    transform: scale(1.018) !important;
  }
}

.home-page--template .event-card__copy {
  padding-inline: 1px !important;
}

.home-page--template .section-heading h2,
.home-page--template .section-heading__title-link,
.home-page--template .culture-people__title {
  font-weight: 500 !important;
}

.home-page--template .section-heading__title-link .icon {
  opacity: .48;
}

.home-page--template .feed-section,
.home-page--template .party-programme,
.home-page--template .concert-programme,
.home-page--template .workshop-programme,
.home-page--template .theatre-programme {
  background: transparent !important;
}

.home-page--template .rail-arrow,
.home-page--template .heading-controls .rail-arrow {
  border: 0 !important;
  background: #f4f6f8 !important;
  box-shadow: none !important;
}

.event-detail .detail-stage {
  padding-bottom: 0 !important;
}

.event-detail .detail-hero {
  border: 0 !important;
  border-radius: 14px !important;
  background: #11131a !important;
  box-shadow: none !important;
}

.event-detail .detail-flow.page-frame {
  position: relative;
  z-index: 4;
  width: min(1440px, calc(100vw - 112px)) !important;
  max-width: min(1440px, calc(100vw - 112px)) !important;
  margin-top: -54px !important;
  padding: 20px 26px 56px !important;
  border-radius: 24px 24px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 -14px 40px rgba(18, 26, 39, .08) !important;
}

.event-detail .detail-facts {
  margin-top: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e8ebef !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.event-detail .detail-facts > div {
  min-height: 92px !important;
  border-color: #e8ebef !important;
}

.event-detail .detail-map iframe,
.event-detail .lineup-person__image,
.event-detail .gallery-card,
.event-detail .ticket-type {
  border-color: transparent !important;
}

.event-detail .detail-map iframe {
  border: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.event-detail .ticket-type {
  border-bottom: 1px solid #e8ebef !important;
  border-radius: 0 !important;
  background: transparent !important;
}

@media (min-width: 761px) {
  .home-page--template {
    --feed-card-width: 392px;
    --feed-card-media-height: 261px;
  }

  .home-page--template .event-tile-grid .event-card,
  .home-page--template .poster-rail .event-card,
  .home-page--template .workshop-list .event-card,
  .home-page--template .theatre-grid .event-card {
    flex: 0 0 var(--feed-card-width) !important;
    width: var(--feed-card-width) !important;
    min-width: var(--feed-card-width) !important;
    max-width: var(--feed-card-width) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .home-page--template .event-tile-grid .event-card__media,
  .home-page--template .poster-rail .event-card__media,
  .home-page--template .workshop-list .event-card__media,
  .home-page--template .theatre-grid .event-card__media {
    width: 100% !important;
    height: var(--feed-card-media-height) !important;
    min-height: var(--feed-card-media-height) !important;
    flex-basis: var(--feed-card-media-height) !important;
  }

  .home-page--template .event-card__copy {
    min-height: 112px !important;
    height: auto !important;
    padding-top: 11px !important;
  }

  .home-page--template .feed-section + .feed-section {
    margin-top: 42px !important;
  }
}

@media (max-width: 760px) {
  .home-page--template .event-tile-grid .event-card,
  .home-page--template .poster-rail .event-card,
  .home-page--template .workshop-list .event-card,
  .home-page--template .theatre-grid .event-card {
    flex-basis: min(86vw, 336px) !important;
    width: min(86vw, 336px) !important;
    min-width: min(86vw, 336px) !important;
    max-width: 336px !important;
  }

  .home-page--template .event-card__media,
  .home-page--template .event-card.event-card--tile .event-card__media,
  .home-page--template .event-card.event-card--poster .event-card__media,
  .home-page--template .event-card.event-card--theatre .event-card__media,
  .home-page--template .event-card.event-card--workshop .event-card__media {
    border-radius: 12px !important;
  }

  .home-page--template .section-heading h2,
  .home-page--template .section-heading__title-link {
    font-size: clamp(24px, 6.7vw, 28px) !important;
    font-weight: 500 !important;
  }

  .event-detail .detail-stage,
  .event-detail .detail-flow {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  .event-detail .detail-hero {
    aspect-ratio: 4 / 3 !important;
    border-radius: 14px !important;
  }

  .event-detail .detail-flow.page-frame {
    width: 100% !important;
    max-width: none !important;
    margin-top: -34px !important;
    padding: 14px 14px calc(96px + env(safe-area-inset-bottom)) !important;
    border-radius: 24px 24px 0 0 !important;
    box-shadow: 0 -10px 28px rgba(18, 26, 39, .07) !important;
  }

  .event-detail .detail-facts {
    margin-top: 0 !important;
  }

  .event-detail .detail-facts > div {
    min-height: 64px !important;
    padding: 11px 4px !important;
  }

  .event-detail .detail-map iframe {
    border-radius: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page--template .event-card__image,
  .search-result-grid .event-card__image,
  .plans-section .event-card__image {
    transition: none !important;
  }
}

/* Compact public feed rhythm: closer to the native Tickets app scale. */
.home-page--template .section-heading,
.home-page--template .section-heading--controls,
.home-page--template .section-heading--action {
  margin-bottom: 14px !important;
}

.home-page--template .section-heading h2,
.home-page--template .section-heading__title-link,
.home-page--template .section-heading--controls h2,
.home-page--template .section-heading--action h2,
.home-page--template .theatre-programme .section-heading h2 {
  font-size: clamp(22px, 2.6vw, 32px) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.home-page--template .section-heading p {
  margin-top: 5px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.toast-region {
  z-index: 2400 !important;
  top: max(88px, calc(72px + env(safe-area-inset-top))) !important;
  bottom: auto !important;
}

body[data-route="head"] .toast-region,
body[data-route="head-login"] .toast-region,
body[data-route="head-register"] .toast-region,
body[data-route="sell"] .toast-region {
  top: max(18px, env(safe-area-inset-top)) !important;
}

@media (max-width: 760px) {
  .toast-region {
    top: max(86px, calc(70px + env(safe-area-inset-top))) !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  input,
  select,
  textarea,
  .head-auth-form input,
  .head-auth-form select,
  .head-auth-form textarea,
  .org-editor input,
  .org-editor select,
  .org-editor textarea,
  .header-search input,
  .global-search input,
  .home-filter-search input,
  .search-field input,
  .promo-field input {
    font-size: 16px !important;
  }
}

@media (min-width: 761px) {
  .home-page--template .feed-section + .feed-section {
    margin-top: 34px !important;
  }
}

@media (max-width: 760px) {
  .home-page--template .section-heading,
  .home-page--template .section-heading--controls,
  .home-page--template .section-heading--action {
    margin-bottom: 10px !important;
  }

  .home-page--template .section-heading h2,
  .home-page--template .section-heading__title-link,
  .home-page--template .section-heading--controls h2,
  .home-page--template .section-heading--action h2,
  .home-page--template .theatre-programme .section-heading h2 {
    font-size: 22px !important;
  }
}

/* 2026-09-20 Tickets surface pass: full-bleed sponsor, sheet event page, compact people. */
.home-page--template .sponsor-stage {
  width: 100vw !important;
  margin: -8px calc(50% - 50vw) 36px !important;
}

.home-page--template .sponsor-stage__viewport,
.home-page--template .sponsor-slide,
.home-page--template .sponsor-slide__image {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.home-page--template .sponsor-stage__viewport {
  height: clamp(390px, 62vh, 660px) !important;
}

.home-page--template .sponsor-slide__copy {
  left: max(22px, calc((100vw - 1180px) / 2)) !important;
  bottom: clamp(28px, 7vh, 74px) !important;
  width: min(620px, calc(100vw - 44px)) !important;
}

.home-page--template .section-heading,
.home-page--template .section-heading--action,
.home-page--template .section-heading--controls {
  width: 100% !important;
  align-items: center !important;
}

.home-page--template .section-heading > div:first-child,
.home-page--template .section-heading h2 {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}

.home-page--template .section-heading__title-link {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) 30px !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
}

.home-page--template .section-heading__title-link .icon {
  justify-self: end !important;
  margin-left: 0 !important;
  opacity: .52 !important;
}

.event-detail.focused-page {
  width: 100% !important;
  max-width: none !important;
  overflow: clip !important;
  background: #fff !important;
}

.event-detail .detail-stage.page-frame {
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 0 !important;
}

.event-detail .detail-stage > .back-link {
  position: absolute !important;
  z-index: 8 !important;
  top: max(18px, calc(env(safe-area-inset-top) + 12px)) !important;
  left: max(18px, calc((100vw - 1180px) / 2)) !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(10, 12, 16, .42) !important;
  color: #fff !important;
  backdrop-filter: blur(12px) !important;
}

.event-detail .detail-hero {
  width: 100vw !important;
  height: min(82vh, 820px) !important;
  min-height: 520px !important;
  border-radius: 0 !important;
}

.event-detail .detail-hero__copy {
  left: max(22px, calc((100vw - 1180px) / 2)) !important;
  right: max(22px, calc((100vw - 1180px) / 2)) !important;
  bottom: clamp(96px, 16vh, 170px) !important;
}

.event-detail .detail-flow.page-frame {
  position: relative !important;
  z-index: 6 !important;
  width: 100vw !important;
  max-width: none !important;
  margin: -96px calc(50% - 50vw) 0 !important;
  padding: 28px max(22px, calc((100vw - 1180px) / 2)) 72px !important;
  border: 0 !important;
  border-radius: 34px 34px 0 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-radius 160ms ease !important;
}

.event-detail.is-sheet-pinned .detail-flow.page-frame {
  border-radius: 0 !important;
}

.event-detail .detail-facts {
  gap: 0 !important;
  border-top: 0 !important;
}

.event-detail .detail-lineup .lineup-rail {
  align-items: stretch !important;
  gap: 10px !important;
}

.event-detail .lineup-person {
  flex: 0 0 clamp(112px, 14vw, 154px) !important;
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.event-detail .lineup-person__image {
  aspect-ratio: 4 / 5 !important;
  border-radius: 10px !important;
}

.event-detail .lineup-person > div {
  padding: 8px 1px 0 !important;
}

.event-detail .lineup-person h3 {
  margin-bottom: 3px !important;
  font-size: 13px !important;
  line-height: 1.18 !important;
  font-weight: 560 !important;
}

.event-detail .lineup-person p {
  margin-bottom: 0 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

.event-detail .lineup-person__badge {
  display: none !important;
}

@media (max-width: 760px) {
  .home-page--template .sponsor-stage {
    margin-top: -6px !important;
    margin-bottom: 28px !important;
  }

  .home-page--template .sponsor-stage__viewport {
    height: min(74vh, 540px) !important;
  }

  .home-page--template .section-heading__title-link {
    grid-template-columns: minmax(0, 1fr) 24px !important;
  }

  .event-detail .detail-hero {
    min-height: 430px !important;
    height: min(70vh, 560px) !important;
  }

  .event-detail .detail-hero__copy {
    bottom: 86px !important;
  }

  .event-detail .detail-flow.page-frame {
    margin-top: -74px !important;
    padding: 18px 14px calc(98px + env(safe-area-inset-bottom)) !important;
    border-radius: 28px 28px 0 0 !important;
  }

  .event-detail.is-sheet-pinned .detail-flow.page-frame {
    border-radius: 0 !important;
  }

  .event-detail .lineup-person {
    flex-basis: 108px !important;
  }
}

/* 2026-09-20 Event and checkout structure pass. */
.event-detail.focused-page {
  --event-content-max: 1180px;
  --event-hero-height: clamp(360px, 56svh, 620px);
  --event-sheet-overlap: clamp(124px, 18svh, 190px);
  width: 100vw !important;
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  overflow: visible !important;
  background: #fff !important;
}

.event-detail .detail-stage.page-frame {
  position: sticky !important;
  top: 0 !important;
  z-index: 0 !important;
  width: 100vw !important;
  height: var(--event-hero-height) !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.event-detail .detail-hero {
  width: 100vw !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}

.event-detail .detail-hero__copy {
  bottom: calc(var(--event-sheet-overlap) + 22px) !important;
}

.event-detail .detail-hero__copy h1 {
  font-size: clamp(42px, 8vw, 108px) !important;
  line-height: .92 !important;
  letter-spacing: 0 !important;
}

.event-detail .detail-flow.page-frame {
  position: relative !important;
  z-index: 6 !important;
  width: 100vw !important;
  max-width: none !important;
  margin: calc(var(--event-sheet-overlap) * -1) 0 0 !important;
  padding: 24px 0 calc(84px + env(safe-area-inset-bottom)) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 34px 34px 0 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.event-detail.is-sheet-pinned .detail-flow.page-frame {
  border-radius: 0 !important;
}

.event-detail .detail-flow > * {
  box-sizing: border-box !important;
  width: min(var(--event-content-max), calc(100vw - 44px)) !important;
  max-width: calc(100vw - 44px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.event-detail .detail-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  border: 0 !important;
  border-bottom: 1px solid #e8ebef !important;
}

.event-detail .detail-facts > div {
  min-height: 86px !important;
  padding: 18px 14px !important;
}

.event-detail .detail-copy,
.event-detail .detail-lineup,
.event-detail .detail-gallery,
.event-detail .ticket-preview,
.event-detail .detail-map {
  margin-top: 42px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

.event-detail .detail-copy {
  max-width: min(900px, calc(100vw - 44px)) !important;
}

.event-detail .detail-copy .detail-lead {
  font-size: clamp(23px, 3.2vw, 36px) !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
}

.event-detail .detail-copy p {
  font-size: 17px !important;
  line-height: 1.58 !important;
}

.event-detail .detail-map {
  display: grid !important;
  gap: 14px !important;
  overflow: hidden !important;
}

.event-detail .detail-map__head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-width: 0 !important;
}

.event-detail .detail-map__head > div {
  min-width: 0 !important;
}

.event-detail .detail-map__head .button {
  flex: 0 0 auto !important;
}

.event-detail .detail-map iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(240px, 34vw, 390px) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #eef2f7 !important;
}

.event-detail .detail-lineup .lineup-rail {
  gap: 14px !important;
  padding-bottom: 4px !important;
}

.event-detail .lineup-person {
  flex: 0 0 clamp(138px, 15vw, 176px) !important;
}

.event-detail .lineup-person__image {
  aspect-ratio: 1 / 1 !important;
  border-radius: 12px !important;
}

.event-detail .lineup-person > div {
  padding: 8px 0 0 !important;
}

.event-detail .lineup-person h3 {
  font-size: 13px !important;
  line-height: 1.18 !important;
}

.event-detail .lineup-person p {
  font-size: 11px !important;
}

.event-detail .ticket-preview .ticket-type-list,
.checkout-step-card--tickets .ticket-type-list {
  border-top: 0 !important;
}

.event-detail .ticket-preview .ticket-type {
  min-height: 70px !important;
  padding: 12px 0 !important;
  gap: 14px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
}

.event-detail .ticket-preview .ticket-type h3 {
  font-size: 16px !important;
}

.event-detail .ticket-preview .ticket-type__price {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.event-detail .ticket-preview .ticket-type__price strong {
  font-size: 16px !important;
}

.home-page--template .sponsor-stage,
.home-page--template .sponsor-stage__viewport,
.home-page--template .sponsor-slide,
.home-page--template .sponsor-slide__image {
  border-radius: 0 !important;
}

.checkout-page:not(.checkout-page--payment).focused-page {
  width: 100vw !important;
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  padding: 0 0 calc(92px + env(safe-area-inset-bottom)) !important;
  overflow-x: hidden !important;
  background: #fff !important;
}

.checkout-page:not(.checkout-page--payment) .checkout-event-hero {
  height: clamp(170px, 26svh, 300px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.checkout-page:not(.checkout-page--payment) .checkout-event-hero__content {
  bottom: 30px !important;
}

.checkout-page:not(.checkout-page--payment) .checkout-event-hero__content h1 {
  font-size: clamp(26px, 4.8vw, 46px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.checkout-layout--wizard {
  position: relative !important;
  z-index: 5 !important;
  width: min(1120px, calc(100vw - 36px)) !important;
  max-width: none !important;
  margin: -28px auto 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 320px) !important;
  gap: 16px !important;
  align-items: start !important;
}

.checkout-flow {
  min-width: 0 !important;
}

.checkout-step-nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin-bottom: 10px !important;
}

.checkout-step-pill {
  min-height: 36px !important;
  padding: 6px 8px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
}

.checkout-step-pill span {
  width: 22px !important;
  height: 22px !important;
}

.checkout-step-card--tickets,
.checkout-step-card--details {
  padding: 14px !important;
  border: 1px solid #e7ebf0 !important;
  border-radius: 18px !important;
  background: #fff !important;
}

.checkout-step-card--tickets {
  padding: 12px 0 !important;
  overflow: hidden !important;
  border-color: #edf1f5 !important;
  box-shadow: none !important;
}

.checkout-ticket-panel__head,
.checkout-step-card__head {
  margin-bottom: 10px !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.checkout-step-card--tickets .checkout-ticket-panel__head {
  padding: 0 14px !important;
}

.checkout-ticket-panel__head h2,
.checkout-step-card__head h2 {
  font-size: 20px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.checkout-ticket-panel__head p,
.checkout-step-card__head p {
  margin-top: 3px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}

.checkout-step-card--tickets .ticket-type {
  min-height: 58px !important;
  padding: 10px 14px !important;
  gap: 10px !important;
  grid-template-columns: 20px minmax(0, 1fr) auto !important;
  align-items: center !important;
  border: 0 !important;
  border-top: 1px solid #edf1f5 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.checkout-step-card--tickets .ticket-type:last-child {
  border-bottom: 0 !important;
}

.checkout-step-card--tickets .ticket-type.is-selected {
  border-color: #dfeaff !important;
  background: #f8fbff !important;
  box-shadow: none !important;
}

.checkout-step-card--tickets .ticket-type__copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

.checkout-step-card--tickets .ticket-type__title-row {
  margin-bottom: 2px !important;
}

.checkout-step-card--tickets .ticket-type h3 {
  font-size: 14px !important;
  line-height: 1.15 !important;
}

.checkout-step-card--tickets .ticket-type p {
  font-size: 11px !important;
  line-height: 1.2 !important;
}

.checkout-step-card--tickets .ticket-type__price {
  grid-column: 3 !important;
  grid-row: 1 !important;
  min-width: 112px !important;
  display: grid !important;
  justify-items: end !important;
  gap: 8px !important;
}

.checkout-step-card--tickets .ticket-type__price strong {
  font-size: 14px !important;
  white-space: nowrap !important;
}

.checkout-step-card--tickets .ticket-type__choice {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 18px !important;
  height: 18px !important;
}

.checkout-step-card--tickets .stepper {
  grid-template-columns: 32px 30px 32px !important;
  border-radius: 10px !important;
}

.checkout-step-card--tickets .stepper button {
  width: 32px !important;
  height: 34px !important;
  font-size: 18px !important;
}

.checkout-step-card--tickets .stepper output {
  font-size: 13px !important;
}

.order-summary--wizard {
  top: 84px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
}

.order-summary--wizard h2 {
  font-size: 21px !important;
  line-height: 1.1 !important;
}

.order-summary--wizard .summary-lines {
  min-height: 44px !important;
  padding: 12px 0 !important;
}

.order-summary--wizard .summary-total {
  padding: 12px 0 !important;
}

.order-summary--wizard .summary-total strong {
  font-size: 22px !important;
}

.checkout-summary-actions {
  display: grid !important;
  gap: 8px !important;
}

.checkout-action-dock {
  position: fixed !important;
  right: max(12px, env(safe-area-inset-right)) !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important;
  left: max(12px, env(safe-area-inset-left)) !important;
  z-index: 2200 !important;
  min-height: 66px !important;
  padding: 9px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(154px, auto) !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid rgba(226, 231, 238, .9) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 12px 34px rgba(20, 28, 42, .14) !important;
  backdrop-filter: blur(18px) !important;
}

.checkout-action-dock > div {
  min-width: 0 !important;
  padding-left: 8px !important;
  display: grid !important;
  gap: 2px !important;
}

.checkout-action-dock span {
  color: #667280 !important;
  font-size: 12px !important;
}

.checkout-action-dock strong {
  font-size: 22px !important;
  line-height: 1 !important;
}

.checkout-action-dock .button {
  min-height: 48px !important;
  padding-inline: 18px !important;
  border-radius: 15px !important;
}

@media (min-width: 961px) {
  .checkout-action-dock {
    right: calc((100vw - min(1120px, calc(100vw - 36px))) / 2) !important;
    left: calc((100vw - min(1120px, calc(100vw - 36px))) / 2) !important;
  }
}

@media (max-width: 860px) {
  .event-detail.focused-page {
    --event-hero-height: clamp(305px, 48svh, 430px);
    --event-sheet-overlap: 118px;
  }

  .event-detail .detail-hero__copy {
    bottom: calc(var(--event-sheet-overlap) + 16px) !important;
  }

  .event-detail .detail-hero__copy h1 {
    font-size: clamp(34px, 11vw, 56px) !important;
  }

  .event-detail .detail-flow.page-frame {
    padding-top: 18px !important;
    border-radius: 28px 28px 0 0 !important;
  }

  .event-detail .detail-flow > * {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  .event-detail .detail-facts {
    grid-template-columns: 1fr !important;
  }

  .event-detail .detail-facts > div {
    min-height: 64px !important;
    padding: 13px 2px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #eef1f5 !important;
  }

  .event-detail .detail-facts > div:last-child {
    border-bottom: 0 !important;
  }

  .event-detail .detail-map__head {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .event-detail .detail-map__head .button {
    width: 100% !important;
    justify-content: center !important;
  }

  .event-detail .detail-map iframe {
    height: 245px !important;
    border-radius: 14px !important;
  }

  .event-detail .lineup-person {
    flex-basis: 124px !important;
  }

  .event-detail .ticket-preview .ticket-type {
    min-height: 62px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  .event-detail .ticket-preview .ticket-type__select {
    min-height: 32px !important;
    padding-inline: 10px !important;
    font-size: 10.5px !important;
    white-space: nowrap !important;
  }

  .event-detail .ticket-preview .ticket-type__price {
    min-width: 0 !important;
    gap: 8px !important;
  }

  .checkout-page:not(.checkout-page--payment) .checkout-event-hero {
    height: 130px !important;
  }

  .checkout-page:not(.checkout-page--payment) .checkout-event-hero__content {
    bottom: 18px !important;
  }

  .checkout-page:not(.checkout-page--payment) .checkout-event-hero__content h1 {
    font-size: 25px !important;
  }

  .checkout-layout--wizard {
    width: calc(100vw - 20px) !important;
    margin-top: -14px !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .checkout-step-card--tickets,
  .checkout-step-card--details {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .checkout-step-card--tickets {
    padding: 10px 0 !important;
  }

  .checkout-step-card--tickets .checkout-ticket-panel__head {
    padding: 0 12px !important;
  }

  .order-summary--wizard {
    display: none !important;
  }

  .checkout-step-card--tickets .ticket-type {
    min-height: 54px !important;
    padding: 8px 12px !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }

  .checkout-step-card--tickets .ticket-type h3 {
    font-size: 13px !important;
  }

  .checkout-step-card--tickets .ticket-type p {
    font-size: 10.5px !important;
  }

  .checkout-step-card--tickets .ticket-type__price {
    min-width: 104px !important;
    display: grid !important;
    justify-items: end !important;
    gap: 6px !important;
  }

  .checkout-step-card--tickets .ticket-type__price strong {
    font-size: 13px !important;
  }

  .checkout-action-dock {
    grid-template-columns: minmax(0, 1fr) minmax(132px, 42vw) !important;
    min-height: 56px !important;
    padding: 7px !important;
    border-radius: 18px !important;
  }

  .checkout-action-dock strong {
    font-size: 20px !important;
  }

  .checkout-action-dock .button {
    min-height: 42px !important;
    padding-inline: 12px !important;
  }
}

/* 2026-09-20 mobile QA correction: no side gutter on posters, wider lineup cards. */
@media (max-width: 860px) {
  body.is-focused #route-outlet {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .event-detail.focused-page,
  .checkout-page:not(.checkout-page--payment).focused-page {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .event-detail .detail-stage.page-frame,
  .event-detail .detail-hero,
  .checkout-page:not(.checkout-page--payment) .checkout-event-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .event-detail .detail-lineup .lineup-rail {
    gap: 12px !important;
  }

  .event-detail .lineup-person {
    flex: 0 0 clamp(156px, 44vw, 184px) !important;
    width: clamp(156px, 44vw, 184px) !important;
  }

  .event-detail .lineup-person__image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 10px !important;
  }

  .event-detail .lineup-person h3 {
    font-size: 12.5px !important;
  }

  .event-detail .lineup-person p {
    font-size: 10.5px !important;
  }
}

/* 2026-09-20 mobile event/checkout repair after device QA. */
@media (max-width: 860px) {
  .event-detail.focused-page {
    --event-hero-height: clamp(420px, 58svh, 520px);
    --event-sheet-overlap: 88px;
  }

  .event-detail .detail-hero__copy {
    right: 18px !important;
    bottom: calc(var(--event-sheet-overlap) + 18px) !important;
    left: 18px !important;
  }

  .event-detail .detail-hero__copy h1 {
    max-width: 100% !important;
    font-size: clamp(38px, 12vw, 58px) !important;
    line-height: .94 !important;
  }

  .event-detail .detail-copy .detail-lead {
    font-size: 19px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
  }

  .event-detail .detail-copy p {
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
  }

  .event-detail .detail-lineup .lineup-rail {
    gap: 12px !important;
  }

  .event-detail .lineup-person {
    flex: 0 0 clamp(118px, 34vw, 136px) !important;
    width: clamp(118px, 34vw, 136px) !important;
  }

  .event-detail .lineup-person__image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
    border-radius: 10px !important;
    object-fit: cover !important;
  }

  .event-detail .lineup-person > div {
    padding-top: 7px !important;
  }

  .event-detail .lineup-person h3 {
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  .event-detail .lineup-person p {
    font-size: 10.5px !important;
    font-weight: 400 !important;
  }

  .checkout-page:not(.checkout-page--payment).focused-page {
    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
  }

  .checkout-page:not(.checkout-page--payment) .checkout-event-hero {
    height: clamp(260px, 39svh, 330px) !important;
  }

  .checkout-page:not(.checkout-page--payment) .checkout-event-hero__content {
    right: 18px !important;
    bottom: 42px !important;
    left: 18px !important;
  }

  .checkout-page:not(.checkout-page--payment) .checkout-event-hero__content h1 {
    font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1 !important;
  }

  .checkout-layout--wizard {
    margin-top: 0 !important;
  }

  .checkout-step-card--tickets .ticket-type {
    min-height: 70px !important;
    padding: 10px 12px !important;
  }

  .checkout-step-card--tickets .ticket-type h3 {
    font-size: 14px !important;
  }

  .checkout-step-card--tickets .ticket-type p {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

}

/* 2026-09-20 single-ticket pass: one compact vertical page and a direct download. */
.ticket-download-page {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  padding: 32px 22px;
  background: #fff;
  color: #0b0d10;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}

.ticket-download-page__mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid #dce3ec;
  border-radius: 50%;
  color: #2d68c4;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
}

.ticket-download-page h1 {
  margin: 8px 0 0;
  font-size: 24px;
  line-height: 1.14;
  font-weight: 650;
  letter-spacing: 0;
}

.ticket-download-page p {
  max-width: 320px;
  margin: 0;
  color: #6d7686;
  font-size: 14px;
  line-height: 1.45;
}

.ticket-pass-page {
  min-height: 100dvh;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 12px;
  padding: 28px 18px 48px;
  background: #f3f6fb;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}

.ticket-pass-page__back {
  width: min(360px, 100%);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #4d596b;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
}

.ticket-pass-page__back .icon {
  width: 18px;
  height: 18px;
}

.ticket-pass-card {
  width: min(360px, 100%);
  overflow: hidden;
  border: 1px solid #dce3ec;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 54px rgba(24, 43, 78, .09);
}

.ticket-pass-card__poster {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: #244fbd;
}

.ticket-pass-card__poster::after {
  content: "";
  position: absolute;
  inset: 38% 0 0;
  background: linear-gradient(180deg, transparent, rgba(4, 9, 20, .68));
}

.ticket-pass-card__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ticket-pass-card__poster > span {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 15px;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.4px;
}

.ticket-pass-card__body {
  padding: 20px 22px 22px;
}

.ticket-pass-card__type {
  color: #6f7b8d;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.ticket-pass-card h1 {
  margin: 8px 0 9px;
  color: #0b0d10;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: 0;
}

.ticket-pass-card__body > p {
  margin: 3px 0 0;
  color: #6f7b8d;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}

.ticket-pass-card__qr {
  display: grid;
  justify-items: center;
  padding: 20px 0 16px;
}

.ticket-pass-card__qr .admission-qr {
  width: 176px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.ticket-pass-card__qr > strong {
  margin-top: 9px;
  font-size: 12px;
  font-weight: 600;
}

.ticket-pass-card__qr > small {
  margin-top: 2px;
  color: #8a94a5;
  font-size: 10px;
}

.ticket-pass-card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid #e7ebf0;
  color: #6f7b8d;
  font-size: 11px;
}

.ticket-pass-card__row strong {
  color: #0b0d10;
  font-weight: 600;
  text-align: right;
}

.ticket-pass-card__download {
  width: 100%;
  min-height: 44px;
  margin-top: 12px;
  border-radius: 8px !important;
  font-size: 13px;
  font-weight: 600;
}

.ticket-pass-card__download .icon {
  width: 17px;
  height: 17px;
}

.ticket-pass-card .ticket-pass-card__note {
  margin-top: 12px;
  color: #8a94a5;
  font-size: 10px;
  line-height: 1.45;
  text-align: center;
}

@media (max-width: 520px) {
  .ticket-pass-page {
    padding: max(14px, env(safe-area-inset-top)) 10px calc(28px + env(safe-area-inset-bottom));
  }

  .ticket-pass-page__back {
    padding-inline: 4px;
  }

  .ticket-pass-card {
    border-radius: 10px;
  }
}

@media (max-width: 760px) {
  .home-page--template .home-discovery-panel .mobile-home-filter-shell {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    width: calc(100% - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  .home-page--template .home-discovery-panel .mobile-home-filter-shell::-webkit-scrollbar {
    display: none !important;
  }

  .home-page--template .home-discovery-panel .mobile-home-filter {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 28px) !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  .home-page--template .home-discovery-panel .mobile-home-filter > span {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
}
