/* annonce-travesti.be — registre « Loge de cabaret bruxellois » (annoncesastro, skin 3 / compo 4)
   Accent violet #7d3c98 (favicon) · velours #4f1d63 / #6a2b82 · neutre crème #f6ecdf / ivoire #fffaf2
   · lumière d'ampoule #ffe6b0 (neutre chaud) · encre prune #2a1630.
   Formes : rideau de velours festonné sous l'en-tête (et repris au-dessus du pied), miroirs de loge en arche
   bordés d'ampoules (vignettes, photo de fiche, carte d'inscription), cartouches de catégorie, étoiles de scène
   SVG, CTA en carte centrée. Typo : didone pour les titres, sans chaleureuse pour le texte. */

html:not(#_) body.aa {
  --aa-accent: #7d3c98; --aa-primaire: #7d3c98; --aa-primaire-txt: #fff; --aa-lien: #6a2b82;
  --aa-secondaire: #4f1d63; --aa-secondaire-txt: #fff;
  --aa-fond: #f6ecdf; --aa-surface: #fffaf2; --aa-texte: #2a1630; --aa-muet: #654f6b;
  --aa-bord: #e6d3d9; --aa-tete: #55206a; --aa-tete-txt: #fbefe0;
  --aa-pied: #3d1650; --aa-pied-txt: #f3e6ef;
  --aa-rayon: 18px; --aa-rayon-s: 999px;
  --aa-ombre: 0 14px 34px -20px rgba(85, 32, 106, .55);
  --aa-police: "Avenir Next", "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
  --aa-police-titre: "Didot", "Bodoni 72", "Bodoni MT", "Playfair Display", Georgia, serif;
  --tv-velours: #55206a; --tv-velours-2: #6c2c86; --tv-ampoule: #ffe6b0; --tv-creme: #f6ecdf;
  --tv-etoile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237d3c98' d='M12 2l2.9 6.6 7.1.6-5.4 4.7 1.7 7-6.3-3.8-6.3 3.8 1.7-7L2 9.2l7.1-.6z'/%3E%3C/svg%3E");
  background: var(--aa-fond); color: var(--aa-texte);
}

