/* plan-cul-gratuit.be — registre « or et charbon, tickets »
   Accent : or du favicon #e0a016 (texte ENCRE sombre dessus, jamais blanc).
   Neutre chaud : ivoire-billet #f8eed8 (annonces, formulaires, fiche).
   Encre : charbon chaud #16120c (fond de page) / #1c1408 (texte sur or et sur ivoire).
   Formes signature : billets à encoches + perforation (lignes, carte de l'accueil, CTA de fiche),
   photo de fiche en arche cerclée d'or, pastille « Récente » en talon de billet, bord de pied festonné,
   cœur en filigrane dans la carte d'accueil. */

html:not(#_) body.aa {
  --pcg-or: #e0a016;
  --pcg-or-clair: #f2c45a;
  --pcg-or-encre: #7a4e00;
  --pcg-charbon: #16120c;
  --pcg-charbon-2: #221b12;
  --pcg-ivoire: #f8eed8;
  --pcg-ivoire-2: #fdf7ea;
  --pcg-encre: #1c1408;
  --aa-primaire: var(--pcg-or);
  --aa-primaire-txt: var(--pcg-encre);
  --aa-fond: var(--pcg-charbon);
  --aa-surface: var(--pcg-charbon-2);
  --aa-texte: #f6ecd7;
  --aa-muet: #cdbf9f;
  --aa-bord: #3d3222;
  --aa-secondaire: #f6ecd7;
  --aa-tete: #110d08;
  --aa-tete-txt: #f6ecd7;
  --aa-pied: #0e0b07;
  --aa-pied-txt: #d6c8a8;
  --aa-rayon: 16px;
  --aa-rayon-s: 10px;
  --aa-ombre: 0 18px 38px -22px rgba(224, 160, 22, .45), 0 4px 12px -6px rgba(0, 0, 0, .6);
  --aa-police-titre: Bahnschrift, "DIN Alternate", "Roboto Condensed", "Arial Narrow", "Segoe UI", sans-serif;
  background:
    radial-gradient(70% 40% at 100% 0%, rgba(224, 160, 22, .10), transparent 70%),
    radial-gradient(50% 30% at 0% 60%, rgba(224, 160, 22, .06), transparent 70%),
    var(--pcg-charbon);
}

