/* =====================================================================
   rencontre-gay-nouvelle-aquitaine.fr — registre « pin & océan »
   gabarit annoncesastro (skin 4 « arrondi », compo 2, fiche 3), classes aa-

   Palette : accent PIN #00695c (favicon) — pin profond #00584d, encre pin
   #003b33 — océan #0a7a68 / #3aa896 (filets, lueurs, jamais sous du texte)
   — neutres CHAUDS : sable #f6efe1, lin #fdfaf4, coquille #e8dcc8
   — encre #1e2a26, muet #54635c.

   Composition : en-tête sur DEUX rangées (logo médaillon sur sable, barre de
   navigation pleine largeur en pin), lignes d'annonce en lin à bord gauche
   pin et vignette en ARCHE, plaques de rue pour villes/catégories, vague en
   pied de chaque section et au-dessus du pied de page, CTA en pilule à lueur.
   Formes signature : arche · médaillon · cartouche · vague.
   ===================================================================== */

html body.aa {
  --mc-pin: #00584d;
  --mc-pin-d: #003b33;
  --mc-ocean: #0a7a68;
  --mc-ocean-l: #3aa896;
  --mc-sable: #f6efe1;
  --mc-lin: #fdfaf4;
  --mc-coquille: #e8dcc8;
  --mc-creme: #f7f1e4;
  --mc-bar: 54px;

  --aa-fond: var(--mc-sable);
  --aa-surface: var(--mc-lin);
  --aa-texte: #1e2a26;
  --aa-muet: #54635c;
  --aa-bord: var(--mc-coquille);
  --aa-primaire-txt: #fdfaf4;
  --aa-secondaire: var(--mc-pin);
  --aa-secondaire-txt: var(--mc-creme);
  --aa-rayon: 18px;
  --aa-ombre: 0 2px 5px -2px rgba(0, 88, 77, .16), 0 18px 34px -24px rgba(0, 88, 77, .55);
  --aa-tete: var(--mc-sable);
  --aa-tete-txt: #1e2a26;
  --aa-pied: var(--mc-pin);
  --aa-pied-txt: #c9ddd5;
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", sans-serif;
  --aa-police-titre: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;

  --mc-vague: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M0 7 Q 15 1 30 7 T 60 7 T 90 7 T 120 7' fill='none' stroke='%2300695c' stroke-opacity='.26' stroke-width='1.6'/%3E%3C/svg%3E");
  --mc-vague-pied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 20' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H160 V7 C133 19 107 -3 80 7 C53 17 27 -3 0 7 Z' fill='%23f6efe1'/%3E%3C/svg%3E");
}

html body.aa.skin-4 { font-size: 16px; }
html body.aa .aa-h1, html body.aa .aa-h2, html body.aa .aa-h2 { color: var(--mc-pin-d); letter-spacing: -.012em; }
html body.aa a { color: var(--mc-pin); }

