/*
 * TicketsFest Україна Theme — Mobile Polish Layer
 * v9.9.48
 * Purpose: final responsive corrections for theme pages without changing desktop design.
 */

@media (max-width: 1024px) {
  :root { --tfe-pad: 18px; }

  html, body,
  #page, #content, .site-content,
  .tfe-page-wrapper, .tfe-events-page, .tfv-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .tfe-container,
  .tfe-layout,
  .tfe-events-featured-section,
  .tfe-events-archive-section,
  .tfe-events-seo-block,
  .tfv-container,
  .footer-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .tfe-layout,
  .tfe-single-layout,
  .tfe-hero__content,
  .tfv-hero__grid,
  .tfv-form-shell,
  .tfe-c-grid,
  .tfe-core-grid-2,
  .tfe-core-grid-3,
  .tfe-contact-panel {
    grid-template-columns: 1fr !important;
  }

  .tfe-hero,
  .tfe-events-hero,
  .tfv-hero {
    min-height: auto !important;
    padding-top: clamp(92px, 12vw, 132px) !important;
    padding-bottom: clamp(44px, 8vw, 76px) !important;
  }

  .tfe-hero__content,
  .tfe-events-hero .tfe-hero__content,
  .tfv-hero__grid {
    gap: 24px !important;
    align-items: start !important;
  }

  .tfe-hero-title,
  .tfe-events-hero h1,
  .tfv-hero h1 {
    font-size: clamp(34px, 8vw, 58px) !important;
    line-height: .98 !important;
    letter-spacing: -0.055em !important;
    max-width: 100% !important;
  }

  .tfe-hero-desc,
  .tfe-events-hero p,
  .tfv-hero p,
  .tfv-section-lead {
    font-size: 15px !important;
    line-height: 1.62 !important;
    max-width: 100% !important;
  }

  .tfe-hero .tfe-poster {
    width: min(100%, 420px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .tfe-artists-grid,
  .tfe-tours-grid,
  .tfe-events-grid,
  .tfe-grid,
  .tfe-info-grid,
  .tfe-stats-grid,
  .tfv-grid-3,
  .tfv-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .tfe-toolbar,
  .tfe-search-form,
  .tfe-sub-form,
  .tfe-hero-actions,
  .tfe-events-hero-actions,
  .tfe-actions,
  .tfe-secondary-actions,
  .tfv-actions {
    flex-wrap: wrap !important;
  }

  .tfe-filter-pills,
  .tfe-events-popular-links,
  .tfe-events-active-filters,
  .tfe-meta-row,
  .tfe-hero-meta {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    flex-wrap: nowrap !important;
    padding-bottom: 4px !important;
  }
  .tfe-filter-pills::-webkit-scrollbar,
  .tfe-events-popular-links::-webkit-scrollbar,
  .tfe-events-active-filters::-webkit-scrollbar,
  .tfe-meta-row::-webkit-scrollbar,
  .tfe-hero-meta::-webkit-scrollbar { display: none !important; }

  .tfe-filter-pill,
  .tfe-events-filter-chip,
  .tfe-events-popular-links a,
  .tfe-meta-pill,
  .tfe-meta-item,
  .tfv-btn,
  .tfe-btn {
    white-space: nowrap !important;
  }
}

@media (max-width: 768px) {
  :root { --tfe-pad: 16px; }

  body { font-size: 15px; }

  .tfe-header-wrap {
    top: calc(10px + env(safe-area-inset-top)) !important;
    width: calc(100% - 20px) !important;
    min-height: 58px !important;
    border-radius: 22px !important;
  }

  .tfe-logo-text { font-size: 19px !important; max-width: 58vw !important; }
  .tfe-burger { min-width: 44px !important; min-height: 44px !important; }

  .tfe-mobile-drawer,
  .tfe-mobile-menu,
  .tfe-mobile-nav {
    max-height: calc(100dvh - 84px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .tfe-container,
  .tfe-layout,
  .tfe-events-featured-section,
  .tfe-events-archive-section,
  .tfe-events-seo-block,
  .tfv-container,
  .footer-wrapper {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .tfe-hero,
  .tfe-events-hero,
  .tfv-hero {
    padding-top: calc(86px + env(safe-area-inset-top)) !important;
    padding-bottom: 42px !important;
    border-radius: 0 0 28px 28px !important;
  }

  .tfe-hero-badge,
  .tfv-eyebrow,
  .tfe-events-archive-kicker {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .tfe-hero-title,
  .tfe-events-hero h1,
  .tfv-hero h1 {
    font-size: clamp(31px, 10vw, 44px) !important;
    line-height: 1.02 !important;
  }

  .tfe-section,
  .tfe-core-card,
  .tfv-card,
  .tfv-hero-card,
  .tfe-events-seo-block__inner,
  .tfe-card {
    border-radius: 22px !important;
    padding: 20px !important;
  }

  .tfe-section-title,
  .tfe-section-heading,
  .tfe-events-section-head h2,
  .tfv-section-head h2 {
    font-size: clamp(23px, 7vw, 32px) !important;
    line-height: 1.08 !important;
  }

  .tfe-artists-grid,
  .tfe-tours-grid,
  .tfe-events-grid,
  .tfe-grid,
  .tfe-info-grid,
  .tfe-stats-grid,
  .tfv-grid-3,
  .tfv-grid-4,
  .tfe-c-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .tfe-card-item,
  .tfe-artist-card,
  .tfe-tour-card,
  .tfe-event-card,
  .tfv-card,
  .tfe-info-card,
  .tfe-stat-box,
  .tfe-card {
    width: 100% !important;
    min-width: 0 !important;
  }

  .tfe-toolbar,
  .tfe-search-form,
  .tfe-sub-form,
  .tfe-hero-actions,
  .tfe-events-hero-actions,
  .tfe-actions,
  .tfe-secondary-actions,
  .tfv-actions,
  .tfv-form-shell {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .tfe-btn,
  .tfe-btn-book,
  .tfe-btn-view,
  .tfe-btn--buy,
  .tfe-btn--primary,
  .tfe-btn--outline,
  .tfv-btn,
  .tfe-search-btn,
  .tfe-clear-btn,
  .tfe-sub-btn {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .tfe-search-input,
  .tfe-sub-input,
  .tfe-input,
  .tfe-bk-input,
  .tfv-form input,
  .tfv-form select,
  .tfv-form textarea,
  .tfv-field input,
  .tfv-field select,
  .tfv-field textarea {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 16px !important;
  }

  .tfe-sub-widget,
  .tfe-core-cta,
  .tfv-share {
    display: block !important;
    text-align: left !important;
  }

  .tfe-sub-widget-text,
  .tfe-sub-form {
    width: 100% !important;
    max-width: 100% !important;
  }

  .tfe-single-layout,
  .tfe-layout {
    gap: 20px !important;
  }

  .tfe-timer-buy-wrap,
  .tfe-timer {
    width: 100% !important;
  }

  .tfe-timer {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .tfe-timer-sep { display: none !important; }
  .tfe-timer-box { padding: 9px 6px !important; min-width: 0 !important; }
  .tfe-timer-val { font-size: 18px !important; }
  .tfe-timer-lbl { font-size: 9px !important; }

  .tfe-spotify-wrap iframe,
  .tfe-map-container iframe,
  iframe[src*="spotify"],
  iframe[src*="google"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .tfe-video-main,
  .tfe-map-container,
  .tfe-spotify-wrap {
    border-radius: 20px !important;
    overflow: hidden !important;
  }

  .tfe-modal,
  .tfe-bk-modal,
  .tfv-modal {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 32px) !important;
    overflow-y: auto !important;
    border-radius: 24px !important;
  }

  .footer-grid-v994,
  .footer-grid,
  .tfe-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
}

@media (max-width: 480px) {
  .tfe-container,
  .tfe-layout,
  .tfe-events-featured-section,
  .tfe-events-archive-section,
  .tfe-events-seo-block,
  .tfv-container,
  .footer-wrapper {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .tfe-hero-title,
  .tfe-events-hero h1,
  .tfv-hero h1 {
    font-size: clamp(29px, 11vw, 39px) !important;
  }

  .tfe-section,
  .tfe-core-card,
  .tfv-card,
  .tfv-hero-card,
  .tfe-events-seo-block__inner,
  .tfe-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .tfe-hero-meta,
  .tfe-meta-row,
  .tfe-filter-pills,
  .tfe-events-active-filters,
  .tfe-events-popular-links {
    margin-left: -2px !important;
    margin-right: -2px !important;
  }

  .tfe-price-tag,
  .tfe-hero-badge,
  .tfe-chip,
  .tfe-city-pill,
  .tfe-meta-pill,
  .tfe-filter-pill {
    max-width: 100% !important;
  }

  .tfe-card-title,
  .tfe-event-title,
  .tfe-cover-name,
  .tfe-tour-card__title {
    overflow-wrap: anywhere !important;
  }
}

/* v9.9.44 — scoped mobile poster paint fix for event shortcode only */
@media (max-width: 768px){
  .tfe-events-page .tfe-instance,
  .tfe-events-page .tfe-instance .tfe-grid,
  .tfe-events-page .tfe-instance .tfe-card-item,
  .tfe-events-page .tfe-instance .tfe-card-inner,
  .tfe-events-page .tfe-slider-shell{
    content-visibility: visible !important;
    contain: none !important;
    contain-intrinsic-size: auto !important;
  }

  .tfe-events-page .tfe-instance .tfe-card-inner img.tfe-poster{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    aspect-ratio:4 / 5 !important;
    object-fit:cover !important;
    object-position:center top !important;
    opacity:1 !important;
    visibility:visible !important;
    margin:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }
}


/* v9.9.46 — single event mobile poster frame fix
   The event poster is a vertical poster, not a landscape banner. */
@media (max-width: 768px) {
  body.single-event .tfe-page-wrapper > .tfe-hero {
    padding-top: calc(118px + env(safe-area-inset-top)) !important;
    padding-bottom: 46px !important;
    margin-bottom: 0 !important;
    border-radius: 0 0 28px 28px !important;
    overflow: hidden !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero__content {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start !important;
    justify-items: stretch !important;
    text-align: left !important;
    padding-bottom: 0 !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-poster {
    width: min(78vw, 360px) !important;
    max-width: 360px !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    position: relative !important;
    justify-self: center !important;
    margin: 0 auto 22px !important;
    transform: none !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 22px 52px rgba(0,0,0,.48) !important;
    background: rgba(15,23,42,.55) !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-poster > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-badges {
    justify-content: flex-start !important;
    margin-bottom: 18px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-title {
    text-align: left !important;
    margin-bottom: 18px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    overflow: visible !important;
    flex-wrap: wrap !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 24px !important;
    justify-content: stretch !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-meta-dot {
    display: none !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-meta-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    font-size: 15px !important;
    line-height: 1.38 !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-meta-item svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-timer-buy-wrap,
  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-secondary-actions {
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-timer {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-price-tag {
    margin-left: 10px !important;
    padding-left: 12px !important;
  }
}

@media (max-width: 420px) {
  body.single-event .tfe-page-wrapper > .tfe-hero {
    padding-top: calc(112px + env(safe-area-inset-top)) !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-poster {
    width: min(82vw, 330px) !important;
    max-width: 330px !important;
    aspect-ratio: 4 / 5 !important;
    border-radius: 20px !important;
    margin-bottom: 20px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-meta {
    gap: 9px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-meta-item {
    font-size: 14px !important;
  }
}


/* v9.9.47 — single event mobile alignment, Event Details and Spotify polish.
   Scoped only to single event pages so other devices/pages are not affected. */
@media (max-width: 768px) {
  body.single-event .tfe-page-wrapper,
  body.single-event .tfe-single-layout,
  body.single-event .tfe-single-layout * {
    box-sizing: border-box !important;
  }

  body.single-event .tfe-page-wrapper {
    overflow-x: hidden !important;
    background: #f8fafc !important;
  }

  body.single-event .tfe-single-layout {
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px 16px 56px !important;
    gap: 24px !important;
    align-items: center !important;
  }

  body.single-event .tfe-single-layout > .tfe-section,
  body.single-event .tfe-single-layout > .tfe-spotify-wrap,
  body.single-event .tfe-single-layout > .tfe-map-container,
  body.single-event .tfe-single-layout > .tfe-sub-widget {
    width: 100% !important;
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero__content {
    justify-items: center !important;
    text-align: center !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-info {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-badges {
    width: 100% !important;
    justify-content: center !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-title {
    width: 100% !important;
    text-align: center !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-hero-meta {
    width: 100% !important;
    max-width: 440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-meta-item {
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-timer-buy-wrap,
  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-secondary-actions {
    width: 100% !important;
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-timer,
  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-btn--buy,
  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-btn--sold,
  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-btn--ended,
  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-btn--notify,
  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-btn--outline {
    width: 100% !important;
    max-width: 520px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-btn--buy {
    min-height: 58px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 10px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-price-tag {
    white-space: nowrap !important;
  }

  body.single-event .tfe-section {
    padding: 22px 18px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  body.single-event .tfe-event-details-section {
    text-align: center !important;
  }

  body.single-event .tfe-event-details-section .tfe-event-details-head {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
    padding-bottom: 18px !important;
  }

  body.single-event .tfe-event-details-section .tfe-section-title {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-event .tfe-event-details-section .tfe-status-pill {
    margin: 0 auto !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-card {
    min-height: 0 !important;
    padding: 18px 16px !important;
    text-align: center !important;
    border-radius: 18px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-icon {
    margin: 0 auto 12px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-label,
  body.single-event .tfe-event-details-section .tfe-info-value {
    text-align: center !important;
  }

  body.single-event .tfe-spotify-wrap,
  body.single-event .tfe-spotify-wrap--artist {
    display: block !important;
    width: 100% !important;
    max-width: 640px !important;
    min-height: 352px !important;
    height: auto !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: #0f172a !important;
  }

  body.single-event .tfe-spotify-wrap iframe,
  body.single-event iframe[src*="open.spotify.com"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 352px !important;
    min-height: 352px !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 24px !important;
  }
}

@media (max-width: 420px) {
  body.single-event .tfe-single-layout {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.single-event .tfe-section {
    padding: 20px 16px !important;
    border-radius: 22px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-btn--buy {
    font-size: 15px !important;
  }

  body.single-event .tfe-page-wrapper > .tfe-hero .tfe-price-tag {
    margin-left: 8px !important;
    padding-left: 10px !important;
    font-size: 14px !important;
  }

  body.single-event .tfe-spotify-wrap,
  body.single-event .tfe-spotify-wrap--artist,
  body.single-event .tfe-spotify-wrap iframe,
  body.single-event iframe[src*="open.spotify.com"] {
    min-height: 352px !important;
    height: 352px !important;
  }
}

/* v9.9.48 — single event details mobile grid + footer safety.
   Details cards are 2 columns on phones, with the last odd card spanning full width.
   Footer markup is not changed; this only prevents single-event mobile fixes from leaking visually. */
@media (max-width: 768px) {
  body.single-event .tfe-event-details-section .tfe-info-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-card {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 118px !important;
    aspect-ratio: 1 / 1 !important;
    padding: 14px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    text-align: center !important;
    border-radius: 20px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-card:nth-child(odd):last-child {
    grid-column: 1 / -1 !important;
    aspect-ratio: auto !important;
    min-height: 96px !important;
    padding: 16px 14px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-icon {
    width: 34px !important;
    height: 34px !important;
    margin: 0 auto 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-label {
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-value {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.single-event .site-footer {
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    clear: both !important;
  }
}

@media (max-width: 420px) {
  body.single-event .tfe-event-details-section .tfe-info-grid {
    gap: 10px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-card {
    min-height: 108px !important;
    padding: 12px 8px !important;
    border-radius: 18px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-card:nth-child(odd):last-child {
    min-height: 88px !important;
    padding: 14px 12px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-icon {
    width: 30px !important;
    height: 30px !important;
    font-size: 16px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-label {
    font-size: 9px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-value {
    font-size: 13px !important;
  }
}



/* v9.9.49 — single event venue address + mobile footer polish. */
@media (max-width: 768px) {
  body.single-event .tfe-event-details-section .tfe-info-card--address {
    grid-column: 1 / -1 !important;
    aspect-ratio: auto !important;
    min-height: 92px !important;
    padding: 16px 14px !important;
  }

  body.single-event .tfe-event-details-section .tfe-info-card:last-child {
    grid-column: 1 / -1 !important;
    aspect-ratio: auto !important;
    min-height: 92px !important;
    padding: 16px 14px !important;
  }

  body.single-event .tfe-map-head {
    justify-content: center !important;
    text-align: center !important;
  }

  body.single-event .tfe-map-head-text {
    width: 100% !important;
  }

  body.single-event .tfe-map-head .tfe-section-title {
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  body.single-event .tfe-map-address {
    max-width: 520px !important;
    margin: 8px auto 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #64748b !important;
  }

  body.single-event #event-map .tfe-btn {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
}


/* v9.9.52 — Single Tour final mobile layout fix.
   Keeps the tour page centered and removes the event-style direct purchase CTA from the hero. */
@media (max-width: 768px) {
  body.single-tour,
  body.single-tour #page,
  body.single-tour #content,
  body.single-tour .site-content,
  body.single-tour .tfe-page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding-top: calc(118px + env(safe-area-inset-top)) !important;
    padding-bottom: 42px !important;
    margin-bottom: 0 !important;
    border-radius: 0 0 28px 28px !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-hero__content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
    padding-bottom: 0 !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-poster {
    width: min(78vw, 330px) !important;
    max-width: 330px !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    margin: 0 auto 2px !important;
    transform: none !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.46) !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-poster img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center top !important;
    border-radius: 0 !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-hero-info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-hero-badge {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-hero-title {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    font-size: clamp(30px, 9vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-meta-pill {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-actions,
  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-secondary-actions {
    width: min(100%, 440px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-secondary-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
    padding-top: 16px !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-secondary-actions > *:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }

  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-btn,
  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-btn--primary,
  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-btn--outline,
  body.single-tour .tfe-page-wrapper > .tfe-hero button.tfe-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 390px) {
  body.single-tour .tfe-page-wrapper > .tfe-hero .tfe-secondary-actions {
    grid-template-columns: 1fr !important;
  }
}


/* v9.9.53 — Single Performer / Artist page mobile layout.
   Isolated fixes: centered hero, safe poster, sane action buttons, full Spotify player. */
@media (max-width: 768px) {
  body.single-performer,
  body.single-performer #page,
  body.single-performer #content,
  body.single-performer .site-content,
  body.single-performer .tfe-page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding-top: calc(118px + env(safe-area-inset-top)) !important;
    padding-bottom: 42px !important;
    margin-bottom: 0 !important;
    border-radius: 0 0 28px 28px !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-hero__content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
    padding-bottom: 0 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-poster {
    width: min(76vw, 300px) !important;
    max-width: 300px !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    margin: 0 auto !important;
    transform: none !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.46) !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-poster img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center top !important;
    border-radius: 0 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-hero-info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-hero-badge {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-hero-title {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    font-size: clamp(31px, 9vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-hero-desc {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-meta-pill {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions {
    width: min(100%, 440px) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--primary,
  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--dark {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--outline {
    width: calc(50% - 5px) !important;
    min-width: 0 !important;
    min-height: 46px !important;
    height: auto !important;
    padding: 11px 12px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    flex: 0 0 48px !important;
    padding: 0 !important;
    border-radius: 999px !important;
  }

  body.single-performer .tfe-layout {
    padding-top: 34px !important;
  }

  body.single-performer .tfe-spotify-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 352px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  body.single-performer .tfe-spotify-wrap iframe,
  body.single-performer iframe[src*="open.spotify.com"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 352px !important;
    min-height: 352px !important;
    border: 0 !important;
  }

  body.single-performer .tfe-section-title {
    justify-content: center !important;
    text-align: center !important;
  }

  body.single-performer .tfe-booking-info {
    align-items: center !important;
    text-align: center !important;
    padding: 22px 18px !important;
  }

  body.single-performer .tfe-booking-info__meta {
    justify-content: center !important;
  }

  body.single-performer .tfe-share-bar {
    justify-content: center !important;
    text-align: center !important;
  }
}

@media (max-width: 390px) {
  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--outline {
    width: 100% !important;
  }
}


/* v9.9.54 — Single Performer mobile cleanup.
   Fixes the broken action row from v9.9.53, keeps the poster below the fixed header,
   and gives Spotify enough safe height/spacing on iPhone. Scope: artist pages only. */
@media (max-width: 768px) {
  body.single-performer .tfe-page-wrapper > .tfe-hero {
    padding-top: calc(154px + env(safe-area-inset-top)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-poster {
    margin-top: 0 !important;
    width: min(82vw, 330px) !important;
    max-width: 330px !important;
    aspect-ratio: 4 / 5 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-hero-info {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: min(100%, 430px) !important;
    max-width: 100% !important;
    margin: 26px auto 0 !important;
    align-items: stretch !important;
    justify-items: stretch !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn {
    box-sizing: border-box !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    white-space: nowrap !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--primary,
  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--dark {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    min-height: 56px !important;
    padding: 0 18px !important;
    border-radius: 18px !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
    justify-content: center !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--icon {
    grid-column: auto !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    flex: none !important;
    justify-self: center !important;
    padding: 0 !important;
    border-radius: 999px !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--outline {
    grid-column: span 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    min-height: 52px !important;
    padding: 0 12px !important;
    border-radius: 18px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    justify-content: center !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn svg {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 auto !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn span {
    display: inline !important;
    min-width: 0 !important;
  }

  body.single-performer .tfe-layout {
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: calc(46px + env(safe-area-inset-bottom)) !important;
  }

  body.single-performer .tfe-spotify-wrap {
    width: 100% !important;
    max-width: 520px !important;
    min-height: 380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  body.single-performer .tfe-spotify-wrap iframe,
  body.single-performer iframe[src*="open.spotify.com"] {
    width: 100% !important;
    height: 380px !important;
    min-height: 380px !important;
    border-radius: 24px !important;
  }
}

@media (max-width: 430px) {
  body.single-performer .tfe-page-wrapper > .tfe-hero {
    padding-top: calc(146px + env(safe-area-inset-top)) !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--icon {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    max-width: 52px !important;
  }
}

@media (max-width: 360px) {
  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--primary,
  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--dark,
  body.single-performer .tfe-page-wrapper > .tfe-hero .tfe-actions .tfe-btn--outline {
    grid-column: 1 / -1 !important;
  }
}
