/* =========================
   TicketHub Mobile V2
   Only phones / tablets
========================= */

@media screen and (max-width: 820px){

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

  body{
    padding-bottom:76px;
  }

  /* Header */

  header{
    position:sticky;
    top:0;
    z-index:9999;
    padding:12px 14px !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
  }

  .logo{
    font-size:20px !important;
  }

  header nav{
    display:none !important;
  }

  .mobile-menu-btn{
    display:block !important;
  }

  /* Hero */

  .hero{
    min-height:auto !important;
    padding:68px 16px 30px !important;
  }

  .hero-badge{
    font-size:10px !important;
    padding:6px 10px !important;
  }

  .hero h1{
    font-size:34px !important;
    line-height:1.04 !important;
    margin-bottom:14px !important;
  }

  .hero p{
    font-size:14px !important;
    line-height:1.45 !important;
    margin-bottom:22px !important;
  }

  .hero-actions{
    gap:10px !important;
    margin-bottom:28px !important;
  }

  .main-btn,
  .second-btn{
    padding:12px 16px !important;
    font-size:13px !important;
    border-radius:14px !important;
  }

  .hero-stats{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:10px !important;
    width:100% !important;
  }

  .hero-stats div{
    padding:12px 8px;
    border-radius:16px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
  }

  .hero-stats h2{
    font-size:22px !important;
  }

  .hero-stats span{
    font-size:10px !important;
  }

  /* Shorter sections */

  .story,
  .media-showcase,
  .video-section,
  .events,
  .deals,
  .my-tickets,
  .how,
  .live,
  .fun,
  .faq,
  .account-section{
    padding:36px 14px !important;
  }

  .story{
    grid-template-columns:1fr !important;
  }

  .story h2,
  .events h2,
  .deals h2,
  .my-tickets h2,
  .how h2,
  .live h2,
  .fun h2,
  .faq h2,
  .account-section h2{
    font-size:28px !important;
    margin-bottom:12px !important;
  }

  .story p,
  .media-showcase p,
  .video-section p,
  .how p,
  .fun p,
  .faq p{
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .section-label{
    font-size:10px !important;
    padding:6px 10px !important;
    margin-bottom:10px !important;
  }

  /* Search and categories */

  .section-head{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
    margin-bottom:16px !important;
  }

  #searchInput{
    width:100% !important;
    padding:12px 14px !important;
    font-size:13px !important;
    border-radius:14px !important;
  }

  .categories{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:8px !important;
    padding-bottom:8px;
    margin-bottom:18px !important;
  }

  .categories button{
    flex:0 0 auto;
    padding:9px 13px !important;
    font-size:12px !important;
    border-radius:999px !important;
  }

  /* Cards: 2 per row */

  .cards{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .card{
    border-radius:18px !important;
    overflow:hidden !important;
  }

  .card img{
    height:104px !important;
    border-radius:0 !important;
  }

  .card-content{
    padding:11px !important;
  }

  .card-tag,
  .discount-badge{
    font-size:9px !important;
    padding:5px 7px !important;
    margin-bottom:7px !important;
  }

  .card h3{
    font-size:14px !important;
    line-height:1.15 !important;
    margin-bottom:7px !important;
  }

  .location,
  .date{
    font-size:10.5px !important;
    line-height:1.25 !important;
    margin-bottom:5px !important;
  }

  .stats,
  .progress{
    display:none !important;
  }

  .price{
    font-size:16px !important;
    margin-bottom:9px !important;
  }

  .buy-btn,
  .details-btn{
    padding:9px 8px !important;
    font-size:11px !important;
    border-radius:11px !important;
  }

  /* Media */

  .media-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:10px !important;
  }

  .media-grid img{
    height:125px !important;
    border-radius:16px !important;
  }

  .video-section{
    grid-template-columns:1fr !important;
  }

  .video-gallery{
    grid-template-columns:1fr !important;
  }

  .video-gallery video{
    height:210px !important;
    border-radius:20px !important;
  }

  /* Tickets */

  .ticket-card{
    grid-template-columns:1fr !important;
    padding:16px !important;
    border-radius:18px !important;
  }

  .ticket-card h3{
    font-size:18px !important;
  }

  .ticket-card p{
    font-size:13px !important;
  }

  .ticket-actions{
    gap:8px !important;
  }

  /* FAQ */

  .faq details{
    padding:14px !important;
    border-radius:14px !important;
  }

  .faq summary{
    font-size:14px !important;
  }

  .faq p{
    font-size:13px !important;
  }

  footer{
    padding:34px 14px !important;
  }

  /* Bottom mobile navigation */

  .mobile-bottom-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    height:58px;
    z-index:9999;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:6px;
    padding:7px;
    border-radius:22px;
    background:rgba(15,23,42,.94);
    border:1px solid rgba(255,255,255,.1);
    backdrop-filter:blur(18px);
    box-shadow:0 20px 60px rgba(0,0,0,.45);
  }

  .mobile-bottom-nav a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    color:white;
    text-decoration:none;
    font-size:10px;
    border-radius:16px;
    background:rgba(255,255,255,.04);
  }

  .mobile-bottom-nav span{
    font-size:17px;
  }
}
/* =========================
   Mobile SeatMap UX
========================= */

