:root{--encre:#2f304d;--texte:#595971;--gris:#777;--titre:#444;--trait:#e5e5e7;--pale:#f8f8f8;--rouge:#a02b2b;--rouge2:#842222}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--texte);font:400 16px/1.6 Raleway,"Segoe UI",sans-serif}
a{color:var(--rouge)}
.essai{background:var(--encre);color:#fff;text-align:center;padding:3px 12px;font:600 11px/1.6 Montserrat,sans-serif;letter-spacing:.5px}
.tete{display:flex;justify-content:center;padding:22px 16px 10px;background:#fff}
.logo img{display:block}
.menu{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;padding:6px 16px;background:#fff}
.menu a{font:600 12px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--encre);text-decoration:none;padding:10px 12px}
.menu a:hover,.menu a.actif{background:#f0f0f0}
.bandeau{margin-top:14px;padding:44px 16px 34px;text-align:center;background:linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.72)),url(/assets/bandeau.webp) center/cover no-repeat}
.bandeau h1{margin:0;font:600 34px/1.2 Montserrat,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--encre)}
.filet{display:block;width:66px;height:2px;margin:12px auto;background:var(--encre)}
.fil{margin:0;font:600 11px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--encre)}.fil span{margin:0 6px;opacity:.5}
.filtres{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:center;max-width:1500px;margin:0 auto;padding:22px 20px}
.filtres label{display:flex;flex-direction:column;font:600 11px/1.6 Montserrat,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:var(--encre);flex:1 1 120px;min-width:0}
.filtres .large{flex:2 1 250px}
input,select,textarea{font:500 15px/1.4 Raleway,sans-serif;padding:9px 10px;border:1px solid #cfcfd6;border-radius:4px;background:#fff;color:var(--texte);width:100%}
button{font:600 12px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;padding:12px 26px;background:var(--rouge);color:#fff;border:0;border-radius:4px;cursor:pointer}
button:hover{background:var(--rouge2)}
.double{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,40%);align-items:start;border-top:1px solid var(--trait)}
.double>section{padding:18px 20px;min-width:0}
#plan{position:sticky;top:48px;height:calc(100vh - 48px);border-left:1px solid var(--trait)}
.compte{margin:0 0 14px;font:600 12px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--encre)}.compte b{color:var(--rouge);font-weight:700}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.carte{display:flex;flex-direction:column;background:#fff;padding:9px;text-decoration:none;color:inherit;box-shadow:0 2px 14px rgba(47,48,77,.1);transition:box-shadow .15s}
.carte:hover{box-shadow:0 4px 20px rgba(47,48,77,.22)}
.visuel{position:relative;display:block}.visuel img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.etiquette{position:absolute;top:0;right:0;background:var(--rouge);color:#fff;font:600 12px/1.4 Raleway,sans-serif;padding:4px 8px;border-radius:0 0 0 4px}
.corps{display:block;padding:14px 8px 8px}
.ligne{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.titre{font:600 15px/1.35 Poppins,sans-serif;color:var(--titre)}
.prix{font:500 15px/1.35 Raleway,sans-serif;color:var(--gris);white-space:nowrap}
.lieu{display:block;margin-top:6px;font-size:14px;color:var(--gris)}.agence{display:block;font-size:12px;color:var(--gris)}
.pages{display:flex;justify-content:space-between;padding:22px 0}
.pages a{font:400 14px/1.4 "Varela Round",sans-serif;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;color:#fff;background:var(--rouge);padding:10px 18px;border-radius:10px}
.pages a:hover{background:var(--rouge2)}
.plan-legende{}.plan-info{position:absolute;left:10px;bottom:10px;z-index:2;max-width:70%;background:#fff;color:var(--encre);font:600 12px/1.4 Montserrat,sans-serif;padding:6px 10px;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.plan-legende{position:absolute;left:10px;top:10px;z-index:2;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 70px);background:#fff;color:var(--encre);font:600 12px/1.4 Raleway,sans-serif;padding:6px 10px;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.plan-legende i{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:50%}
.bulle-titre{display:block;font:600 14px/1.35 Poppins,sans-serif;color:var(--titre)}
.bulle-prix{display:block;margin:4px 0 8px;font:500 14px/1.3 Raleway,sans-serif;color:var(--gris)}
.bulle-lien{display:block;text-align:center;font:400 14px/1.4 "Varela Round",sans-serif;text-transform:uppercase;text-decoration:none;color:#fff;background:var(--rouge);padding:7px 8px;border-radius:10px}
.bulle-lien:hover{background:var(--rouge2)}
.page{max-width:1140px;margin:0 auto;padding:22px 20px 40px}
.retour{font:600 12px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;text-decoration:none}
.fiche h1,.page>h1{font:400 26px/1.3 "Varela Round",sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--titre);margin:6px 0 8px;font-weight:900}
.gros{font:500 22px/1.3 Raleway,sans-serif;color:var(--gris);margin:0 0 12px;white-space:normal}
.points{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 16px}
.points li{background:var(--rouge);color:#fff;border-radius:4px;padding:2px 10px;font-size:13px;font-weight:600}
.points li+li{background:#f0f0f0;color:var(--encre)}
.galerie{display:flex;gap:9px;overflow-x:auto;margin:14px 0 20px}.galerie img{height:320px;max-width:100%}
.colonnes{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}.petit{font-size:13px;color:var(--gris)}
.contact{background:#fff;box-shadow:0 2px 14px rgba(47,48,77,.12);padding:20px;display:flex;flex-direction:column;gap:12px}
.contact h2{margin:0;font:600 18px/1.3 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--encre)}
.contact label{font-size:13px;color:var(--texte)}.contact .robot{display:flex;gap:8px;align-items:center;font-size:14px}.robot input{width:auto}
.contact button{font:400 16px/1.4 "Varela Round",sans-serif;letter-spacing:0;padding:12px 8px;border-radius:10px}
.piege{position:absolute;left:-9999px}.ok{color:#0a6b3a;margin:0}.err{color:var(--rouge);margin:0}
.pied{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:center;padding:26px 20px;font-size:13px;background:var(--pale);border-top:1px solid var(--trait)}
:focus-visible{outline:2px solid var(--encre);outline-offset:2px}
@media(max-width:900px){.double{grid-template-columns:1fr}#plan{order:-1;position:relative;top:0;height:42vh;border:0;border-bottom:1px solid var(--trait)}.double>section{order:2}.colonnes{grid-template-columns:1fr}.bandeau h1{font-size:25px}.galerie img{height:220px}.menu{position:static}.menu a{padding:6px 8px;font-size:11px}}
.simple{border-top:1px solid var(--trait);max-width:1280px;margin:0 auto}.simple>section{padding:18px 20px}
.heros{padding:70px 16px;text-align:center;color:#fff;background:linear-gradient(rgba(47,48,77,.55),rgba(47,48,77,.55)),url(/assets/heros.webp) center/cover no-repeat}
.heros h1{margin:0;font:600 34px/1.2 Montserrat,sans-serif;letter-spacing:3px;text-transform:uppercase}
.heros p{margin:12px 0 22px;font:600 15px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase}
.recherche{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:760px;margin:0 auto 16px}.recherche input{flex:2 1 260px;width:auto}.recherche select{flex:1 1 150px;width:auto}
.lien-clair{color:#fff;font:600 12px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase}
.large{max-width:1280px}.moyen{max-width:960px}.etroit{max-width:520px}.centre{text-align:center}
.titre-section{font:600 24px/1.3 Montserrat,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--encre);text-align:center;margin:22px 0}
.sous-titre{font:600 15px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--encre);margin:24px 0 8px}
.bouton{display:inline-block;font:600 12px/1.4 Montserrat,sans-serif;letter-spacing:1px;text-transform:uppercase;text-decoration:none;padding:12px 24px;background:var(--rouge);color:#fff;border-radius:4px}.bouton:hover{background:var(--rouge2)}
.trois{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;padding:40px 20px;background:var(--pale);text-align:center}.trois.sans-fond{background:none;padding:16px 0}
.trois h2,.trois h3{font:600 16px/1.3 Montserrat,sans-serif;color:var(--encre);margin:0 0 8px}
.flash{max-width:960px;margin:14px auto;padding:10px 16px;border-radius:4px;background:#e9f5ee;color:#0a6b3a}.flash.err{background:#f9eaea;color:var(--rouge)}.flash.info{background:#eef2f8;color:var(--encre)}
.err{color:var(--rouge);margin:0 0 8px;font-weight:600}
.contact label{display:block}.contact .robot{display:flex}.choix{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.choix legend{font-size:13px;margin-bottom:4px}.choix label{display:flex;gap:8px;align-items:center;font-size:14px}.choix input{width:auto}
.si-agence{display:flex;flex-direction:column;gap:12px}.etroit-form{max-width:480px}
.onglets{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin:0 0 20px;padding-bottom:8px;border-bottom:1px solid var(--trait)}
.onglets a{font:600 12px/1.4 Montserrat,sans-serif;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;color:var(--encre);padding:8px 10px}.onglets a.actif,.onglets a:hover{background:#f0f0f0}.onglets form{margin-left:auto}
button.lien{background:none;color:var(--rouge);padding:4px;font:500 13px/1.4 Raleway,sans-serif;letter-spacing:0;text-transform:none;text-decoration:underline}button.lien:hover{background:none}
button.second{background:#fff;color:var(--encre);border:1px solid #b9bcc6}button.second:hover{background:#f0f0f0}
.table{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font:600 11px/1.4 Montserrat,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:var(--encre);border-bottom:2px solid var(--trait);padding:8px}td{padding:8px;border-bottom:1px solid var(--trait);vertical-align:top}.actions form{display:inline}.actions a{margin-right:8px}
.etat{display:inline-block;font-size:12px;font-weight:600;border-radius:4px;padding:1px 8px;background:#f0f0f0;color:var(--encre)}.e-en_ligne{background:#e3f3e9;color:#0a6b3a}.e-a_valider{background:#fbeed8;color:#7a4a00}.e-refusee{background:#f9eaea;color:var(--rouge)}
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.chiffres a{display:block;padding:14px;text-decoration:none;box-shadow:0 2px 14px rgba(47,48,77,.1);color:var(--texte)}.chiffres b{display:block;font:600 26px/1.2 Montserrat,sans-serif;color:var(--encre)}.chiffres span{font-size:13px}
.barre{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}.barre input{flex:2 1 220px;width:auto}.barre select{flex:1 1 150px;width:auto}
.boutons{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.fiche-saisie{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;box-shadow:0 2px 14px rgba(47,48,77,.1);padding:20px;margin-bottom:16px}.fiche-saisie label{display:block;font-size:13px}.plein{grid-column:1/-1}
.vignettes{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.vignettes figure{margin:0;width:120px}.vignettes img{width:120px;height:80px;object-fit:cover;display:block}.vignettes input{width:auto}
.message{padding:12px 0;border-bottom:1px solid var(--trait)}.message p{margin:4px 0}.fiche-liste{list-style:none;padding:0}.fiche-liste li{padding:3px 0}
.texte-legal h2{font:600 15px/1.4 Montserrat,sans-serif;color:var(--encre);margin:22px 0 6px}
.texte{white-space:normal}
code{background:#f0f0f0;padding:1px 5px;border-radius:3px;font-size:13px}
@media(max-width:640px){.fiche-saisie{grid-template-columns:1fr}.heros{padding:44px 16px}.heros h1{font-size:24px}}
