/* annuaire-escort.be — registre « grenat et velours, cartouches »
   Palette : accent grenat #7b2d43 (favicon) · neutre chaud ivoire/lin (#fbf6ef, #f4eadf, #e3cfbd) · encre #2b1a20.
   Formes signature : cartouches à coins rentrants (titres de section, compteurs), arches (vignettes, photo de fiche,
   onglet actif, chiffres d'étapes), velours (en-tête, pied, boutons), cœur au trait en filigrane (hero, carte de dépôt).
   Base : skin-2 / compo-6 / fiche-2. Aucun CTA déplacé ni caché. */

body.aa.skin-2 {
  --aa-teinte: var(--aa-accent);
  --aa-primaire: var(--aa-accent);
  --aa-primaire-fonce: color-mix(in srgb, var(--aa-accent) 74%, #000);
  --aa-page: #efe4d8; --aa-fond: #fffaf4; --aa-surface: #fffdf9; --aa-surface-2: #f6ece2;
  --aa-bord: #e3cfbd; --aa-texte: #2b1a20; --aa-muet: #6b5559; --aa-lien: var(--aa-accent);
  --aa-tete: #561d2e; --aa-tete-txt: #fff7ef; --aa-barre: #3f1421;
  --aa-bande: var(--aa-accent); --aa-bande-txt: #fff7ef; --aa-bande-bord: #3f1421;
  --aa-secondaire: var(--aa-accent); --aa-pied: #2a1119; --aa-pied-txt: #ead9ca;
  --aa-rayon: 16px; --aa-rayon-s: 10px;
  --aa-ombre: 0 2px 4px rgba(86, 29, 46, .06), 0 18px 40px -22px rgba(123, 45, 67, .45);
  --aa-police: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --aa-police-titre: "Palatino Linotype", Palatino, "Book Antiqua", "Iowan Old Style", Georgia, serif;
  --gr-lin: #e9d3bd;
  --gr-velours: radial-gradient(120% 160% at 18% 0%, rgba(255, 255, 255, .13), transparent 55%),
    repeating-linear-gradient(100deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 4px),
    linear-gradient(160deg, #8a3650 0%, #6c2539 48%, #4a1626 100%);
  --gr-cart: radial-gradient(circle 8px at 0 0, #0000 96%, #000) top left / 51% 51% no-repeat,
    radial-gradient(circle 8px at 100% 0, #0000 96%, #000) top right / 51% 51% no-repeat,
    radial-gradient(circle 8px at 0 100%, #0000 96%, #000) bottom left / 51% 51% no-repeat,
    radial-gradient(circle 8px at 100% 100%, #0000 96%, #000) bottom right / 51% 51% no-repeat;
  --gr-cart-in: radial-gradient(circle 6px at 0 0, #0000 96%, #000) top left / 51% 51% no-repeat, radial-gradient(circle 6px at 100% 0, #0000 96%, #000) top right / 51% 51% no-repeat, radial-gradient(circle 6px at 0 100%, #0000 96%, #000) bottom left / 51% 51% no-repeat, radial-gradient(circle 6px at 100% 100%, #0000 96%, #000) bottom right / 51% 51% no-repeat;
  --gr-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 58'%3E%3Cpath d='M32 54C14 41 4 31 4 18.5 4 10 10.5 4 18.5 4 24.5 4 29.5 7.5 32 12.5 34.5 7.5 39.5 4 45.5 4 53.5 4 60 10 60 18.5 60 31 50 41 32 54Z' fill='none' stroke='%237b2d43' stroke-width='1.6'/%3E%3C/svg%3E");
  --gr-coeur-pale: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 58'%3E%3Cpath d='M32 54C14 41 4 31 4 18.5 4 10 10.5 4 18.5 4 24.5 4 29.5 7.5 32 12.5 34.5 7.5 39.5 4 45.5 4 53.5 4 60 10 60 18.5 60 31 50 41 32 54Z' fill='none' stroke='%23e6cdbb' stroke-width='1.4'/%3E%3C/svg%3E");
  background-image: radial-gradient(circle at 10% 0%, rgba(123, 45, 67, .07), transparent 40%);
}

/* --- en-tête velours ---------------------------------------------------------- */
body.aa .aa-header { background: var(--gr-velours); box-shadow: 0 1px 0 var(--gr-lin), 0 10px 30px -18px rgba(74, 22, 38, .8); }
body.aa .aa-logo__mark { border-radius: 50% 50% 6px 6px; background: #fff7ef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20C6 15.6 3 12.4 3 8.6 3 6 5 4 7.6 4c1.8 0 3.4 1 4.4 2.6C13 5 14.6 4 16.4 4 19 4 21 6 21 8.6c0 3.8-3 7-9 11.4Z' fill='%237b2d43'/%3E%3C/svg%3E") center 62% / 62% no-repeat; box-shadow: 0 0 0 2px rgba(233, 211, 189, .55); }
body.aa .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; letter-spacing: .02em; font-variant: small-caps; }
body.aa .aa-logo__sous { color: #f1dfcd; opacity: 1; }
body.aa .aa-header__cta.aa-btn { background: #fff7ef; color: var(--aa-accent); border-color: var(--gr-lin); border-radius: 999px; box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .6); }
body.aa .aa-nav { background: rgba(42, 12, 22, .45); border-top: 1px solid rgba(233, 211, 189, .22); }
body.aa .aa-nav a { color: #fbeee2; border-bottom: 0; border-radius: 14px 14px 0 0; }
body.aa .aa-nav a.is-actif { background: var(--aa-fond); color: var(--aa-accent); border-bottom: 0; box-shadow: inset 0 3px 0 var(--gr-lin); }
@media (max-width: 859px) {
  body.aa .aa-nav { background: #3f1421; border: 1px solid rgba(233, 211, 189, .25); border-radius: 16px; }
  body.aa .aa-nav a { border-radius: 10px; }
  body.aa .aa-nav a.is-actif { border-left: 0; box-shadow: inset 4px 0 0 var(--aa-accent); }
  body.aa .aa-nav__cta a { background: #fff7ef; color: var(--aa-accent); }
  body.aa .aa-burger { border-color: rgba(233, 211, 189, .45); border-radius: 12px; }
}

/* --- conteneur ivoire ----------------------------------------------------------- */
body.aa .aa-main > .aa-wrap { border: 1px solid var(--aa-bord); border-radius: 22px; box-shadow: 0 1px 0 #fff inset, 0 30px 60px -40px rgba(86, 29, 46, .55); }

/* --- cartouches : titres de section --------------------------------------------- */
body.aa .aa-h2, body.aa .aa-side__h, body.aa .aa-bande, body.aa .aa-depot__bloc legend {
  position: relative; background: var(--gr-velours); color: #fff7ef; border: 0; border-radius: 0;
  -webkit-mask: var(--gr-cart); mask: var(--gr-cart); box-shadow: none;
  font-family: var(--aa-police-titre); font-variant: small-caps; text-transform: none; letter-spacing: .05em;
  font-size: 1rem; font-weight: 700; padding: .55rem 1.1rem;
}
body.aa .aa-h2::after, body.aa .aa-side__h::after, body.aa .aa-bande::after, body.aa .aa-depot__bloc legend::after {
  content: ""; position: absolute; inset: 4px; border: 1px solid rgba(233, 211, 189, .55); pointer-events: none;
  -webkit-mask: var(--gr-cart-in); mask: var(--gr-cart-in);
}
body.aa .aa-side__h { margin: -.95rem -1rem .8rem; }
body.aa .aa-bloc__tete .aa-lien { color: var(--aa-accent); font-family: var(--aa-police-titre); font-style: italic; }

/* --- hero : carte ivoire, cœur au trait en filigrane ------------------------------ */
body.aa .aa-hero { position: relative; overflow: hidden; border: 1px solid var(--aa-bord); border-radius: 22px 22px 22px 4px;
  background: var(--gr-coeur-pale) right -14px bottom -26px / 150px no-repeat, linear-gradient(140deg, #fff 0%, #f8eee4 100%);
  box-shadow: var(--aa-ombre); padding: 1.4rem 1.5rem 1.3rem; }
@media (min-width: 760px) { body.aa .aa-hero { padding-right: 8.5rem; } }
body.aa .aa-hero::before { content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 4px; border-radius: 0 4px 4px 0; background: var(--aa-accent); }
body.aa .aa-h1 { font-family: var(--aa-police-titre); font-variant: small-caps; text-transform: none; letter-spacing: .02em; color: #3a1220; font-size: clamp(1.45rem, 1rem + 1.5vw, 2.05rem); }
body.aa .aa-hero .aa-intro { color: #5a4448; max-width: 60ch; }
body.aa .aa-hero__chiffres span { background: #fff; color: var(--aa-accent); border: 1px solid var(--gr-lin); border-radius: 999px; box-shadow: 0 4px 12px -8px rgba(123, 45, 67, .6); }
body.aa .aa-hero__chiffres span::before { background: var(--aa-accent); }

/* --- lignes d'annonce : vignette en arche ---------------------------------------- */
body.aa .aa-liste { border-top: 0; gap: .35rem; }
body.aa .aa-ligne { border-bottom: 1px dashed var(--aa-bord); border-radius: 16px; padding-inline: .5rem; transition: background-color .2s ease, box-shadow .2s ease; }
body.aa .aa-ligne:hover { background: #fdf3ea; box-shadow: 0 10px 24px -18px rgba(123, 45, 67, .55); }
body.aa .aa-ligne__img { border: 2px solid var(--gr-lin); border-radius: 60px 60px 12px 12px; padding: 3px; background: #fff; box-shadow: 0 8px 18px -12px rgba(123, 45, 67, .7); }
body.aa .aa-ligne__img img { border-radius: 56px 56px 9px 9px; }
body.aa .aa-ligne:hover .aa-ligne__img img { transform: scale(1.06); }
body.aa .aa-ligne__cat { color: var(--aa-accent); font-variant: small-caps; text-transform: none; letter-spacing: .06em; font-size: .86rem; }
body.aa .aa-ligne__new, body.aa .aa-fiche__new { background: #f3e2d0; color: #5a1f31; border-radius: 999px; padding-inline: .55rem; }
body.aa .aa-ligne__titre a { color: var(--aa-accent); font-family: var(--aa-police-titre); text-decoration: none; font-size: 1.12rem; }
body.aa .aa-ligne__titre a:hover { text-decoration: underline; text-decoration-color: var(--gr-lin); }
body.aa .aa-ligne__lire.aa-btn { border-radius: 999px; border: 1.5px solid var(--aa-accent); color: var(--aa-accent); background: #fffaf4; }

/* --- boutons velours ------------------------------------------------------------- */
body.aa .aa-btn { border-radius: 14px; }
body.aa .aa-btn--primaire { background: var(--gr-velours); color: #fff7ef; border-color: #4a1626; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 10px 22px -14px rgba(123, 45, 67, .9); }
body.aa .aa-btn--secondaire { background: #fffaf4; color: var(--aa-accent); border-color: var(--aa-accent); }

/* --- colonne latérale : cartes ivoire ------------------------------------------- */
body.aa .aa-side { background: linear-gradient(180deg, #fffdf9, #f8efe6); border: 1px solid var(--aa-bord); border-radius: 18px; padding: .95rem 1rem 1rem; box-shadow: var(--aa-ombre); }
body.aa .aa-side--deposer { background: none; border: 0; box-shadow: none; }
body.aa .aa-side__liste li { border-top: 1px dotted var(--aa-bord); }
body.aa .aa-side__liste li::before { width: 7px; height: 7px; border-radius: 50% 50% 2px 2px; }
body.aa .aa-side__nb { background: #f3e2d0; border: 0; color: #5a1f31; font-weight: 700; }
body.aa .aa-side__liste--inline li { background: #fff; border-color: var(--gr-lin); }
body.aa .aa-chip { border-color: var(--gr-lin); }

/* --- blocs de liens : cartouches clairs ------------------------------------------- */
body.aa .aa-liens li { background: #fffdf9; border-color: var(--aa-bord); border-radius: 12px; padding-left: 1.25rem; }
body.aa .aa-liens li::before { width: 6px; top: 50%; bottom: auto; left: .4rem; height: 6px; border-radius: 50%; transform: translateY(-50%); }
body.aa .aa-liens li:hover { border-color: var(--aa-accent); box-shadow: 0 6px 14px -10px rgba(123, 45, 67, .7); }
body.aa .aa-liens__nb { color: #6b5559; }
body.aa .aa-side .aa-filtres { background: none; border: 0; border-radius: 0; }
body.aa .aa-layout__main .aa-filtres { background: #fbf3ea; border: 1px solid var(--aa-bord); border-radius: 18px; }
body.aa select, body.aa input[type="text"], body.aa input[type="email"], body.aa input[type="number"], body.aa textarea { border-radius: 12px; border-color: #dcc5b1; background-color: #fffdf9; }

/* --- atouts et étapes : arches ------------------------------------------------------ */
body.aa .aa-atouts li { border: 1px solid var(--aa-bord); border-radius: 18px; box-shadow: 0 10px 24px -20px rgba(123, 45, 67, .6); }
body.aa .aa-atouts .aa-atouts__ico { border-radius: 50% 50% 6px 6px; background: #f3e2d0; color: var(--aa-accent); }
body.aa .aa-atouts h3, body.aa .aa-etapes h3 { font-family: var(--aa-police-titre); color: #3a1220; }
body.aa .aa-etapes li { background: #fffdf9; border-radius: 18px; }
body.aa .aa-etapes li::before { border-radius: 50% 50% 5px 5px; background: var(--gr-velours); }

/* --- carte de dépôt centrée -------------------------------------------------------- */
body.aa .aa-deposer-cta { flex-direction: column; justify-content: center; text-align: center; max-width: 540px; margin: 1.6rem auto 0; padding: 2.3rem 1.6rem 1.5rem;
  background: var(--gr-coeur) center 14px / 34px no-repeat, linear-gradient(160deg, #fff, #f7ebdf); border: 1px solid var(--gr-lin); border-radius: 26px; box-shadow: var(--aa-ombre); }
body.aa .aa-deposer-cta__bloc { flex: 0 1 auto; }
body.aa .aa-deposer-cta__h { font-family: var(--aa-police-titre); font-variant: small-caps; font-size: 1.25rem; color: #3a1220; }
body.aa .aa-deposer-cta .aa-btn { min-width: 220px; }
body.aa .aa-bloc--deposer .aa-deposer-cta { margin: 0 auto; }

/* --- fiche : photo en arche, tableau ivoire ----------------------------------------- */
body.aa .aa-fiche__titre { font-family: var(--aa-police-titre); color: #3a1220; border-bottom: 0; padding-bottom: .6rem; background: linear-gradient(90deg, var(--aa-accent) 0 64px, var(--gr-lin) 64px 100%) left bottom / 100% 2px no-repeat; }
body.aa .aa-fiche__photo { border: 2px solid var(--gr-lin); border-radius: 150px 150px 18px 18px; padding: 6px; background: #fff; box-shadow: 0 22px 40px -26px rgba(86, 29, 46, .8); }
body.aa .aa-fiche__photo .aa-fiche__img { border-radius: 140px 140px 12px 12px; }
body.aa .aa-fiche__miniatures img { border-radius: 30px 30px 8px 8px; border-color: var(--gr-lin); }
body.aa .aa-fiche__infos { border-color: var(--aa-bord); border-radius: 16px; background: #fffdf9; }
body.aa .aa-fiche__infos > div:nth-child(odd) { background: #f8eee4; }
body.aa .aa-fiche__infos dt { color: #6b5559; }
body.aa .aa-fiche__infos dd { border-left-color: var(--aa-bord); }
body.aa .aa-fiche__cta--haut { background: linear-gradient(160deg, #fff, #f8ece1); border: 1px solid var(--gr-lin); border-radius: 18px; box-shadow: var(--aa-ombre); }
body.aa .aa-fiche__cta--bas { max-width: 520px; margin-inline: auto; background: var(--gr-coeur) center 12px / 28px no-repeat, linear-gradient(160deg, #fff, #f7ebdf); border: 1px solid var(--gr-lin); border-radius: 24px; padding: 2.4rem 1.3rem 1.2rem; box-shadow: var(--aa-ombre); }
body.aa .aa-fiche__plage { background: #f3e2d0; color: #5a1f31; border-radius: 999px; }
body.aa .aa-fiche__phy { background: #fffdf9; border-color: var(--aa-bord); border-radius: 12px; }
body.aa .aa-chips--lecture li { background: #fffdf9; border-color: var(--gr-lin); color: #3a1220; }
body.aa .aa-repondre { background: #fbf3ea; border-color: var(--aa-bord); border-radius: 20px; }
body.aa .aa-depot__bloc { border-radius: 20px; border-color: var(--aa-bord); background: #fffdf9; }
body.aa .aa-depot__bloc legend::before { background: #fff7ef; color: var(--aa-accent); }
body.aa .aa-pagination a, body.aa .aa-pagination span { border-radius: 12px; background: #fffdf9; }
body.aa .aa-pagination .is-actif { background: var(--gr-velours); color: #fff7ef; }

/* --- barre mobile ----------------------------------------------------------------- */
body.aa .aa-fiche__barre, body.aa .aa-mobar { background: rgba(255, 250, 244, .95); border-top: 1px solid var(--gr-lin); box-shadow: 0 -10px 24px -14px rgba(86, 29, 46, .55); }

/* --- pied velours sombre --------------------------------------------------------- */
body.aa .aa-footer { background: radial-gradient(90% 120% at 85% 0%, rgba(123, 45, 67, .45), transparent 60%), #2a1119; border-top: 0; box-shadow: inset 0 3px 0 var(--aa-accent), inset 0 4px 0 var(--gr-lin); border-radius: 28px 28px 0 0; margin-top: 2rem; }
body.aa .aa-footer__h { color: #ecd2b6; font-family: var(--aa-police-titre); font-variant: small-caps; text-transform: none; letter-spacing: .08em; font-size: .95rem; border-bottom-color: rgba(233, 211, 189, .25); }
body.aa .aa-footer__brand { color: #fff7ef; font-family: var(--aa-police-titre); }
body.aa .aa-footer a:hover { color: #fff; text-decoration-color: #ecd2b6; }
body.aa .aa-footer__fictif { opacity: 1; color: #cdb8aa; }
body.aa .aa-footer__bas { background: rgba(0, 0, 0, .28); }

/* --- porte et pop-up --------------------------------------------------------------- */
body.aa .aa-gate__box, body.aa .aa-popup__box { border-radius: 24px; border-top: 0; box-shadow: inset 0 4px 0 var(--aa-accent), 0 30px 60px -20px rgba(42, 12, 22, .7); background: #fffaf4; }
body.aa .aa-gate__mark { background: var(--gr-velours); border-radius: 50% 50% 14px 14px; }
body.aa .aa-popup__titre, body.aa .aa-gate__box h2 { font-family: var(--aa-police-titre); color: #3a1220; }
body.aa .aa-popup__ico { background: #f3e2d0; color: var(--aa-accent); border-radius: 50% 50% 8px 8px; }

@media (max-width: 639px) {
  body.aa .aa-bloc__tete { flex-wrap: wrap; gap: .4rem; }
  body.aa .aa-bloc__tete .aa-h2 { flex: 1 1 100%; }
  body.aa .aa-bloc__tete .aa-lien { margin-left: auto; }
  body.aa .aa-main > .aa-wrap { border-radius: 18px; }
  body.aa .aa-hero { background-size: 120px, auto; background-position: right -20px bottom -24px, 0 0; padding: 1.1rem 1.1rem 1rem; }
  body.aa .aa-ligne__img { border-radius: 50px 50px 10px 10px; }
  body.aa .aa-ligne__img img { border-radius: 46px 46px 7px 7px; }
  body.aa .aa-fiche__photo { border-radius: 130px 130px 16px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.aa .aa-ligne, body.aa .aa-ligne__img img { transition: none; }
}
