/* =====================================================================
   ts-anzeigen.de — habillage propre au site (gabarit annoncesastro-v2, skin-5 / compo-1 / fiche-2)
   REGISTRE : « lavande & encre, formes ovales »
   PALETTE  : accent = couleur du favicon #6a1b9a (violet) et son encre #271a31 ;
              neutres chauds : ivoire #fdfaf6, lin rosé #efe5e3, pêche #f7e4dc ; lavande #e6d9f3 / #d3bfe9.
   COMPOSITION : en-tête encre + barre de menu LAVANDE en onglet arrondi qui « sort » de l'encre,
              titres de section = pétales lavande à texte encre (plus de bandeaux violets pleins),
              vignettes d'annonce en OVALE, photo de fiche en ovoïde, halos elliptiques sur le bandeau
              d'accueil / la carte CTA / le pied, pagination en ovales, compteurs en gouttes lavande,
              titres en Palatino (ton féminin, posé). Rien n'est déplacé : CTA de fiche, dépôt,
              pop-up, barre mobile gardent leur place et leur taille.
   ===================================================================== */
body.aa {
  --ts-encre: #271a31; --ts-encre-2: #3a2a47;
  --ts-lav: #e6d9f3; --ts-lav-2: #d3bfe9; --ts-lav-3: #b697d6; --ts-lav-txt: #4e1275;
  --ts-ivoire: #fdfaf6; --ts-lin: #f4ede7; --ts-peche: #f7e4dc;
  --aa-teinte: #6a1b9a;
  --aa-primaire: #6a1b9a; --aa-primaire-fonce: #4e1275; --aa-primaire-txt: #fff;
  --aa-page: #efe5e3; --aa-fond: var(--ts-ivoire); --aa-surface: #fffdfa; --aa-surface-2: var(--ts-lin);
  --aa-texte: var(--ts-encre); --aa-muet: #665772; --aa-bord: #dccde8; --aa-lien: #5a1685;
  --aa-tete: var(--ts-encre); --aa-tete-txt: #f6eefb; --aa-barre: var(--ts-lav);
  --aa-bande: var(--ts-lav); --aa-bande-txt: var(--ts-encre); --aa-bande-bord: #6a1b9a;
  --aa-secondaire: var(--ts-encre); --aa-secondaire-txt: #fff;
  --aa-pied: #1f1527; --aa-pied-txt: #d9cde4; --aa-ok: #5e2a86;
  --aa-rayon: 18px; --aa-rayon-s: 12px;
  --aa-ombre: 0 2px 4px rgba(60, 20, 80, .05), 0 16px 32px -20px rgba(106, 27, 154, .38);
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
  font-size: 15px; color: var(--ts-encre);
}
@media (min-width: 640px) { body.aa { font-size: 16px; } }
body.aa .aa-h1, body.aa .aa-fiche__titre, body.aa .aa-ligne__titre, body.aa .aa-popup__titre, body.aa .aa-gate__box h2,
body.aa .aa-deposer-cta__h, body.aa .aa-etapes h3, body.aa .aa-atouts h3 { font-family: var(--aa-police-titre); letter-spacing: 0; }
body.aa .aa-h1 { font-weight: 700; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.15rem); color: var(--ts-encre); }

