/* =========================================================
   Responsive — breakpoints : 1280 / 1024 / 768 / 480 / 390
   ========================================================= */

/* ---------- ≤ 1280px ---------- */
@media (max-width: 1280px) {
  .main-nav__link { font-size: .82rem; }
  .product-grid--6 { --cols: 3; gap: var(--space-5); }
  .product-grid--6 .product-card__desc { display: -webkit-box; }
  .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .features { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--space-6); }
  .catalog { grid-template-columns: 240px minmax(0, 1fr); }
}

/* ---------- ≤ 1024px : tablette paysage / menu mobile ---------- */
@media (max-width: 1024px) {
  :root { --header-h: 72px; --container-padding: 20px; }
  .main-nav { display: none; }
  .site-header { position: sticky; top: 0; box-shadow: 0 2px 12px rgba(0, 0, 0, .06); }
  .icon-btn.site-header__burger { display: grid; margin-inline-start: -8px; }
  .site-header__inner { gap: var(--space-3); }
  .brand__logo { height: 50px; }
  .brand__name { font-size: 1.2rem; }
  .brand__tagline { font-size: .55rem; }
  .header-action__label { display: none; }
  .header-actions { gap: var(--space-4); }

  .hero__arrow { display: none; }
  .hero__slide::before { background: linear-gradient(90deg, rgba(10, 12, 14, .92) 0%, rgba(10, 12, 14, .75) 50%, rgba(10, 12, 14, .3) 100%), linear-gradient(0deg, rgba(10, 12, 14, .7) 0%, rgba(10, 12, 14, 0) 40%); }

  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reassurance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps, .values, .realisations, .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* Catalogue : filtres en drawer */
  .catalog { grid-template-columns: minmax(0, 1fr); }
  .catalog-filters.drawer { position: fixed; inset: 0; top: 0; z-index: var(--z-drawer); visibility: hidden; }
  .catalog-filters.drawer.is-open { visibility: visible; }
  .catalog-filters .drawer__overlay { display: block; }
  .catalog-filters .drawer__head .icon-btn { display: grid; }
  .catalog-filters .drawer__foot { display: grid; }
  .catalog-filters .drawer__panel { position: absolute; width: min(88vw, 360px); transform: translateX(-100%); border: 0; border-radius: 0; max-height: none; box-shadow: var(--shadow-lg); }
  .catalog-filters.is-open .drawer__panel { transform: none; }
  .catalog-toolbar__filter-btn { display: inline-flex; }
  .catalog .product-grid { --cols: 3; }

  .product-layout, .cart-layout, .checkout-layout, .request-layout, .with-aside { grid-template-columns: minmax(0, 1fr); }
  .gallery { position: static; }
  .sticky-buy { display: flex; }
  body[data-page="product"] .whatsapp-float, body[data-page="product"] .back-to-top { bottom: 92px; }
  body[data-page="product"] .back-to-top { bottom: 160px; }
  .sticky-aside { position: static; }
  .reviews { grid-template-columns: minmax(0, 1fr); }
  .account-layout, .legal-layout { grid-template-columns: minmax(0, 1fr); }
  .account-nav { position: static; }
  .account-nav__list { display: flex; overflow-x: auto; gap: var(--space-2); scrollbar-width: none; }
  .account-nav__list::-webkit-scrollbar { display: none; }
  .account-nav__link { white-space: nowrap; width: auto; background: var(--color-white); }
  .account-nav__link--logout { margin-top: 0; }
  .toc { position: static; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .contact-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cat-about { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- ≤ 768px : tablette portrait ---------- */
@media (max-width: 768px) {
  :root { --container-padding: 16px; }
  .topbar__list li:nth-child(2) { display: none; }
  .hide-sm, .topbar__list .hide-sm { display: none; }
  .topbar__inner { justify-content: center; }
  .topbar__social { display: none; }

  .site-header .search-form { display: none; position: absolute; top: 100%; inset-inline: 0; padding: var(--space-3) var(--container-padding); background: var(--color-white); box-shadow: 0 10px 20px rgba(0, 0, 0, .08); max-width: none; }
  .site-header.is-search-open .search-form { display: flex; }
  .site-header .search-suggest { inset-inline: var(--container-padding); }
  .header-action--search-toggle { display: flex; }
  .brand__text { display: none; }

  .hero__slide { min-height: 520px; align-items: flex-start; }
  .hero__bg { object-position: 70% center; }
  .hero__content { padding-block: var(--space-10) 150px; }
  .hero__text { font-size: var(--fs-base); }
  .hero__bottom { flex-direction: column; align-items: flex-start; gap: var(--space-4); }
  .hero__features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-4); font-size: var(--fs-xs); }

  .category-grid, .category-grid--5, .category-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .product-grid, .product-grid--6, .catalog .product-grid, .product-grid--3 { --cols: 2; gap: var(--space-3); }
  .features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .features .feature:last-child { grid-column: 1 / -1; }
  .promo-duo, .split, .about-split, .grid--2, .grid--3 { grid-template-columns: minmax(0, 1fr); }
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-media__badge { inset-inline-start: 12px; }

  .page-hero { grid-template-columns: minmax(0, 1fr); }
  .page-hero__media { order: -1; min-height: 180px; }
  .page-hero__media::before { background: linear-gradient(0deg, var(--color-green) 0%, rgba(0, 107, 69, 0) 60%); }
  .page-hero--cream .page-hero__media::before { background: linear-gradient(0deg, var(--color-cream) 0%, rgba(247, 243, 233, 0) 60%); }
  .page-hero--dark .page-hero__media::before { background: linear-gradient(0deg, #121518 0%, rgba(18, 21, 24, 0) 60%); }
  .page-hero--red .page-hero__media::before { background: linear-gradient(0deg, var(--color-red) 0%, rgba(201, 0, 22, 0) 60%); }

  .newsletter__inner { flex-direction: column; align-items: stretch; text-align: start; }
  .newsletter__form { flex: none; }

  .site-footer__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); padding-block: var(--space-10) var(--space-8); }
  .site-footer__bottom-inner { flex-direction: column; align-items: flex-start; }
  .whatsapp-float { width: 52px; height: 52px; inset-inline-end: 16px; bottom: 16px; }
  .back-to-top { inset-inline-end: 21px; bottom: 80px; }

  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .choice-grid { --choice-cols: 1; }
  .stepper__item { flex-direction: column; gap: 4px; font-size: var(--fs-xs); min-height: 64px; }
  .review-box, .confirmation__grid { grid-template-columns: minmax(0, 1fr); }
  .timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-5); }
  .dash-cards { grid-template-columns: minmax(0, 1fr); }
  .order-card { grid-template-columns: 1fr auto; }
  .contact-aside { grid-template-columns: minmax(0, 1fr); }
  .not-found { grid-template-columns: minmax(0, 1fr); text-align: center; padding-block: var(--space-8); }
  .not-found__visual { order: -1; width: min(70%, 280px); margin-inline: auto; }
  .not-found p, .not-found .search-form { margin-inline: auto; }
  .not-found__links { justify-content: center; }
  .about-media img + img { inset-inline-end: 10px; bottom: -20px; }
  .map { min-height: 320px; }
  .map__card { inset-inline: var(--space-3); top: auto; bottom: var(--space-3); max-width: none; }
  .catalog-toolbar .select { min-width: 0; }
  .catalog-toolbar { align-items: stretch; }
  .catalog-toolbar__count { width: 100%; }
  .catalog-toolbar__right { width: 100%; }
  .catalog-toolbar__right .select { flex: 1; }
}

