/* anuncios-gay-dominicana.lat — registre « larimar » (pierre bleue de Barahona, Rép. dominicaine ; site gay).
   Palette : accent larimar #3aa0c8 (favicon) · larimar profond #1b6a8a (blanc dessus 5,9:1) / abysse #134f68 ·
   neutre chaud sable de Barahona #f6eee2, coquille #fffbf5, grève #eadcc8 · encre récif #14303c.
   Composition : en-tête LÉGER transparent sur le sable, logo en médaillon de larimar veiné, menu en pilules centré
   sur une seconde rangée, filet d'accent + VAGUE SVG dessous ; titres de bloc en pilules à médaillon ;
   lignes d'annonce en cartes arrondies 18 px à ombre douce bleutée, vignette en médaillon ; bandeau d'accueil à
   vague ; fiche à photo en arche ; CTA en carte centrée ; pied de page abysse à filet larimar. */

html:not(#_) body.aa {
  --aa-accent: #3aa0c8; --aa-teinte: #3aa0c8;
  --aa-primaire: #1b6a8a; --aa-primaire-fonce: #134f68; --aa-primaire-txt: #fffbf5;
  --aa-page: #f6eee2; --aa-fond: #fffbf5; --aa-surface: #fffdf9; --aa-surface-2: #f9f3ea;
  --aa-texte: #14303c; --aa-muet: #4f5f66; --aa-bord: #e6d9c6; --aa-lien: #1b6a8a;
  --aa-tete: transparent; --aa-tete-txt: #14303c; --aa-barre: transparent;
  --aa-bande: #e3f2f8; --aa-bande-txt: #134f68; --aa-bande-bord: #3aa0c8;
  --aa-secondaire: #1b6a8a; --aa-secondaire-txt: #fffbf5;
  --aa-pied: #0f2a35; --aa-pied-txt: #d9e9ef;
  --aa-rayon: 18px; --aa-rayon-s: 12px;
  --aa-ombre: 0 2px 6px rgba(27, 106, 138, .07), 0 22px 40px -26px rgba(27, 106, 138, .55);
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --aa-police-titre: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
  --lm-vague: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q15 0 30 6 T60 6 T90 6 T120 6 V12 H0z' fill='%233aa0c8' fill-opacity='.35'/%3E%3Cpath d='M0 9 Q15 3 30 9 T60 9 T90 9 T120 9 V12 H0z' fill='%231b6a8a' fill-opacity='.55'/%3E%3C/svg%3E");
  --lm-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 21S2 14.4 2 7.6A5.1 5.1 0 0 1 12 5a5.1 5.1 0 0 1 10 2.6C22 14.4 12 21 12 21z' fill='%233aa0c8'/%3E%3C/svg%3E");
  --lm-pierre: radial-gradient(circle at 32% 30%, #ffffff 0 8%, transparent 9%), radial-gradient(ellipse 70% 30% at 60% 62%, rgba(255,255,255,.55), transparent 70%), radial-gradient(circle at 50% 50%, #8fd3ea, #3aa0c8 55%, #1b6a8a);
  background: radial-gradient(900px 320px at 85% -120px, #d9eef6, transparent 70%), var(--aa-page);
  color: var(--aa-texte);
}

/* --- en-tête léger, transparent sur le sable -------------------------------------- */
html:not(#_) .aa-header.aa-header { background: transparent; color: var(--aa-texte); box-shadow: none; border-bottom: 2px solid #3aa0c8; }
html:not(#_) .aa-header.aa-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 12px; background: var(--lm-vague) repeat-x left top / 120px 12px; pointer-events: none; }
html:not(#_) .aa-header .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; color: #134f68; letter-spacing: .005em; }
html:not(#_) .aa-header .aa-logo__sous { color: var(--aa-muet); opacity: 1; }
html:not(#_) .aa-header .aa-logo__mark { width: 34px; height: 34px; border-radius: 50%; background: var(--lm-pierre); box-shadow: 0 0 0 3px #fffbf5, 0 0 0 4px #9fcfe1, 0 6px 14px -6px rgba(19, 79, 104, .7); }
html:not(#_) .aa-header .aa-btn.aa-header__cta { border-radius: 999px; background: #1b6a8a; color: #fffbf5; border-color: #134f68; font-weight: 700; padding-inline: 1.2em; box-shadow: 0 10px 20px -12px rgba(27, 106, 138, .9); }
html:not(#_) .aa-header .aa-btn.aa-header__cta:hover { background: #134f68; }
html:not(#_) .aa-header .aa-nav a { color: #14303c; border-bottom: 0; border-radius: 999px; font-weight: 600; }
html:not(#_) .aa-header .aa-nav a .aa-ico { color: #1b6a8a; }
html:not(#_) .aa-header .aa-nav a:hover { background: #e3f2f8; color: #134f68; }
html:not(#_) .aa-header .aa-nav a.is-actif { background: #fffbf5; color: #134f68; box-shadow: inset 0 0 0 1.5px #3aa0c8, 0 6px 14px -10px rgba(27, 106, 138, .8); }
html:not(#_) .aa-header .aa-burger { border-color: #9fcfe1; color: #134f68; background: #fffbf5; border-radius: 12px; }
@media (min-width: 860px) {
  html:not(#_) .aa-header .aa-header__in { padding-block: .8rem .55rem; }
  html:not(#_) .aa-header .aa-nav ul { justify-content: center; gap: .3rem; }
  html:not(#_) .aa-header .aa-nav a { padding: .45rem .95rem; }
}
@media (max-width: 859px) {
  html:not(#_) .aa-header .aa-nav { background: #fffbf5; border: 1px solid #e6d9c6; box-shadow: var(--aa-ombre); }
  html:not(#_) .aa-header .aa-nav a { margin: .1rem 0; }
  html:not(#_) .aa-header .aa-nav a.is-actif { border-left: 0; }
  html:not(#_) .aa-header .aa-nav__cta a { background: #1b6a8a; color: #fffbf5; }
}

/* --- conteneur, bandeau d'accueil à vague -------------------------------------------- */
html:not(#_) .aa-main > .aa-wrap.aa-wrap { margin-top: 1.6rem; border: 1px solid var(--aa-bord); border-radius: 26px; background: var(--aa-fond); box-shadow: var(--aa-ombre); }
html:not(#_) .aa .aa-h1 { font-family: var(--aa-police-titre); text-transform: none; letter-spacing: 0; color: #134f68; }
html:not(#_) .aa .aa-hero { position: relative; overflow: hidden; background: linear-gradient(160deg, #e3f2f8, #fffbf5 58%); border: 1px solid #cfe6ef; border-left: 0; border-radius: var(--aa-rayon); padding-bottom: 2.1rem; }
html:not(#_) .aa .aa-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 18px; background: var(--lm-vague) repeat-x left bottom / 160px 18px; pointer-events: none; }
html:not(#_) .aa .aa-hero::before { content: ""; position: absolute; right: 18px; top: 16px; width: 54px; height: 54px; border-radius: 50%; background: var(--lm-pierre); opacity: .22; pointer-events: none; }
html:not(#_) .aa .aa-hero__chiffres span { background: #fffbf5; color: #134f68; border-color: #9fcfe1; border-radius: 999px; }

/* --- titres de bloc : pilules à médaillon ------------------------------------------- */
html:not(#_) .aa .aa-h2, html:not(#_) .aa .aa-bande, html:not(#_) .aa .aa-depot__bloc legend, html:not(#_) .aa .aa-side__h {
  background: var(--aa-bande); color: var(--aa-bande-txt); border: 0; border-left: 0; box-shadow: inset 0 0 0 1px #bfe0ec;
  border-radius: 999px; font-family: var(--aa-police-titre); text-transform: none; letter-spacing: .01em; font-size: 1rem; padding-inline: .9rem 1.1rem;
}
html:not(#_) .aa .aa-h2 .aa-ico, html:not(#_) .aa .aa-bande .aa-ico, html:not(#_) .aa .aa-side__h .aa-ico, html:not(#_) .aa .aa-depot__bloc legend .aa-ico {
  color: #fffbf5; background: #1b6a8a; border-radius: 50%; padding: 4px; width: 24px; height: 24px; box-sizing: border-box; opacity: 1;
}
html:not(#_) .aa .aa-bande__droite { color: var(--aa-muet); opacity: 1; }
html:not(#_) .aa .aa-side__h { margin: -.2rem -.3rem .7rem; }
html:not(#_) .aa .aa-bloc__tete { flex-wrap: wrap; gap: .5rem 1rem; }
html:not(#_) .aa .aa-bloc__tete .aa-h2 { flex: 1 1 16rem; }
html:not(#_) .aa .aa-bloc__tete .aa-lien { color: #1b6a8a; font-weight: 700; }

/* --- lignes d'annonce : cartes arrondies 18 px ----------------------------------- */
html:not(#_) .aa .aa-liste { border-top: 0; display: grid; gap: .85rem; }
html:not(#_) .aa .aa-ligne.aa-ligne { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-radius: 18px; padding: .9rem;
  box-shadow: 0 14px 26px -22px rgba(27, 106, 138, .7); transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease; }
html:not(#_) .aa .aa-ligne.aa-ligne:hover { background: #fbfdfd; border-color: #9fcfe1; transform: translateY(-1px); box-shadow: 0 18px 30px -18px rgba(27, 106, 138, .6); }
html:not(#_) .aa .aa-ligne__img { border-radius: 50%; border: 2px solid #9fcfe1; padding: 3px; background: #fffbf5; box-shadow: 0 8px 16px -10px rgba(19, 79, 104, .7); overflow: hidden; }
html:not(#_) .aa .aa-ligne__img img { border-radius: 50%; transition: transform .35s ease; }
html:not(#_) .aa .aa-ligne:hover .aa-ligne__img img { transform: scale(1.05); }
html:not(#_) .aa .aa-ligne__cat { color: #134f68; }
html:not(#_) .aa .aa-ligne__new { border-radius: 999px; background: #1f6b4a; color: #fff; }
html:not(#_) .aa .aa-ligne__titre a { color: #1b6a8a; font-family: var(--aa-police-titre); text-decoration: none; }
html:not(#_) .aa .aa-ligne__titre a:hover { text-decoration: underline; text-decoration-color: #3aa0c8; }
html:not(#_) .aa .aa-ligne__lire { border-radius: 999px; border-color: #1b6a8a; color: #1b6a8a; background: #fffbf5; }
html:not(#_) .aa .aa-ligne__date { color: var(--aa-muet); }

/* --- boutons, champs, colonne latérale ----------------------------------------------- */
html:not(#_) .aa .aa-btn--primaire { border-radius: 999px; background: #1b6a8a; color: #fffbf5; border-color: #134f68; box-shadow: 0 10px 22px -12px rgba(27, 106, 138, .9); }
html:not(#_) .aa .aa-btn--primaire:hover { background: #134f68; }
html:not(#_) .aa .aa-btn--secondaire { border-radius: 999px; background: #fffbf5; color: #134f68; border-color: #1b6a8a; }
html:not(#_) .aa .aa-side { background: var(--aa-surface-2); border-radius: var(--aa-rayon); }
html:not(#_) .aa .aa-side__liste li::before { width: 8px; height: 8px; border-radius: 50%; background: #3aa0c8; box-shadow: 0 0 0 2px #d6ecf4; }
html:not(#_) .aa .aa-side__liste li a { color: var(--aa-texte); }
html:not(#_) .aa .aa-side__nb, html:not(#_) .aa .aa-liens__nb { background: #e3f2f8; color: #134f68; border: 0; border-radius: 999px; padding: 0 .5rem; min-width: 1.8em; text-align: center; font-weight: 700; font-size: .75rem; line-height: 1.6; }
html:not(#_) .aa .aa-filtres { background: #eef7fa; border-color: #cfe6ef; border-radius: var(--aa-rayon); }
html:not(#_) .aa .aa-filtres__champ { color: #134f68; }
html:not(#_) .aa select, html:not(#_) .aa input:not([type=checkbox]):not([type=radio]):not([type=file]), html:not(#_) .aa textarea { border-radius: 12px; }

/* --- grilles de liens ------------------------------------------------------------ */
html:not(#_) .aa .aa-liens li { background: var(--aa-surface); border-color: var(--aa-bord); border-radius: 999px; padding-inline: .8rem .5rem; }
html:not(#_) .aa .aa-liens li:hover { border-color: #9fcfe1; background: #f1f9fc; }
html:not(#_) .aa .aa-liens a { color: var(--aa-texte); font-weight: 600; }

/* --- atouts, étapes, dépôt --------------------------------------------------------- */
html:not(#_) .aa .aa-atouts li { border-left: 0; border-radius: var(--aa-rayon); background: var(--aa-surface-2); box-shadow: inset 0 0 0 1px var(--aa-bord); }
html:not(#_) .aa .aa-atouts .aa-atouts__ico { background: var(--lm-pierre); color: #fffbf5; border-radius: 50%; }
html:not(#_) .aa .aa-etapes li { border-radius: var(--aa-rayon); box-shadow: inset 0 0 0 1px var(--aa-bord); }
html:not(#_) .aa .aa-etapes li::before { background: #1b6a8a; color: #fffbf5; }
html:not(#_) .aa .aa-deposer-cta { position: relative; overflow: hidden; max-width: 560px; margin-inline: auto; text-align: center; border-radius: 24px; background: linear-gradient(170deg, #e3f2f8, #fffbf5 70%); border: 1px solid #cfe6ef; box-shadow: var(--aa-ombre); padding-bottom: 1.8rem; }
html:not(#_) .aa .aa-deposer-cta::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 14px; background: var(--lm-vague) repeat-x / 140px 14px; pointer-events: none; }
html:not(#_) .aa .aa-depot__bloc { border-radius: var(--aa-rayon); background: var(--aa-surface); border-color: var(--aa-bord); }
html:not(#_) .aa .aa-chip:has(input:checked) { border-color: #1b6a8a; background: #e3f2f8; color: #134f68; }
html:not(#_) .aa .aa-chip { border-radius: 999px; }
html:not(#_) .aa .aa-pagination a, html:not(#_) .aa .aa-pagination span { border-radius: 999px; }

/* --- fiche : photo en arche, CTA en carte centrée -------------------------------------- */
html:not(#_) .aa .aa-fiche__titre { font-family: var(--aa-police-titre); color: #134f68; }
html:not(#_) .aa .aa-fiche__photo { border-radius: 160px 160px 22px 22px; border: 2px solid #9fcfe1; padding: 6px; background: #fffbf5; box-shadow: 0 22px 38px -24px rgba(19, 79, 104, .75); overflow: hidden; }
html:not(#_) .aa .aa-fiche__photo img { border-radius: 150px 150px 16px 16px; transition: transform .4s ease; }
html:not(#_) .aa .aa-fiche__photo:hover img { transform: scale(1.03); }
html:not(#_) .aa .aa-fiche__infos { border-radius: var(--aa-rayon); overflow: hidden; border-color: var(--aa-bord); }
html:not(#_) .aa .aa-fiche__infos > div:nth-child(odd) { background: #f9f3ea; }
html:not(#_) .aa .aa-fiche__cta--haut { background: #eef7fa; border-color: #cfe6ef; border-radius: var(--aa-rayon); }
html:not(#_) .aa .aa-fiche__cta--bas { position: relative; max-width: 540px; margin-inline: auto; border: 1px solid #cfe6ef; border-radius: 24px; background: linear-gradient(170deg, #e3f2f8, #fffbf5 70%); box-shadow: var(--aa-ombre); }
html:not(#_) .aa .aa-fiche__cta--bas::before { content: ""; position: absolute; top: -13px; left: 50%; width: 26px; height: 26px; margin-left: -13px; border-radius: 50%; background: #fffbf5 var(--lm-coeur) center / 14px no-repeat; box-shadow: 0 0 0 1px #cfe6ef; }
html:not(#_) .aa .aa-repondre { border-radius: var(--aa-rayon); }

/* --- pied de page abysse à filet larimar --------------------------------------------- */
html:not(#_) .aa .aa-footer { position: relative; background: #0f2a35; color: #d9e9ef; border-top: 3px solid #3aa0c8; margin-top: 2.4rem; }
html:not(#_) .aa .aa-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -15px; height: 12px; background: var(--lm-vague) repeat-x / 120px 12px; transform: scaleY(-1); pointer-events: none; }
html:not(#_) .aa .aa-footer__h { color: #8fd3ea; font-family: var(--aa-police-titre); text-transform: none; letter-spacing: 0; border-bottom-color: rgba(143, 211, 234, .25); }
html:not(#_) .aa .aa-footer__brand { color: #fffbf5; font-family: var(--aa-police-titre); }
html:not(#_) .aa .aa-footer .aa-logo__mark { border-radius: 50%; background: var(--lm-pierre); box-shadow: none; }
html:not(#_) .aa .aa-footer a, html:not(#_) .aa .aa-footer p { color: #d9e9ef; }
html:not(#_) .aa .aa-footer a:hover { color: #ffffff; }
html:not(#_) .aa .aa-footer__bas { background: rgba(0, 0, 0, .25); color: #c6dbe3; }

/* --- pop-up / porte / barres mobiles ----------------------------------------------- */
html:not(#_) .aa .aa-popup__box, html:not(#_) .aa .aa-gate__box { border-top: 0; border-radius: 24px; box-shadow: 0 30px 60px -24px rgba(15, 42, 53, .75); }
html:not(#_) .aa .aa-gate__mark { border-radius: 50%; background: var(--lm-pierre); box-shadow: 0 0 0 3px #fffbf5, 0 0 0 4px #9fcfe1; }
html:not(#_) .aa .aa-mobar, html:not(#_) .aa .aa-fiche__barre { background: color-mix(in srgb, #fffbf5 95%, transparent); border-top-color: #cfe6ef; }
@media (prefers-reduced-motion: reduce) {
  html:not(#_) .aa .aa-ligne.aa-ligne, html:not(#_) .aa .aa-fiche__photo img, html:not(#_) .aa .aa-ligne__img img { transition: none; }
  html:not(#_) .aa .aa-ligne.aa-ligne:hover { transform: none; }
}

/* --- tour 2 : médaillon du bandeau hors du titre, arche bornée sur mobile ------------ */
html:not(#_) .aa .aa-hero::before { top: auto; bottom: 26px; right: 20px; width: 40px; height: 40px; opacity: .18; }
html:not(#_) .aa .aa-hero > * { position: relative; z-index: 1; }
@media (max-width: 759px) {
  html:not(#_) .aa .aa-hero::before { display: none; }
  html:not(#_) .aa .aa-fiche__photo { border-radius: 120px 120px 20px 20px; }
  html:not(#_) .aa .aa-fiche__photo img { border-radius: 112px 112px 14px 14px; max-height: 46vh; object-fit: cover; }
}
