/* Pages de routes et de road trips (faites pour être lues… et trouvées sur Google) */
:root { --expresso:#1C1712; --champagne:#B89A6A; --champagne-clair:#E8D6B4; --bronze:#7A5E36; --lin:#F6F2EC; --sable:#EAE3D8; --texte:#4A4037; --discret:#6E6253; --trait:#DDD3C4;
  --titre:"Cormorant",Georgia,serif; --corps:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--lin); color:var(--expresso); font-family:var(--corps); -webkit-font-smoothing:antialiased; }
a { color:var(--bronze); } a:hover { color:#5C4627; }
img { max-width:100%; display:block; }
.wrap { max-width:880px; margin:0 auto; padding:0 24px; }
header.top { background:var(--expresso); color:var(--lin); }
header.top .wrap { max-width:1360px; display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:18px; padding-bottom:18px; }
.logo { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.logo span { font-family:var(--titre); font-weight:600; font-size:22px; letter-spacing:7px; }
header.top nav { display:flex; gap:22px; font-size:15px; } header.top nav a { color:var(--lin); text-decoration:none; } header.top nav a:hover { color:var(--champagne-clair); }
.crumbs { padding-top:18px; font-size:13px; color:var(--discret); } .crumbs a { color:var(--discret); }
main { padding:26px 0 80px; }
.kicker { margin:12px 0 10px; font-size:12.5px; letter-spacing:4px; text-transform:uppercase; color:var(--bronze); }
h1 { font-family:var(--titre); font-weight:500; font-size:clamp(38px,6vw,60px); line-height:1.04; margin:0 0 14px; }
.lead { font-size:18px; line-height:1.6; color:var(--texte); margin:0 0 26px; font-weight:300; }
h2 { font-family:var(--titre); font-weight:600; font-size:30px; line-height:1.15; margin:44px 0 12px; }
p, li { font-size:16.5px; line-height:1.7; color:var(--texte); }
.hero { margin:0 0 22px; } .hero img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:20px; }
.credit { margin:6px 2px 0; font-size:12px; color:var(--discret); } .credit a { color:var(--discret); }
.facts { list-style:none; padding:0; margin:0 0 22px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.facts li { background:#FBF9F5; border:1px solid #E6DCCB; border-radius:16px; padding:14px 16px; line-height:1.3; }
.facts b { display:block; font-family:var(--titre); font-weight:600; font-size:22px; color:var(--expresso); }
.facts span { font-size:13px; color:var(--discret); }
.cta { display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 10px; }
.btn { display:inline-flex; align-items:center; padding:13px 22px; border-radius:999px; border:1px solid #D9CCB6; color:var(--expresso); text-decoration:none; font-size:15.5px; }
.btn.main { background:var(--expresso); border-color:var(--expresso); color:var(--lin); }
.btn:hover { border-color:var(--expresso); } .btn.main:hover { background:#2E2620; color:var(--lin); }
.stops { counter-reset:s; list-style:none; padding:0; margin:0; border-left:2px solid var(--champagne); }
.stops li { counter-increment:s; position:relative; padding:0 0 16px 26px; }
.stops li::before { content:counter(s); position:absolute; left:-13px; top:2px; width:24px; height:24px; border-radius:50%; background:var(--expresso); color:var(--champagne-clair); font-size:12.5px; display:grid; place-items:center; }
.stops b { display:block; font-weight:500; color:var(--expresso); } .stops span { color:var(--texte); }
.gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; } .gallery figure { margin:0; } .gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; }
.addr { list-style:none; padding:0; margin:0; border:1px solid #E6DCCB; border-radius:18px; background:#FBF9F5; }
.addr li { display:grid; grid-template-columns:1fr auto; gap:2px 14px; padding:13px 18px; border-top:1px solid #EEE5D6; line-height:1.4; }
.addr li:first-child { border-top:0; }
.addr b { font-family:var(--titre); font-weight:600; font-size:19px; color:var(--expresso); } .addr span { grid-column:1; font-size:14px; color:var(--discret); }
.addr a { grid-column:2; grid-row:1 / span 2; align-self:center; font-size:14px; white-space:nowrap; }
.cards { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cards.big { grid-template-columns:repeat(2,1fr); }
.cards a { display:block; height:100%; padding:0 0 14px; border-radius:16px; background:#FBF9F5; border:1px solid #E6DCCB; color:var(--expresso); text-decoration:none; overflow:hidden; }
.cards a:hover { border-color:var(--champagne); }
.cards img { width:100%; aspect-ratio:3/2; object-fit:cover; margin-bottom:10px; }
.cards b { display:block; padding:12px 14px 0; font-family:var(--titre); font-weight:600; font-size:19px; line-height:1.2; }
.cards img + b { padding-top:0; }
.cards span { display:block; padding:4px 14px 0; font-size:13px; line-height:1.45; color:var(--discret); }
.regions { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; } .regions a { padding:7px 13px; border-radius:999px; border:1px solid #D9CCB6; font-size:14px; text-decoration:none; color:var(--expresso); }
section h2 { scroll-margin-top:16px; }
.day { border-top:1px solid var(--trait); margin-top:34px; } .day h2 { margin-top:26px; }
.meta { font-size:14.5px; color:var(--discret); } .note { font-style:italic; }
footer { background:var(--expresso); color:#9C8F7E; font-size:13px; }
footer .wrap { max-width:1360px; padding-top:24px; padding-bottom:6px; display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; }
footer .wrap + .wrap { padding-top:0; padding-bottom:24px; } footer a { color:#BFB3A3; } footer .legal { margin:0; font-size:12px; color:#9C8F7E; }
@media (max-width:760px) {
  .facts { grid-template-columns:repeat(2,1fr); } .cards { grid-template-columns:1fr 1fr; } .cards.big { grid-template-columns:1fr; }
  header.top nav { gap:14px; font-size:14px; } header.top nav a.hide-s { display:none; } h2 { font-size:26px; }
}
@media (max-width:480px) { .cards { grid-template-columns:1fr; } .addr li { grid-template-columns:1fr; } .addr a { grid-column:1; grid-row:auto; } .gallery { grid-template-columns:1fr; } }
h3 { font-family:var(--titre); font-weight:600; font-size:22px; margin:22px 0 4px; }
.facts.guide { grid-template-columns:1fr 1fr; } .facts.guide b { font-size:20px; margin-bottom:4px; } .facts.guide span { font-size:14.5px; line-height:1.5; color:var(--texte); }
@media (max-width:760px) { .facts.guide { grid-template-columns:1fr; } }
footer .contact { margin:0 0 12px; font-size:15.5px; color:#E8DFD2; } footer .contact a { color:#E8D6B4; font-weight:500; }
