/* =====================================================================
   libertin-monaco.com — registre « velours & or mat »
   Gabarit annoncesastro (skin 6 « pastel » / compo 4) : feuille de site écrite par-dessus.

   PALETTE : velours #7b1e2b (couleur du site) → #5a1520 → #40101a
             or mat #c2a15c · or foncé #7a5d22 · sable #ead6b4
             crème #f6efe2 (page) · ivoire #fffaf2 (surfaces) · encre #2a1c19

   COMPOSITION : bandeau de velours pleine largeur (en-tête + hero d'un seul tenant, double
   filet d'or en bas), centre crème, cartes-lignes LARGES à COIN COUPÉ souligné d'un filet
   d'or, vignettes en ARCHE encadrées d'or, CARTOUCHES de velours pour les titres de colonne
   et le badge « Nouveau », LOSANGE d'or au logo et devant chaque titre de section, carte de
   dépôt centrée (cœur d'or en filigrane, double filet), CTA en rectangle arrondi d'or mat,
   pied de page en velours à filet d'or.
   Rien n'est déplacé ni masqué : les deux CTA de la fiche, le bouton du dépôt et celui de la
   pop-up gardent leur place, leur largeur et leur hauteur.
   design.css est chargé après site.css : le préfixe html:not(#_) ne sert que là où le skin
   ou la composition visent le même élément avec deux classes.
   ===================================================================== */

html:not(#_) body.aa {
  --vl-velours: #7b1e2b;
  --vl-velours-f: #5a1520;
  --vl-velours-n: #40101a;
  --vl-or: #c2a15c;
  --vl-or-clair: #e2c992;
  --vl-or-f: #7a5d22;
  --vl-creme: #f6efe2;
  --vl-ivoire: #fffaf2;
  --vl-encre: #2a1c19;
  --vl-muet: #6b564a;
  --vl-sable: #ead6b4;
  --vl-coupe: 28px;
  --vl-filet: rgba(194, 161, 92, .42);
  --vl-or-fond: linear-gradient(225deg, var(--vl-or) 0 23px, transparent 23px);
  --vl-cadre: inset 0 0 0 1px var(--vl-filet);
  --vl-pose: 0 1px 2px rgba(64, 16, 26, .08), 0 14px 26px -22px rgba(64, 16, 26, .7);

  --aa-fond: var(--vl-creme);
  --aa-surface: var(--vl-ivoire);
  --aa-texte: var(--vl-encre);
  --aa-muet: var(--vl-muet);
  --aa-bord: #e3d2b6;
  --aa-primaire: var(--vl-velours);
  --aa-primaire-txt: #fff6e8;
  --aa-secondaire: var(--vl-velours-f);
  --aa-secondaire-txt: #fff6e8;
  --aa-rayon: 6px;
  --aa-rayon-s: 5px;
  --aa-ombre: var(--vl-pose);
  --aa-police: Optima, Candara, "Segoe UI", system-ui, sans-serif;
  --aa-police-titre: "Bodoni MT", Didot, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --aa-tete: var(--vl-velours-f);
  --aa-tete-txt: #fbf2e4;
  --aa-pied: var(--vl-velours-f);
  --aa-pied-txt: var(--vl-sable);
  background:
    radial-gradient(1200px 420px at 50% -140px, rgba(122, 93, 34, .07), transparent 70%),
    var(--vl-creme);
}

