/* ==========================================================================
   CinemóvilPro — responsive.css
   Breakpoints: 4K desktop, notebook, tablet, móvil
   ========================================================================== */

/* ------------------------------- 4K / ultra-wide -------------------------------- */
@media (min-width: 1800px) {
  :root { --maxw: 1560px; }
  .hero h1 { max-width: 18ch; }
}

/* ---------------------------------- Notebook ------------------------------------ */
@media (max-width: 1180px) {
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-row { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-col:last-child { grid-column: span 2; }
  .gallery-grid { grid-template-columns: repeat(4, 1fr); }
  .g-1, .g-5 { grid-column: span 2; }
  .g-2, .g-3, .g-4, .g-6 { grid-column: span 2; }
}

/* ----------------------------------- Tablet -------------------------------------- */
@media (max-width: 960px) {
  .main-nav ul, .header-cta .btn-ghost { display: none; }
  .menu-toggle { display: flex; }

  .mobile-menu-panel {
    position: fixed;
    inset: 0;
    background: var(--c-black);
    z-index: 99;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px var(--gutter);
    transform: translateY(-100%);
    transition: transform 0.55s var(--ease);
  }
  .mobile-menu-panel.is-open { transform: translateY(0); }
  .mobile-menu-panel ul { display: flex; flex-direction: column; gap: 26px; margin-bottom: 40px; }
  .mobile-menu-panel a { font-family: var(--f-display); font-size: 1.6rem; font-weight: 600; text-transform: uppercase; }

  .section-head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .service-grid { grid-template-columns: 1fr; }
  .process-item { grid-template-columns: 1fr; gap: 12px; }
  .process-item p { max-width: none; }

  .form-layout { grid-template-columns: 1fr; }
  .form-aside { position: static; }
  .form-card { padding: 36px 26px; }
  .form-row, .form-row.cols-3 { grid-template-columns: 1fr; }

  .contact-layout { grid-template-columns: 1fr; gap: 56px; }

  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; }
  .g-1, .g-2, .g-3, .g-4, .g-5, .g-6 { grid-column: span 1; grid-row: span 1; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-col:last-child { grid-column: span 1; }
}

/* ----------------------------------- Móvil --------------------------------------- */
@media (max-width: 600px) {
  :root { --gutter: 22px; }

  .hero { min-height: 560px; }
  .hero-content { padding-bottom: 80px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { justify-content: center; }
  .scroll-cue { display: none; }

  .page-hero { padding: 150px var(--gutter) 60px; }

  .services, .experience, .process { padding: 90px 0; }
  .cta-band { padding: 100px var(--gutter); }
  .cta-actions { flex-direction: column; }
  .cta-actions .btn { justify-content: center; }

  .stats-row { grid-template-columns: 1fr 1fr; gap: 30px 20px; padding: 34px 0; }
  .client-strip span { min-width: 45%; padding: 22px 14px; font-size: 0.9rem; }

  .form-card { padding: 26px 18px; }
  .form-submit-row { flex-direction: column; align-items: stretch; }
  .form-submit-row .btn { justify-content: center; }

  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-col:last-child { grid-column: span 1; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}
