/* escort-ts.be — registre « violine et satin »
   Annonces trans, Belgique francophone (gabarit annoncesastro-v2, skin 4 en base).
   Palette : accent violine #7b1fa2 (couleur du favicon) · violine profond #4f1068 ·
   neutre chaud « satin ivoire » #fbf5ef / page sable rosé #efe3da · encre prune #2a1233.
   Formes signature : bandeaux en RUBAN de satin (bout entaillé, reflet), vignettes et photo
   en ARCHE, boutons en PILULE satinée, médaillon-nœud du logo, PLI de satin (vague) au-dessus
   du pied, cœurs en filigrane dans l'accueil et la colonne. Titres en Palatino. */

html:not(#_) body.aa {
  --aa-teinte: #7b1fa2;
  --aa-primaire: #7b1fa2;
  --aa-primaire-fonce: #4f1068;
  --aa-primaire-txt: #fff;
  --aa-page: #efe3da;
  --aa-fond: #fffaf6;
  --aa-surface: #fffdfb;
  --aa-surface-2: #fbf3ee;
  --aa-texte: #2a1233;
  --aa-muet: #6a5470;
  --aa-bord: #e8d6d6;
  --aa-lien: #6d1a90;
  --aa-tete: #fbf3ee;
  --aa-tete-txt: #2a1233;
  --aa-barre: #4f1068;
  --aa-bande: #7b1fa2;
  --aa-bande-txt: #fff;
  --aa-bande-bord: #4f1068;
  --aa-secondaire: #4f1068;
  --aa-pied: #2a1233;
  --aa-pied-txt: #eadcee;
  --aa-ok: #6a1b8a;
  --aa-rayon: 18px;
  --aa-rayon-s: 10px;
  --aa-ombre: 0 2px 4px rgba(79, 16, 104, .06), 0 22px 44px -26px rgba(123, 31, 162, .45);
  --aa-police: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --vs-satin: linear-gradient(100deg, #5a1378 0%, #7b1fa2 38%, #9443b6 50%, #7b1fa2 62%, #5a1378 100%);
  --vs-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237b1fa2' fill-opacity='.55' d='M12 21s-7.5-4.6-9.6-9.2C1 8.6 3 5 6.5 5c2 0 3.4 1.1 4.2 2.4h2.6C14.1 6.1 15.5 5 17.5 5 21 5 23 8.6 21.6 11.8 19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
  background:
    radial-gradient(1200px 520px at 85% -10%, rgba(123, 31, 162, .10), transparent 60%),
    radial-gradient(900px 600px at -10% 40%, rgba(233, 196, 210, .55), transparent 65%),
    var(--aa-page);
}

/* --- en-tête : satin ivoire, barre violine en ruban ------------------------------------- */
html:not(#_) .aa-header {
  background: linear-gradient(180deg, #fffaf6 0%, #f6e9e4 100%);
  color: var(--aa-tete-txt);
  box-shadow: 0 10px 24px -18px rgba(79, 16, 104, .55);
}
html:not(#_) .aa-logo__mark {
  width: 36px; height: 36px; border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, #e7c6f0 0 14%, #9443b6 32%, #6d1a90 64%, #4f1068 100%);
  box-shadow: 0 0 0 3px #fffaf6, 0 0 0 4px #c9a0d6, 0 6px 14px -6px rgba(123, 31, 162, .7);
}
html:not(#_) .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; font-size: 1.45rem; color: #4f1068; letter-spacing: .005em; }
html:not(#_) .aa-logo__sous { color: #6a5470; opacity: 1; font-size: .74rem; }
html:not(#_) .aa-header__cta { border-radius: 999px; padding-inline: 1.2em; }
html:not(#_) .aa-burger { border-color: #c9a0d6; color: #4f1068; background: #fffdfb; border-radius: 50%; }
html:not(#_) .aa-nav { background: var(--vs-satin); color: #fff; border-radius: 0; }
html:not(#_) .aa-nav a { color: #fff; border-bottom: 0; }
html:not(#_) .aa-nav a:hover { background: rgba(255, 255, 255, .12); }
html:not(#_) .aa-nav a.is-actif {
  background: #fffaf6; color: #4f1068; border-radius: 14px 14px 0 0; border-bottom: 0;
  box-shadow: inset 0 3px 0 #c9a0d6;
}
@media (max-width: 859px) {
  html:not(#_) .aa-nav { border-radius: 18px; }
  html:not(#_) .aa-nav a.is-actif { border-radius: 12px; border-left: 4px solid #e7c6f0; box-shadow: none; }
  html:not(#_) .aa-nav__cta a { background: #fffaf6; color: #4f1068; border-radius: 999px; }
}

/* --- conteneur : feuille de satin ---------------------------------------------------------- */
html:not(#_) .aa-main > .aa-wrap { border: 1px solid #ecdcd8; border-radius: 26px; box-shadow: var(--aa-ombre); }

/* --- bandeaux = rubans de satin à bout entaillé ------------------------------------------- */
html:not(#_) .aa-h2, html:not(#_) .aa-bande, html:not(#_) .aa-depot__bloc legend {
  background: var(--vs-satin); color: #fff; border-left: 0;
  border-radius: 999px 0 0 999px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 50%, 100% 100%, 0 100%);
  padding: .5rem 2rem .5rem 1rem; font-family: var(--aa-police-titre);
  text-transform: none; letter-spacing: .01em; font-size: 1.02rem; font-weight: 700;
  box-shadow: none;
}
html:not(#_) .aa-depot__bloc legend::before { background: #fffaf6; color: #4f1068; }
html:not(#_) .aa-side__h {
  background: var(--vs-satin); color: #fff; border-bottom: 0; border-left: 0;
  border-radius: 18px 18px 0 0; font-family: var(--aa-police-titre); text-transform: none;
  letter-spacing: .01em; font-size: .98rem; position: relative; padding-bottom: .65rem;
}
html:not(#_) .aa-side__h::after {
  content: ""; position: absolute; left: 50%; bottom: -7px; width: 14px; height: 14px;
  background: #6d1a90; transform: translateX(-50%) rotate(45deg); border-radius: 2px;
}
html:not(#_) .aa-bloc__tete { flex-wrap: wrap; gap: .4rem 1rem; }
html:not(#_) .aa-bloc__tete .aa-h2 { flex: 1 1 240px; }
html:not(#_) .aa-bloc__tete .aa-lien { color: #6d1a90; }

/* --- boutons : pilules satinées ------------------------------------------------------------ */
html:not(#_) .aa-btn { border-radius: 999px; }
html:not(#_) .aa-btn--primaire {
  background: var(--vs-satin); background-size: 220% 100%; background-position: 0 0;
  border-color: #4f1068; color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 10px 20px -12px rgba(123, 31, 162, .8);
  transition: background-position .5s ease, transform .15s ease, box-shadow .15s ease;
}
html:not(#_) .aa-btn--primaire:hover { background-position: 100% 0; filter: none; }
html:not(#_) .aa-btn--secondaire { background: #fffdfb; color: #4f1068; border-color: #7b1fa2; }
html:not(#_) .aa-btn--secondaire:hover { background: #f6e6f7; }

/* --- accueil : carte satin en arche asymétrique, cœurs en filigrane ------------------------ */
html:not(#_) .aa-hero {
  position: relative; overflow: hidden;
  background:
    var(--vs-coeur) no-repeat right 22px top 18px / 46px 46px,
    linear-gradient(120deg, #fffdfb 0%, #f8ebe8 55%, #f3e1ef 100%);
  border: 1px solid #ecd6dc; border-left: 0; border-radius: 120px 26px 26px 26px / 90px 26px 26px 26px;
  padding: 1.4rem 5.4rem 1.3rem 1.8rem;
  box-shadow: 0 18px 36px -26px rgba(123, 31, 162, .55);
}
html:not(#_) .aa-hero::after {
  content: ""; position: absolute; right: -40px; bottom: -60px; width: 200px; height: 140px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(148, 67, 182, .18), transparent);
  pointer-events: none;
}
html:not(#_) .aa-hero .aa-h1 { color: #4f1068; font-weight: 700; }
html:not(#_) .aa-hero .aa-intro { color: #5c4763; }
html:not(#_) .aa-hero__chiffres span { background: #fffdfb; border-color: #d7b4e0; color: #4f1068; }
html:not(#_) .aa-hero__chiffres span::before { background: #9443b6; box-shadow: 0 0 0 3px #efdaf3; }
@media (max-width: 639px) {
  html:not(#_) .aa-hero { padding: 1.2rem 1.1rem 1.1rem; border-radius: 70px 22px 22px 22px / 54px 22px 22px 22px; background-size: 30px 30px, auto; background-position: right 14px top 12px, 0 0; }
  html:not(#_) .aa-hero .aa-h1 { padding-right: 3rem; }
}

/* --- lignes d'annonce : vignettes en arche ---------------------------------------------- */
html:not(#_) .aa-liste { border-top: 0; }
html:not(#_) .aa-ligne { border-bottom: 1px solid #efe0dd; border-radius: 18px; padding-inline: .5rem; }
html:not(#_) .aa-ligne:hover { background: linear-gradient(100deg, #fbf0f3, #fffdfb 70%); }
html:not(#_) .aa-ligne__img {
  border-radius: 999px 999px 14px 14px; border: 0; padding: 3px;
  background: linear-gradient(160deg, #e7c6f0, #f6e4dc);
  box-shadow: 0 10px 18px -12px rgba(79, 16, 104, .7);
}
html:not(#_) .aa-ligne__img img { border-radius: 999px 999px 11px 11px; }
html:not(#_) .aa-ligne__cat { color: #6d1a90; }
html:not(#_) .aa-ligne__new, html:not(#_) .aa-fiche__new {
  background: #f3e3f5; color: #5a1378; border: 1px solid #d7b4e0; border-radius: 999px;
}
html:not(#_) .aa-ligne__titre { font-family: var(--aa-police-titre); }
html:not(#_) .aa-ligne__titre a { color: #4f1068; }
html:not(#_) .aa-ligne__date { color: #6a5470; }
html:not(#_) .aa-ligne__lire { border-color: #b98ac8; }

/* --- colonne latérale : coffret ivoire ----------------------------------------------------- */
html:not(#_) .aa-side { background: #fffdfb; border-color: #ecdcd8; border-radius: 18px; box-shadow: 0 14px 30px -24px rgba(79, 16, 104, .55); }
html:not(#_) .aa-side:first-child {
  background: var(--vs-coeur) no-repeat right 12px bottom 12px / 30px 30px, linear-gradient(180deg, #fffdfb, #f8ece9);
}
html:not(#_) .aa-side__liste li::before { background: #9443b6; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
html:not(#_) .aa-side__nb { background: #f6ebf2; border-color: #e3cde0; color: #5a1378; }
html:not(#_) .aa-side--deposer { background: none; border: 0; box-shadow: none; }
html:not(#_) .aa-filtres { background: #fbf3ee; border-color: #ecdcd8; border-radius: 18px; }
html:not(#_) .aa-side .aa-filtres { background: none; border: 0; padding: 0; border-radius: 0; }
html:not(#_) select, html:not(#_) input[type="text"], html:not(#_) input[type="email"],
html:not(#_) input[type="tel"], html:not(#_) input[type="number"], html:not(#_) textarea {
  border-radius: 12px; border-color: #e1cdd1; background-color: #fffdfb; color: #2a1233;
}
html:not(#_) .aa-chip { border-color: #e1cdd1; background: #fffdfb; }

/* --- blocs de l'accueil -------------------------------------------------------------------- */
html:not(#_) .aa-liens li { background: #fffdfb; border-color: #ecdcd8; border-radius: 12px; }
html:not(#_) .aa-liens li::before { width: 4px; background: linear-gradient(180deg, #9443b6, #4f1068); border-radius: 12px 0 0 12px; }
html:not(#_) .aa-etapes li { background: #fffdfb; border-color: #ecdcd8; border-radius: 22px; }
html:not(#_) .aa-etapes li::before { background: var(--vs-satin); box-shadow: 0 0 0 3px #f3e3f5; }
html:not(#_) .aa-atouts li { border-left: 0; border-radius: 22px; background: linear-gradient(120deg, #fffdfb, #fbf0ef); }
html:not(#_) .aa-deposer-cta {
  max-width: 560px; margin-inline: auto; flex-direction: column; text-align: center; justify-content: center;
  background: linear-gradient(160deg, #fffdfb, #f6e6ee); border: 1px solid #e3cde0; border-radius: 120px 120px 26px 26px / 70px 70px 26px 26px;
  padding: 2rem 1.6rem 1.6rem; box-shadow: 0 20px 40px -28px rgba(123, 31, 162, .6);
}
html:not(#_) .aa-deposer-cta__bloc, html:not(#_) .aa-deposer-cta__txt { flex: none; }
html:not(#_) .aa-deposer-cta__h { font-family: var(--aa-police-titre); color: #4f1068; font-size: 1.15rem; }
html:not(#_) .aa-pagination a, html:not(#_) .aa-pagination span { border-radius: 999px; background: #fffdfb; border-color: #e1cdd1; }
html:not(#_) .aa-pagination .is-actif { background: var(--vs-satin); color: #fff; border-color: #4f1068; }

/* --- fiche d'annonce : photo en arche, CTA en carte satin centrée -------------------------- */
html:not(#_) .aa-fiche__titre { font-family: var(--aa-police-titre); font-weight: 700; color: #4f1068; border-bottom: 0; padding-bottom: .7rem; position: relative; }
html:not(#_) .aa-fiche__titre::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: min(220px, 60%); height: 4px; border-radius: 4px;
  background: linear-gradient(90deg, #4f1068, #9443b6, rgba(148, 67, 182, 0));
}
html:not(#_) .aa-fiche__cat a { color: #6d1a90; }
html:not(#_) .aa-fiche .aa-fiche__photo { border: 0; border-radius: 50% 50% 22px 22px / 34% 34% 22px 22px; padding: 5px; background: linear-gradient(170deg, #e7c6f0, #f3dfd8); box-shadow: 0 22px 40px -24px rgba(79, 16, 104, .75); }
html:not(#_) .aa-fiche .aa-fiche__img { border-radius: 50% 50% 18px 18px / 33% 33% 18px 18px; }
html:not(#_) .aa-fiche__miniatures img { border-radius: 999px 999px 10px 10px; border-color: #e3cde0; }
html:not(#_) .aa-fiche__infos { border-color: #ecdcd8; border-radius: 18px; background: #fffdfb; }
html:not(#_) .aa-fiche__infos > div:nth-child(odd) { background: #fbf3ee; }
html:not(#_) .aa-fiche__infos dt { color: #6a5470; }
html:not(#_) .aa-fiche__infos dd { border-left-color: #ecdcd8; }
html:not(#_) .aa-fiche__cta--haut {
  background: linear-gradient(160deg, #fffdfb, #f5e5ee); border: 1px solid #e3cde0; border-radius: 22px;
  padding: 1rem; box-shadow: 0 16px 32px -24px rgba(123, 31, 162, .6);
}
html:not(#_) .aa-fiche__cta--bas {
  max-width: 520px; margin-inline: auto; background: linear-gradient(160deg, #fffdfb, #f5e5ee);
  border: 1px solid #e3cde0; border-radius: 90px 90px 24px 24px / 50px 50px 24px 24px; padding: 1.6rem 1.2rem 1.2rem;
}
html:not(#_) .aa-fiche__plage { background: #f3e3f5; color: #4f1068; border-radius: 999px; }
html:not(#_) .aa-fiche__phy { background: #fffdfb; border-color: #ecdcd8; border-radius: 14px; }
html:not(#_) .aa-chips--lecture li { background: #f6ebf2; border-color: #e3cde0; color: #4f1068; }
html:not(#_) .aa-repondre { background: #fbf3ee; border-color: #ecdcd8; border-radius: 22px; }
html:not(#_) .aa-depot__bloc { border-color: #ecdcd8; border-radius: 22px; background: #fffdfb; }
html:not(#_) .aa-fiche__barre, html:not(#_) .aa-mobar { background: rgba(255, 250, 246, .95); border-top-color: #e3cde0; }

/* --- pied : prune profond sous un pli de satin -------------------------------------------- */
html:not(#_) .aa-footer {
  position: relative; border-top: 0; margin-top: 3.2rem;
  background: linear-gradient(180deg, #3a1747, #2a1233 60%);
  color: var(--aa-pied-txt);
}
html:not(#_) .aa-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -38px; height: 40px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath fill='%239443b6' fill-opacity='.35' d='M0 22 C240 2 480 2 720 18 S1200 40 1440 14 V40 H0z'/%3E%3Cpath fill='%233a1747' d='M0 30 C260 12 500 14 740 26 S1180 42 1440 24 V40 H0z'/%3E%3C/svg%3E") no-repeat center bottom / 100% 100%;
}
html:not(#_) .aa-footer a:hover { color: #fff; }
html:not(#_) .aa-footer__h { color: #f3dff6; border-bottom-color: rgba(231, 198, 240, .25); font-family: var(--aa-police-titre); text-transform: none; letter-spacing: .02em; font-size: .95rem; }
html:not(#_) .aa-footer__brand { font-family: var(--aa-police-titre); color: #fff; }
html:not(#_) .aa-footer__fictif { opacity: .85; }
html:not(#_) .aa-footer__bas { background: rgba(0, 0, 0, .22); }

/* --- porte d'âge et pop-up : écrin ivoire -------------------------------------------------- */
html:not(#_) .aa-gate__box, html:not(#_) .aa-popup__box { border-radius: 26px; border-top: 0; box-shadow: 0 0 0 1px #e3cde0, 0 30px 60px -20px rgba(42, 18, 51, .7); }
html:not(#_) .aa-gate__box::before, html:not(#_) .aa-popup__box::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--vs-satin); }
html:not(#_) .aa-gate__mark { background: radial-gradient(circle at 32% 28%, #e7c6f0 0 12%, #9443b6 34%, #4f1068 100%); }

@media (prefers-reduced-motion: reduce) {
  html:not(#_) .aa-btn--primaire { transition: none; }
}
