/* anuncios-gay-peru.lat — registre « balcons de Lima » (Pérou, site gay).
   Palette : accent terracota #8e3b1f (favicon, blanc dessus 7,6:1) · foncé #6a2a14 · neutre cal (chaux) #f6ede1 /
   crème #fffaf3 / sable #eedcc6 · encre cèdre #2b1a12 (bois des balcons fermés).
   Composition : en-tête bois de cèdre à claustra (celosía) en filigrane, logo CENTRÉ, catégories en 2ᵉ rangée centrée,
   lambrequin en VAGUE sous l'en-tête ; bandeau d'accueil en ARCHE de fenêtre ; vignettes en MÉDAILLONS cerclés ;
   badges en pilules ; grille serrée de villes/catégories à badges ronds ; pied de page bois sombre à filet terracota. */

html:not(#_) body.aa {
  --aa-accent: #8e3b1f; --aa-teinte: #8e3b1f;
  --aa-primaire: #8e3b1f; --aa-primaire-fonce: #6a2a14; --aa-primaire-txt: #fffaf3;
  --aa-page: #f6ede1; --aa-fond: #fffaf3; --aa-surface: #fffdf9; --aa-surface-2: #f9f0e4;
  --aa-texte: #2b1a12; --aa-muet: #6a5446; --aa-bord: #e6d3bd; --aa-lien: #8e3b1f;
  --aa-tete: #2b1a12; --aa-tete-txt: #fbeee0; --aa-barre: #3a2419;
  --aa-bande: #8e3b1f; --aa-bande-txt: #fffaf3; --aa-bande-bord: #d9a47f;
  --aa-secondaire: #8e3b1f; --aa-secondaire-txt: #fffaf3;
  --aa-pied: #1f130d; --aa-pied-txt: #ecdcc8;
  --aa-rayon: 16px; --aa-rayon-s: 10px;
  --aa-ombre: 0 2px 5px rgba(142, 59, 31, .07), 0 20px 40px -24px rgba(142, 59, 31, .5);
  --aa-police: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --aa-police-titre: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --lm-celosia: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3E%3Cpath d='M0 11L11 0L22 11L11 22Z' fill='none' stroke='%23d9a47f' stroke-width='1'/%3E%3Ccircle cx='11' cy='11' r='1.4' fill='%23d9a47f'/%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 21S1 14 1 7a5.5 5.5 0 0 1 11-1.5A5.5 5.5 0 0 1 23 7c0 7-11 14-11 14z' fill='%238e3b1f'/%3E%3C/svg%3E");
  background: radial-gradient(1100px 360px at 50% 60px, #f1dcc4, transparent 70%), var(--aa-page);
}

/* --- en-tête : bois de cèdre + claustra, logo centré ---------------------------------- */
html:not(#_) .aa-header.aa-header { background: linear-gradient(180deg, #2b1a12, #3a2419); color: var(--aa-tete-txt); box-shadow: none; margin-bottom: 18px; }
html:not(#_) .aa-header.aa-header::before { content: ""; position: absolute; inset: 0; background: var(--lm-celosia) 0 0 / 22px 22px; opacity: .14; pointer-events: none; z-index: -1; }
html:not(#_) .aa-header.aa-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -16px; height: 17px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='17' viewBox='0 0 48 17'%3E%3Cpath d='M0 0H48V3Q36 17 24 3Q12 17 0 3Z' fill='%233a2419'/%3E%3Cpath d='M0 3Q12 17 24 3Q36 17 48 3' fill='none' stroke='%238e3b1f' stroke-width='2'/%3E%3C/svg%3E") 0 0 / 48px 17px repeat-x; }
html:not(#_) .aa-header .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; font-style: italic; color: #fbeee0; letter-spacing: .01em; }
html:not(#_) .aa-header .aa-logo__sous { color: #e3c9ae; opacity: 1; }
html:not(#_) .aa .aa-logo__mark { border-radius: 50%; background: radial-gradient(circle at 50% 38%, #d9a47f 0 22%, transparent 23%), radial-gradient(circle, #8e3b1f 0 58%, #fbeee0 59% 66%, #8e3b1f 67%); box-shadow: 0 0 0 2px rgba(217, 164, 127, .35); }
html:not(#_) .aa-header .aa-header__cta { border-radius: 999px; padding-inline: 1.2em; background: #8e3b1f; color: #fffaf3; border-color: #b35a36; box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .8); }
html:not(#_) .aa-header .aa-nav { background: rgba(0, 0, 0, .18); border-top: 1px solid rgba(217, 164, 127, .22); }
html:not(#_) .aa-header .aa-nav a { color: #fbeee0; border-bottom: 0; border-radius: 999px; margin: .4rem .15rem; padding: .45rem .95rem; }
html:not(#_) .aa-header .aa-nav a:hover { background: rgba(217, 164, 127, .18); }
html:not(#_) .aa-header .aa-nav a.is-actif { background: #fffaf3; color: #6a2a14; }
html:not(#_) .aa-header .aa-burger { border-color: rgba(217, 164, 127, .5); color: #fbeee0; }
@media (min-width: 860px) {
  html:not(#_) .aa-header .aa-header__in { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); grid-template-areas: ". logo cta" "nav nav nav"; padding-top: .9rem; }
  html:not(#_) .aa-header .aa-logo { justify-self: center; flex-direction: column; text-align: center; gap: .3rem; }
  html:not(#_) .aa-header .aa-logo__txt { font-size: 1.6rem; }
  html:not(#_) .aa-header .aa-header__cta { justify-self: end; }
  html:not(#_) .aa-header .aa-nav ul { justify-content: center; }
}
@media (max-width: 859px) {
  html:not(#_) .aa-header .aa-nav { background: #fffaf3; border: 1px solid var(--aa-bord); box-shadow: var(--aa-ombre); }
  html:not(#_) .aa-header .aa-nav a { color: var(--aa-texte); margin: .1rem 0; }
  html:not(#_) .aa-header .aa-nav a.is-actif { background: #f1dcc4; color: #6a2a14; border-left: 0; }
}

/* --- conteneur, accueil en arche --------------------------------------------------------- */
html:not(#_) .aa-main > .aa-wrap.aa-wrap { border-color: var(--aa-bord); border-radius: 24px; box-shadow: var(--aa-ombre); }
html:not(#_) .aa .aa-h1 { font-family: var(--aa-police-titre); font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--aa-texte); }
html:not(#_) .aa .aa-hero { background: linear-gradient(170deg, #f3e0c9, var(--aa-surface) 70%); border: 1px solid #e0c3a4; border-left: 0; border-radius: 200px 200px 18px 18px / 70px 70px 18px 18px; padding-top: 2rem; text-align: center; position: relative; overflow: hidden; box-shadow: inset 0 0 0 6px rgba(255, 250, 243, .7); }
html:not(#_) .aa .aa-hero::after { content: ""; position: absolute; right: 18px; bottom: 14px; width: 34px; height: 31px; background: var(--lm-coeur) center / contain no-repeat; opacity: .18; transform: rotate(12deg); pointer-events: none; }
html:not(#_) .aa .aa-hero__chiffres { justify-content: center; }
html:not(#_) .aa .aa-hero__chiffres span { background: #fffaf3; color: #6a2a14; border-color: #d9a47f; border-radius: 999px; }

/* --- bandeaux en pilule à 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: linear-gradient(90deg, #8e3b1f, #a24a2a); color: var(--aa-bande-txt); border-left: 0; box-shadow: 0 8px 16px -12px rgba(142, 59, 31, .9);
  font-family: var(--aa-police-titre); text-transform: none; letter-spacing: .01em; font-size: 1.02rem; font-style: italic; border-radius: 18px 18px 18px 4px; }
html:not(#_) .aa .aa-side__h { border-bottom: 0; }
html:not(#_) .aa .aa-bloc__tete .aa-lien { color: var(--aa-primaire); font-weight: 700; }

/* --- lignes d'annonce : cartes chaudes, vignettes en médaillon ------------------------------- */
html:not(#_) .aa .aa-liste { border-top: 0; gap: .7rem; }
html:not(#_) .aa .aa-ligne.aa-ligne { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-radius: var(--aa-rayon); padding: .85rem .85rem .95rem; box-shadow: 0 10px 22px -20px rgba(142, 59, 31, .7); transition: box-shadow .25s ease, background .25s ease; }
html:not(#_) .aa .aa-ligne.aa-ligne:hover { background: #fcf3e8; box-shadow: 0 16px 28px -18px rgba(142, 59, 31, .7); }
html:not(#_) .aa .aa-ligne__img { border-radius: 50%; border: 2px solid #d9a47f; padding: 3px; background: #fffaf3; box-shadow: 0 0 0 4px #f3e0c9; }
html:not(#_) .aa .aa-ligne__img img { border-radius: 50%; }
html:not(#_) .aa .aa-ligne__nb { left: 50%; transform: translateX(-50%); bottom: .1rem; background: #6a2a14; }
html:not(#_) .aa .aa-ligne__new { background: #6a2a14; border-radius: 999px; padding-inline: .6rem; }
html:not(#_) .aa .aa-ligne__cat { color: #6a2a14; }
html:not(#_) .aa .aa-ligne__titre a { color: var(--aa-primaire); font-family: var(--aa-police-titre); }
html:not(#_) .aa .aa-ligne__lire { border-radius: 999px; }

/* --- boutons, champs, colonne latérale --------------------------------------------------------- */
html:not(#_) .aa .aa-btn--primaire { border-radius: 999px; box-shadow: 0 10px 22px -12px rgba(142, 59, 31, .85); border-color: var(--aa-primaire-fonce); }
html:not(#_) .aa .aa-btn--secondaire { border-radius: 999px; background: var(--aa-surface); color: var(--aa-primaire); border-color: var(--aa-primaire); }
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: 7px; border-radius: 0; top: .62em; background: var(--lm-coeur) center / contain no-repeat; }
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: #8e3b1f; color: #fffaf3; border: 0; border-radius: 999px; min-width: 1.75em; height: 1.75em; padding: 0 .35rem; display: inline-grid; place-items: center; font-weight: 700; font-size: .72rem; line-height: 1; box-shadow: 0 0 0 2px #f3e0c9; }
html:not(#_) .aa .aa-filtres { background: #f3e0c9; border-color: #d9a47f; border-radius: var(--aa-rayon); }
html:not(#_) .aa .aa-filtres__champ { color: #6a2a14; }

/* --- grille serrée de villes / catégories à badges -------------------------------------------------- */
html:not(#_) .aa .aa-liens { gap: .35rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 136px), 1fr)); }
html:not(#_) .aa .aa-liens li { background: var(--aa-surface); border-color: var(--aa-bord); border-radius: 14px 14px 14px 4px; padding: .35rem .4rem .35rem .75rem; }
html:not(#_) .aa .aa-liens li a { line-height: 1.25; }
html:not(#_) .aa .aa-liens li::before { display: none; }
html:not(#_) .aa .aa-liens li:hover { border-color: #d9a47f; background: #fcf3e8; }
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); }
html:not(#_) .aa .aa-atouts .aa-atouts__ico { background: #f3e0c9; color: var(--aa-primaire); border-radius: 50%; }
html:not(#_) .aa .aa-etapes li { border-radius: var(--aa-rayon); }
html:not(#_) .aa .aa-etapes li::before { border-radius: 50%; box-shadow: 0 0 0 3px #f3e0c9; }
html:not(#_) .aa .aa-deposer-cta { max-width: 560px; margin-inline: auto; text-align: center; border-radius: 140px 140px 22px 22px / 50px 50px 22px 22px; background: linear-gradient(170deg, #f3e0c9, var(--aa-surface)); border: 1px solid #d9a47f; box-shadow: var(--aa-ombre); padding-top: 1.8rem; }
html:not(#_) .aa .aa-depot__bloc { border-radius: var(--aa-rayon); background: var(--aa-surface); }
html:not(#_) .aa .aa-chip:has(input:checked) { border-color: var(--aa-primaire); background: #f3e0c9; }
html:not(#_) .aa .aa-pagination a, html:not(#_) .aa .aa-pagination span { border-radius: 999px; }

/* --- fiche : photo en fenêtre cintrée ------------------------------------------------------------- */
html:not(#_) .aa .aa-fiche__titre { font-family: var(--aa-police-titre); color: var(--aa-texte); }
html:not(#_) .aa .aa-fiche__photo { border-radius: 140px 140px var(--aa-rayon) var(--aa-rayon); border: 2px solid #d9a47f; padding: 5px; background: #fffaf3; box-shadow: 0 0 0 5px #f3e0c9, 0 22px 36px -20px rgba(142, 59, 31, .65); }
html:not(#_) .aa .aa-fiche__photo img { border-radius: 134px 134px 10px 10px; 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); }
html:not(#_) .aa .aa-fiche__infos > div:nth-child(odd) { background: #f9f0e4; }
html:not(#_) .aa .aa-fiche__cta--haut { background: #f3e0c9; border-color: #d9a47f; border-radius: var(--aa-rayon); }
html:not(#_) .aa .aa-fiche__cta--bas { max-width: 540px; margin-inline: auto; border: 1px solid #d9a47f; border-radius: 22px; background: linear-gradient(170deg, #f3e0c9, var(--aa-surface)); box-shadow: var(--aa-ombre); }
html:not(#_) .aa .aa-repondre { border-radius: var(--aa-rayon); }

/* --- pied : bois sombre à filet terracota -------------------------------------------------------- */
html:not(#_) .aa .aa-footer { border-top: 4px solid #8e3b1f; position: relative; margin-top: 2rem; background: linear-gradient(180deg, #1f130d, #170e09); }
html:not(#_) .aa .aa-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 60px; background: var(--lm-celosia) 0 0 / 22px 22px; opacity: .08; pointer-events: none; }
html:not(#_) .aa .aa-footer__h { color: #e7b891; font-family: var(--aa-police-titre); font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; border-bottom-color: rgba(217, 164, 127, .28); }
html:not(#_) .aa .aa-footer__brand { color: #fffaf3; font-family: var(--aa-police-titre); font-style: italic; }
html:not(#_) .aa .aa-footer a:hover { color: #e7b891; }

/* --- pop-up / porte / barres mobiles ---------------------------------------------------------- */
html:not(#_) .aa .aa-popup__box, html:not(#_) .aa .aa-gate__box { border-top: 0; border-radius: 22px; box-shadow: 0 30px 60px -24px rgba(43, 26, 18, .75); }
html:not(#_) .aa .aa-gate__mark { border-radius: 50%; }
html:not(#_) .aa .aa-mobar, html:not(#_) .aa .aa-fiche__barre { background: color-mix(in srgb, #fffaf3 94%, transparent); border-top-color: #d9a47f; }
@media (prefers-reduced-motion: reduce) { html:not(#_) .aa .aa-fiche__photo img, html:not(#_) .aa .aa-ligne.aa-ligne { transition: none; } }