/* --- en-tête : rangée 1 logo sur sable, rangée 2 barre pin pleine largeur --- */
body.aa .aa-header { background: linear-gradient(180deg, #fbf6ec, var(--mc-sable)); border-bottom: 0; }
body.aa .aa-header__in { z-index: 1; }
body.aa .aa-logo { font-family: var(--aa-police-titre); font-weight: 800; font-size: 1.22rem; color: var(--mc-pin-d); gap: .6rem; }
/* médaillon */
body.aa .aa-logo__mark {
  width: 34px; height: 34px; border-radius: 50%;
  background: radial-gradient(circle at 32% 26%, var(--mc-ocean-l), var(--aa-accent) 52%, var(--mc-pin-d) 100%);
  box-shadow: inset 0 0 0 2px rgba(247, 241, 228, .9), 0 6px 14px -7px rgba(0, 59, 51, .8);
}
body.aa .aa-burger { color: var(--mc-pin-d); }

@media (min-width: 801px) {
  body.aa .aa-header { position: sticky; }
  body.aa .aa-header::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--mc-bar); z-index: 0;
    background: linear-gradient(180deg, var(--aa-accent), var(--mc-pin) 65%, var(--mc-pin-d));
    border-top: 2px solid var(--mc-ocean-l);
  }
  body.aa .aa-header .aa-header__in {
    display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; row-gap: 0; min-height: 0;
  }
  body.aa .aa-header .aa-logo { min-height: 64px; align-self: center; justify-self: start; }
  body.aa .aa-header .aa-nav { min-height: var(--mc-bar); display: flex; align-items: center; margin: 0; }
  body.aa .aa-header .aa-nav ul {
    background: none; box-shadow: none; padding: 0; gap: .15rem; width: 100%; flex-wrap: nowrap; border-radius: 0;
  }
  body.aa .aa-header .aa-nav a {
    color: var(--mc-creme); border-radius: 999px; padding: .45rem 1rem; font-size: .93rem; font-weight: 600; letter-spacing: .01em;
  }
  body.aa .aa-header .aa-nav a:hover,
  body.aa .aa-header .aa-nav a.is-actif { background: rgba(247, 241, 228, .18); color: #fff; }
  body.aa .aa-header .aa-nav__cta { margin-left: auto; }
  body.aa .aa-header .aa-nav__cta a {
    background: var(--mc-creme); color: var(--mc-pin-d) !important; font-weight: 800;
    box-shadow: 0 6px 16px -9px rgba(0, 30, 26, .9);
  }
  body.aa .aa-header .aa-nav__cta a:hover { background: #fff; color: var(--mc-pin-d) !important; }
  body.aa .aa-header .aa-nav a:focus-visible { outline-color: var(--mc-creme); }
}

@media (max-width: 800px) {
  body.aa .aa-header { border-bottom: 2px solid var(--mc-ocean-l); }
  body.aa .aa-header .aa-nav {
    background: linear-gradient(180deg, var(--mc-pin), var(--mc-pin-d));
    border-bottom: 0; border-radius: 0 0 20px 20px; box-shadow: 0 18px 30px -18px rgba(0, 45, 39, .75);
  }
  body.aa .aa-header .aa-nav a { color: var(--mc-creme); border-radius: 12px; }
  body.aa .aa-header .aa-nav a:hover, body.aa .aa-header .aa-nav a.is-actif { background: rgba(247, 241, 228, .16); }
  body.aa .aa-header .aa-nav__cta a { background: var(--mc-creme); color: var(--mc-pin-d) !important; font-weight: 800; }
}

/* --- boutons : pilule à lueur ---------------------------------------- */
body.aa .aa-btn { border-radius: 999px; font-family: var(--aa-police-titre); }
body.aa .aa-btn--primaire {
  background: linear-gradient(180deg, #00775f, var(--aa-accent) 48%, var(--mc-pin) 100%);
  color: #fdfaf4; border-color: transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 10px 22px -12px rgba(0, 78, 68, .95);
}
body.aa .aa-btn--secondaire { background: var(--mc-lin); color: var(--mc-pin); border-color: var(--aa-accent); }
body.aa .aa-btn--secondaire:hover { background: #fff; }

/* --- hero : sable chaud, arche de lumière, vague en bas -------------- */
body.aa .aa-hero__in {
  background:
    radial-gradient(170px 170px at 93% 6%, rgba(58, 168, 150, .22), transparent 72%),
    radial-gradient(240px 160px at 4% 100%, rgba(0, 105, 92, .08), transparent 70%),
    linear-gradient(158deg, #fffdf8 0%, var(--mc-sable) 58%, #eee1cb 100%);
  border: 1px solid var(--mc-coquille); border-radius: 26px;
  box-shadow: var(--aa-ombre); padding-bottom: 2.4rem;
}
body.aa .aa-hero__chiffres {
  display: inline-block; color: var(--mc-pin); background: rgba(0, 88, 77, .09);
  border-left: 3px solid var(--aa-accent); border-radius: 0 12px 12px 0; padding: .35rem .85rem;
}
body.aa .aa-hero__form {
  background: var(--mc-lin); border: 1px solid var(--mc-coquille); border-top: 4px solid var(--aa-accent);
  border-radius: 6px 6px 22px 22px; box-shadow: 0 22px 40px -26px rgba(0, 59, 51, .7);
}
body.aa .aa-hero__form-h { color: var(--mc-pin-d); background: var(--mc-vague) left bottom / 110px 9px repeat-x; padding-bottom: .55rem; }

/* --- titres de section : cartouche + vague en pied ------------------- */
body.aa .aa-main .aa-h2 { padding-left: .7rem; border-left: 4px solid var(--aa-accent); border-radius: 2px; }
body.aa .aa-main .aa-bloc {
  padding-bottom: 1.4rem;
  background: var(--mc-vague) left bottom / 180px 9px repeat-x;
}
/* une vague par respiration, pas une par colonne : les blocs jumelés n'en portent pas */
body.aa .aa-duo .aa-bloc, body.aa .aa-bloc-regions .aa-bloc,
body.aa .aa-main .aa-bloc--deposer { background: none; padding-bottom: 0; }
/* CTA de dépôt : carte de rencontre centrée, à hauteur naturelle et avec de l'air */
body.aa .aa-main .aa-bloc--deposer {
  max-width: 480px; margin-inline: auto; text-align: center;
  background: linear-gradient(168deg, #fffdf8, var(--mc-sable));
  border: 1px solid var(--mc-coquille); border-radius: 26px 26px 26px 6px;
  box-shadow: var(--aa-ombre); padding: 1.8rem 1.5rem;
}
body.aa .aa-main .aa-bloc--deposer .aa-btn {
  min-width: min(100%, 290px);
  background: linear-gradient(180deg, #00775f, var(--aa-accent) 48%, var(--mc-pin) 100%);
  color: #fdfaf4; border-color: transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 10px 22px -12px rgba(0, 78, 68, .95);
}

/* --- lignes d'annonce : lin, bord gauche pin, vignette en ARCHE ------ */
body.aa .aa-liste { gap: .7rem; }
body.aa .aa-ligne {
  background: var(--mc-lin); border: 1px solid var(--mc-coquille); border-left: 4px solid var(--aa-accent);
  border-radius: 5px 20px 20px 5px; padding: .7rem;
  box-shadow: 0 2px 4px -2px rgba(0, 88, 77, .14), 0 16px 30px -26px rgba(0, 59, 51, .8);
}
body.aa .aa-ligne:hover {
  background: #fffdf8; border-left-color: var(--mc-pin-d);
  box-shadow: 0 4px 8px -3px rgba(0, 88, 77, .2), 0 22px 36px -24px rgba(0, 59, 51, .85);
}
body.aa .aa-ligne__img {
  border-radius: 52px 52px 12px 12px; background: linear-gradient(180deg, #e3efe9, var(--mc-coquille));
  box-shadow: inset 0 0 0 1px rgba(0, 88, 77, .14);
}
body.aa .aa-ligne__cat {
  background: var(--mc-pin); color: var(--mc-creme); border-radius: 3px 10px 10px 3px;
  padding: .2rem .6rem; box-shadow: none; font-size: .66rem; letter-spacing: .08em;
}
body.aa .aa-ligne__new { background: var(--mc-ocean); color: #fff; border-radius: 999px; }
body.aa .aa-ligne__date { color: var(--aa-muet); }
body.aa .aa-ligne__titre a { color: var(--aa-texte); }
body.aa .aa-ligne__titre a:hover { color: var(--mc-pin); }
body.aa .aa-ligne__nb { background: rgba(0, 59, 51, .78); }
body.aa .aa-liste--similaires .aa-ligne { border-left-color: var(--mc-ocean-l); }

/* --- plaques : villes, régions, catégories, sidebar ------------------ */
body.aa .aa-liens li, body.aa .aa-side__liste li {
  background: #fffdf8; border: 1px solid var(--mc-coquille); border-left: 3px solid var(--aa-accent);
  border-radius: 3px 12px 12px 3px; padding: .35rem .8rem; box-shadow: 0 1px 2px rgba(0, 88, 77, .08);
}
body.aa .aa-liens li a, body.aa .aa-side__liste li a { color: var(--mc-pin); font-weight: 600; }
body.aa .aa-liens__nb, body.aa .aa-side__nb { color: var(--aa-muet); }
body.aa .aa-side {
  background: var(--mc-lin); border: 1px solid var(--mc-coquille); border-radius: 22px 22px 22px 6px;
  box-shadow: var(--aa-ombre);
}
body.aa .aa-side__h { color: var(--mc-pin-d); text-transform: uppercase; letter-spacing: .09em; font-weight: 800; font-size: .78rem; }
body.aa .aa-side__liste li.is-actif { background: var(--mc-pin); border-color: var(--mc-pin-d); }
body.aa .aa-side__liste li.is-actif a, body.aa .aa-side__liste li.is-actif .aa-side__nb { color: var(--mc-creme); }

/* --- filtres, champs, pagination ------------------------------------- */
body.aa .aa-filtres {
  background: var(--mc-lin); border: 1px solid var(--mc-coquille); border-top: 3px solid var(--mc-ocean-l);
  border-radius: 6px 6px 22px 22px; box-shadow: var(--aa-ombre);
}
body.aa .aa-filtres__champ { color: var(--mc-pin); font-weight: 700; }
body.aa select, body.aa input[type="text"], body.aa input[type="email"],
body.aa input[type="tel"], body.aa input[type="number"] {
  border-radius: 12px; border: 1px solid var(--mc-coquille); background: #fffdf8; padding-inline: .85rem;
}
body.aa textarea { border-radius: 14px; border: 1px solid var(--mc-coquille); background: #fffdf8; }
body.aa .aa-pagination a, body.aa .aa-pagination span {
  background: #fffdf8; border: 1px solid var(--mc-coquille); border-radius: 12px; color: var(--mc-pin); box-shadow: none;
}
body.aa .aa-pagination .is-actif { background: var(--aa-accent); color: #fdfaf4; border-color: var(--mc-pin); }
body.aa .aa-crumbs ol { color: var(--aa-muet); }
body.aa .aa-crumbs a { color: var(--mc-pin); }
body.aa .aa-vide { background: #fffdf8; border: 1px dashed var(--aa-accent); border-radius: 18px; color: var(--aa-muet); }
body.aa .aa-compte, body.aa .aa-intro { color: var(--aa-muet); }

/* --- fiche annonce : photo en arche, CTA en carte, cartouches -------- */
body.aa .aa-fiche__cat { color: var(--mc-pin); }
body.aa .aa-fiche__titre { color: var(--mc-pin-d); }
body.aa .aa-fiche__sous { color: var(--aa-muet); }
body.aa .aa-fiche__cta--haut {
  background: linear-gradient(170deg, #fffdf8, var(--mc-sable));
  border: 1px solid var(--mc-coquille); border-left: 4px solid var(--aa-accent);
  border-radius: 6px 22px 22px 6px; box-shadow: 0 20px 36px -26px rgba(0, 59, 51, .8);
}
body.aa .aa-fiche__photo {
  border-radius: 130px 130px 20px 20px; background: linear-gradient(180deg, #e3efe9, var(--mc-coquille));
  box-shadow: 0 22px 40px -26px rgba(0, 59, 51, .75);
}
body.aa .aa-fiche__photo--vide { border: 1px dashed var(--aa-accent); border-radius: 26px; }
body.aa .aa-fiche__miniatures img { border-radius: 26px 26px 8px 8px; border-color: var(--mc-coquille); }
body.aa .aa-fiche__miniatures img:hover { border-color: var(--aa-accent); }
/* l'arche rognait le badge en haut à droite (« No… ») : il descend sous la courbe */
body.aa .aa-fiche__new { background: var(--mc-ocean); color: #fff; }
body.aa .aa-fiche__photo .aa-fiche__new {
  top: auto; bottom: .7rem; right: .7rem; border-radius: 3px 11px 11px 3px;
  box-shadow: 0 6px 14px -8px rgba(0, 45, 39, .9);
}
body.aa .aa-fiche__infos {
  background: var(--mc-lin); border: 1px solid var(--mc-coquille); border-radius: 18px 18px 18px 6px;
}
body.aa .aa-fiche__infos dt { color: var(--mc-pin); font-weight: 600; }
body.aa .aa-fiche__plage {
  background: var(--mc-pin); color: var(--mc-creme); border-radius: 3px 14px 14px 3px; font-weight: 700;
}
body.aa .aa-fiche__phy {
  background: #fffdf8; border: 1px solid var(--mc-coquille); border-left: 3px solid var(--mc-ocean-l);
  border-radius: 3px 14px 14px 3px; padding: .5rem .8rem;
}
body.aa .aa-fiche__physique dt { color: var(--aa-muet); letter-spacing: .03em; }
body.aa .aa-fiche__physique dd { color: var(--aa-texte); }
body.aa .aa-chips li, body.aa .aa-chip { background: #fffdf8; border: 1px solid var(--mc-coquille); }
body.aa .aa-chip:has(input:checked) { border-color: var(--aa-accent); background: rgba(0, 105, 92, .1); color: var(--mc-pin-d); }
body.aa .aa-repondre {
  background: var(--mc-lin); border: 1px solid var(--mc-coquille); border-radius: 22px 22px 22px 6px;
  box-shadow: var(--aa-ombre);
}
body.aa .aa-repondre__intro { color: var(--aa-muet); }
body.aa .aa-fiche__signaler, body.aa .aa-retour { color: var(--aa-muet); }
/* barre basse : le libellé long tenait sur 3 lignes et se coupait en plein mot */
body.aa .aa-fiche__barre {
  background: color-mix(in srgb, var(--mc-lin) 95%, transparent);
  border-top: 2px solid var(--aa-accent); box-shadow: 0 -12px 26px -16px rgba(0, 59, 51, .6);
}
body.aa .aa-fiche__barre .aa-btn { font-size: .76rem; line-height: 1.12; padding: .3em .5em; -webkit-line-clamp: 3; }

/* --- dépôt : blocs à cartouche --------------------------------------- */
body.aa .aa-depot__bloc {
  background: var(--mc-lin); border: 1px solid var(--mc-coquille); border-left: 4px solid var(--aa-accent);
  border-radius: 6px 22px 22px 6px; box-shadow: var(--aa-ombre);
}
body.aa .aa-depot__bloc legend {
  background: var(--mc-pin); color: var(--mc-creme); border-radius: 3px 12px 12px 3px;
  padding: .28rem .85rem; font-size: .95rem; font-weight: 800;
}
body.aa .aa-depot__apercu img { border-radius: 22px 22px 6px 6px; }
body.aa .aa-form__lbl { color: var(--mc-pin-d); }
body.aa .aa-form__aide { color: var(--aa-muet); }
body.aa .aa-regles { color: var(--aa-muet); }

/* --- pop-ups -------------------------------------------------------- */
body.aa .aa-gate__box, body.aa .aa-popup__box { background: var(--mc-lin); border-radius: 26px; }
body.aa .aa-gate__mark {
  background: radial-gradient(circle at 32% 26%, var(--mc-ocean-l), var(--aa-accent) 50%, var(--mc-pin-d));
  color: var(--mc-creme); box-shadow: inset 0 0 0 3px rgba(247, 241, 228, .85), 0 12px 26px -12px rgba(0, 59, 51, .85);
}
body.aa .aa-popup__pour { color: var(--mc-pin); }
body.aa .aa-popup__texte { color: var(--aa-muet); }
body.aa .aa-popup__fermer { color: var(--mc-pin); }

/* --- pied de page : pin profond, vague de sable au-dessus ------------ */
body.aa .aa-footer {
  background-color: var(--mc-pin); color: var(--aa-pied-txt);
  background-image: var(--mc-vague-pied); background-repeat: repeat-x; background-position: left top;
  background-size: 160px 20px; border-radius: 0; padding-block: 3.2rem 1.2rem; margin-top: 3rem;
}
body.aa .aa-footer__brand { color: #fdfaf4; font-size: 1.15rem; }
body.aa .aa-footer__h { color: #9fd3c6; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; }
body.aa .aa-footer__membres { color: #d5e5df; }
body.aa .aa-footer__fictif { color: #b3ccc4; opacity: 1; }
body.aa .aa-footer ul li a {
  display: inline-block; background: rgba(247, 241, 228, .1); color: #f2ece0; box-shadow: none;
  border-left: 2px solid rgba(58, 168, 150, .85); border-radius: 2px 11px 11px 2px; padding: .3rem .75rem; font-size: .85rem;
}
body.aa .aa-footer ul li a:hover { background: rgba(247, 241, 228, .2); color: #fff; text-decoration: none; }
body.aa .aa-footer__bas { color: #c3d8d0; opacity: 1; border-top-color: rgba(247, 241, 228, .18); }
body.aa .aa-footer__haut { color: #c3d8d0; }

@media (prefers-reduced-motion: reduce) {
  body.aa .aa-ligne, body.aa .aa-btn { transition: none !important; }
}
