/* boite-gay.be — registre « néon turquoise sur nuit : vestiaire de club »
   Palette (partie de #0f7c8c, couleur du favicon) :
   nuit #0b1d23 / #07141a · néon #3fd3dd (même teinte, éclaircie) · accent profond #0f7c8c
   neutre chaud : ivoire #f7eedf, sable #e8d6b8 · encre #1f1914
   Formes signature : ticket de vestiaire à encoches (lignes d'annonce), jeton rond cerclé de néon
   (vignettes, logo), tube néon (soulignés, boutons pilules lumineux), perforations pointillées. */

html:not(#_) body.aa {
  --bg-nuit: #0b1d23; --bg-nuit2: #07141a; --neon: #3fd3dd; --ivoire: #f7eedf; --sable: #e8d6b8; --encre: #1f1914;
  --aa-fond: var(--bg-nuit); --aa-surface: var(--ivoire);
  --aa-texte: #f3eadb; --aa-muet: #b4c7c9; --aa-bord: rgba(63, 211, 221, .22);
  --aa-primaire: var(--neon); --aa-primaire-txt: #062127;
  --aa-secondaire: #0b4a53; --aa-secondaire-txt: #fff;
  --aa-tete: var(--bg-nuit2); --aa-tete-txt: #f3eadb; --aa-pied: var(--bg-nuit2); --aa-pied-txt: #d9e3e2;
  --aa-rayon: 18px; --aa-rayon-s: 12px;
  --aa-ombre: 0 18px 38px -22px rgba(0, 0, 0, .75), 0 0 0 1px rgba(63, 211, 221, .08);
  --aa-police: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: "Bahnschrift", "Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;
  background:
    radial-gradient(70% 50% at 100% 0%, rgba(15, 124, 140, .28), transparent 70%),
    radial-gradient(60% 40% at 0% 100%, rgba(15, 124, 140, .18), transparent 70%),
    var(--bg-nuit);
  color: var(--aa-texte);
}

/* Conteneurs ivoire : le texte redevient encre, liens et boutons passent au turquoise profond. */
html:not(#_) body.aa :is(.aa-hero__form, .aa-side, .aa-ligne, .aa-filtres, .aa-liens li, .aa-fiche__phy, .aa-fiche__infos,
  .aa-fiche__cta--haut, .aa-repondre, .aa-depot__bloc, .aa-vide, .aa-pagination a, .aa-pagination span, .aa-chips li, .aa-chip,
  .aa-popup__box, .aa-gate__box, .aa-fiche__barre) {
  --aa-texte: var(--encre); --aa-muet: #5d4d3f; --aa-bord: #e2cfae;
  --aa-primaire: #0f7c8c; --aa-primaire-txt: #fff; --aa-secondaire: #0b4a53;
  color: var(--aa-texte);
}

/* --- header : bande de nuit, tube néon dessous ------------------------------ */
html:not(#_) body.aa .aa-header { background: linear-gradient(180deg, var(--bg-nuit2), #0a1a20); border: 0; padding: 0;
  box-shadow: 0 1px 0 rgba(63, 211, 221, .55), 0 6px 22px -6px rgba(63, 211, 221, .45); }
