/* Une maison de vacances lumineuse, même si l'appareil utilise le mode sombre. */
:root[data-theme="light"] {
  color-scheme:light;
  --paper:#fffaf2; --card:#fff; --stone:#f3eadc;
  --ink:#183e43; --ink-2:#3e5558; --ink-3:#607071; --rule:#dddccf;
  --lake:#166779; --lake-soft:#e0f0ef; --ember:#b44730; --ember-soft:#fce6d9;
  --shadow:0 12px 40px -24px #18474b44;
}
body { margin:0; }
.frame picture { display:block; width:100%; height:100%; }
a { color:var(--lake); text-underline-offset:4px; }
::selection { background:#f8c7a4; color:#183e43; }
.shell,.nav-in { max-width:1200px; }
.nav { background:#fffaf2ee; border-bottom:1px solid #183e4314; }
.nav-mark { font-weight:600; }
.nav-links a { font-size:.93rem; }
.nav-links .btn-nav { border-radius:99px; padding:10px 20px; color:white!important; }
header.hero { padding:42px 0 46px; background:radial-gradient(ellipse at 85% 30%,#f9dcbb 0,transparent 55%),var(--paper); }
.hero-summary { grid-template-columns:1fr 1.12fr; gap:46px; }
.hero-summary .wordmark { font-size:clamp(2.7rem,5.3vw,4.8rem); line-height:1.03; letter-spacing:-.04em; margin:18px 0 22px; }
.wordmark span { color:var(--lake); }
.place { display:inline-block; padding:7px 13px; border:1px solid #b4473029; background:#fff5e9; border-radius:99px; font-size:11px; letter-spacing:.12em; }
.promise { font-family:var(--body); font-size:1.23rem; max-width:34ch; }
.hero-details { font-size:1rem; margin-top:20px; }
.hero-price { margin-top:22px; padding-left:14px; border-left:3px solid var(--ember); }
.hero-price strong { font-size:1.3rem; }
.hero-price small { font-size:.84rem; }
.cta-row { gap:10px; margin-top:24px; }
.btn { border-radius:99px; padding:14px 23px; box-shadow:0 6px 14px #16677912; }
.btn:hover { transform:translateY(-3px); box-shadow:0 8px 18px #16677928; }
.btn-ghost { background:transparent; box-shadow:none; }
.hero-summary .hint { margin-top:14px; font-size:.84rem; }
.hero-side { position:relative; }
.hero-summary .hero-img { aspect-ratio:1.25; border-radius:100px 22px 22px 22px; box-shadow:var(--shadow); }
.photo-note { position:absolute; right:18px; top:18px; background:#fffaf2f5; border-radius:99px; padding:8px 14px; color:var(--ink); font-size:.8rem; font-weight:600; }
.hero-peeks { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.hero-peeks .frame { aspect-ratio:2.1; border-radius:16px; }
.hero-peeks figcaption { font-size:.8rem; margin:5px 0 0 4px; }
section { padding:76px 0; }
section + section { border-top:none; }
section:nth-of-type(even) { background:#eef4ef; }
.lead { font-family:var(--display); font-size:clamp(1.18rem,2.1vw,1.5rem); line-height:1.6; text-align:left; }
.narrow { max-width:860px; }
.kicker { color:var(--ember); font-size:.75rem; letter-spacing:.15em; }
h2 { font-size:clamp(1.9rem,3.6vw,2.8rem); }
section p,.four p,.season p,.direct p { text-align:left; hyphens:manual; }
.frame { border-radius:18px; }
.frame img { transition:transform .65s ease; }
@media (hover:hover) { .frame:hover img { transform:scale(1.025); } }
.four { gap:18px; }
.four > div { background:var(--card); padding:26px; border:1px solid #183e4310; border-radius:20px; box-shadow:var(--shadow); }
.four .num { background:var(--ember-soft); color:var(--ember); border-radius:50%; width:48px; height:48px; display:grid; place-items:center; font-size:1.2rem; margin-bottom:18px; }
.grid2,.grid3 { gap:20px; }
.facts,.spots,.trajets { border-radius:18px; }
.fact { padding:20px; }
.faq { border-radius:20px; }
.faq summary { padding:23px; }
.steps { gap:20px; }
.step { padding:20px; border-top:3px solid var(--lake); border-radius:0 0 16px 16px; background:#ffffffaa; }
.book { background:#e0f0ef!important; }
.booking { background:#fff; border-radius:24px; border:1px solid #c5dcdb; box-shadow:0 20px 60px -40px #18474b77; }
.day { border-radius:8px; }
.day.free:hover { outline:1px solid var(--lake); }
.cal-nav { border-radius:50%; background:#f0f7f4; }
.quote { background:#edf7f4; border-radius:16px; }
.compare > div { border-radius:18px; }
blockquote { border-radius:18px; }
#bookForm input:not([type=checkbox]),#bookForm textarea { border-radius:10px; background:#f9fbf8; }
footer { background:#183e43; color:#edf7ee; border:0; }
footer p,footer strong,footer a { color:#edf7ee!important; }
/* Les pages de texte partagent la palette, sans changer leur contenu. */
header.top { background:#e0f0ef; }
@media (max-width:800px) {
  .hero-summary { grid-template-columns:1fr; gap:28px; }
  header.hero { padding-top:28px; }
  .hero-summary .wordmark { font-size:clamp(2.7rem,10vw,4rem); }
  .hero-summary .hero-img { aspect-ratio:1.4; border-radius:60px 18px 18px 18px; }
  section { padding:48px 0; }
  .hero-peeks { gap:10px; }
  .booking { padding:18px; }
  .four > div { padding:22px; }
  .nav.open .nav-links { overflow-y:auto; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
