/* gay-wallonie.be — registre « framboise & anthracite, ondes »
   Accent framboise #ad1457 (favicon) · neutre chaud lin/sable #f5ede4 · encre anthracite #1d1b1f.
   Formes signature : ondes (bord ondulé sous l'en-tête et sur le pied, soulignés ondulés des
   bandeaux, cartes d'appel à crête ondulée), vignettes « galbe » à angles alternés, cœur SVG discret. */

html:not(#_) body.aa {
  --aa-teinte: #ad1457;
  --aa-primaire: #ad1457;
  --aa-primaire-fonce: #7f0e40;
  --aa-primaire-txt: #fff;
  --aa-page: #efe6dc;
  --aa-fond: #fffaf4;
  --aa-surface: #fffdf9;
  --aa-surface-2: #f7eee4;
  --aa-texte: #1d1b1f;
  --aa-muet: #5e5558;
  --aa-bord: #e4d6c7;
  --aa-lien: #a3134f;
  --aa-tete: #232226;
  --aa-tete-txt: #f7f1ea;
  --aa-barre: #302e33;
  --aa-bande: #29282c;
  --aa-bande-txt: #fff8f1;
  --aa-bande-bord: #ad1457;
  --aa-secondaire: #29282c;
  --aa-pied: #1f1e22; --aa-pied-txt: #ddd3cb;
  --aa-rayon: 16px; --aa-rayon-s: 10px;
  --aa-ombre: 0 2px 4px rgba(90, 20, 50, .05), 0 18px 40px -24px rgba(173, 20, 87, .38);
  --aa-police-titre: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --gw-onde: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='8' viewBox='0 0 40 8'%3E%3Cpath d='M0 4 Q10 0 20 4 T40 4' fill='none' stroke='%23ad1457' stroke-width='2.2'/%3E%3C/svg%3E");
  --gw-onde-clair: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='8' viewBox='0 0 40 8'%3E%3Cpath d='M0 4 Q10 0 20 4 T40 4' fill='none' stroke='%23f06292' stroke-width='2.2'/%3E%3C/svg%3E");
  background-image:
    radial-gradient(1200px 500px at 110% -10%, rgba(173, 20, 87, .10), transparent 60%),
    radial-gradient(900px 400px at -10% 110%, rgba(173, 20, 87, .07), transparent 60%);
  background-attachment: fixed;
}

