﻿/* =========================================
   RESPONSIVE — GLOBAL (SAFE)
========================================= */

/* ❗ страховка від переломів */
*,
*::before,
*::after{
  box-sizing: border-box;
  min-width: 0;
}

/* =========================================
   <= 1100px — compact desktop
========================================= */
@media (max-width: 1100px){

  .section{
    padding: 20px 16px;
  }

  /* grids */
  .latest-grid,
  .cars-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 16px;
  }
}

/* =========================================
   <= 900px — tablet
========================================= */
@media (max-width: 900px){

  /* header */
  .menu-inner{
    padding: 0 14px;
  }

  /* titles */
  .section h1{
    font-size: 22px;
  }

  .section-sub{
    font-size: 14px;
  }

  /* filters */
  .filters{
    padding: 16px;
  }

  .filters-row{
    gap: 10px;
  }

  /* grids */
  .cars-grid{
    grid-template-columns: 1fr;
  }

  /* offer */
  .offer-hero{
    padding: 20px;
  }

  .offer-hero__title{
    font-size: 26px;
  }

  .offer-hero__grid{
    grid-template-columns: 1fr;
  }
}

/* =========================================
   <= 768px — MOBILE CORE
========================================= */
@media (max-width: 768px){

  :root{
    --header-height: 56px;
  }

  /* header */
  .menu{
    height: var(--header-height);
  }

  .menu-inner{
    height: var(--header-height);
    padding: 0 12px;
  }

  .menu-logo img{
    height: 34px;
  }

  /* page offset */
  .page{
    padding-top: var(--header-height);
  }

  /* mode switch */
  .mode-switch{
    width: 100%;
    padding: 6px;
    gap: 6px;
  }

  .mode-btn{
    flex: 1;
    justify-content: center;
    font-size: 14px;
    padding: 10px 12px;
  }

  /* filters */
  .filters{
    border-radius: 18px;
  }

  .filters-row{
    flex-direction: column;
    gap: 12px;
  }

  .filter-item{
    min-width: 100%;
  }

  /* results bar */
  .results-bar{
    margin: 12px 0;
    font-size: 14px;
  }

  /* grid */
  .cars-grid{
    padding: 0 12px;
    gap: 16px;
  }

  /* card */
  .car-card{
    border-radius: 16px;
  }

  .car-card__img{
    min-height: 180px;
  }

  /* fav */
  .fav-btn,
  .car-card__fav{
    width: 34px;
    height: 34px;
    top: 10px;
    right: 10px;
  }

  /* meta */
  .meta-grid{
    grid-template-columns: 1fr 1fr;
  }

  /* offer */
  .offer-hero{
    margin-top: 20px;
    padding: 20px;
  }

  .offer-hero__title{
    font-size: 22px;
  }

  .offer-hero-card{
    padding: 18px;
    gap: 14px;
  }

  .offer-hero-card__icon{
    width: 52px;
    height: 52px;
    font-size: 24px;
  }

  .offer-hero-card__text strong{
    font-size: 18px;
  }
}

/* =========================================
   <= 480px — SMALL MOBILE
========================================= */
@media (max-width: 480px){

  /* titles */
  .section h1{
    font-size: 20px;
  }

  .section-sub{
    font-size: 13px;
  }

  /* buttons */
  .filters-actions{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .filters-actions button{
    width: 100%;
    justify-content: center;
  }

  /* price */
  .price-big{
    font-size: 18px;
  }

  /* meta */
  .meta-item{
    font-size: 12px;
  }

  /* offer */
  .offer-hero__title{
    font-size: 20px;
  }

  .offer-hero__sub{
    font-size: 14px;
  }
}