/* ---- 1. bandeau de velours : en-tête pleine largeur, double filet d'or ---- */
html:not(#_) .aa-header {
  padding: 0;
  border: 0;
  background:
    repeating-linear-gradient(105deg, rgba(255, 244, 224, .045) 0 3px, transparent 3px 9px),
    linear-gradient(180deg, #6b1a26, var(--vl-velours-f) 70%, #521320);
  box-shadow: 0 2px 0 rgba(194, 161, 92, .85), 0 4px 0 rgba(194, 161, 92, .26),
              0 18px 30px -26px rgba(40, 8, 14, .9);
}
html:not(#_) .aa-header__in {
  background: transparent;
  backdrop-filter: none;
  border-radius: 0;
  box-shadow: none;
  padding: .3rem var(--aa-gout);
  min-height: 64px;
}
html:not(#_) .aa-logo { color: #fdf4e6; font-style: normal; font-size: 1.4rem; letter-spacing: .02em; }
html:not(#_) .aa-logo__mark {
  width: 11px; height: 11px;
  border-radius: 1px;
  transform: rotate(45deg);
  background: linear-gradient(135deg, var(--vl-or-clair), var(--vl-or) 60%, #9c7c33);
  box-shadow: 0 0 0 1px rgba(255, 246, 228, .35);
}
html:not(#_) .aa-nav a {
  color: #f6e7d2;
  border-radius: 2px;
  font-weight: 600;
  letter-spacing: .02em;
  border-bottom: 1px solid transparent;
}
html:not(#_) .aa-nav a:hover, html:not(#_) .aa-nav a.is-actif {
  background: transparent;
  color: var(--vl-or-clair);
  border-bottom-color: var(--vl-or);
}
html:not(#_) .aa-nav__cta a {
  background: linear-gradient(180deg, var(--vl-or-clair), var(--vl-or) 55%, #ab8b41);
  color: var(--vl-velours-n) !important;
  border-radius: 6px;
  border-bottom-color: transparent;
  font-weight: 700;
  box-shadow: 0 6px 14px -8px rgba(40, 8, 14, .8);
}
.aa-burger { color: var(--vl-or-clair); }
@media (max-width: 800px) {
  html:not(#_) .aa-nav {
    top: 100%; left: 0; right: 0;
    border-radius: 0;
    border-bottom: 2px solid var(--vl-or);
    background: var(--vl-velours-f);
    padding: .4rem var(--aa-gout) .9rem;
  }
  html:not(#_) .aa-nav a { border-bottom: 1px solid rgba(194, 161, 92, .22); }
  html:not(#_) .aa-nav li:last-child a { border-bottom-color: transparent; }
}

/* ---- 2. hero : le velours continue, la carte d'inscription posée dessus ---- */
html:not(#_) .aa-hero {
  margin: -1.2rem 0 1.8rem;
  padding-block: 2rem 2.4rem;
  border: 0;
  color: #fbf1e2;
  --aa-texte: #fbf1e2;
  --aa-muet: #d9c3a4;
  background:
    repeating-linear-gradient(105deg, rgba(255, 244, 224, .04) 0 3px, transparent 3px 10px),
    radial-gradient(900px 300px at 12% 0%, rgba(154, 45, 60, .55), transparent 70%),
    linear-gradient(170deg, #521320, var(--vl-velours) 55%, #4a1119);
  box-shadow: inset 0 -2px 0 rgba(194, 161, 92, .8), inset 0 -6px 0 rgba(194, 161, 92, .22);
}
html:not(#_) .aa-hero .aa-h1 { color: #fdf5e8; font-weight: 400; }
.aa-hero__txt .aa-intro { color: #e3cfb4; }
.aa-hero__chiffres {
  color: var(--vl-or-clair);
  letter-spacing: .04em;
  border-top: 1px solid rgba(194, 161, 92, .45);
  padding-top: .7rem;
  display: inline-block;
}
html:not(#_) .aa-hero__form {
  --aa-muet: var(--vl-muet);
  --aa-bord: #e3d2b6;
  color: var(--vl-encre);
  background-color: var(--vl-ivoire);
  background-image: var(--vl-or-fond);
  background-repeat: no-repeat;
  border: 0;
  border-radius: 0;
  padding: 1.5rem 1.4rem 1.4rem;
  clip-path: polygon(0 0, calc(100% - var(--vl-coupe)) 0, 100% var(--vl-coupe), 100% 100%, 0 100%);
  box-shadow: var(--vl-cadre), 0 26px 44px -26px rgba(32, 6, 12, .85);
}
.aa-hero__form-h { color: var(--vl-velours-f); font-weight: 400; font-size: 1.35rem; }

/* ---- 3. carte de dépôt : centrée, double filet, cœur d'or en filigrane ---- */
html:not(#_) .aa-bloc--deposer .aa-deposer-cta {
  max-width: 600px;
  margin: .6rem auto 0;
  padding: 2.1rem 1.7rem 2.7rem;
  text-align: center;
  border: 0;
  border-radius: 0;
  background-color: var(--vl-ivoire);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 28.5S3.5 20.6 3.5 12.6A7.6 7.6 0 0 1 16 7.2a7.6 7.6 0 0 1 12.5 5.4c0 8-12.5 15.9-12.5 15.9z' fill='none' stroke='%23c2a15c' stroke-opacity='.55' stroke-width='1.2'/%3E%3C/svg%3E"),
    var(--vl-or-fond);
  background-repeat: no-repeat, no-repeat;
  background-position: right -22px bottom -26px, 0 0;
  background-size: 96px 96px, auto;
  clip-path: polygon(0 0, calc(100% - var(--vl-coupe)) 0, 100% var(--vl-coupe), 100% 100%, 0 100%);
  box-shadow: inset 0 0 0 1px rgba(194, 161, 92, .55), inset 0 0 0 7px var(--vl-ivoire),
              inset 0 0 0 8px rgba(194, 161, 92, .3), 0 18px 34px -24px rgba(64, 16, 26, .6);
}
html:not(#_) .aa-bloc--deposer .aa-deposer-cta .aa-btn { min-width: min(100%, 300px); }

/* ---- 4. boutons : rectangle arrondi d'or mat pour ce qui convertit ---- */
html:not(#_) .aa-btn {
  border-radius: 7px;
  font-family: var(--aa-police);
  letter-spacing: .015em;
  box-shadow: 0 6px 16px -10px rgba(64, 16, 26, .7);
}
html:not(#_) .aa-btn--primaire,
html:not(#_) .aa-repondre .aa-btn--secondaire {
  background: linear-gradient(180deg, var(--vl-or-clair), var(--vl-or) 52%, #a8873e);
  color: var(--vl-velours-n);
  border-color: rgba(122, 93, 34, .55);
  font-weight: 700;
}
html:not(#_) .aa-btn--secondaire {
  background: var(--vl-ivoire);
  color: var(--vl-velours-f);
  border-color: var(--vl-or);
  box-shadow: 0 5px 14px -12px rgba(64, 16, 26, .6);
}
html:not(#_) .aa-btn--secondaire:hover { background: #fdf3e2; border-color: var(--vl-or-f); }
.aa-lien { color: var(--vl-velours); border-bottom: 1px solid rgba(194, 161, 92, .7); }

/* ---- 5. cartes-lignes larges à coin coupé, vignette en arche ---- */
html:not(#_) .aa-liste { gap: .85rem; }
html:not(#_) .aa-ligne {
  border: 0;
  border-radius: 0;
  padding: .9rem;
  background-color: var(--vl-ivoire);
  background-image: var(--vl-or-fond);
  background-repeat: no-repeat;
  clip-path: polygon(0 0, calc(100% - var(--vl-coupe)) 0, 100% var(--vl-coupe), 100% 100%, 0 100%);
  box-shadow: var(--vl-cadre), 0 14px 26px -22px rgba(64, 16, 26, .7);
  transition: box-shadow .18s ease, background-color .18s ease;
}
html:not(#_) .aa-ligne:hover {
  transform: none;
  background-color: #fffdf7;
  box-shadow: inset 0 0 0 1px rgba(194, 161, 92, .8), 0 20px 32px -22px rgba(64, 16, 26, .8);
}
html:not(#_) .aa-ligne__img {
  border-radius: 48px 48px 5px 5px;
  border: 1px solid var(--vl-or);
  background: #f0e3cd;
  box-shadow: 0 0 0 4px var(--vl-ivoire), 0 0 0 5px rgba(194, 161, 92, .3);
}
.aa-ligne__nb { background: rgba(64, 16, 26, .82); color: var(--vl-sable); border-radius: 3px; letter-spacing: .03em; }
html:not(#_) .aa-ligne__cat {
  background: transparent;
  padding: 0;
  color: var(--vl-or-f);
  font-size: .68rem;
  letter-spacing: .13em;
  font-weight: 700;
}
.aa-ligne__new, .aa-fiche__new {
  background: var(--vl-velours);
  color: #fdf3e3;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(226, 201, 146, .75);
  letter-spacing: .08em;
}
html:not(#_) .aa-ligne__titre {
  font-family: var(--aa-police-titre);
  font-size: 1.16rem;
  font-weight: 400;
  color: var(--vl-encre);
}
.aa-ligne__titre a:hover { color: var(--vl-velours); }
.aa-ligne__meta { color: var(--vl-muet); }
.aa-ligne__date { color: #756052; font-size: .7rem; letter-spacing: .04em; }
.aa-ligne__extrait { color: #4b3a33; opacity: 1; }
html:not(#_) .aa-ligne__lire { border-radius: 6px; border-color: var(--vl-or); box-shadow: none; }
@media (min-width: 720px) {
  html:not(#_) .aa-ligne { padding: 1.05rem 1.3rem 1.05rem 1rem; gap: .35rem 1.3rem; }
  html:not(#_) .aa-ligne__titre { font-size: 1.26rem; }
}

/* ---- 6. titres de section, colonnes, filtres, listes de liens ---- */
.aa-bloc__tete { border-bottom: 1px solid rgba(194, 161, 92, .55); padding-bottom: .35rem; margin-bottom: .9rem; }
.aa-h2 { font-weight: 400; color: var(--vl-velours-f); font-size: 1.4rem; }
.aa-bloc .aa-h2::before {
  content: "";
  display: inline-block;
  width: 7px; height: 7px;
  margin-right: .6rem;
  vertical-align: .12em;
  transform: rotate(45deg);
  background: linear-gradient(135deg, var(--vl-or-clair), var(--vl-or) 60%, #9c7c33);
}
html:not(#_) .aa-side {
  border: 0;
  border-radius: 0;
  padding: 0 0 .9rem;
  overflow: hidden;
  background: var(--vl-ivoire);
  box-shadow: var(--vl-pose);
}
html:not(#_) .aa-side__h {
  margin: 0 0 .7rem;
  padding: .6rem 1.1rem;
  background: linear-gradient(180deg, var(--vl-velours), var(--vl-velours-f));
  color: #fbf0df;
  font-family: var(--aa-police-titre);
  font-style: normal;
  font-size: 1.02rem;
  letter-spacing: .05em;
  text-transform: none;
  box-shadow: inset 0 -2px 0 rgba(194, 161, 92, .8);
}
.aa-side__liste, .aa-side__aide { padding-inline: 1.1rem; }
html:not(#_) .aa-side__liste li { border-top: 1px solid rgba(194, 161, 92, .28); padding: .4rem 0; }
.aa-side__nb, .aa-liens__nb { color: var(--vl-or-f); font-weight: 700; }
html:not(#_) .aa-filtres {
  border: 0;
  border-radius: 0;
  padding: 1.1rem;
  background-color: var(--vl-ivoire);
  background-image: var(--vl-or-fond);
  background-repeat: no-repeat;
  clip-path: polygon(0 0, calc(100% - var(--vl-coupe)) 0, 100% var(--vl-coupe), 100% 100%, 0 100%);
  box-shadow: var(--vl-cadre), 0 14px 26px -24px rgba(64, 16, 26, .7);
}
.aa-filtres__champ { color: var(--vl-or-f); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
html:not(#_) .aa-liens li {
  border: 0;
  border-radius: 0;
  background: var(--vl-ivoire);
  padding: .5rem .8rem;
  box-shadow: inset 0 0 0 1px var(--vl-filet), inset 3px 0 0 var(--vl-velours);
}
html:not(#_) .aa-pagination a, html:not(#_) .aa-pagination span {
  border: 1px solid rgba(194, 161, 92, .5);
  border-radius: 4px;
  background: var(--vl-ivoire);
  box-shadow: none;
}
.aa-pagination .is-actif { background: var(--vl-velours); color: #fdf3e3; border-color: var(--vl-velours-f); }
.aa-crumbs ol { color: var(--vl-muet); }
.aa-crumbs a { color: var(--vl-velours); }

/* ---- 7. fiche d'annonce : photo en arche encadrée d'or, CTA intacts ---- */
.aa-fiche__cat { color: var(--vl-or-f); letter-spacing: .13em; }
.aa-fiche__titre { font-weight: 400; color: var(--vl-encre); }
.aa-fiche__tete { border-bottom: 1px solid rgba(194, 161, 92, .5); padding-bottom: .7rem; margin-bottom: 1.1rem; }
html:not(#_) .aa-fiche__photo {
  border-radius: 56px 56px 6px 6px;
  border: 1px solid var(--vl-or);
  background: #efe1ca;
  box-shadow: 0 0 0 5px var(--vl-ivoire), 0 22px 38px -26px rgba(64, 16, 26, .85);
}
/* l'arche mangeait le coin haut-droit du badge : il descend sous la courbe */
.aa-fiche__photo .aa-fiche__new { top: 1.9rem; right: .8rem; }
html:not(#_) .aa-fiche__miniatures img { border-radius: 4px; border-color: rgba(194, 161, 92, .55); }
html:not(#_) .aa-fiche__miniatures img:hover { border-color: var(--vl-velours); }
html:not(#_) .aa-fiche__infos, html:not(#_) .aa-repondre,
html:not(#_) .aa-depot__bloc, html:not(#_) .aa-vide {
  border: 0;
  border-radius: 0;
  background: var(--vl-ivoire);
  box-shadow: var(--vl-cadre), 0 14px 26px -24px rgba(64, 16, 26, .7);
}
.aa-fiche__infos dt, .aa-depot__bloc legend { color: var(--vl-or-f); }
.aa-depot__bloc legend { font-family: var(--aa-police-titre); font-weight: 400; font-size: 1.15rem; }
html:not(#_) .aa-fiche__cta--haut {
  border: 0;
  border-radius: 0;
  padding: 1rem;
  background: linear-gradient(180deg, #fffdf6, var(--vl-ivoire));
  box-shadow: inset 0 2px 0 var(--vl-or), var(--vl-cadre), 0 16px 30px -24px rgba(64, 16, 26, .8);
}
.aa-fiche__plage {
  background: rgba(194, 161, 92, .18);
  border-radius: 4px;
  box-shadow: inset 0 0 0 1px rgba(194, 161, 92, .55);
  color: var(--vl-encre);
}
.aa-fiche__phy {
  background: var(--vl-ivoire);
  border: 0;
  border-radius: 0;
  box-shadow: inset 0 0 0 1px var(--vl-filet), inset 3px 0 0 var(--vl-velours);
}
.aa-fiche__physique dt { color: var(--vl-or-f); letter-spacing: .05em; }
html:not(#_) .aa-chips li, html:not(#_) .aa-chip {
  border: 1px solid rgba(194, 161, 92, .55);
  border-radius: 3px;
  background: var(--vl-ivoire);
  color: var(--vl-encre);
}
html:not(#_) .aa-chip:has(input:checked) { border-color: var(--vl-velours); background: rgba(123, 30, 43, .1); }
.aa-repondre .aa-h2 { color: var(--vl-velours-f); }
.aa-repondre .aa-h2::before { display: none; }
.aa-fiche__signaler a { color: var(--vl-velours); }
html:not(#_) .aa-fiche__barre {
  border: 0;
  border-radius: 8px;
  background: color-mix(in srgb, var(--vl-velours-f) 94%, transparent);
  box-shadow: inset 0 1px 0 var(--vl-or), 0 -10px 26px -14px rgba(32, 6, 12, .9);
}
html:not(#_) .aa-fiche__barre .aa-btn--secondaire {
  background: transparent;
  color: #fdf3e3;
  border-color: var(--vl-or);
}

/* ---- 8. champs ---- */
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(#_) input[type="file"], html:not(#_) textarea {
  background: #fffdf7;
  border: 1px solid rgba(194, 161, 92, .6);
  border-radius: 4px;
  color: var(--vl-encre);
}
html:not(#_) select:focus, html:not(#_) input:focus, html:not(#_) textarea:focus { outline: 2px solid var(--vl-velours); }
.aa-form__lbl { color: var(--vl-encre); }
.aa-form__aide, .aa-regles { color: var(--vl-muet); }

/* ---- 9. pied de page en velours, filet d'or ---- */
html:not(#_) .aa-footer {
  margin-top: 3rem;
  padding: 0 0 1rem;
  color: var(--vl-sable);
  background:
    repeating-linear-gradient(105deg, rgba(255, 244, 224, .04) 0 3px, transparent 3px 10px),
    linear-gradient(180deg, var(--vl-velours-f), #3c0f18);
  box-shadow: inset 0 2px 0 var(--vl-or), inset 0 6px 0 rgba(194, 161, 92, .25);
}
html:not(#_) .aa-footer__grid, html:not(#_) .aa-footer__bas {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 0 var(--aa-gout);
}
html:not(#_) .aa-footer__grid { padding-top: 2.4rem; }
html:not(#_) .aa-footer__bas {
  margin-top: 1.6rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(194, 161, 92, .4);
  opacity: 1;
  color: #cdb692;
}
html:not(#_) .aa-footer__brand {
  color: var(--vl-or-clair);
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: .03em;
}
html:not(#_) .aa-footer__h {
  color: var(--vl-or-clair);
  font-style: normal;
  font-weight: 400;
  letter-spacing: .06em;
  padding-bottom: .35rem;
  border-bottom: 1px solid rgba(194, 161, 92, .3);
}
.aa-footer a { color: #f1e2c8; }
.aa-footer a:hover { color: var(--vl-or-clair); }
.aa-footer__membres { color: #e7d4b2; }
.aa-footer__fictif { color: #c7b08e; opacity: 1; }

/* ---- 10. porte d'âge et pop-up (couleurs, bordures, rayons) ---- */
html:not(#_) .aa-gate { background: rgba(40, 8, 14, .9); }
html:not(#_) .aa-gate__box, html:not(#_) .aa-popup__box {
  border-radius: 4px;
  background: var(--vl-ivoire);
  color: var(--vl-encre);
  box-shadow: inset 0 3px 0 var(--vl-or), 0 30px 60px -22px rgba(24, 4, 8, .8);
}
.aa-gate__mark {
  background: linear-gradient(180deg, var(--vl-or-clair), var(--vl-or) 60%, #a8873e);
  color: var(--vl-velours-n);
  box-shadow: 0 0 0 1px rgba(122, 93, 34, .5);
}
.aa-gate__box h2, .aa-popup__titre { color: var(--vl-velours-f); font-weight: 400; }
.aa-popup__pour { color: var(--vl-or-f); }
.aa-popup__texte { color: var(--vl-muet); }
.aa-popup__fermer { color: var(--vl-velours-f); }
.aa-spin { border-color: rgba(194, 161, 92, .4); border-top-color: var(--vl-velours); }

/* ---- 11. mouvement réduit ---- */
@media (prefers-reduced-motion: reduce) {
  html:not(#_) *, html:not(#_) *::before, html:not(#_) *::after {
    animation: none !important;
    transition: none !important;
  }
  .aa-hero__form, .aa-hero__txt, .aa-gate__box, .aa-popup__box { opacity: 1; transform: none; }
}
