/* =========================================
= COMPOSANT — HOME GIFT (.nl-home-gift)
= Section « Mes cartes cadeaux » de l'accueil : bloc titre + texte,
= puis 3 cartes produit (wc-card réutilisé).
= Markup : home-gift.php · JS : assets/js/home-gift.js (reveal au scroll)
= (Ex nl-home-gift.css — préfixe nl- superflu, renommé avec l'extraction.)
========================================= */
/* -----------------------------------------
   BASE — DESKTOP (≥ 64rem / 1024px)
----------------------------------------- */
.nl-home-gift {
  padding: 7rem 2rem;
}

.nl-home-gift--grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

.nl-home-gift--top,
.nl-home-gift--bottom {
  display: flex;
  justify-content: center;
  width: 100%;
}

.nl-home-gift--title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-display);
  font-weight: 500;
  font-style: italic;
  line-height: 1.1;
  color: var(--primary);
}

.nl-home-gift--text {
  margin: 0;
  max-inline-size: 48rem;
  font-family: var(--SR);
  font-size: var(--text-base);
  text-align: center;
  color: var(--primary);
}

/* -----------------------------------------
   SECTION GRILLE PRODUITS — cartes cadeaux
----------------------------------------- */
.nl-home-gift--list {
  margin-top: 3rem;
}

.nl-home-gift--items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  /* Layout cards desktop : 1fr | 2fr | 2fr | 2fr | 1fr — spacers latéraux */
  grid-template-columns: 1fr repeat(3, 2fr) 1fr;
  gap: 1rem;
}
.nl-home-gift--items > li:first-child {
  grid-column-start: 2;
}

/* =========================================
   TABLETTE — < 64rem (1024px)
========================================= */
@media (max-width: 64rem) {
  .nl-home-gift {
    padding: 4rem 1rem;
  }

  .nl-home-gift--title { font-size: var(--text-3xl); }

  .nl-home-gift--items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .nl-home-gift--items > li:first-child {
    grid-column-start: auto;
  }
}

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

  .nl-home-gift--title { font-size: var(--text-2xl); }
  .nl-home-gift--text  { font-size: var(--text-sm); }

  .nl-home-gift--items {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* Reveal au scroll (home-gift.js) : texte + cartes masqués AVANT le JS,
   uniquement si scripting actif ET animations autorisées → aucun flash.
   Sans JS / GSAP absent / reduced-motion → visible (le JS révèle en fallback). */
@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .nl-home-gift--title,
  .nl-home-gift--text,
  .nl-home-gift--items > li { opacity: 0; }
}
