/* ==========================================================================
   THE LASER BOOTH — Responsive rules
   Mobile-first overrides layered on top of style.css
   ========================================================================== */

/* ------------------------------ ≤ 1200px : tablet landscape ---------------------- */
@media (max-width: 1200px) {
  .footer-top { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-col.col-giveaway { display: none; }
  .insta-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ------------------------------ ≤ 1024px : tablet portrait ---------------------- */
@media (max-width: 1024px) {
  :root { --nav-h: 84px; }

  .nav-links { display: none; }
  .nav-phone { display: none !important; }
  .nav-burger { display: flex; }

  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { order: -1; aspect-ratio: 16/11; }
  .hero-copy { padding-block: 1rem; }
  .hero-deco-shape { left: 50%; transform: translateX(-50%); }

  .why-row, .why-row:nth-child(even) { grid-template-columns: 3.4rem 1fr; }
  .why-row .why-desc, .why-row:nth-child(even) .why-desc { order: 0; grid-column: 1 / -1; }

  .treatment-row { grid-template-columns: 3rem 1fr auto; }
  .treatment-row .t-thumb { display: none; }

  .experience { grid-template-columns: 1fr; }
  .experience-media { order: -1; }

  .giveaway-inner { grid-template-columns: 1fr; }
  .giveaway-visual { order: -1; max-width: 420px; margin-inline: auto; }

  .steps { grid-template-columns: 1fr; }

  .footer-top { grid-template-columns: 1fr 1fr; row-gap: 2.5rem; }

  .cursor-dot, .cursor-ring { display: none; }
}

/* ------------------------------ ≤ 768px : large mobile --------------------------- */
@media (max-width: 768px) {
  :root { --gutter: 1.25rem; --nav-h: 76px; }

  body { font-size: 15.5px; padding-bottom: 74px; } /* room for sticky bar */
  .mobile-bar { display: block; }

  .section { padding-block: clamp(3.5rem, 12vw, 5.5rem); }

  .hero { min-height: 92svh; }
  .hero-scroll-cue { display: none; }

  .marquee-track span { font-size: 0.68rem; }

  .statement { padding-block: clamp(3.5rem, 14vw, 5rem); }

  .insta-grid { grid-template-columns: repeat(3, 1fr); gap: 0.4rem; }

  .booking-cta { padding: clamp(2.2rem, 8vw, 3rem) 1.4rem; border-radius: var(--radius-md); }
  .booking-cta .contacts { flex-direction: column; gap: 0.9rem; }

  .footer-top { grid-template-columns: 1fr; gap: 2.2rem; }

  .form-grid { grid-template-columns: 1fr; }

  .page-hero { text-align: left; }

  .giveaway-visual .frame { max-width: 300px; margin-inline: auto; }
  .giveaway-visual .sticker { width: 84px; height: 84px; font-size: 0.6rem; top: -14px; left: -10px; }

  .signature-words { gap: 0.6rem 1.2rem; }
}

/* ------------------------------ ≤ 480px : small phones ---------------------------- */
@media (max-width: 480px) {
  .insta-grid { grid-template-columns: repeat(2, 1fr); }
  .countdown-unit { min-width: 66px; padding: 0.7rem 0.6rem; }
  .hero-ctas { flex-direction: column; align-items: flex-start; }
  .hero-ctas .btn { width: 100%; justify-content: center; }
  .mobile-menu a { font-size: clamp(1.8rem, 11vw, 2.6rem); }
}

/* ------------------------------ ≥ 1600px : large desktop --------------------------- */
@media (min-width: 1600px) {
  :root { --gutter: max(3.5rem, calc((100vw - 1500px) / 2)); }
}

/* ------------------------------ Fine pointer only (custom cursor) ------------------ */
@media (hover: none), (pointer: coarse) {
  .cursor-dot, .cursor-ring { display: none !important; }
  body { cursor: auto; }
}
