/* transvalais.ch — habillage « bisses du Valais »
   Registre : canaux d'irrigation en filets sinueux le long des pentes, murets de pierre sèche,
   prune sur neige douce. Palette : accent prune #a23b72 (favicon) · neige chaude #fbf7f1 ·
   pierre/lin #efe5d8 · encre prune #2b1b26 · muet #64505b.
   Formes signature : filet d'eau qui serpente (en-tête, liste, titres, pied), arche (photos,
   formulaire), goutte-médaillon (logo, jonctions de la liste), pierres irrégulières (liens),
   cœur SVG discret (hero, dépôt). Disposition : nav poussée à droite au-dessus d'un filet,
   hero inversé (formulaire à gauche en arche), liste en tronçons reliés par un canal. */

html:not(#_) body.aa {
  --aa-fond: #fbf7f1;
  --aa-surface: #fffdf9;
  --aa-texte: #2b1b26;
  --aa-muet: #64505b;
  --aa-bord: #e7dacb;
  --aa-secondaire: #5c2244;
  --aa-secondaire-txt: #fff;
  --aa-tete: #fffaf3;
  --aa-tete-txt: #2b1b26;
  --aa-pied: #eee3d4;
  --aa-pied-txt: #2b1b26;
  --aa-rayon: 18px;
  --aa-rayon-s: 999px;
  --aa-ombre: 0 2px 4px -2px rgba(92, 34, 68, .10), 0 14px 30px -18px rgba(162, 59, 114, .45);
  --aa-police: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
  --aa-police-titre: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --tv-pierre: #efe5d8;
  --tv-pierre-2: #e4d6c4;
  --tv-neige: #fbf7f1;
  --tv-filet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='14' viewBox='0 0 80 14'%3E%3Cpath d='M0 7 C 13 1, 27 1, 40 7 S 67 13, 80 7' fill='none' stroke='%23a23b72' stroke-width='2.2' stroke-linecap='round' opacity='.55'/%3E%3C/svg%3E");
  --tv-canal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='90' viewBox='0 0 16 90'%3E%3Cpath d='M8 0 C 1 15, 1 30, 8 45 S 15 75, 8 90' fill='none' stroke='%23a23b72' stroke-width='2.4' stroke-linecap='round' opacity='.38'/%3E%3C/svg%3E");
  --tv-coeur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7-4.4-9.3-8.6C1 9.1 2.8 5 6.6 5c2.1 0 3.6 1.2 4.4 2.5C11.8 6.2 13.3 5 15.4 5c3.8 0 5.6 4.1 3.9 7.4C19 16.6 12 21 12 21z' fill='%23a23b72' opacity='.13'/%3E%3C/svg%3E");
  background: radial-gradient(ellipse 60% 40% at 100% 0, rgba(162, 59, 114, .06), transparent 70%), var(--tv-neige);
}
html:not(#_) .aa-h1, html:not(#_) .aa-h2, html:not(#_) .aa-fiche__titre { font-family: var(--aa-police-titre); letter-spacing: -.005em; color: var(--aa-texte); }
html:not(#_) .aa-h1 { font-weight: 700; }
html:not(#_) .aa-h2 { font-weight: 700; display: flex; align-items: center; gap: .6rem; }
html:not(#_) .aa-h2::before { content: ""; flex: none; width: 34px; height: 12px; background: var(--tv-filet) left center / 34px 12px no-repeat; }

/* --- en-tête : un filet d'eau qui serpente sous la barre ------------------------------ */
html:not(#_) .aa-header { background: var(--aa-tete); border-bottom: 0; box-shadow: 0 8px 20px -18px rgba(92, 34, 68, .6); }
html:not(#_) .aa-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 14px; background: var(--tv-filet) 0 50% / 80px 14px repeat-x; pointer-events: none; }
html:not(#_) .aa-logo { font-family: var(--aa-police-titre); font-weight: 700; font-size: 1.3rem; letter-spacing: .01em; }
html:not(#_) .aa-logo__mark { width: 22px; height: 22px; border-radius: 50% 0 50% 50%; transform: rotate(-45deg); background: radial-gradient(circle at 35% 35%, #c9649a, var(--aa-primaire) 70%); box-shadow: 0 4px 10px -4px rgba(162, 59, 114, .7); }
@media (min-width: 801px) {
  html:not(#_) .aa-nav { margin-inline: auto 0; }
  html:not(#_) .aa-nav ul { background: none; box-shadow: none; padding: 0; gap: .15rem; }
  html:not(#_) .aa-nav a { border-radius: 0; font-size: .9rem; padding: .55rem .7rem .7rem; color: var(--aa-texte); background: none; }
  html:not(#_) .aa-nav a:hover, html:not(#_) .aa-nav a.is-actif { background: var(--tv-filet) 50% 100% / 46px 10px no-repeat; color: var(--aa-primaire); }
  html:not(#_) .aa-nav__cta a { border-radius: 999px 999px 999px 6px; padding: .55rem 1.2rem; background: var(--aa-primaire); color: #fff !important; box-shadow: 0 8px 18px -10px rgba(162, 59, 114, .8); }
  html:not(#_) .aa-nav__cta a:hover { background: var(--aa-secondaire); }
}
@media (max-width: 800px) {
  html:not(#_) .aa-nav { background: var(--tv-neige); border-radius: 0 0 26px 26px; }
  html:not(#_) .aa-nav a { border-radius: 14px; }
  html:not(#_) .aa-nav__cta a { border-radius: 999px; }
}

/* --- hero : neige douce, formulaire en arche à gauche --------------------------------- */
html:not(#_) .aa-hero { background: none; border: 0; padding-block: 2rem 1.6rem; }
html:not(#_) .aa-hero__in { background: var(--tv-coeur) right 6% top 14% / 120px no-repeat, linear-gradient(160deg, #fff 0%, var(--tv-neige) 55%, #f6ebe2 100%); border-radius: 30px; padding: 1.6rem 1.3rem; box-shadow: var(--aa-ombre); position: relative; overflow: hidden; }
html:not(#_) .aa-hero__in::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: 14px; height: 14px; background: var(--tv-filet) 0 50% / 80px 14px repeat-x; opacity: .7; pointer-events: none; }
html:not(#_) .aa-hero__txt { position: relative; z-index: 1; }
html:not(#_) .aa-hero__chiffres { display: inline-block; background: var(--tv-pierre); color: var(--aa-texte); border-radius: 14px 4px 14px 4px; padding: .35rem .8rem; }
html:not(#_) .aa-hero__form { position: relative; z-index: 1; border: 1px solid var(--aa-bord); border-radius: 150px 150px 22px 22px / 80px 80px 22px 22px; padding: 2.2rem 1.4rem 1.4rem; background: var(--aa-surface); box-shadow: 0 22px 40px -26px rgba(162, 59, 114, .65); }
html:not(#_) .aa-hero__form-h { font-family: var(--aa-police-titre); text-align: center; }
html:not(#_) .aa-hero__form-p { text-align: center; }
@media (max-width: 899px) {
  html:not(#_) .aa-hero__in { margin-inline: 10px; padding: 1.5rem 1.1rem 2.4rem; background-size: 0 0, auto; }
  html:not(#_) .aa-hero__in::after { bottom: 10px; }
}
@media (min-width: 900px) {
  html:not(#_) .aa-hero__in { background-position: right 5% bottom 22%, 0 0; grid-template-columns: minmax(300px, .9fr) 1.2fr; padding: 2.4rem 2.6rem 2.8rem; }
  html:not(#_) .aa-hero__form { order: -1; }
  html:not(#_) .aa-hero__txt { padding-left: .5rem; }
}

/* --- boutons ------------------------------------------------------------------------------ */
html:not(#_) .aa-btn { border-radius: 999px; }
html:not(#_) .aa-btn--primaire { background: var(--aa-primaire); color: #fff; box-shadow: 0 10px 22px -12px rgba(162, 59, 114, .85); }
html:not(#_) .aa-btn--primaire:hover { background: #8a2e60; }
html:not(#_) .aa-btn--secondaire { background: var(--aa-surface); color: var(--aa-primaire); border: 2px solid var(--aa-primaire); }
html:not(#_) .aa-btn--secondaire:hover { background: #f8ecf2; }

/* --- liste : tronçons de bisse reliés par un canal ---------------------------------------- */
html:not(#_) .aa-liste { position: relative; padding-left: 22px; gap: .75rem; }
html:not(#_) .aa-liste::before { content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 16px; background: var(--tv-canal) 50% 0 / 16px 90px repeat-y; pointer-events: none; }
html:not(#_) .aa-ligne { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-radius: 22px 8px 22px 8px; padding: .75rem; box-shadow: 0 1px 0 var(--tv-pierre-2), 0 12px 24px -20px rgba(92, 34, 68, .6); }
html:not(#_) .aa-ligne::before { content: ""; position: absolute; left: -21px; top: 50%; width: 13px; height: 13px; margin-top: -7px; border-radius: 50% 0 50% 50%; transform: rotate(-45deg); background: var(--aa-primaire); box-shadow: 0 0 0 4px var(--tv-neige); }
html:not(#_) .aa-ligne:nth-child(even) { background: linear-gradient(90deg, #fffdf9, #fbf3ec); }
html:not(#_) .aa-ligne:hover { border-color: color-mix(in srgb, var(--aa-primaire) 40%, var(--aa-bord)); background: #fff; box-shadow: 0 1px 0 var(--tv-pierre-2), 0 18px 30px -18px rgba(162, 59, 114, .55); }
html:not(#_) .aa-ligne__img { border-radius: 48px 48px 12px 12px / 40px 40px 12px 12px; box-shadow: 0 0 0 3px #fff, 0 6px 14px -8px rgba(92, 34, 68, .7); }
html:not(#_) .aa-ligne__img img { transition: transform .6s ease; }
html:not(#_) .aa-ligne:hover .aa-ligne__img img { transform: scale(1.06); }
html:not(#_) .aa-ligne__cat { background: var(--tv-pierre); color: #7d2a57; box-shadow: none; border-radius: 10px 3px 10px 3px; padding: .18rem .6rem; letter-spacing: .05em; }
html:not(#_) .aa-ligne__new { background: var(--aa-secondaire); color: #fff; border-radius: 999px 999px 999px 3px; }
html:not(#_) .aa-ligne__titre { font-family: var(--aa-police-titre); font-weight: 700; font-size: 1.06rem; }
html:not(#_) .aa-ligne__titre a:hover { color: var(--aa-primaire); }
html:not(#_) .aa-ligne__extrait { color: #3d2c36; opacity: 1; }
html:not(#_) .aa-ligne__lire { border-radius: 999px 999px 999px 4px; }
html:not(#_) .aa-ligne--sans-photo .aa-ligne__img { background: var(--tv-pierre); }
html:not(#_) .aa-bloc__tete { border-bottom: 0; }
html:not(#_) .aa-lien { font-weight: 600; }

/* --- moteur, catégories, villes : des pierres de muret ------------------------------------- */
html:not(#_) .aa-filtres { background: var(--tv-pierre); border: 0; border-radius: 26px 10px 26px 10px; box-shadow: inset 0 0 0 1px var(--tv-pierre-2); }
html:not(#_) .aa-filtres select { background-color: #fffdf9; }
html:not(#_) .aa-liens li { background: var(--aa-surface); border: 1px solid var(--tv-pierre-2); box-shadow: 0 3px 0 var(--tv-pierre-2); border-radius: 16px 6px 14px 8px; padding: .4rem .85rem; }
html:not(#_) .aa-liens li:nth-child(3n+1) { border-radius: 8px 16px 6px 14px; }
html:not(#_) .aa-liens li:nth-child(3n+2) { border-radius: 14px 10px 18px 6px; }
html:not(#_) .aa-liens li:hover { background: #fbf0f5; border-color: color-mix(in srgb, var(--aa-primaire) 35%, var(--tv-pierre-2)); }
html:not(#_) .aa-liens a { color: var(--aa-texte); }
html:not(#_) .aa-liens__nb { color: #7d2a57; }
html:not(#_) .aa-bloc--deposer { text-align: center; max-width: 520px; margin-inline: auto; padding: 3.2rem 1.2rem 1.6rem; background: var(--tv-coeur) 50% 1rem / 40px no-repeat, var(--tv-pierre); border-radius: 120px 120px 26px 26px / 60px 60px 26px 26px; box-shadow: inset 0 0 0 1px var(--tv-pierre-2); }

/* --- fiche d'annonce ------------------------------------------------------------------------ */
html:not(#_) .aa-crumbs { color: var(--aa-muet); }
html:not(#_) .aa-fiche__photo { border-radius: 220px 220px 26px 26px / 130px 130px 26px 26px; box-shadow: 0 0 0 5px #fff, 0 26px 44px -26px rgba(162, 59, 114, .75); }
html:not(#_) .aa-fiche__new { top: 1.1rem; right: 50%; transform: translateX(50%); background: var(--aa-secondaire); }
html:not(#_) .aa-fiche__miniatures img { border-radius: 30px 30px 8px 8px; }
html:not(#_) .aa-fiche__infos { background: var(--tv-pierre); border: 0; border-radius: 22px 8px 22px 8px; color: var(--aa-texte); }
html:not(#_) .aa-fiche__infos a { color: #7d2a57; }
html:not(#_) .aa-fiche__cta--haut { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-radius: 26px; box-shadow: var(--aa-ombre); padding: 1.3rem 1rem 1rem; position: relative; }
html:not(#_) .aa-fiche__cta--haut::before { content: ""; position: absolute; left: 24px; right: 24px; top: 4px; height: 12px; background: var(--tv-filet) 0 50% / 60px 12px repeat-x; opacity: .8; }
html:not(#_) .aa-fiche__plage { background: var(--tv-pierre); border-radius: 14px 4px 14px 4px; }
html:not(#_) .aa-fiche__phy { background: var(--aa-surface); border: 1px solid var(--tv-pierre-2); border-radius: 18px 6px 18px 6px; box-shadow: 0 3px 0 var(--tv-pierre-2); }
html:not(#_) .aa-chips--lecture .aa-chip, html:not(#_) .aa-chips--lecture li { border-radius: 999px 999px 999px 4px; background: #fbf0f5; border-color: #ead3df; color: var(--aa-texte); }
html:not(#_) .aa-repondre { background: linear-gradient(180deg, #fff, var(--tv-neige)); border: 1px solid var(--aa-bord); border-left: 4px solid var(--aa-primaire); border-radius: 8px 26px 26px 8px; box-shadow: var(--aa-ombre); }
html:not(#_) .aa-side { background: var(--tv-pierre); border: 0; border-radius: 24px 8px 24px 8px; }
html:not(#_) .aa-side__h { font-family: var(--aa-police-titre); color: var(--aa-texte); }
html:not(#_) .aa-side__h::after { content: ""; display: block; width: 46px; height: 10px; margin-top: .3rem; background: var(--tv-filet) left center / 46px 10px no-repeat; }
html:not(#_) .aa-side__liste li { background: var(--aa-surface); border-color: var(--tv-pierre-2); border-radius: 12px 4px 12px 4px; }
html:not(#_) .aa-side__liste li.is-actif { background: var(--aa-primaire); border-color: var(--aa-primaire); }
html:not(#_) .aa-fiche__barre { background: rgba(255, 250, 243, .94); }

/* --- dépôt et formulaires ------------------------------------------------------------------- */
html:not(#_) .aa-depot__bloc { background: var(--aa-surface); border: 1px solid var(--aa-bord); border-radius: 24px 10px 24px 10px; box-shadow: 0 12px 26px -22px rgba(92, 34, 68, .6); }
html:not(#_) .aa-chip { border-radius: 999px 999px 999px 4px; }
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 { background-color: #fffdf9; border-color: #dccbb9; }

/* --- pied : muret de pierre sous un dernier filet ---------------------------------------- */
html:not(#_) .aa-footer { background: var(--tv-filet) 0 0 / 80px 14px repeat-x, linear-gradient(180deg, transparent 0 14px, var(--aa-pied) 14px); border-radius: 0; padding-top: 2.6rem; margin-top: 3rem; }
html:not(#_) .aa-footer__h { font-family: var(--aa-police-titre); color: #5c2244; }
html:not(#_) .aa-footer ul li a { background: #fffaf3; box-shadow: 0 2px 0 var(--tv-pierre-2); border-radius: 12px 4px 12px 4px; color: var(--aa-texte); }
html:not(#_) .aa-footer ul li a:hover { color: var(--aa-primaire); }
html:not(#_) .aa-footer__bas { border-top: 1px dashed #cdb9a4; opacity: 1; color: #4a3542; }
html:not(#_) .aa-footer__fictif { opacity: 1; color: #4a3542; }

/* --- porte et pop-up ------------------------------------------------------------------------ */
html:not(#_) .aa-gate__box, html:not(#_) .aa-popup__box { border-radius: 70px 70px 26px 26px / 40px 40px 26px 26px; background: var(--aa-surface); }
html:not(#_) .aa-gate__mark { box-shadow: 0 0 0 6px #f6e6ee; }

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