/* Site vitrine Les Gîtes du Pré Moré — refonte 2026, plateforme intégrée.
   Éditorial sobre : serif pour les titres, vert forêt, crème, photos plein cadre. */
:root{
  --bg:#F7F6F3; --ink:#22301F; --muted:#6B7280; --line:#E5E1D8;
  --accent:#2F5D3F; --accent-dark:#22301F; --gold:#E9B44C; --cream:#FBF9F4;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:16px/1.65 -apple-system,'Inter','Segoe UI',sans-serif;background:var(--bg);color:var(--ink)}
h1,h2,h3.serif,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:600;letter-spacing:.2px}
img{max-width:100%}
a{color:var(--accent)}

.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.eyebrow{font:600 11.5px/1 -apple-system,'Inter',sans-serif;text-transform:uppercase;letter-spacing:2px;color:var(--gold)}
section{padding:72px 0}
section h2{font-size:34px;margin:10px 0 14px}
.lead{font-size:17px;color:#4b5563;max-width:640px}

/* --- nav --- */
nav.top{position:sticky;top:0;z-index:40;background:rgba(34,48,31,.92);backdrop-filter:blur(8px);color:#E9E5DA}
nav.top .wrap{display:flex;align-items:center;gap:22px;height:58px}
nav.top .logo{font-family:Georgia,serif;font-size:17px;color:#fff;text-decoration:none;margin-right:auto;white-space:nowrap}
nav.top a{color:#C9C4B6;text-decoration:none;font-size:13.5px;white-space:nowrap}
nav.top a:hover{color:#fff}
nav.top .cta{background:var(--gold);color:#22301F;font-weight:700;border-radius:6px;padding:8px 16px}
nav.top .cta:hover{filter:brightness(1.05);color:#22301F}
@media(max-width:820px){nav.top a:not(.cta):not(.logo){display:none}}

/* --- hero --- */
.hero{position:relative;min-height:82vh;display:flex;align-items:center;color:#fff;
  background:linear-gradient(rgba(20,30,18,.45),rgba(20,30,18,.55)),url('/img/entre-maisons.jpg') center/cover no-repeat}
.hero .wrap{padding-top:40px;padding-bottom:60px}
.hero h1{font-size:clamp(38px,7vw,64px);line-height:1.08;margin:14px 0 16px;color:#fff}
.hero p{font-size:19px;max-width:560px;color:#EDEAE0}
.hero .ctas{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;border-radius:7px;padding:13px 26px;font:600 15px -apple-system,'Inter',sans-serif;text-decoration:none;cursor:pointer;border:none}
.btn.p{background:var(--gold);color:#22301F}
.btn.g{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.btn.v{background:var(--accent);color:#fff}
.btn.o{background:#fff;color:var(--accent);border:1.5px solid var(--accent)}
.btn:hover{filter:brightness(1.07)}

/* --- bandeau badges --- */
.badges{background:var(--accent-dark);color:#C9C4B6;padding:14px 0}
.badges .wrap{display:flex;gap:10px 34px;flex-wrap:wrap;justify-content:center;font-size:13px}
.badges b{color:#fff;font-weight:600}

/* --- histoire --- */
.histoire .cols{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
@media(max-width:820px){.histoire .cols{grid-template-columns:1fr}}
.histoire blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 18px;margin:20px 0;font-family:Georgia,serif;font-style:italic;color:#4b5563}
.histoire img{border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.15)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
@media(max-width:680px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:center}
.stat b{display:block;font-family:Georgia,serif;font-size:30px;color:var(--accent)}
.stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}

/* --- gîtes --- */
.gites{background:var(--cream)}
.gite{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:28px}
.gite.flip .ph{order:2}
@media(max-width:820px){.gite,.gite.flip .ph{display:block;order:0}}
.gite .ph{min-height:340px;background:center/cover no-repeat}
.gite .bd{padding:34px 36px}
.gite h3{font-family:Georgia,serif;font-size:26px;margin:6px 0 4px}
.gite .cap{color:var(--muted);font-size:13px}
.gite p.desc{margin:14px 0}
.gite ul{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:13.5px;color:#4b5563}
.gite ul li::before{content:"✓ ";color:var(--accent);font-weight:700}
.gite .prix{font-size:15px;margin-bottom:16px}
.gite .prix b{font-family:Georgia,serif;font-size:22px;color:var(--accent)}
.domaine-banner{margin-top:28px;border-radius:12px;padding:38px 36px;color:#fff;display:flex;gap:20px;align-items:center;flex-wrap:wrap;
  background:linear-gradient(rgba(34,48,31,.72),rgba(34,48,31,.72)),url('/img/pont-entree.jpg') center/cover}
.domaine-banner h3{font-family:Georgia,serif;font-size:24px}
.domaine-banner p{color:#E5E1D8;max-width:520px}
.domaine-banner .right{margin-left:auto}

/* --- expérience --- */
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
@media(max-width:820px){.exp-grid{grid-template-columns:1fr}}
.exp{position:relative;border-radius:12px;overflow:hidden;min-height:250px;display:flex;align-items:flex-end;color:#fff;background:center/cover no-repeat}
.exp.big{grid-column:span 3;min-height:330px}
@media(max-width:820px){.exp.big{grid-column:span 1}}
.exp .ov{width:100%;padding:22px 24px;background:linear-gradient(transparent,rgba(20,30,18,.85))}
.exp h3{font-family:Georgia,serif;font-size:21px}
.exp p{font-size:13.5px;color:#E5E1D8;max-width:560px}

/* --- autonomie --- */
.autonomie{background:var(--accent-dark);color:#E9E5DA}
.autonomie h2{color:#fff}
.autonomie .lead{color:#C9C4B6}
.auto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
@media(max-width:820px){.auto-grid{grid-template-columns:1fr}}
.auto{border:1px solid #3a4a36;border-radius:10px;padding:22px}
.auto h3{font-family:Georgia,serif;color:var(--gold);font-size:18px;margin-bottom:8px}
.auto p{font-size:14px;color:#C9C4B6}

/* --- disponibilités (calendrier live) --- */
.dispo{background:var(--cream)}
.cal-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 28px;margin-top:26px}
.cal-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.cal-head b{flex:1;text-align:center;text-transform:capitalize;font-size:16px}
.cal-nav{background:#fff;border:1.5px solid var(--accent);color:var(--accent);border-radius:6px;padding:5px 14px;font-weight:700;cursor:pointer}
.cal-nav:disabled{opacity:.35;cursor:default}
.scal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.scal .h{font-size:10px;text-transform:uppercase;color:var(--muted);text-align:center;padding:3px 0}
.sday{border:1px solid var(--line);border-radius:6px;min-height:52px;padding:5px 7px;background:#fff;
  font:inherit;text-align:left;cursor:pointer;color:inherit}
.sday .d{font-size:11.5px;font-weight:600}
.sday .p{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}
.sday.off{visibility:hidden}
.sday.past,.sday.full{background:#F1EFE9;opacity:.6;cursor:default}
.sday.full .p{color:#991B1B}
.sday:hover:not(.past):not(.full){border-color:var(--accent, #2F5D3F)}
.sday.sel{background:var(--accent, #2F5D3F);border-color:var(--accent, #2F5D3F)}
.sday.sel .d,.sday.sel .p{color:#fff}
.sday.range{background:#E6EFE8;border-color:#CBD8CD}
#calCta.pulse{box-shadow:0 0 0 3px rgba(47,93,63,.25);transition:box-shadow .3s}
.cal-note{font-size:12.5px;color:var(--muted);margin-top:12px}

/* --- tarifs --- */
.tarifs table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:24px;font-size:14.5px}
.tarifs th{background:var(--accent-dark);color:#E9E5DA;text-align:left;padding:12px 16px;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.tarifs td{padding:12px 16px;border-bottom:1px solid #F0EDE5}
.tarifs td.r{text-align:right;white-space:nowrap}
.tarifs .note-t{font-size:12.5px;color:var(--muted);margin-top:12px}

/* --- activités --- */
.activites ul{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:680px){.activites ul{grid-template-columns:1fr}}
.activites li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;font-size:14.5px}
.activites li b{display:block;font-family:Georgia,serif;font-size:16px;margin-bottom:2px}

/* --- contact --- */
.contact{background:var(--cream)}
.contact .cols{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;margin-top:26px}
@media(max-width:820px){.contact .cols{grid-template-columns:1fr}}
.contact label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:14px 0 4px}
.contact input,.contact textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:11px 12px;font:15px inherit;background:#fff}
.contact input:focus,.contact textarea:focus{outline:2px solid #CBD8CD;border-color:var(--accent)}
.coord{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}
.coord p{margin-bottom:10px;font-size:14.5px}
.coord .t{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}

/* --- footer --- */
footer{background:var(--accent-dark);color:#8b9282;padding:34px 0;font-size:13px}
footer .wrap{display:flex;gap:12px 30px;flex-wrap:wrap;align-items:center}
footer a{color:#C9C4B6}
.note-ok{background:#E6EFE8;color:#2F5D3F;border-radius:8px;padding:10px 14px;font-size:13.5px;margin-top:10px;display:none}

/* --- pages contenu (sous-tâche 2026-07-12) --- */
section[id],h2[id],h3[id]{scroll-margin-top:74px}
.alt{background:var(--cream)}
.page-hero{background:var(--accent-dark);color:#fff;padding:64px 0 50px}
.page-hero h1{font-size:clamp(30px,5.5vw,46px);color:#fff;margin:12px 0 8px}
.page-hero .lead{color:#C9C4B6}
.anchor-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.anchor-nav a{border:1px solid rgba(233,229,218,.35);color:#E9E5DA;border-radius:20px;padding:7px 16px;font-size:13px;text-decoration:none}
.anchor-nav a:hover{border-color:var(--gold);color:#fff}
.prose{max-width:760px}
.prose h2{font-size:26px;margin:40px 0 12px}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:Georgia,serif;font-size:19.5px;color:var(--accent);margin:28px 0 8px}
.prose h4{font-size:15px;margin:18px 0 6px}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 16px 22px;padding:0}
.prose li{margin-bottom:6px}
.prose .contact-list{list-style:none;margin:10px 0 18px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;font-size:14px;max-width:440px}
.prose .contact-list li{margin-bottom:2px}
.statement{border-left:3px solid var(--gold);padding:6px 0 6px 18px;margin:24px 0;font-family:Georgia,serif;font-style:italic;font-size:18px;color:#4b5563}
.note-src{font-size:12.5px;color:var(--muted)}
.map-embed{margin:22px 0}
.map-embed iframe{width:100%;height:460px;border:0;border-radius:10px;display:block}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}
@media(max-width:680px){.photo-row{grid-template-columns:1fr}}
.photo-row img,.prose figure img{display:block;width:100%;border-radius:10px}
.photo-row figcaption,.prose figcaption{font-size:12.5px;color:var(--muted);margin-top:6px;text-align:center}
.preparer li{padding:0}
.preparer li a{display:block;height:100%;padding:16px 18px;color:inherit;text-decoration:none}
.preparer li a:hover{background:var(--cream)}
.preparer li a b{color:var(--accent)}
.preparer li .more{display:block;margin-top:6px;font-size:12.5px;font-weight:600;color:#B8860B}
.foot-pages{margin-top:16px;padding-top:14px;border-top:1px solid #37452F;display:flex;gap:8px 26px;flex-wrap:wrap;font-size:13px}