/* Contexte « ivoire » : tout conteneur clair redéfinit encre, muet, bords, liens */
html:not(#_) .aa-ligne,
html:not(#_) .aa-hero__form,
html:not(#_) .aa-fiche__cta--haut,
html:not(#_) .aa-repondre,
html:not(#_) .aa-depot__bloc,
html:not(#_) .aa-popup__box,
html:not(#_) .aa-gate__box,
html:not(#_) .aa-filtres,
html:not(#_) .aa-compo-6 .aa-bloc--moteur {
  --aa-surface: var(--pcg-ivoire-2);
  --aa-texte: var(--pcg-encre);
  --aa-muet: #62533a;
  --aa-bord: #e2cfa6;
  --aa-secondaire: var(--pcg-encre);
  --aa-primaire-lien: var(--pcg-or-encre);
  color: var(--pcg-encre);
  background-color: var(--pcg-ivoire);
}

/* ---------- en-tête ---------- */
html:not(#_) .aa-header {
  border-top: 0;
  background: linear-gradient(180deg, #120e09, #17120b);
  box-shadow: inset 0 -1px 0 rgba(224, 160, 22, .28), 0 10px 24px -18px rgba(0, 0, 0, .9);
}
html:not(#_) .aa-header::after {
  content: ""; display: block; height: 4px;
  background: repeating-linear-gradient(90deg, var(--pcg-or) 0 14px, transparent 14px 22px);
  opacity: .55;
}
html:not(#_) .aa-logo { font-family: var(--aa-police-titre); letter-spacing: .14em; color: var(--pcg-ivoire); }
html:not(#_) .aa-logo__mark {
  width: 26px; height: 16px; border-radius: 3px; background: var(--pcg-or);
  -webkit-mask: radial-gradient(circle 4px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 4px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
          mask: radial-gradient(circle 4px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 4px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
}
html:not(#_) .aa-nav a { border-radius: 999px; letter-spacing: .08em; }
html:not(#_) .aa-nav a:hover, html:not(#_) .aa-nav a.is-actif { background: rgba(224, 160, 22, .14); color: var(--pcg-or-clair); }
html:not(#_) .aa-nav__cta a {
  background: var(--pcg-or); color: var(--pcg-encre) !important; border-radius: 999px;
  padding-inline: 1.1rem; box-shadow: 0 6px 16px -8px rgba(224, 160, 22, .8);
}

/* ---------- accueil : héros + billet d'inscription ---------- */
html:not(#_) .aa-hero {
  background:
    radial-gradient(55% 90% at 8% 10%, rgba(224, 160, 22, .22), transparent 65%),
    radial-gradient(40% 70% at 95% 100%, rgba(224, 160, 22, .10), transparent 70%),
    #120e09;
  border-bottom: 0;
  padding-block: 2.2rem 2.6rem;
}
html:not(#_) .aa-h1 { font-family: var(--aa-police-titre); font-weight: 700; letter-spacing: .01em; color: var(--pcg-ivoire); }
html:not(#_) .aa-hero .aa-h1::after {
  content: ""; display: block; width: 88px; height: 10px; margin-top: .55rem; border-radius: 999px;
  background: radial-gradient(circle 5px at 5px 5px, var(--pcg-or) 98%, transparent) 0 0 / 18px 10px repeat-x;
}
html:not(#_) .aa-hero__chiffres {
  display: inline-block; color: var(--pcg-or-clair); border: 1px dashed rgba(224, 160, 22, .55);
  border-radius: 999px; padding: .35rem 1rem; font-size: .92rem;
}
html:not(#_) .aa-hero__form {
  position: relative; border: 0; border-radius: 22px; padding: 1.5rem 1.4rem 1.4rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e0a016' fill-opacity='.13' d='M12 21s-7.5-4.6-9.6-9.2C.8 8.3 3 4.5 6.7 4.5c2.2 0 3.6 1.2 4.3 2.4.7-1.2 2.1-2.4 4.3-2.4 3.7 0 5.9 3.8 4.3 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") right -18px bottom -22px / 150px no-repeat,
    linear-gradient(160deg, var(--pcg-ivoire-2), var(--pcg-ivoire));
  box-shadow: 0 26px 50px -26px rgba(224, 160, 22, .55), 0 0 0 1px rgba(224, 160, 22, .35);
}
html:not(#_) .aa-hero__form::before,
html:not(#_) .aa-hero__form::after {
  content: ""; position: absolute; top: 4.6rem; width: 22px; height: 22px; border-radius: 50%;
  background: #130f0a; pointer-events: none;
}
html:not(#_) .aa-hero__form::before { left: -11px; }
html:not(#_) .aa-hero__form::after { right: -11px; }
html:not(#_) .aa-hero__form-h { color: var(--pcg-encre); font-family: var(--aa-police-titre); font-weight: 700; }
html:not(#_) .aa-hero__form-p { color: #5a4b33; padding-bottom: .8rem; border-bottom: 2px dashed #dcc596; margin-bottom: .4rem; }
html:not(#_) .aa-hero__form .aa-chip { background: #fff; border-color: #dcc596; color: var(--pcg-encre); }
html:not(#_) .aa-hero__form .aa-chip:has(input:checked) { background: #fbe6b4; border-color: var(--pcg-or-encre); }

/* champs dans un contexte ivoire */
html:not(#_) .aa-ligne input, html:not(#_) .aa-hero__form input, html:not(#_) .aa-hero__form select,
html:not(#_) .aa-fiche__cta--haut input, html:not(#_) .aa-repondre input, html:not(#_) .aa-repondre textarea,
html:not(#_) .aa-depot__bloc input, html:not(#_) .aa-depot__bloc select, html:not(#_) .aa-depot__bloc textarea,
html:not(#_) .aa-popup__box input, html:not(#_) .aa-popup__box select,
html:not(#_) .aa-filtres select, html:not(#_) .aa-bloc--moteur select {
  background: #fff; color: var(--pcg-encre); border: 1px solid #d7c191; border-radius: 12px;
}
html:not(#_) .aa-filtres__champ { color: #5a4b33; }

/* ---------- boutons ---------- */
html:not(#_) .aa-btn { border-radius: 999px; letter-spacing: .02em; }
html:not(#_) .aa-btn--primaire {
  background: linear-gradient(180deg, var(--pcg-or-clair), var(--pcg-or));
  color: var(--pcg-encre); border-color: transparent;
  box-shadow: 0 10px 22px -12px rgba(224, 160, 22, .9), inset 0 1px 0 rgba(255, 255, 255, .45);
}
html:not(#_) .aa-btn--primaire:hover { box-shadow: 0 0 0 3px rgba(224, 160, 22, .35), 0 12px 24px -12px rgba(224, 160, 22, .9); }
html:not(#_) .aa-btn--secondaire { background: transparent; color: var(--aa-texte); border-color: currentColor; }

/* ---------- les annonces en BILLETS ---------- */
html:not(#_) .aa-liste { gap: .9rem; }
html:not(#_) .aa-ligne {
  border: 0; border-radius: 14px; overflow: visible;
  background:
    repeating-linear-gradient(180deg, #d4b878 0 6px, transparent 6px 12px) 113px 10px / 2px calc(100% - 20px) no-repeat,
    linear-gradient(100deg, var(--pcg-ivoire-2), var(--pcg-ivoire));
  box-shadow: 0 16px 30px -22px rgba(224, 160, 22, .6), 0 3px 8px -4px rgba(0, 0, 0, .55);
  transition: transform .18s ease, box-shadow .18s ease;
}
html:not(#_) .aa-ligne::before,
html:not(#_) .aa-ligne::after {
  content: ""; position: absolute; left: 105px; width: 18px; height: 18px; border-radius: 50%;
  background: var(--pcg-charbon); pointer-events: none;
}
html:not(#_) .aa-ligne::before { top: -9px; }
html:not(#_) .aa-ligne::after { bottom: -9px; }
html:not(#_) .aa-ligne:hover {
  background:
    repeating-linear-gradient(180deg, #c9a75c 0 6px, transparent 6px 12px) 113px 10px / 2px calc(100% - 20px) no-repeat,
    linear-gradient(100deg, #fffaf0, #fbf0d8);
  transform: translateY(-2px) rotate(-.15deg);
  box-shadow: 0 22px 36px -22px rgba(224, 160, 22, .85), 0 4px 10px -4px rgba(0, 0, 0, .6);
}
html:not(#_) .aa-ligne--brute { background: linear-gradient(100deg, var(--pcg-ivoire-2), var(--pcg-ivoire)); }
html:not(#_) .aa-ligne--brute::before, html:not(#_) .aa-ligne--brute::after { display: none; }
html:not(#_) .aa-ligne__img {
  border-radius: 12px; background: #2a2116;
  box-shadow: 0 0 0 2px var(--pcg-ivoire-2), 0 0 0 4px rgba(224, 160, 22, .65);
}
html:not(#_) .aa-ligne__cat { color: var(--pcg-or-encre); }
html:not(#_) .aa-ligne__new {
  background: var(--pcg-or); color: var(--pcg-encre); border-radius: 3px; padding: .12rem .7rem;
  -webkit-mask: radial-gradient(circle 4px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 4px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
          mask: radial-gradient(circle 4px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 4px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
}
html:not(#_) .aa-ligne__date, html:not(#_) .aa-ligne__meta { color: #62533a; }
html:not(#_) .aa-ligne__titre { font-family: var(--aa-police-titre); font-weight: 700; color: var(--pcg-encre); }
html:not(#_) .aa-ligne__titre a:hover { color: var(--pcg-or-encre); }
html:not(#_) .aa-ligne__extrait { color: #3a2e1c; opacity: 1; }
html:not(#_) .aa-ligne__lire {
  background: var(--pcg-encre); color: var(--pcg-or-clair); border-color: var(--pcg-encre); border-radius: 999px;
}
html:not(#_) .aa-ligne__lire:hover { background: #2e2212; }
@media (min-width: 720px) {
  html:not(#_) .aa-ligne {
    background:
      repeating-linear-gradient(180deg, #d4b878 0 6px, transparent 6px 12px) 141px 10px / 2px calc(100% - 20px) no-repeat,
      linear-gradient(100deg, var(--pcg-ivoire-2), var(--pcg-ivoire));
  }
  html:not(#_) .aa-ligne:hover {
    background:
      repeating-linear-gradient(180deg, #c9a75c 0 6px, transparent 6px 12px) 141px 10px / 2px calc(100% - 20px) no-repeat,
      linear-gradient(100deg, #fffaf0, #fbf0d8);
  }
  html:not(#_) .aa-ligne::before, html:not(#_) .aa-ligne::after { left: 133px; }
}
@media (max-width: 719px) {
  /* mobile : la perforation coupe sous la vignette, l'extrait passe pleine largeur */
  html:not(#_) .aa-ligne { background: linear-gradient(100deg, var(--pcg-ivoire-2), var(--pcg-ivoire)); }
  html:not(#_) .aa-ligne:hover { background: linear-gradient(100deg, #fffaf0, #fbf0d8); }
  html:not(#_) .aa-ligne::before, html:not(#_) .aa-ligne::after { left: auto; top: 50px; bottom: auto; }
  html:not(#_) .aa-ligne::before { left: -9px; }
  html:not(#_) .aa-ligne::after { right: -9px; }
  html:not(#_) .aa-ligne__extrait { border-top: 2px dashed #e0cb9c; padding-top: .45rem; }
}

/* ---------- titres de blocs, liens, côté ---------- */
html:not(#_) .aa-h2 { font-family: var(--aa-police-titre); font-weight: 700; color: var(--pcg-ivoire); letter-spacing: .02em; }
html:not(#_) .aa-h2::before {
  content: ""; display: inline-block; width: 18px; height: 11px; margin-right: .55rem; vertical-align: .08em;
  border-radius: 2px; background: var(--pcg-or);
  -webkit-mask: radial-gradient(circle 3px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 3px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
          mask: radial-gradient(circle 3px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 3px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
}
html:not(#_) .aa-bloc__tete a, html:not(#_) .aa-lien, html:not(#_) .aa-retour a, html:not(#_) .aa-fiche__signaler a { color: var(--pcg-or-clair); }
html:not(#_) .aa-liens li {
  background: var(--pcg-charbon-2); border: 1px dashed rgba(224, 160, 22, .35); border-radius: 999px; padding: .4rem .85rem;
  transition: border-color .15s ease, background-color .15s ease;
}
html:not(#_) .aa-liens li:hover { border-color: var(--pcg-or); background: #2c2316; }
html:not(#_) .aa-liens li a { color: var(--pcg-ivoire); }
html:not(#_) .aa-liens__nb { color: var(--pcg-or-clair); }
html:not(#_) .aa-side {
  background: linear-gradient(180deg, #241c12, #1c160e); border: 1px solid rgba(224, 160, 22, .3); border-left: 0;
  border-radius: 18px; box-shadow: var(--aa-ombre);
}
html:not(#_) .aa-side__h { color: var(--pcg-or-clair); }
html:not(#_) .aa-side__liste li { border-top: 1px dashed rgba(224, 160, 22, .22); }
html:not(#_) .aa-side__liste a { color: var(--pcg-ivoire); }
html:not(#_) .aa-side__liste li.is-actif a { color: var(--pcg-or-clair); }
html:not(#_) .aa-side__nb { color: #cdbf9f; }
html:not(#_) .aa-filtres, html:not(#_) .aa-compo-6 .aa-bloc--moteur { border: 0; border-radius: 20px; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-compo-6 .aa-bloc--moteur .aa-h2 { color: var(--pcg-encre); }
html:not(#_) .aa-crumbs ol { color: #cdbf9f; }
html:not(#_) .aa-pagination a, html:not(#_) .aa-pagination span { border-radius: 999px; }
html:not(#_) .aa-deposer-cta { text-align: center; }

/* ---------- fiche d'annonce ---------- */
html:not(#_) .aa-fiche__cat a { color: var(--pcg-or-clair); }
html:not(#_) .aa-fiche__titre { font-family: var(--aa-police-titre); font-weight: 700; color: var(--pcg-ivoire); }
html:not(#_) .aa-fiche__sous a { color: var(--pcg-or-clair); }
html:not(#_) .aa-fiche__photo {
  border-radius: 999px 999px 18px 18px;
  box-shadow: 0 0 0 3px var(--pcg-charbon), 0 0 0 5px var(--pcg-or), 0 24px 40px -20px rgba(224, 160, 22, .6);
}
html:not(#_) .aa-fiche__img { transition: transform .5s ease; }
html:not(#_) .aa-fiche__photo:hover .aa-fiche__img { transform: scale(1.04); }
html:not(#_) .aa-fiche__new { border-radius: 999px; top: auto; bottom: .7rem; right: 50%; transform: translateX(50%); }
html:not(#_) .aa-fiche__cta--haut {
  position: relative; border: 0; border-radius: 20px; padding: 1.1rem 1.1rem;
  box-shadow: 0 22px 44px -24px rgba(224, 160, 22, .7), 0 0 0 1px rgba(224, 160, 22, .35);
}
html:not(#_) .aa-fiche__cta--haut::before,
html:not(#_) .aa-fiche__cta--haut::after {
  content: ""; position: absolute; top: 50%; margin-top: -10px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--pcg-charbon); pointer-events: none;
}
html:not(#_) .aa-fiche__cta--haut::before { left: -10px; }
html:not(#_) .aa-fiche__cta--haut::after { right: -10px; }
html:not(#_) .aa-fiche__infos {
  background: var(--pcg-charbon-2); border: 1px dashed rgba(224, 160, 22, .4); border-radius: 16px;
}
html:not(#_) .aa-fiche__infos dt { color: #cdbf9f; }
html:not(#_) .aa-fiche__infos dd a { color: var(--pcg-or-clair); }
html:not(#_) .aa-fiche__plage {
  background: rgba(224, 160, 22, .14); color: var(--pcg-or-clair); border: 1px solid rgba(224, 160, 22, .45); border-radius: 999px;
}
html:not(#_) .aa-fiche__phy { background: #241c12; border: 1px solid rgba(224, 160, 22, .28); border-radius: 14px; }
html:not(#_) .aa-fiche__physique dt { color: #cdbf9f; }
html:not(#_) .aa-chips--lecture li { background: rgba(224, 160, 22, .12); border-color: rgba(224, 160, 22, .45); color: var(--pcg-ivoire); }
html:not(#_) .aa-repondre { border: 0; border-radius: 22px; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-repondre .aa-h2 { color: var(--pcg-encre); }
html:not(#_) .aa-repondre .aa-h2::before { background: var(--pcg-or-encre); }
html:not(#_) .aa-fiche__barre .aa-btn { border-radius: 16px; font-size: .8rem; padding-block: 0; }
html:not(#_) .aa-fiche__barre { box-shadow: 0 -10px 24px -14px rgba(224, 160, 22, .45); border-top: 1px solid rgba(224, 160, 22, .4); }

/* ---------- dépôt ---------- */
html:not(#_) .aa-depot__bloc { border: 0; border-radius: 20px; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-depot__bloc legend {
  background: var(--pcg-or); color: var(--pcg-encre); border-radius: 999px; padding: .2rem .9rem; font-size: .9rem;
}
html:not(#_) .aa-depot__bloc .aa-chip { background: #fff; color: var(--pcg-encre); border-color: #dcc596; }
html:not(#_) .aa-depot__bloc .aa-chip:has(input:checked) { background: #fbe6b4; border-color: var(--pcg-or-encre); }
html:not(#_) .aa-depot__bloc .aa-regles { color: #5a4b33; }

/* ---------- pop-up et porte d'âge ---------- */
html:not(#_) .aa-gate, html:not(#_) .aa-popup { background: rgba(12, 9, 5, .88); }
html:not(#_) .aa-gate__box, html:not(#_) .aa-popup__box {
  border: 0; border-radius: 24px;
  background: linear-gradient(170deg, var(--pcg-ivoire-2), var(--pcg-ivoire));
  box-shadow: 0 0 0 1px rgba(224, 160, 22, .5), 0 30px 70px -20px rgba(224, 160, 22, .45);
}
html:not(#_) .aa-gate__box h2, html:not(#_) .aa-popup__titre { color: var(--pcg-encre); font-family: var(--aa-police-titre); }
html:not(#_) .aa-popup__pour { color: var(--pcg-or-encre); }
html:not(#_) .aa-popup__fermer { color: #5a4b33; }
html:not(#_) .aa-gate__mark { border-radius: 14px; width: 92px; height: 60px; line-height: 60px; }

/* ---------- pied de page festonné ---------- */
html:not(#_) .aa-footer {
  position: relative; border-top: 0; margin-top: 3rem;
  background: linear-gradient(180deg, #2a2014, #120e09 55%);
}
html:not(#_) .aa-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px;
  background: radial-gradient(circle 12px at 12px 12px, #2a2014 98%, transparent) 0 0 / 24px 12px repeat-x;
}
html:not(#_) .aa-footer__brand { color: var(--pcg-or-clair); }
html:not(#_) .aa-footer__h { color: var(--pcg-ivoire); }
html:not(#_) .aa-footer__h::after { content: ""; display: block; width: 28px; height: 2px; margin-top: .4rem; background: var(--pcg-or); border-radius: 2px; }
html:not(#_) .aa-footer a:hover { color: var(--pcg-or-clair); }
html:not(#_) .aa-footer__bas { border-top: 1px dashed rgba(224, 160, 22, .3); }

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