/* rencontre-adultere.be — registre « ardoise & or discret, serrure et loup »
   Aventure discrète, élégance feutrée. Palette partie du favicon #263238 (ardoise) :
   accent ardoise #2e434d / encre #1b2328, neutre chaud lin-ivoire #f3ece0 / #fbf8f2,
   filet or pâle #b8955a (jamais sous du texte courant). Formes signature : serrure (logo,
   puces, tampon de l'accueil), loup vénitien (ornement du bandeau d'accueil et du CTA),
   billet cacheté à coin biseauté (bandeaux, cartes CTA, vignettes). Ombres douces ardoise. */

html:not(#_) body.aa {
  --aa-teinte: #2e434d; --aa-accent: #263238;
  --aa-primaire: #2e434d; --aa-primaire-fonce: #1b2328; --aa-primaire-txt: #fbf8f2;
  --or: #b8955a; --or-pale: #e7d7b8; --or-fonce: #7a5c2a;
  --aa-page: #ebe3d5; --aa-fond: #fbf8f2; --aa-surface: #fffdf8; --aa-surface-2: #f3ece0;
  --aa-texte: #1f2629; --aa-muet: #555b5c; --aa-bord: #ddd1bd; --aa-lien: #2e434d;
  --aa-tete: #1f2c33; --aa-tete-txt: #f6efe2; --aa-barre: #2a3a42;
  --aa-bande: #2e434d; --aa-bande-txt: #fbf8f2; --aa-bande-bord: #b8955a;
  --aa-secondaire: #2e434d; --aa-pied: #1b2328; --aa-pied-txt: #d9d2c4;
  --aa-rayon: 10px; --aa-rayon-s: 6px;
  --aa-ombre: 0 2px 4px rgba(38, 50, 56, .05), 0 18px 40px -24px rgba(38, 50, 56, .45);
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: Georgia, "Book Antiqua", "Palatino Linotype", serif;
  --serrure: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28'%3E%3Cpath fill='%23b8955a' d='M10 1a7 7 0 0 0-3.2 13.2L4 27h12l-2.8-12.8A7 7 0 0 0 10 1z'/%3E%3C/svg%3E");
  --loup: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 50'%3E%3Cpath fill='none' stroke='%23b8955a' stroke-width='2' d='M4 14c18-10 40-6 56 6 16-12 38-16 56-6-2 18-14 32-30 32-12 0-20-8-26-16-6 8-14 16-26 16C18 46 6 32 4 14z'/%3E%3Cpath fill='%23b8955a' fill-opacity='.35' d='M24 22c6-4 16-4 22 2-6 6-16 6-22-2zm50 2c6-6 16-6 22-2-6 8-16 8-22 2z'/%3E%3C/svg%3E");
  background: var(--aa-page) radial-gradient(120% 60% at 50% -10%, #f6f0e5 0, transparent 60%);
}
html:not(#_) body.aa h1, html:not(#_) body.aa .aa-h1, html:not(#_) body.aa .aa-fiche__titre { font-family: var(--aa-police-titre); font-weight: 700; letter-spacing: 0; color: var(--aa-texte); }

/* --- en-tête : ardoise, filet or, logo serrure ---------------------------------- */
html:not(#_) body.aa .aa-header { background: linear-gradient(180deg, #24333b, #1b2328); box-shadow: 0 1px 0 var(--or), 0 10px 26px -18px rgba(27, 35, 40, .9); }
html:not(#_) body.aa .aa-logo__mark { width: 34px; height: 34px; border-radius: 50% 50% 8px 8px; background: #2e434d var(--serrure) center 55% / 12px 17px no-repeat; box-shadow: inset 0 0 0 1.5px var(--or); }
html:not(#_) body.aa .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; font-style: italic; letter-spacing: .01em; color: #f6efe2; }
html:not(#_) body.aa .aa-logo__sous { color: var(--or-pale); opacity: 1; letter-spacing: .04em; }
html:not(#_) body.aa .aa-header__cta { background: var(--or-pale); color: #1b2328; border-color: var(--or); border-radius: 999px 6px 999px 999px; box-shadow: 0 6px 16px -10px rgba(184, 149, 90, .9); }
html:not(#_) body.aa .aa-nav { background: transparent; border-top: 1px solid rgba(231, 215, 184, .18); }
html:not(#_) body.aa .aa-nav a { color: #eae2d2; font-weight: 600; letter-spacing: .02em; border-bottom-width: 2px; }
html:not(#_) body.aa .aa-nav a:hover { background: rgba(231, 215, 184, .08); }
html:not(#_) body.aa .aa-nav a.is-actif { background: var(--aa-fond); color: #1f2629; border-bottom-color: var(--or); border-radius: 8px 8px 0 0; }
html:not(#_) body.aa .aa-burger { border-color: rgba(231, 215, 184, .45); color: #f6efe2; border-radius: 10px; }
@media (max-width: 859px) {
  html:not(#_) body.aa .aa-nav { background: #24333b; }
  html:not(#_) body.aa .aa-nav a.is-actif { border-radius: 8px; border-left-color: var(--or); }
  html:not(#_) body.aa .aa-nav__cta a { background: var(--or-pale); color: #1b2328; }
}

/* --- conteneur : billet ivoire, coin biseauté ------------------------------------- */
html:not(#_) body.aa .aa-main > .aa-wrap { background: var(--aa-fond); border-color: var(--aa-bord); border-radius: 18px 18px 18px 4px; box-shadow: var(--aa-ombre); }

/* bandeaux : billet cacheté (coin biseauté, puce serrure) */
html:not(#_) body.aa .aa-h2, html:not(#_) body.aa .aa-bande, html:not(#_) body.aa .aa-depot__bloc legend {
  background: linear-gradient(90deg, #2e434d, #3a525d); color: #fbf8f2; border-left: 0; text-transform: none; letter-spacing: .01em;
  font-family: var(--aa-police-titre); font-weight: 700; font-size: 1.02rem; padding: .5rem .9rem .5rem 2.1rem; position: relative;
  border-radius: 4px 14px 4px 4px; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
  box-shadow: inset 0 -2px 0 rgba(184, 149, 90, .55);
}
html:not(#_) body.aa .aa-h2::before, html:not(#_) body.aa .aa-bande::before, html:not(#_) body.aa .aa-depot__bloc legend::after {
  content: ""; position: absolute; left: .75rem; top: 50%; width: 10px; height: 14px; transform: translateY(-50%); background: var(--serrure) center / contain no-repeat;
}
html:not(#_) body.aa .aa-h2 .aa-ico, html:not(#_) body.aa .aa-bande .aa-ico { display: none; }
html:not(#_) body.aa .aa-depot__bloc legend { padding-left: .9rem; }
html:not(#_) body.aa .aa-depot__bloc legend::after { left: auto; right: 1.2rem; }
html:not(#_) body.aa .aa-depot__bloc legend::before { background: var(--or-pale); color: #1b2328; border-radius: 50% 50% 4px 4px; }
html:not(#_) body.aa .aa-bande__droite { color: #efe6d4; opacity: 1; font-family: var(--aa-police); }

/* --- accueil : tampon « loup » --------------------------------------------------- */
html:not(#_) body.aa .aa-hero { position: relative; overflow: hidden; background: linear-gradient(135deg, #f7f1e6, #fffdf8 65%); border: 1px solid var(--aa-bord); border-left: 0; border-radius: 22px 22px 22px 4px; padding: 1.3rem 1.4rem 1.2rem; box-shadow: 0 16px 34px -26px rgba(38, 50, 56, .6); }
html:not(#_) body.aa .aa-hero::after { content: ""; position: absolute; right: -12px; top: 10px; width: 150px; height: 64px; background: var(--loup) center / contain no-repeat; opacity: .55; transform: rotate(-8deg); pointer-events: none; }
html:not(#_) body.aa .aa-hero .aa-h1 { padding-right: 90px; }
@media (max-width: 639px) { html:not(#_) body.aa .aa-hero .aa-h1 { padding-right: 0; } html:not(#_) body.aa .aa-hero::after { width: 96px; height: 40px; top: 4px; right: -8px; opacity: .4; } html:not(#_) body.aa .aa-hero { padding-top: 2.2rem; } }
html:not(#_) body.aa .aa-hero .aa-intro { color: #4a5153; }
html:not(#_) body.aa .aa-hero__chiffres span { background: #2e434d; color: #fbf8f2; border: 1px solid var(--or); border-radius: 999px 999px 999px 4px; }
html:not(#_) body.aa .aa-hero__chiffres span::before { background: var(--or); }

/* --- liste : lignes-billets, vignette en médaillon de serrure ------------------------ */
html:not(#_) body.aa .aa-liste { border-top: 0; display: grid; gap: .55rem; }
html:not(#_) body.aa .aa-ligne { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-radius: 14px 14px 14px 3px; padding: .8rem; box-shadow: 0 8px 18px -16px rgba(38, 50, 56, .55); transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
html:not(#_) body.aa .aa-ligne:hover { background: #fffaf1; border-color: var(--or); transform: translateY(-1px); box-shadow: 0 14px 26px -18px rgba(38, 50, 56, .6); }
html:not(#_) body.aa .aa-ligne__img { border: 0; padding: 0; border-radius: 50px 50px 10px 10px; box-shadow: 0 0 0 2px var(--aa-surface), 0 0 0 3px var(--or-pale), 0 8px 16px -10px rgba(38, 50, 56, .7); }
html:not(#_) body.aa .aa-ligne__img img { border-radius: inherit; }
html:not(#_) body.aa .aa-ligne__cat { color: var(--or-fonce); letter-spacing: .06em; }
html:not(#_) body.aa .aa-ligne__new, html:not(#_) body.aa .aa-fiche__new { background: #2e434d; color: #f6efe2; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--or); }
html:not(#_) body.aa .aa-ligne__titre a { color: #24363f; font-family: var(--aa-police-titre); font-weight: 700; }
html:not(#_) body.aa .aa-ligne__meta, html:not(#_) body.aa .aa-ligne__date { color: var(--aa-muet); }
html:not(#_) body.aa .aa-ligne__extrait { color: #333a3c; opacity: 1; }
html:not(#_) body.aa .aa-ligne__lire { border-radius: 999px; border-color: #2e434d; color: #2e434d; background: transparent; }
html:not(#_) body.aa .aa-ligne:hover .aa-ligne__lire { background: #2e434d; color: #fbf8f2; }

/* boutons */
html:not(#_) body.aa .aa-btn { border-radius: 999px; }
html:not(#_) body.aa .aa-btn--primaire { background: linear-gradient(180deg, #34505c, #263841); color: #fbf8f2; border-color: #1b2328; box-shadow: inset 0 -2px 0 rgba(184, 149, 90, .6), 0 10px 22px -14px rgba(38, 50, 56, .9); }
html:not(#_) body.aa .aa-btn--secondaire { background: var(--aa-surface); color: #2e434d; border-color: #2e434d; }
html:not(#_) body.aa .aa-pagination a, html:not(#_) body.aa .aa-pagination span { border-radius: 10px 10px 10px 3px; background: var(--aa-surface); }
html:not(#_) body.aa .aa-pagination .is-actif { background: #2e434d; color: #fbf8f2; border-color: var(--or); }

/* colonne latérale : fiches cachetées */
html:not(#_) body.aa .aa-side { background: var(--aa-surface-2); border-color: var(--aa-bord); border-radius: 16px 16px 16px 4px; box-shadow: 0 10px 22px -20px rgba(38, 50, 56, .6); }
html:not(#_) body.aa .aa-side__h { background: #2e434d; color: #fbf8f2; font-family: var(--aa-police-titre); text-transform: none; letter-spacing: .01em; font-size: .98rem; border-radius: 16px 16px 0 0; border-bottom: 2px solid var(--or); }
html:not(#_) body.aa .aa-side__liste li::before { width: 6px; height: 9px; border-radius: 3px 3px 1px 1px; background: var(--or); }
html:not(#_) body.aa .aa-side__nb, html:not(#_) body.aa .aa-liens__nb { color: #4a5153; }
html:not(#_) body.aa .aa-liens li { background: var(--aa-surface); border-radius: 10px 10px 10px 3px; }
html:not(#_) body.aa .aa-liens li::before { background: var(--or); }
html:not(#_) body.aa .aa-chips li, html:not(#_) body.aa .aa-chip { background: var(--aa-surface); border-color: var(--aa-bord); color: var(--aa-texte); }
html:not(#_) body.aa .aa-atouts li { border-left-color: var(--or); border-radius: 12px 12px 12px 3px; }
html:not(#_) body.aa .aa-atouts .aa-atouts__ico { background: #2e434d; color: var(--or-pale); border-radius: 50% 50% 6px 6px; }

/* CTA de dépôt : carte centrée, loup en filigrane */
html:not(#_) body.aa .aa-deposer-cta { position: relative; overflow: hidden; max-width: 560px; margin-inline: auto; flex-direction: column; text-align: center; justify-content: center; background: linear-gradient(160deg, #fffaf1, #f3ece0); border: 1px solid var(--or-pale); border-radius: 22px 22px 22px 4px; padding: 1.6rem 1.4rem; box-shadow: 0 18px 36px -26px rgba(38, 50, 56, .6); }
html:not(#_) body.aa .aa-deposer-cta::before { content: ""; display: block; width: 96px; height: 40px; margin: 0 auto .2rem; background: var(--loup) center / contain no-repeat; }
html:not(#_) body.aa .aa-deposer-cta__bloc, html:not(#_) body.aa .aa-deposer-cta__txt { flex: none; }
html:not(#_) body.aa .aa-deposer-cta__h { font-family: var(--aa-police-titre); font-size: 1.15rem; }

/* --- fiche : photo en serrure arrondie, tableau lin, CTA feutrés ------------------- */
html:not(#_) body.aa .aa-fiche__titre { border-bottom: 0; padding-bottom: .6rem; background: linear-gradient(90deg, var(--or) 0 64px, var(--aa-bord) 64px) bottom / 100% 2px no-repeat; }
html:not(#_) body.aa .aa-fiche__cat a { color: var(--or-fonce); }
html:not(#_) body.aa .aa-fiche__photo { border: 0; border-radius: 120px 120px 14px 14px; padding: 0; box-shadow: 0 0 0 4px var(--aa-surface), 0 0 0 5px var(--or-pale), 0 22px 40px -24px rgba(38, 50, 56, .8); }
html:not(#_) body.aa .aa-fiche__img { transition: transform .5s ease; }
html:not(#_) body.aa .aa-fiche__photo:hover .aa-fiche__img { transform: scale(1.025); }
html:not(#_) body.aa .aa-fiche__miniatures img { border-radius: 30px 30px 6px 6px; border-color: var(--or-pale); }
html:not(#_) body.aa .aa-fiche__infos { border-color: var(--aa-bord); border-radius: 14px 14px 14px 3px; background: var(--aa-surface); }
html:not(#_) body.aa .aa-fiche__infos > div:nth-child(odd) { background: var(--aa-surface-2); }
html:not(#_) body.aa .aa-fiche__infos dt { color: #4a5153; }
html:not(#_) body.aa .aa-fiche__infos dd { color: var(--aa-texte); border-left-color: var(--aa-bord); }
html:not(#_) body.aa .aa-fiche__cta--haut { background: #fffaf1; border: 1px solid var(--or-pale); border-radius: 16px 16px 16px 4px; box-shadow: 0 12px 26px -20px rgba(38, 50, 56, .6); }
html:not(#_) body.aa .aa-fiche__cta--bas { position: relative; background: linear-gradient(160deg, #fffaf1, #f3ece0); border: 1px solid var(--or-pale); border-radius: 20px 20px 20px 4px; max-width: 520px; margin-inline: auto; padding: 1.4rem 1.2rem 1.1rem; }
html:not(#_) body.aa .aa-fiche__cta--bas::before { content: ""; display: block; width: 84px; height: 34px; margin: 0 auto .5rem; background: var(--loup) center / contain no-repeat; }
html:not(#_) body.aa .aa-fiche__plage { background: var(--aa-surface-2); color: var(--aa-texte); border: 1px solid var(--or-pale); border-radius: 999px; }
html:not(#_) body.aa .aa-fiche__phy { background: var(--aa-surface); border-color: var(--aa-bord); border-radius: 12px 12px 12px 3px; }
html:not(#_) body.aa .aa-fiche__physique dt { color: #555b5c; }
html:not(#_) body.aa .aa-repondre { background: var(--aa-surface-2); border-color: var(--aa-bord); border-radius: 18px 18px 18px 4px; }
@media (max-width: 759px) {
  html:not(#_) body.aa .aa-fiche__photo { max-height: min(42vh, 360px, var(--aa-ph, 360px)); border-radius: 90px 90px 12px 12px; }
}

/* barres basses mobiles : lin translucide, filet or (position intouchée) */
html:not(#_) body.aa .aa-mobar, html:not(#_) body.aa .aa-fiche__barre { background: rgba(251, 248, 242, .95); border-top: 1px solid var(--or-pale); }

/* formulaires */
html:not(#_) body.aa select, html:not(#_) body.aa input[type="text"], html:not(#_) body.aa input[type="email"], html:not(#_) body.aa input[type="tel"], html:not(#_) body.aa input[type="number"], html:not(#_) body.aa textarea { background-color: #fffdf8; border-color: #cfc2ab; border-radius: 10px; color: var(--aa-texte); }
html:not(#_) body.aa .aa-depot__bloc { background: var(--aa-surface); border-color: var(--aa-bord); border-radius: 16px 16px 16px 4px; box-shadow: 0 10px 22px -20px rgba(38, 50, 56, .6); }
html:not(#_) body.aa .aa-filtres { background: var(--aa-surface-2); border-color: var(--aa-bord); border-radius: 14px 14px 14px 3px; }
html:not(#_) body.aa .aa-filtres__champ, html:not(#_) body.aa .aa-form__aide, html:not(#_) body.aa .aa-regles { color: #4a5153; }

/* --- pied : ardoise profonde, loup doré -------------------------------------------- */
html:not(#_) body.aa .aa-footer { background: #1b2328; border-top: 2px solid var(--or); color: #d9d2c4; position: relative; }
html:not(#_) body.aa .aa-footer::before { content: ""; display: block; width: 110px; height: 44px; margin: -22px auto 0; background: #1b2328 var(--loup) center / 86px 36px no-repeat; border: 2px solid var(--or); border-radius: 22px; }
html:not(#_) body.aa .aa-footer__brand { font-style: italic; color: #f6efe2; }
html:not(#_) body.aa .aa-footer__h { color: var(--or-pale); font-family: var(--aa-police); border-bottom-color: rgba(184, 149, 90, .35); }
html:not(#_) body.aa .aa-footer a:hover { color: var(--or-pale); }
html:not(#_) body.aa .aa-footer__fictif { opacity: 1; color: #b9b2a5; }
html:not(#_) body.aa .aa-footer__bas { background: #141a1e; }
html:not(#_) body.aa .aa-footer__bas-in { opacity: 1; color: #c9c1b2; }

/* pop-up et porte : ivoire, filet or */
html:not(#_) body.aa .aa-gate__box, html:not(#_) body.aa .aa-popup__box { background: #fbf8f2; color: #1f2629; border-top: 0; border-radius: 22px 22px 22px 4px; box-shadow: 0 0 0 1px var(--or-pale), 0 30px 60px -20px rgba(0, 0, 0, .6); }
html:not(#_) body.aa .aa-gate__mark { background: #2e434d; color: #f6efe2; border-radius: 50% 50% 14px 14px; box-shadow: inset 0 0 0 2px var(--or); }

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