/* ---------- En-tête : rideau de velours, logo centré, feston en bas ---------- */
html:not(#_) body.aa .aa-header {
  color: var(--aa-tete-txt);
  padding-bottom: 16px;
  background:
    radial-gradient(circle at 50% 0, var(--tv-velours) 0 12px, transparent 12.6px) left bottom / 28px 16px repeat-x,
    linear-gradient(to bottom, transparent calc(100% - 16px), var(--tv-creme) calc(100% - 16px)),
    radial-gradient(ellipse at 50% -30%, rgba(255, 230, 176, .28), transparent 55%),
    repeating-linear-gradient(90deg, #4c1b5f 0, #6c2c86 14px, #4c1b5f 28px);
}
html:not(#_) body.aa .aa-header .aa-logo {
  font-family: var(--aa-police-titre); font-size: 1.75rem; font-weight: 700; letter-spacing: .14em;
  color: var(--tv-ampoule); padding: 1rem 3rem .55rem; gap: .7rem; text-shadow: 0 0 18px rgba(255, 214, 140, .35);
}
html:not(#_) body.aa .aa-header .aa-logo__mark {
  display: block; width: 18px; height: 18px; border-radius: 0; box-shadow: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffe6b0' d='M12 2l2.9 6.6 7.1.6-5.4 4.7 1.7 7-6.3-3.8-6.3 3.8 1.7-7L2 9.2l7.1-.6z'/%3E%3C/svg%3E") center / contain no-repeat;
}
html:not(#_) body.aa .aa-header .aa-nav { border-top: 1px solid rgba(255, 230, 176, .45); border-bottom: 1px solid rgba(255, 230, 176, .45); }
html:not(#_) body.aa .aa-header .aa-nav ul { gap: .35rem; padding-block: .35rem; }
html:not(#_) body.aa .aa-header .aa-nav a { color: var(--aa-tete-txt); border-radius: 999px; font-weight: 600; letter-spacing: .1em; }
html:not(#_) body.aa .aa-header .aa-nav a:hover,
html:not(#_) body.aa .aa-header .aa-nav a.is-actif { background: rgba(255, 230, 176, .16); color: #fff; text-decoration: none; }
html:not(#_) body.aa .aa-header .aa-nav__cta a { background: var(--tv-ampoule); color: #4a1a5c !important; box-shadow: 0 0 16px rgba(255, 220, 150, .45); }
html:not(#_) body.aa .aa-header .aa-nav__cta a:hover { background: #fff3d6; color: #4a1a5c !important; }
html:not(#_) body.aa .aa-header .aa-burger { color: var(--tv-ampoule); }
@media (max-width: 800px) {
  html:not(#_) body.aa .aa-header .aa-logo { font-size: 1.02rem; letter-spacing: .07em; padding: .9rem 3rem .6rem; max-width: 100%; }
  html:not(#_) body.aa .aa-header .aa-logo__txt { max-width: calc(100vw - 8.5rem); }
  html:not(#_) body.aa .aa-header .aa-logo__mark { width: 14px; height: 14px; }
  html:not(#_) body.aa .aa-header .aa-nav { border-bottom: 0; }
  html:not(#_) body.aa .aa-header .aa-nav ul { padding-block: .4rem .6rem; }
}

/* ---------- Titres : didone, étoile de scène, rangée d'ampoules ---------- */
html:not(#_) body.aa .aa-h1 { font-family: var(--aa-police-titre); text-transform: none; letter-spacing: .01em; font-weight: 700; color: #3d1650; border-bottom: 0; }
html:not(#_) body.aa .aa-h2 {
  font-family: var(--aa-police-titre); text-transform: none; letter-spacing: .02em; font-size: 1.3rem; font-weight: 700; color: #4f1d63;
  border-bottom: 0; padding: 0 0 .7rem 1.7rem;
  background: var(--tv-etoile) left .2em / 1.1rem no-repeat,
    radial-gradient(circle, #d7b45e 0 2px, transparent 2.6px) left bottom / 14px 7px repeat-x;
}

/* ---------- Héros : projecteur sur crème, carte d'inscription = miroir à ampoules ---------- */
html:not(#_) body.aa .aa-hero {
  margin-top: -1.5rem; border: 0;
  background: radial-gradient(ellipse 60% 70% at 50% 0, rgba(255, 228, 170, .55), transparent 70%), var(--tv-creme);
}
html:not(#_) body.aa .aa-hero .aa-h1 { font-size: clamp(1.7rem, 1.1rem + 2vw, 2.6rem); }
html:not(#_) body.aa .aa-hero__chiffres span { display: inline-block; background: #fffaf2; border: 1px solid #e3cbd8; border-radius: 999px; padding: .3rem .9rem; color: #4f1d63; }
html:not(#_) body.aa .aa-hero__form {
  border: 10px solid transparent; border-radius: 26px;
  background:
    linear-gradient(#fffaf2, #fffaf2) padding-box,
    radial-gradient(circle, var(--tv-ampoule) 0 2.6px, transparent 3.2px) 0 0 / 14px 14px border-box,
    linear-gradient(var(--tv-velours), var(--tv-velours)) border-box;
  box-shadow: 0 0 0 1px rgba(255, 230, 176, .5), 0 22px 46px -24px rgba(85, 32, 106, .7);
  padding: 1.4rem 1.4rem 1.2rem;
}
html:not(#_) body.aa .aa-hero__form-h { font-family: var(--aa-police-titre); color: #3d1650; font-size: 1.35rem; text-align: center; }
html:not(#_) body.aa .aa-hero__form-p { text-align: center; }
html:not(#_) body.aa .aa-form input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
html:not(#_) body.aa .aa-form select, html:not(#_) body.aa .aa-form textarea,
html:not(#_) body.aa .aa-filtres select {
  border-radius: 14px; border: 1px solid #dcc4d2; background: #fff; color: var(--aa-texte);
}
html:not(#_) body.aa .aa-chip { border-color: #dcc4d2; background: #fff; color: var(--aa-texte); }
html:not(#_) body.aa .aa-chip:has(input:checked) { background: #f1e2f4; border-color: #7d3c98; color: #3d1650; }

/* ---------- Boutons ---------- */
html:not(#_) body.aa .aa-btn { border-radius: 999px; text-transform: none; letter-spacing: .03em; font-size: .98rem; }
html:not(#_) body.aa .aa-btn--primaire { background: linear-gradient(180deg, #8a46a6, #7d3c98 55%, #6c2c86); box-shadow: 0 10px 22px -12px rgba(125, 60, 152, .9); }
html:not(#_) body.aa .aa-btn--secondaire { background: #fffaf2; color: #4f1d63; border-color: #7d3c98; }
html:not(#_) body.aa .aa-btn--secondaire:hover { background: #f1e2f4; }

/* ---------- Liste : cartes de loge ---------- */
html:not(#_) body.aa .aa-liste { gap: 1rem; border: 0; }
html:not(#_) body.aa .aa-ligne {
  border: 1px solid #ead8df; border-radius: 20px;
  background: linear-gradient(90deg, #7d3c98 0 5px, #fffaf2 5px);
  box-shadow: 0 12px 26px -20px rgba(85, 32, 106, .6);
  padding: .9rem .9rem .9rem 1.1rem;
  transition: transform .2s ease, box-shadow .2s ease;
}
html:not(#_) body.aa .aa-ligne:last-child { border-bottom: 1px solid #ead8df; }
html:not(#_) body.aa .aa-ligne:hover { background: linear-gradient(90deg, #7d3c98 0 5px, #fff 5px); transform: translateY(-2px); box-shadow: 0 18px 32px -20px rgba(85, 32, 106, .7); }
html:not(#_) body.aa .aa-ligne__img {
  aspect-ratio: 4 / 5; padding: 5px; border: 0; border-radius: 999px 999px 16px 16px;
  background: radial-gradient(circle, var(--tv-ampoule) 0 1.8px, transparent 2.4px) 0 0 / 9px 9px, var(--tv-velours);
  box-shadow: 0 6px 14px -8px rgba(85, 32, 106, .8);
}
html:not(#_) body.aa .aa-ligne__img img { border-radius: 999px 999px 11px 11px; background: #f3e5ef; }
html:not(#_) body.aa .aa-ligne:hover .aa-ligne__img img { transform: scale(1.05); }
html:not(#_) body.aa .aa-ligne__nb { border-radius: 999px; background: rgba(42, 22, 48, .82); }
html:not(#_) body.aa .aa-ligne__tete,
html:not(#_) body.aa .aa-ligne__meta { font-family: var(--aa-police); }
html:not(#_) body.aa .aa-ligne__cat { background: #f1e2f4; color: #4f1d63; border-radius: 6px 999px 999px 6px; padding: .12rem .6rem .12rem .5rem; font-weight: 700; }
html:not(#_) body.aa .aa-ligne__new { background: var(--tv-ampoule); color: #4a1a5c; border-radius: 999px; }
html:not(#_) body.aa .aa-ligne__date { color: var(--aa-muet); }
html:not(#_) body.aa .aa-ligne__titre { font-family: var(--aa-police-titre); font-weight: 700; color: #2a1630; font-size: 1.14rem; }
html:not(#_) body.aa .aa-ligne__titre a:hover { color: #7d3c98; }
html:not(#_) body.aa .aa-ligne__extrait { opacity: 1; color: #3f2c45; }
html:not(#_) body.aa .aa-ligne__lire { border-radius: 999px; text-transform: none; letter-spacing: .03em; font-size: .86rem; }
@media (min-width: 720px) {
  html:not(#_) body.aa .aa-ligne { padding: 1rem 1.2rem 1rem 1.4rem; }
  html:not(#_) body.aa .aa-ligne__corps, html:not(#_) body.aa .aa-ligne__extrait,
  html:not(#_) body.aa .aa-ligne__action { border-left: 1px dashed #e0c9d6; }
}

/* ---------- Bandeaux, filtres, villes ---------- */
html:not(#_) body.aa .aa-filtres { border: 1px solid #e3cbd8; border-radius: 22px; background: #fffaf2; box-shadow: var(--aa-ombre); }
html:not(#_) body.aa .aa-filtres__champ { color: #4f1d63; }
html:not(#_) body.aa .aa-liens li { border: 1px solid #ead8df; border-radius: 999px; background: #fffaf2; padding: .32rem .8rem; }
html:not(#_) body.aa .aa-liens li:hover { border-color: #7d3c98; background: #fff; }
html:not(#_) body.aa .aa-liens__nb { color: var(--aa-muet); }
html:not(#_) body.aa .aa-side__h { color: #4f1d63; font-family: var(--aa-police-titre); border-bottom: 1px dashed #d8bccb; }
html:not(#_) body.aa .aa-side__liste li { border-bottom: 1px dashed #e3cfdb; }
html:not(#_) body.aa .aa-layout__side { border-top: 0; }

/* Dépôt : carte centrée en arche, de l'air autour */
html:not(#_) body.aa .aa-bloc--deposer .aa-deposer-cta {
  max-width: 560px; margin: 1.6rem auto; text-align: center; padding: 1.6rem 1.4rem 1.4rem;
  border: 1px solid #e3cbd8; border-radius: 160px 160px 24px 24px;
  background: radial-gradient(ellipse at 50% 0, rgba(255, 228, 170, .5), transparent 70%), #fffaf2;
  box-shadow: 0 20px 40px -26px rgba(85, 32, 106, .7);
}

/* ---------- Fiche d'annonce ---------- */
html:not(#_) body.aa .aa-crumbs ol { color: var(--aa-muet); }
html:not(#_) body.aa .aa-fiche__cat { color: #7d3c98; }
html:not(#_) body.aa .aa-fiche__titre { font-family: var(--aa-police-titre); color: #3d1650; }
html:not(#_) body.aa .aa-fiche__photo {
  border: 10px solid transparent; border-radius: 999px 999px 26px 26px;
  background:
    linear-gradient(#f3e5ef, #f3e5ef) padding-box,
    radial-gradient(circle, var(--tv-ampoule) 0 2.4px, transparent 3px) 0 0 / 13px 13px border-box,
    linear-gradient(var(--tv-velours), var(--tv-velours)) border-box;
  box-shadow: 0 18px 38px -22px rgba(85, 32, 106, .75);
}
html:not(#_) body.aa .aa-fiche__photo--vide { max-height: 300px; aspect-ratio: 4 / 5; }
html:not(#_) body.aa .aa-fiche__new { background: var(--tv-ampoule); color: #4a1a5c; z-index: 2; }
html:not(#_) body.aa .aa-fiche__photo .aa-fiche__new { top: auto; right: auto; bottom: .7rem; left: 50%; transform: translateX(-50%); box-shadow: 0 4px 12px -4px rgba(42, 22, 48, .5); }
@media (max-width: 719px) {
  html:not(#_) body.aa .aa-fiche__photo { max-height: 38vh; border-width: 8px; border-radius: 140px 140px 22px 22px; }
  html:not(#_) body.aa .aa-fiche__photo--vide { aspect-ratio: 4 / 3; max-height: 210px; width: min(100%, 300px); }
}
html:not(#_) body.aa .aa-fiche__cta--haut {
  border: 1px solid #e3cbd8; border-radius: 22px; background: #fffaf2;
  box-shadow: 0 16px 34px -22px rgba(85, 32, 106, .7);
  background-image: linear-gradient(90deg, #4c1b5f, #7d3c98 50%, #4c1b5f);
  background-size: 100% 6px; background-repeat: no-repeat; padding-top: 1.2rem;
}
html:not(#_) body.aa .aa-fiche__infos,
html:not(#_) body.aa .aa-repondre,
html:not(#_) body.aa .aa-depot__bloc { border: 1px solid #e3cbd8; border-radius: 20px; background: #fffaf2; box-shadow: 0 10px 24px -20px rgba(85, 32, 106, .55); }
html:not(#_) body.aa .aa-repondre .aa-h2 { padding-left: 1.7rem; }
html:not(#_) body.aa .aa-fiche__phy { background: #fffaf2; border: 1px solid #ead8df; border-radius: 16px; }
html:not(#_) body.aa .aa-fiche__physique dt { color: var(--aa-muet); }
html:not(#_) body.aa .aa-fiche__physique dd { color: #3d1650; }
html:not(#_) body.aa .aa-chips--lecture li { background: #f1e2f4; border-color: #e0c6e6; color: #4f1d63; }
html:not(#_) body.aa .aa-depot__bloc legend { font-family: var(--aa-police-titre); color: #4f1d63; }

/* ---------- Pied : rideau inversé, velours prune ---------- */
html:not(#_) body.aa .aa-footer {
  border-top: 0; color: var(--aa-pied-txt); padding-top: 2.6rem;
  background:
    radial-gradient(circle at 50% 0, var(--tv-creme) 0 12px, transparent 12.6px) left top / 28px 16px repeat-x,
    radial-gradient(ellipse at 50% 120%, rgba(255, 230, 176, .14), transparent 60%),
    repeating-linear-gradient(90deg, #36124a 0, #47195f 14px, #36124a 28px);
}
html:not(#_) body.aa .aa-footer a { color: var(--aa-pied-txt); }
html:not(#_) body.aa .aa-footer a:hover { color: var(--tv-ampoule); }
html:not(#_) body.aa .aa-footer__brand { font-family: var(--aa-police-titre); color: var(--tv-ampoule); letter-spacing: .12em; }
html:not(#_) body.aa .aa-footer__h { color: var(--tv-ampoule); }
html:not(#_) body.aa .aa-footer__bas { border-top-color: rgba(255, 230, 176, .25); opacity: 1; }

/* ---------- Porte d'âge et pop-up : miroir de loge ---------- */
html:not(#_) body.aa .aa-gate__box,
html:not(#_) body.aa .aa-popup__box {
  border: 8px solid transparent; border-radius: 26px;
  background:
    linear-gradient(#fffaf2, #fffaf2) padding-box,
    radial-gradient(circle, var(--tv-ampoule) 0 2.2px, transparent 2.8px) 0 0 / 12px 12px border-box,
    linear-gradient(var(--tv-velours), var(--tv-velours)) border-box;
  box-shadow: 0 30px 60px -30px rgba(20, 6, 28, .9);
}
html:not(#_) body.aa .aa-gate__mark { border-radius: 50%; background: radial-gradient(circle at 35% 30%, #9a55b8, #6c2c86); }

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