/* echangiste-wallonie.be — registre « carmin & ivoire, arches »
   Palette : carmin #9c1c3a (favicon), carmin profond #6e1027, ivoire #fbf6ec, lin #f1e6d3,
   rose poudré #f6dfe2, encre #2b1a1d. Formes signature : arche (vignettes, photo de fiche,
   carte d'inscription, pastilles de titre), médaillon-cœur, frise d'arcades (pied, hero). */
html:not(#_) body.aa {
  --aa-accent: #9c1c3a; --aa-primaire: #9c1c3a; --aa-primaire-txt: #fff;
  --ew-carmin: #9c1c3a; --ew-profond: #6e1027; --ew-ivoire: #fbf6ec; --ew-lin: #f1e6d3; --ew-rose: #f6dfe2; --ew-encre: #2b1a1d;
  --aa-fond: #fbf6ec; --aa-surface: #fffdf8; --aa-texte: #2b1a1d; --aa-muet: #6a5256;
  --aa-bord: #e6d6c3; --aa-secondaire: #6e1027; --aa-secondaire-txt: #fff;
  --aa-rayon: 18px; --aa-rayon-s: 12px;
  --aa-ombre: 0 2px 4px rgba(110, 16, 39, .05), 0 14px 30px -16px rgba(110, 16, 39, .32);
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  --aa-police-titre: Georgia, "Palatino Linotype", "Book Antiqua", serif;
  --aa-tete: #fffdf8; --aa-tete-txt: #2b1a1d; --aa-pied: #6e1027; --aa-pied-txt: #fbeef0;
  background: var(--ew-ivoire);
}

