/* =========================================================
   PAT Motors — Responsive Global
   Breakpoints : sm 640px · md 768px · lg 1024px · xl 1440px
   ========================================================= */

/* ---- 1024px — Tablette paysage ---- */
@media (max-width: 1024px) {

  .section-title {
    font-size: clamp(1.75rem, 4vw, var(--text-3xl));
  }

  .section-subtitle {
    max-width: 100%;
  }

  .single-info__title {
    font-size: 1.625rem;
  }
}

/* ---- 768px — Tablette portrait ---- */
@media (max-width: 768px) {
  :root {
    --section-py: var(--section-py-md);
  }

  .section-title {
    font-size: var(--text-2xl); /* 2rem / 32px */
  }

  .hero__title {
    font-size: clamp(2.25rem, 7vw, 3.5rem);
  }

  .hero__subtitle {
    font-size: var(--text-base); /* 13px — réduit sur tablette */
    max-width: 100%;
    margin-bottom: 32px;
  }

  .hero__badge  { display: none; }
  .hero__scroll { display: none; }

  .stats-section { padding: 60px 0; }

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

  .stat-number { font-size: 3rem; }

  .stat-item {
    padding: 32px 16px;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }

  .gallery-mosaic {
    height: auto;
    grid-template-columns: 1fr;
  }

  .gallery-item:nth-child(even) { margin-top: 0; }
  .gallery-item { height: 260px; }

  .promise-layout {
    gap: 40px;
  }

  .single-info__title {
    font-size: 1.5rem;
  }

  .cta-showroom__title {
    font-size: clamp(1.625rem, 5vw, 2.75rem);
  }
}

/* ---- 640px — Mobile ---- */
@media (max-width: 640px) {
  :root {
    --section-py: var(--section-py-sm);
  }

  /* Typographie */
  .section-title {
    font-size: var(--text-xl); /* 1.5rem / 24px */
    line-height: 1.2;
  }

  .section-subtitle {
    font-size: var(--text-base);
    max-width: 100%;
  }

  /* Hero */
  .hero {
    padding-bottom: 60px;
    align-items: flex-end;
    min-height: 100svh;
  }

  .hero__content { max-width: 100%; }

  .hero__title {
    font-size: clamp(2rem, 9vw, 2.75rem);
    margin-bottom: 16px;
  }

  .hero__subtitle {
    font-size: var(--text-base);
    margin-bottom: 28px;
  }

  .hero__tag { margin-bottom: 16px; }

  .hero__actions {
    flex-direction: column;
    gap: 10px;
  }

  .hero__actions .btn-primary,
  .hero__actions .btn-ghost {
    text-align: center;
    width: 100%;
  }

  /* Boutons — taille minimum 10px, jamais en dessous */
  .btn-primary,
  .btn-ghost {
    padding: 13px 24px;
    font-size: var(--text-xs); /* 10px — plancher lisible */
    letter-spacing: 0.12em;
  }

  /* Stats */
  .stats-section { padding: 48px 0; }

  .stat-number {
    font-size: 2.5rem; /* réduit de 4.5rem → 2.5rem sur mobile */
    margin-bottom: 8px;
  }

  .stat-item {
    padding: 24px 12px;
  }

  .stat-label {
    font-size: 0.5625rem; /* 9px */
    letter-spacing: 0.12em;
  }

  /* Cards véhicules */
  .vehicle-card__body {
    padding: 16px;
  }

  .vehicle-card__title {
    font-size: 1rem; /* min 1rem sur mobile */
    margin-bottom: 10px;
  }

  .vehicle-card__spec-pill {
    font-size: 0.5625rem; /* 9px */
    padding: 3px 8px;
    letter-spacing: 0.08em;
  }

  .vehicle-card__desc {
    font-size: 0.625rem;
  }

  .vehicle-card__footer {
    padding-top: 12px;
  }

  /* Filtres catalogue */
  .filter-bar {
    top: 60px;
    padding: 12px 0;
  }

  .filter-bar__inner {
    gap: 10px;
    row-gap: 8px;
  }

  .filter-group {
    gap: 6px;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .filter-group::-webkit-scrollbar { display: none; }

  .filter-group__label { display: none; }

  .filter-pill {
    padding: 6px 12px;
    font-size: 0.5625rem;
    letter-spacing: 0.08em;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .filter-reset {
    font-size: 0.5625rem;
    margin-left: 0;
    padding: 6px 0;
  }

  /* Fiche véhicule */
  .single-hero {
    padding: 80px 0 0;
  }

  .single-info__title {
    font-size: 1.375rem;
    line-height: 1.2;
  }

  .single-info__accroche {
    font-size: var(--text-base);
  }

  .quick-specs {
    grid-template-columns: 1fr 1fr;
  }

  .quick-spec {
    padding: 12px;
  }

  .quick-spec__label {
    font-size: 0.5rem;
  }

  .quick-spec__value {
    font-size: 0.75rem;
  }

  .equip-categories {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .equip-category__title {
    font-size: 0.5625rem;
    margin-bottom: 12px;
  }

  .equip-item {
    font-size: 0.625rem;
    gap: 6px;
    margin-bottom: 7px;
  }

  .specs-table td {
    padding: 10px 12px;
    font-size: 0.625rem;
  }

  /* CTA showroom */
  .cta-showroom__title {
    font-size: clamp(1.5rem, 7vw, 2.25rem);
  }

  .cta-showroom__info {
    font-size: var(--text-sm);
  }

  .cta-showroom__actions {
    flex-direction: column;
    gap: 10px;
  }

  .cta-showroom__actions .btn-primary,
  .cta-showroom__actions .btn-ghost {
    width: 100%;
    text-align: center;
  }

  /* Footer */
  .nav-desktop { display: none; }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }

  .footer-col__desc {
    font-size: 0.75rem;
    max-width: 100%;
  }

  .footer-col__links a,
  .footer-contact-item {
    font-size: 0.75rem;
  }

  .footer-bottom__copy {
    font-size: 0.5625rem;
  }

  /* WhatsApp flottant */
  .whatsapp-float {
    bottom: 20px;
    right: 16px;
    width: 48px;
    height: 48px;
  }

  .whatsapp-float svg {
    width: 22px;
    height: 22px;
  }

  .whatsapp-float__tooltip { display: none; }

  /* Pagination */
  .pagination a,
  .pagination span {
    width: 34px;
    height: 34px;
    font-size: 0.5625rem;
  }

  /* Piliers promesse */
  .promise-pillars {
    grid-template-columns: 1fr;
  }

  .pillar {
    padding: 24px 20px;
  }

  .pillar__title {
    font-size: 1rem;
  }

  .pillar__text {
    font-size: 0.75rem;
  }

  /* Swiper home */
  .featured-vehicles .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .swiper-featured .swiper-slide { width: 85vw; }

  /* Catalogue hero */
  .catalogue-hero {
    padding: 100px 0 40px;
  }
}

/* ---- Utilitaires responsive ---- */
.hide-mobile { display: block; }
.show-mobile { display: none; }

@media (max-width: 640px) {
  .hide-mobile { display: none; }
  .show-mobile { display: block; }
}
