/* ==========================================================================
   PALACE CONCERTS — RESPONSIVE RULES
   Breakpoints: 1200 (laptop) / 991 (tablet) / 767 (large mobile) / 480 (mobile)
   ========================================================================== */

@media (max-width:1200px){
  .footer-grid{ grid-template-columns:1.2fr 1fr 1fr; }
  .footer-grid .footer-newsletter{ grid-column:1 / -1; max-width:420px; }
}

@media (max-width:991px){
  :root{ --nav-h:76px; }
  .split{ grid-template-columns:1fr; gap:3rem; }
  .split-media{ order:-1; }
  .feature-grid{ grid-template-columns:repeat(2,1fr); }
  .stats-grid{ grid-template-columns:repeat(2,1fr); row-gap:2.4rem; }
  .stat-item:nth-child(3){ border-left:none; }
  .masonry{ column-count:2; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:2.4rem; }
  .section{ padding:5.5rem 0; }
  .hero-title{ font-size:clamp(2.2rem,7vw,3.6rem); }

  .site-popup-gallery img {
    width: calc(127% - 0.5rem);
    max-width: 294px;
    height: 350px;
    border-radius: 14px;
    object-fit: cover;
    border: 1px solid rgba(212, 175, 55, 0.15);
}
}

@media (max-width:767px){
  .feature-grid{ grid-template-columns:1fr; }
  .masonry{ column-count:1; }
  .footer-grid{ grid-template-columns:1fr; gap:2.4rem; }
  .footer-bottom{ flex-direction:column; text-align:center; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .section-head{ flex-direction:column; align-items:flex-start; }
  .cta-actions, .hero-actions{ flex-direction:column; width:100%; }
  .hero-actions .btn, .cta-actions .btn{ justify-content:center; width:100%; }
  .stat-chip{ position:static; margin-top:1.4rem; display:inline-block; }
  .split-frame{ display:none; }
  .ticket-stub::before, .ticket-stub::after{ display:none; }
  .container, .container-fluid{ padding:0 1.25rem; }

  .hero {
    min-height: 86vh !important;
    padding-bottom: 80px !important;
}

.hero.hero-inner {
    min-height: 56vh !important;
}
}

@media (max-width:480px){
  .hero-title{ font-size:2rem; }
  .section-title{ font-size:1.8rem; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .stat-num{ font-size:2rem; }
  .btn{ padding:0.9rem 1.5rem; font-size:0.68rem; }
  .testi-card, .feature-card{ padding:2rem 1.5rem; }
}

/* Landscape / short viewport hero safety */
@media (max-height:640px) and (orientation:landscape){
  .hero{ min-height:auto; padding:8rem 0 4rem; }
}

/* Prevent any accidental horizontal scroll */
html, body{ max-width:100%; overflow-x:hidden; }