/* ---------- ≤ 480px : mobile ---------- */
@media (max-width: 480px) {
  h1 { font-size: 1.75rem; }
  .section-head { margin-bottom: var(--space-5); }
  .section-head .link-arrow { font-size: var(--fs-xs); }
  .brand__logo { height: 44px; }
  .header-actions { gap: var(--space-3); }
  .header-action__icon .icon { width: 22px; height: 22px; }
  .site-header__inner { gap: var(--space-2); }

  .hero__title { font-size: 2rem; }
  .hero__actions .btn { width: 100%; }
  .hero__features { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

  .product-card__body { padding: var(--space-3); gap: 4px; }
  .product-card__title { font-size: .84rem; }
  .product-card__desc { display: none; }
  .product-grid--6 .product-card__desc { display: none; }
  .product-card__meta .stock-dot { display: none; }
  .product-card__cta { min-height: 36px; padding-inline: var(--space-2); font-size: .78rem; }
  .product-card__cta .icon { display: none; }
  .price__current { font-size: 1rem; }
  .category-card__body { padding: var(--space-3); }

  .features { grid-template-columns: minmax(0, 1fr); }
  .why__title { font-size: var(--fs-xl); }
  .promo-card { min-height: 0; flex-direction: column; align-items: stretch; padding-bottom: 0; }
  .promo-card__content { max-width: none; }
  .promo-card__media { position: relative; inset: auto; width: auto; height: 170px; margin: var(--space-4) calc(var(--space-6) * -1) 0; z-index: 0; }
  .promo-card--green .promo-card__media { width: auto; inset: auto; }
  .promo-card--red .promo-card__media::before { background: linear-gradient(180deg, var(--color-red) 0%, rgba(201, 0, 22, 0) 45%); }

  .newsletter__field { flex-direction: column; gap: var(--space-2); }
  .newsletter__field .input, .newsletter__field .btn { border-radius: var(--radius-sm); }

  .reassurance { grid-template-columns: minmax(0, 1fr); }
  .steps, .values, .realisations, .stats { grid-template-columns: minmax(0, 1fr); }
  .cart-item { grid-template-columns: 76px minmax(0, 1fr); gap: var(--space-3); }
  .cart-item__total { grid-column: 2; text-align: start; }
  .product-buy .btn { min-width: 0; }
  .product-buy .qty { flex: 1; justify-content: space-between; }
  .product-buy .product-buy__add { flex-basis: 100%; order: 3; }
  .gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .order-card { grid-template-columns: 1fr; gap: var(--space-2); }
  .cta-band__actions, .cta-band__actions .btn { width: 100%; }
  .search-hero { flex-direction: column; }
  .auth-header__back { position: static; }
  .success-panel__actions .btn { width: 100%; }
  .grid--4 { grid-template-columns: minmax(0, 1fr); }
  .stepper { gap: var(--space-2); }
  .page-hero__stats { gap: var(--space-4); }
}

/* ---------- ≤ 390px ---------- */
@media (max-width: 390px) {
  .topbar { font-size: .68rem; }
  .brand__logo { height: 40px; }
  .header-action--search-toggle { margin-inline-end: -4px; }
  .hero__title { font-size: 1.8rem; }
  .product-grid, .product-grid--6, .catalog .product-grid { gap: var(--space-2); }
  .product-card__body { padding: var(--space-2) var(--space-3) var(--space-3); }
  .rating > span:last-child { display: none; }
  .category-grid { gap: var(--space-2); }
}
