/* couple-libertin.be — registre « boudoir capitonné : améthyste & crème, cœurs »
   Palette : accent améthyste #6b3fa0 (favicon) · encre prune #2a1838 · crème #fffaf2 / sable #efe3d2 / lin #e5d6c4
   Formes signature : cœur SVG (logo, bandeaux, fonds, liseré du pied), rubans à encoche (bandeaux),
   capitonnage (en-tête, pied), photos « coussin » (coins doux, double liseré crème/améthyste). Aucune arche. */

html:not(#_) body.aa {
  --aa-teinte: #6b3fa0; --aa-accent: #6b3fa0;
  --aa-primaire: #6b3fa0; --aa-primaire-fonce: #4e2a7a; --aa-primaire-txt: #fff;
  --aa-page: #efe3d2; --aa-fond: #fffaf2; --aa-surface: #fffaf2; --aa-surface-2: #f7eee2;
  --aa-texte: #2a1838; --aa-muet: #62526a; --aa-bord: #e5d6c4; --aa-lien: #5c3290;
  --aa-tete: #2a1838; --aa-tete-txt: #fff7ec; --aa-barre: #3a2150;
  --aa-bande: #6b3fa0; --aa-bande-txt: #fff; --aa-bande-bord: #2a1838;
  --aa-secondaire: #4e2a7a; --aa-pied: #2a1838; --aa-pied-txt: #eadcca; --aa-ok: #6b3fa0;
  --aa-rayon: 18px; --aa-rayon-s: 12px;
  --aa-ombre: 0 2px 4px rgba(107, 63, 160, .06), 0 14px 32px -18px rgba(107, 63, 160, .45);
  --aa-police-titre: Georgia, "Palatino Linotype", "Book Antiqua", serif;
  --cl-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 21s-7.5-4.6-10-9.3C.4 8.6 2.2 4.5 6 4.1c2.3-.2 4.3 1 6 3.1 1.7-2.1 3.7-3.3 6-3.1 3.8.4 5.6 4.5 4 7.6C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
  --cl-coeur-am: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236b3fa0' d='M12 21s-7.5-4.6-10-9.3C.4 8.6 2.2 4.5 6 4.1c2.3-.2 4.3 1 6 3.1 1.7-2.1 3.7-3.3 6-3.1 3.8.4 5.6 4.5 4 7.6C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
  --cl-capiton: radial-gradient(circle at 50% 50%, rgba(255, 240, 220, .22) 0 1.6px, transparent 2.4px) 0 0 / 28px 28px,
    linear-gradient(45deg, transparent 48.5%, rgba(255, 255, 255, .06) 49.5% 50.5%, transparent 51.5%) 14px 14px / 28px 28px,
    linear-gradient(-45deg, transparent 48.5%, rgba(255, 255, 255, .06) 49.5% 50.5%, transparent 51.5%) 14px 14px / 28px 28px;
  background: radial-gradient(1200px 500px at 50% -10%, #f8efe2, transparent 70%), var(--aa-page);
  color: var(--aa-texte);
}

/* --- en-tête capitonné ---------------------------------------------------------------- */
html:not(#_) .aa-header { background: var(--cl-capiton), linear-gradient(180deg, #34204a, #2a1838); box-shadow: 0 3px 0 #6b3fa0, 0 10px 26px -14px rgba(42, 24, 56, .8); }
html:not(#_) .aa-header .aa-logo__mark { width: 32px; height: 32px; 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='%23b08ad8' stroke='%23fff7ec' stroke-width='1.4' d='M12 21s-7.5-4.6-10-9.3C.4 8.6 2.2 4.5 6 4.1c2.3-.2 4.3 1 6 3.1 1.7-2.1 3.7-3.3 6-3.1 3.8.4 5.6 4.5 4 7.6C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / 100% no-repeat; }
html:not(#_) .aa-logo .aa-logo__txt { font-family: var(--aa-police-titre); font-style: italic; font-weight: 700; color: #fff7ec; letter-spacing: .01em; }
html:not(#_) .aa-logo .aa-logo__sous { color: #e3d2ef; opacity: 1; }
html:not(#_) body.aa .aa-header .aa-header__cta { background: #fff7ec; color: #4e2a7a; border-color: #fff7ec; border-radius: 999px 12px 999px 12px; box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .5); }
html:not(#_) .aa-header .aa-nav a { color: #f5e9f7; }
@media (min-width: 860px) {
  html:not(#_) .aa-header .aa-nav { background: rgba(255, 247, 236, .06); border-top: 1px solid rgba(255, 247, 236, .12); }
  html:not(#_) .aa-header .aa-nav a.is-actif { background: #fffaf2; color: #2a1838; border-bottom-color: transparent; border-radius: 14px 14px 0 0; }
  html:not(#_) .aa-header .aa-nav a.is-actif::after { content: ""; width: 10px; height: 10px; background: var(--cl-coeur-am) center / contain no-repeat; margin-left: .15rem; }
}
@media (max-width: 859px) {
  html:not(#_) .aa-header .aa-nav { background: #2a1838; }
  html:not(#_) .aa-header .aa-nav a.is-actif { background: #fffaf2; color: #2a1838; border-left: 4px solid #b08ad8; }
}

/* --- rubans à encoche (bandeaux) ------------------------------------------------------- */
html:not(#_) body.aa .aa-h2, html:not(#_) body.aa .aa-side__h, html:not(#_) body.aa .aa-bande, html:not(#_) body.aa .aa-depot__bloc legend {
  background: linear-gradient(100deg, #4e2a7a, #6b3fa0 70%, #7d4db3); color: #fff; border-left: 0; border-radius: 12px 0 0 12px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%);
  padding: .55rem 1.8rem .55rem .9rem; font-family: var(--aa-police-titre); font-style: italic; text-transform: none; letter-spacing: .01em; font-size: 1.02rem;
}
html:not(#_) body.aa .aa-h2 .aa-ico, html:not(#_) body.aa .aa-side__h .aa-ico { color: #f3e3ff; }
html:not(#_) body.aa .aa-h2::after, html:not(#_) body.aa .aa-side__h::after { content: ""; flex: none; width: 13px; height: 13px; background: var(--cl-coeur) center / contain no-repeat; opacity: .9; margin-left: auto; }
html:not(#_) .aa-bloc__tete { flex-wrap: wrap; row-gap: .4rem; }
html:not(#_) .aa-bloc__tete .aa-h2 { flex: 1 1 16rem; min-width: 0; }
html:not(#_) .aa-bloc__tete .aa-lien { color: #5c3290; font-weight: 700; }

/* --- hero : coussin crème, grand cœur en filigrane --------------------------------------- */
html:not(#_) body.aa .aa-hero { position: relative; overflow: hidden; border: 1px solid #e5d6c4; border-radius: 26px 26px 26px 6px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236b3fa0' fill-opacity='.08' d='M12 21s-7.5-4.6-10-9.3C.4 8.6 2.2 4.5 6 4.1c2.3-.2 4.3 1 6 3.1 1.7-2.1 3.7-3.3 6-3.1 3.8.4 5.6 4.5 4 7.6C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") right -30px bottom -40px / 210px no-repeat, linear-gradient(140deg, #fff7ec, #f7ecf9);
  box-shadow: var(--aa-ombre); padding: 1.4rem 1.4rem 1.2rem; }
html:not(#_) .aa-hero .aa-h1 { font-family: var(--aa-police-titre); color: #2a1838; font-weight: 700; }
html:not(#_) .aa-hero .aa-intro { color: #4a3a52; }
html:not(#_) .aa-hero .aa-hero__chiffres span { background: #6b3fa0; color: #fff; border-color: #6b3fa0; }
html:not(#_) .aa-hero .aa-hero__chiffres span::before { background: #fff7ec; }

/* --- conteneur + colonne latérale ------------------------------------------------------ */
@media (min-width: 960px) { html:not(#_) .aa-main > .aa-wrap { border-radius: 22px; box-shadow: var(--aa-ombre); border-color: #e5d6c4; } }
html:not(#_) .aa-side__liste li::before { background: #6b3fa0; border-radius: 50% 50% 0 50%; transform: rotate(45deg); }
html:not(#_) .aa-side .aa-side__nb, html:not(#_) .aa-liens .aa-liens__nb { color: #5c3290; font-weight: 700; }
html:not(#_) .aa-liens li { background: #f7eee2; border-color: #e5d6c4; border-radius: 12px; }
html:not(#_) .aa-liens li::before { background: #6b3fa0; }
html:not(#_) .aa-side .aa-side__liste--inline li { background: #f7ecf9; border-radius: 999px; }

/* --- lignes d'annonce ----------------------------------------------------------------- */
html:not(#_) .aa-liste .aa-ligne { border-bottom: 1px dashed #e0cfbb; border-radius: 16px; }
html:not(#_) .aa-liste .aa-ligne:hover { background: #f7eefa; }
html:not(#_) .aa-ligne .aa-ligne__img { border-radius: 22px 22px 22px 6px; padding: 3px; background: #fff7ec; border: 2px solid #c7aee4; box-shadow: 0 8px 18px -12px rgba(107, 63, 160, .7); }
html:not(#_) .aa-ligne .aa-ligne__img img { border-radius: 19px 19px 19px 4px; }
html:not(#_) .aa-ligne:hover .aa-ligne__img img { transform: scale(1.06); }
html:not(#_) .aa-ligne .aa-ligne__cat { color: #6b3fa0; }
html:not(#_) .aa-ligne .aa-ligne__new, html:not(#_) .aa-fiche__tete .aa-fiche__new { background: #fff; color: #6b3fa0; border: 1.5px solid #6b3fa0; border-radius: 999px; padding-inline: .55em; }
html:not(#_) .aa-ligne .aa-ligne__titre a { color: #2a1838; font-family: var(--aa-police-titre); }
html:not(#_) .aa-ligne .aa-ligne__titre a:hover { color: #6b3fa0; }
html:not(#_) .aa-ligne .aa-ligne__meta strong { color: #5c3290; }
html:not(#_) .aa-ligne .aa-ligne__lire { background: #6b3fa0; color: #fff; border-color: #6b3fa0; border-radius: 999px 10px 999px 10px; box-shadow: 0 6px 14px -8px rgba(107, 63, 160, .8); }

/* --- boutons ------------------------------------------------------------------------ */
html:not(#_) body.aa .aa-btn--primaire { background: linear-gradient(135deg, #7d4db3, #5c3290); border-color: #4e2a7a; color: #fff; border-radius: 14px; box-shadow: 0 10px 22px -12px rgba(107, 63, 160, .9); }
html:not(#_) body.aa .aa-btn--secondaire { background: #fff7ec; color: #4e2a7a; border-color: #6b3fa0; border-radius: 14px; }
html:not(#_) .aa-pagination .is-actif { background: #6b3fa0; border-color: #6b3fa0; color: #fff; border-radius: 50%; }
html:not(#_) .aa-pagination a { border-radius: 12px; color: #4e2a7a; }

/* --- fiche d'annonce ------------------------------------------------------------------ */
html:not(#_) .aa-fiche__tete .aa-fiche__titre { font-family: var(--aa-police-titre); color: #2a1838; text-decoration-color: #c7aee4; }
html:not(#_) .aa-fiche__tete .aa-fiche__cat a { color: #6b3fa0; }
html:not(#_) .aa-fiche__corps .aa-fiche__photo { border-radius: 28px 28px 28px 8px; overflow: hidden; border: 3px solid #fff7ec; box-shadow: 0 0 0 2px #c7aee4, 0 18px 34px -20px rgba(107, 63, 160, .8); }
html:not(#_) .aa-fiche__corps .aa-fiche__infos { border-radius: 18px; overflow: hidden; border: 1px solid #e5d6c4; background: #fffaf2; }
html:not(#_) .aa-fiche__corps .aa-fiche__infos > div:nth-child(odd) { background: #f7eee2; }
html:not(#_) .aa-fiche__infos dt { color: #4e2a7a; }
html:not(#_) .aa-fiche__infos dd a { color: #5c3290; }
html:not(#_) .aa-fiche__corps .aa-fiche__cta--haut { background: linear-gradient(160deg, #f7ecf9, #fff7ec); border: 1px solid #dcc8ec; border-radius: 20px; padding: 1rem; box-shadow: 0 12px 26px -20px rgba(107, 63, 160, .8); }
html:not(#_) body.aa .aa-fiche__cta--bas { max-width: 34rem; margin-inline: auto; border: 1px solid #dcc8ec; border-radius: 22px; padding: 3.2rem 1.2rem 1rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236b3fa0' fill-opacity='.18' d='M12 21s-7.5-4.6-10-9.3C.4 8.6 2.2 4.5 6 4.1c2.3-.2 4.3 1 6 3.1 1.7-2.1 3.7-3.3 6-3.1 3.8.4 5.6 4.5 4 7.6C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center top 10px / 38px no-repeat, #fff7ec;
  box-shadow: var(--aa-ombre); }
html:not(#_) .aa-fiche__plage { background: #f1e6f8; color: #2a1838; border-radius: 999px; }
html:not(#_) .aa-fiche__physique .aa-fiche__phy { background: #fffaf2; border-color: #e5d6c4; border-radius: 14px; }
html:not(#_) .aa-fiche__physique dt { color: #62526a; }
html:not(#_) .aa-chips li, html:not(#_) .aa-chips .aa-chip { border-radius: 999px; border-color: #c7aee4; background: #f7ecf9; color: #2a1838; }
html:not(#_) .aa-chips .aa-chip:has(input:checked) { background: #6b3fa0; color: #fff; border-color: #6b3fa0; }
html:not(#_) body.aa .aa-repondre { border-radius: 22px; border-color: #dcc8ec; background: #fffaf2; }
html:not(#_) .aa-crumbs a { color: #5c3290; }

/* barres basses mobiles : fond crème, libellés un peu plus petits pour tenir sans ellipse */
html:not(#_) body.aa .aa-fiche__barre, html:not(#_) body.aa .aa-mobar { background: rgba(255, 247, 236, .95); border-top: 2px solid #c7aee4; }
html:not(#_) body.aa .aa-fiche__barre .aa-btn, html:not(#_) body.aa .aa-mobar .aa-btn { font-size: .8rem; padding-inline: .3em; border-radius: 14px; }

/* --- dépôt / formulaires ----------------------------------------------------------- */
html:not(#_) body.aa .aa-depot__bloc { border: 1px solid #e5d6c4; border-radius: 20px; background: #fffaf2; box-shadow: 0 10px 24px -22px rgba(107, 63, 160, .7); }
html:not(#_) body.aa .aa-depot__bloc legend::before { background: var(--cl-coeur) center / 100% no-repeat; color: #4e2a7a; border-radius: 0; width: 2.3em; height: 2.1em; font-size: .78em; font-weight: 800; font-style: normal; line-height: 1.9em; }
html:not(#_) body.aa select, html:not(#_) body.aa input[type="text"], html:not(#_) body.aa input[type="email"], html:not(#_) body.aa input[type="number"], html:not(#_) body.aa textarea { border-radius: 12px; border-color: #dccbb6; background-color: #fff; color: #2a1838; }
html:not(#_) body.aa select:focus, html:not(#_) body.aa input:focus, html:not(#_) body.aa textarea:focus { border-color: #6b3fa0; box-shadow: 0 0 0 3px rgba(107, 63, 160, .18); }
html:not(#_) .aa-form .aa-form__aide, html:not(#_) .aa-regles { color: #5f5066; }
html:not(#_) body.aa .aa-deposer-cta { border: 1px solid #dcc8ec; border-radius: 22px; background: linear-gradient(150deg, #f7ecf9, #fff7ec); }
html:not(#_) .aa-etapes li::before { background: #6b3fa0; color: #fff; border-radius: 50% 50% 50% 8px; }
html:not(#_) .aa-atouts li { border-radius: 18px; background: #fffaf2; border-color: #e5d6c4; }
html:not(#_) .aa-atouts .aa-atouts__ico { background: #f1e6f8; color: #6b3fa0; border-radius: 50%; }

/* --- pied capitonné, liseré de cœurs ------------------------------------------------ */
html:not(#_) body.aa .aa-footer { position: relative; border-top: 0; margin-top: 2.4rem; background: var(--cl-capiton), #2a1838; color: #eadcca; }
html:not(#_) body.aa .aa-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -15px; height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236b3fa0' d='M12 21s-7.5-4.6-10-9.3C.4 8.6 2.2 4.5 6 4.1c2.3-.2 4.3 1 6 3.1 1.7-2.1 3.7-3.3 6-3.1 3.8.4 5.6 4.5 4 7.6C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") 0 0 / 22px 16px repeat-x; }
html:not(#_) .aa-footer .aa-footer__h { color: #fff7ec; border-bottom-color: rgba(176, 138, 216, .45); font-family: var(--aa-police-titre); font-style: italic; text-transform: none; letter-spacing: .02em; font-size: .98rem; }
html:not(#_) .aa-footer .aa-footer__brand { font-style: italic; color: #fff7ec; }
html:not(#_) .aa-footer .aa-footer__brand .aa-logo__mark { border-radius: 0; background: var(--cl-coeur) center / contain no-repeat; box-shadow: none; }
html:not(#_) .aa-footer a:hover { color: #d9c2f2; }
html:not(#_) .aa-footer .aa-footer__bas { background: rgba(0, 0, 0, .28); }

/* --- porte d'âge / pop-up (surfaces seulement) --------------------------------------- */
html:not(#_) .aa-gate .aa-gate__box, html:not(#_) .aa-popup .aa-popup__box { border-radius: 24px; background: #fffaf2; color: #2a1838; }

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