/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — Mobile First refinements
   ═══════════════════════════════════════════════════════════ */

/* ── Large desktop (≥ 1281px) ── */
@media(min-width:1281px){
  :root{--container:1280px}
}

/* ── Desktop (≥ 1025px) ── */
@media(min-width:1025px){
  .about-grid{grid-template-columns:repeat(3,1fr)}
  .levels-grid{grid-template-columns:repeat(3,1fr)}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .news-grid{grid-template-columns:repeat(3,1fr)}
  section{padding:var(--s-24) var(--s-8)}
}

/* ── Tablets landscape (769–1024px) ── */
@media(min-width:769px) and (max-width:1024px){
  .about-grid{grid-template-columns:repeat(2,1fr)}
  .levels-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .process-line{display:none}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{gap:var(--s-6)}
}

/* ── Tablets / mobile (≤ 768px) ── */
@media(max-width:768px){
  :root{--nav-h:64px}
  .navbar .container{min-height:64px;padding:0 var(--s-4);gap:var(--s-3)}
  .nav-logo-card{padding:.45rem .65rem;border-radius:14px;transform:translateY(16px)}
  .nav-logo-card:hover{transform:translateY(14px) scale(1.02)}
  .navbar.scrolled .nav-logo-card{transform:translateY(12px)}
  .nav-logo-card img{height:62px}

  /* Burger nav */
  .burger{display:flex}
  .nav-links{
    position:fixed;top:0;right:-100%;width:300px;height:100dvh;
    background:linear-gradient(180deg,#13251c 0%,#1a3a5c 100%);
    flex-direction:column;justify-content:center;align-items:center;
    gap:var(--s-6);padding:var(--s-8);
    transition:right .35s var(--ease);
    box-shadow:-20px 0 60px rgba(0,0,0,.3);
  }
  .nav-links.active{right:0}
  .nav-links a{color:rgba(255,255,255,.95) !important;font-size:1.18rem}
  .nav-links a::after{display:none}
  .nav-links a:hover{color:#fff !important}
  .nav-links a.active{color:var(--c-primary-400) !important}
  .nav-cta{margin-top:var(--s-3)}
  .nav-schedule{display:none !important}

  .mobile-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;
    opacity:0;visibility:hidden;transition:opacity var(--t-base), visibility var(--t-base);
  }
  .mobile-overlay.active{opacity:1;visibility:visible}

  /* Layout */
  .contact-grid{grid-template-columns:1fr;gap:var(--s-6)}
  .about-grid{grid-template-columns:1fr}
  .levels-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .process-line{display:none}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .cta-band{flex-direction:column;text-align:center;padding:var(--s-8) var(--s-6)}
  .cta-band-actions{flex-direction:column;width:100%;max-width:280px}
  .cta-band-actions .btn{width:100%}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:var(--s-6)}

  /* Counters: hide vertical dividers when stacked */
  .counters{grid-template-columns:repeat(2,1fr)}
  .counter-item + .counter-item::before{display:none}

  /* Floating buttons spacing */
  .whatsapp-float{bottom:80px}
  .back-to-top{bottom:80px;right:90px}

  /* Hero typography */
  .hero-content h1{font-size:clamp(1.8rem,6vw,2.6rem)}
  .hero-trust{
    flex-direction:column;gap:.4rem;padding:.8rem 1rem;
    bottom:6rem;text-align:center;
  }
  .hero-trust span + span{padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.18);padding-top:.4rem}

  .slider-dots{bottom:1.25rem}
}

/* ── Small phones (≤ 480px) ── */
@media(max-width:480px){
  section{padding:var(--s-12) var(--s-4)}
  .container{padding:0 var(--s-4)}
  .hero-buttons{flex-direction:column;align-items:stretch;width:100%;max-width:280px;margin:0 auto}
  .hero-buttons .btn{width:100%}
  .hero-trust{display:none}
  .process-grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr;gap:0}
  .gallery-grid{grid-template-columns:1fr 1fr;gap:var(--s-2)}
  .gallery-item{aspect-ratio:1}
  .news-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:var(--s-6)}
  .contact-form{padding:var(--s-5)}
  .slider-arrow{width:38px;height:38px;font-size:1rem}
  .slider-prev{left:.5rem}
  .slider-next{right:.5rem}
  .contact-item{flex-direction:row;align-items:flex-start;text-align:left}
}

/* ── Reduce hero height on short landscape phones ── */
@media(max-height:520px) and (orientation:landscape){
  .hero{min-height:100vh}
  .hero-trust,.hero-scroll-cue{display:none}
  .hero-content{padding-top:5rem;padding-bottom:2rem}
}
