/* ==========================================================================
   Redline Auto Maintenance LLC — Responsive stylesheet
   Media queries ONLY. Loaded after style.css so it overrides base styles.
   ========================================================================== */

/* Laptop / small desktop --------------------------------------------------- */
@media (max-width: 1199px) {
  :root {
    --fs-display: 48px;
    --fs-h1: 38px;
    --fs-h2: 32px;
    --fs-h3: 24px;
    --space-2xl: 35px;
    --container-pad: 20px;
  }

  .detail {
    grid-template-columns: minmax(0, 1fr) 320px;
  }

  .steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gallery__item img {
    height: 220px;
  }
}

/* Tablet ------------------------------------------------------------------- */
@media (max-width: 991px) {
  :root {
    --fs-display: 44px;
    --fs-h1: 34px;
    --fs-h2: 30px;
    --space-xl: 64px;
    --space-2xl: 35px;
    --header-height: 76px;
  }

  .header__nav,
  .header__phone {
    display: none;
  }

  .header__burger {
    display: inline-flex;
  }

  .header--open {
    background-color: var(--color-white);
    box-shadow: var(--shadow-header);
    height: 100dvh;
    max-height: 100dvh;
    display: flex;
    flex-direction: column;
  }

  .header--open .header__drawer {
    display: block;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .header--open .header__link {
    color: var(--color-black);
  }

  .header__actions .btn {
    display: none;
  }

  .grid--3,
  .grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stats__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: var(--space-lg);
  }

  .stat:nth-child(2n) {
    border-right: none;
  }

  .steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .split {
    grid-template-columns: minmax(0, 1fr);
  }

  .detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .sidebar {
    position: static;
  }

  .footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cta-banner__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .hero {
    min-height: auto;
    padding-top: calc(var(--header-height) + var(--space-xl));
  }
}

/* Mobile ------------------------------------------------------------------- */
@media (max-width: 767px) {
  :root {
    --fs-display: 36px;
    --fs-h1: 30px;
    --fs-h2: 26px;
    --fs-h3: 21px;
    --fs-h4: 18px;
    --space-xl: 48px;
    --space-2xl: 35px;
  }

  .grid--2,
  .grid--3,
  .grid--4,
  .steps,
  .form__row,
  .footer__grid,
  .gallery {
    grid-template-columns: minmax(0, 1fr);
  }

  .stats {
    margin-top: calc(var(--space-lg) * -1);
  }

  .stats__inner {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--space-md);
    row-gap: var(--space-md);
  }

  .stat {
    border-right: none;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-md);
  }

  .stat:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .gallery__item--wide {
    grid-column: span 1;
  }

  .gallery__item img {
    height: 200px;
  }

  .btn {
    min-height: 52px;
    width: 100%;
  }

  .btn-group {
    width: 100%;
  }

  .btn-group .btn {
    flex: 1 1 100%;
  }

  .carousel__btn,
  .header__burger,
  .footer__social {
    min-width: 48px;
    min-height: 48px;
    width: 48px;
    height: 48px;
  }

  .testimonial,
  .form-card {
    padding: var(--space-md);
  }

  .mobile-bar {
    display: block;
  }

  body {
    padding-bottom: 72px;
  }

  .whatsapp-float {
    bottom: 88px;
  }

  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .category__head {
    flex-wrap: wrap;
  }
}

/* Small mobile ------------------------------------------------------------- */
@media (max-width: 480px) {
  :root {
    --fs-display: 30px;
    --fs-h1: 26px;
    --fs-h2: 22px;
    --fs-h3: 19px;
    --fs-h6: 18px;
    --fs-body: 15px;
    --space-lg: 20px;
    --space-xl: 25px;
    --space-2xl: 25px;
    --container-pad: 16px;
  }

  .logo__word {
    font-size: 24px;
  }

  .logo__img {
    height: 40px;
  }


  .card,
  .usp,
  .step,
  .sidebar__card {
    padding: var(--space-sm);
  }

  .testimonial__quote {
    font-size: var(--fs-h4);
  }
}

@media (max-width: 991px) {
  .mega {
    display: none;
  }
}