/* ---- en-tête : manchette ivoire, logo serif italique, nav en onglets arqués ---- */
html:not(#_) .aa-header { background: var(--aa-tete); border-bottom: 1px solid var(--aa-bord); box-shadow: 0 10px 24px -22px rgba(110,16,39,.5); }
html:not(#_) .aa-logo { font-family: var(--aa-police-titre); font-style: italic; text-transform: none; letter-spacing: .02em; font-weight: 700; color: var(--ew-carmin); font-size: 1.85rem; gap: .6rem; }
html:not(#_) .aa-logo::before { content: ""; width: 22px; height: 28px; border-radius: 11px 11px 3px 3px; background: radial-gradient(circle at 50% 38%, #fff 0 3px, transparent 3.5px), linear-gradient(var(--ew-carmin), var(--ew-profond)); box-shadow: 0 4px 10px -4px rgba(110,16,39,.6); flex: none; }
html:not(#_) .aa-nav { border-top: 1px solid var(--aa-bord); border-bottom: 0; }
html:not(#_) .aa-nav ul { gap: .35rem; padding-top: .45rem; }
html:not(#_) .aa-nav a { color: var(--ew-encre); text-transform: none; letter-spacing: .01em; font-size: .92rem; font-weight: 600; border-radius: 16px 16px 0 0; padding: .55rem 1.05rem; }
html:not(#_) .aa-nav a:hover, html:not(#_) .aa-nav a.is-actif { background: var(--ew-rose); color: var(--ew-profond); }
html:not(#_) .aa-nav__cta a { background: var(--ew-carmin); color: #fff !important; }
html:not(#_) .aa-nav__cta a:hover { background: var(--ew-profond); color: #fff !important; }
html:not(#_) .aa-burger { color: var(--ew-carmin); }
@media (max-width: 800px) {
  html:not(#_) .aa-logo { font-size: 1.5rem; }
  html:not(#_) .aa-nav ul { padding-top: 0; gap: .15rem; }
  html:not(#_) .aa-nav a { border-radius: 14px; }
  html:not(#_) .aa-nav__cta a { border-radius: 999px; }
}

/* ---- titres ---- */
html:not(#_) .aa-h1 { font-family: var(--aa-police-titre); text-transform: none; font-weight: 700; letter-spacing: -.005em; color: var(--ew-encre); border-bottom: 0; padding-bottom: 0; }
html:not(#_) .aa-h2 { font-family: var(--aa-police-titre); text-transform: none; letter-spacing: 0; font-size: 1.3rem; font-weight: 700; color: var(--ew-profond); border-bottom: 0; display: flex; align-items: center; gap: .6rem; }
html:not(#_) .aa-h2::before { content: ""; flex: none; width: 14px; height: 18px; border-radius: 7px 7px 2px 2px; background: var(--ew-carmin); }
html:not(#_) .aa-h2::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--aa-bord), transparent); }

/* ---- hero : ivoire rosé + frise d'arcades, carte d'inscription en arche ---- */
html:not(#_) .aa-hero { border: 0; background:
  radial-gradient(circle at 12% 30%, rgba(156,28,58,.10), transparent 40%),
  linear-gradient(180deg, var(--ew-rose), var(--ew-ivoire)); position: relative; padding-bottom: 2.8rem; }
html:not(#_) .aa-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 16px;
  background: radial-gradient(circle at 16px 16px, var(--ew-ivoire) 15px, transparent 16px) 0 0 / 32px 16px repeat-x; }
html:not(#_) .aa-hero .aa-h1 { font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem); color: var(--ew-profond); }
html:not(#_) .aa-hero__chiffres { color: var(--ew-carmin); }
html:not(#_) .aa-hero__form { border: 0; border-radius: 180px 180px 22px 22px; padding: 2.6rem 1.6rem 1.5rem; background: var(--aa-surface); box-shadow: 0 0 0 6px rgba(255,253,248,.7), 0 22px 44px -22px rgba(110,16,39,.55); }
html:not(#_) .aa-hero__form .aa-hero__form-h, html:not(#_) .aa-hero__form .aa-hero__form-p { text-align: center; }
html:not(#_) .aa-hero__form-h { font-family: var(--aa-police-titre); color: var(--ew-profond); font-size: 1.35rem; }
html:not(#_) .aa-hero__form-h::before { content: ""; display: block; width: 34px; height: 30px; margin: -1.2rem auto .5rem;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 22%22%3E%3Cpath fill=%22%239c1c3a%22 d=%22M12 21s-9-5.6-9-12a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 6.4-9 12-9 12z%22/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---- boutons : pilules carmin, secondaire ivoire ---- */
html:not(#_) .aa-btn { border-radius: 999px; text-transform: none; letter-spacing: .01em; font-size: .98rem; }
html:not(#_) .aa-btn--primaire { background: linear-gradient(180deg, #ad2446, var(--ew-carmin)); color: #fff; box-shadow: 0 10px 20px -12px rgba(110,16,39,.8); }
html:not(#_) .aa-btn--primaire:hover { background: var(--ew-profond); }
html:not(#_) .aa-btn--secondaire { background: var(--ew-ivoire); color: var(--ew-profond); border-color: var(--ew-carmin); }
html:not(#_) .aa-btn--secondaire:hover { background: var(--ew-rose); }

/* ---- liste : lignes en cartouches, vignettes en arche ---- */
html:not(#_) .aa-liste { border: 0; gap: .75rem; }
html:not(#_) .aa-ligne { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-radius: 20px; box-shadow: var(--aa-ombre); padding: .85rem; transition: transform .2s ease, box-shadow .2s ease; }
html:not(#_) .aa-ligne:last-child { border-bottom: 1px solid var(--aa-bord); }
html:not(#_) .aa-ligne:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 18px 32px -18px rgba(110,16,39,.45); border-color: #d9b9a8; }
html:not(#_) .aa-ligne__img { border-radius: 60px 60px 12px 12px; border: 3px solid var(--ew-lin); aspect-ratio: 4 / 5; }
html:not(#_) .aa-ligne__nb { border-radius: 999px; background: rgba(110,16,39,.85); }
html:not(#_) .aa-ligne__cat { color: var(--ew-carmin); font-weight: 800; }
html:not(#_) .aa-ligne__tete, html:not(#_) .aa-ligne__meta { font-family: var(--aa-police); }
html:not(#_) .aa-ligne__new { background: var(--ew-rose); color: var(--ew-profond); border-radius: 999px; }
html:not(#_) .aa-ligne__titre { font-family: var(--aa-police-titre); font-weight: 700; color: var(--ew-encre); }
html:not(#_) .aa-ligne__meta { color: var(--aa-muet); }
html:not(#_) .aa-ligne__extrait { opacity: 1; color: #4a3438; }
html:not(#_) .aa-ligne__lire { text-transform: none; letter-spacing: 0; font-size: .86rem; }
@media (min-width: 720px) {
  html:not(#_) .aa-ligne { grid-template-columns: 104px minmax(0, 1fr) auto; padding: .85rem 1.1rem .85rem .85rem; }
  html:not(#_) .aa-ligne__img { width: 104px; margin-right: 0; }
  html:not(#_) .aa-ligne__corps, html:not(#_) .aa-ligne__extrait { border-left: 0; padding-left: 0; }
  html:not(#_) .aa-ligne__action { border-left: 1px dashed var(--aa-bord); }
}

/* ---- moteur, liens, villes : pastilles ---- */
html:not(#_) .aa-filtres { border: 1px solid var(--aa-bord); border-radius: 22px; background: var(--ew-lin); box-shadow: var(--aa-ombre); }
html:not(#_) .aa-filtres__champ { color: var(--ew-encre); }
html:not(#_) select, html:not(#_) input[type="text"], html:not(#_) input[type="email"], html:not(#_) input[type="number"], html:not(#_) input[type="tel"], html:not(#_) textarea { border-radius: 12px; border-color: #d7c3ae; background: #fffdf8; color: var(--ew-encre); }
html:not(#_) .aa-liens li { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-radius: 999px; padding: .35rem .85rem; }
html:not(#_) .aa-liens li:hover { background: var(--ew-rose); }
html:not(#_) .aa-liens__nb { color: var(--ew-carmin); font-weight: 700; }
html:not(#_) .aa-layout__side { border-top: 0; }
html:not(#_) .aa-side__h { color: var(--ew-profond); font-family: var(--aa-police-titre); border-bottom: 0; }
html:not(#_) .aa-pagination a, html:not(#_) .aa-pagination span { border-radius: 999px; border-color: var(--aa-bord); }

/* ---- fiche d'annonce ---- */
html:not(#_) .aa-fiche__cat { color: var(--ew-carmin); }
html:not(#_) .aa-fiche__titre { font-family: var(--aa-police-titre); color: var(--ew-profond); }
html:not(#_) .aa-fiche__photo { border: 4px solid #fff; border-radius: 200px 200px 22px 22px; box-shadow: 0 0 0 1px var(--aa-bord), 0 22px 40px -22px rgba(110,16,39,.6); background: var(--ew-lin); }
html:not(#_) .aa-fiche__img { transition: transform .5s ease; }
html:not(#_) .aa-fiche__photo:hover .aa-fiche__img { transform: scale(1.03); }
html:not(#_) .aa-fiche__new { background: var(--ew-carmin); border-radius: 999px; }
html:not(#_) .aa-fiche__cta--haut { border: 1px solid var(--aa-bord); border-radius: 26px; background: linear-gradient(180deg, #fffdf8, var(--ew-rose)); box-shadow: 0 18px 36px -20px rgba(110,16,39,.5); padding: 1.1rem; }
html:not(#_) .aa-fiche__infos { border-color: var(--aa-bord); border-radius: 18px; background: #fffdf8; }
html:not(#_) .aa-fiche__plage { background: var(--ew-rose); color: var(--ew-profond); border-radius: 999px; padding: .45rem 1rem; }
html:not(#_) .aa-fiche__phy { background: var(--ew-lin); border-color: var(--aa-bord); border-radius: 14px 14px 6px 6px; }
html:not(#_) .aa-fiche__physique dt { color: #6a5256; }
html:not(#_) .aa-chips li, html:not(#_) .aa-chip { background: #fffdf8; border-color: #dcc3b8; color: var(--ew-encre); }
html:not(#_) .aa-repondre { border: 1px solid var(--aa-bord); border-radius: 26px; background: #fffdf8; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-fiche__barre { background: rgba(255,253,248,.96); border-top: 1px solid var(--aa-bord); }

/* ---- dépôt ---- */
html:not(#_) .aa-depot__bloc { border: 1px solid var(--aa-bord); border-radius: 22px; background: #fffdf8; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-depot__bloc legend { color: #fff; background: var(--ew-carmin); border-radius: 14px 14px 4px 4px; padding: .2rem .9rem; font-size: .95rem; }
html:not(#_) .aa-chip:has(input:checked) { border-color: var(--ew-carmin); background: var(--ew-rose); color: var(--ew-profond); }

/* ---- pop-up, porte ---- */
html:not(#_) .aa-gate__box, html:not(#_) .aa-popup__box { border: 0; border-radius: 30px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.55); background: #fffdf8; }
html:not(#_) .aa-gate__mark { border-radius: 36px 36px 10px 10px; background: var(--ew-carmin); }

/* ---- pied : bordeaux profond, frise d'arcades en haut ---- */
html:not(#_) .aa-footer { background: var(--ew-profond); color: #fbeef0; border-top: 0; position: relative; margin-top: 3.2rem; padding-top: 2.6rem; }
html:not(#_) .aa-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -15px; height: 16px;
  background: radial-gradient(circle at 16px 16px, var(--ew-profond) 15px, transparent 16px) 0 0 / 32px 16px repeat-x; }
html:not(#_) .aa-footer a { color: #fbeef0; }
html:not(#_) .aa-footer a:hover { color: #fff; }
html:not(#_) .aa-footer__brand { font-family: var(--aa-police-titre); font-style: italic; text-transform: none; letter-spacing: .02em; color: #fff; }
html:not(#_) .aa-footer__h { color: #f3c6cf; }
html:not(#_) .aa-footer__fictif { opacity: 1; color: #e9cdd2; }
html:not(#_) .aa-footer__bas { border-top-color: rgba(255,255,255,.2); opacity: 1; color: #e9cdd2; }

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

/* ---- tour 2 : badge hors de la courbe de l'arche, CTA de dépôt en carte centrée ---- */
html:not(#_) .aa-fiche__photo { border-radius: 120px 120px 22px 22px; }
html:not(#_) .aa-fiche__photo .aa-fiche__new { top: auto; bottom: .7rem; right: 50%; transform: translateX(50%); white-space: nowrap; box-shadow: 0 6px 14px -6px rgba(0,0,0,.5); }
html:not(#_) .aa-deposer-cta { text-align: center; max-width: 520px; margin: 2rem auto 0; padding: 2.2rem 1.5rem 1.6rem; border-radius: 140px 140px 24px 24px; background: linear-gradient(180deg, var(--ew-rose), #fffdf8); border: 1px solid var(--aa-bord); box-shadow: var(--aa-ombre); }
html:not(#_) .aa-deposer-cta .aa-btn { min-width: 60%; }
html:not(#_) .aa-liens li { border-radius: 16px; }
