/* ======================================================
   AMERICAN MASTER FLOORING — Responsive Styles
   ====================================================== */


/* ---- Large (≤ 1199px) ---- */
@media (max-width: 1199px) {
  .section-title { font-size: 36px; }
  .about-img-col { padding-left: 28px; }
  .estimate-form-wrap { padding: 38px 34px; }
}


/* ---- Medium / Tablet (≤ 991px) ---- */
@media (max-width: 991px) {

  /* Header */
  .nav-links { display: none; }
  .hamburger { display: flex; }

  /* Sections */
  .services-section,
  .about-section,
  .process-section,
  .contact-section { padding: 80px 0; }

  .gallery-section { padding: 80px 0 0; }

  /* Hero */
  .hero-section { min-height: 82vh; }

  /* About */
  .about-img-col {
    padding-left: 0;
    margin-top: 48px;
  }
  .about-badge { left: 12px; bottom: -16px; }

  /* Gallery – keep 3 columns on tablet, overlay always visible */
  .gallery-overlay { opacity: 1; }

  /* Form */
  .estimate-form-wrap { padding: 36px 28px; }
}


/* ---- Small Tablet / Large Phone (≤ 767px) ---- */
@media (max-width: 767px) {

  .section-title { font-size: 30px; }
  .section-header { margin-bottom: 44px; }

  /* Hero */
  .hero-content { padding: 56px 0 44px; }
  .hero-title { font-size: clamp(28px, 9vw, 44px); }
  .hero-subtitle { font-size: 16px; }
  .btn-hero-primary,
  .btn-hero-secondary { font-size: 14px; padding: 13px 22px; }

  /* About */
  .about-cta { flex-direction: column; gap: 12px; }
  .btn-outline-brand { justify-content: center; }

  /* Gallery */
  .gallery-item { aspect-ratio: 16 / 9; }

  /* Process */
  .process-step { padding: 28px 14px; }

  /* Contact */
  .contact-heading { font-size: 28px; }
  .estimate-form-wrap { padding: 28px 22px; }
  .form-title { font-size: 20px; }

  /* Footer */
  .site-footer { padding: 52px 0 0; }
  .footer-brand { text-align: center; }
  .footer-logo { margin: 0 auto 16px; }
  .footer-tagline { margin: 0 auto; }
}


/* ---- Mobile (≤ 575px) ---- */
@media (max-width: 575px) {

  .section-title { font-size: 26px; }

  /* Header */
  .logo-img { width: 108px; }
  .btn-estimate { display: none; }

  /* Hero */
  .hero-section { min-height: 76vh; }
  .hero-badge { font-size: 10px; padding: 5px 12px; }
  .hero-title { font-size: clamp(26px, 10vw, 36px); }
  .hero-subtitle { font-size: 15px; }
  .hero-buttons { flex-direction: column; gap: 12px; }
  .btn-hero-primary,
  .btn-hero-secondary { width: 100%; justify-content: center; text-align: center; }

  /* Services */
  .services-section,
  .process-section { padding: 64px 0; }
  .service-card { padding: 28px 20px; }

  /* Gallery */
  .gallery-item { aspect-ratio: 4 / 3; }

  /* About */
  .about-section { padding: 64px 0; }
  .about-img-wrap { margin-top: 36px; }
  .about-badge { left: 8px; bottom: -14px; padding: 12px 18px; }
  .badge-number { font-size: 28px; }
  .badge-label { font-size: 9px; }
  .about-cta .btn-primary,
  .about-cta .btn-outline-brand { width: 100%; text-align: center; justify-content: center; }

  /* Contact */
  .contact-section { padding: 64px 0; }
  .estimate-form-wrap { padding: 22px 16px; }
  .form-title { font-size: 18px; }

  /* reCAPTCHA scale for small screens */
  .recaptcha-wrap { overflow: hidden; }
  .g-recaptcha {
    transform: scale(0.88);
    transform-origin: left top;
    -webkit-transform: scale(0.88);
    -webkit-transform-origin: left top;
  }

  /* Footer */
  .footer-row { gap: 30px 0; }
}


/* ---- Very small (≤ 380px) ---- */
@media (max-width: 380px) {
  .g-recaptcha {
    transform: scale(0.78);
    -webkit-transform: scale(0.78);
  }
}


/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion: reduce) {
  .fade-up { opacity: 1; transform: none; transition: none; }
  .hero-scroll { animation: none; }
  * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
