/* annonce-sex-luxembourg.be — registre « vert sapin et pierre » (Ardenne belge, province de Luxembourg)
   Palette : accent sapin #2e7d32 (favicon) · sapin profond #1d4a2a / nuit #13301c · neutre chaud pierre
   (grès #d8d0c2, ivoire #fbf8f2, lin #f2ece1) · encre #1f2a22.
   Formes signature : ligne de crête de sapins (pied), vague sous l'en-tête, médaillon-sapin (logo,
   icônes de bandeau), vignettes et photo en ARCHE, cœur au trait dans l'intro, boutons en pilule,
   puces en petits sapins. Titres en Palatino, corps système. Gabarit annoncesastro-v2 (skin 2 / compo 3). */

body.aa {
  --aa-teinte: #2e7d32;
  --aa-primaire: #2e7d32;
  --aa-primaire-fonce: #1f5a23;
  --aa-primaire-txt: #fff;
  --aa-page: #d8d0c2;
  --aa-fond: #fbf8f2;
  --aa-surface: #fffdf8;
  --aa-surface-2: #f2ece1;
  --aa-texte: #1f2a22;
  --aa-muet: #555b51;
  --aa-bord: #ddd4c4;
  --aa-lien: #256b2a;
  --aa-tete: #1d4a2a;
  --aa-tete-txt: #fbf8f2;
  --aa-barre: #163b21;
  --aa-bande: #ebe4d6;
  --aa-bande-txt: #1d4a2a;
  --aa-bande-bord: #2e7d32;
  --aa-secondaire: #1d4a2a;
  --aa-secondaire-txt: #fff;
  --aa-pied: #13301c;
  --aa-pied-txt: #d6e0d0;
  --aa-ok: #2e7d32;
  --aa-rayon: 18px;
  --aa-rayon-s: 10px;
  --aa-ombre: 0 2px 4px rgba(29, 74, 42, .06), 0 22px 44px -26px rgba(29, 74, 42, .55);
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  background-color: var(--aa-page);
  background-image:
    radial-gradient(rgba(255, 255, 255, .38) 1px, transparent 1.6px),
    radial-gradient(rgba(70, 58, 44, .09) 1px, transparent 1.6px);
  background-size: 23px 23px, 37px 37px;
  background-position: 0 0, 11px 17px;
}

