/* annonce-sex-brabant-wallon.be — registre « fuchsia et grège » : boudoir de couturière, taffetas fuchsia
   posé sur un lin grège, coutures en pointillé, rubans. Base skin-5 (polaroid) redressée : plus rien n'est
   incliné, tout est cousu droit.
   Palette : accent fuchsia #c2185b (favicon, boutons, blanc lisible 5,6:1), fuchsia encre #9a0f47 (texte
   d'accent sur grège), neutre chaud grège #ebe4da / #dfd6c9, ivoire #fcf9f4, encre aubergine #261a20.
   Formes signature : photos en ARCHE (cartes, fiche, avatars), PILULES (nav, thèmes, villes, boutons),
   RUBAN fuchsia en écharpe sur les cartes, COEUR en filigrane (inscription, CTA de fiche), FESTON sous
   l'en-tête et au-dessus du pied, COUTURE en pointillé sur les cartouches. */

html:not(#_) body.sa {
  --sa-accent: #c2185b; --sa-accent-txt: #fff;
  --bw-encre-f: #9a0f47;
  --sa-fond: #ebe4da; --sa-fond2: #dfd6c9; --sa-surface: #fcf9f4;
  --sa-texte: #261a20; --sa-muet: #5a4e53; --sa-bord: #d3c8ba;
  --sa-rayon: 18px; --sa-rayon-s: 999px;
  --sa-police: Candara, "Gill Sans", "Gill Sans MT", "Segoe UI", system-ui, sans-serif;
  --sa-police-titre: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --sa-ombre: 0 1px 2px rgba(80, 20, 45, .07), 0 18px 34px -20px rgba(194, 24, 91, .45);
  --sa-tete: #fcf9f4; --sa-tete-txt: #261a20;
  --sa-secondaire: #fcf9f4; --sa-secondaire-txt: #261a20;
  --sa-pied-txt: #3d3036;
  background-color: #ebe4da;
  background-image:
    radial-gradient(900px 380px at 85% -120px, rgba(194, 24, 91, .10), transparent 70%),
    repeating-linear-gradient(45deg, rgba(90, 70, 50, .035) 0 1px, transparent 1px 7px);
  font-size: 15.5px;
}
html:not(#_) .sa a { color: var(--bw-encre-f); }
html:not(#_) .sa h1, html:not(#_) .sa h2, html:not(#_) .sa h3 { color: var(--sa-texte); letter-spacing: -.005em; }
html:not(#_) .sa .sa-h1, html:not(#_) .sa .sa-h2, html:not(#_) .sa .sa-fiche__titre,
html:not(#_) .sa .sa-tags__h, html:not(#_) .sa .sa-membres__h, html:not(#_) .sa .sa-inscrire__h,
html:not(#_) .sa .sa-carte__titre, html:not(#_) .sa .sa-similaires__h, html:not(#_) .sa .sa-liens__h,
html:not(#_) .sa .sa-blog__titre { font-family: var(--sa-police-titre); font-weight: 700; }
html:not(#_) .sa .sa-h2 { position: relative; padding-bottom: .45rem; }
html:not(#_) .sa .sa-h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 72px; height: 6px; border-radius: 999px;
  background: radial-gradient(circle, var(--sa-accent) 2px, transparent 2.5px) 0 50% / 12px 6px repeat-x; }

/* ---------- en-tête : bande ivoire, logo en ruban, feston grège ---------- */
html:not(#_) .sa .sa-header { background: var(--sa-tete); border: 0; box-shadow: 0 10px 24px -22px rgba(80, 20, 45, .6); }
html:not(#_) .sa .sa-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -9px; height: 10px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='10' viewBox='0 0 24 10'%3E%3Cpath d='M0 0h24v2a12 8 0 0 1-12 8A12 8 0 0 1 0 2z' fill='%23fcf9f4'/%3E%3C/svg%3E") 0 0 / 24px 10px repeat-x; }
html:not(#_) .sa .sa-header__in { align-items: center; padding-top: .5rem; padding-bottom: .5rem; }
html:not(#_) .sa .sa-logo { transform: none; box-shadow: 0 8px 18px -10px rgba(194, 24, 91, .7); background: var(--sa-accent); color: #fff;
  font-family: var(--sa-police-titre); font-style: italic; font-weight: 700; font-size: 1.35rem; padding: .35rem 1.2rem .4rem 1rem;
  border-radius: 6px 999px 999px 6px; position: relative; }
html:not(#_) .sa .sa-logo::before { content: ""; position: absolute; inset: 4px 10px 4px 4px; border: 1px dashed rgba(255, 255, 255, .55); border-radius: 4px 999px 999px 4px; pointer-events: none; }
html:not(#_) .sa .sa-logo .sa-logo__txt { color: #fff; }
html:not(#_) .sa .sa-burger { color: var(--sa-texte); background: #f3ece2; border-radius: 999px; }
html:not(#_) .sa .sa-nav li a { color: var(--sa-texte); font-family: var(--sa-police); border-top-color: var(--sa-bord); }
html:not(#_) .sa .sa-nav li a .sa-ico { color: var(--sa-accent); }
@media (min-width: 900px) {
  html:not(#_) .sa .sa-nav li a { font-size: .95rem; font-weight: 600; border-radius: 999px; padding: .45rem .8rem; text-decoration: none; }
  html:not(#_) .sa .sa-nav li a:hover, html:not(#_) .sa .sa-nav li a.is-actif { background: #f6e3ea; color: var(--bw-encre-f); text-decoration: none; }
}
html:not(#_) .sa .sa-btn { font-family: var(--sa-police); font-size: .98rem; border-radius: 999px; transform: none; letter-spacing: .01em; }
html:not(#_) .sa .sa-btn--accent { background: var(--sa-accent); border-color: var(--sa-accent); color: #fff;
  box-shadow: 0 10px 20px -12px rgba(194, 24, 91, .85); }
html:not(#_) .sa .sa-btn--accent:hover { background: #a8124d; border-color: #a8124d; transform: translateY(-1px); }
html:not(#_) .sa .sa-btn--ghost { background: transparent; color: var(--bw-encre-f); border: 2px solid color-mix(in srgb, var(--sa-accent) 55%, #d3c8ba); }
html:not(#_) .sa .sa-btn--ghost:hover { background: #f6e3ea; }

/* ---------- cartouche d'inscription (haut d'accueil + bas de pages) ---------- */
html:not(#_) .sa .sa-inscrire { background: none; color: var(--sa-texte); padding: 1.6rem 0 1rem; }
html:not(#_) .sa .sa-inscrire__in { transform: none; max-width: 940px; margin-left: auto; margin-right: auto; background-color: var(--sa-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.2-4.6-9.6-9.1A5.4 5.4 0 0 1 12 5.6a5.4 5.4 0 0 1 9.6 6.3C19.2 16.4 12 21 12 21z' fill='%23c2185b' fill-opacity='.16'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right -40px bottom -50px; background-size: 260px;
  border-radius: 28px; padding: 1.7rem 1.8rem; box-shadow: var(--sa-ombre); outline: 1.5px dashed color-mix(in srgb, var(--sa-accent) 35%, transparent); outline-offset: -10px; }
html:not(#_) .sa .sa-inscrire__h { color: var(--sa-texte); font-size: 1.55rem; }
html:not(#_) .sa .sa-inscrire__txt, html:not(#_) .sa .sa-inscrire .sa-form__lbl, html:not(#_) .sa .sa-inscrire .sa-form__check { color: var(--sa-texte); }
html:not(#_) .sa .sa-inscrire .sa-form__check a { color: var(--bw-encre-f); }
html:not(#_) .sa .sa-form input[type=email], html:not(#_) .sa .sa-form input[type=text], html:not(#_) .sa .sa-form input[type=number],
html:not(#_) .sa .sa-form input[type=tel], html:not(#_) .sa .sa-form select, html:not(#_) .sa .sa-form textarea {
  background: #fff; color: var(--sa-texte); border: 1.5px solid var(--sa-bord); border-radius: 14px; }
html:not(#_) .sa .sa-form input:focus, html:not(#_) .sa .sa-form select:focus, html:not(#_) .sa .sa-form textarea:focus {
  border-color: var(--sa-accent); outline: 3px solid rgba(194, 24, 91, .18); outline-offset: 0; }

/* ---------- thèmes : nuage de pilules en taffetas ---------- */
html:not(#_) .sa .sa-tags, html:not(#_) .sa .sa-side, html:not(#_) .sa .sa-similaires, html:not(#_) .sa .sa-fiche, html:not(#_) .sa .sa-blog__item {
  background: var(--sa-surface); border: 0; border-radius: 24px; box-shadow: var(--sa-ombre); transform: none; }
html:not(#_) .sa .sa-tags--grille { transform: none; }
html:not(#_) .sa .sa-tags__liste a { transform: none; border-radius: 999px; font-family: var(--sa-police); background: #f6e3ea; color: var(--bw-encre-f);
  border: 1px solid #ecc6d4; transition: background-color .15s ease, color .15s ease; }
html:not(#_) .sa .sa-tags__liste li:nth-child(3n+1) a { background: #efe7dc; color: #4a3a40; border-color: #ddd0c0; }
html:not(#_) .sa .sa-tags__liste a:hover { background: var(--sa-accent); color: #fff; text-decoration: none; }
html:not(#_) .sa .sa-tags__liste a .sa-badge, html:not(#_) .sa .sa-tags__liste a:hover .sa-badge { background: #fff; color: var(--bw-encre-f); }

/* ---------- cartes d'annonce : arche ivoire, ruban, pas d'inclinaison ---------- */
html:not(#_) .sa .sa-grille { gap: 1.5rem 1.1rem; padding: .3rem 0; }
html:not(#_) .sa .sa-grille > .sa-carte, html:not(#_) .sa .sa-carte { transform: none; background: var(--sa-surface); border-radius: 999px 999px 22px 22px;
  padding: 9px 9px 0; box-shadow: var(--sa-ombre); transition: transform .25s ease, box-shadow .25s ease; display: flex; flex-direction: column; }
html:not(#_) .sa .sa-grille > .sa-carte:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(80, 20, 45, .08), 0 26px 40px -22px rgba(194, 24, 91, .6); }
html:not(#_) .sa .sa-carte__img { border-radius: 999px 999px 14px 14px; aspect-ratio: 4 / 5; }
html:not(#_) .sa .sa-carte__img img { transition: transform .5s ease; }
html:not(#_) .sa .sa-carte:hover .sa-carte__img img { transform: scale(1.06); }
html:not(#_) .sa .sa-carte__new { top: auto; bottom: 12px; left: -4px; border-radius: 0 999px 999px 0; padding: .25rem .75rem .25rem .7rem;
  background: var(--sa-accent); color: #fff; font-family: var(--sa-police-titre); font-style: italic; text-transform: none; letter-spacing: 0; font-size: .78rem;
  box-shadow: 0 6px 12px -6px rgba(120, 10, 50, .8); }
html:not(#_) .sa .sa-carte__corps { padding: .7rem .5rem .4rem; flex: 1; display: flex; flex-direction: column; }
html:not(#_) .sa .sa-carte__qui { color: var(--sa-muet); }
html:not(#_) .sa .sa-carte__pseudo { color: var(--sa-texte); font-weight: 700; }
html:not(#_) .sa .sa-carte__titre { font-size: 1.02rem; line-height: 1.25; }
html:not(#_) .sa .sa-carte__titre a { color: var(--sa-texte); }
html:not(#_) .sa .sa-carte__ville { color: var(--sa-muet); }
html:not(#_) .sa .sa-carte__ville .sa-ico { color: var(--sa-accent); }
html:not(#_) .sa .sa-carte__pied { margin-top: auto; border-top: 1px dashed var(--sa-bord); padding: .5rem 0 .7rem; }
html:not(#_) .sa .sa-meta { color: var(--sa-muet); }
html:not(#_) .sa .sa-btn--carte { background: var(--sa-accent); color: #fff; border-color: var(--sa-accent); width: 100%; }

/* ---------- villes : pilules cousues ---------- */
html:not(#_) .sa .sa-pastille { background: var(--sa-surface); border: 1px solid var(--sa-bord); border-radius: 999px; box-shadow: none; font-family: var(--sa-police); color: var(--sa-texte); }
html:not(#_) .sa .sa-pastille:hover { border-color: var(--sa-accent); background: #fbeef3; }
html:not(#_) .sa .sa-pastille .sa-badge { background: var(--sa-accent); color: #fff; }
html:not(#_) .sa .sa-regions { background: none; }

/* ---------- nouvelles inscrites : médaillons en arche ---------- */
html:not(#_) .sa .sa-membres__avatar { transform: none; border: 3px solid var(--sa-surface); border-radius: 999px 999px 10px 10px; box-shadow: 0 0 0 2px #ecc6d4, var(--sa-ombre); }
html:not(#_) .sa .sa-membres__liste li:nth-child(2n) .sa-membres__avatar { transform: none; }
html:not(#_) .sa .sa-membres__nom a { color: var(--sa-texte); }
html:not(#_) .sa .sa-membres__ville { color: var(--sa-muet); }

/* ---------- fiche d'annonce ---------- */
html:not(#_) .sa .sa-fiche { padding: 1.4rem; }
html:not(#_) .sa .sa-fiche__photo { transform: none; background: var(--sa-surface); padding: 8px; border-radius: 999px 999px 22px 22px;
  box-shadow: 0 0 0 2px #ecc6d4, var(--sa-ombre); overflow: hidden; }
html:not(#_) .sa .sa-fiche__photo img { border-radius: 999px 999px 16px 16px; }
html:not(#_) .sa .sa-fiche__sur { color: var(--bw-encre-f); font-style: italic; font-family: var(--sa-police-titre); }
html:not(#_) .sa .sa-fiche__id > div { border-top: 1px dashed var(--sa-bord); }
html:not(#_) .sa .sa-fiche__id dt { color: var(--sa-muet); }
html:not(#_) .sa .sa-fiche__id dd { color: var(--sa-texte); font-weight: 600; }
html:not(#_) .sa .sa-fiche__id dd a { color: var(--bw-encre-f); }
html:not(#_) .sa .sa-fiche__texte { color: var(--sa-texte); }
html:not(#_) .sa .sa-chip { transform: none; border-radius: 999px; background: #f6e3ea; color: var(--bw-encre-f); border: 1px solid #ecc6d4; }
html:not(#_) .sa .sa-dispo { background: #f5efe6; border: 1.5px dashed #d8c9b8; border-radius: 20px; }
html:not(#_) .sa .sa-dispo__jour { background: var(--sa-surface); border-radius: 999px; }
html:not(#_) .sa .sa-dispo__nom { color: var(--sa-texte); }
html:not(#_) .sa .sa-cta { transform: none; border: 0; border-radius: 26px; max-width: 520px; margin-left: auto; margin-right: auto; padding: 1.5rem 1.6rem;
  background-color: #fbeef3; box-shadow: var(--sa-ombre);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.2-4.6-9.6-9.1A5.4 5.4 0 0 1 12 5.6a5.4 5.4 0 0 1 9.6 6.3C19.2 16.4 12 21 12 21z' fill='%23c2185b' fill-opacity='.09'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 150px; }
html:not(#_) .sa .sa-cta__q { color: var(--sa-texte); font-family: var(--sa-police-titre); font-style: italic; font-size: 1.15rem; }
html:not(#_) .sa .sa-fiche__barre { background: var(--sa-surface); border-top: 2px solid #ecc6d4; }
html:not(#_) .sa .sa-commentaires__aucun { color: var(--sa-muet); }
html:not(#_) .sa .sa-similaires__titre, html:not(#_) .sa .sa-similaires__titre a { color: var(--sa-texte); }
html:not(#_) .sa .sa-similaires__meta { color: var(--sa-muet); }
html:not(#_) .sa .sa-similaires__img, html:not(#_) .sa .sa-similaires__img img { border-radius: 999px 999px 8px 8px; }

/* ---------- barre mobile (style seulement, jamais sa position) ---------- */
html:not(#_) .sa .sa-barre-mobile { background: linear-gradient(90deg, #a8124d, #c2185b 55%, #a8124d); color: #fff; font-family: var(--sa-police-titre); font-style: italic; letter-spacing: .01em; }

/* ---------- pied de page : feston, cartouche ivoire centrée ---------- */
html:not(#_) .sa .sa-footer { background: none; color: var(--sa-pied-txt); }
html:not(#_) .sa .sa-liens { background: none; padding-top: 2.8rem; }
html:not(#_) .sa .sa-liens__grid { transform: none; background: var(--sa-surface); border-radius: 30px 30px 18px 18px; box-shadow: var(--sa-ombre); max-width: 960px; padding: 2rem 1.8rem 1.6rem; position: relative; }
html:not(#_) .sa .sa-liens__grid::before { content: ""; position: absolute; left: 24px; right: 24px; top: -10px; height: 10px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10'%3E%3Cpath d='M0 10a10 10 0 0 1 20 0z' fill='%23c2185b'/%3E%3C/svg%3E") 0 0 / 20px 10px repeat-x; }
html:not(#_) .sa .sa-liens__marque { font-family: var(--sa-police-titre); font-style: italic; color: var(--bw-encre-f); font-size: 1.3rem; }
html:not(#_) .sa .sa-liens__h { color: var(--sa-texte); text-transform: none; letter-spacing: 0; font-size: 1.05rem; }
html:not(#_) .sa .sa-liens p, html:not(#_) .sa .sa-liens li { color: var(--sa-pied-txt); }
html:not(#_) .sa .sa-liens a { color: var(--sa-texte); }
html:not(#_) .sa .sa-liens a:hover { color: var(--bw-encre-f); }
html:not(#_) .sa .sa-liens .sa-btn--ghost { color: var(--bw-encre-f); }
html:not(#_) .sa .sa-footer__tail { color: var(--sa-muet); }
html:not(#_) .sa .sa-footer__legal a, html:not(#_) .sa .sa-footer__haut a { color: var(--sa-texte); }

/* ---------- pop-ups : même boudoir ---------- */
html:not(#_) .sa .sa-consent__box, html:not(#_) .sa .sa-popup__box { border-radius: 26px; background: var(--sa-surface); color: var(--sa-texte); }

@media (max-width: 767px) {
  html:not(#_) .sa .sa-inscrire__in { padding: 1.3rem 1.1rem; border-radius: 22px; background-position: right 16px top 14px; background-size: 44px; }
  html:not(#_) .sa .sa-grille { gap: 1.1rem .8rem; }
  html:not(#_) .sa .sa-carte__titre { font-size: .95rem; }
  html:not(#_) .sa .sa-fiche { padding: 1rem; }
  html:not(#_) .sa .sa-fiche__photo { max-width: 320px; margin-left: auto; margin-right: auto; }
  html:not(#_) .sa .sa-liens__grid { border-radius: 22px; padding: 1.6rem 1.1rem 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  html:not(#_) .sa .sa-carte, html:not(#_) .sa .sa-carte__img img, html:not(#_) .sa .sa-btn { transition: none; }
  html:not(#_) .sa .sa-grille > .sa-carte:hover, html:not(#_) .sa .sa-carte:hover .sa-carte__img img { transform: none; }
}

/* ---------- tour 2 : nav sur une ligne en grand écran, boutons de carte compacts sur mobile ---------- */
@media (min-width: 900px) {
  html:not(#_) .sa .sa-logo { font-size: 1.2rem; flex: none; }
  html:not(#_) .sa .sa-nav ul { gap: 0; justify-content: flex-end; }
  html:not(#_) .sa .sa-nav li a { padding: .4rem .42rem; font-size: .87rem; }
  html:not(#_) .sa .sa-header__actions .sa-btn { font-size: .88rem; padding-left: .85rem; padding-right: .85rem; }
}
html:not(#_) .sa .sa-inscrire__in { background-position: left 22px bottom 14px; background-size: 64px; }
@media (max-width: 767px) {
  html:not(#_) .sa .sa-btn--carte { font-size: .84rem; white-space: nowrap; padding-left: .4rem; padding-right: .4rem; }
  html:not(#_) .sa .sa-carte { border-radius: 999px 999px 18px 18px; padding: 6px 6px 0; }
}
