/* rencontre-lgbt.ch — registre « macarons et pin's » (annoncesastro-v2, skin 4 / compo 3 / fiche 1)
   Badges ronds épinglés, étiquettes arrondies, ruban à six fines bandes en liseré (jamais un fond).
   Palette : accent fuchsia #c41d7f (favicon) · neutres chauds blanc cassé #fffaf5 / lin #f7ede5 / sable #f1e7dd
   · encre #241827 · texte #22161f · muet #6b5a63. */

body.aa {
  --aa-accent: #c41d7f; --aa-teinte: #c41d7f;
  --aa-primaire: #c41d7f; --aa-primaire-fonce: #8f1259; --aa-primaire-txt: #fff;
  --aa-page: #f1e7dd; --aa-fond: #fffaf5; --aa-surface: #fffdfb; --aa-surface-2: #f7ede5;
  --aa-texte: #22161f; --aa-muet: #6b5a63; --aa-bord: #ead9cf; --aa-lien: #a8156a;
  --aa-tete: #fffaf5; --aa-tete-txt: #22161f; --aa-barre: #241827;
  --aa-bande: #241827; --aa-bande-txt: #fff; --aa-bande-bord: #c41d7f;
  --aa-secondaire: #241827; --aa-secondaire-txt: #fff; --aa-ok: #8f1259;
  --aa-pied: #1f1520; --aa-pied-txt: #eadfe6;
  --aa-rayon: 20px; --aa-rayon-s: 12px;
  --aa-ombre: 0 18px 40px -30px rgba(143, 18, 89, .45);
  --aa-police-titre: ui-rounded, "Arial Rounded MT Bold", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --lg-ruban: linear-gradient(#e40303 0 16.67%, #ff8c00 0 33.33%, #ffed00 0 50%, #008026 0 66.67%, #24408e 0 83.33%, #732982 0);
  --lg-pin: radial-gradient(circle at 34% 30%, #ffc2df 0 14%, #e0379a 34%, #c41d7f 58%, #7d0f4e 100%);
}

/* ---- en-tête : blanc cassé, logo en macaron, barre d'encre, ruban en liseré ---- */
body.aa .aa-header { background: var(--aa-tete); color: var(--aa-tete-txt); box-shadow: none; }
body.aa .aa-header::after { content: ""; display: block; height: 9px; background: var(--lg-ruban); }
body.aa .aa-header__in { padding-top: .75rem; }
body.aa .aa-logo__mark {
  width: 42px; height: 42px; border-radius: 50%; background: var(--lg-pin);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .85), 0 6px 14px -6px rgba(143, 18, 89, .6);
  outline: 2px dashed #c41d7f; outline-offset: 3px; margin: 5px;
}
body.aa .aa-logo__txt { font-weight: 800; letter-spacing: -.015em; }
body.aa .aa-logo__sous { opacity: 1; color: var(--aa-muet); }
body.aa .aa-header__cta { border-radius: 999px; padding-inline: 1.1em; }
body.aa .aa-burger { border: 2px solid #241827; border-radius: 50%; color: #241827; }
body.aa .aa-nav { color: #fff; border-radius: 999px 999px 0 0; margin-inline: 0; padding: .35rem .5rem; margin-top: .45rem; }
body.aa .aa-nav ul { gap: .25rem; }
body.aa .aa-nav a { border-bottom: 0; border-radius: 999px; padding: .55rem 1rem; color: #fff; }
body.aa .aa-nav a:hover { background: rgba(255, 255, 255, .1); }
body.aa .aa-nav a.is-actif { background: #c41d7f; color: #fff; }
@media (max-width: 859px) {
  body.aa .aa-nav { border-radius: 20px; margin-top: .7rem; padding: .4rem; }
  body.aa .aa-nav a.is-actif { border-left: 0; }
}

/* ---- conteneur ---- */
body.aa .aa-main > .aa-wrap { border-radius: 26px; border-color: #efdfd5; box-shadow: 0 24px 60px -40px rgba(143, 18, 89, .35); }
body.aa .aa-h1 { color: #22161f; font-family: var(--aa-police-titre); }

/* ---- bandeaux de section = étiquettes arrondies, icône en pin's ---- */
body.aa .aa-h2, body.aa .aa-bande, body.aa .aa-depot__bloc legend {
  background: #241827; color: #fff; border-left: 0; border-radius: 22px;
  padding: .45rem 1rem .45rem .45rem; font-family: var(--aa-police-titre); letter-spacing: .05em;
  box-shadow: 0 8px 18px -14px rgba(36, 24, 39, .9);
}
body.aa .aa-h2 .aa-ico, body.aa .aa-bande .aa-ico, body.aa .aa-side__h .aa-ico {
  box-sizing: content-box; padding: 5px; border-radius: 50%; background: var(--lg-pin); color: #fff; opacity: 1;
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .7);
}
body.aa .aa-h2:not(:has(.aa-ico)) { padding-left: 1.1rem; }
body.aa .aa-bloc__tete { flex-wrap: wrap; gap: .5rem 1rem; }
body.aa .aa-bloc__tete .aa-h2 { flex: 1 1 18rem; min-width: 0; }
body.aa .aa-bloc__tete .aa-lien { color: #a8156a; }
@media (max-width: 639px) {
  body.aa .aa-bloc__tete .aa-h2 { flex: 1 1 100%; }
  body.aa .aa-bloc__tete .aa-lien { margin-left: auto; }
}

/* ---- accueil : bandeau d'intro ---- */
body.aa .aa-hero {
  position: relative; isolation: isolate; overflow: hidden; border: 1px solid #efdcd2; border-left: 0;
  border-radius: 24px; padding: 1.3rem 1.4rem 1.2rem 2rem;
  background: radial-gradient(circle at 92% 0%, rgba(196, 29, 127, .12), transparent 45%), linear-gradient(160deg, #fff7f2, #fffdfb 70%);
}
body.aa .aa-hero::before { content: ""; position: absolute; left: .65rem; top: 1.2rem; bottom: 1.2rem; width: 9px; border-radius: 999px; background: linear-gradient(90deg, #e40303 0 16.67%, #ff8c00 0 33.33%, #ffed00 0 50%, #008026 0 66.67%, #24408e 0 83.33%, #732982 0); box-shadow: 0 0 0 2px #fff; }
body.aa .aa-hero::after {
  content: ""; position: absolute; right: -78px; top: -78px; width: 170px; height: 170px; border-radius: 50%; z-index: -1;
  background: radial-gradient(circle, rgba(196, 29, 127, .09) 0 52%, transparent 53%);
  border: 2px dashed rgba(196, 29, 127, .28); pointer-events: none;
}
body.aa .aa-hero__chiffres span { background: #fff; border: 1.5px solid #f0c7dc; color: #8f1259; padding: .25rem .8rem; box-shadow: 0 4px 10px -8px rgba(143, 18, 89, .7); }
body.aa .aa-hero__chiffres span::before { background: #c41d7f; box-shadow: 0 0 0 2px #fbe3ef; }

/* ---- moteur : écusson cousu ---- */
body.aa .aa-filtres { background: #fbf2eb; border: 1.5px dashed #e6bfd2; border-radius: 22px; }
body.aa .aa-side .aa-filtres { background: none; border: 0; padding: 0; border-radius: 0; }
body.aa select, body.aa input[type="text"], body.aa input[type="email"], body.aa input[type="tel"], body.aa input[type="number"], body.aa textarea { border-radius: 14px; border-color: #e5d2c7; background-color: #fffdfb; }
body.aa .aa-btn { border-radius: 999px; }
body.aa .aa-btn--primaire { box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18), 0 10px 20px -14px rgba(196, 29, 127, .9); }
body.aa .aa-btn--secondaire { background: #fffdfb; color: #241827; border-color: #241827; }

/* ---- liste : lignes pleine largeur en cartes à coin épinglé, vignette en macaron ---- */
body.aa .aa-liste { border-top: 0; gap: 1rem; padding: .5rem 0 0 .2rem; }
body.aa .aa-ligne {
  background: #fffdfb; border: 1px solid #efdfd5; border-radius: 6px 22px 22px 22px;
  padding: .9rem .9rem .9rem .9rem; gap: .45rem 1.1rem; box-shadow: 0 12px 26px -22px rgba(143, 18, 89, .55);
  transition: box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
body.aa .aa-ligne::before {
  content: ""; position: absolute; top: -7px; left: -7px; width: 18px; height: 18px; border-radius: 50%; z-index: 2;
  background: var(--lg-pin); box-shadow: 0 0 0 2px #fffaf5, 0 3px 6px rgba(60, 10, 40, .35); pointer-events: none;
}
body.aa .aa-ligne:hover { background: #fff8f4; box-shadow: 0 18px 34px -22px rgba(143, 18, 89, .7); transform: translateY(-2px); }
body.aa .aa-ligne__img { border-radius: 50%; padding: 3px; background: #fff; border: 2px solid #c41d7f; box-shadow: 0 0 0 3px #fbe3ef, 0 10px 18px -12px rgba(60, 10, 40, .6); }
body.aa .aa-ligne__img img { border-radius: 50%; }
body.aa .aa-ligne__nb { left: 50%; bottom: .2rem; transform: translateX(-50%); background: rgba(36, 24, 39, .85); }
body.aa .aa-ligne__cat { color: #a8156a; }
body.aa .aa-ligne__new, body.aa .aa-fiche__new { background: #241827; color: #fff; border-radius: 999px; padding: .14rem .55rem; }
body.aa .aa-ligne__titre a { color: #22161f; font-family: var(--aa-police-titre); }
body.aa .aa-ligne__titre a:hover { color: #a8156a; }
body.aa .aa-ligne__lire { border-radius: 999px; }
@media (min-width: 720px) {
  body.aa .aa-ligne { padding: 1rem 1.1rem 1rem 1rem; gap: .3rem 1.25rem; }
}

/* ---- blocs de l'accueil : étiquettes à pin's ---- */
body.aa .aa-liens li { background: #fbf2eb; border: 1px solid #ecd9cd; border-radius: 14px; padding-left: 1.5rem; }
body.aa .aa-liens li::before { width: 9px; height: 9px; top: 50%; left: .6rem; bottom: auto; transform: translateY(-50%); border-radius: 50%; background: #c41d7f; box-shadow: 0 0 0 2px #fbe3ef; }
body.aa .aa-liens__nb { background: #fff; border: 1px solid #ecd9cd; border-radius: 999px; padding: 0 .45rem; color: #6b5a63; }
body.aa .aa-etapes li, body.aa .aa-atouts li { background: #fffdfb; border: 1px solid #efdfd5; border-left: 1px solid #efdfd5; border-radius: 20px; box-shadow: 0 12px 24px -22px rgba(143, 18, 89, .5); }
body.aa .aa-etapes li::before { background: var(--lg-pin); outline: 1.5px dashed #c41d7f; outline-offset: 2px; }
body.aa .aa-atouts .aa-atouts__ico { background: #fbe3ef; color: #a8156a; box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #f0c7dc; }
body.aa .aa-deposer-cta { background: #fff7f2; border: 1.5px dashed #e6bfd2; border-radius: 24px; padding: 1.3rem; justify-content: center; text-align: center; }

/* ---- colonne latérale : cartes à étiquette œilletée ---- */
body.aa .aa-side { background: #fffdfb; border: 1px solid #efdfd5; border-radius: 22px; box-shadow: 0 14px 30px -26px rgba(143, 18, 89, .6); }
body.aa .aa-side--deposer { background: none; border: 0; box-shadow: none; }
body.aa .aa-side__h {
  position: relative; margin: -.2rem -.3rem .8rem; border-radius: 16px; border-bottom: 0; background: #241827; color: #fff;
  padding: .45rem 2.2rem .45rem .45rem; font-family: var(--aa-police-titre);
}
body.aa .aa-side__h::after { content: ""; position: absolute; right: .8rem; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: #fffdfb; box-shadow: 0 0 0 2px #c41d7f; }
body.aa .aa-side__liste li::before { background: #c41d7f; }
body.aa .aa-side__nb { border-color: #ecd9cd; }
body.aa .aa-side__liste--inline li { border-color: #ecd9cd; background: #fbf2eb; }

/* ---- fiche d'annonce ---- */
body.aa .aa-fiche__titre { border-bottom: 0; position: relative; padding-bottom: .7rem; font-family: var(--aa-police-titre); }
body.aa .aa-fiche__titre::after { content: ""; position: absolute; left: 0; bottom: 0; width: 72px; height: 5px; border-radius: 999px; background: #c41d7f; }
body.aa .aa-fiche .aa-fiche__photo { border-radius: 160px 160px 24px 24px; border: 3px solid #fff; box-shadow: 0 0 0 2px #c41d7f, 0 22px 40px -26px rgba(60, 10, 40, .7); padding: 0; }
body.aa .aa-fiche__miniatures img { border-radius: 50%; width: 64px; height: 64px; }
body.aa .aa-fiche__infos { border-radius: 18px; border-color: #ecd9cd; }
body.aa .aa-fiche__infos > div:nth-child(odd) { background: #fbf2eb; }
body.aa .aa-fiche__infos dd { border-left-color: #ecd9cd; }
body.aa .aa-fiche__cta--haut { background: #fff2f8; border: 1px solid #f0c7dc; border-radius: 22px; padding: 1rem; }
body.aa .aa-fiche__cta--bas { background: #fff7f2; border: 1.5px dashed #e6bfd2; border-radius: 24px; padding: 1.3rem; }
body.aa .aa-fiche__plage { background: #fbe3ef; color: #6d0f45; border-radius: 999px; padding: .4rem 1rem; }
body.aa .aa-fiche__phy { background: #fbf2eb; border-color: #ecd9cd; border-radius: 16px; }
body.aa .aa-chips li, body.aa .aa-chip { border-color: #ecd9cd; }
body.aa .aa-chips--lecture li { background: #fbe3ef; border-color: #f0c7dc; color: #6d0f45; font-weight: 600; }
body.aa .aa-repondre { background: #fffaf5; border: 1px solid #efdfd5; border-radius: 22px; }

/* ---- dépôt ---- */
body.aa .aa-depot__bloc { border-radius: 22px; border-color: #efdfd5; background: #fffdfb; }
body.aa .aa-depot__bloc legend::before { background: #c41d7f; color: #fff; box-shadow: 0 0 0 2px #fff; }

/* ---- pagination en macarons ---- */
body.aa .aa-pagination a, body.aa .aa-pagination span { border-radius: 999px; min-width: 42px; min-height: 42px; background: #fbf2eb; border-color: #ecd9cd; }

/* ---- pied : encre, ruban en liseré ---- */
body.aa .aa-footer { border-top: 0; }
body.aa .aa-footer::before { content: ""; display: block; height: 9px; background: var(--lg-ruban); }
body.aa .aa-footer a:hover { color: #ffb3d6; }
body.aa .aa-footer__h { border-bottom: 1.5px dashed rgba(240, 145, 196, .45); }
body.aa .aa-footer__fictif { opacity: 1; color: #cbbdc6; }
body.aa .aa-footer__bas { background: rgba(0, 0, 0, .3); }

/* ---- barre basse, porte et pop-up ---- */
body.aa .aa-mobar .aa-btn, body.aa .aa-fiche__barre .aa-btn { border-radius: 999px; }
body.aa .aa-gate__box, body.aa .aa-popup__box { border-radius: 24px; border-top: 0; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6), inset 0 6px 0 #c41d7f; }
body.aa .aa-gate__mark { background: var(--lg-pin); outline: 2px dashed #c41d7f; outline-offset: 4px; }
