/* annonce-escort.be — registre « Minuit »
   Palette : accent prune #a8326b (favicon) · neutre chaud crème #f7efe6 / sable #efe2d3 · encre bleu minuit #1b1c36.
   Formes signature : lune (médaillon croissant) du logo, photos en arche, pilules de thèmes, carte d'accès en cartouche
   arrondi avec liseré étoilé, vague crème sous l'en-tête. */

html:not(#_) body.sa {
  --mn-encre: #1b1c36;
  --mn-encre2: #26284a;
  --mn-creme: #f7efe6;
  --mn-sable: #efe2d3;
  --mn-prune: #a8326b;
  --mn-prune-f: #8a2556;
  --sa-fond: var(--mn-creme);
  --sa-fond2: var(--mn-sable);
  --sa-surface: #fffaf4;
  --sa-texte: #1b1c36;
  --sa-muet: #57536a;
  --sa-bord: #e4d4c3;
  --sa-rayon: 18px;
  --sa-rayon-s: 999px;
  --sa-police-titre: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sa-ombre: 0 2px 6px rgba(27,28,54,.06), 0 18px 36px -18px rgba(168,50,107,.35);
  --sa-tete: var(--mn-encre);
  --sa-tete-txt: #f3ecf4;
  --sa-pied: var(--mn-encre);
  --sa-pied-txt: #e6deea;
  background: var(--mn-creme);
  color: var(--sa-texte);
}

