/* encontros-gay-brasil.lat — registre « caju & areia » (Brésil)
   Palette : accent caju #c8511e (favicon) · caju profond #8f3510 · areia #f3e6d3 / lin #fffaf3 · encre #2a1a12
   Composition : en-tête en deux rangées (bandeau d'actions encre, puis logo-cœur + nav sur sable),
   cartes d'annonce à bord haut épais, vignettes et photo de fiche en arche, bandeaux en cartouches,
   CTA en carte centrée, pied de page en carte centrée sur le sable. */

html:not(#_) body.aa {
  --aa-accent: #c8511e; --aa-teinte: #c8511e;
  --aa-primaire: #c8511e; --aa-primaire-fonce: #8f3510; --aa-primaire-txt: #fff;
  --aa-page: #f3e6d3; --aa-fond: #fffaf3; --aa-surface: #fff; --aa-surface-2: #fbf1e4;
  --aa-texte: #2a1a12; --aa-muet: #6b5646; --aa-bord: #ead8c2; --aa-lien: #a8411a;
  --aa-tete: #2a1a12; --aa-tete-txt: #fff; --aa-bande: #8f3510; --aa-bande-txt: #fff; --aa-bande-bord: #c8511e;
  --aa-secondaire: #2a1a12; --aa-pied: #2a1a12; --aa-pied-txt: #efe0cc;
  --aa-rayon: 16px; --aa-rayon-s: 10px;
  --aa-ombre: 0 2px 4px rgba(143, 53, 16, .06), 0 14px 32px -18px rgba(143, 53, 16, .35);
  --aa-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c8511e' d='M12 21s-7.5-4.6-9.6-9.2C.9 8.4 3 4.5 6.7 4.5c2.1 0 3.6 1.1 5.3 3 1.7-1.9 3.2-3 5.3-3 3.7 0 5.8 3.9 4.3 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
  background: radial-gradient(circle at 12% 0, #f8e2c6 0, transparent 40%), var(--aa-page);
}

/* --- en-tête : rangée d'actions (encre) puis logo + nav (sable) --- */
html:not(#_) .aa-header { background: linear-gradient(#2a1a12 0 52px, #fbf1e4 52px); color: var(--aa-texte); box-shadow: 0 10px 24px -20px rgba(143, 53, 16, .6); border-bottom: 3px solid var(--aa-accent); }
html:not(#_) .aa-header .aa-header__in { grid-template-columns: auto minmax(0, 1fr); grid-template-rows: 52px auto; grid-template-areas: "cta cta" "logo nav"; padding-block: 0; gap: 0 1.5rem; }
html:not(#_) .aa-header .aa-header__cta { justify-self: end; align-self: center; min-height: 38px; border-radius: 999px; padding-inline: 1.2em; background: var(--aa-accent); border-color: #e57a45; box-shadow: 0 6px 16px -8px rgba(200, 81, 30, .9); }
html:not(#_) .aa-header .aa-logo { padding-block: .75rem; color: var(--aa-texte); }
html:not(#_) .aa-header .aa-logo__mark { width: 40px; height: 40px; border-radius: 50%; background: #fff var(--aa-coeur) center / 22px no-repeat; box-shadow: 0 0 0 2px var(--aa-accent), 0 6px 14px -6px rgba(200, 81, 30, .7); }
html:not(#_) .aa-header .aa-logo__txt { font-family: Georgia, "Times New Roman", serif; font-weight: 700; font-size: 1.45rem; color: #2a1a12; }
html:not(#_) .aa-header .aa-logo__sous { color: #8f3510; opacity: 1; font-weight: 600; }
html:not(#_) .aa-header .aa-nav { background: transparent; margin: 0; padding: 0; justify-self: end; align-self: center; color: var(--aa-texte); }
html:not(#_) .aa-header .aa-nav ul { gap: .15rem; flex-wrap: nowrap; }
html:not(#_) .aa-header .aa-nav a { border-radius: 999px; border-bottom: 0; padding: .5rem .75rem; color: #2a1a12; font-size: .88rem; white-space: nowrap; }
html:not(#_) .aa-header .aa-nav a:hover { background: #f3dcc2; }
html:not(#_) .aa-header .aa-nav a.is-actif { background: var(--aa-accent); color: #fff; box-shadow: 0 6px 14px -8px rgba(200, 81, 30, .9); }
@media (max-width: 859px) {
  html:not(#_) .aa-header { background: #fbf1e4; border-top: 6px solid #2a1a12; }
  html:not(#_) .aa-header .aa-header__in { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto; grid-template-areas: "logo burger" "nav nav"; padding-block: .1rem; }
  html:not(#_) .aa-header .aa-logo { padding-block: .55rem; }
  html:not(#_) .aa-header .aa-logo__mark { width: 34px; height: 34px; background-size: 18px; }
  html:not(#_) .aa-header .aa-logo__txt { font-size: 1.2rem; }
  html:not(#_) .aa-header .aa-burger { border-color: #d9b999; color: #2a1a12; border-radius: 12px; }
  html:not(#_) .aa-header .aa-nav { justify-self: stretch; background: #fff; border: 1px solid var(--aa-bord); border-radius: 18px; padding: .4rem; margin: 0 0 .7rem; }
  html:not(#_) .aa-header .aa-nav a.is-actif { border-left: 0; }
  html:not(#_) .aa-header .aa-nav ul { flex-wrap: wrap; }
  html:not(#_) .aa-header .aa-nav a { white-space: normal; font-size: .95rem; }
}

/* --- conteneur, bandeaux en cartouches --- */
html:not(#_) .aa-main > .aa-wrap { border-radius: 26px; border-color: var(--aa-bord); }
html:not(#_) body.aa .aa-h2, html:not(#_) body.aa .aa-bande, html:not(#_) body.aa .aa-depot__bloc legend {
  background: linear-gradient(90deg, #8f3510, #a8411a); border-left: 0; border-radius: 16px 28px 28px 16px; padding: .5rem 1.1rem;
  box-shadow: 0 8px 18px -12px rgba(143, 53, 16, .8); letter-spacing: .06em;
}
html:not(#_) body.aa .aa-bande__droite { color: #fff; opacity: 1; }
html:not(#_) body.aa .aa-h2 > a, html:not(#_) body.aa .aa-bande a { color: #ffe6cf; }

/* --- accueil : bandeau en arche --- */
html:not(#_) body.aa .aa-hero { background: linear-gradient(160deg, #fde9d6, #fffaf3 65%); border: 1px solid var(--aa-bord); border-top: 6px solid var(--aa-accent); border-radius: 120px 120px 22px 22px / 60px 60px 22px 22px; padding: 1.6rem 1.6rem 1.3rem; position: relative; overflow: hidden; }
html:not(#_) body.aa .aa-hero::after { content: ""; position: absolute; right: 1.2rem; top: 1rem; width: 46px; height: 46px; background: var(--aa-coeur) center / contain no-repeat; opacity: .22; pointer-events: none; }
html:not(#_) body.aa .aa-hero .aa-h1 { font-family: Georgia, "Times New Roman", serif; color: #2a1a12; padding-right: 2.6rem; }
html:not(#_) body.aa .aa-hero__chiffres span { background: #fff; color: #8f3510; border-color: #f0c9a6; }

/* --- annonces en cartes à bord haut épais --- */
html:not(#_) body.aa .aa-liste .aa-ligne { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-top: 5px solid var(--aa-accent); border-radius: 18px; padding: .9rem 1rem; margin-bottom: .9rem; box-shadow: var(--aa-ombre); transition: transform .2s ease, box-shadow .2s ease; }
html:not(#_) body.aa .aa-liste .aa-ligne:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 18px 34px -20px rgba(200, 81, 30, .55); }
html:not(#_) body.aa .aa-ligne .aa-ligne__img { border: 0; padding: 0; border-radius: 60px 60px 12px 12px; box-shadow: 0 0 0 3px #fbe3cc; }
html:not(#_) body.aa .aa-ligne .aa-ligne__img img { border-radius: inherit; }
html:not(#_) body.aa .aa-ligne .aa-ligne__cat { color: #a8411a; }
html:not(#_) body.aa .aa-ligne .aa-ligne__new { border-radius: 999px; padding-inline: .6rem; }
html:not(#_) body.aa .aa-ligne .aa-ligne__titre a { color: #2a1a12; }
html:not(#_) body.aa .aa-ligne .aa-ligne__titre a:hover { color: #a8411a; }
html:not(#_) body.aa .aa-ligne .aa-btn--secondaire { border-radius: 999px; border-color: var(--aa-accent); color: #8f3510; }

/* --- colonne latérale --- */
html:not(#_) body.aa .aa-side { background: #fff; border-radius: 20px; border-top: 5px solid #2a1a12; box-shadow: var(--aa-ombre); }
html:not(#_) body.aa .aa-side .aa-side__h { background: #fbf1e4; color: #2a1a12; border-bottom: 2px dashed #e7c8a6; border-radius: 15px 15px 0 0; }
html:not(#_) body.aa .aa-side .aa-side__h .aa-ico { color: var(--aa-accent); opacity: 1; }
html:not(#_) body.aa .aa-side__liste li::before { width: 8px; height: 8px; background: var(--aa-coeur) center / contain no-repeat; border-radius: 0; top: .72em; }
html:not(#_) body.aa .aa-side__nb, html:not(#_) body.aa .aa-liens__nb { border-radius: 999px; }
html:not(#_) body.aa .aa-btn--primaire { border-radius: 999px; border-color: #8f3510; }
html:not(#_) body.aa .aa-btn--secondaire { border-radius: 999px; }
html:not(#_) body.aa select, html:not(#_) body.aa input:not([type=checkbox]):not([type=radio]), html:not(#_) body.aa textarea { border-radius: 12px; }

/* --- fiche : photo en arche, CTA en carte centrée --- */
html:not(#_) body.aa .aa-fiche__photo { border-radius: 150px 150px 18px 18px; overflow: hidden; box-shadow: 0 0 0 4px #fbe3cc, 0 18px 36px -20px rgba(143, 53, 16, .6); }
html:not(#_) body.aa .aa-fiche__titre { font-family: Georgia, "Times New Roman", serif; }
html:not(#_) body.aa .aa-fiche__cta--haut { background: #fff; border: 1px solid var(--aa-bord); border-top: 5px solid var(--aa-accent); border-radius: 20px; padding: 1rem; box-shadow: var(--aa-ombre); }
html:not(#_) body.aa .aa-fiche__cta--bas { max-width: 560px; margin: 1.6rem auto 0; background: linear-gradient(170deg, #fde9d6, #fff 70%); border: 1px solid #f0c9a6; border-radius: 26px; padding: 1.3rem 1.2rem; box-shadow: var(--aa-ombre); position: relative; }
html:not(#_) body.aa .aa-fiche__cta--bas::before { content: ""; display: block; width: 30px; height: 30px; margin: -.2rem auto .5rem; background: var(--aa-coeur) center / contain no-repeat; }
html:not(#_) body.aa .aa-repondre { border-radius: 22px; }
html:not(#_) body.aa .aa-chip { border-radius: 999px; }

/* --- dépôt --- */
html:not(#_) body.aa .aa-depot__bloc { border-radius: 20px; border-color: var(--aa-bord); background: #fff; }

/* --- barre mobile --- */
html:not(#_) body.aa .aa-mobar, html:not(#_) body.aa .aa-fiche__barre { background: rgba(255, 250, 243, .96); border-top: 3px solid var(--aa-accent); }
html:not(#_) body.aa .aa-mobar .aa-btn, html:not(#_) body.aa .aa-fiche__barre .aa-btn { border-radius: 999px; }

/* --- pied : carte centrée sur le sable --- */
html:not(#_) body.aa .aa-footer { background: transparent; border-top: 0; color: var(--aa-texte); padding: 1rem var(--aa-gout) 0; }
html:not(#_) body.aa .aa-footer .aa-footer__grid { background: #2a1a12; color: #efe0cc; border-radius: 32px 32px 18px 18px; padding: 2rem 1.6rem 1.6rem; box-shadow: 0 24px 48px -26px rgba(143, 53, 16, .7); border-top: 6px solid var(--aa-accent); position: relative; }
html:not(#_) body.aa .aa-footer .aa-footer__grid::before { content: ""; position: absolute; left: 50%; top: -22px; width: 40px; height: 40px; margin-left: -20px; border-radius: 50%; background: #fff var(--aa-coeur) center / 22px no-repeat; box-shadow: 0 0 0 3px var(--aa-accent); }
html:not(#_) body.aa .aa-footer .aa-footer__grid a { color: #efe0cc; }
html:not(#_) body.aa .aa-footer .aa-footer__grid a:hover { color: #ffb88f; }
html:not(#_) body.aa .aa-footer .aa-footer__h { color: #ffb88f; border-bottom-color: rgba(255, 184, 143, .3); }
html:not(#_) body.aa .aa-footer .aa-footer__bas { background: transparent; color: #4a3527; }
html:not(#_) body.aa .aa-footer .aa-footer__bas a { color: #8f3510; }
html:not(#_) body.aa .aa-footer .aa-footer__bas-in { opacity: 1; justify-content: center; gap: 1.5rem; }

@media (prefers-reduced-motion: reduce) {
  html:not(#_) body.aa .aa-liste .aa-ligne { transition: none; }
  html:not(#_) body.aa .aa-liste .aa-ligne:hover { transform: none; }
}

@media (max-width: 639px) {
  html:not(#_) body.aa .aa-h2, html:not(#_) body.aa .aa-bande { letter-spacing: .02em; font-size: .8rem; padding: .45rem .8rem; }
}
