
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}

:root{color-scheme:light}

a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul{padding:0;list-style:none}
button{font:inherit}

.conteneur{width:100%;max-width:1120px;margin:0 auto;padding:0 22px}
.section{padding:76px 0}
.centre{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.bandeau-demo{background:#1d2430;color:#fff;font:13px/1.5 "Segoe UI",Roboto,Arial,sans-serif;
  padding:9px 18px;display:flex;gap:14px;justify-content:center;align-items:center;
  flex-wrap:wrap;text-align:center}
.bandeau-demo a{color:#fff;background:rgba(255,255,255,.14);border-radius:5px;
  padding:4px 12px;text-decoration:none;white-space:nowrap}
.bandeau-demo a:hover{background:rgba(255,255,255,.26)}

.nav-bascule{display:none;background:none;border:1px solid currentColor;border-radius:5px;
  padding:7px 11px;cursor:pointer;color:inherit;line-height:1}
.nav-bascule span{display:block;width:19px;height:2px;background:currentColor;margin:3.5px 0}

@media (max-width:860px){
  .nav-bascule{display:block}
  .nav-liens:not(.ouvert){display:none}
  .nav-liens.ouvert,
  .nav-liens:not(.ouvert){position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;padding:8px 0;
    border-top:1px solid rgba(128,128,128,.22);
    box-shadow:0 12px 24px rgba(0,0,0,.12);z-index:60}
  .nav-liens.ouvert{display:flex}
  .nav-liens.ouvert a{padding:12px 22px}

  .entete,[data-entete]{position:relative}
}

.horaire{display:flex;justify-content:space-between;gap:20px;padding:7px 0}
.horaire + .horaire{border-top:1px solid rgba(128,128,128,.18)}

.grille{display:grid;gap:22px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}

.visuel-vide{background:
  linear-gradient(135deg,rgba(0,0,0,.06) 25%,transparent 25%) -12px 0/24px 24px,
  linear-gradient(225deg,rgba(0,0,0,.06) 25%,transparent 25%) -12px 0/24px 24px,
  var(--vide,#e6e3dd)}

@media (max-width:640px){
  .section{padding:52px 0}
}

@media print{
  .bandeau-demo,.nav-bascule{display:none}
}

.lien-panel{text-decoration:underline}

.carte-google{margin:20px 0 0;border-radius:10px;overflow:hidden;
  border:1px solid rgba(0,0,0,.10);background:#eceff1}
.carte-google iframe{display:block;width:100%;height:100%;border:0;
  aspect-ratio:16/9;min-height:220px}

@supports not (aspect-ratio: 16/9){.carte-google iframe{height:280px}}
.carte-attente{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;min-height:220px;
  background:#eceff1 linear-gradient(135deg,rgba(255,255,255,.55) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.55) 75%,transparent 75%) 0 0/28px 28px}
.carte-ouvrir{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:360px;padding:22px;
  text-align:center;text-decoration:none;color:#1f2933}
.carte-ouvrir strong{display:inline-block;padding:11px 20px;border-radius:999px;background:#1f2933;color:#fff;
  font-size:.95rem;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.carte-ouvrir:hover strong{background:#000}
.carte-ouvrir span{font-size:.8rem;line-height:1.45;color:#3e4c59;background:rgba(255,255,255,.85);padding:6px 10px;border-radius:8px}
.mention-cookies{white-space:nowrap}
.avis-google{margin:12px 0 0}
.avis-google a{font-size:.92rem;text-decoration:none;border-bottom:1px solid currentColor}
.avis-google a:hover{opacity:.75}

.bandeau-apercu{position:sticky;top:0;z-index:9999;display:flex;align-items:center;
  justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:11px 18px;background:#8a5a00;color:#fff;
  font:13px/1.5 "Segoe UI",Roboto,Arial,sans-serif}
.bandeau-apercu .ba-txt{min-width:0}
.bandeau-apercu .ba-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bandeau-apercu .ba-form{margin:0}
.bandeau-apercu .ba-btn{display:inline-block;padding:6px 13px;border-radius:7px;
  border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);
  color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.bandeau-apercu .ba-btn:hover{background:rgba(255,255,255,.24)}
.bandeau-apercu .ba-ok{background:#fff;color:#8a5a00;border-color:#fff}
.bandeau-apercu .ba-ok:hover{background:#f3ede3}
@media print{.bandeau-apercu{display:none}}

.annonces-recherche{margin:0 0 26px}

.annonces-champ{
  width:100%;max-width:420px;
  padding:12px 16px;font:inherit;font-size:15px;
  border:1px solid rgba(0,0,0,.16);border-radius:8px;
  background:#fff;color:inherit;
}
.annonces-champ::placeholder{color:rgba(0,0,0,.42)}
.annonces-champ:focus{
  outline:none;
  border-color:var(--accent,rgba(0,0,0,.45));
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#666) 18%, transparent);
}

.annonces-compte{margin:8px 0 0;font-size:13.5px;opacity:.7}

[hidden]{display:none !important}

.crm-packs{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));
  gap:16px;
}

.crm-pack{cursor:zoom-in}

.crm-pack-reste{display:none}

.crm-pack-couv figcaption{display:none}

.crm-photos{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));
  gap:14px;
}
.crm-photo{
  margin:0;border-radius:10px;overflow:hidden;
  background:rgba(0,0,0,.04);

  position:relative;
}
.crm-photo img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  cursor:zoom-in;transition:transform .35s ease;
}
.crm-photo:hover img{transform:scale(1.04)}

.crm-pack-voile{
  position:absolute;left:0;right:0;bottom:0;top:0;
  display:flex;flex-direction:column;justify-content:flex-end;
  gap:2px;padding:14px 15px;
  background:linear-gradient(to top,rgba(12,14,16,.78) 0%,rgba(12,14,16,.25) 45%,rgba(12,14,16,0) 100%);
  color:#fff;

  opacity:.94;transition:opacity .22s ease;
  pointer-events:none;
}
.crm-pack:hover .crm-pack-voile,
.crm-pack:focus-within .crm-pack-voile{opacity:1}

.crm-pack-nom{font-size:1rem;font-weight:700;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.crm-pack-nb{font-size:.82rem;opacity:.86;text-shadow:0 1px 2px rgba(0,0,0,.35)}

.crm-photo figcaption{
  padding:9px 12px;font-size:.85rem;line-height:1.45;opacity:.78;
}
.crm-photos-reste{margin:18px 0 0;font-size:.9rem;opacity:.75}
.crm-photos-reste a{color:var(--accent,inherit);font-weight:600}

.crm-annonces{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));
  gap:20px;
}
.crm-annonce{
  display:flex;flex-direction:column;
  border:1px solid rgba(0,0,0,.1);border-radius:12px;overflow:hidden;
  background:#fff;
}

.crm-annonce.vendue{opacity:.62}

.crm-annonce-photos{display:block}
.crm-annonce-grande{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:zoom-in;
}
.crm-annonce-sansphoto{
  width:100%;aspect-ratio:4/3;
  background:repeating-linear-gradient(45deg,rgba(0,0,0,.04) 0 12px,rgba(0,0,0,.06) 12px 24px);
}
.crm-annonce-vignettes{display:flex;gap:4px;padding:4px}
.crm-annonce-vignettes img{
  width:calc(25% - 3px);aspect-ratio:1/1;object-fit:cover;
  border-radius:5px;cursor:zoom-in;
}

.crm-annonce-corps{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.crm-annonce-corps h3{font-size:1.02rem;line-height:1.3}
.crm-annonce-statut{
  align-self:flex-start;
  padding:2px 10px;border-radius:999px;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  background:rgba(0,0,0,.06);
}
.crm-annonce-prix{
  font-size:1.12rem;font-weight:700;
  color:var(--accent,inherit);
}
.crm-annonce-texte{font-size:.9rem;line-height:1.55;opacity:.8}

@media(max-width:560px){
  .crm-annonce-vignettes img{width:calc(50% - 2px)}
}
