/* encuentros-costa-rica.lat — registre « forêt de nuages » (inspiration Costa Rica : brume de Monteverde,
   feuillage bleu-vert sous la nuée, bois clair des passerelles suspendues).
   Palette : accent ardoise-brume du favicon #4f6f7a, profond #3a5560 (boutons, texte sur clair),
   neutre chaud = lin / brume crème (#f7f2e8, #efe7d8, #e4d9c5), encre sous-bois #1d2a2e.
   Composition : en-tête en une rangée fine (logo à gauche, actions à droite) sur une nuée ondulée,
   cartouches pour catégories et chips, cœur SVG discret, lignes d'annonce en cartes à bord haut épais,
   vignettes en arche, fiche en carte à bord haut, pied sur une ligne. */

html:not(#_) body {
  --aa-accent: #4f6f7a; --aa-teinte: #4f6f7a;
  --aa-primaire: #3a5560; --aa-primaire-fonce: #2b424b; --aa-primaire-txt: #fff;
  --aa-fond: #f7f2e8; --aa-surface: #fffdf8; --aa-surface-2: #efe7d8;
  --aa-bord: #ddd2bd; --aa-texte: #1d2a2e; --aa-muet: #4c5a5e; --aa-lien: #33505a;
  --aa-tete: #fffdf8; --aa-tete-txt: #1d2a2e;
  --aa-secondaire: #1d2a2e; --aa-secondaire-txt: #f7f2e8;
  --aa-pied: #22343a; --aa-pied-txt: #e9e2d3;
  --aa-rayon: 16px; --aa-rayon-s: 999px;
  --aa-ombre: 0 2px 6px rgba(58, 85, 96, .08), 0 18px 32px -22px rgba(58, 85, 96, .6);
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --aa-police-titre: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
  background: linear-gradient(180deg, #e6ebe7 0, #f3efe6 340px, #f7f2e8 700px) #f7f2e8;
  color: var(--aa-texte);
}

/* --- en-tête : une rangée fine, logo à gauche, actions à droite, nuée ondulée */
html:not(#_) .aa-header { position: relative; background: var(--aa-tete); border-bottom: 0; box-shadow: 0 10px 24px -20px rgba(29, 42, 46, .55); }
html:not(#_) .aa-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -13px; height: 14px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 14'%3E%3Cpath d='M0 0h120v4c-10 0-12 9-24 9S82 4 72 4 58 11 46 11 34 4 24 4 10 12 0 8z' fill='%23fffdf8'/%3E%3C/svg%3E") repeat-x 0 0 / 120px 14px;
}
html:not(#_) .aa-header .aa-header__in { flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; min-height: 58px; gap: 1rem; }
html:not(#_) .aa-header .aa-logo { order: 0; justify-content: flex-start; font-family: var(--aa-police-titre); font-size: 1.28rem; font-weight: 700; text-transform: none; letter-spacing: 0; padding: .4rem 0; color: var(--aa-texte); min-width: 0; }
html:not(#_) .aa-header .aa-logo__mark {
  display: block; width: 26px; height: 22px; border-radius: 0; box-shadow: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'%3E%3Cpath d='M13 21S1 13.6 1 6.8A5.8 5.8 0 0 1 13 4a5.8 5.8 0 0 1 12 2.8C25 13.6 13 21 13 21z' fill='%234f6f7a'/%3E%3Cpath d='M7 8.5c1.5-2 4-2 5.5 0' stroke='%23fffdf8' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
html:not(#_) .aa-header .aa-logo__txt { max-width: 64vw; }
html:not(#_) .aa-header .aa-nav { order: 0; border: 0; }
html:not(#_) .aa-header .aa-nav ul { justify-content: flex-end; gap: .15rem; }
html:not(#_) .aa-header .aa-nav a { font-size: .8rem; letter-spacing: .05em; padding: .45rem .8rem; border-radius: 999px; color: var(--aa-texte); }
html:not(#_) .aa-header .aa-nav a:hover, html:not(#_) .aa-header .aa-nav a.is-actif { background: #e6ece9; color: var(--aa-primaire-fonce); }
html:not(#_) .aa-header .aa-nav__cta a { background: var(--aa-primaire); color: #fff !important; box-shadow: 0 8px 16px -10px rgba(58, 85, 96, .9); margin-left: .3rem; }
html:not(#_) .aa-header .aa-nav__cta a:hover { background: var(--aa-primaire-fonce); }
html:not(#_) .aa-header .aa-burger { position: static; color: var(--aa-primaire); background: #e6ece9; }
@media (max-width: 800px) {
  html:not(#_) .aa-header .aa-logo { font-size: 1.1rem; }
  html:not(#_) .aa-header .aa-header__in { flex-wrap: wrap; }
  html:not(#_) .aa-header .aa-nav { order: 3; flex-basis: 100%; background: #fffdf8; border-radius: 0 0 18px 18px; padding: .3rem 0 .8rem; }
  html:not(#_) .aa-header .aa-nav a { text-align: center; font-size: .9rem; }
  html:not(#_) .aa-header .aa-nav__cta a { margin: .3rem 0 0; }
}
html:not(#_) .aa-main { padding-top: 2rem; }

/* --- titres : cartouches */
html:not(#_) .aa-h1 { font-family: var(--aa-police-titre); text-transform: none; font-weight: 700; letter-spacing: -.01em; border-bottom: 0; color: var(--aa-texte); }
html:not(#_) .aa-h2, html:not(#_) .aa-side__h {
  display: inline-block; font-size: .78rem; letter-spacing: .1em; color: var(--aa-primaire-fonce);
  background: #e6ece9; border: 0; border-radius: 999px; padding: .38rem 1rem .34rem 2.1rem; margin-bottom: .9rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'%3E%3Cpath d='M13 21S1 13.6 1 6.8A5.8 5.8 0 0 1 13 4a5.8 5.8 0 0 1 12 2.8C25 13.6 13 21 13 21z' fill='%234f6f7a'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: .8rem 50%; background-size: 13px 11px;
}
html:not(#_) .aa-layout__side { border-top: 0; }

/* --- accueil : hero brumeux + carte d'inscription centrée */
html:not(#_) .aa-main .aa-hero { background: radial-gradient(120% 90% at 85% 0, #dfe7e3 0, rgba(223, 231, 227, 0) 60%), #f7f2e8; border: 0; border-radius: 0 0 40px 40px; }
html:not(#_) .aa-main .aa-hero__form { background: var(--aa-surface); border: 0; border-top: 6px solid var(--aa-accent); border-radius: 22px; box-shadow: 0 22px 40px -26px rgba(58, 85, 96, .75); padding: 1.6rem 1.5rem; text-align: center; }
html:not(#_) .aa-main .aa-hero__form-h { font-family: var(--aa-police-titre); color: var(--aa-texte); }
html:not(#_) .aa-main .aa-hero__form-p { color: var(--aa-muet); }
html:not(#_) .aa-main .aa-hero__chiffres { color: var(--aa-primaire-fonce); }

/* --- boutons */
html:not(#_) .aa-main .aa-btn { border-radius: 999px; text-transform: none; letter-spacing: .01em; font-size: .95rem; font-weight: 700; white-space: normal; transition: transform .15s ease, box-shadow .15s ease; }
html:not(#_) .aa-main .aa-btn--primaire { background: var(--aa-primaire); border-color: var(--aa-primaire); color: #fff; box-shadow: 0 10px 20px -12px rgba(58, 85, 96, .95); }
html:not(#_) .aa-main .aa-btn--primaire:hover { background: var(--aa-primaire-fonce); transform: translateY(-1px); }
html:not(#_) .aa-main .aa-btn--secondaire { background: #fffdf8; border: 2px solid var(--aa-primaire); color: var(--aa-primaire-fonce); }

/* --- lignes d'annonce : cartes à bord haut épais, vignette en arche */
html:not(#_) .aa-main .aa-liste { border-top: 0; gap: .95rem; }
html:not(#_) .aa-main .aa-liste .aa-ligne {
  background: var(--aa-surface); border: 0; border-top: 5px solid var(--aa-accent); border-radius: 6px 6px 18px 18px;
  box-shadow: var(--aa-ombre); padding: .95rem 1rem; transition: transform .2s ease, box-shadow .2s ease;
}
html:not(#_) .aa-main .aa-liste .aa-ligne:nth-child(3n+2) { border-top-color: #7a939b; }
html:not(#_) .aa-main .aa-liste .aa-ligne:hover { transform: translateY(-2px); box-shadow: 0 2px 6px rgba(58, 85, 96, .1), 0 24px 36px -22px rgba(58, 85, 96, .75); }
html:not(#_) .aa-main .aa-ligne .aa-ligne__img, html:not(#_) .aa-main .aa-ligne .aa-ligne__corps, html:not(#_) .aa-main .aa-ligne .aa-ligne__action { border: 0; }
html:not(#_) .aa-main .aa-ligne .aa-ligne__img img { border-radius: 999px 999px 12px 12px; box-shadow: 0 0 0 3px #efe7d8; transition: transform .3s ease; }
html:not(#_) .aa-main .aa-ligne:hover .aa-ligne__img img { transform: scale(1.04); }
html:not(#_) .aa-main .aa-ligne .aa-ligne__cat { background: #e6ece9; color: var(--aa-primaire-fonce); border-radius: 999px; padding: .1rem .6rem; font-family: var(--aa-police); }
html:not(#_) .aa-main .aa-ligne .aa-ligne__new { background: var(--aa-primaire); color: #fff; border-radius: 999px; padding: .1rem .55rem; }
html:not(#_) .aa-main .aa-ligne .aa-ligne__titre, html:not(#_) .aa-main .aa-ligne .aa-ligne__titre a { font-family: var(--aa-police-titre); color: var(--aa-texte); }
html:not(#_) .aa-main .aa-ligne .aa-ligne__meta, html:not(#_) .aa-main .aa-ligne .aa-ligne__date { color: var(--aa-muet); font-family: var(--aa-police); }
html:not(#_) .aa-main .aa-ligne .aa-ligne__extrait { color: #33403f; }
html:not(#_) .aa-main .aa-ligne .aa-ligne__lire { border-radius: 999px; }

/* --- liens catégories / villes / blocs latéraux : cartouches */
html:not(#_) .aa-main .aa-liens--cats li { border-radius: 0; }
html:not(#_) .aa-main .aa-liens--villes li, html:not(#_) .aa-main .aa-chip { border-radius: 999px; background: #efe7d8; border: 0; }
html:not(#_) .aa-main .aa-liens a, html:not(#_) .aa-main .aa-side a { color: var(--aa-lien); }
html:not(#_) .aa-main .aa-liens__nb, html:not(#_) .aa-main .aa-side__nb { color: var(--aa-muet); }
html:not(#_) .aa-main .aa-filtres, html:not(#_) .aa-main .aa-side { background: var(--aa-surface); border: 0; border-top: 5px solid var(--aa-accent); border-radius: 6px 6px 18px 18px; box-shadow: var(--aa-ombre); padding: 1rem; }

/* --- fiche d'annonce */
html:not(#_) .aa-main .aa-fiche__cat { background: #e6ece9; color: var(--aa-primaire-fonce); border-radius: 999px; padding: .2rem .7rem; display: inline-block; }
html:not(#_) .aa-main .aa-fiche__titre { font-family: var(--aa-police-titre); text-transform: none; color: var(--aa-texte); }
html:not(#_) .aa-main .aa-fiche__cta--haut { background: var(--aa-surface); border: 0; border-top: 6px solid var(--aa-accent); border-radius: 6px 6px 20px 20px; box-shadow: 0 20px 34px -24px rgba(58, 85, 96, .8); }
html:not(#_) .aa-main .aa-fiche__photo { border-radius: 200px 200px 18px 18px; overflow: hidden; box-shadow: 0 0 0 5px #fffdf8, 0 20px 36px -22px rgba(29, 42, 46, .7); }
html:not(#_) .aa-main .aa-fiche__photo .aa-fiche__new { top: auto; bottom: .9rem; right: 50%; transform: translateX(50%); box-shadow: 0 0 0 3px #fffdf8; }
html:not(#_) .aa-main .aa-fiche__miniatures img { border-radius: 999px 999px 8px 8px; }
html:not(#_) .aa-main .aa-fiche__plage { background: #e6ece9; color: var(--aa-texte); border-radius: 999px; border: 0; }
html:not(#_) .aa-main .aa-fiche__phy > *, html:not(#_) .aa-main .aa-fiche__physique > * { background: #fffdf8; border-color: #e4d9c5; border-radius: 12px; }
html:not(#_) .aa-main .aa-fiche__infos, html:not(#_) .aa-main .aa-repondre { background: var(--aa-surface); border: 0; border-top: 5px solid #7a939b; border-radius: 6px 6px 18px 18px; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-main .aa-fiche__cta .aa-btn { min-height: 46px; }

/* --- dépôt */
html:not(#_) .aa-main .aa-depot__bloc { background: var(--aa-surface); border: 0; border-top: 5px solid var(--aa-accent); border-radius: 6px 6px 18px 18px; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-main .aa-depot__bloc legend { background: #e6ece9; color: var(--aa-primaire-fonce); border-radius: 999px; padding: .25rem .9rem; }
html:not(#_) .aa-main input, html:not(#_) .aa-main select, html:not(#_) .aa-main textarea { border-radius: 12px; border-color: #d6cab3; background: #fffdf8; color: var(--aa-texte); }

/* --- pied : une ligne */
html:not(#_) .aa-footer { background: var(--aa-pied); color: var(--aa-pied-txt); border-top: 0; margin-top: 3rem; }
html:not(#_) .aa-footer a { color: #f2ecdf; }
html:not(#_) .aa-footer .aa-footer__h { color: #b9ccd1; }
html:not(#_) .aa-footer .aa-footer__fictif, html:not(#_) .aa-footer .aa-footer__bas { color: #cfd7d6; border-color: rgba(233, 226, 211, .18); }
@media (min-width: 900px) {
  html:not(#_) .aa-footer .aa-footer__grid { display: flex; flex-wrap: nowrap; gap: 2rem; align-items: flex-start; }
  html:not(#_) .aa-footer .aa-footer__grid > * { flex: 1 1 0; min-width: 0; }
}

@media (max-width: 720px) {
  html:not(#_) .aa-main .aa-btn { letter-spacing: 0; }
  html:not(#_) .aa-main .aa-fiche__photo { border-radius: 140px 140px 16px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html:not(#_) .aa-main .aa-liste .aa-ligne, html:not(#_) .aa-main .aa-ligne__img img, html:not(#_) .aa-main .aa-btn { transition: none; }
}
