/* =====================================================================
   planq-monaco.com — registre « VIOLET PROFOND & LAITON »
   Gabarit annoncesastro-v2 (skin-5, aa-compo-2, aa-fiche-1).

   Palette : accent du favicon #4a148c (violet profond) + nuit #2a0b4e,
   laiton #b2892f / #dcb45e / #f0e3c2, papier chaud ivoire #fdfaf3 —
   parchemin #f6efe1 — sable #e9dfcc, encre #231a2e.
   Le gabarit résout --aa-primaire au niveau :root : ni la couleur du site
   ni la teinte du skin ne l'atteignent (page servie en magenta par défaut).
   Tout est donc redonné explicitement sur body.aa.

   Composition : en-tête plein violet à double filet laiton + menu en
   ONGLETS posés sur le papier, papier ivoire à filet laiton intérieur,
   titres de section en cartouche éditorial (Georgia + filet double),
   catégories en onglets, liste DENSE zébrée à vignettes en arche,
   CTA en cartouche laiton, carte d'inscription violette, fiche à photo
   en arche. Formes signature : cartouche à angles alternés (16px/4px),
   médaillon laiton, losange laiton, arche, filet double.
   ===================================================================== */

/* --- palette ---------------------------------------------------------- */
body.aa {
  --vp-violet: #4a148c;
  --vp-violet-h: #5c1fa8;
  --vp-nuit: #2a0b4e;
  --vp-laiton: #b2892f;
  --vp-laiton-clair: #dcb45e;
  --vp-laiton-pale: #f0e3c2;
  --vp-laiton-fonce: #7d5d12;
  --vp-ivoire: #fdfaf3;
  --vp-parch: #f6efe1;
  --vp-cart: 16px 4px 16px 4px;

  --aa-accent: #4a148c;
  --aa-teinte: #4a148c;
  --aa-primaire: #4a148c;
  --aa-primaire-fonce: #33095f;
  --aa-primaire-txt: #fff;
  --aa-page: #e9dfcc;
  --aa-fond: #fdfaf3;
  --aa-surface: #fdfaf3;
  --aa-surface-2: #f6efe1;
  --aa-texte: #231a2e;
  --aa-muet: #5f5468;
  --aa-bord: #ddd0b8;
  --aa-lien: #4a148c;
  --aa-tete: #2a0b4e;
  --aa-tete-txt: #f4ecdb;
  --aa-barre: #38105f;
  --aa-bande: #4a148c;
  --aa-bande-txt: #f7f1e4;
  --aa-bande-bord: #b2892f;
  --aa-secondaire: #3d0f75;
  --aa-pied: #2a0b4e;
  --aa-pied-txt: #e9dfc6;
  --aa-ok: #6f5a12;
  --aa-rayon: 10px;
  --aa-rayon-s: 4px;
  --aa-ombre: 0 2px 4px -2px rgba(42, 11, 78, .18), 0 18px 40px -30px rgba(42, 11, 78, .55);
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: Georgia, "Iowan Old Style", "Times New Roman", serif;
}

/* --- page : sable chaud, halo violet, fine trame laiton ---------------- */
body.aa {
  font-size: 15px;
  background-color: var(--aa-page);
  background-image:
    radial-gradient(1200px 400px at 50% -170px, rgba(74, 20, 140, .20), rgba(74, 20, 140, 0) 72%),
    repeating-linear-gradient(135deg, rgba(178, 137, 47, .055) 0 2px, rgba(178, 137, 47, 0) 2px 10px);
  background-attachment: scroll, fixed;
}
@media (min-width: 640px) { body.aa { font-size: 15.5px; } }

/* papier : ivoire, angles alternés, filet laiton intérieur */
body.aa .aa-main > .aa-wrap {
  background: var(--vp-ivoire);
  border: 1px solid #e2d6bf;
  border-radius: 22px 6px 22px 6px;
  box-shadow:
    inset 0 0 0 5px var(--vp-ivoire),
    inset 0 0 0 6px rgba(178, 137, 47, .30),
    0 26px 60px -44px rgba(42, 11, 78, .8);
}
@media (min-width: 960px) { body.aa .aa-main > .aa-wrap { padding: 1.7rem 1.8rem 2rem; } }

