/* =====================================================================
   trans-monaco.com — registre « LAVANDE & ENCRE » (gabarit annoncesastro-v2)
   Palette : violet du favicon #6a1b9a → #6f21a0 / #57177f (liens) ·
   lavande #e8e1f5 (page) #e9dff8 (bandeaux) · chaud #fffdf7 (ivoire) #f8f2e7 (lin) ·
   encre #241a33 (texte, en-tête, colonne, pied).
   Composition : en-tête compact CENTRÉ fermé par une VAGUE · hero en carte-arche
   centrée à cœur en filigrane · bandeaux de contenu en champ lavande à cap
   d'ARCHE, bandeaux de colonne en encre · lignes à photo en ARCHE et séparateurs
   en VAGUE · compteurs, étapes, tranche d'âge en MÉDAILLONS · fiche en COLONNE
   UNIQUE LARGE (portrait en scène, identité en deux colonnes, appel centré) ·
   pied à vague haute.  Formes : arche · vague · médaillon · cartouche · cœur.
   ===================================================================== */

/* --- 1. palette ------------------------------------------------------- */
body.aa,
body.aa.skin-3 {
  --aa-teinte: #6a1b9a;
  --aa-primaire: #6f21a0; --aa-primaire-fonce: #4b1272; --aa-primaire-txt: #fffdf7;
  --aa-encre: #241a33; --aa-violet-txt: #57177f;
  --aa-lavande: #f2ecfb; --aa-lavande-2: #e9dff8;
  --aa-lin: #f8f2e7;
  --aa-page: #e8e1f5; --aa-fond: #fffdf7; --aa-surface: #fffdf7; --aa-surface-2: #f8f2e7;
  --aa-texte: #241a33; --aa-muet: #5c5372; --aa-bord: #dccdef; --aa-lien: #57177f;
  --aa-tete: #241a33; --aa-tete-txt: #fffdf7; --aa-barre: #33254a;
  --aa-bande: #e9dff8; --aa-bande-txt: #241a33; --aa-bande-bord: #6f21a0;
  --aa-secondaire: #241a33; --aa-pied: #241a33; --aa-pied-txt: #ded2ef;
  --aa-rayon: 12px; --aa-rayon-s: 8px;
  --aa-ombre: 0 2px 4px rgba(75, 18, 114, .06), 0 18px 38px -22px rgba(75, 18, 114, .38);
  --aa-police: "Segoe UI", Roboto, system-ui, "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --aa-vague: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='7' viewBox='0 0 48 7'%3E%3Cpath d='M0 5Q6-1 12 5T24 5T36 5T48 5' fill='none' stroke='%236f21a0' stroke-opacity='.55' stroke-width='1.8'/%3E%3C/svg%3E");
  --aa-vague-page: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='13' viewBox='0 0 120 13' preserveAspectRatio='none'%3E%3Cpath d='M0 13V7Q15-2 30 7T60 7T90 7T120 7V13Z' fill='%23e8e1f5'/%3E%3C/svg%3E");
  --aa-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 24 24'%3E%3Cpath d='M12 21S3.6 15.7 2.2 11.3C.9 7.4 3.1 4.4 6.3 4.4c2 0 3.5 1.1 4.3 2.4l1.4 2 1.4-2c.8-1.3 2.3-2.4 4.3-2.4 3.2 0 5.4 3 4.1 6.9C20.4 15.7 12 21 12 21z' fill='%236f21a0' fill-opacity='.055'/%3E%3C/svg%3E");
}

