/* site-echangiste.be — registre « salle des fêtes art déco liégeoise »
   Miroirs biseautés, laiton fin, rubis sur ivoire. Accent = rubis du favicon (#a8323e,
   foncé #7d1f2a), neutre chaud ivoire / lin (#fbf5ea, #f3e8d6), encre de salle (#22161a),
   laiton en filets seulement (#b08d57, clair #d9bb84 sur fond encre).
   Composition : en-tête en FRONTON (logo centré sous un éventail de rayons, menu centré
   ponctué de losanges, gradins de laiton qui descendent sous le fronton), annonces en
   CARTONS D'INVITATION (double filet biseauté, coin à gradins, photo en arche), bandeaux en
   cartouches à pans coupés, pied à gradins inversés.
   Formes signature : éventail/soleil, arche, cartouche à pans coupés, gradins (ziggourat),
   cœur rubis en filigrane. */

html:not(#_) body.aa {
  --aa-accent: #a8323e; --aa-teinte: #a8323e;
  --aa-primaire: #a8323e; --aa-primaire-fonce: #7d1f2a; --aa-primaire-txt: #fff;
  --aa-page: #efe4d2; --aa-fond: #fffbf4; --aa-surface: #fffbf4; --aa-surface-2: #f6ecdc;
  --aa-texte: #261a1c; --aa-muet: #6b5552; --aa-bord: #e2d2b6; --aa-lien: #a8323e;
  --aa-tete: #22161a; --aa-tete-txt: #f6ead6; --aa-barre: #2c1d21;
  --aa-bande: #22161a; --aa-bande-txt: #f1dcaf; --aa-bande-bord: #b08d57;
  --aa-secondaire: #22161a; --aa-secondaire-txt: #fff;
  --aa-pied: #1d1215; --aa-pied-txt: #eadcc6;
  --aa-ok: #2f6b3a;
  --aa-rayon: 6px; --aa-rayon-s: 4px;
  --aa-ombre: 0 2px 4px rgba(80, 30, 36, .06), 0 18px 34px -22px rgba(168, 50, 62, .45);
  --aa-police: "Segoe UI", "Helvetica Neue", Roboto, Arial, sans-serif;
  --aa-police-titre: "Bodoni MT", Didot, "Didot LT STD", "Playfair Display", Georgia, serif;
  --dc-laiton: #b08d57; --dc-laiton-c: #d9bb84; --dc-deco: "Century Gothic", Futura, "Avenir Next", "Trebuchet MS", sans-serif;
  --dc-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M16 29 3.5 16.6A7.7 7.7 0 0 1 16 5.2 7.7 7.7 0 0 1 28.5 16.6Z' fill='%23a8323e'/%3E%3C/svg%3E");
  --dc-gradins: polygon(0 0, 100% 0, 100% 30%, 82% 30%, 82% 60%, 66% 60%, 66% 100%, 34% 100%, 34% 60%, 18% 60%, 18% 30%, 0 30%);
  --dc-pans: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px);
  font-size: 15px;
  background:
    repeating-linear-gradient(90deg, transparent 0 46px, rgba(176, 141, 87, .09) 46px 47px),
    var(--aa-page);
}
@media (min-width: 640px) { html:not(#_) body.aa { font-size: 15.5px; } }

/* --- en-tête en fronton ------------------------------------------------------------ */
html:not(#_) .aa-header {
  background:
    repeating-conic-gradient(from -90deg at 50% 0, rgba(217, 187, 132, .10) 0 4deg, transparent 4deg 9deg) top center / 100% 100% no-repeat,
    linear-gradient(180deg, #2a1b20, #22161a 70%);
  box-shadow: none; border-bottom: 3px double var(--dc-laiton);
}
html:not(#_) .aa-header::after {
  content: ""; position: absolute; left: 50%; bottom: -17px; width: 180px; height: 14px; transform: translateX(-50%);
  background: var(--dc-laiton); clip-path: var(--dc-gradins); pointer-events: none;
}
html:not(#_) .aa-logo__mark {
  width: 34px; height: 22px; border-radius: 34px 34px 0 0; align-self: center;
  background: repeating-conic-gradient(from -90deg at 50% 100%, #a8323e 0 12deg, #d9bb84 12deg 18deg);
  box-shadow: 0 0 0 1px var(--dc-laiton);
}
html:not(#_) .aa-logo__txt { font-family: var(--aa-police-titre); font-weight: 700; letter-spacing: .01em; }
html:not(#_) .aa-logo__sous { font-family: var(--dc-deco); letter-spacing: .14em; text-transform: uppercase; font-size: .66rem; opacity: 1; color: var(--dc-laiton-c); }
html:not(#_) .aa-header__cta { border-radius: 999px; box-shadow: inset 0 0 0 2px rgba(241, 220, 175, .35); }
html:not(#_) .aa-nav { background: transparent; border-top: 1px solid rgba(217, 187, 132, .28); }
html:not(#_) .aa-nav a { font-family: var(--dc-deco); text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; color: #f6ead6; }
html:not(#_) .aa-nav a .aa-ico { color: var(--dc-laiton-c); }
html:not(#_) .aa-nav a:hover { background: rgba(217, 187, 132, .10); }
html:not(#_) .aa-nav a.is-actif { background: transparent; color: #f1dcaf; border-bottom-color: #a8323e; }
@media (min-width: 860px) {
  html:not(#_) .aa-header__in { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); grid-template-areas: ". logo cta" "nav nav nav"; padding-top: 1rem; gap: .7rem 1rem; }
  html:not(#_) .aa-logo { flex-direction: column; gap: .35rem; text-align: center; }
  html:not(#_) .aa-logo__mark { width: 52px; height: 26px; }
  html:not(#_) .aa-logo__txt { font-size: 1.75rem; }
  html:not(#_) .aa-header__cta { justify-self: end; }
  html:not(#_) .aa-nav ul { justify-content: center; }
  html:not(#_) .aa-nav li + li:not(.aa-nav__cta)::before { content: ""; align-self: center; width: 5px; height: 5px; background: var(--dc-laiton); transform: rotate(45deg); }
  html:not(#_) .aa-nav li:not(.aa-nav__cta) { display: flex; align-items: center; }
}
@media (max-width: 859px) {
  html:not(#_) .aa-header::after { width: 120px; height: 10px; bottom: -13px; }
  html:not(#_) .aa-nav { background: #2c1d21; border: 1px solid rgba(217, 187, 132, .3); }
  html:not(#_) .aa-burger { border-color: rgba(217, 187, 132, .45); color: #f1dcaf; }
  html:not(#_) .aa-nav a.is-actif { border-left-color: #d9bb84; background: rgba(217, 187, 132, .10); }
}

/* --- salle : conteneur ivoire, miroir biseauté ------------------------------------- */
html:not(#_) .aa-main { padding-top: 1.8rem; }
html:not(#_) .aa-main > .aa-wrap { border: 1px solid var(--dc-laiton); border-radius: 4px; box-shadow: inset 0 0 0 5px var(--aa-fond), inset 0 0 0 6px #ead9b9, var(--aa-ombre); }

/* --- cartouches à pans coupés (titres de section) ------------------------------------ */
html:not(#_) .aa-h2, html:not(#_) .aa-bande, html:not(#_) .aa-depot__bloc legend {
  border-radius: 0; border-left: 0; clip-path: var(--dc-pans); padding: .55rem 1.1rem;
  background: linear-gradient(180deg, #2c1d21, #22161a); color: #f1dcaf;
  font-family: var(--dc-deco); letter-spacing: .14em; font-size: .8rem;
  box-shadow: inset 0 -2px 0 var(--dc-laiton);
}
html:not(#_) .aa-h2 .aa-ico, html:not(#_) .aa-bande .aa-ico { color: #d9bb84; opacity: 1; }
html:not(#_) .aa-bloc__tete { flex-wrap: wrap; gap: .5rem 1rem; }
html:not(#_) .aa-bloc__tete .aa-h2 { flex: 1 1 280px; min-width: 0; }
html:not(#_) .aa-lien { color: #7d1f2a; font-family: var(--dc-deco); font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }

/* --- accueil : carton d'ouverture sous un soleil ------------------------------------- */
html:not(#_) .aa-hero {
  text-align: center; border: 1px solid var(--dc-laiton); border-left: 1px solid var(--dc-laiton); border-radius: 4px; padding: 1.6rem 1.2rem 1.3rem;
  background:
    var(--dc-coeur) right 1rem bottom .9rem / 26px 24px no-repeat,
    repeating-conic-gradient(from -90deg at 50% 0, rgba(168, 50, 62, .07) 0 5deg, transparent 5deg 11deg) top center / 100% 100% no-repeat,
    var(--aa-fond);
  box-shadow: inset 0 0 0 5px var(--aa-fond), inset 0 0 0 6px #e4cfaa, 0 16px 30px -24px rgba(168, 50, 62, .6);
}
html:not(#_) .aa-hero .aa-h1 { font-family: var(--aa-police-titre); font-weight: 700; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.15rem); color: #22161a; }
html:not(#_) .aa-hero .aa-h1::after { content: ""; display: block; width: 120px; height: 9px; margin: .55rem auto 0; background: linear-gradient(var(--dc-laiton), var(--dc-laiton)) center / 100% 1px no-repeat, linear-gradient(var(--dc-laiton), var(--dc-laiton)) center bottom / 60% 1px no-repeat; }
html:not(#_) .aa-hero .aa-intro { margin-inline: auto; color: #4f3c3b; }
html:not(#_) .aa-hero__chiffres { justify-content: center; }
html:not(#_) .aa-hero__chiffres span { background: #fff; border: 1px solid #a8323e; color: #7d1f2a; font-family: var(--dc-deco); letter-spacing: .05em; }
html:not(#_) .aa-hero__chiffres span::before { background: #a8323e; border-radius: 0; transform: rotate(45deg); width: 6px; height: 6px; }

/* --- annonces : cartons d'invitation ------------------------------------------------- */
html:not(#_) .aa-liste { border-top: 0; gap: .9rem; }
html:not(#_) .aa-ligne {
  background: #fffdf8; border: 1px solid var(--dc-laiton); border-radius: 3px; padding: 1rem .95rem .9rem;
  box-shadow: inset 0 0 0 4px #fffdf8, inset 0 0 0 5px #ecdcbf, 0 10px 22px -18px rgba(80, 30, 36, .5);
  transition: transform .2s ease, box-shadow .2s ease;
}
html:not(#_) .aa-ligne::before {
  content: ""; position: absolute; top: 9px; right: 9px; width: 34px; height: 16px; background: #a8323e; opacity: .85;
  clip-path: polygon(100% 0, 100% 100%, 75% 100%, 75% 66%, 50% 66%, 50% 33%, 25% 33%, 25% 0); pointer-events: none;
}
html:not(#_) .aa-ligne:hover { background: #fffdf8; transform: translateY(-2px); box-shadow: inset 0 0 0 4px #fffdf8, inset 0 0 0 5px #e2c99c, 0 18px 30px -18px rgba(168, 50, 62, .55); }
html:not(#_) .aa-ligne__img { border-radius: 50px 50px 4px 4px; border: 1px solid var(--dc-laiton); padding: 3px; background: #f6ecdc; }
html:not(#_) .aa-ligne__img img { border-radius: 47px 47px 2px 2px; }
html:not(#_) .aa-ligne__tete { padding-right: 38px; }
html:not(#_) .aa-ligne__cat { color: #7d1f2a; font-family: var(--dc-deco); letter-spacing: .1em; }
html:not(#_) .aa-ligne__new { background: #22161a; color: #f1dcaf; border-radius: 0; clip-path: polygon(5px 0, calc(100% - 5px) 0, 100% 50%, calc(100% - 5px) 100%, 5px 100%, 0 50%); padding-inline: .6rem; }
html:not(#_) .aa-ligne__titre { font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; }
html:not(#_) .aa-ligne__titre a { color: #8f2633; }
html:not(#_) .aa-ligne__meta strong { color: #22161a; }
html:not(#_) .aa-ligne__lire { background: transparent; color: #7d1f2a; border: 1px solid #a8323e; border-radius: 999px; font-family: var(--dc-deco); letter-spacing: .06em; }
html:not(#_) .aa-ligne__lire:hover { background: #a8323e; color: #fff; }
@media (min-width: 720px) {
  html:not(#_) .aa-ligne { padding: 1.05rem 1.1rem; }
  html:not(#_) .aa-ligne__img { border-radius: 58px 58px 4px 4px; }
  html:not(#_) .aa-ligne__img img { border-radius: 55px 55px 2px 2px; }
  html:not(#_) .aa-ligne__tete { padding-right: 0; }
}

/* --- colonne latérale : cartes de bal ------------------------------------------------ */
html:not(#_) .aa-side { background: var(--aa-fond); border: 1px solid var(--dc-laiton); border-radius: 3px; box-shadow: inset 0 0 0 4px var(--aa-fond), inset 0 0 0 5px #ecdcbf; }
html:not(#_) .aa-side--deposer { border: 0; box-shadow: none; background: none; }
html:not(#_) .aa-side__h {
  border-radius: 0; border-bottom: 0; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px));
  background: linear-gradient(180deg, #2c1d21, #22161a); color: #f1dcaf; font-family: var(--dc-deco); letter-spacing: .14em; font-size: .76rem; box-shadow: inset 0 -2px 0 var(--dc-laiton);
}
html:not(#_) .aa-side__h .aa-ico { color: #d9bb84; }
html:not(#_) .aa-side__liste li::before { border-radius: 0; transform: rotate(45deg); background: #a8323e; width: 5px; height: 5px; }
html:not(#_) .aa-side__liste li { border-top-color: #ead9bb; }
html:not(#_) .aa-side__nb { border-color: #e2c99c; background: #fbf3e6; color: #5d4644; }
html:not(#_) .aa-side__liste--inline li { border-color: #e2c99c; background: #fffdf8; }
html:not(#_) .aa-side .aa-btn--primaire, html:not(#_) .aa-btn--primaire { background: linear-gradient(180deg, #b23845, #9a2c38); border-color: #7d1f2a; border-radius: 999px; box-shadow: inset 0 0 0 2px rgba(241, 220, 175, .3), 0 8px 18px -12px rgba(168, 50, 62, .8); }
html:not(#_) .aa-btn--secondaire { border-radius: 999px; border-color: #22161a; color: #22161a; background: #fffdf8; }

/* --- liens, moteur, pagination ----------------------------------------------------------- */
html:not(#_) .aa-liens li { background: #fffdf8; border-color: #e2c99c; border-radius: 3px; }
html:not(#_) .aa-compo-2 .aa-liens--cats li { border-radius: 999px; }
html:not(#_) .aa-liens li::before { background: #a8323e; }
html:not(#_) .aa-compo-2 .aa-liens--cats li::before { border-radius: 0; transform: translateY(-50%) rotate(45deg); }
html:not(#_) .aa-filtres { background: #f8efe0; border: 1px solid #e2c99c; border-radius: 3px; }
html:not(#_) .aa-side .aa-filtres { background: none; border: 0; padding: 0; }
html:not(#_) .aa-filtres__champ { font-family: var(--dc-deco); letter-spacing: .08em; color: #5d4644; }
html:not(#_) select, html:not(#_) input[type="text"], html:not(#_) input[type="email"], html:not(#_) input[type="tel"], html:not(#_) input[type="number"], html:not(#_) textarea { border-color: #dcc7a3; border-radius: 3px; background-color: #fffdf8; }
html:not(#_) .aa-pagination a, html:not(#_) .aa-pagination span { border-radius: 0; clip-path: polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px); background: #f6ecdc; border-color: #dcc7a3; }
html:not(#_) .aa-pagination .is-actif { background: #a8323e; color: #fff; }

/* --- fiche : photo en arche, identité gravée, CTA en carton -------------------------------- */
html:not(#_) .aa-fiche__titre { font-family: var(--aa-police-titre); font-weight: 700; color: #22161a; border-bottom: 4px double var(--dc-laiton); }
html:not(#_) .aa-fiche__cat a { color: #7d1f2a; font-family: var(--dc-deco); }
html:not(#_) .aa-fiche__new { background: #22161a; color: #f1dcaf; border-radius: 0; }
html:not(#_) .aa-fiche__photo { border: 1px solid var(--dc-laiton); border-radius: 150px 150px 6px 6px; padding: 5px; background: #f6ecdc; box-shadow: inset 0 0 0 4px #fffdf8, 0 18px 30px -20px rgba(168, 50, 62, .55); }
html:not(#_) .aa-fiche__miniatures img { border-color: #e2c99c; border-radius: 30px 30px 3px 3px; }
html:not(#_) .aa-fiche__infos { border-color: var(--dc-laiton); border-radius: 3px; }
html:not(#_) .aa-fiche__infos > div:nth-child(odd) { background: #f8efe0; }
html:not(#_) .aa-fiche__infos > div + div { border-top-color: #ead9bb; }
html:not(#_) .aa-fiche__infos dd { border-left-color: #ead9bb; }
html:not(#_) .aa-fiche__infos dt { font-family: var(--dc-deco); font-size: .8rem; letter-spacing: .06em; color: #5d4644; }
html:not(#_) .aa-fiche__cta--haut, html:not(#_) .aa-fiche__cta--bas {
  background: #fffdf8;
  border: 1px solid var(--dc-laiton); border-radius: 3px; box-shadow: inset 0 0 0 4px #fffdf8, inset 0 0 0 5px #ecdcbf, 0 14px 26px -20px rgba(168, 50, 62, .6);
}
html:not(#_) .aa-fiche__cta--haut { padding: 1.1rem 1rem; }
html:not(#_) .aa-fiche__cta--bas { padding: 2.1rem 1.1rem 1.3rem; background: var(--dc-coeur) center .75rem / 18px 17px no-repeat, #fffdf8; }
html:not(#_) .aa-fiche__phy { background: #fffdf8; border-color: #e2c99c; border-top: 2px solid #a8323e; border-radius: 2px; }
html:not(#_) .aa-fiche__physique dt { font-family: var(--dc-deco); color: #5d4644; }
html:not(#_) .aa-fiche__plage { background: #f8efe0; border: 1px solid #e2c99c; color: #22161a; }
html:not(#_) .aa-chips li, html:not(#_) .aa-chip { border-color: #d9bb84; background: #fffdf8; }
html:not(#_) .aa-chips--lecture li { background: #fbf3e6; color: #4f2a2e; }
html:not(#_) .aa-repondre { background: #fffdf8; border: 1px solid var(--dc-laiton); border-radius: 3px; box-shadow: inset 0 0 0 4px #fffdf8, inset 0 0 0 5px #ecdcbf; padding: 1.2rem; }

/* --- dépôt, atouts, encarts ----------------------------------------------------------- */
html:not(#_) .aa-depot__bloc { background: #fffdf8; border: 1px solid #dcc7a3; border-radius: 3px; }
html:not(#_) .aa-depot__bloc legend::before { background: #d9bb84; color: #22161a; border-radius: 0; width: 2em; height: 2em; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
html:not(#_) .aa-atouts li, html:not(#_) .aa-etapes li { background: #fffdf8; border-color: #e2c99c; border-left-color: #a8323e; border-radius: 3px; }
html:not(#_) .aa-atouts .aa-atouts__ico { background: #f6e3dd; color: #7d1f2a; border-radius: 22px 22px 3px 3px; }
html:not(#_) .aa-etapes li::before { border-radius: 0; width: 2rem; height: 2rem; left: .7rem; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
html:not(#_) .aa-deposer-cta { background: var(--dc-coeur) right 1rem center / 22px 20px no-repeat, #fffdf8; border: 1px solid var(--dc-laiton); border-radius: 3px; box-shadow: inset 0 0 0 4px #fffdf8, inset 0 0 0 5px #ecdcbf; }
html:not(#_) .aa-deposer-cta__h { font-family: var(--aa-police-titre); font-size: 1.15rem; }

/* --- pied : gradins inversés, laiton ------------------------------------------------------ */
html:not(#_) .aa-footer { position: relative; border-top: 3px double var(--dc-laiton); background: repeating-conic-gradient(from 90deg at 50% 100%, rgba(217, 187, 132, .06) 0 4deg, transparent 4deg 9deg), #1d1215; margin-top: 2rem; }
html:not(#_) .aa-footer::before { content: ""; position: absolute; left: 50%; top: -18px; width: 180px; height: 14px; transform: translateX(-50%) rotate(180deg); background: var(--dc-laiton); clip-path: var(--dc-gradins); pointer-events: none; }
html:not(#_) .aa-footer__h { color: #d9bb84; font-family: var(--dc-deco); letter-spacing: .16em; border-bottom-color: rgba(217, 187, 132, .3); }
html:not(#_) .aa-footer__brand { font-family: var(--aa-police-titre); color: #f6ead6; }
html:not(#_) .aa-footer a:hover { color: #f1dcaf; }
html:not(#_) .aa-footer__fictif { opacity: 1; color: #cbb9a4; }

/* --- barre mobile et pop-up : couleurs seulement ------------------------------------------- */
html:not(#_) .aa-mobar, html:not(#_) .aa-fiche__barre { background: rgba(255, 251, 244, .95); border-top: 2px solid var(--dc-laiton); }
html:not(#_) .aa-popup__box, html:not(#_) .aa-gate__box { border-top: 0; border-radius: 4px; box-shadow: inset 0 0 0 1px var(--dc-laiton), inset 0 0 0 5px var(--aa-surface), inset 0 0 0 6px #ecdcbf, 0 30px 60px -20px rgba(0, 0, 0, .6); }
html:not(#_) .aa-gate__mark { background: repeating-conic-gradient(from -90deg at 50% 100%, #a8323e 0 12deg, #b8404c 12deg 24deg); border-radius: 68px 68px 6px 6px; }

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