/* --- en-tête plein violet + double filet laiton ------------------------ */
body.aa .aa-header {
  background:
    radial-gradient(760px 180px at 12% 0%, rgba(124, 58, 190, .55), rgba(124, 58, 190, 0) 70%),
    linear-gradient(180deg, #3a1068 0%, #2a0b4e 62%, #230842 100%);
  box-shadow: 0 10px 26px -20px rgba(42, 11, 78, .9);
  color: var(--aa-tete-txt);
}
body.aa .aa-header::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 5px;
  background: linear-gradient(180deg, var(--vp-laiton) 0 2px, rgba(240, 227, 194, .55) 2px 3px, var(--vp-laiton-clair) 3px 5px);
}
body.aa .aa-header__in { padding-block: .8rem 0; gap: .7rem 1.2rem; }
body.aa .aa-logo__mark {
  width: 34px; height: 34px;
  border-radius: 17px 17px 4px 4px;                     /* arche */
  background: linear-gradient(160deg, #f0d795, #b2892f 58%, #8a671d);
  box-shadow: inset 0 0 0 2px rgba(42, 11, 78, .45), 0 3px 8px -4px rgba(0, 0, 0, .6);
}
body.aa .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; font-size: 1.42rem; letter-spacing: .005em; color: #fff; }
body.aa .aa-logo__sous {
  color: rgba(240, 227, 194, .88); opacity: 1;
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; margin-top: .2rem;
}

/* menu en ONGLETS posés sur le papier (desktop) */
@media (min-width: 860px) {
  body.aa .aa-nav { background: rgba(12, 4, 26, .34); box-shadow: inset 0 1px 0 rgba(220, 180, 94, .22); }
  body.aa .aa-nav ul { gap: 3px; padding-top: 5px; }
  /* le gabarit n'émet jamais `is-actif` : chaque onglet porte donc sa propre
     face ivoire translucide et son socle laiton pour se lire comme un onglet. */
  body.aa .aa-nav a {
    padding: .62rem 1rem; border-radius: 9px 9px 0 0; border-bottom: 0;
    font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .09em;
    color: #f0e6d2;
    background: linear-gradient(180deg, rgba(240, 227, 194, .16), rgba(240, 227, 194, .04));
    box-shadow: inset 0 0 0 1px rgba(220, 180, 94, .22), inset 0 -2px 0 rgba(220, 180, 94, .4);
  }
  body.aa .aa-nav a:hover {
    background: linear-gradient(180deg, rgba(240, 227, 194, .34), rgba(240, 227, 194, .14));
    color: #fff; box-shadow: inset 0 0 0 1px rgba(220, 180, 94, .45), inset 0 -3px 0 var(--vp-laiton-clair);
  }
  body.aa .aa-nav a.is-actif {
    background: var(--vp-ivoire); color: var(--vp-violet);
    box-shadow: inset 0 3px 0 var(--vp-laiton);
  }
  body.aa .aa-nav a .aa-ico { color: var(--vp-laiton-clair); }
  body.aa .aa-nav a.is-actif .aa-ico { color: var(--vp-laiton-fonce); }
}
/* tiroir mobile (mécanisme intouché : seules couleurs / angles) */
@media (max-width: 859px) {
  body.aa .aa-nav {
    background: rgba(16, 5, 34, .6);
    border: 1px solid rgba(220, 180, 94, .38);
    border-radius: 14px 4px 14px 4px;
  }
  body.aa .aa-nav a { color: #f0e6d0; border-radius: 9px 3px 9px 3px; letter-spacing: .04em; font-weight: 700; }
  body.aa .aa-nav a:hover { background: rgba(220, 180, 94, .16); }
  body.aa .aa-nav a.is-actif { background: rgba(253, 250, 243, .94); color: var(--vp-violet); border-left: 4px solid var(--vp-laiton); }
  body.aa .aa-nav__cta a { background: linear-gradient(180deg, #e7c877, #c59a34); color: var(--vp-nuit); border-radius: 12px 4px 12px 4px; }
  body.aa .aa-burger { border-color: rgba(220, 180, 94, .55); color: #f0e3c2; }
}

/* --- boutons : cartouche laiton (primaire) / double filet (secondaire) -- */
body.aa .aa-btn { border-radius: var(--vp-cart); letter-spacing: .01em; }
body.aa .aa-btn--primaire {
  background: linear-gradient(180deg, #edd08a 0%, #dcb45e 42%, #c29a38 100%);
  color: var(--vp-nuit);
  border: 1px solid #8a671d;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), inset 0 -2px 0 rgba(122, 90, 18, .35), 0 6px 16px -10px rgba(122, 90, 18, .9);
  text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
body.aa .aa-btn--primaire:hover { filter: none; background: linear-gradient(180deg, #f3daa1, #e0bb6b 45%, #c9a243); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 10px 22px -12px rgba(122, 90, 18, .95); }
body.aa .aa-btn--secondaire {
  background: var(--vp-ivoire); color: #3d0f75;
  border: 1px solid rgba(74, 20, 140, .55);
  box-shadow: inset 0 0 0 1px rgba(220, 180, 94, .45);
}
body.aa .aa-btn--secondaire:hover { background: #fff; border-color: var(--vp-violet); box-shadow: inset 0 0 0 1px var(--vp-laiton-clair), 0 6px 16px -12px rgba(42, 11, 78, .8); }
body.aa .aa-header__cta { min-height: 42px; border-radius: 14px 4px 14px 4px; }

/* --- bandeau d'accueil : parchemin, filet violet→laiton, cœur en filigrane */
body.aa .aa-hero {
  position: relative;
  background-color: #f8f1e1;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 28S3 20.2 3 11.9C3 7.5 6.4 4 10.6 4c2.4 0 4.3 1.1 5.4 2.9C17.1 5.1 19 4 21.4 4 25.6 4 29 7.5 29 11.9 29 20.2 16 28 16 28z' fill='%23b2892f' fill-opacity='.1'/%3E%3C/svg%3E"),
    linear-gradient(135deg, #fdfaf3 0%, #f6edda 60%, #f0e5cd 100%);
  background-repeat: no-repeat, no-repeat;
  background-position: right -34px top -38px, 0 0;
  background-size: 158px auto, auto;
  border: 1px solid #e3d7bf; border-left: 0;
  border-radius: 20px 4px 20px 4px;
  padding: 1.35rem 1.4rem 1.2rem 1.6rem;
  box-shadow: 0 16px 34px -30px rgba(42, 11, 78, .85);
  overflow: hidden;
}
body.aa .aa-hero::before {
  content: "";
  position: absolute; left: 0; top: 16px; bottom: 16px; width: 6px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg, var(--vp-violet), var(--vp-laiton));
}
body.aa .aa-h1 { font-family: var(--aa-police-titre); font-weight: 700; color: var(--vp-nuit); letter-spacing: 0; }
body.aa .aa-hero .aa-intro { color: #4d4356; }
body.aa .aa-hero__chiffres span {
  background: rgba(253, 250, 243, .92); color: #3d0f75;
  border: 1px solid rgba(178, 137, 47, .55);
  border-radius: 12px 3px 12px 3px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);
  padding: .26rem .8rem;
}
body.aa .aa-hero__chiffres span::before {
  width: 8px; height: 8px; border-radius: 1px;
  background: linear-gradient(135deg, #e7c877, #a8802a);
  transform: rotate(45deg);                             /* losange laiton */
}

/* --- titres : cartouche éditorial (main) / plaque violette (colonne) --- */
body.aa .aa-h2 {
  background: none; color: var(--vp-nuit);
  font-family: var(--aa-police-titre); font-size: 1.08rem; font-weight: 700;
  text-transform: none; letter-spacing: 0;
  border-left: 0; border-radius: 0;
  border-bottom: 3px double rgba(178, 137, 47, .85);
  padding: 0 0 .4rem; margin: 1.7rem 0 .85rem;
}
body.aa .aa-h2 .aa-ico { color: var(--vp-laiton); opacity: 1; }
body.aa .aa-bande {
  background: linear-gradient(180deg, var(--vp-violet-h), var(--vp-violet));
  color: #f7f1e4; border-left: 0; border-bottom: 2px solid var(--vp-laiton);
  border-radius: 14px 3px 0 0; letter-spacing: .07em; padding: .5rem .9rem;
}
body.aa .aa-bande__droite { color: #ecdfc4; opacity: 1; }
body.aa .aa-side__h {
  background: linear-gradient(180deg, var(--vp-violet-h), var(--vp-violet));
  color: #f7f1e4; border-left: 0; border-bottom: 2px solid var(--vp-laiton);
  border-radius: 15px 3px 0 0; letter-spacing: .08em; font-size: .82rem;
}
body.aa .aa-side__h .aa-ico { color: var(--vp-laiton-clair); opacity: 1; }
body.aa .aa-depot__bloc legend {
  background: linear-gradient(180deg, var(--vp-violet-h), var(--vp-violet));
  color: #f7f1e4; border-left: 0; border-bottom: 2px solid var(--vp-laiton);
  border-radius: 13px 3px 13px 3px; letter-spacing: .07em;
}
body.aa .aa-depot__bloc legend::before {
  background: linear-gradient(160deg, #f0d795, #b2892f); color: var(--vp-nuit);
  box-shadow: 0 0 0 1px rgba(42, 11, 78, .35);
}

/* --- liste DENSE : zébrée, vignette en arche, filets laiton ------------- */
body.aa .aa-liste { border-top: 2px solid rgba(178, 137, 47, .75); }
body.aa .aa-ligne {
  padding: .6rem .55rem; gap: .3rem .85rem;
  border-bottom: 1px solid #e6dac2;
}
body.aa .aa-ligne:nth-child(even) { background: rgba(246, 239, 225, .72); }
body.aa .aa-ligne:hover { background: #f4ecf8; }
body.aa .aa-ligne__img {
  width: 96px; padding: 3px;
  background: linear-gradient(160deg, #f6ecd6, #e6d6b2);
  border: 1px solid rgba(178, 137, 47, .6);
  border-radius: 30px 30px 5px 5px;                     /* arche */
  box-shadow: 0 4px 12px -8px rgba(42, 11, 78, .75);
}
body.aa .aa-ligne__img img { border-radius: 27px 27px 3px 3px; }
body.aa .aa-ligne__cat { color: var(--vp-laiton-fonce); letter-spacing: .07em; font-size: .72rem; }
body.aa .aa-ligne__new {
  background: linear-gradient(180deg, #e7c877, #c59a34); color: var(--vp-nuit);
  border-radius: 2px; letter-spacing: .07em; box-shadow: inset 0 0 0 1px rgba(122, 90, 18, .4);
}
body.aa .aa-ligne__titre { font-size: 1.02rem; }
body.aa .aa-ligne__titre a { font-family: var(--aa-police-titre); color: var(--vp-violet); font-weight: 700; }
body.aa .aa-ligne__meta { color: #5f5468; font-size: .84rem; }
body.aa .aa-ligne__meta strong { color: var(--vp-nuit); }
body.aa .aa-ligne__extrait { color: #3f374b; opacity: 1; font-size: .9rem; -webkit-line-clamp: 2; }
body.aa .aa-ligne__date { color: #6b6074; font-size: .72rem; }
body.aa .aa-ligne__lire { border-radius: 11px 3px 11px 3px; min-height: 38px; }
@media (min-width: 720px) {
  body.aa .aa-ligne { padding: .62rem .6rem; grid-template-columns: 104px minmax(0, 1fr) auto; }
  body.aa .aa-ligne__img { width: 104px; }
}

/* --- moteur, champs, pagination ---------------------------------------- */
body.aa .aa-filtres {
  background: linear-gradient(180deg, #f9f3e6, #f1e7d3);
  border: 1px solid #ddd0b8; border-radius: 18px 4px 18px 4px;
  box-shadow: inset 0 0 0 1px rgba(253, 250, 243, .8);
}
body.aa .aa-filtres__champ { color: var(--vp-laiton-fonce); letter-spacing: .1em; font-size: .73rem; }
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-color: var(--vp-ivoire); color: var(--aa-texte);
  border: 1px solid #cfbf9f; border-radius: 5px;
  box-shadow: inset 0 1px 2px rgba(74, 20, 140, .07);
}
body.aa select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--vp-laiton-fonce) 50%),
    linear-gradient(135deg, var(--vp-laiton-fonce) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px; background-repeat: no-repeat;
}
body.aa ::placeholder { color: #6f6479; opacity: 1; }
body.aa .aa-pagination a, body.aa .aa-pagination span {
  background: var(--vp-ivoire); border: 1px solid #ddd0b8; border-radius: 4px; color: var(--vp-nuit);
}
body.aa .aa-pagination a:hover { background: #fff; border-color: var(--vp-laiton); color: var(--vp-violet); }
body.aa .aa-pagination .is-actif {
  background: linear-gradient(180deg, var(--vp-violet-h), var(--vp-violet));
  color: #f7f1e4; border-color: var(--vp-laiton);
}

/* --- colonne latérale --------------------------------------------------- */
body.aa .aa-side {
  background: linear-gradient(180deg, #f9f3e6, var(--vp-parch));
  border: 1px solid #ddd0b8;
  border-radius: 16px 4px 16px 4px;
  box-shadow: 0 14px 30px -28px rgba(42, 11, 78, .85);
}
body.aa .aa-side__h { margin: -.8rem -.9rem .8rem; }
body.aa .aa-side__liste li { border-top: 1px dotted #ddd0b8; }
body.aa .aa-side__liste li::before {
  width: 7px; height: 7px; border-radius: 1px; top: .72em;
  background: linear-gradient(135deg, #e7c877, #a8802a); transform: rotate(45deg);
}
body.aa .aa-side__liste li a { color: var(--vp-nuit); }
body.aa .aa-side__liste li a:hover, body.aa .aa-side__liste li.is-actif a { color: var(--vp-violet); }
body.aa .aa-side__nb, body.aa .aa-liens__nb {
  color: var(--vp-laiton-fonce); background: rgba(253, 250, 243, .9);
  border: 1px solid rgba(178, 137, 47, .45); border-radius: 4px; font-weight: 700;
}
body.aa .aa-side__liste--inline li { background: var(--vp-ivoire); border: 1px solid #ddd0b8; border-radius: 10px 3px 10px 3px; }
body.aa .aa-side__liste--inline .aa-side__nb { border: 0; background: none; }

/* carte d'inscription : plaque violette, texte ivoire, CTA laiton */
body.aa .aa-side--inscription {
  background:
    radial-gradient(420px 150px at 15% 0%, rgba(124, 58, 190, .6), rgba(124, 58, 190, 0) 72%),
    linear-gradient(180deg, #47138a, #340c66 72%, #2b0a54);
  border: 1px solid rgba(220, 180, 94, .55);
  box-shadow: 0 18px 36px -26px rgba(42, 11, 78, .95), inset 0 0 0 1px rgba(255, 255, 255, .06);
}
body.aa .aa-side--inscription .aa-side__h {
  background: rgba(12, 4, 26, .3); color: #f3e8cf;
  border-bottom: 2px solid var(--vp-laiton);
}
body.aa .aa-side--inscription .aa-side__p { color: #e4d9c4; }
body.aa .aa-side--inscription .aa-form__aide { color: #cbbca6; }
body.aa .aa-side--inscription input[type="text"], body.aa .aa-side--inscription input[type="email"] {
  background-color: rgba(253, 250, 243, .96); color: #231a2e;
  border-color: rgba(220, 180, 94, .6);
}
body.aa .aa-side--inscription ::placeholder { color: #6f6479; }
body.aa .aa-side--inscription .aa-chip {
  background: rgba(253, 250, 243, .1); color: #f3ead6;
  border: 1px solid rgba(220, 180, 94, .5); border-radius: 4px;
}
body.aa .aa-side--inscription .aa-chip:has(input:checked) {
  background: linear-gradient(180deg, #e7c877, #c59a34); color: var(--vp-nuit);
  border-color: #8a671d; font-weight: 700;
}
body.aa .aa-side--inscription .aa-chip input { accent-color: var(--vp-laiton-clair); }
body.aa .aa-side--inscription .aa-form__err { color: #ffc9c2; }

/* --- listes de liens, catégories en ONGLETS, étapes, atouts, dépôt ----- */
body.aa .aa-liens li {
  background: var(--vp-ivoire); border: 1px solid #e0d4bd;
  border-radius: 10px 3px 10px 3px; padding: .38rem .6rem .38rem 1.1rem;
}
body.aa .aa-liens li::before {
  left: .45rem; top: 50%; width: 7px; height: 7px; bottom: auto;
  border-radius: 1px; background: linear-gradient(135deg, #e7c877, #a8802a);
  transform: translateY(-50%) rotate(45deg);
}
body.aa .aa-liens li a { color: var(--vp-nuit); }
body.aa .aa-liens li a:hover { color: var(--vp-violet); }
/* catégories en onglets : chaque onglet porte SON socle laiton — la rangée
   peut passer à la ligne sans laisser d'onglet à fond ouvert. */
body.aa.aa-compo-2 .aa-liens--cats { align-items: flex-end; gap: .35rem .3rem; }
body.aa.aa-compo-2 .aa-liens--cats li {
  background: linear-gradient(180deg, #f9f3e6, #eee3cd);
  border: 1px solid #ddd0b8; border-bottom: 2px solid var(--vp-laiton);
  border-radius: 10px 10px 0 0;
  padding: .45rem .85rem .42rem 1.2rem;
  box-shadow: inset 0 2px 0 rgba(253, 250, 243, .9);
}
body.aa.aa-compo-2 .aa-liens--cats li:hover { background: var(--vp-ivoire); box-shadow: inset 0 3px 0 var(--vp-laiton); }
body.aa .aa-etapes li {
  background: linear-gradient(180deg, #f9f3e6, var(--vp-parch));
  border: 1px solid #ddd0b8; border-radius: 14px 4px 14px 4px;
}
body.aa .aa-etapes li::before {                          /* médaillon laiton */
  background: linear-gradient(160deg, #f0d795, #b2892f 62%, #8a671d); color: var(--vp-nuit);
  box-shadow: 0 0 0 2px var(--vp-ivoire), 0 3px 8px -4px rgba(42, 11, 78, .7);
}
body.aa .aa-etapes h3 { font-family: var(--aa-police-titre); color: var(--vp-nuit); }
body.aa .aa-etapes p { color: #4d4356; }
body.aa .aa-atouts li {
  background: var(--vp-ivoire); border: 1px solid #e0d4bd;
  border-left: 3px solid var(--vp-laiton); border-radius: 12px 3px 12px 3px;
}
body.aa .aa-atouts .aa-atouts__ico {
  background: radial-gradient(circle at 34% 30%, #f5e2b4, #c89f3d 70%); color: var(--vp-nuit);
  box-shadow: inset 0 0 0 1px rgba(122, 90, 18, .35);
}
body.aa .aa-atouts h3 { color: var(--vp-nuit); }
body.aa .aa-atouts p { color: #4d4356; }
body.aa .aa-deposer-cta, body.aa .aa-bloc--deposer .aa-deposer-cta {
  background: linear-gradient(120deg, #f7efdd, #f2e6cf);
  border: 1px dashed rgba(178, 137, 47, .75);
  border-radius: 18px 4px 18px 4px;
}
body.aa .aa-deposer-cta__h { font-family: var(--aa-police-titre); color: var(--vp-nuit); }
body.aa .aa-deposer-cta__txt { color: #4d4356; }
body.aa .aa-vide { background: var(--vp-parch); border-color: rgba(178, 137, 47, .6); }
/* le duo « régions + villes » n'a qu'un bloc sur un site à une seule région :
   les pistes vides se rétractent, la liste prend toute la largeur. */
@media (min-width: 800px) {
  body.aa .aa-duo { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
  /* et la liste y reprend plusieurs colonnes au lieu d'une seule étirée */
  body.aa .aa-duo .aa-liens { grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr)); }
}

/* --- fiche d'annonce : photo en arche, tableau à filets, CTA cartouche -- */
body.aa .aa-fiche__titre {
  font-family: var(--aa-police-titre); color: var(--vp-nuit);
  border-bottom: 1px solid var(--vp-laiton);
  box-shadow: 0 3px 0 -1px rgba(74, 20, 140, .85);
}
body.aa .aa-fiche__cat a { color: var(--vp-laiton-fonce); }
body.aa .aa-fiche__new { background: linear-gradient(180deg, #e7c877, #c59a34); color: var(--vp-nuit); border-radius: 2px; }
body.aa .aa-fiche__photo {
  border: 1px solid rgba(178, 137, 47, .7); padding: 5px;
  border-radius: 150px 150px 10px 10px;                  /* arche */
  background: linear-gradient(180deg, #f6ecd6, #e8d9b8);
  box-shadow: 0 16px 34px -28px rgba(42, 11, 78, .9);
}
body.aa .aa-fiche__img { border-radius: 145px 145px 6px 6px; }
body.aa .aa-fiche__miniatures img { border: 2px solid #e0d4bd; border-radius: 16px 16px 4px 4px; }
body.aa .aa-fiche__miniatures img:hover { border-color: var(--vp-laiton); }
body.aa .aa-fiche__infos {
  border: 1px solid #ddd0b8; border-radius: 14px 4px 14px 4px;
  box-shadow: inset 0 0 0 1px rgba(253, 250, 243, .7);
}
body.aa .aa-fiche__infos > div:nth-child(odd) { background: var(--vp-parch); }
body.aa .aa-fiche__infos > div + div { border-top: 1px solid #e6dac2; }
body.aa .aa-fiche__infos dt { color: var(--vp-laiton-fonce); font-size: .84rem; text-transform: uppercase; letter-spacing: .05em; }
body.aa .aa-fiche__infos dd { border-left: 1px solid #e6dac2; color: var(--vp-nuit); }
body.aa .aa-fiche__cta--haut {
  background: linear-gradient(180deg, #f9f2e3, #f1e6d0);
  border: 1px solid rgba(178, 137, 47, .6);
  border-radius: 16px 4px 16px 4px;
  box-shadow: inset 0 0 0 1px rgba(253, 250, 243, .85);
}
body.aa .aa-fiche__cta--bas {
  background: linear-gradient(180deg, #f9f2e3, #f1e6d0);
  border: 1px dashed rgba(178, 137, 47, .75);
  border-radius: 18px 4px 18px 4px;
}
body.aa .aa-fiche__cta-sous { color: #5f5468; }
body.aa .aa-fiche__plage {
  background: rgba(220, 180, 94, .22); color: var(--vp-nuit);
  border: 1px solid rgba(178, 137, 47, .5); border-radius: 11px 3px 11px 3px; font-weight: 700;
}
body.aa .aa-fiche__phy { background: var(--vp-parch); border: 1px solid #ddd0b8; border-radius: 10px 3px 10px 3px; }
body.aa .aa-fiche__physique dt { color: var(--vp-laiton-fonce); }
body.aa .aa-fiche__physique dd { color: var(--vp-nuit); }
body.aa .aa-chips li, body.aa .aa-chip {
  background: var(--vp-ivoire); border: 1px solid #ddd0b8; border-radius: 4px; color: var(--aa-texte);
}
body.aa .aa-chips--lecture li { background: var(--vp-parch); }
body.aa .aa-chip:has(input:checked) { background: rgba(220, 180, 94, .28); border-color: var(--vp-laiton); }
body.aa .aa-repondre {
  background: linear-gradient(180deg, #f9f3e6, var(--vp-parch));
  border: 1px solid #ddd0b8; border-radius: 18px 4px 18px 4px;
}
body.aa .aa-repondre__intro { color: #4d4356; }
body.aa .aa-form__lbl { color: var(--vp-nuit); }
body.aa .aa-fiche__texte p { color: #33293f; }
body.aa .aa-crumbs a:hover { color: var(--vp-violet); }
/* dernier maillon : le chevron et le titre tronqué sur UNE seule ligne */
body.aa .aa-crumbs li:last-child { flex: 1 1 100%; display: flex; align-items: baseline; gap: .1rem; }
body.aa .aa-crumbs li:last-child span { flex: 1 1 auto; }
body.aa .aa-retour a, body.aa .aa-fiche__signaler a { color: var(--vp-violet); }

/* --- pied : nuit violette, filets et titres laiton ---------------------- */
body.aa .aa-footer {
  background:
    radial-gradient(700px 200px at 80% 0%, rgba(124, 58, 190, .35), rgba(124, 58, 190, 0) 70%),
    linear-gradient(180deg, #2a0b4e, #1f0739);
  border-top: 3px solid var(--vp-laiton);
  box-shadow: inset 0 3px 0 rgba(240, 227, 194, .22);
}
body.aa .aa-footer__h { color: var(--vp-laiton-clair); letter-spacing: .13em; border-bottom-color: rgba(220, 180, 94, .3); }
body.aa .aa-footer__brand { font-family: var(--aa-police-titre); color: #fff; }
body.aa .aa-footer__fictif { opacity: .82; }
body.aa .aa-footer a:hover { color: var(--vp-laiton-clair); }
body.aa .aa-footer__bas { background: rgba(0, 0, 0, .32); box-shadow: inset 0 1px 0 rgba(220, 180, 94, .18); }

/* --- barres fixes, pop-ups, porte (couleurs seules) -------------------- */
body.aa .aa-mobar, body.aa .aa-fiche__barre {
  background: rgba(250, 244, 232, .96);
  border-top: 2px solid var(--vp-laiton);
  box-shadow: 0 -8px 22px -14px rgba(42, 11, 78, .6);
}
body.aa .aa-gate__box, body.aa .aa-popup__box {
  background: linear-gradient(180deg, var(--vp-ivoire), #f6efe0);
  border-top: 5px solid var(--vp-laiton);
  border-radius: 20px 5px 20px 5px;
}
body.aa .aa-gate__mark {
  background: linear-gradient(160deg, #f0d795, #b2892f 62%, #8a671d); color: var(--vp-nuit);
  box-shadow: inset 0 0 0 2px rgba(42, 11, 78, .25);
}
body.aa .aa-popup__ico {
  background: radial-gradient(circle at 34% 30%, #f5e2b4, #c89f3d 70%); color: var(--vp-nuit);
}
body.aa .aa-popup__titre, body.aa .aa-gate__box h2 { font-family: var(--aa-police-titre); color: var(--vp-nuit); }
body.aa .aa-popup__texte { color: #4d4356; }
body.aa .aa-popup__fermer { background: var(--vp-parch); color: var(--vp-laiton-fonce); }
body.aa .aa-popup__fermer:hover { color: var(--vp-violet); background: #fff; }
body.aa .aa-spin { border-color: #e0d4bd; border-top-color: var(--vp-violet); }

/* --- mobile 390 : titre de section sur sa ligne, liste resserrée -------- */
@media (max-width: 640px) {
  body.aa .aa-bloc__tete { flex-wrap: wrap; row-gap: .3rem; align-items: baseline; }
  body.aa .aa-bloc__tete .aa-h2 { flex: 1 1 100%; font-size: 1.02rem; }
  body.aa .aa-bloc__tete .aa-lien { margin-left: auto; }
  body.aa .aa-hero { padding: 1.1rem 1.05rem 1rem 1.25rem; background-size: 150px auto, auto; }
  body.aa .aa-ligne { padding: .6rem .3rem; }
  body.aa .aa-ligne__img { width: 88px; }
  body.aa .aa-main > .aa-wrap { border-radius: 16px 5px 16px 5px; box-shadow: inset 0 0 0 4px var(--vp-ivoire), inset 0 0 0 5px rgba(178, 137, 47, .28), 0 18px 40px -34px rgba(42, 11, 78, .8); }
}

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