/* --- 2. page : lavande tiédie d'une lueur sable ----------------------- */
body.aa.skin-3 {
  background-color: var(--aa-page);
  background-image:
    radial-gradient(760px 380px at 12% -120px, rgba(111, 33, 160, .14), transparent 72%),
    radial-gradient(640px 340px at 96% 2%, rgba(205, 160, 105, .20), transparent 72%);
  background-repeat: no-repeat; background-attachment: fixed; font-size: 15px;
}
@media (min-width: 640px) { body.aa.skin-3 { font-size: 16px; } }
body.aa .aa-main > .aa-wrap { background: var(--aa-fond); border: 1px solid #e6dbf3; border-radius: 22px; box-shadow: var(--aa-ombre); }
body.aa .aa-h1, body.aa .aa-fiche__titre { font-family: var(--aa-police-titre); font-weight: 700; font-style: normal; letter-spacing: -.005em; }

/* --- 3. en-tête compact centré, fermé par une vague ------------------- */
body.aa .aa-header { background: linear-gradient(180deg, #2b2040, var(--aa-encre) 70%); box-shadow: none; padding-bottom: 13px; }
body.aa .aa-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 13px;
  background: var(--aa-vague-page) repeat-x bottom center / 120px 13px; pointer-events: none;
}
body.aa .aa-logo__txt { font-family: var(--aa-police-titre); font-style: normal; font-weight: 700; font-size: 1.22rem; letter-spacing: .01em; }
body.aa .aa-logo__sous { color: #c9bcdd; opacity: 1; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
body.aa .aa-logo__mark { width: 26px; height: 26px; border-radius: 14px 14px 5px 5px; background: linear-gradient(160deg, #9b57c9, var(--aa-primaire) 70%); box-shadow: inset 0 0 0 2px rgba(255, 253, 247, .3); }
body.aa .aa-nav { background: transparent; }
body.aa .aa-nav a { color: #e6dcf4; font-weight: 600; border-bottom: 0; border-radius: 999px; }
body.aa .aa-nav a:hover { background: rgba(255, 253, 247, .12); color: #fffdf7; }
body.aa .aa-nav a.is-actif { background: var(--aa-primaire); color: #fffdf7; box-shadow: 0 6px 14px -8px rgba(0, 0, 0, .6); }
body.aa .aa-header__cta { border-radius: 999px; min-height: 40px; }
body.aa .aa-burger { border-color: rgba(255, 253, 247, .3); border-radius: 12px; color: #f2ecfb; }
@media (min-width: 860px) {
  body.aa .aa-header__in { grid-template-columns: 1fr auto 1fr; grid-template-areas: ". logo cta" "nav nav nav"; gap: .5rem 1rem; padding-block: .85rem 0; }
  body.aa .aa-logo { grid-area: logo; justify-self: center; flex-direction: column; align-items: center; gap: .3rem; text-align: center; }
  body.aa .aa-logo__bloc { justify-items: center; }
  body.aa .aa-header__cta { grid-area: cta; justify-self: end; }
  body.aa .aa-nav ul { justify-content: center; }
  body.aa .aa-nav a { padding: .6rem 1.05rem; }
}
@media (max-width: 859px) {
  body.aa .aa-header__in { grid-template-columns: 44px minmax(0, 1fr) 44px; grid-template-areas: ". logo burger" "nav nav nav"; align-items: center; gap: 0 .3rem; }
  body.aa .aa-logo { justify-self: center; text-align: center; }
  body.aa .aa-nav { background: rgba(255, 253, 247, .07); }
}

/* --- 4. hero : carte-arche centrée, vague sous le titre, cœur --------- */
body.aa .aa-hero {
  position: relative; overflow: hidden; text-align: center;
  background: linear-gradient(180deg, var(--aa-lavande) 0%, var(--aa-fond) 62%);
  border: 1px solid #e3d6f2; border-left: 1px solid #e3d6f2; border-radius: 26px 26px 14px 14px;
  padding: 1.6rem 1.3rem 1.3rem; margin-bottom: 1.4rem; box-shadow: 0 16px 30px -24px rgba(75, 18, 114, .5);
}
body.aa .aa-hero::after {
  content: ""; position: absolute; right: -10px; bottom: -18px; width: 118px; height: 118px;
  background: var(--aa-coeur) no-repeat center / contain; pointer-events: none;
}
body.aa .aa-hero .aa-h1 { position: relative; padding-bottom: .6rem; margin-bottom: .6rem; }
body.aa .aa-hero .aa-h1::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 152px; height: 7px; background: var(--aa-vague) repeat-x center / 48px 7px; }
body.aa .aa-hero .aa-intro { margin-inline: auto; color: var(--aa-muet); }
body.aa .aa-hero__chiffres { justify-content: center; }
body.aa .aa-hero__chiffres span { background: var(--aa-fond); border: 1px solid var(--aa-bord); color: var(--aa-violet-txt); box-shadow: 0 4px 10px -8px rgba(75, 18, 114, .6); }
body.aa .aa-hero__chiffres span::before { background: var(--aa-primaire); }

/* --- 5. bandeaux : champ lavande à cap d'arche + vague ---------------- */
body.aa .aa-h2,
body.aa .aa-bande,
body.aa .aa-depot__bloc legend {
  background-color: var(--aa-lavande-2); color: var(--aa-encre);
  background-image: var(--aa-vague); background-repeat: repeat-x;
  background-position: bottom left; background-size: 48px 7px;
  border-left: 0; border-radius: 999px 10px 10px 999px;
  box-shadow: inset 8px 0 0 var(--aa-primaire), 0 1px 0 #ddccf2;
  font-family: var(--aa-police); font-style: normal; text-transform: uppercase;
  letter-spacing: .085em; font-size: .82rem; font-weight: 800;
  padding: .55rem 1rem .8rem 1.4rem;
}
body.aa .aa-h2 .aa-ico, body.aa .aa-bande .aa-ico { color: var(--aa-primaire); opacity: 1; }
body.aa .aa-bande__droite { color: var(--aa-muet); letter-spacing: 0; }
body.aa .aa-bloc__tete .aa-lien, body.aa .aa-bloc__suite .aa-lien { color: var(--aa-violet-txt); }
body.aa .aa-depot__bloc legend { padding-left: 1.1rem; }
body.aa .aa-depot__bloc legend::before { background: var(--aa-primaire); color: var(--aa-primaire-txt); box-shadow: 0 0 0 3px rgba(111, 33, 160, .14); }
body.aa .aa-depot__bloc { border: 1px solid #ece2f6; border-radius: 16px; background: var(--aa-fond); box-shadow: 0 10px 22px -20px rgba(75, 18, 114, .55); }

/* --- 6. boutons : pilule violette à lueur douce ----------------------- */
body.aa .aa-btn { border-radius: 999px; }
body.aa .aa-btn--primaire { background: linear-gradient(135deg, #7d2cb1, #59157f); border-color: transparent; color: #fffdf7; box-shadow: 0 9px 20px -10px rgba(106, 27, 154, .65), inset 0 1px 0 rgba(255, 255, 255, .2); }
body.aa .aa-btn--primaire:hover { box-shadow: 0 12px 24px -10px rgba(106, 27, 154, .78), inset 0 1px 0 rgba(255, 255, 255, .22); }
body.aa .aa-btn--secondaire { background: var(--aa-fond); color: var(--aa-violet-txt); border-color: #cbb4e4; box-shadow: 0 4px 12px -10px rgba(75, 18, 114, .6); }
body.aa .aa-btn--secondaire:hover { border-color: var(--aa-primaire); background: var(--aa-lavande); }

/* --- 7. lignes d'annonce : photo en arche, séparateur en vague -------- */
body.aa .aa-liste { border-top: 0; }
body.aa .aa-liste .aa-ligne {
  border-bottom: 0; border-radius: 14px;
  background-image: var(--aa-vague); background-repeat: repeat-x;
  background-position: bottom left; background-size: 48px 7px; padding-bottom: 1.25rem;
}
body.aa .aa-liste .aa-ligne:last-child { background-image: none; }
body.aa .aa-liste .aa-ligne:hover { background-color: var(--aa-lavande); }
body.aa .aa-ligne__img { border-radius: 40px 40px 10px 10px; border: 1px solid #e3d6f2; padding: 3px; background: var(--aa-lin); box-shadow: 0 8px 16px -12px rgba(75, 18, 114, .6); }
body.aa .aa-ligne__img img { border-radius: 37px 37px 8px 8px; }
body.aa .aa-ligne__nb { background: rgba(36, 26, 51, .82); border-radius: 999px; padding: .12rem .5rem; }
body.aa .aa-ligne__cat { background: var(--aa-lin); color: var(--aa-violet-txt); border: 1px solid #ead9c6; border-radius: 999px; padding: .1rem .6rem; letter-spacing: .07em; font-size: .68rem; }
body.aa .aa-ligne__new { background: var(--aa-lavande); color: var(--aa-violet-txt); border: 1px solid #d8c6ee; border-radius: 999px; padding: .1rem .55rem; letter-spacing: .06em; }
body.aa .aa-ligne__titre { font-family: var(--aa-police-titre); font-size: 1.1rem; }
body.aa .aa-ligne__titre a { color: var(--aa-violet-txt); font-weight: 700; }
body.aa .aa-ligne__meta { color: var(--aa-muet); }
body.aa .aa-ligne__meta strong { color: var(--aa-encre); }
body.aa .aa-ligne__extrait { color: var(--aa-texte); opacity: .82; }
body.aa .aa-ligne__lire { border-radius: 999px; min-height: 40px; padding: .35em 1.1em; }
body.aa .aa-liste--similaires .aa-ligne__img { border-radius: 32px 32px 8px 8px; }

/* --- 8. moteur, champs, chips ----------------------------------------- */
body.aa .aa-filtres { background: var(--aa-lin); border: 1px solid #ecdfcd; border-radius: 18px; padding: 1rem; }
body.aa .aa-side .aa-filtres { background: none; border: 0; padding: 0; }
body.aa .aa-filtres__champ { color: var(--aa-violet-txt); letter-spacing: .07em; font-size: .72rem; }
body.aa select, body.aa input[type="text"], body.aa input[type="email"], body.aa input[type="tel"],
body.aa input[type="number"], body.aa textarea { background: var(--aa-fond); border: 1px solid #ddcff0; border-radius: 12px; box-shadow: none; }
body.aa textarea { border-radius: 16px; }
body.aa .aa-chips li, body.aa .aa-chip { background: var(--aa-lin); border-color: #e7d9c6; border-radius: 999px; padding: .35rem .8rem; }
body.aa .aa-chip:has(input:checked) { background: var(--aa-lavande); border-color: var(--aa-primaire); color: var(--aa-violet-txt); }
body.aa .aa-chips--lecture li { background: var(--aa-lavande); border-color: #dccdef; color: var(--aa-encre); }
body.aa .aa-form__lbl { color: var(--aa-encre); }
body.aa .aa-form__compteur { border-radius: 999px; background: var(--aa-lin); border-color: #e7d9c6; }

/* --- 9. colonne latérale : cartes ivoire à en-tête d'encre ------------ */
body.aa .aa-side { background: var(--aa-fond); border: 1px solid #e6dbf3; border-radius: 18px; box-shadow: 0 12px 26px -22px rgba(75, 18, 114, .5); }
body.aa .aa-side__h {
  background-color: var(--aa-encre); color: #fffdf7;
  background-image: var(--aa-vague); background-repeat: repeat-x;
  background-position: bottom left; background-size: 48px 7px;
  border-left: 0; border-bottom: 0; border-radius: 17px 17px 0 0;
  text-transform: uppercase; letter-spacing: .09em; font-size: .76rem; font-weight: 800;
  padding: .6rem .9rem .85rem; box-shadow: none;
}
body.aa .aa-side__h .aa-ico { color: #c3a2e2; opacity: 1; }
body.aa .aa-side__liste li::before { width: 6px; height: 6px; border-radius: 50%; transform: none; background: var(--aa-primaire); }
body.aa .aa-side__liste li { border-top-color: #e9dff5; }
body.aa .aa-side__liste li a { color: var(--aa-encre); }
body.aa .aa-side__liste li.is-actif a { color: var(--aa-violet-txt); }
body.aa .aa-side__nb, body.aa .aa-liens__nb {
  display: inline-grid; place-items: center; min-width: 1.6rem; height: 1.6rem; border-radius: 50%;
  background: var(--aa-lavande); border: 1px solid #dccdef; color: var(--aa-violet-txt);
  font-weight: 700; font-size: .74rem; padding: 0;
}
body.aa .aa-side__liste--inline li { background: var(--aa-lin); border-color: #e7d9c6; }
body.aa .aa-side__liste--inline .aa-side__nb { background: none; border: 0; min-width: 0; height: auto; }
body.aa .aa-side__p, body.aa .aa-side__aide { color: var(--aa-muet); }

/* --- 10. atouts, étapes, listes de liens, appel au dépôt -------------- */
body.aa .aa-atouts li { background: var(--aa-fond); border: 1px solid #e9dff5; border-left: 0; border-radius: 6px 20px 20px 6px; box-shadow: inset 4px 0 0 var(--aa-primaire); }
body.aa .aa-atouts .aa-atouts__ico { background: var(--aa-lavande); color: var(--aa-primaire); box-shadow: 0 0 0 4px rgba(111, 33, 160, .08); }
body.aa .aa-atouts h3, body.aa .aa-etapes h3 { font-family: var(--aa-police-titre); font-size: 1rem; }
body.aa .aa-atouts p, body.aa .aa-etapes p { color: var(--aa-muet); }
body.aa .aa-etapes li { background: var(--aa-lin); border: 1px solid #ecdfcd; border-radius: 18px; }
body.aa .aa-etapes li::before { background: var(--aa-primaire); color: var(--aa-primaire-txt); box-shadow: 0 0 0 4px rgba(111, 33, 160, .12); }
body.aa .aa-liens li { background: var(--aa-fond); border: 1px solid #e9dff5; border-radius: 999px; padding: .4rem .7rem .4rem 1.3rem; }
body.aa .aa-liens li::before { top: 50%; bottom: auto; left: .6rem; width: 6px; height: 6px; border-radius: 50%; transform: translateY(-50%); background: var(--aa-primaire); }
body.aa .aa-liens li a { color: var(--aa-encre); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
body.aa .aa-liens li:hover { border-color: #d3c1e9; background: var(--aa-lavande); }
body.aa .aa-liens--villes { grid-template-columns: repeat(auto-fill, minmax(min(100%, 172px), 1fr)); }
body.aa .aa-deposer-cta,
body.aa .aa-compo-4 .aa-bloc--deposer .aa-deposer-cta {
  position: relative; overflow: hidden; justify-content: center; text-align: center;
  background: linear-gradient(180deg, var(--aa-lavande), var(--aa-fond) 70%);
  border: 1px solid #e3d6f2; border-radius: 22px; padding: 1.4rem 1.2rem;
  box-shadow: 0 14px 28px -24px rgba(75, 18, 114, .55);
}
body.aa .aa-deposer-cta::after { content: ""; position: absolute; left: -16px; bottom: -26px; width: 92px; height: 92px; background: var(--aa-coeur) no-repeat center / contain; pointer-events: none; }
body.aa .aa-deposer-cta__bloc, body.aa .aa-deposer-cta__txt { flex: 0 1 auto; }
body.aa .aa-deposer-cta__h { font-family: var(--aa-police-titre); font-size: 1.12rem; }
body.aa .aa-deposer-cta__txt { color: var(--aa-muet); }
body.aa .aa-vide { background: var(--aa-lin); border-color: #e7d9c6; border-radius: 16px; }

/* --- 11. pagination en médaillons ------------------------------------ */
body.aa .aa-pagination a, body.aa .aa-pagination span { border-radius: 999px; background: var(--aa-fond); border-color: #e0d2f1; color: var(--aa-encre); min-width: 42px; min-height: 42px; }
body.aa .aa-pagination a:hover { background: var(--aa-lavande); border-color: var(--aa-primaire); color: var(--aa-violet-txt); }
body.aa .aa-pagination .is-actif { background: var(--aa-primaire); color: var(--aa-primaire-txt); border-color: transparent; box-shadow: 0 6px 14px -8px rgba(106, 27, 154, .7); }
body.aa .aa-crumbs a:hover { color: var(--aa-violet-txt); }

/* --- 12. fiche : COLONNE UNIQUE LARGE, portrait en scène -------------- */
body.aa .aa-fiche__titre { border-bottom: 0; padding-bottom: .75rem; position: relative; }
body.aa .aa-fiche__titre::after { content: ""; position: absolute; left: 0; bottom: 0; width: 172px; height: 7px; background: var(--aa-vague) repeat-x left center / 48px 7px; }
body.aa .aa-fiche__cat a { color: var(--aa-violet-txt); }
body.aa .aa-fiche__new { background: var(--aa-lavande); color: var(--aa-violet-txt); border: 1px solid #d8c6ee; border-radius: 999px; padding: .12rem .6rem; }
body.aa .aa-fiche__photo { margin-inline: auto; border-radius: 120px 120px 16px 16px; border: 1px solid #d8c6ee; padding: 5px; background: var(--aa-lin); box-shadow: 0 18px 34px -26px rgba(75, 18, 114, .7); }
body.aa .aa-fiche__img { border-radius: 114px 114px 10px 10px; }
body.aa .aa-fiche__miniatures { justify-content: center; margin-top: .9rem; }
body.aa .aa-fiche__miniatures img { border-radius: 26px 26px 6px 6px; border-color: #e3d6f2; }
body.aa .aa-fiche__miniatures img:hover { border-color: var(--aa-primaire); }
body.aa .aa-fiche__infos { border: 1px solid #e9dff5; border-radius: 16px; }
body.aa .aa-fiche__infos > div:nth-child(odd) { background: var(--aa-lin); }
body.aa .aa-fiche__infos > div + div { border-top-color: #e9dff5; }
body.aa .aa-fiche__infos dt { color: var(--aa-violet-txt); }
body.aa .aa-fiche__infos dd { border-left-color: #e9dff5; color: var(--aa-encre); }
body.aa .aa-fiche__cta--haut { background: linear-gradient(180deg, var(--aa-lavande), var(--aa-fond) 75%); border: 1px solid #e3d6f2; border-radius: 20px; padding: 1rem; box-shadow: 0 12px 26px -22px rgba(75, 18, 114, .6); gap: .6rem; }
body.aa .aa-fiche__cta--bas { background: linear-gradient(180deg, var(--aa-lin), var(--aa-fond) 80%); border: 1px solid #ecdfcd; border-radius: 22px; padding: 1.3rem; }
body.aa .aa-fiche__cta-sous { color: var(--aa-muet); }
body.aa .aa-fiche__plage { background: var(--aa-fond); color: var(--aa-encre); border: 1px solid #d8c6ee; border-radius: 999px; padding: .5rem 1rem; font-weight: 600; box-shadow: 0 0 0 4px rgba(111, 33, 160, .07); }
body.aa .aa-fiche__phy { background: var(--aa-lin); border: 1px solid #ecdfcd; border-radius: 14px; }
body.aa .aa-fiche__physique dt { color: var(--aa-violet-txt); }
body.aa .aa-repondre { background: var(--aa-lin); border: 1px solid #ecdfcd; border-radius: 20px; padding: 1.2rem; }
body.aa .aa-fiche__texte, body.aa .aa-fiche-3 .aa-fiche__texte { border-top: 0; }
@media (min-width: 760px) {
  body.aa .aa-fiche__corps { grid-template-columns: minmax(0, 1fr); grid-template-areas: "galerie" "identite" "texte"; gap: 1.5rem; }
  body.aa .aa-fiche__galerie { background: linear-gradient(180deg, var(--aa-lavande) 0%, var(--aa-fond) 78%); border: 1px solid #e3d6f2; border-radius: 26px; padding: 1.4rem 1.2rem 1.2rem; }
  body.aa .aa-fiche__photo { max-height: min(42vh, 360px, var(--aa-ph, 360px)); }
  /* zébrure par RANGÉE sur les deux colonnes de paires */
  body.aa .aa-fiche__infos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: .95rem; }
  body.aa .aa-fiche__infos > div { border-top: 1px solid #e9dff5; background: var(--aa-fond); }
  body.aa .aa-fiche__infos > div:nth-child(4n+1), body.aa .aa-fiche__infos > div:nth-child(4n+2) { background: var(--aa-lin); }
  body.aa .aa-fiche__infos > div:nth-child(2n) { border-left: 1px solid #e9dff5; }
  body.aa .aa-fiche__infos > div:nth-child(-n+2) { border-top: 0; }
  body.aa .aa-fiche__cta--haut, body.aa .aa-fiche-3 .aa-fiche__cta--haut { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin: 1.1rem auto 0; padding: 1.1rem 1.2rem; }
  body.aa .aa-fiche__cta--bas { max-width: 560px; margin-inline: auto; }
  body.aa .aa-fiche__texte { max-width: 72ch; margin-inline: auto; }
}

/* --- 13. barres basses (couleurs seules), pop-up, porte -------------- */
body.aa .aa-fiche__barre, body.aa .aa-mobar { background: rgba(255, 253, 247, .96); border-top: 1px solid #e0d2f1; box-shadow: 0 -8px 22px -14px rgba(75, 18, 114, .45); }
body.aa .aa-gate__box, body.aa .aa-popup__box { border-top: 5px solid var(--aa-primaire); border-radius: 20px; background: var(--aa-fond); }
body.aa .aa-gate__mark { background: linear-gradient(135deg, #7d2cb1, #59157f); color: #fffdf7; }
body.aa .aa-gate__box h2, body.aa .aa-popup__titre { font-family: var(--aa-police-titre); }
body.aa .aa-popup__ico { background: var(--aa-lavande); color: var(--aa-primaire); }
body.aa .aa-popup__fermer { background: var(--aa-lin); color: var(--aa-encre); }
body.aa .aa-popup__texte { color: var(--aa-muet); }

/* --- 14. pied : vague haute sur l'encre ------------------------------ */
body.aa .aa-footer { position: relative; background: var(--aa-pied); border-top: 0; padding-top: 13px; }
body.aa .aa-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 13px;
  background: var(--aa-vague-page) repeat-x top center / 120px 13px; transform: scaleY(-1); pointer-events: none;
}
body.aa .aa-footer__brand { font-family: var(--aa-police-titre); }
body.aa .aa-footer__h { color: #c3a2e2; border-bottom-color: rgba(195, 162, 226, .28); letter-spacing: .1em; }
body.aa .aa-footer a:hover { color: #fffdf7; }
body.aa .aa-footer__bas { background: rgba(0, 0, 0, .22); }

/* --- 15. mouvement réduit ------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  body.aa .aa-ligne__img img, body.aa .aa-btn, body.aa .aa-fiche__miniatures img { transition: none !important; }
  body.aa .aa-hero { animation: none !important; }
}