@media screen and (max-width: 820px){

  .event-page{
    padding:28px 12px 100px !important;
  }

  .pro-event-layout{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .event-hero-img{
    height:190px !important;
    border-radius:20px !important;
  }

  .event-info-box,
  .seat-map-box,
  .pro-map-box{
    padding:16px !important;
    border-radius:20px !important;
  }

  .event-info-box h1{
    font-size:26px !important;
    line-height:1.1 !important;
  }

  .event-info-box p{
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .seatmap-stats{
    grid-template-columns:repeat(3,1fr) !important;
    gap:8px !important;
    margin:16px 0 !important;
  }

  .seatmap-stats div{
    padding:10px 6px !important;
    border-radius:14px !important;
    text-align:center;
  }

  .seatmap-stats h3{
    font-size:20px !important;
  }

  .seatmap-stats p{
    font-size:10px !important;
  }

  .seat-legend{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:10px !important;
    padding-bottom:8px;
  }

  .seat-legend span{
    flex:0 0 auto;
    font-size:12px !important;
  }

  .seatmap-map{
    padding:14px !important;
    border-radius:20px !important;
    overflow-x:auto !important;
  }

  .seatmap-center{
    min-height:105px !important;
    border-radius:20px !important;
    margin:12px 0 !important;
  }

  .seatmap-center strong{
    font-size:13px !important;
  }

  .seatmap-center span{
    font-size:10px !important;
    padding:0 10px;
  }

  .seatmap-section{
    padding:12px !important;
    border-radius:16px !important;
    margin-bottom:10px !important;
    min-width:280px;
  }

  .seatmap-section-header{
    margin-bottom:10px !important;
  }

  .seatmap-section-header h4{
    font-size:13px !important;
  }

  .seatmap-section-header span{
    font-size:10px !important;
  }

  .seatmap-seats{
    grid-template-columns:repeat(auto-fit,minmax(34px,1fr)) !important;
    gap:6px !important;
  }

  .seatmap-seat{
    height:34px !important;
    font-size:10px !important;
    border-radius:8px !important;
  }

  .seatmap-stadium-row,
  .seatmap-two-cols{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .seat-summary-box{
    position:sticky;
    bottom:82px;
    z-index:999;
    margin:16px 0 !important;
    padding:14px !important;
    border-radius:18px !important;
    background:rgba(15,23,42,.96) !important;
    backdrop-filter:blur(18px);
    box-shadow:0 20px 50px rgba(0,0,0,.45);
  }

  .seat-summary-box h3{
    font-size:15px !important;
    margin-bottom:8px !important;
  }

  .selected-seat-list{
    max-height:130px;
    overflow-y:auto;
  }

  .selected-seat-item{
    padding:9px !important;
    border-radius:12px !important;
  }

  .selected-seat-item span{
    font-size:13px !important;
  }

  .selected-seat-item small{
    font-size:10px !important;
  }

  .selected-total{
    padding:11px !important;
    border-radius:14px !important;
    font-size:13px !important;
  }

  .event-info-box .buy-btn{
    position:sticky;
    bottom:12px;
    z-index:1000;
    box-shadow:0 18px 45px rgba(37,99,235,.35);
  }
}
/* =========================
   Ultra Compact Mobile SeatMap
========================= */

@media screen and (max-width: 820px){

  .event-page{
    padding:14px 8px 78px !important;
  }

  .event-hero-img{
    display:none !important;
  }

  .event-info-box{
    padding:12px !important;
    border-radius:16px !important;
  }

  .event-info-box h1{
    font-size:21px !important;
    margin-bottom:8px !important;
  }

  .event-info-box p{
    font-size:11px !important;
    margin-bottom:4px !important;
  }

  .event-info-box > p:nth-of-type(n+4){
    display:none !important;
  }

  .seatmap-stats{
    margin:10px 0 !important;
    gap:6px !important;
  }

  .seatmap-stats div{
    padding:7px 4px !important;
  }

  .seatmap-stats h3{
    font-size:16px !important;
  }

  .seatmap-stats p{
    font-size:9px !important;
  }

  .seat-map-box{
    padding:10px !important;
    border-radius:16px !important;
  }

  .seat-map-box h2{
    font-size:20px !important;
    margin-bottom:8px !important;
  }

  .seat-legend{
    margin:8px 0 !important;
    gap:7px !important;
  }

  .seat-legend span{
    font-size:10px !important;
  }

  .seat-legend b{
    width:12px !important;
    height:12px !important;
  }

  .seatmap-map{
    padding:8px !important;
    border-radius:16px !important;
  }

  .seatmap-center{
    min-height:58px !important;
    margin:6px 0 !important;
    border-radius:14px !important;
  }

  .seatmap-center strong{
    font-size:11px !important;
  }

  .seatmap-center span{
    display:none !important;
  }

  .seatmap-section{
    padding:7px !important;
    border-radius:13px !important;
    margin-bottom:6px !important;
    min-width:230px !important;
  }

  .seatmap-section-header{
    margin-bottom:6px !important;
  }

  .seatmap-section-header h4{
    font-size:11px !important;
  }

  .seatmap-section-header span{
    font-size:9px !important;
  }

  .seatmap-seats{
    grid-template-columns:repeat(auto-fit,minmax(26px,1fr)) !important;
    gap:4px !important;
  }

  .seatmap-seat{
    height:26px !important;
    font-size:8px !important;
    border-radius:6px !important;
  }

  .seat-summary-box{
    bottom:66px !important;
    padding:10px !important;
    border-radius:14px !important;
    margin:8px 0 !important;
  }

  .seat-summary-box h3{
    font-size:12px !important;
    margin-bottom:5px !important;
  }

  .selected-seat-list{
    max-height:72px !important;
    gap:5px !important;
  }

  .selected-seat-item{
    padding:6px !important;
    border-radius:9px !important;
  }

  .selected-seat-item span{
    font-size:11px !important;
  }

  .selected-seat-item small{
    display:none !important;
  }

  .selected-seat-item strong{
    font-size:11px !important;
  }

  .selected-total{
    margin-top:7px !important;
    padding:8px !important;
    font-size:11px !important;
  }

  .event-info-box .buy-btn{
    padding:11px !important;
    font-size:12px !important;
    bottom:8px !important;
  }
}