/* Plaine Altitude, système de design V4 : page d'accueil. Ordre tiré de l'analyse des ventes du 2026-10-11 :
   packs débutant et bon cadeau en tête, rubriques, packs, meilleures ventes, démo et promo, voile neuve sur devis en 3 étapes,
   cadeaux, raisons de choisir la boutique. Chargée après carte-produit.css, categorie.css (texte de rubrique) et rubrique.css
   (titres de section, rails de cartes). */

.ac { padding-bottom: var(--sp-l); }
.ac .rb-section:first-of-type { margin-top: var(--sp-l); }
.ac h1 { margin: 0; }

/* ── Une : packs débutant (grand bloc) et bon cadeau (petit bloc) ── */
.ac-une { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(19rem, 1fr); gap: 1rem; margin-top: var(--sp-xs); }
.ac-packs { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 1rem; min-height: 33rem; padding: var(--sp-l); border-radius: 16px; overflow: hidden; isolation: isolate; color: #fff; }
.ac-packs > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.ac-packs::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(20,19,19,.82) 0%, rgba(20,19,19,.5) 48%, rgba(20,19,19,.05) 85%), linear-gradient(0deg, rgba(20,19,19,.45), rgba(20,19,19,0) 50%); }
.ac-packs .surtitre { align-self: flex-start; margin: 0; padding: 0.45rem 0.65rem; border-radius: 6px; background: rgba(20,19,19,.6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: var(--pa-turquoise); }
.ac-packs h1 { max-width: 15ch; font-size: var(--fs-3xl); line-height: 1.02; color: #fff; }
.ac-packs__texte { margin: 0; max-width: 48ch; font-size: var(--fs-md); line-height: 1.55; color: rgba(255,255,255,.88); }
.ac-contenu { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.ac-contenu li { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.7rem; border-radius: 8px; background: rgba(255,255,255,.14); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font: 700 var(--fs-xs)/1 var(--font-texte); }
.ac-contenu svg { width: 0.95rem; height: 0.95rem; color: var(--pa-turquoise); }
.ac-packs__bas { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.4rem; margin-top: 0.4rem; }
.ac-prix { display: grid; gap: 0.15rem; }
.ac-prix small { font: 700 var(--fs-2xs)/1 var(--font-texte); letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.ac-prix strong { font: 900 var(--fs-xl)/1 var(--font-titre); }
.ac-prix s { margin-left: 0.4rem; font: 600 var(--fs-sm)/1 var(--font-texte); color: rgba(255,255,255,.7); }
.ac-packs__boutons { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.ac-packs__boutons .pa-btn--fantome, .ac-sombre .pa-btn--fantome { color: #fff; border: 1px solid rgba(255,255,255,.35); }
.ac-packs__boutons .pa-btn--fantome:hover, .ac-sombre .pa-btn--fantome:hover { background: #fff; color: var(--pa-noir); border-color: #fff; }

/* Bon cadeau : carte qui affiche le montant choisi, montants en pastilles, bouton « Personnaliser » */
.ac-cadeau { display: flex; flex-direction: column; gap: 1rem; padding: 1.4rem; border-radius: 16px; background: #fff; border: 1px solid var(--bord); }
.ac-cadeau h2 { margin: 0; font-size: var(--fs-lg); line-height: 1.15; }
.ac-cadeau p { margin: 0; font-size: var(--fs-sm); line-height: 1.5; color: var(--fg-texte); }
.ac-carte { position: relative; display: grid; align-content: space-between; aspect-ratio: 1.6; padding: 1.1rem 1.2rem; border-radius: 14px; overflow: hidden; color: #fff;
  background: radial-gradient(120% 90% at 100% 0%, rgba(32,196,195,.55) 0%, rgba(32,196,195,0) 55%), var(--pa-noir); box-shadow: 0 18px 36px rgba(41,39,40,.22); }
.ac-carte::before { content: ""; position: absolute; right: -2.2rem; bottom: -2.6rem; width: 9rem; height: 9rem; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 0 0 1.4rem rgba(255,255,255,.04); }
.ac-carte__haut { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.ac-carte__haut svg.ac-carte__logo { width: 2.1rem; height: 2.1rem; fill: var(--pa-turquoise); }
.ac-carte__haut span { font: 800 var(--fs-2xs)/1.2 var(--font-texte); letter-spacing: 0.12em; text-transform: uppercase; color: var(--pa-turquoise); text-align: right; }
.ac-carte__montant { font: 900 clamp(2.2rem, 1.6rem + 2vw, 3rem)/1 var(--font-titre); letter-spacing: -0.01em; }
.ac-carte__bas { font: 600 var(--fs-2xs)/1.3 var(--font-texte); color: rgba(255,255,255,.75); }
.ac-montants { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.35rem; margin: 0; padding: 0; border: 0; }
.ac-montants legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ac-montants label { cursor: pointer; }
.ac-montants input { position: absolute; opacity: 0; pointer-events: none; }
.ac-montants span { display: grid; place-items: center; height: 2.6rem; border-radius: 8px; border: 1px solid var(--bord-fort); font: 800 var(--fs-sm)/1 var(--font-texte); color: var(--fg-titre);
  transition: border-color var(--t-normal), background-color var(--t-normal), color var(--t-normal); }
.ac-montants label:hover span { border-color: var(--pa-turquoise); }
.ac-montants input:checked + span { background: var(--pa-noir); border-color: var(--pa-noir); color: #fff; }
.ac-montants input:focus-visible + span { outline: 2px solid var(--pa-turquoise); outline-offset: 2px; }
.ac-autre { display: none; align-items: center; height: 2.75rem; padding: 0 0.9rem; border-radius: 8px; border: 1px solid var(--bord-fort); }
.ac-autre.est-ouvert { display: flex; }
.ac-autre:focus-within { border-color: var(--pa-turquoise); box-shadow: 0 0 0 3px var(--pa-turquoise-50); }
.ac-autre input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: 700 var(--fs-base)/1 var(--font-texte); color: var(--fg-titre); -moz-appearance: textfield; }
.ac-autre input::-webkit-outer-spin-button, .ac-autre input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ac-autre small { font: 600 var(--fs-sm)/1 var(--font-texte); color: var(--fg-secondaire); }
.ac-cadeau .pa-btn--bloc { margin-top: auto; }
.ac-cadeau > .ac-carte { margin: -1.4rem -1.4rem 0.2rem; border-radius: 15px 15px 0 0; box-shadow: none; }

/* ── Rubriques en accès rapide ── */
.ac-rubriques { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.ac-rubriques a { display: grid; gap: 0.6rem; height: 100%; box-sizing: border-box; padding: 0.6rem 0.6rem 0.9rem; border-radius: 16px; background: #fff; border: 1px solid var(--bord); color: inherit; text-decoration: none;
  transition: border-color var(--t-normal), box-shadow var(--t-normal), transform var(--t-normal); }
.ac-rubriques__img { aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: #f1f4f6; }
.ac-rubriques__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.2,.7,.3,1); }
.ac-rubriques b { padding: 0 0.3rem; font: 800 var(--fs-md)/1.2 var(--font-titre); color: var(--fg-titre); }
.ac-rubriques .rb-nb { padding: 0 0.3rem; margin-top: -0.4rem; }
.ac-rubriques a:hover { border-color: rgba(41,39,40,.2); box-shadow: 0 14px 34px rgba(41,39,40,.1); }
.ac-rubriques a:hover b { color: var(--pa-turquoise-text); }
@media (hover: hover) {
  .ac-rubriques a:hover { transform: translateY(-3px); }
  .ac-rubriques a:hover .ac-rubriques__img img { transform: scale(1.04); }
}

/* ── Cartes de pack : contenu du pack à la place des données techniques ── */
.cp__contenu { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; margin: 0; padding: 0; list-style: none; font: 600 var(--fs-xs)/1.35 var(--font-texte); color: var(--fg-secondaire); }
.cp__contenu li { display: inline-flex; align-items: center; gap: 0.3rem; }
.cp__contenu svg { width: 0.85rem; height: 0.85rem; color: var(--pa-turquoise-text); flex: none; }
.cp__eco { display: inline-block; margin: 0; font: 800 var(--fs-xs)/1.3 var(--font-texte); color: var(--pa-turquoise-text); }
.ac-voir-tout { display: grid; place-content: center; justify-items: center; gap: 0.6rem; min-height: 100%; padding: 1.5rem; border-radius: 16px; border: 1px dashed var(--bord-fort);
  color: var(--fg-titre); text-align: center; text-decoration: none; transition: border-color var(--t-normal), background-color var(--t-normal); list-style: none; }
.ac-voir-tout b { font: 800 var(--fs-md)/1.2 var(--font-titre); }
.ac-voir-tout span { font-size: var(--fs-sm); color: var(--fg-secondaire); }
.ac-voir-tout i { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 8px; background: var(--pa-noir); color: var(--pa-turquoise); }
.ac-voir-tout svg { width: 1.1rem; height: 1.1rem; }
.ac-voir-tout:hover { border-color: var(--pa-turquoise); background: var(--pa-turquoise-50); }
/* Rails de cartes (carrousels) : cinq cartes visibles sur ordinateur, défilement natif au-delà (scroll-snap, sans bibliothèque) ;
   flèches .mq-fleches de rubrique.css dans la tête de section, montrées par js/accueil.js quand le rail déborde. Marge haute et basse
   pour que la carte survolée (qui monte de 3 px, avec son ombre) ne soit pas rognée par le défilement. */
.ac-rail .cp-grille { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - 4 * 1rem) / 5); overflow-x: auto; scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain; scrollbar-width: none; margin: -4px 0 -2.2rem; padding: 4px 0 2.2rem; }
.ac-rail .cp-grille::-webkit-scrollbar { display: none; }
.ac-rail .cp-grille > li { scroll-snap-align: start; }
/* Écran tactile (retour de Bastien du 2026-10-16) : dans un carrousel, glisser le doigt sur une photo faisait défiler les photos de la carte et
   non le carrousel. Les photos ne défilent plus dans un carrousel tactile (première photo seule, sans les points) ; le geste passe au carrousel. */
@media (hover: none) {
  .ac-rail .cp__photos { overflow-x: hidden; scroll-snap-type: none; overscroll-behavior-x: auto; }
  .ac-rail .cp__points { display: none; }
}
.ac-rail__nav { display: flex; align-items: center; gap: 0.6rem 1.2rem; }
.mq-fleches[hidden] { display: none; }
.cp__photos--unique img { object-fit: cover; }

/* ── Voile neuve sur devis : trois étapes ── */
.ac-sombre { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--sp-l); margin-top: var(--sp-xl); padding: var(--sp-l); border-radius: 16px; background: var(--pa-noir); color: #fff; }
.ac-sombre .surtitre { color: var(--pa-turquoise); }
.ac-sombre h2 { margin: 0 0 0.8rem; font-size: var(--fs-xl); line-height: 1.15; color: #fff; }
.ac-sombre__intro > p { margin: 0 0 1.2rem; font-size: 16px; line-height: 1.65; color: rgba(255,255,255,.8); }
.ac-sombre .rb-conseil__qui { margin-bottom: 1.2rem; }
.ac-sombre .rb-conseil__qui .avatar { box-shadow: 0 0 0 2px var(--pa-turquoise); }
.ac-sombre .rb-conseil__qui b { display: block; font: 800 var(--fs-sm)/1.2 var(--font-titre); }
.ac-sombre .rb-conseil__qui small { font-size: var(--fs-xs); color: rgba(255,255,255,.7); }
.ac-etapes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; counter-reset: etape; }
.ac-etapes li { position: relative; display: grid; align-content: start; gap: 0.5rem; padding: 1.3rem 1.2rem; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); counter-increment: etape; }
.ac-etapes li::before { content: counter(etape); display: grid; place-items: center; width: 2.4rem; height: 2.4rem; margin-bottom: 0.3rem; border-radius: 8px; background: var(--pa-turquoise); color: var(--pa-noir); font: 900 var(--fs-md)/1 var(--font-titre); }
.ac-etapes b { font: 800 var(--fs-md)/1.25 var(--font-titre); }
.ac-etapes p { margin: 0; font-size: var(--fs-sm); line-height: 1.55; color: rgba(255,255,255,.75); }
.ac-sombre__boutons { display: flex; flex-wrap: wrap; gap: 0.6rem; }

/* ── Cadeaux : bon boutique et coffret baptême ── */
.ac-cadeaux { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.ac-cadeaux > li > a { display: grid; grid-template-columns: 11rem minmax(0, 1fr); align-items: center; gap: 1.4rem; height: 100%; box-sizing: border-box; padding: 1.2rem; border-radius: 16px; background: #fff; border: 1px solid var(--bord);
  color: inherit; text-decoration: none; transition: border-color var(--t-normal), box-shadow var(--t-normal); }
.ac-cadeaux > li > a:hover { border-color: rgba(41,39,40,.2); box-shadow: 0 14px 34px rgba(41,39,40,.1); }
.ac-cadeaux .ac-carte { padding: 0.8rem 0.9rem; border-radius: 10px; box-shadow: 0 10px 24px rgba(41,39,40,.2); }
.ac-cadeaux .ac-carte__montant { margin-bottom: 0.15rem; font-size: var(--fs-md); line-height: 1.1; }
.ac-cadeaux h3 { margin: 0 0 0.4rem; font: 800 var(--fs-lg)/1.2 var(--font-titre); color: var(--fg-titre); }
.ac-cadeaux p { margin: 0 0 0.7rem; font-size: var(--fs-sm); line-height: 1.55; color: var(--fg-texte); }
.ac-cadeaux .rb-tout { font-size: var(--fs-sm); }

/* ── Pourquoi nous ── */
.ac-raisons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; margin: var(--sp-xl) 0 0; padding: 0; list-style: none; }
.ac-raisons li { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 0.2rem 0.9rem; padding: 1.2rem; border-radius: 16px; background: #fff; border: 1px solid var(--bord); }
.ac-raisons li > svg { grid-row: span 2; width: 2.75rem; height: 2.75rem; padding: 0.65rem; box-sizing: border-box; border-radius: 10px; background: var(--pa-turquoise-50); color: var(--pa-turquoise-text); }
.ac-raisons b { font: 800 var(--fs-sm)/1.3 var(--font-titre); color: var(--fg-titre); }
.ac-raisons span { font-size: var(--fs-xs); line-height: 1.5; color: var(--fg-secondaire); }

@media (prefers-reduced-motion: reduce) {
  .ac-rubriques a, .ac-rubriques__img img { transition: none; }
  .ac-rubriques a:hover, .ac-rubriques a:hover .ac-rubriques__img img { transform: none; }
}

/* ── Tablette ── */
@media (max-width: 1199px) {
  .ac-une { grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem); }
  .ac-rubriques { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ac-rail .cp-grille { grid-auto-columns: calc((100% - 2 * 1rem) / 3); }
  .ac-sombre { grid-template-columns: minmax(0, 1fr); }
  .ac-raisons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-cadeaux > li > a { grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 999px) {
  .ac-une { grid-template-columns: minmax(0, 1fr); }
  .ac-packs { min-height: 30rem; padding: var(--sp-m) var(--sp-s); }
  .ac-packs::after { background: linear-gradient(0deg, rgba(20,19,19,.88) 0%, rgba(20,19,19,.55) 55%, rgba(20,19,19,.1) 100%); }
  /* Rails au doigt, comme la sélection de la page de rubrique */
  .ac-rail .cp-grille { grid-auto-columns: min(72%, 17rem); gap: 0.75rem; margin: 0 calc(-1 * var(--gouttiere)); padding: 0 var(--gouttiere) 0.5rem; scroll-padding-left: var(--gouttiere); }
  .ac-rail .cp-grille > li:nth-child(n+4) { display: flex; }
  .ac-rail .cp-grille > .ac-voir-tout { display: grid; }
  .ac-etapes { grid-template-columns: minmax(0, 1fr); }
  .ac-etapes li { grid-template-columns: 2.4rem minmax(0, 1fr); column-gap: 0.9rem; }
  .ac-etapes li::before { grid-row: span 2; margin: 0; }
  .ac-sombre { padding: var(--sp-m) var(--sp-s); }
  .ac-cadeaux { grid-template-columns: minmax(0, 1fr); }
}

/* ── Mobile ── */
@media (max-width: 639px) {
  .ac-une { margin-top: calc(var(--sp-xs) + 1rem); }
  .ac-packs { min-height: 34rem; }
  .ac-packs h1 { font-size: var(--fs-2xl); }
  .ac-packs__texte { font-size: 16px; }
  .ac-packs__boutons, .ac-packs__boutons .pa-btn { width: 100%; }
  .ac-cadeau { padding: 1.1rem; }
  .ac-cadeau > .ac-carte { margin: -1.1rem -1.1rem 0.2rem; }
  .ac-montants { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ac-rubriques { gap: 0.5rem; }
  .ac-rubriques a { padding: 0.4rem 0.4rem 0.7rem; border-radius: 12px; gap: 0.45rem; }
  .ac-rubriques b { font-size: var(--fs-xs); padding: 0 0.2rem; }
  .ac-rubriques .rb-nb { font-size: var(--fs-2xs); padding: 0 0.2rem; margin-top: -0.3rem; }
  .ac-raisons { grid-template-columns: minmax(0, 1fr); }
  .ac-cadeaux > li > a { grid-template-columns: minmax(0, 1fr); }
  .ac-cadeaux .ac-carte { max-width: 15rem; }
  .ac-sombre__boutons .pa-btn { width: 100%; }
}

/* Frise des niveaux sous les rubriques (2026-10-11, retirée de la page Parapentes) : mêmes styles que rubrique.css */
.ac-niveaux { margin: var(--sp-m) 0 0; }
.ac-niveaux__tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.4rem 1.5rem; margin-bottom: 0.8rem; }
.ac-niveaux__tete h2, .ac-niveaux__tete h3 { margin: 0; font: 800 var(--fs-md)/1.2 var(--font-titre); color: var(--fg-titre); }
/* Cartes des rubriques : image pleine largeur jusqu'aux bords de la carte, coins du bas droits (décision du 2026-10-13) */
.ac-rubriques a { padding: 0 0 0.9rem; overflow: hidden; }
.ac-rubriques__img { border-radius: 0; }
.ac-rubriques b, .ac-rubriques .rb-nb { padding-inline: 0.9rem; }
@media (max-width: 639px) {
  .ac-rubriques a { padding: 0 0 0.7rem; }
  .ac-rubriques b, .ac-rubriques .rb-nb { padding-inline: 0.6rem; }
}
/* Coffret baptême : recto réel de la carte (dessin doré sur fond noir), à la place de la carte dessinée (2026-10-13) */
.ac-cadeaux .ac-carte-photo { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; border-radius: 10px; box-shadow: 0 10px 24px rgba(41,39,40,.2); }
@media (max-width: 639px) { .ac-cadeaux .ac-carte-photo { max-width: 15rem; } }
/* Bon cadeau : « Non valable sur les baptêmes » en bas à droite de la carte (2026-10-13) */
.ac-carte__bas { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 0.75rem; }
.ac-carte__bas--seul { justify-content: flex-end; }
.ac-carte__hors { flex: none; padding: 0.25rem 0.5rem; border-radius: 6px; background: rgba(255,255,255,.12); font: 800 var(--fs-2xs)/1.2 var(--font-texte); color: #fff; text-align: right; }
.ac-cadeaux .ac-carte__hors { padding: 0.15rem 0.35rem; font-size: 0.5625rem; }
/* Une : colonne de droite en deux blocs, bon cadeau plus bas (2/3) et coffret baptême de parapente (1/3) (2026-10-13) */
.ac-une__cadeaux { display: grid; grid-template-rows: 2fr 1fr; gap: 1rem; min-width: 0; }
.ac-cadeau { gap: 0.75rem; padding: 1.1rem 1.2rem; }
.ac-cadeau > .ac-carte { aspect-ratio: auto; gap: 0.6rem; margin: -1.1rem -1.2rem 0.1rem; padding: 0.9rem 1.1rem 0.8rem; }
.ac-cadeau > .ac-carte::before { width: 7rem; height: 7rem; }
.ac-cadeau > .ac-carte .ac-carte__haut svg.ac-carte__logo { width: 1.7rem; height: 1.7rem; }
.ac-cadeau > .ac-carte .ac-carte__montant { font-size: clamp(1.9rem, 1.5rem + 1.2vw, 2.4rem); }
.ac-cadeau .ac-montants span { height: 2.4rem; }
.ac-coffret { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-radius: 16px; background: #fff; border: 1px solid var(--bord); color: inherit; text-decoration: none;
  transition: border-color var(--t-normal), box-shadow var(--t-normal); }
.ac-coffret:hover { border-color: var(--pa-turquoise); box-shadow: 0 10px 24px rgba(41,39,40,.08); }
.ac-coffret img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; border-radius: 10px; box-shadow: 0 10px 24px rgba(41,39,40,.2); }
.ac-coffret__texte { display: grid; gap: 0.35rem; }
.ac-coffret .surtitre { margin: 0; }
.ac-coffret b { font: 800 var(--fs-md)/1.2 var(--font-titre); color: var(--fg-titre); }
.ac-coffret .rb-tout { margin-top: 0.2rem; }
@media (max-width: 639px) {
  .ac-cadeau { padding: 1rem; }
  .ac-cadeau > .ac-carte { margin: -1rem -1rem 0.1rem; }
  .ac-coffret { gap: 0.8rem; padding: 0.9rem; }
  .ac-coffret b { font-size: var(--fs-base); }
}
@media (max-width: 999px) { .ac-une__cadeaux { grid-template-rows: auto; } }
/* Bon cadeau en version Noël (2026-10-13) : classe ac-carte--noel sur la carte, à retirer après les fêtes.
   Lueur dorée, flocons, étoiles, reflet toutes les 6 s, voile du logo qui plane dans la moitié droite. */
.ac-carte--noel { background: radial-gradient(120% 90% at 100% 0%, rgba(255,189,32,.42) 0%, rgba(255,189,32,0) 55%), var(--pa-noir); }
.ac-carte--noel .ac-carte__haut span { color: #ffd25c; }
.ac-carte--noel .ac-carte__haut svg.ac-carte__logo { fill: #ffd25c; }
.ac-carte--noel > .ac-carte__haut, .ac-carte--noel > .ac-carte__montant, .ac-carte--noel > .ac-carte__bas { position: relative; z-index: 2; }
.ac-noel, .ac-noel__neige, .ac-noel__etoiles { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.ac-noel__neige i { position: absolute; top: -8px; left: var(--x); width: var(--t); height: var(--t); border-radius: 50%; background: #fff; opacity: var(--o); filter: blur(.3px);
  animation: ac-noel-chute var(--d) linear var(--r) infinite; }
@keyframes ac-noel-chute { 0% { transform: translate(0, 0); } 50% { transform: translate(var(--g), 110px); } 100% { transform: translate(0, 230px); } }
.ac-noel__etoiles i { position: absolute; width: var(--t); height: var(--t); background: #fff; clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
  animation: ac-noel-scintille 3.2s ease-in-out var(--r) infinite; }
@keyframes ac-noel-scintille { 0%, 100% { opacity: .15; transform: scale(.6) rotate(0); } 50% { opacity: .95; transform: scale(1) rotate(45deg); } }
.ac-noel__voile { position: absolute; top: 34%; left: 42%; width: 2rem; height: 2rem; animation: ac-noel-plane 16s linear infinite; }
.ac-noel__voile svg { width: 100%; height: 100%; fill: #ffd25c; animation: ac-noel-balance 3s ease-in-out infinite; }
@keyframes ac-noel-plane { 0% { transform: translate(0, 14px); opacity: 0; } 12% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translate(15rem, -10px); opacity: 0; } }
@keyframes ac-noel-balance { 0%, 100% { transform: rotate(-6deg) translateY(0); } 50% { transform: rotate(5deg) translateY(6px); } }
.ac-carte--noel::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255,230,160,.28) 48%, rgba(255,255,255,.4) 50%, rgba(255,230,160,.28) 52%, transparent 65%);
  transform: translateX(-120%); animation: ac-noel-reflet 6s ease-in-out 1s infinite; }
@keyframes ac-noel-reflet { 0% { transform: translateX(-120%); } 30%, 100% { transform: translateX(120%); } }
@media (max-width: 639px) { .ac-noel__voile { left: 38%; width: 1.7rem; height: 1.7rem; } @keyframes ac-noel-plane { 0% { transform: translate(0, 14px); opacity: 0; } 12% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translate(10rem, -10px); opacity: 0; } } }
@media (prefers-reduced-motion: reduce) {
  .ac-carte--noel *, .ac-carte--noel::after { animation: none !important; }
  .ac-carte--noel::after { display: none; }
  .ac-noel__neige i { transform: translateY(calc(var(--o) * 140px)); }
  .ac-noel__voile { transform: translate(8rem, 0); }
}
.ac-voir-tout-li { list-style: none; }

/* ── Intégration WordPress (2026-10-14) : blocs éditables de la page d'accueil (theme/plaine-altitude/parts/accueil-*.php) ── */
/* Bandeau sans bon cadeau à côté ; fond vidéo */
.ac-une--seul { grid-template-columns: minmax(0, 1fr); }
/* ACF enveloppe les blocs intérieurs (bon cadeau du bandeau) : l'enveloppe ne compte pas dans la grille */
.ac-une__cadeaux > .acf-innerblocks-container { display: contents; }
.ac-packs > video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
/* Titres et paragraphes libres posés entre les blocs */
.ac > .wp-block-heading { margin: var(--sp-xl) 0 0; font-size: var(--fs-xl); line-height: 1.15; }
.ac > p { max-width: 70ch; margin: var(--sp-s) 0 0; font-size: 16px; line-height: 1.65; color: var(--fg-secondaire); }
/* Bandeaux noirs à photo (bannière, pack, avis d'Hervé, boutique) : .rb-conseil de rubrique.css */
.ac-banniere .surtitre { color: var(--pa-turquoise); }
.ac-banniere .rb-conseil__photo { background: #fff; }
.ac-citation { margin: 0; }
.ac-citation p { font-size: var(--fs-md); font-style: italic; }
.ac-boutique { display: grid; gap: 0.7rem; margin: 0; font-size: var(--fs-sm); line-height: 1.5; }
.ac-boutique dt { font: 800 var(--fs-2xs)/1.2 var(--font-texte); letter-spacing: 0.08em; text-transform: uppercase; color: var(--pa-turquoise); }
.ac-boutique dd { margin: 0.15rem 0 0; color: rgba(255,255,255,.85); }
.ac-boutique a { color: #fff; }
/* Avis clients et derniers articles : cartes blanches, photo bord à bord */
.ac-avis, .ac-articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.ac-avis > li { display: grid; align-content: start; gap: 0.6rem; padding: 1.2rem; border-radius: 16px; background: #fff; border: 1px solid var(--bord); }
.ac-avis__note { display: flex; gap: 0.15rem; color: #f5a300; }
.ac-avis__note svg { width: 1rem; height: 1rem; fill: currentColor; }  /* étoiles des cartes produit */
.ac-avis blockquote { margin: 0; }
.ac-avis blockquote p { margin: 0; font-size: var(--fs-sm); line-height: 1.6; color: var(--fg-texte); }
.ac-avis__qui { margin: 0; font-size: var(--fs-xs); color: var(--fg-secondaire); }
.ac-avis__qui a { color: var(--pa-turquoise-text); }
.ac-articles a { display: grid; height: 100%; border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid var(--bord); color: inherit; text-decoration: none; transition: border-color var(--t-normal), box-shadow var(--t-normal); }
.ac-articles a:hover { border-color: rgba(41,39,40,.2); box-shadow: 0 14px 34px rgba(41,39,40,.1); }
.ac-articles img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
.ac-articles__corps { display: grid; align-content: start; gap: 0.4rem; padding: 1rem 1.1rem 1.2rem; }
.ac-articles time { font: 700 var(--fs-2xs)/1.2 var(--font-texte); letter-spacing: 0.06em; text-transform: uppercase; color: var(--fg-secondaire); }
.ac-articles b { font: 800 var(--fs-md)/1.25 var(--font-titre); color: var(--fg-titre); }
.ac-articles__corps > span { font-size: var(--fs-sm); line-height: 1.55; color: var(--fg-texte); }
/* Lettre d'information : l'encart du pied de page, sur fond noir */
.ac-lettre .nl-pied--a1 { margin: 0; padding: var(--sp-l); border: 0; border-radius: 16px; background: var(--pa-noir); color: rgba(255,255,255,.8); }
@media (max-width: 999px) {
  .ac-avis, .ac-articles { grid-template-columns: minmax(0, 1fr); }
  .ac-lettre .nl-pied--a1 { padding: var(--sp-m) var(--sp-s); }
}
/* Bas de la carte du bon (2026-10-16) : mention sur deux lignes (« Stages : non valable sur les frais pédagogiques », « Non valable sur les
   baptêmes ») ; quand la place manque, elle passe sous l'adresse au lieu de l'écraser */
.ac-carte__bas { flex-wrap: wrap; row-gap: 0.45rem; }
.ac-carte__bas > span:first-child:not(.ac-carte__hors) { flex: 1 1 10rem; }
.ac-carte__hors { margin-left: auto; }

/* Corrections de Bastien (2026-11-08, n°10 et 11) : sur mobile, boutons à pastille pleine largeur avec la pastille collée à droite
   (comme pa-btn--bloc) ; cartes « Idées cadeaux » avec le visuel bord à bord en haut, coins du haut arrondis, bas droit */
@media (max-width: 639px) {
  .ac-sombre__boutons .pa-btn--pastille, .ac-packs__boutons .pa-btn--pastille { justify-content: space-between; padding-left: 0.4em; }
  .ac-sombre__boutons .pa-btn--pastille::before, .ac-packs__boutons .pa-btn--pastille::before { content: ""; width: 2.3em; flex: none; }
  .ac-cadeaux > li > a { gap: 1rem; padding: 0 0 1.2rem; overflow: hidden; }
  .ac-cadeaux > li > a > div { padding-inline: 1.2rem; }
  .ac-cadeaux .ac-carte, .ac-cadeaux .ac-carte-photo { max-width: none; width: 100%; box-sizing: border-box; border-radius: 0; box-shadow: none; }
  .ac-cadeaux .ac-carte { padding: 1rem 1.2rem; }
  .ac-cadeaux .ac-carte__montant { font-size: var(--fs-xl); }
  .ac-cadeaux .ac-carte__hors { padding: 0.25rem 0.5rem; font-size: var(--fs-2xs); }
}