/* ---------- en-tête : forêt, vague, médaillon-sapin ---------- */
body.aa .aa-header { background: linear-gradient(180deg, #23562f, var(--aa-tete) 70%); box-shadow: none; }
body.aa .aa-nav { background: transparent; border-top: 1px solid rgba(251, 248, 242, .14); }
body.aa .aa-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -11px; height: 12px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='12' viewBox='0 0 120 12'%3E%3Cpath fill='%231d4a2a' d='M0 0H120V4Q90 12 60 4T0 4Z'/%3E%3C/svg%3E") repeat-x 0 0 / 120px 12px;
}
@media (max-width: 859px) {
  body.aa .aa-header::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='12' viewBox='0 0 120 12'%3E%3Cpath fill='%231d4a2a' d='M0 0H120V4Q90 12 60 4T0 4Z'/%3E%3C/svg%3E"); }
  body.aa .aa-nav { background: #163b21; border-radius: 16px; }
}
body.aa .aa-logo__mark {
  width: 36px; height: 36px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(251, 248, 242, .35), 0 4px 10px -4px rgba(0, 0, 0, .5);
  background: #f4efe4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232e7d32' d='M12 2 17 9h-2.6l3.6 5h-2.8l3.8 5H5l3.8-5H6l3.6-5H7z'/%3E%3Crect x='11' y='19' width='2' height='3' rx='.5' fill='%236b5236'/%3E%3C/svg%3E") no-repeat center / 70%;
}
body.aa .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; letter-spacing: .005em; }
body.aa .aa-logo__sous { opacity: .85; }
body.aa .aa-nav a { border-bottom: 0; border-radius: 999px; margin: .35rem .1rem; padding: .45rem .95rem; }
body.aa .aa-nav a:hover { background: rgba(251, 248, 242, .12); }
body.aa .aa-nav a.is-actif { background: var(--aa-fond); color: var(--aa-tete); border-bottom-color: transparent; box-shadow: 0 4px 12px -6px rgba(0, 0, 0, .45); }
@media (max-width: 859px) {
  body.aa .aa-nav a { margin: .1rem 0; }
  body.aa .aa-nav a.is-actif { border-left: 0; }
}

/* ---------- conteneur ---------- */
body.aa .aa-main { padding-top: 1.7rem; }
body.aa .aa-main > .aa-wrap { border: 1px solid #e7dfd0; border-radius: 26px; box-shadow: var(--aa-ombre); }

/* ---------- boutons en pilule ---------- */
body.aa .aa-btn { border-radius: 999px; }
body.aa .aa-btn--primaire { background: linear-gradient(180deg, #34893a, #2a7230); border-color: #24652a; box-shadow: 0 8px 18px -10px rgba(46, 125, 50, .9), inset 0 1px 0 rgba(255, 255, 255, .18); }
body.aa .aa-btn--secondaire { background: var(--aa-surface); color: var(--aa-tete); border-color: #b9c9b3; }
body.aa .aa-btn--secondaire:hover { border-color: var(--aa-primaire); }

/* ---------- bandeaux = plaques de pierre à médaillon ---------- */
body.aa .aa-h2, body.aa .aa-side__h, body.aa .aa-bande, body.aa .aa-depot__bloc legend {
  background: linear-gradient(180deg, #efe9dc, #e6dece); color: var(--aa-bande-txt); border-left: 0;
  border-radius: 999px; box-shadow: inset 0 0 0 1px #ddd3c1, 0 3px 8px -6px rgba(60, 48, 30, .4);
  font-family: var(--aa-police-titre); text-transform: none; letter-spacing: .01em; font-size: 1.02rem;
  padding: .35rem 1rem .35rem .35rem;
}
body.aa .aa-h2 .aa-ico, body.aa .aa-side__h .aa-ico, body.aa .aa-bande .aa-ico {
  opacity: 1; width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: var(--aa-tete); color: #fbf8f2; flex: none;
}
body.aa .aa-bande { padding-right: 1rem; }
body.aa .aa-bande__droite { color: var(--aa-muet); opacity: 1; }
body.aa .aa-bloc__tete { flex-wrap: wrap; gap: .5rem 1rem; }
body.aa .aa-bloc__tete .aa-lien { color: var(--aa-lien); }
@media (max-width: 639px) {
  body.aa .aa-bloc__tete .aa-h2 { flex: 1 1 100%; }
  body.aa .aa-bloc__tete .aa-lien { margin-left: auto; }
}

body.aa .aa-h1 { text-transform: none; font-family: var(--aa-police-titre); font-weight: 700; color: var(--aa-tete); letter-spacing: 0; }

/* ---------- intro : carte ivoire, cœur au trait, arche ---------- */
body.aa .aa-hero {
  position: relative; overflow: hidden; border: 1px solid #e3dac9; border-radius: 26px 90px 26px 26px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232e7d32' stroke-width='1.3' d='M12 20.5s-7.3-4.5-9.2-9C1.4 8.1 3.5 4.6 7 4.6c2.2 0 3.7 1.3 5 3 1.3-1.7 2.8-3 5-3 3.5 0 5.6 3.5 4.2 6.9-1.9 4.5-9.2 9-9.2 9z'/%3E%3C/svg%3E") no-repeat right 1.1rem bottom 1rem / 74px,
    radial-gradient(120% 140% at 100% 0%, #e4eddf 0, rgba(228, 237, 223, 0) 55%),
    linear-gradient(160deg, #fffdf8, #f5efe4);
  box-shadow: 0 16px 30px -24px rgba(29, 74, 42, .6);
  padding: 1.3rem 5.4rem 1.3rem 1.4rem;
}
body.aa .aa-hero .aa-h1 { text-transform: none; font-family: var(--aa-police-titre); font-weight: 700; color: var(--aa-tete); font-size: clamp(1.35rem, 1rem + 1.3vw, 1.9rem); }
body.aa .aa-hero__chiffres span { background: var(--aa-tete); border-color: var(--aa-tete); color: #fbf8f2; }
body.aa .aa-hero__chiffres span::before { background: #9fd39a; }
@media (max-width: 639px) { body.aa .aa-hero { padding-right: 1.2rem; background-size: 54px, auto, auto; } }

/* ---------- liste : vignettes en arche ---------- */
body.aa .aa-liste { border-top: 0; }
body.aa .aa-ligne { border-bottom: 1px dashed #d8cdb9; border-radius: 16px; }
body.aa .aa-ligne:hover { background: #f1f5ec; }
body.aa .aa-ligne__img { border-radius: 60px 60px 12px 12px; border: 2px solid #fff; padding: 0; box-shadow: 0 0 0 1px #d8cdb9, 0 8px 16px -10px rgba(29, 74, 42, .55); background: #ece4d5; }
body.aa .aa-ligne__img img { border-radius: 58px 58px 10px 10px; }
body.aa .aa-ligne__titre { font-family: var(--aa-police-titre); }
body.aa .aa-ligne__titre a { color: var(--aa-lien); text-decoration: none; }
body.aa .aa-ligne__titre a:hover { text-decoration: underline; text-decoration-color: rgba(46, 125, 50, .45); }
body.aa .aa-ligne__cat { color: #6b5236; }
body.aa .aa-ligne__new { background: #e3eedf; color: #1d4a2a; border-radius: 999px; box-shadow: inset 0 0 0 1px #b8d3b1; }
body.aa .aa-ligne__nb { background: rgba(19, 48, 28, .82); }
body.aa .aa-ligne__lire { border-color: #b9c9b3; }

/* ---------- colonne latérale ---------- */
body.aa .aa-side { background: var(--aa-surface); border-color: #e5dccc; border-radius: 22px; box-shadow: 0 12px 26px -22px rgba(29, 74, 42, .6); }
body.aa .aa-side__h { margin: -.25rem -.35rem .8rem; border-radius: 18px; border-bottom: 0; font-size: .98rem; }
body.aa .aa-side__liste li::before { width: 8px; height: 9px; border-radius: 0; top: .72em; background: var(--aa-primaire); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
body.aa .aa-side__liste--inline li { background: var(--aa-surface-2); border-color: #e2d9c8; }
body.aa .aa-side__nb { background: var(--aa-surface-2); border-color: #e2d9c8; color: #4d5348; }
body.aa .aa-side--deposer { background: none; box-shadow: none; }
body.aa .aa-filtres { background: var(--aa-surface-2); border-color: #e2d9c8; border-radius: 20px; }
body.aa .aa-side .aa-filtres { background: none; border: 0; padding: 0; border-radius: 0; }

/* ---------- cases de catégories / villes ---------- */
body.aa .aa-liens li { background: var(--aa-surface); border-color: #e2d9c8; border-radius: 14px; padding-left: 1.6rem; transition: transform .15s ease, box-shadow .15s ease; }
body.aa .aa-liens li::before { left: .65rem; top: 50%; bottom: auto; width: 9px; height: 10px; border-radius: 0; transform: translateY(-55%); background: var(--aa-primaire); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
body.aa .aa-liens li:hover { transform: translateY(-1px); box-shadow: 0 8px 16px -12px rgba(29, 74, 42, .7); }
body.aa .aa-liens__nb { color: #4d5348; }

/* ---------- étapes / atouts ---------- */
body.aa .aa-etapes li { background: var(--aa-surface); border-color: #e2d9c8; border-radius: 20px; }
body.aa .aa-etapes li::before { background: var(--aa-tete); box-shadow: 0 0 0 4px #e3eedf; }
body.aa .aa-etapes h3, body.aa .aa-atouts h3 { font-family: var(--aa-police-titre); color: var(--aa-tete); }
body.aa .aa-atouts li { border-left: 0; border-radius: 20px; border-color: #e2d9c8; }

/* ---------- appel au dépôt : carte centrée ---------- */
body.aa .aa-deposer-cta { background: linear-gradient(160deg, #eef4ea, #fbf8f2); border: 1px solid #cfe0c9; border-radius: 24px; padding: 1.3rem 1.4rem; box-shadow: 0 14px 28px -24px rgba(29, 74, 42, .7); }
body.aa .aa-deposer-cta__h { font-family: var(--aa-police-titre); color: var(--aa-tete); font-size: 1.12rem; }

/* ---------- pagination ---------- */
body.aa .aa-pagination a, body.aa .aa-pagination span { border-radius: 999px; background: var(--aa-surface); }
body.aa .aa-pagination .is-actif { background: var(--aa-tete); border-color: var(--aa-tete); color: #fbf8f2; }

/* ---------- fiche : photo en arche, identité en carte, CTA en carte ---------- */
body.aa .aa-fiche__titre { font-family: var(--aa-police-titre); color: var(--aa-tete); border-bottom: 0; padding-bottom: .6rem;
  background: linear-gradient(90deg, var(--aa-primaire) 0 64px, #ddd3c1 64px) no-repeat left bottom / 100% 3px; }
body.aa .aa-fiche__cat a { color: #6b5236; }
body.aa .aa-fiche__new { background: #e3eedf; color: #1d4a2a; border-radius: 999px; }
body.aa .aa-fiche__photo { border-radius: 130px 130px 20px 20px; border: 3px solid #fff; box-shadow: 0 0 0 1px #d8cdb9, 0 18px 34px -20px rgba(29, 74, 42, .7); background: #ece4d5; }
body.aa .aa-fiche__miniatures img { border-radius: 30px 30px 8px 8px; border-color: #e2d9c8; }
body.aa .aa-fiche__infos { border-color: #e2d9c8; border-radius: 18px; background: var(--aa-surface); }
body.aa .aa-fiche__infos > div:nth-child(odd) { background: #f5f0e6; }
body.aa .aa-fiche__infos dt { color: #4d5348; }
body.aa .aa-fiche__infos dd { border-left-color: #e2d9c8; }
body.aa .aa-fiche__cta--haut { background: linear-gradient(160deg, #eef4ea, #fbf8f2); border: 1px solid #cfe0c9; border-radius: 22px; padding: 1rem; box-shadow: 0 14px 26px -22px rgba(29, 74, 42, .75); }
body.aa .aa-fiche__cta--bas { background: linear-gradient(160deg, #eef4ea, #fbf8f2); border: 1px solid #cfe0c9; border-radius: 24px; padding: 1.3rem 1.2rem; max-width: 560px; margin-inline: auto; }
body.aa .aa-fiche__plage { background: #e3eedf; color: #1d4a2a; border-radius: 999px; }
body.aa .aa-fiche__phy { background: var(--aa-surface); border-color: #e2d9c8; border-radius: 14px; }
body.aa .aa-fiche__physique dt { color: #4d5348; }
body.aa .aa-chips li, body.aa .aa-chip { border-color: #d6cdbc; }
body.aa .aa-chips--lecture li { background: #e3eedf; border-color: #c4dabd; color: #1d4a2a; }
body.aa .aa-repondre { background: var(--aa-surface); border-color: #e2d9c8; border-radius: 22px; }

/* ---------- dépôt ---------- */
body.aa .aa-depot__bloc { border-color: #e2d9c8; border-radius: 22px; background: var(--aa-surface); }
body.aa .aa-depot__bloc legend { border-radius: 999px; }
body.aa .aa-depot__bloc legend::before { background: var(--aa-tete); color: #fbf8f2; width: 1.75em; height: 1.75em; }

/* ---------- pop-up / porte d'âge (aspect seulement) ---------- */
body.aa .aa-popup__box, body.aa .aa-gate__box { border-radius: 24px; border-top: 0; box-shadow: 0 0 0 6px rgba(46, 125, 50, .18), 0 30px 60px -20px rgba(0, 0, 0, .6); }
body.aa .aa-gate__mark { background: var(--aa-tete); }

/* ---------- barre mobile (couleurs seulement) ---------- */
body.aa .aa-mobar, body.aa .aa-fiche__barre { background: rgba(251, 248, 242, .95); border-top-color: #ddd4c4; }

/* ---------- pied : crête de sapins ---------- */
body.aa .aa-footer { position: relative; margin-top: 2.6rem; border-top: 0; }
body.aa .aa-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -17px; height: 18px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='18' viewBox='0 0 64 18'%3E%3Cpath fill='%2313301c' d='M0 18 8 7l8 11zM11 18 22 1l11 17zM28 18l8-10 8 10zM40 18 51 3l13 15z'/%3E%3C/svg%3E") repeat-x 0 0 / 64px 18px;
}
body.aa .aa-footer a:hover { color: #fff; }
body.aa .aa-footer__h { font-family: var(--aa-police-titre); text-transform: none; letter-spacing: .02em; font-size: .98rem; color: #fbf8f2; border-bottom-color: rgba(214, 224, 208, .22); }
body.aa .aa-footer__brand { font-family: var(--aa-police-titre); }
body.aa .aa-footer__bas { background: rgba(0, 0, 0, .22); }
