/* gay-cruising.be — registre « acier & orange signal » (balisage de sentier, plaques rivetées)
   Accent = acier #37474f (couleur du favicon) · signal = orange #ef6c00 (ponctuel, texte encre dessus)
   Neutre chaud = sable #f3ebdf / lin #fffaf3 · encre #1d2429
   Formes : plaques à coins coupés (bandeaux), ruban de balisage rayé, rivets, balise de sentier
   (trait orange sur les titres), pilules pour les chips et les boutons secondaires. */

html:not(#_) body.aa {
  --aa-teinte: #37474f; --aa-primaire: #37474f; --aa-primaire-fonce: #263238; --aa-primaire-txt: #fff;
  --aa-page: #ece2d3; --aa-fond: #fffaf3; --aa-surface: #fffaf3; --aa-surface-2: #f5ede1;
  --aa-texte: #1d2429; --aa-muet: #56616a; --aa-bord: #ddd0bd; --aa-lien: #2e3d45;
  --aa-tete: #232f35; --aa-tete-txt: #fff; --aa-barre: #37474f;
  --aa-bande: #37474f; --aa-bande-txt: #fff; --aa-bande-bord: #ef6c00;
  --aa-secondaire: #263238; --aa-pied: #1f292e; --aa-pied-txt: #d9d2c7;
  --aa-signal: #ef6c00; --aa-signal-doux: #fde3cc;
  --aa-rayon: 10px; --aa-rayon-s: 8px;
  --aa-ombre: 0 2px 4px rgba(38, 50, 56, .06), 0 14px 30px -18px rgba(55, 71, 79, .45);
  --aa-police: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --aa-police-titre: Bahnschrift, "DIN Alternate", "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  --aa-ruban: repeating-linear-gradient(135deg, #ef6c00 0 10px, #232f35 10px 20px);
}