html:not(#_) body.aa .aa-header__in { background: none; backdrop-filter: none; border-radius: 0; box-shadow: none; padding: .35rem var(--aa-gout); min-height: 62px; }
html:not(#_) body.aa .aa-logo { font-style: normal; font-family: var(--aa-police-titre); text-transform: uppercase; letter-spacing: .14em; font-size: 1.15rem; font-weight: 700;
  color: #eafcfd; text-shadow: 0 0 6px rgba(63, 211, 221, .85), 0 0 18px rgba(63, 211, 221, .45); animation: bg-allume 1.6s ease-out both; }
html:not(#_) body.aa .aa-logo__mark { width: 18px; height: 18px; background: radial-gradient(circle, var(--ivoire) 0 30%, transparent 33%), var(--bg-nuit2);
  border: 2px solid var(--neon); box-shadow: 0 0 10px rgba(63, 211, 221, .8); }
html:not(#_) body.aa .aa-nav a { color: #e6f1f0; font-weight: 600; font-size: .9rem; letter-spacing: .06em; text-transform: uppercase; border-radius: 999px;
  background-image: linear-gradient(var(--neon), var(--neon)); background-repeat: no-repeat; background-size: 0 2px; background-position: 50% 88%; transition: background-size .25s ease; }
html:not(#_) body.aa .aa-nav a:hover, html:not(#_) body.aa .aa-nav a.is-actif { background-color: transparent; background-size: 60% 2px; text-decoration: none; }
html:not(#_) body.aa .aa-nav__cta a { background: var(--neon); color: #062127 !important; border-radius: 999px; box-shadow: 0 0 0 3px rgba(63, 211, 221, .2), 0 0 18px rgba(63, 211, 221, .55); }
html:not(#_) body.aa .aa-nav__cta a:hover { filter: brightness(1.08); }
html:not(#_) body.aa .aa-burger { color: var(--neon); }
@media (max-width: 800px) {
  html:not(#_) body.aa .aa-nav { background: var(--bg-nuit2); border: 1px solid rgba(63, 211, 221, .35); border-radius: 18px; box-shadow: 0 20px 40px -18px #000; }
}

/* --- titres et chapeau ------------------------------------------------------- */
html:not(#_) body.aa .aa-h1 { font-family: var(--aa-police-titre); font-weight: 700; letter-spacing: .01em; color: #fbf6ec;
  text-shadow: 0 0 22px rgba(63, 211, 221, .35); }
html:not(#_) body.aa .aa-h1::after { content: ""; display: block; width: 88px; height: 4px; margin-top: .55rem; border-radius: 999px;
  background: var(--neon); box-shadow: 0 0 12px var(--neon); }
html:not(#_) body.aa .aa-h2, html:not(#_) body.aa .aa-bloc__tete h2 { font-family: var(--aa-police-titre); color: #fbf6ec; letter-spacing: .03em; }
html:not(#_) body.aa .aa-intro, html:not(#_) body.aa .aa-compte { color: #c9d6d6; }
html:not(#_) body.aa .aa-hero__chiffres { color: var(--sable); }
html:not(#_) body.aa .aa-hero { background:
    radial-gradient(circle, rgba(63, 211, 221, .18) 1.2px, transparent 1.6px) 0 0 / 22px 22px,
    linear-gradient(160deg, rgba(15, 124, 140, .35), transparent 65%); border-bottom: 1px dashed rgba(63, 211, 221, .3); padding-bottom: 2.2rem; }

/* --- formulaire du héros : ticket ivoire avec talon pointillé ----------------- */
html:not(#_) body.aa .aa-hero__form { background: var(--ivoire); border: 0; border-radius: 22px; border-top: 10px solid var(--sable);
  box-shadow: 0 26px 50px -24px rgba(0, 0, 0, .9), 0 0 0 1px rgba(63, 211, 221, .25), 0 0 30px -8px rgba(63, 211, 221, .45); position: relative; }
html:not(#_) body.aa .aa-hero__form::before { content: ""; position: absolute; left: 18px; right: 18px; top: -6px; border-top: 2px dashed #b99d72; }
html:not(#_) body.aa .aa-hero__form-h { font-family: var(--aa-police-titre); color: var(--encre); }

/* --- boutons : pilules ------------------------------------------------------- */
html:not(#_) body.aa .aa-btn { border-radius: 999px; }
html:not(#_) body.aa .aa-btn--primaire { box-shadow: 0 10px 22px -12px var(--aa-primaire), 0 0 0 3px color-mix(in srgb, var(--aa-primaire) 18%, transparent); }
html:not(#_) body.aa .aa-btn--secondaire { background: #fff8ec; color: #0b4a53; border: 2px solid #0f7c8c; }

/* --- lignes d'annonce : tickets de vestiaire ---------------------------------- */
html:not(#_) body.aa .aa-liste { gap: 1rem; }
html:not(#_) body.aa .aa-ligne { background: linear-gradient(90deg, var(--sable) 0 6px, var(--ivoire) 6px); border: 0; border-radius: 16px;
  box-shadow: 0 16px 32px -20px rgba(0, 0, 0, .9); }
html:not(#_) body.aa .aa-ligne::before, html:not(#_) body.aa .aa-ligne::after { content: ""; position: absolute; top: 50%; width: 18px; height: 18px;
  margin-top: -9px; border-radius: 50%; background: var(--bg-nuit); pointer-events: none; }
html:not(#_) body.aa .aa-ligne::before { left: -9px; }
html:not(#_) body.aa .aa-ligne::after { right: -9px; }
html:not(#_) body.aa .aa-ligne:hover { transform: translateY(-3px); box-shadow: 0 20px 36px -18px rgba(0, 0, 0, .95), 0 0 0 2px rgba(63, 211, 221, .6), 0 0 26px -6px rgba(63, 211, 221, .6); }
html:not(#_) body.aa .aa-ligne__img { border-radius: 50%; box-shadow: 0 0 0 3px var(--ivoire), 0 0 0 5px #0f7c8c; margin: 5px; width: 86px; }
html:not(#_) body.aa .aa-ligne__nb { border-radius: 999px; }
html:not(#_) body.aa .aa-ligne__cat { background: #0b4a53; color: #f7eedf; border-radius: 999px; letter-spacing: .08em; padding: .15rem .6rem; }
html:not(#_) body.aa .aa-ligne__new { background: #0f7c8c; color: #fff; border-radius: 999px; }
html:not(#_) body.aa .aa-ligne__titre { font-family: var(--aa-police-titre); font-size: 1.1rem; font-weight: 700; color: var(--encre); }
html:not(#_) body.aa .aa-ligne__titre a:hover { color: #0b5f6b; }
html:not(#_) body.aa .aa-ligne__meta, html:not(#_) body.aa .aa-ligne__date { color: #5d4d3f; }
html:not(#_) body.aa .aa-ligne__extrait { color: #3b3028; }
html:not(#_) body.aa .aa-ligne__lire { background: transparent; color: #0b4a53; border: 2px dashed #0f7c8c; box-shadow: none; }
html:not(#_) body.aa .aa-ligne__lire:hover { background: #0f7c8c; color: #fff; border-style: solid; }
@media (min-width: 720px) {
  html:not(#_) body.aa .aa-ligne { padding: .8rem 1.3rem .8rem 1rem; }
  html:not(#_) body.aa .aa-ligne__img { width: 108px; }
  html:not(#_) body.aa .aa-ligne__corps, html:not(#_) body.aa .aa-ligne__extrait { border-left: 2px dashed #d7bf97; padding-left: 1rem; }
}

/* --- panneaux ivoire (filtres, colonnes, liens de villes) ---------------------- */
html:not(#_) body.aa :is(.aa-side, .aa-filtres, .aa-fiche__infos, .aa-repondre, .aa-depot__bloc, .aa-vide, .aa-fiche__cta--haut) {
  background: var(--ivoire); border: 0; border-radius: 20px; box-shadow: 0 18px 36px -22px rgba(0, 0, 0, .9), inset 0 4px 0 var(--sable); }
html:not(#_) body.aa .aa-side__h { font-family: var(--aa-police-titre); font-style: normal; text-transform: uppercase; letter-spacing: .1em; font-size: .88rem; color: #0b4a53; }
html:not(#_) body.aa .aa-liens li { background: var(--ivoire); border: 0; border-radius: 999px; padding: .4rem .9rem; box-shadow: 0 8px 18px -14px #000; }
html:not(#_) body.aa .aa-liens__nb, html:not(#_) body.aa .aa-side__nb { color: #5d4d3f; }
html:not(#_) body.aa .aa-crumbs ol { color: #b4c7c9; }
html:not(#_) body.aa .aa-crumbs a { color: #d6eff0; }
html:not(#_) body.aa .aa-pagination a, html:not(#_) body.aa .aa-pagination span { border-radius: 999px; }

/* --- fiche d'annonce : photo encadrée d'un tube néon --------------------------- */
html:not(#_) body.aa .aa-fiche__titre { font-family: var(--aa-police-titre); color: #fbf6ec; }
html:not(#_) body.aa .aa-fiche__meta, html:not(#_) body.aa .aa-fiche__sous { color: #c9d6d6; }
html:not(#_) body.aa .aa-fiche__photo { border-radius: 26px; border: 3px solid var(--neon); box-shadow: 0 0 0 6px rgba(63, 211, 221, .12), 0 0 34px -4px rgba(63, 211, 221, .55); }
html:not(#_) body.aa .aa-fiche__photo img { transition: transform .5s ease; }
html:not(#_) body.aa .aa-fiche__photo:hover img { transform: scale(1.03); }
html:not(#_) body.aa .aa-fiche__miniatures img { border-radius: 50%; box-shadow: 0 0 0 2px var(--neon); }
html:not(#_) body.aa .aa-fiche__texte { color: #efe6d6; line-height: 1.7; }
html:not(#_) body.aa .aa-fiche__plage { background: transparent; border: 2px solid var(--neon); border-radius: 999px; color: #eafcfd; box-shadow: 0 0 14px -4px var(--neon); }
html:not(#_) body.aa .aa-fiche__phy { background: var(--ivoire); border: 0; border-radius: 14px; border-left: 5px solid #0f7c8c; }
html:not(#_) body.aa .aa-fiche__physique dt { color: #5d4d3f; }
html:not(#_) body.aa .aa-fiche__physique dd { color: var(--encre); }
html:not(#_) body.aa .aa-chips li, html:not(#_) body.aa .aa-chip { background: var(--ivoire); border: 1px solid #d7bf97; color: var(--encre); }
html:not(#_) body.aa .aa-fiche__cta--haut .aa-btn--primaire { min-height: 50px; }
html:not(#_) body.aa .aa-fiche__signaler, html:not(#_) body.aa .aa-retour { color: #9fe6ec; }
html:not(#_) body.aa .aa-fiche__barre { background: color-mix(in srgb, var(--ivoire) 94%, transparent); box-shadow: 0 -2px 0 var(--neon), 0 12px 30px -10px #000; }

/* --- dépôt ------------------------------------------------------------------- */
html:not(#_) body.aa .aa-depot__bloc legend { background: #0b4a53; color: #f7eedf; border-radius: 999px; padding: .2rem .8rem; font-family: var(--aa-police-titre); letter-spacing: .05em; }
html:not(#_) body.aa .aa-form__lbl { color: inherit; }
html:not(#_) body.aa :is(.aa-depot__bloc, .aa-repondre, .aa-hero__form, .aa-filtres) :is(select, input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea) {
  background: #fffaf1; border: 1.5px solid #dcc59f; border-radius: 12px; color: var(--encre); }
html:not(#_) body.aa :is(select, input, textarea):focus { border-color: #0f7c8c; box-shadow: 0 0 0 3px rgba(15, 124, 140, .25); outline: none; }

/* --- pied de page : nuit profonde, colonnes séparées par des tubes -------------- */
html:not(#_) body.aa .aa-footer { background: var(--bg-nuit2); color: #d9e3e2; padding: 2.4rem var(--aa-gout) 1.2rem; margin-top: 3rem;
  border-top: 2px solid var(--neon); box-shadow: 0 -6px 26px -8px rgba(63, 211, 221, .45); }
html:not(#_) body.aa .aa-footer__grid, html:not(#_) body.aa .aa-footer__bas { background: none; box-shadow: none; border-radius: 0; padding: 0; }
html:not(#_) body.aa .aa-footer__col { border-left: 2px solid rgba(63, 211, 221, .35); padding-left: 1rem; }
html:not(#_) body.aa .aa-footer__h, html:not(#_) body.aa .aa-footer__brand { color: var(--neon); font-style: normal; text-transform: uppercase; letter-spacing: .12em; font-family: var(--aa-police-titre); }
html:not(#_) body.aa .aa-footer a { color: #e6f1f0; }
html:not(#_) body.aa .aa-footer a:hover { color: var(--neon); }
html:not(#_) body.aa .aa-footer__fictif { color: #b4c7c9; }
html:not(#_) body.aa .aa-footer__bas { margin-top: 1.6rem; padding-top: 1rem; border-top: 1px dashed rgba(63, 211, 221, .35); color: #b4c7c9; }

/* --- pop-up et porte ---------------------------------------------------------- */
html:not(#_) body.aa .aa-popup__box, html:not(#_) body.aa .aa-gate__box { background: var(--ivoire); border-radius: 24px; border-top: 8px solid var(--sable);
  box-shadow: 0 30px 70px -20px #000, 0 0 0 2px rgba(63, 211, 221, .6), 0 0 40px -6px rgba(63, 211, 221, .5); }
html:not(#_) body.aa .aa-gate { background: rgba(4, 14, 18, .88); }

@keyframes bg-allume { 0% { opacity: .2; } 12% { opacity: 1; } 18% { opacity: .45; } 26%, 100% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  html:not(#_) body.aa .aa-logo { animation: none; }
  html:not(#_) body.aa .aa-ligne, html:not(#_) body.aa .aa-nav a, html:not(#_) body.aa .aa-fiche__photo img { transition: none; }
}

/* Titres posés dans un conteneur ivoire : encre, jamais la couleur de nuit. */
html:not(#_) body.aa :is(.aa-repondre, .aa-depot__bloc, .aa-side, .aa-hero__form, .aa-vide, .aa-popup__box, .aa-gate__box) :is(h2, h3, .aa-h2) { color: var(--encre); text-shadow: none; }