/* ---- en-tête anthracite, bord ondulé ---------------------------------- */
html:not(#_) body.aa .aa-header { box-shadow: none; padding-bottom: 14px; background: var(--aa-tete); }
html:not(#_) body.aa .aa-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -13px; height: 14px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H120 V6 Q90 -2 60 6 T0 6 Z' fill='%23232226'/%3E%3Cpath d='M0 6 Q30 14 60 6 T120 6' fill='none' stroke='%23ad1457' stroke-width='2.5'/%3E%3C/svg%3E") repeat-x 0 0 / 240px 14px;
}
html:not(#_) body.aa .aa-logo__mark {
  width: 34px; height: 34px; border-radius: 12px 4px 12px 4px; background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cpath d='M5 13 Q11 8 17 13 T29 13 M5 21 Q11 16 17 21 T29 21' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat, linear-gradient(145deg, #c2185b, #7f0e40);
  box-shadow: 0 6px 14px -6px rgba(173, 20, 87, .8);
}
html:not(#_) body.aa .aa-logo__txt { letter-spacing: .02em; text-transform: uppercase; font-size: 1.4rem; }
html:not(#_) body.aa .aa-logo__sous { opacity: .85; }
html:not(#_) body.aa .aa-header__cta { border-radius: 999px; padding-inline: 1.2em; }
html:not(#_) body.aa .aa-nav { background: var(--aa-barre); border-radius: 14px 14px 0 0; margin-inline: 0; margin-top: .3rem; }
html:not(#_) body.aa .aa-nav a { color: #f1e9e2; border-bottom: 0; border-radius: 10px; margin: .3rem .1rem; padding: .5rem .85rem; }
html:not(#_) body.aa .aa-nav a:hover { background: rgba(255, 255, 255, .09); }
html:not(#_) body.aa .aa-nav a.is-actif { background: var(--aa-fond); color: var(--aa-texte); box-shadow: inset 0 -3px 0 var(--aa-primaire); }
html:not(#_) body.aa .aa-burger { border-radius: 12px; border-color: rgba(255, 255, 255, .3); }

/* ---- conteneur ----------------------------------------------------------- */
html:not(#_) body.aa .aa-main { padding-top: 1.6rem; }
html:not(#_) body.aa .aa-main > .aa-wrap { border-color: var(--aa-bord); border-radius: 22px; box-shadow: var(--aa-ombre); }

/* ---- bandeaux : anthracite, souligné ondulé framboise ------------------- */
html:not(#_) body.aa .aa-h2,
html:not(#_) body.aa .aa-side__h,
html:not(#_) body.aa .aa-bande,
html:not(#_) body.aa .aa-depot__bloc legend {
  background: var(--aa-bande) var(--gw-onde-clair) repeat-x left bottom 3px / 28px 6px;
  color: var(--aa-bande-txt); border-left: 0; border-bottom: 0;
  border-radius: 12px 12px 12px 3px; padding: .5rem .9rem .75rem; letter-spacing: .08em;
}
html:not(#_) body.aa .aa-side__h { border-radius: 16px 16px 0 0; }
html:not(#_) body.aa .aa-h2 .aa-ico, html:not(#_) body.aa .aa-side__h .aa-ico { color: #f48fb1; opacity: 1; }

/* ---- bandeau d'accueil : lin, ondes superposées ------------------------- */
html:not(#_) body.aa .aa-hero {
  position: relative; overflow: hidden; border: 1px solid var(--aa-bord); border-left: 0;
  border-radius: 22px 6px 22px 6px; padding: 1.4rem 1.4rem 2.4rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='60' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30 Q50 10 100 30 T200 30 T300 30 T400 30 V60 H0Z' fill='%23ad1457' fill-opacity='.10'/%3E%3Cpath d='M0 42 Q50 24 100 42 T200 42 T300 42 T400 42 V60 H0Z' fill='%23ad1457' fill-opacity='.16'/%3E%3C/svg%3E") repeat-x left bottom / 400px 46px,
    linear-gradient(160deg, #fbf3ea, #f6e9e3);
  box-shadow: 0 16px 34px -26px rgba(173, 20, 87, .55);
}
html:not(#_) body.aa .aa-hero .aa-h1 { color: var(--aa-texte); }
html:not(#_) body.aa .aa-hero .aa-intro { color: #4d4447; }
html:not(#_) body.aa .aa-hero__chiffres span { background: #fff; color: #7f0e40; border-color: #e8c6d4; border-radius: 999px; }

/* ---- lignes d'annonce ----------------------------------------------------- */
html:not(#_) body.aa .aa-liste { border-top: 0; gap: .45rem; }
html:not(#_) body.aa .aa-ligne {
  border: 1px solid #efe2d4; border-radius: 18px 6px 18px 6px; background: #fffdf9;
  padding: .85rem .9rem; box-shadow: 0 6px 16px -14px rgba(60, 20, 40, .45);
}
html:not(#_) body.aa .aa-ligne:hover { background: #fdf4ee; border-color: #edd3dc; box-shadow: 0 10px 24px -20px rgba(173, 20, 87, .7); }
html:not(#_) body.aa .aa-ligne__img {
  border: 0; padding: 0; border-radius: 22px 6px 22px 6px; background: var(--aa-surface-2);
  box-shadow: 0 0 0 3px #fff, 0 0 0 4px #e6c3d1, 0 10px 18px -12px rgba(173, 20, 87, .7);
}
html:not(#_) body.aa .aa-ligne__img img { border-radius: inherit; }
html:not(#_) body.aa .aa-ligne:hover .aa-ligne__img img { transform: scale(1.06); }
html:not(#_) body.aa .aa-ligne__cat { color: #a3134f; }
html:not(#_) body.aa .aa-ligne__new, html:not(#_) body.aa .aa-fiche__new { background: #29282c; color: #fff; border-radius: 999px; padding-inline: .6rem; }
html:not(#_) body.aa .aa-ligne__titre a { color: var(--aa-texte); }
html:not(#_) body.aa .aa-ligne__titre a:hover { color: #a3134f; }
html:not(#_) body.aa .aa-ligne__lire { border-radius: 999px; border-color: #ad1457; color: #a3134f; background: #fff; }
html:not(#_) body.aa .aa-ligne__lire:hover { background: #ad1457; color: #fff; }
html:not(#_) body.aa .aa-btn--primaire { border-radius: 999px; background: linear-gradient(180deg, #bd1a60, #9c1250); border-color: #7f0e40; color: #fff; }

/* ---- colonne latérale ------------------------------------------------------ */
html:not(#_) body.aa .aa-side { border-radius: 16px; background: var(--aa-surface-2); border-color: var(--aa-bord); box-shadow: 0 10px 26px -24px rgba(60, 20, 40, .6); }
html:not(#_) body.aa .aa-side--deposer { background: none; box-shadow: none; }
html:not(#_) body.aa .aa-side__liste li::before { width: 10px; height: 4px; border-radius: 4px; top: .85em; }
html:not(#_) body.aa .aa-side__nb, html:not(#_) body.aa .aa-liens__nb { color: #5e5558; }
html:not(#_) body.aa .aa-side__liste--inline li { border-radius: 999px; background: #fff; }
html:not(#_) body.aa .aa-liens li { border-radius: 12px 4px 12px 4px; background: #fbf4ec; }
html:not(#_) body.aa .aa-liens li::before { background: #ad1457; width: 4px; border-radius: 12px 0 0 4px; }
html:not(#_) body.aa .aa-filtres { border-radius: 16px; background: var(--aa-surface-2); }
html:not(#_) body.aa .aa-chip { border-radius: 999px; }
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 textarea { border-radius: 12px; background-color: #fff; border-color: #dccbbb; color: var(--aa-texte); }

/* ---- étapes / atouts ------------------------------------------------------ */
html:not(#_) body.aa .aa-etapes li { border-radius: 16px; background: #fbf3ea; }
html:not(#_) body.aa .aa-etapes li::before { border-radius: 10px 3px 10px 3px; background: #29282c; color: #fff; box-shadow: inset 0 -3px 0 #ad1457; }
html:not(#_) body.aa .aa-atouts li { border-radius: 14px; border-left: 0; box-shadow: inset 4px 0 0 #ad1457; }

/* ---- carte d'appel « déposer » : crête ondulée, cœur discret, centrée ------ */
html:not(#_) body.aa .aa-deposer-cta {
  position: relative; border: 0; border-radius: 20px; padding: 1.8rem 1.4rem 1.3rem; margin-top: 1.6rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C1 8.6 3 5 6.4 5c2.2 0 3.6 1.4 4.3 2.6h2.6C14 6.4 15.4 5 17.6 5 21 5 23 8.6 21.6 11.8 19.5 16.4 12 21 12 21z' fill='%23f06292' fill-opacity='.16'/%3E%3C/svg%3E") right 1rem bottom .6rem / 70px no-repeat,
    linear-gradient(170deg, #2b2a2f, #1f1e22);
  color: #f7efe8; justify-content: center; text-align: center; box-shadow: 0 20px 40px -26px rgba(173, 20, 87, .9);
}
html:not(#_) body.aa .aa-deposer-cta::before {
  content: ""; position: absolute; left: 1rem; right: 1rem; top: .7rem; height: 8px;
  background: var(--gw-onde-clair) repeat-x center / 28px 6px;
}
html:not(#_) body.aa .aa-deposer-cta__h { color: #fff; }
html:not(#_) body.aa .aa-deposer-cta__txt { color: #e3d8d0; }
html:not(#_) body.aa .aa-deposer-cta .aa-btn--secondaire { background: #fff; color: #7f0e40; border-color: #fff; border-radius: 999px; }

/* ---- pagination ------------------------------------------------------------- */
html:not(#_) body.aa .aa-pagination a, html:not(#_) body.aa .aa-pagination span { border-radius: 12px 4px 12px 4px; background: #fbf3ea; }
html:not(#_) body.aa .aa-pagination .is-actif { background: #ad1457; color: #fff; }

/* ---- fiche d'annonce ------------------------------------------------------- */
html:not(#_) body.aa .aa-fiche__titre { border-bottom: 0; padding-bottom: .9rem; background: var(--gw-onde) repeat-x left bottom / 28px 6px; }
html:not(#_) body.aa .aa-fiche__photo { border: 0; border-radius: 28px 8px 28px 8px; padding: 0; box-shadow: 0 0 0 4px #fff, 0 0 0 5px #e6c3d1, 0 22px 40px -26px rgba(173, 20, 87, .8); }
html:not(#_) body.aa .aa-fiche__miniatures img { border-radius: 12px 3px 12px 3px; }
html:not(#_) body.aa .aa-fiche__infos { border-radius: 16px; background: #fffdf9; }
html:not(#_) body.aa .aa-fiche__infos > div:nth-child(odd) { background: #f8efe6; }
html:not(#_) body.aa .aa-fiche__infos dt { color: #5e5558; }
html:not(#_) body.aa .aa-fiche__cta--haut { border-radius: 18px; background: linear-gradient(170deg, #fdf1ee, #f7e6e8); border-color: #ecc9d6; }
html:not(#_) body.aa .aa-fiche__cta .aa-btn--secondaire { border-radius: 999px; border-color: #29282c; color: #29282c; background: #fff; }
html:not(#_) body.aa .aa-fiche__cta--bas { border: 0; border-radius: 20px; background: linear-gradient(170deg, #2b2a2f, #1f1e22); color: #f7efe8; position: relative; padding-top: 1.7rem; }
html:not(#_) body.aa .aa-fiche__cta--bas::before { content: ""; position: absolute; left: 1rem; right: 1rem; top: .6rem; height: 8px; background: var(--gw-onde-clair) repeat-x center / 28px 6px; }
html:not(#_) body.aa .aa-fiche__cta--bas .aa-fiche__cta-sous { color: #e3d8d0; }
html:not(#_) body.aa .aa-fiche__cta--bas .aa-btn--secondaire { background: #fff; color: #29282c; border-color: #fff; }
html:not(#_) body.aa .aa-fiche__plage { border-radius: 999px; background: #f7e3ea; color: #5c0b30; }
html:not(#_) body.aa .aa-fiche__phy { border-radius: 14px 4px 14px 4px; background: #fbf3ea; }
html:not(#_) body.aa .aa-chips--lecture li { background: #fbf3ea; border-color: #e4d6c7; }
html:not(#_) body.aa .aa-repondre { border-radius: 20px; background: #fbf3ea; }

/* ---- dépôt ------------------------------------------------------------------ */
html:not(#_) body.aa .aa-depot__bloc { border-radius: 18px; background: #fffdf9; box-shadow: 0 12px 26px -24px rgba(60, 20, 40, .7); }
html:not(#_) body.aa .aa-depot__bloc legend::before { border-radius: 8px 3px 8px 3px; background: #ad1457; color: #fff; }

/* ---- barres mobiles & pop-ups ----------------------------------------------- */
html:not(#_) body.aa .aa-mobar, html:not(#_) body.aa .aa-fiche__barre { background: rgba(35, 34, 38, .94); border-top: 2px solid #ad1457; }
html:not(#_) body.aa .aa-mobar .aa-btn--secondaire, html:not(#_) body.aa .aa-fiche__barre .aa-btn--secondaire { background: #fffaf4; color: #29282c; border-color: #fffaf4; }
html:not(#_) body.aa .aa-gate__box, html:not(#_) body.aa .aa-popup__box { border-radius: 22px; border-top: 0; box-shadow: inset 0 5px 0 #ad1457, 0 30px 60px -20px rgba(0, 0, 0, .6); background: #fffaf4; }
html:not(#_) body.aa .aa-gate__mark { border-radius: 18px 6px 18px 6px; }

/* ---- pied : bord ondulé ------------------------------------------------------ */
html:not(#_) body.aa .aa-footer { position: relative; border-top: 0; margin-top: 2.4rem; }
html:not(#_) body.aa .aa-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 17px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='17' viewBox='0 0 120 17' preserveAspectRatio='none'%3E%3Cpath d='M0 10 Q30 0 60 10 T120 10 V17 H0Z' fill='%231f1e22'/%3E%3Cpath d='M0 10 Q30 0 60 10 T120 10' fill='none' stroke='%23ad1457' stroke-width='2.5'/%3E%3C/svg%3E") repeat-x 0 0 / 240px 17px;
}
html:not(#_) body.aa .aa-footer__h { border-bottom: 0; padding-bottom: .55rem; background: var(--gw-onde-clair) repeat-x left bottom / 24px 5px; color: #fff; }
html:not(#_) body.aa .aa-footer a:hover { color: #f48fb1; }
html:not(#_) body.aa .aa-footer__fictif { opacity: 1; color: #bfb4ad; }

@media (max-width: 859px) {
  html:not(#_) body.aa .aa-bloc__tete { flex-wrap: wrap; gap: .4rem; }
  html:not(#_) body.aa .aa-bloc__tete .aa-h2 { flex: 1 1 100%; }
  html:not(#_) body.aa .aa-nav { border-radius: 16px; margin-top: .7rem; }
  html:not(#_) body.aa .aa-nav a { margin: .1rem 0; }
  html:not(#_) body.aa .aa-hero { padding: 1.1rem 1rem 2.2rem; }
  html:not(#_) body.aa .aa-ligne { padding: .75rem .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  html:not(#_) body.aa .aa-ligne__img img { transition: none; }
}
