/* Mi Ticket Peru - final responsive guardrails.
   Loaded after page-specific CSS to prevent later desktop rules from overriding
   the mobile layout. Visual-only: no ticketing or payment behavior changes. */

html,body{max-width:100%;overflow-x:hidden}

@media(max-width:820px){
  /* Home hero: text then artwork, never a narrow desktop split. */
  body.mtp-body.mtp-home-page .mtp-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.mtp-body.mtp-home-page .hero-copy,
  body.mtp-body.mtp-home-page .hero-slider{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.mtp-body.mtp-home-page .hero-copy{
    min-height:0!important;
    padding:20px 18px 18px!important;
  }
  body.mtp-body.mtp-home-page .hero-copy h1{
    max-width:none!important;
    margin-bottom:12px!important;
    font-size:clamp(33px,9.2vw,40px)!important;
    line-height:.98!important;
  }
  body.mtp-body.mtp-home-page .hero-copy h1 br{display:none!important}
  body.mtp-body.mtp-home-page .hero-copy p{
    margin-bottom:0!important;
    font-size:13px!important;
    line-height:1.45!important;
  }
  body.mtp-body.mtp-home-page .hero-slider{
    height:230px!important;
  }
  body.mtp-body.mtp-home-page .hero-event-copy,
  body.mtp-body.mtp-home-page .hero-fallback-copy{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    max-width:none!important;
    width:auto!important;
    padding:12px 14px!important;
    box-sizing:border-box!important;
  }
  body.mtp-body.mtp-home-page .hero-event-copy h2,
  body.mtp-body.mtp-home-page .hero-fallback-copy h2{
    margin:5px 0 6px!important;
    font-size:22px!important;
    line-height:1.06!important;
  }
  body.mtp-body.mtp-home-page .hero-event-meta{font-size:10px!important}
  body.mtp-body.mtp-home-page .hero-event-cta{min-height:34px!important;padding:0 12px!important}

  /* Public event ticketing: zones followed by full-width map. */
  body.mtp-body .v5-public-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:14px!important;
  }
  body.mtp-body .v5-zone-list,
  body.mtp-body .v5-map-card{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    position:static!important;
    box-sizing:border-box!important;
  }
  body.mtp-body .v5-general-map{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:auto!important;
    touch-action:none!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
  }
  body.mtp-body .v5-public-svg{
    min-width:0!important;
    max-width:none!important;
    overflow:visible!important;
  }
  body.mtp-body .v14614-open-map{display:none!important}
  body.mtp-body .v14614-map-toolbar-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
  }
  body.mtp-body .v14614-map-toolbar-actions #v5PublicZoomOut,
  body.mtp-body .v14614-map-toolbar-actions #v5PublicFit,
  body.mtp-body .v14614-map-toolbar-actions #v5PublicZoomIn{
    width:100%!important;
    min-width:0!important;
  }

  /* Floating purchase bar and MIA must not fight for the same pixels. */
  body.mtp-body .v5-checkout-bar{
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  body.mtp-body .mtp-chat-launcher{
    width:60px!important;
    height:60px!important;
    right:12px!important;
    bottom:186px!important;
  }
}

@media(max-width:480px){
  body.mtp-body.mtp-home-page .hero-slider{height:215px!important}
  body.mtp-body.mtp-home-page .hero-event-copy h2,
  body.mtp-body.mtp-home-page .hero-fallback-copy h2{font-size:24px!important}
  body.mtp-body .v5-zone-list{padding:14px!important}
  body.mtp-body .v5-map-card{padding:12px!important}
  body.mtp-body .v5-general-map{min-height:280px!important}
}
