
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#faf8f4;color:#24263a;font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#303b80}img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:auto;padding:0 16px}
header.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 16px;max-width:1180px;margin:auto}
.logo{text-decoration:none;color:#24263a;font-weight:800;letter-spacing:.12em}.logo small{display:block;font:italic 400 .8rem Georgia,serif;letter-spacing:0;color:#a8794b}
nav.top a{margin-left:16px;text-decoration:none;font-weight:600;font-size:.92rem}
.eyebrow{font-size:.74rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:#a8794b;margin:0 0 6px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.1;color:#303b80;margin:0 0 10px}
h1{font-size:clamp(2.1rem,5.4vw,3.8rem);letter-spacing:-.02em}h1 em{color:#a8794b}h2{font-size:clamp(1.5rem,3.4vw,2.2rem)}h3{font-size:1.25rem}
.lead{font-size:1.08rem;color:#4a4d5c;max-width:640px;margin:0 0 18px}
.btn{display:inline-block;background:#ffd43b;color:#1e2556;font-weight:800;text-decoration:none;padding:13px 22px;border-radius:999px;border:0;font-size:.95rem;cursor:pointer;font-family:inherit}
.btn.ghost{background:#fff;border:1.5px solid #303b80;color:#303b80}
.pill{display:inline-block;background:#f0ebe2;border-radius:30px;padding:5px 12px;font-size:.8rem;margin:0 6px 6px 0}
.hero{position:relative;border-radius:26px;overflow:hidden;margin:6px 0 30px;min-height:430px;display:flex;align-items:flex-end;background:#303b80}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}
.hero .in{position:relative;padding:34px 28px;width:100%;background:linear-gradient(0deg,rgba(20,24,60,.82),rgba(20,24,60,0))}
.hero h1,.hero .lead{color:#fff}.hero h1 em{color:#ffd43b}.hero .lead{opacity:.92}
.search{display:grid;grid-template-columns:1.6fr 1fr auto;gap:10px;background:#fff;border-radius:18px;padding:10px;max-width:760px;box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.search input,.search select{width:100%;padding:13px 14px;border:1.5px solid #e7e0d3;border-radius:12px;font:inherit;font-size:16px;background:#fff;color:#24263a}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.chip{border:1.5px solid #ddd4c4;background:#fff;border-radius:999px;padding:8px 14px;font:600 .86rem system-ui,sans-serif;color:#24263a;cursor:pointer}.chip[aria-pressed=true]{background:#303b80;border-color:#303b80;color:#fff}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 40px}
.card{background:#fff;border:1px solid #e7e0d3;border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(30,37,86,.6)}
.card .ph{aspect-ratio:4/3;overflow:hidden;position:relative}.card .ph img{width:100%;height:100%;object-fit:cover}
.card .tag{position:absolute;top:12px;left:12px;background:#fff;border-radius:8px;padding:3px 8px;font-size:.72rem;font-weight:800;color:#303b80}
.card .tag.ex{left:auto;right:12px;background:#24263a;color:#fff}
.card .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.card .lieu{font-size:.82rem;color:#6b6d7a}.card .meta{font-size:.84rem;color:#4a4d5c}.card .prix{margin-top:auto;padding-top:8px;font:600 1.15rem Georgia,serif;color:#303b80}.card .prix small{font:400 .8rem system-ui;color:#6b6d7a}
.offre{display:inline-block;background:#fff6dc;color:#7a5a1d;border-radius:8px;padding:3px 8px;font-size:.74rem;font-weight:700;margin-top:4px;width:max-content}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:10px 0 40px}
.step{background:#fff;border:1px solid #e7e0d3;border-radius:18px;padding:22px}.step b{display:block;font:400 2rem Georgia,serif;color:#a8794b}
.band{background:#303b80;color:#fff;border-radius:26px;padding:34px 28px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;margin:0 0 40px}
.band h2{color:#fff}.band p{opacity:.9;margin:0 0 6px}
.empty{display:none;padding:30px;text-align:center;color:#6b6d7a}
/* fiche */
.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:8px;border-radius:22px;overflow:hidden;margin:0 0 26px}
.gal img{width:100%;height:100%;object-fit:cover}.gal img:first-child{grid-row:1/3}.gal.g3{grid-template-columns:2fr 1fr}
.fiche{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:40px;align-items:start}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.box{background:#fff;border:1px solid #e7e0d3;border-radius:18px;padding:20px;margin:0 0 22px}
.box.or{background:#fff6dc;border-color:#f1dfa8}
table.ch{width:100%;border-collapse:collapse;font-size:.92rem}table.ch td,table.ch th{text-align:left;padding:10px 6px;border-bottom:1px solid #eee6d8}table.ch th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#6b6d7a}
.eq{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:.92rem;margin:0;padding:0;list-style:none}.eq li:before{content:"✓ ";color:#3d7a3a;font-weight:700}
.reco{display:grid;gap:10px}.reco div{border-left:3px solid #a8794b;padding:2px 0 2px 12px}.reco b{display:block}.reco small{color:#6b6d7a}
.cal{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mois b{display:block;font:400 1.05rem Georgia,serif;color:#303b80;margin:0 0 6px;text-transform:capitalize}
.jours{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font-size:.78rem;text-align:center}.jours span{padding:6px 0;border-radius:6px}.jours .h{color:#6b6d7a;font-weight:700}.jours .d{background:#eef5ec;color:#2f5f2c}.jours .o{background:#f3e4e0;color:#9a4b3c;text-decoration:line-through}.jours .p{color:#c9c3b6}
.leg{font-size:.78rem;color:#6b6d7a;margin-top:8px}.leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 10px;vertical-align:middle}
.side{position:sticky;top:16px}
.side .prixg{font:600 1.8rem Georgia,serif;color:#303b80}.side .prixg small{font:400 .9rem system-ui;color:#6b6d7a}
label.f{display:block;font-size:.84rem;font-weight:600;margin:0 0 10px}
label.f input,label.f select,label.f textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1.5px solid #ddd4c4;border-radius:10px;font:inherit;font-size:16px;background:#fff;color:#24263a}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.note{font-size:.78rem;color:#6b6d7a;margin:8px 0 0}
.ex-banner{background:#24263a;color:#fff;border-radius:12px;padding:10px 14px;font-size:.86rem;margin:0 0 16px}
/* hôtes */
.tarifs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:10px 0 40px}
.tarif{background:#fff;border:1.5px solid #e7e0d3;border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:8px;position:relative}
.tarif.reco{border-color:#303b80;box-shadow:0 0 0 2px #303b80 inset}.tarif .rb{position:absolute;top:-12px;left:20px;background:#a8794b;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:8px;padding:3px 8px}
.tarif .p{font:600 2rem Georgia,serif;color:#303b80}.tarif ul{margin:4px 0 12px;padding-left:18px;font-size:.92rem}.tarif .btn{margin-top:auto;text-align:center}
.vs{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;margin:0 0 40px;font-size:.92rem}.vs td,.vs th{padding:12px;border-bottom:1px solid #eee6d8;text-align:left}.vs th{background:#f0ebe2}.vs td.ok{color:#2f5f2c;font-weight:700}
footer.bas{max-width:1180px;margin:auto;padding:26px 16px 40px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;color:#6b6d7a;border-top:1px solid #e7e0d3}
.row2>*,.fiche>*{min-width:0}h1,h2{overflow-wrap:break-word}
.ph .ini0{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font:700 64px Georgia,serif;color:#fff;background:linear-gradient(135deg,#303b80,#8a6a3b)}
@media(max-width:860px){.grid,.steps,.tarifs{grid-template-columns:minmax(0,1fr)}.band,.fiche{grid-template-columns:minmax(0,1fr)}.side{position:static}.search{grid-template-columns:1fr}.gal{grid-template-columns:1fr 1fr;grid-template-rows:220px 120px}.gal img:first-child{grid-column:1/3;grid-row:auto}.gal img:nth-child(n+4){display:none}.cal{grid-template-columns:1fr}nav.top a.opt{display:none}.hero{min-height:520px}}
.fil{font-size:.84rem;color:#6b6d7a;margin:0 0 14px}.fil a{color:#6b6d7a}
.ph.ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#303b80,#5a64a8);color:#ffd43b;font:400 3rem Georgia,serif}
.ph.ini.gi{background:linear-gradient(135deg,#a8794b,#c99b6d);color:#fff}
.tag.nr{left:auto;right:12px;background:#f0ebe2;color:#6b5a3e}
.card .ex{font-size:.86rem;color:#4a4d5c;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.voir{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 36px}.voir div{background:#fff;border:1px solid #e7e0d3;border-radius:16px;padding:16px}.voir b{display:block;font:400 1.1rem Georgia,serif;color:#303b80;margin:0 0 4px}.voir p{margin:0;font-size:.88rem;color:#4a4d5c}
.voisins{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 36px}.voisins a{background:#fff;border:1.5px solid #ddd4c4;border-radius:999px;padding:8px 14px;text-decoration:none;font-weight:600;font-size:.88rem}
.src{font-size:.78rem;color:#6b6d7a;margin:0 0 30px}
.claim{background:#fff6dc;border:1px solid #f1dfa8;border-radius:18px;padding:18px 20px;margin:0 0 22px}.claim h3{margin:0 0 6px}
.communes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 40px}.communes a{background:#fff;border:1px solid #e7e0d3;border-radius:16px;padding:16px 18px;text-decoration:none;color:inherit}.communes b{display:block;font:400 1.25rem Georgia,serif;color:#303b80}.communes span{font-size:.86rem;color:#6b6d7a}
.reg{margin:0 0 34px}.reg h2{margin-bottom:14px}
@media(max-width:860px){.voir,.communes{grid-template-columns:minmax(0,1fr)}}