/* ---------- en-tête de nuit + vague crème ---------- */
html:not(#_) .sa-header.sa-header {
  background:
    radial-gradient(circle at 12% 30%, rgba(255,255,255,.18) 0 1px, transparent 1.5px),
    radial-gradient(circle at 62% 70%, rgba(255,255,255,.14) 0 1px, transparent 1.5px),
    radial-gradient(circle at 85% 25%, rgba(255,255,255,.16) 0 1px, transparent 1.5px),
    linear-gradient(180deg, var(--mn-encre) 0%, var(--mn-encre2) 100%);
  background-size: 140px 90px, 190px 110px, 230px 80px, auto;
  border-bottom: 0;
  padding-bottom: 14px;
}
html:not(#_) .sa-header.sa-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 16px;
  background: var(--mn-creme);
  -webkit-mask: radial-gradient(18px 14px at 50% 100%, #000 98%, transparent) 0 0 / 36px 16px repeat-x;
  mask: radial-gradient(18px 14px at 50% 100%, #000 98%, transparent) 0 0 / 36px 16px repeat-x;
}
html:not(#_) .sa-header .sa-logo { color: #fbf3f8; font-family: var(--sa-police-titre); letter-spacing: .04em; }
html:not(#_) .sa-header .sa-logo__mark {
  border-radius: 50%; background: #f7efe6; color: var(--mn-encre);
  box-shadow: inset -9px -3px 0 0 var(--mn-prune), 0 0 0 3px rgba(168,50,107,.35);
}
html:not(#_) .sa-header .sa-nav li a { color: #ece3ef; }
html:not(#_) .sa-header .sa-nav li a:hover,
html:not(#_) .sa-header .sa-nav li a.is-actif { color: #fff; background: rgba(168,50,107,.45); border-radius: 999px; }
html:not(#_) .sa-header .sa-burger { color: #fbf3f8; }
html:not(#_) .sa-header .sa-btn.sa-header__placer { color: #fbf3f8; border-color: rgba(255,255,255,.45); border-radius: 999px; background: transparent; }
html:not(#_) .sa-header .sa-btn.sa-header__compte { border-radius: 999px; background: var(--mn-prune); border-color: var(--mn-prune); color: #fff; box-shadow: 0 6px 18px -8px rgba(168,50,107,.9); }
@media (max-width: 899px) {
  html:not(#_) .sa-header .sa-nav li a { border-top-color: rgba(255,255,255,.12); }
}

/* ---------- bloc d'accès : cartouche centré, liseré étoilé ---------- */
html:not(#_) .sa-inscrire.sa-inscrire--bandeau,
html:not(#_) .sa-inscription.sa-inscription--bloc {
  background: linear-gradient(160deg, var(--mn-encre) 0%, #2c2350 60%, var(--mn-prune-f) 130%);
  color: #f6eef4;
  border-radius: 28px;
  box-shadow: 0 22px 44px -22px rgba(27,28,54,.6);
  --sa-texte: #f6eef4; --sa-muet: #dcd0e0; --sa-bord: rgba(255,255,255,.25);
}
html:not(#_) .sa-inscrire.sa-inscrire--bandeau { margin: 1.6rem auto; max-width: 960px; }
html:not(#_) .sa-inscrire .sa-inscrire__h,
html:not(#_) .sa-inscription--bloc h2,
html:not(#_) .sa-inscription--bloc h3 { color: #fff; font-family: var(--sa-police-titre); }
html:not(#_) .sa-inscrire .sa-inscrire__txt,
html:not(#_) .sa-inscription--bloc p,
html:not(#_) .sa-inscrire .sa-form__lbl,
html:not(#_) .sa-inscription--bloc .sa-form__lbl,
html:not(#_) .sa-inscription--bloc .sa-form__check,
html:not(#_) .sa-inscrire .sa-form__check { color: #ece2ee; }
html:not(#_) .sa-inscrire .sa-form__check a,
html:not(#_) .sa-inscription--bloc .sa-form__check a { color: #ffd3e7; }
html:not(#_) .sa-inscrire input[type="email"],
html:not(#_) .sa-inscription--bloc input[type="email"] {
  background: #fffaf4; color: var(--mn-encre); border: 0; border-radius: 999px; min-height: 46px; padding-inline: 1.1rem;
}
html:not(#_) .sa-inscrire .sa-btn.sa-btn--accent,
html:not(#_) .sa-inscription--bloc .sa-btn.sa-btn--accent {
  background: #fffaf4; color: var(--mn-prune-f); border-color: #fffaf4; border-radius: 999px; min-height: 48px;
}

/* ---------- thèmes en pilules ---------- */
html:not(#_) .sa-tags.sa-tags--nuage {
  background: var(--sa-surface); border: 1px solid var(--sa-bord); border-radius: 26px; box-shadow: var(--sa-ombre);
}
html:not(#_) .sa-tags .sa-tags__liste a {
  display: inline-flex; align-items: center; gap: .3em; padding: .25em .75em; margin: .15em;
  border-radius: 999px; background: var(--mn-creme); color: var(--mn-encre); text-decoration: none;
}
html:not(#_) .sa-tags .sa-tags__liste a:hover { background: var(--mn-prune); color: #fff; }
html:not(#_) .sa-tags .sa-tags__liste a:hover .sa-badge { color: #fff; }
html:not(#_) .sa-tags .sa-tags__h { color: var(--mn-encre); }
html:not(#_) .sa-tags .sa-tags__tous { border-radius: 999px; }

/* ---------- titres ---------- */
html:not(#_) .sa-main .sa-h1,
html:not(#_) .sa-main .sa-h2 { font-family: var(--sa-police-titre); color: var(--mn-encre); }
html:not(#_) .sa-main .sa-h1::after {
  content: ""; display: block; width: 64px; height: 6px; margin-top: .45rem; border-radius: 999px;
  background: linear-gradient(90deg, var(--mn-prune), #d98bb0);
}

/* ---------- cartes : photo en arche ---------- */
html:not(#_) .sa-grille .sa-carte {
  background: var(--sa-surface); border: 1px solid var(--sa-bord); border-radius: 22px;
  box-shadow: var(--sa-ombre); padding: 12px; transition: transform .2s ease, box-shadow .2s ease;
}
html:not(#_) .sa-grille .sa-carte:hover { transform: translateY(-2px); box-shadow: 0 2px 6px rgba(27,28,54,.08), 0 24px 40px -18px rgba(168,50,107,.45); }
html:not(#_) .sa-carte .sa-carte__img {
  border-radius: 999px 999px 16px 16px; overflow: hidden; box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(168,50,107,.25);
}
html:not(#_) .sa-carte .sa-carte__img img { transition: transform .5s ease; }
html:not(#_) .sa-carte:hover .sa-carte__img img { transform: scale(1.05); }
html:not(#_) .sa-carte .sa-carte__new {
  background: var(--mn-encre); color: #fff; border-radius: 999px; font-size: .68rem; letter-spacing: .06em;
}
html:not(#_) .sa-carte .sa-carte__titre,
html:not(#_) .sa-carte .sa-carte__titre a { color: var(--mn-encre); font-family: var(--sa-police-titre); }
html:not(#_) .sa-carte .sa-carte__pseudo { color: var(--mn-prune-f); }
html:not(#_) .sa-carte .sa-carte__extrait { color: #3c3a52; }
html:not(#_) .sa-carte .sa-carte__ville { color: var(--sa-muet); }
html:not(#_) .sa-carte .sa-btn.sa-btn--carte { border-radius: 999px; background: #f3dde8; color: var(--mn-prune-f); }

/* ---------- fiche ---------- */
html:not(#_) .sa-fiche .sa-fiche__photo,
html:not(#_) .sa-fiche .sa-fiche__media img {
  border-radius: 999px 999px 22px 22px; box-shadow: 0 0 0 4px #fff, 0 20px 40px -20px rgba(168,50,107,.6);
}
html:not(#_) .sa-fiche .sa-fiche__titre { font-family: var(--sa-police-titre); color: var(--mn-encre); }
html:not(#_) .sa-fiche .sa-meta,
html:not(#_) .sa-fiche .sa-fiche__barre > * { border-radius: 999px; }
html:not(#_) .sa-cta.sa-cta {
  background: var(--sa-surface); border: 1px solid var(--sa-bord); border-radius: 26px; box-shadow: var(--sa-ombre);
  text-align: center; padding: 1.4rem 1.2rem;
}
html:not(#_) .sa-cta .sa-cta__q { color: var(--mn-encre); font-family: var(--sa-police-titre); }
html:not(#_) .sa-cta .sa-btn { border-radius: 999px; min-height: 48px; }
html:not(#_) .sa-dispo.sa-dispo { background: var(--sa-surface); border-radius: 20px; border: 1px solid var(--sa-bord); }
html:not(#_) .sa-main .sa-form input,
html:not(#_) .sa-main .sa-form textarea,
html:not(#_) .sa-main .sa-form select { border-radius: 14px; border-color: var(--sa-bord); background: #fffdf9; color: var(--mn-encre); }
html:not(#_) .sa-main .sa-form .sa-btn.sa-btn--accent { border-radius: 999px; min-height: 48px; }

/* ---------- membres : médaillons ---------- */
html:not(#_) .sa-membres .sa-membres__avatar { border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(168,50,107,.3); }

/* ---------- pied de nuit ---------- */
html:not(#_) .sa-liens.sa-liens,
html:not(#_) .sa-footer.sa-footer {
  background: var(--mn-encre); color: var(--sa-pied-txt);
  --sa-texte: #f1e9f2; --sa-muet: #cfc5d6; --sa-bord: rgba(255,255,255,.14);
}
html:not(#_) .sa-liens.sa-liens { border-radius: 40px 40px 0 0; margin-top: 2rem; padding-top: 1.6rem; }
html:not(#_) .sa-liens a, html:not(#_) .sa-footer a { color: #f1e9f2; }
html:not(#_) .sa-liens a:hover, html:not(#_) .sa-footer a:hover { color: #ffc2de; }
html:not(#_) .sa-liens .sa-liens__h,
html:not(#_) .sa-liens .sa-liens__marque { color: #ffc2de; letter-spacing: .06em; }
html:not(#_) .sa-liens .sa-btn { border-radius: 999px; background: transparent; color: #f1e9f2; border-color: rgba(255,255,255,.35); }
html:not(#_) .sa-footer .sa-footer__disclaimer,
html:not(#_) .sa-footer .sa-footer__copy { color: #cfc5d6; }

@media (prefers-reduced-motion: reduce) {
  html:not(#_) .sa-grille .sa-carte, html:not(#_) .sa-carte .sa-carte__img img { transition: none; }
}

/* ---------- panneau photo de l'accueil : fenêtre de nuit en arche ---------- */
@media (min-width: 900px) {
  html:not(#_) .skin-3.sa-page-home .sa-split {
    background:
      radial-gradient(circle at 78% 14%, #f7efe6 0 26px, transparent 27px),
      radial-gradient(circle at 74% 12%, transparent 0 26px, transparent 27px),
      linear-gradient(180deg, rgba(27,28,54,.55) 0%, rgba(27,28,54,.15) 45%, rgba(138,37,86,.55) 100%),
      var(--sa-hero, var(--mn-sable)) center / cover;
    border-radius: 0 220px 0 0;
    box-shadow: inset -6px 0 0 rgba(168,50,107,.35);
  }
}