/* ---- en-tête : plaque d'acier brossé + ruban de balisage ---- */
html:not(#_) .aa-header { background: linear-gradient(180deg, #2b383f, #232f35 70%); box-shadow: none; border-bottom: 0; }
html:not(#_) .aa-header::after { content: ""; display: block; height: 6px; background: var(--aa-ruban); }
html:not(#_) .aa-logo__txt { font-style: normal; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 1.3rem; }
html:not(#_) .aa-logo__mark { width: 30px; height: 30px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--aa-signal); box-shadow: inset 0 0 0 7px var(--aa-signal), inset 0 0 0 30px #fffaf3; }
html:not(#_) .aa-logo__sous { opacity: .82; letter-spacing: .04em; }
html:not(#_) .aa-header .aa-header__cta { background: var(--aa-signal); color: #1d2429; border-color: #c55700; border-radius: 999px; }
html:not(#_) .aa-nav { background: #37474f; }
html:not(#_) .aa-nav a { font-family: var(--aa-police-titre); letter-spacing: .03em; }
html:not(#_) .aa-nav a.is-actif { background: #fffaf3; color: #1d2429; border-bottom-color: var(--aa-signal); border-radius: 8px 8px 0 0; }
@media (max-width: 859px) {
  html:not(#_) .aa-nav a.is-actif { border-radius: 8px; border-left-color: var(--aa-signal); }
  html:not(#_) .aa-nav__cta a { background: var(--aa-signal); color: #1d2429; border-radius: 999px; }
}

/* ---- conteneur : plaque claire rivetée ---- */
html:not(#_) .aa-main > .aa-wrap { border-radius: 14px; border-color: #d6c8b3; position: relative;
  background-image: radial-gradient(circle at 12px 12px, #b9ab96 2.5px, transparent 3.5px), radial-gradient(circle at calc(100% - 12px) 12px, #b9ab96 2.5px, transparent 3.5px);
  background-repeat: no-repeat; }

/* ---- bandeaux : plaques à coins coupés + balise orange ---- */
html:not(#_) .aa-h2, html:not(#_) .aa-side__h, html:not(#_) .aa-bande, html:not(#_) .aa-depot__bloc legend {
  font-family: var(--aa-police-titre); font-style: normal; text-transform: uppercase; letter-spacing: .07em; font-size: .9rem; font-weight: 700;
  background: linear-gradient(90deg, #37474f, #455a64); color: #fff; border-left: 0; border-radius: 0;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  padding-left: 1rem; box-shadow: inset 5px 0 0 var(--aa-signal);
}
html:not(#_) .aa-side__h { border-bottom: 0; }
html:not(#_) .aa-bande__droite { color: #fde3cc; opacity: 1; }

/* ---- accueil : carte sable + ruban ---- */
html:not(#_) .aa-hero { background: linear-gradient(160deg, #fdf3e6, #fffaf3 65%); border: 1px solid #e6d7c1; border-left: 0; border-radius: 16px; padding-top: 1.5rem; position: relative; overflow: hidden; box-shadow: 0 16px 34px -24px rgba(239, 108, 0, .55); }
html:not(#_) .aa-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 7px; background: var(--aa-ruban); }
html:not(#_) .aa-h1, html:not(#_) .aa-fiche__titre { font-family: var(--aa-police-titre); font-weight: 700; letter-spacing: .005em; color: #1d2429; }
html:not(#_) .aa-hero__chiffres span { background: #37474f; color: #fff; border-color: #263238; }
html:not(#_) .aa-hero__chiffres span::before { background: var(--aa-signal); }

/* ---- listes d'annonces ---- */
html:not(#_) .aa-liste { border-top: 0; }
html:not(#_) .aa-ligne { border-bottom: 1px dashed #d3c4ae; border-radius: 12px; padding: .9rem .6rem; }
html:not(#_) .aa-ligne:hover { background: #fbf0e2; }
html:not(#_) .aa-ligne__img { border: 0; padding: 0; border-radius: 14px 14px 14px 2px; box-shadow: 0 0 0 3px #fffaf3, 0 0 0 5px #37474f, 0 10px 18px -10px rgba(55, 71, 79, .6); }
html:not(#_) .aa-ligne__img img { border-radius: 14px 14px 14px 2px; }
html:not(#_) .aa-ligne:hover .aa-ligne__img img { transform: scale(1.07); }
html:not(#_) .aa-ligne__cat { color: #a14a00; }
html:not(#_) .aa-ligne__new, html:not(#_) .aa-fiche__new { background: var(--aa-signal); color: #1d2429; border-radius: 999px; }
html:not(#_) .aa-ligne__titre { font-family: var(--aa-police-titre); font-size: 1.1rem; }
html:not(#_) .aa-ligne__titre a { color: #2e3d45; }
html:not(#_) .aa-ligne__titre a:hover { text-decoration-color: var(--aa-signal); text-decoration-thickness: 2px; }
html:not(#_) .aa-ligne__lire { border-radius: 999px; background: #fffaf3; color: #263238; border: 2px solid #37474f; }
html:not(#_) .aa-ligne:hover .aa-ligne__lire { background: #37474f; color: #fff; }

/* ---- colonne latérale ---- */
html:not(#_) .aa-side { border-radius: 14px; background: #f5ede1; border-color: #e0d2bd; box-shadow: var(--aa-ombre); overflow: hidden; }
html:not(#_) .aa-side__h { margin: -.8rem -.9rem .8rem; }
html:not(#_) .aa-side__liste li::before { width: 10px; height: 4px; border-radius: 2px; top: .95em; background: var(--aa-signal); }
html:not(#_) .aa-side__liste--inline li { border: 1px solid #d6c8b3; border-radius: 999px; padding: .15rem .6rem; background: #fffaf3; }
html:not(#_) .aa-side__liste--inline li::before { display: none; }
html:not(#_) .aa-btn--primaire { background: #37474f; border-color: #263238; border-radius: 999px; box-shadow: inset 0 -3px 0 var(--aa-signal), 0 10px 18px -12px rgba(55, 71, 79, .9); }
html:not(#_) .aa-btn--secondaire { border-radius: 999px; background: #fffaf3; color: #263238; border-color: #37474f; }
html:not(#_) .aa-chips li, html:not(#_) .aa-chip { background: #fffaf3; border-color: #cdbca4; }
html:not(#_) .aa-chip:has(input:checked) { border-color: var(--aa-signal); background: #fde3cc; color: #1d2429; }
html:not(#_) .aa-pagination a, html:not(#_) .aa-pagination span { border-radius: 999px; }
html:not(#_) .aa-pagination .is-actif { background: #37474f; box-shadow: 0 0 0 2px var(--aa-signal); }

/* ---- fiche d'annonce ---- */
html:not(#_) .aa-fiche__titre { border-bottom: 0; padding-bottom: .4rem; background: linear-gradient(90deg, var(--aa-signal) 0 64px, transparent 64px) bottom left / 100% 4px no-repeat; }
html:not(#_) .aa-fiche__photo { border: 0; border-radius: 22px 22px 22px 4px; box-shadow: 0 0 0 4px #fffaf3, 0 0 0 7px #37474f, 0 22px 40px -22px rgba(55, 71, 79, .75); }
html:not(#_) .aa-fiche__miniatures img, html:not(#_) .aa-fiche__miniatures a { border-radius: 10px; }
html:not(#_) .aa-fiche__infos { border-radius: 12px; overflow: hidden; border: 1px solid #ddd0bd; }
html:not(#_) .aa-fiche__cta--haut { background: #f5ede1; border: 1px solid #ddcbb2; border-radius: 16px; padding: 1rem; position: relative; }
html:not(#_) .aa-fiche__cta--haut::before { content: ""; position: absolute; left: 1rem; right: 1rem; top: -1px; height: 4px; border-radius: 0 0 4px 4px; background: var(--aa-ruban); }
html:not(#_) .aa-fiche__cta--bas { background: #fdf3e6; border: 0; border-radius: 18px; max-width: 520px; margin-inline: auto; padding: 1.4rem 1.2rem; box-shadow: 0 18px 34px -24px rgba(239, 108, 0, .7), inset 0 0 0 1px #e8d5bb; }
html:not(#_) .aa-fiche__phy, html:not(#_) .aa-fiche__physique > * { border-radius: 12px; }
html:not(#_) .aa-repondre, html:not(#_) .aa-deposer-cta { border-radius: 18px; border: 0; background: #fdf3e6; box-shadow: inset 0 0 0 1px #e8d5bb, 0 16px 30px -24px rgba(55, 71, 79, .6); }
html:not(#_) .aa-deposer-cta { max-width: 640px; margin-inline: auto; padding: 1.3rem 1.4rem; }
html:not(#_) .aa-fiche__barre, html:not(#_) .aa-mobar { background: rgba(255, 250, 243, .96); border-top: 3px solid var(--aa-signal); }

/* ---- dépôt : étapes numérotées en pastille orange ---- */
html:not(#_) .aa-depot__bloc { border-radius: 16px; background: #fffaf3; border-color: #e0d2bd; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-depot__bloc legend::before { background: var(--aa-signal); color: #1d2429; font-weight: 800; }
html:not(#_) .aa-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
html:not(#_) .aa-form select, html:not(#_) .aa-form textarea { border-radius: 10px; border-color: #cbbba3; background: #fff; color: #1d2429; }
html:not(#_) .aa-form input:focus, html:not(#_) .aa-form select:focus, html:not(#_) .aa-form textarea:focus { border-color: #37474f; box-shadow: 0 0 0 3px #fde3cc; outline: 0; }

/* ---- pop-up / porte ---- */
html:not(#_) .aa-gate__box, html:not(#_) .aa-popup__box { border-radius: 18px; border-top: 0; background-image: linear-gradient(#fffaf3, #fffaf3), var(--aa-ruban); background-size: 100% 100%, 100% 6px; background-repeat: no-repeat; background-origin: padding-box, border-box; padding-top: 1.8rem; }
html:not(#_) .aa-gate__mark { background: #37474f; box-shadow: 0 0 0 4px var(--aa-signal); }

/* ---- pied : acier sombre, ruban en tête ---- */
html:not(#_) .aa-footer { border-top: 0; background: #1f292e; }
html:not(#_) .aa-footer::before { content: ""; display: block; height: 6px; background: var(--aa-ruban); }
html:not(#_) .aa-footer__h { color: #ffb574; border-bottom: 2px solid rgba(239, 108, 0, .45); font-family: var(--aa-police-titre); }
html:not(#_) .aa-footer__brand { font-family: var(--aa-police-titre); text-transform: uppercase; letter-spacing: .06em; }
html:not(#_) .aa-footer__brand .aa-logo__mark { border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--aa-signal); }
html:not(#_) .aa-footer a:hover { color: #ffb574; }

@media (prefers-reduced-motion: reduce) {
  html:not(#_) .aa-ligne__img img, html:not(#_) .aa-btn { transition: none; }
}
@media (max-width: 639px) {
  html:not(#_) .aa-h2, html:not(#_) .aa-bande, html:not(#_) .aa-side__h { letter-spacing: .03em; font-size: .84rem; }
}