/* --- en-tête : encre, logo à marque ovale, CTA lavande ; barre de menu lavande en onglet ------------------ */
body.aa .aa-header { background: linear-gradient(180deg, #2c1d38, var(--ts-encre)); color: var(--aa-tete-txt); box-shadow: none; }
body.aa .aa-header__in { gap: .7rem 1rem; padding-top: .75rem; }
body.aa .aa-logo__mark { width: 36px; height: 26px; border-radius: 50%; background: radial-gradient(ellipse at 30% 30%, #f3e9fb, var(--ts-lav-2) 55%, #9a6cc4); box-shadow: 0 0 0 2px #b697d6, 0 0 0 4px rgba(214, 190, 235, .35), 0 6px 14px -6px rgba(182, 151, 214, .8); }
body.aa .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; font-size: 1.45rem; color: #fbf6ff; }
body.aa .aa-logo__sous { color: var(--ts-lav-2); opacity: 1; }
body.aa .aa-header .aa-header__cta { background: var(--ts-lav); color: var(--ts-lav-txt); border-color: transparent; box-shadow: 0 8px 18px -10px rgba(214, 190, 235, .9); border-radius: 999px; font-weight: 800; }
body.aa .aa-header .aa-header__cta:hover { background: #f1e8fa; }
body.aa .aa-burger { border-color: var(--ts-lav-3); color: var(--ts-lav); }
body.aa .aa-nav { background: var(--ts-lav); color: var(--ts-encre); border-radius: 1.4rem 1.4rem 0 0; padding-inline: .6rem; margin-top: .2rem; box-shadow: 0 8px 18px -12px rgba(78, 18, 117, .55); }
body.aa .aa-nav a { color: var(--ts-encre); font-weight: 700; padding: .75rem 1rem; border-bottom: 0; border-radius: 999px; margin-block: .35rem; }
body.aa .aa-nav a:hover { background: rgba(255, 253, 250, .75); color: var(--ts-lav-txt); }
body.aa .aa-nav a.is-actif { background: var(--aa-primaire); color: #fff; border-bottom: 0; box-shadow: 0 8px 16px -10px rgba(106, 27, 154, .8); }
body.aa .aa-nav a .aa-ico { opacity: .85; }
@media (max-width: 859px) {
  body.aa .aa-nav { border-radius: 1.2rem; padding: .5rem; }
  body.aa .aa-nav a { margin-block: .1rem; }
  body.aa .aa-nav a.is-actif { border-left: 0; }
  body.aa .aa-nav__cta a { background: var(--aa-primaire); color: #fff; }
}

/* --- conteneur ------------------------------------------------------------------------------------------ */
body.aa .aa-main > .aa-wrap { background: var(--ts-ivoire); border-color: var(--ts-lav-2); border-radius: 1.6rem; }

/* --- titres de section : pétales lavande, texte encre, icône dans une goutte violette --------------------- */
body.aa .aa-h2, body.aa .aa-side__h, body.aa .aa-bande, body.aa .aa-depot__bloc legend {
  background: linear-gradient(90deg, var(--ts-lav), #efe6f8 80%); color: var(--ts-encre); border-left: 0;
  border-radius: 1.5rem .6rem 1.5rem .6rem; padding: .5rem 1rem .5rem .75rem; box-shadow: inset 0 0 0 1px var(--ts-lav-2);
  text-transform: none; letter-spacing: 0; font-size: 1rem; font-weight: 800;
}
body.aa .aa-h2 .aa-ico, body.aa .aa-side__h .aa-ico, body.aa .aa-bande .aa-ico { opacity: 1; color: #fff; background: var(--aa-primaire); width: 26px; height: 22px; padding: 3px 5px; border-radius: 50%; flex: none; }
body.aa .aa-bande__droite { color: var(--aa-muet); font-weight: 600; }
body.aa .aa-side__h { border-radius: 1.2rem 1.2rem 0 0; border-bottom: 0; box-shadow: inset 0 -2px 0 var(--ts-lav-2); }
@media (max-width: 639px) {
  body.aa .aa-h2, body.aa .aa-bande { font-size: .9rem; }
  body.aa .aa-bloc__tete { flex-wrap: wrap; gap: .4rem .8rem; }
  body.aa .aa-bloc__tete .aa-h2 { flex: 1 1 100%; }
}

/* --- boutons : violet doux avec ombre colorée ; secondaire encre ------------------------------------------- */
body.aa .aa-btn { border-radius: 999px; }
body.aa .aa-btn--primaire { background: linear-gradient(135deg, #7a2bb0, #5a1685); border-color: transparent; box-shadow: 0 10px 22px -12px rgba(106, 27, 154, .75); }
body.aa .aa-btn--primaire:hover { filter: brightness(1.08); box-shadow: 0 14px 26px -12px rgba(106, 27, 154, .8); }
body.aa .aa-btn--secondaire { background: var(--aa-surface); color: var(--ts-encre); border-color: var(--ts-encre-2); }
body.aa .aa-btn--secondaire:hover { background: var(--ts-lav); border-color: var(--ts-lav-3); color: var(--ts-lav-txt); }

/* --- colonne latérale : ivoire, compteurs en gouttes, puces ovales ---------------------------------------- */
body.aa .aa-side { background: var(--ts-lin); border-color: var(--ts-lav-2); border-radius: 1.2rem; }
body.aa .aa-side__liste li::before { width: 9px; height: 6px; border-radius: 50%; background: var(--ts-lav-3); top: .82em; }
body.aa .aa-side__liste li.is-actif::before { background: var(--aa-primaire); }
body.aa .aa-side__nb, body.aa .aa-liens__nb { background: var(--ts-lav); color: var(--ts-lav-txt); border: 0; border-radius: 50%; padding: .05rem .5rem; font-weight: 700; }
body.aa .aa-side__liste--inline li { border-color: var(--ts-lav-2); background: var(--aa-surface); border-radius: 50% / 100%; padding-inline: .9rem; }
body.aa .aa-side__liste--inline .aa-side__nb { background: none; color: var(--aa-muet); padding: 0; }
body.aa .aa-side__p, body.aa .aa-side__aide { color: var(--aa-muet); }
body.aa .aa-filtres__champ { color: var(--ts-lav-txt); }
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 input[type="file"] { border-radius: 999px; border-color: var(--ts-lav-2); background-color: #fff; padding-left: 1rem; }
body.aa select { padding-right: 2.3rem; }
body.aa textarea { border-radius: 1rem; border-color: var(--ts-lav-2); background-color: #fff; }

/* --- accueil : bandeau à halos elliptiques ---------------------------------------------------------------- */
body.aa .aa-hero { background: radial-gradient(ellipse 55% 90% at 100% 0%, var(--ts-lav) 0%, transparent 70%), radial-gradient(ellipse 45% 70% at 0% 100%, var(--ts-peche) 0%, transparent 70%), var(--aa-surface); border: 1px solid var(--ts-lav-2); border-left: 1px solid var(--ts-lav-2); border-radius: 2.2rem .9rem 2.2rem .9rem; padding: 1.5rem 1.6rem 1.3rem; box-shadow: 0 18px 34px -24px rgba(106, 27, 154, .45); }
body.aa .aa-hero .aa-intro { color: var(--ts-encre-2); }
body.aa .aa-hero__chiffres span { background: var(--ts-lav); border-color: var(--ts-lav-2); color: var(--ts-lav-txt); border-radius: 50% / 100%; padding: .3rem .9rem; }
body.aa .aa-hero__chiffres span::before { background: var(--aa-primaire); width: 9px; height: 6px; border-radius: 50%; }

/* --- lignes d'annonce : vignette OVALE, titre Palatino, badge lavande --------------------------------------- */
body.aa .aa-liste { border-top: 1px solid var(--ts-lav-2); }
body.aa .aa-ligne { border-bottom: 1px solid var(--ts-lav-2); padding-block: 1rem; }
body.aa .aa-ligne:hover { background: linear-gradient(90deg, #f6f0fb, transparent 80%); }
body.aa .aa-ligne__img { aspect-ratio: 5 / 6; border-radius: 50%; border: 2px solid var(--ts-lav-2); padding: 3px; background: #fff; box-shadow: 0 10px 20px -14px rgba(106, 27, 154, .6); }
body.aa .aa-ligne__img img { border-radius: 50%; }
body.aa .aa-ligne:hover .aa-ligne__img { border-color: var(--ts-lav-3); }
body.aa .aa-ligne__nb { left: 50%; bottom: .45rem; transform: translateX(-50%); background: var(--ts-encre); }
body.aa .aa-ligne__cat { color: var(--aa-primaire); }
body.aa .aa-ligne__new, body.aa .aa-fiche__new { background: var(--ts-lav-2); color: var(--ts-lav-txt); border-radius: 999px; }
body.aa .aa-ligne__titre { font-size: 1.15rem; }
body.aa .aa-ligne__titre a { color: var(--ts-lav-txt); font-weight: 700; }
body.aa .aa-ligne__meta { color: var(--aa-muet); }
body.aa .aa-ligne__meta strong { color: var(--ts-encre); }
body.aa .aa-ligne__lire { border-radius: 999px; }
@media (min-width: 720px) { body.aa .aa-ligne { padding: 1rem .6rem; } }

/* --- listes de liens (catégories, régions, villes) : pétales ivoire ---------------------------------------- */
body.aa .aa-liens li { background: var(--aa-surface); border: 1px solid var(--ts-lav-2); border-radius: 1.1rem .45rem 1.1rem .45rem; padding: .4rem .6rem .4rem 1.1rem; }
body.aa .aa-liens li::before { width: 9px; height: 6px; top: 50%; left: .5rem; bottom: auto; transform: translateY(-50%); border-radius: 50%; background: var(--ts-lav-3); }
body.aa .aa-liens li:hover { border-color: var(--ts-lav-3); background: #f9f4fd; }
body.aa .aa-liens li a { color: var(--ts-encre); }
body.aa .aa-liens li a:hover { color: var(--aa-primaire); }

/* --- étapes, atouts ----------------------------------------------------------------------------------------- */
body.aa .aa-etapes li { background: var(--aa-surface); border: 1px solid var(--ts-lav-2); border-radius: 1.4rem .6rem 1.4rem .6rem; }
body.aa .aa-etapes li::before { width: 2rem; height: 1.6rem; border-radius: 50%; background: var(--aa-primaire); left: .75rem; }
body.aa .aa-atouts li { background: var(--aa-surface); border: 1px solid var(--ts-lav-2); border-left: 1px solid var(--ts-lav-2); border-radius: .6rem 1.4rem .6rem 1.4rem; }
body.aa .aa-atouts .aa-atouts__ico { background: var(--ts-lav); color: var(--aa-primaire); border-radius: 50%; width: 2.5rem; height: 2rem; }

/* --- carte CTA (dépôt) : centrée, avec de l'air ------------------------------------------------------------- */
body.aa .aa-deposer-cta { display: grid; justify-items: center; text-align: center; gap: .6rem; padding: 1.5rem 1.4rem; background: radial-gradient(ellipse 70% 100% at 50% 0%, var(--ts-lav) 0%, var(--aa-surface) 75%); border: 1px solid var(--ts-lav-2); border-radius: 2rem; box-shadow: 0 16px 30px -22px rgba(106, 27, 154, .5); }
body.aa .aa-deposer-cta__bloc, body.aa .aa-deposer-cta__txt { flex: none; max-width: 52ch; }
body.aa .aa-deposer-cta__h { font-size: 1.25rem; color: var(--ts-encre); }
body.aa .aa-deposer-cta__txt { color: var(--ts-encre-2); }

/* --- moteur --------------------------------------------------------------------------------------------------- */
body.aa .aa-filtres { background: var(--aa-surface); border: 1px solid var(--ts-lav-2); border-radius: 1.4rem; padding: 1rem; }

/* --- pagination en ovales ------------------------------------------------------------------------------------- */
body.aa .aa-pagination a, body.aa .aa-pagination span { border-radius: 50% / 45%; border-color: var(--ts-lav-2); background: var(--aa-surface); color: var(--ts-encre); min-width: 44px; }
body.aa .aa-pagination a:hover { background: var(--ts-lav); color: var(--ts-lav-txt); border-color: var(--ts-lav-3); }
body.aa .aa-pagination .is-actif { background: var(--aa-primaire); color: #fff; border-color: transparent; box-shadow: 0 8px 16px -10px rgba(106, 27, 154, .8); }
body.aa .aa-pagination__mot { border-radius: 999px; }

/* --- fiche d'annonce ------------------------------------------------------------------------------------------ */
body.aa .aa-crumbs ol { color: var(--aa-muet); }
body.aa .aa-fiche__titre { border-bottom: 0; padding-bottom: 0; font-weight: 700; color: var(--ts-encre); }
body.aa .aa-fiche__titre::after { content: ""; display: block; width: 92px; height: 7px; border-radius: 50%; background: linear-gradient(90deg, var(--aa-primaire), var(--ts-lav-3)); margin-top: .55rem; }
body.aa .aa-fiche__cat a { color: var(--aa-primaire); }
body.aa .aa-fiche__photo { border-radius: 40% 40% 40% 40% / 24% 24% 24% 24%; border: 3px solid var(--ts-lav-2); padding: 4px; background: var(--ts-lav); box-shadow: 0 18px 36px -22px rgba(106, 27, 154, .6); }
body.aa .aa-fiche__fond { border-radius: 40% / 24%; }
body.aa .aa-fiche__img { border-radius: 14px; }
body.aa .aa-fiche__miniatures img { border-radius: 50%; border-color: var(--ts-lav-2); width: 64px; height: 76px; }
body.aa .aa-fiche__miniatures img:hover { border-color: var(--aa-primaire); }
body.aa .aa-fiche__infos { border-radius: 1.2rem; border-color: var(--ts-lav-2); background: var(--aa-surface); }
body.aa .aa-fiche__infos > div:nth-child(odd) { background: #f8f2fb; }
body.aa .aa-fiche__infos > div + div, body.aa .aa-fiche__infos dd { border-color: var(--ts-lav); }
body.aa .aa-fiche__infos dt { color: var(--aa-muet); }
body.aa .aa-fiche__infos dd { color: var(--ts-encre); font-weight: 600; }
body.aa .aa-fiche__cta--haut { padding: 1.2rem 1.1rem 1rem; background: radial-gradient(ellipse 80% 90% at 50% 0%, var(--ts-lav) 0%, var(--aa-surface) 80%); border: 1px solid var(--ts-lav-2); border-radius: 1.8rem; text-align: center; box-shadow: 0 16px 30px -22px rgba(106, 27, 154, .55); }
body.aa .aa-fiche__cta--bas { background: radial-gradient(ellipse 80% 100% at 50% 100%, var(--ts-lav) 0%, var(--aa-surface) 80%); border: 1px solid var(--ts-lav-2); border-radius: 1.8rem; padding: 1.3rem; }
body.aa .aa-fiche__cta-sous { color: var(--aa-muet); }
body.aa .aa-fiche__plage { background: var(--ts-lav); color: var(--ts-lav-txt); border-radius: 999px; padding: .45rem 1rem; }
body.aa .aa-fiche__phy { background: var(--aa-surface); border-color: var(--ts-lav-2); border-radius: 1rem .4rem 1rem .4rem; padding-inline: .55rem; }
body.aa .aa-fiche__physique dd { font-size: .93rem; }
body.aa .aa-fiche__physique dt { color: var(--aa-muet); }
body.aa .aa-fiche__physique dd { color: var(--ts-encre); }
body.aa .aa-chips li, body.aa .aa-chip { border-color: var(--ts-lav-2); background: var(--ts-lav); color: var(--ts-encre); border-radius: 50% / 100%; padding-inline: .95rem; }
body.aa .aa-chips--lecture li { background: var(--ts-lav); }
body.aa .aa-chip:has(input:checked) { background: var(--ts-lav-2); border-color: var(--ts-lav-3); }
body.aa .aa-repondre { background: var(--aa-surface); border: 1px solid var(--ts-lav-2); border-radius: 1.5rem; padding: 1.2rem; }
body.aa .aa-repondre__intro { color: var(--aa-muet); }
body.aa .aa-fiche__signaler, body.aa .aa-retour { color: var(--aa-muet); }
body.aa .aa-fiche__barre, body.aa .aa-mobar { background: rgba(253, 250, 246, .95); border-top: 1px solid var(--ts-lav-2); box-shadow: 0 -8px 24px -14px rgba(106, 27, 154, .5); }

/* --- dépôt : sections en pétales, numéros en gouttes -------------------------------------------------------- */
body.aa .aa-depot__bloc { background: var(--aa-surface); border: 1px solid var(--ts-lav-2); border-radius: 1.5rem .6rem 1.5rem .6rem; padding: 1rem 1.1rem 1.2rem; }
body.aa .aa-depot__bloc legend::before { background: var(--aa-primaire); color: #fff; width: 2em; height: 1.6em; border-radius: 50%; }
body.aa .aa-form__lbl { color: var(--ts-encre); }
body.aa .aa-form__aide, body.aa .aa-regles { color: var(--aa-muet); }
body.aa .aa-form__compteur { background: var(--ts-lav); color: var(--ts-lav-txt); border: 0; }
body.aa .aa-depot__apercu img { border-radius: 50%; }

/* --- porte d'âge & pop-up : boîte ivoire, marque ovale --------------------------------------------------------- */
body.aa .aa-gate, body.aa .aa-popup { background: rgba(39, 26, 49, .82); }
body.aa .aa-gate__box, body.aa .aa-popup__box { background: var(--ts-ivoire); color: var(--ts-encre); border-top: 0; border: 1px solid var(--ts-lav-2); border-radius: 1.8rem; box-shadow: 0 0 0 6px rgba(211, 191, 233, .35), 0 30px 60px -20px rgba(0, 0, 0, .6); }
body.aa .aa-gate__mark { width: 84px; height: 66px; line-height: 66px; border-radius: 50%; background: linear-gradient(135deg, #7a2bb0, #5a1685); }
body.aa .aa-popup__ico { background: var(--ts-lav); color: var(--aa-primaire); border-radius: 50%; width: 46px; height: 38px; }
body.aa .aa-popup__texte { color: var(--aa-muet); }
body.aa .aa-popup__fermer { background: var(--ts-lav); color: var(--ts-encre); }

/* --- pied : encre à halo lavande, titres lavande ---------------------------------------------------------------- */
body.aa .aa-footer { background: radial-gradient(ellipse 70% 45% at 50% 0%, rgba(182, 151, 214, .42) 0%, transparent 70%), #1f1527; color: var(--aa-pied-txt); border-top: 0; margin-top: 1.6rem; }
body.aa .aa-footer__h { color: var(--ts-lav-2); border-bottom-color: rgba(211, 191, 233, .25); }
body.aa .aa-footer__brand { color: #fbf6ff; }
body.aa .aa-footer__brand .aa-logo__mark { width: 26px; height: 19px; }
body.aa .aa-footer a { color: var(--aa-pied-txt); }
body.aa .aa-footer a:hover { color: #fff; }
body.aa .aa-footer__fictif { color: #b9abc5; opacity: 1; }
body.aa .aa-footer__bas { background: rgba(0, 0, 0, .3); }
body.aa .aa-footer__bas-in { opacity: 1; color: #c6b9d1; }

@media (prefers-reduced-motion: reduce) { body.aa *, body.aa *::before, body.aa *::after { animation: none !important; transition: none !important; } }
