/* club-echangiste-bruxelles.be — registre « velours grenat & laiton, arches art nouveau »
   Palette : grenat #7a1f2e (favicon) · velours #3a0b15 / #4f1220 · laiton #b8923f (décor),
   laiton lisible #e6cb86 (sur velours) / #7a5a1c (sur ivoire) · ivoire #f8efe3 / #fffaf3 · encre #2b1519.
   Formes : arches (vignettes, photo, formulaires), arcade laiton (bord d'en-tête et de pied),
   médaillon (logo), pilules (catégories, puces), cartouche à double filet (CTA). */

html:not(#_) body.aa {
  color-scheme: light;
  --aa-primaire: #7a1f2e; --aa-primaire-txt: #fffaf3;
  --aa-fond: #f8efe3; --aa-surface: #fffaf3; --aa-texte: #2b1519; --aa-muet: #664b4b;
  --aa-bord: #e4cfb6; --aa-secondaire: #7a1f2e; --aa-secondaire-txt: #fffaf3;
  --aa-rayon: 18px; --aa-rayon-s: 12px;
  --aa-ombre: 0 2px 4px rgba(74, 15, 27, .06), 0 14px 32px -16px rgba(122, 31, 46, .38);
  --aa-police: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: Georgia, "Palatino Linotype", "Book Antiqua", serif;
  --aa-tete: #3a0b15; --aa-tete-txt: #fbeee0;
  --aa-pied: #2e0911; --aa-pied-txt: #ecdcc9; --aa-erreur: #b3261e;
  --vg-laiton: #b8923f; --vg-laiton-clair: #e6cb86; --vg-laiton-fonce: #7a5a1c;
  --vg-velours: radial-gradient(120% 90% at 15% 0%, #6a1828 0%, transparent 55%),
                radial-gradient(90% 80% at 100% 100%, #551322 0%, transparent 60%),
                linear-gradient(160deg, #3f0c17, #2a0710);
  --vg-arcade: radial-gradient(circle at 50% 100%, transparent 9px, #b8923f 9.5px, #b8923f 11px, transparent 11.5px);
  background: #f8efe3;
  color: var(--aa-texte);
}
html:not(#_) body.aa a { color: #7a1f2e; }
html:not(#_) body.aa h1, html:not(#_) body.aa h2, html:not(#_) body.aa h3 { font-family: var(--aa-police-titre); letter-spacing: 0; }

/* ---------- en-tête velours + arcade laiton ---------- */
html:not(#_) body.aa .aa-header { background: var(--vg-velours); color: #fbeee0; border: 0; box-shadow: 0 10px 26px -18px rgba(42, 7, 16, .9); }
html:not(#_) body.aa .aa-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 10px; background: var(--vg-arcade); background-size: 24px 12px; background-position: 0 -2px; pointer-events: none; opacity: .9; }
html:not(#_) body.aa .aa-logo { color: #fbeee0; font-family: var(--aa-police-titre); font-style: italic; text-transform: none; letter-spacing: .01em; font-weight: 700; font-size: 1.2rem; }
html:not(#_) body.aa .aa-logo__mark { width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #f3dc9c, #b8923f 55%, #7a5a1c); box-shadow: 0 0 0 2px #3a0b15, 0 0 0 3px #b8923f; }
html:not(#_) body.aa .aa-nav a { color: #fbeee0; text-transform: none; font-size: .92rem; letter-spacing: .01em; border-radius: 999px; }
html:not(#_) body.aa .aa-nav a:hover, html:not(#_) body.aa .aa-nav a.is-actif { background: rgba(230, 203, 134, .16); color: #fff; }
html:not(#_) body.aa .aa-nav__cta a { background: linear-gradient(180deg, #e6cb86, #b8923f); color: #2e0911 !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35); }
html:not(#_) body.aa .aa-burger span, html:not(#_) body.aa .aa-burger::before, html:not(#_) body.aa .aa-burger::after { background: #e6cb86; }
@media (max-width: 899px) {
  html:not(#_) body.aa .aa-nav { background: #3a0b15; border-bottom: 2px solid #b8923f; }
}

/* ---------- héros : velours, formulaire en arche ---------- */
html:not(#_) body.aa .aa-hero { background: var(--vg-velours); color: #fbeee0; border: 0; padding-block: 2.6rem 2.8rem; }
html:not(#_) body.aa .aa-hero .aa-h1 { color: #fff7ec; font-style: italic; font-weight: 700; }
html:not(#_) body.aa .aa-hero .aa-intro { color: #ead9c6; }
html:not(#_) body.aa .aa-hero__chiffres { color: #e6cb86; }
html:not(#_) body.aa .aa-hero__form { border: 1px solid #b8923f; border-left: 1px solid #b8923f; border-radius: 160px 160px 22px 22px / 90px 90px 22px 22px; padding: 2.4rem 1.5rem 1.5rem; background: #fffaf3; color: #2b1519; box-shadow: 0 0 0 5px rgba(184, 146, 63, .22), 0 26px 50px -24px rgba(0, 0, 0, .7); }
html:not(#_) body.aa .aa-hero__form-h { text-align: center; font-style: italic; color: #7a1f2e; }
html:not(#_) body.aa .aa-hero__form-p { text-align: center; color: #664b4b; }
html:not(#_) body.aa .aa-hero__form .aa-form__aide { color: #664b4b; }

/* ---------- titres de section : fleuron laiton ---------- */
html:not(#_) body.aa .aa-h2 { color: #3a0b15; font-style: italic; padding-left: 1.9rem; position: relative; }
html:not(#_) body.aa .aa-h2::before { content: ""; position: absolute; left: 0; top: 50%; width: 1.4rem; height: 1.4rem; transform: translateY(-50%); background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8923f' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M3 21V11a9 9 0 0 1 18 0v10'/%3E%3Cpath d='M12 21v-6c0-2 1.5-3.5 3.5-3.5'/%3E%3Cpath d='M12 15c0-2-1.5-3.5-3.5-3.5'/%3E%3Ccircle cx='12' cy='7' r='1.3' fill='%237a1f2e' stroke='none'/%3E%3C/svg%3E"); }
html:not(#_) body.aa .aa-bloc__tete a { color: #7a1f2e; font-weight: 600; }

/* ---------- moteur + catégories en pilules ---------- */
html:not(#_) body.aa .aa-filtres { background: #fffaf3; border: 1px solid #e4cfb6; border-radius: 22px; box-shadow: var(--aa-ombre); }
html:not(#_) body.aa .aa-filtres__champ { color: #664b4b; }
html:not(#_) body.aa select, html:not(#_) body.aa input[type="text"], html:not(#_) body.aa input[type="email"], html:not(#_) body.aa input[type="tel"], html:not(#_) body.aa input[type="number"], html:not(#_) body.aa input[type="file"], html:not(#_) body.aa textarea { background: #fff; color: #2b1519; border-color: #dcc3a6; border-radius: 12px; }
html:not(#_) body.aa .aa-liens li { background: #fffaf3; border: 1px solid #e4cfb6; border-radius: 999px; padding-inline: 1rem; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
html:not(#_) body.aa .aa-liens li:hover { border-color: #b8923f; background: #fff3e2; transform: translateY(-1px); }
html:not(#_) body.aa .aa-liens li a { color: #3a0b15; }
html:not(#_) body.aa .aa-liens__nb { color: #fffaf3; background: #7a1f2e; border-radius: 999px; min-width: 1.6rem; padding: 0 .45rem; text-align: center; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; line-height: 1.5; font-size: .8rem; }

/* ---------- lignes d'annonce : vignette en arche, filet laiton ---------- */
html:not(#_) body.aa .aa-liste { gap: .9rem; }
html:not(#_) body.aa .aa-ligne { background: #fffaf3; border: 1px solid #ead8c2; border-left: 1px solid #ead8c2; border-radius: 20px; box-shadow: var(--aa-ombre); padding: .85rem; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
html:not(#_) body.aa .aa-ligne:hover { background: #fffaf3; border-color: #b8923f; transform: translateY(-2px); box-shadow: 0 3px 6px rgba(74, 15, 27, .08), 0 20px 38px -18px rgba(122, 31, 46, .5); }
html:not(#_) body.aa .aa-ligne__img { border-radius: 60px 60px 12px 12px / 50px 50px 12px 12px; background: #f1dfca; box-shadow: 0 0 0 2px #fffaf3, 0 0 0 3px #b8923f; }
html:not(#_) body.aa .aa-ligne__img img { transition: transform .5s ease; }
html:not(#_) body.aa .aa-ligne:hover .aa-ligne__img img { transform: scale(1.05); }
html:not(#_) body.aa .aa-ligne--sans-photo .aa-ligne__img { background: linear-gradient(160deg, #f4e3cf, #ead0b5); }
html:not(#_) body.aa .aa-ligne__cat { color: #7a5a1c; }
html:not(#_) body.aa .aa-ligne__new { background: #7a1f2e; color: #fffaf3; }
html:not(#_) body.aa .aa-ligne__titre, html:not(#_) body.aa .aa-ligne__titre a { color: #2b1519; font-family: var(--aa-police-titre); }
html:not(#_) body.aa .aa-ligne__titre a:hover { color: #7a1f2e; }
html:not(#_) body.aa .aa-ligne__meta, html:not(#_) body.aa .aa-ligne__date { color: #664b4b; }
html:not(#_) body.aa .aa-ligne__mid, html:not(#_) body.aa .aa-ligne__meta a { color: #7a1f2e; }
html:not(#_) body.aa .aa-ligne__extrait { color: #3d2427; opacity: 1; }
html:not(#_) body.aa .aa-ligne__lire { border-radius: 999px; border: 1.5px solid #7a1f2e; color: #7a1f2e; background: transparent; }
html:not(#_) body.aa .aa-ligne:hover .aa-ligne__lire { background: #7a1f2e; color: #fffaf3; }

/* ---------- boutons ---------- */
html:not(#_) body.aa .aa-btn { border-radius: 999px; }
html:not(#_) body.aa .aa-btn--primaire { background: linear-gradient(180deg, #8c2536, #6a1a27); color: #fffaf3; border-color: transparent; box-shadow: inset 0 0 0 1px rgba(230, 203, 134, .55), 0 10px 22px -12px rgba(122, 31, 46, .8); }
html:not(#_) body.aa .aa-btn--secondaire { background: #fffaf3; color: #7a1f2e; border-color: #7a1f2e; }
html:not(#_) body.aa .aa-btn:hover { box-shadow: inset 0 0 0 1px rgba(230, 203, 134, .7), 0 12px 24px -12px rgba(122, 31, 46, .9); }

/* ---------- colonne latérale ---------- */
html:not(#_) body.aa .aa-side { background: #fffaf3; border: 1px solid #e4cfb6; border-radius: 26px 26px 18px 18px; box-shadow: var(--aa-ombre); position: relative; overflow: hidden; padding-top: 1.4rem; }
html:not(#_) body.aa .aa-side::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, #7a1f2e, #b8923f, #7a1f2e); }
html:not(#_) body.aa .aa-side__h { color: #7a5a1c; font-family: var(--aa-police-titre); font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1.05rem; }
html:not(#_) body.aa .aa-side__liste li { border-top-color: #efe0cd; }
html:not(#_) body.aa .aa-side__liste a { color: #3a0b15; }
html:not(#_) body.aa .aa-side__liste a.is-actif, html:not(#_) body.aa .aa-side__liste .is-actif a { color: #7a1f2e; font-weight: 700; }
html:not(#_) body.aa .aa-side__nb, html:not(#_) body.aa .aa-side__aide { color: #664b4b; }

/* ---------- fiche d'annonce ---------- */
html:not(#_) body.aa .aa-crumbs ol, html:not(#_) body.aa .aa-crumbs a { color: #664b4b; }
html:not(#_) body.aa .aa-fiche__cat, html:not(#_) body.aa .aa-fiche__cat a { color: #7a5a1c; }
html:not(#_) body.aa .aa-fiche__titre { color: #3a0b15; font-style: italic; }
html:not(#_) body.aa .aa-fiche__sous, html:not(#_) body.aa .aa-fiche__meta { color: #664b4b; }
html:not(#_) body.aa .aa-fiche__sous a { color: #7a1f2e; }
html:not(#_) body.aa .aa-fiche__photo { border-radius: 200px 200px 20px 20px / 140px 140px 20px 20px; background: #3a0b15; box-shadow: 0 0 0 3px #fffaf3, 0 0 0 4px #b8923f, 0 24px 44px -22px rgba(74, 15, 27, .7); }
html:not(#_) body.aa .aa-fiche__new { top: auto; bottom: .8rem; right: 50%; transform: translateX(50%); z-index: 2; background: #3a0b15; color: #e6cb86; border: 1px solid #b8923f; padding: .2rem .8rem; letter-spacing: .04em; }
html:not(#_) body.aa .aa-hero__txt { position: relative; }
html:not(#_) body.aa .aa-fiche__miniatures img { border-radius: 30px 30px 8px 8px; }
html:not(#_) body.aa .aa-fiche__infos, html:not(#_) body.aa .aa-repondre { background: #fffaf3; border: 1px solid #e4cfb6; border-radius: 20px; box-shadow: var(--aa-ombre); }
html:not(#_) body.aa .aa-fiche__infos dt, html:not(#_) body.aa .aa-repondre__intro { color: #664b4b; }
html:not(#_) body.aa .aa-fiche__infos dd, html:not(#_) body.aa .aa-fiche__infos dd a { color: #2b1519; }
html:not(#_) body.aa .aa-fiche__cta--haut { background: #fffaf3; border: 1px solid #b8923f; border-left: 1px solid #b8923f; border-radius: 22px; box-shadow: inset 0 0 0 4px #fffaf3, inset 0 0 0 5px rgba(184, 146, 63, .45), var(--aa-ombre); padding: 1.1rem; }
html:not(#_) body.aa .aa-fiche__texte { color: #2b1519; }
html:not(#_) body.aa .aa-fiche__plage { background: #f5e3cc; color: #3a0b15; border-radius: 999px; border: 1px solid #e0c49c; }
html:not(#_) body.aa .aa-fiche__phy { background: #fffaf3; border: 1px solid #e4cfb6; border-radius: 16px 16px 10px 10px; }
html:not(#_) body.aa .aa-fiche__physique dt { color: #7a5a1c; }
html:not(#_) body.aa .aa-fiche__physique dd { color: #2b1519; }
html:not(#_) body.aa .aa-chips li, html:not(#_) body.aa .aa-chip { background: #fffaf3; border-color: #dcc3a6; color: #3a0b15; }
html:not(#_) body.aa .aa-chips--lecture li { background: #7a1f2e; color: #fffaf3; border-color: #7a1f2e; }
html:not(#_) body.aa .aa-chip:has(input:checked) { background: #f5e0d9; border-color: #7a1f2e; }
html:not(#_) body.aa .aa-fiche__signaler, html:not(#_) body.aa .aa-fiche__signaler a, html:not(#_) body.aa .aa-retour, html:not(#_) body.aa .aa-retour a { color: #664b4b; }
html:not(#_) body.aa .aa-fiche__barre { background: rgba(255, 250, 243, .94); border-top: 2px solid #b8923f; }

/* ---------- dépôt ---------- */
html:not(#_) body.aa .aa-depot__bloc { background: #fffaf3; border: 1px solid #e4cfb6; border-radius: 22px; box-shadow: var(--aa-ombre); }
html:not(#_) body.aa .aa-depot__bloc legend { background: #3a0b15; color: #e6cb86; border-radius: 999px; padding: .25rem .9rem; font-style: italic; font-size: .95rem; }
html:not(#_) body.aa .aa-form__lbl { color: #2b1519; }
html:not(#_) body.aa .aa-form__aide, html:not(#_) body.aa .aa-regles, html:not(#_) body.aa .aa-form__sep { color: #664b4b; }

/* ---------- pages simples, pagination ---------- */
html:not(#_) body.aa .aa-intro, html:not(#_) body.aa .aa-compte, html:not(#_) body.aa .aa-pagination__etat { color: #664b4b; }
html:not(#_) body.aa .aa-pagination a, html:not(#_) body.aa .aa-pagination span { border-radius: 999px; background: #fffaf3; color: #2b1519; border-color: #e4cfb6; }
html:not(#_) body.aa .aa-pagination .is-actif { background: #7a1f2e; color: #fffaf3; border-color: #7a1f2e; }
html:not(#_) body.aa .aa-vide { background: #fffaf3; color: #664b4b; border-color: #dcc3a6; }

/* ---------- porte et pop-up : arche ivoire ---------- */
html:not(#_) body.aa .aa-gate__box, html:not(#_) body.aa .aa-popup__box { background: #fffaf3; color: #2b1519; border: 1px solid #b8923f; border-radius: 160px 160px 22px 22px / 80px 80px 22px 22px; padding-top: 2.4rem; }
html:not(#_) body.aa .aa-gate__mark { background: radial-gradient(circle at 35% 30%, #8c2536, #5a1420); color: #e6cb86; box-shadow: 0 0 0 3px #fffaf3, 0 0 0 4px #b8923f; font-family: var(--aa-police-titre); }
html:not(#_) body.aa .aa-popup__pour { color: #7a1f2e; }
html:not(#_) body.aa .aa-popup__texte { color: #664b4b; }

/* ---------- pied : velours, arcade renversée ---------- */
html:not(#_) body.aa .aa-footer { background: var(--vg-velours); color: #ecdcc9; position: relative; margin-top: 3rem; padding-top: 2.6rem; }
html:not(#_) body.aa .aa-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; background: var(--vg-arcade); background-size: 24px 12px; transform: scaleY(-1); pointer-events: none; }
html:not(#_) body.aa .aa-footer a { color: #f3e3cf; }
html:not(#_) body.aa .aa-footer a:hover { color: #e6cb86; }
html:not(#_) body.aa .aa-footer__brand { color: #e6cb86; font-style: italic; text-transform: none; letter-spacing: .01em; font-size: 1.4rem; }
html:not(#_) body.aa .aa-footer__h { color: #e6cb86; font-family: var(--aa-police-titre); font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; border-bottom: 1px solid rgba(230, 203, 134, .3); padding-bottom: .35rem; }
html:not(#_) body.aa .aa-footer__fictif { color: #d9c5b0; opacity: 1; }
html:not(#_) body.aa .aa-footer__bas { border-top: 1px solid rgba(230, 203, 134, .35); color: #d9c5b0; opacity: 1; }

@media (max-width: 719px) {
  html:not(#_) body.aa .aa-hero__form { border-radius: 120px 120px 20px 20px / 60px 60px 20px 20px; }
  html:not(#_) body.aa .aa-fiche__photo { border-radius: 140px 140px 18px 18px / 90px 90px 18px 18px; }
  html:not(#_) body.aa .aa-fiche__photo--scene { height: min(var(--aa-ph-h, 600px), 46vh, 400px); }
}
@media (prefers-reduced-motion: reduce) {
  html:not(#_) body.aa .aa-ligne, html:not(#_) body.aa .aa-ligne__img img, html:not(#_) body.aa .aa-liens li { transition: none; }
}
