@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--ink:#171a16;--cream:#f4f0e7;--sage:#64705b;--sand:#d7c7ad}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{position:absolute;z-index:10;top:0;left:0;right:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff;border-bottom:1px solid #ffffff40}.brand{font-weight:600;letter-spacing:.18em;font-size:13px}.brand span{font-weight:300}.nav nav{display:flex;align-items:center;gap:28px;font-size:13px}.hero{height:100vh;min-height:680px;position:relative;color:#fff}.hero>img{width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.56),rgba(0,0,0,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.22),transparent 50%)}.heroText{position:absolute;left:8vw;bottom:13vh;max-width:780px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;margin:0 0 20px}.eyebrow.dark{color:var(--sage)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:.98;margin:0}h1{font-size:clamp(60px,8vw,120px);letter-spacing:-.04em}h2{font-size:clamp(42px,5vw,76px);letter-spacing:-.035em}.lead{font-size:18px;margin:28px 0 36px}.actions{display:flex;gap:14px;align-items:center}.book{display:inline-flex;padding:16px 25px;background:#fff;color:#111;border-radius:999px;font-size:13px;font-weight:600}.book.small{padding:11px 19px}.ghost{padding:15px 18px;border:1px solid #ffffff70;border-radius:999px;font-size:13px}.proof{display:grid;grid-template-columns:repeat(4,1fr);padding:42px 7vw;background:#171a16;color:#fff}.proof div{padding:0 28px;border-right:1px solid #ffffff20}.proof div:last-child{border:0}.proof b,.proof span{display:block}.proof b{font-family:'Playfair Display';font-size:24px;font-weight:500}.proof span{font-size:11px;opacity:.65;margin-top:7px}.intro{padding:130px 18vw;text-align:center}.intro p:last-child{font-size:18px;line-height:1.8;max-width:760px;margin:35px auto 0;color:#50544d}.split{display:grid;grid-template-columns:1.25fr .75fr;min-height:760px;background:#fff}.split.reverse{grid-template-columns:.9fr 1.1fr}.split.reverse img{order:2}.split img{width:100%;height:100%;object-fit:cover}.split>div{display:flex;flex-direction:column;justify-content:center;padding:8vw}.split p:not(.eyebrow){line-height:1.8;color:#5d6159;margin-top:30px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.chips span{border:1px solid #d8d8d0;border-radius:999px;padding:9px 13px;font-size:11px}.feature{height:90vh;min-height:700px;position:relative}.feature>img{width:100%;height:100%;object-fit:cover}.featureCard{position:absolute;right:6vw;bottom:7vw;background:#1b201bdf;backdrop-filter:blur(10px);color:#fff;padding:55px;max-width:470px}.featureCard p:last-child{line-height:1.7;opacity:.75}.video{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center;padding:120px 7vw}.videoCopy p:last-child{line-height:1.7;color:#62655e}.video video{width:100%;max-height:720px;background:#111;box-shadow:0 20px 70px #0002}.gallery{padding:120px 6vw;background:#e9e3d7}.galleryHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.galleryHead>p{max-width:330px;color:#64675f;line-height:1.6}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid img{width:100%;height:370px;object-fit:cover}.grid .wide{grid-column:span 2}.location{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:130px 10vw;background:#fff}.location>div>p:last-child{line-height:1.8;color:#60635c;max-width:540px}.locCard{background:var(--cream);padding:55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.locCard span{font-size:25px}.locCard b{font-family:'Playfair Display';font-size:30px;margin-top:22px}.locCard small{margin-top:8px;color:#777}.locCard a{margin-top:38px;border-bottom:1px solid}.cta{text-align:center;background:#263025;color:#fff;padding:140px 20px}.cta p:not(.eyebrow){opacity:.7;margin:30px 0}.book.light{background:#f3eee4;color:#1c211b}footer{padding:35px 5vw;display:flex;justify-content:space-between;align-items:center;background:#171a16;color:#fff;font-size:11px}footer p{opacity:.55}
@media(max-width:760px){.nav{height:72px;padding:0 20px}.nav nav>a:not(.book){display:none}.hero{min-height:720px}.heroText{left:24px;right:24px;bottom:70px}.lead{font-size:15px}.actions{align-items:stretch;flex-direction:column;max-width:220px}.actions a{text-align:center;justify-content:center}.proof{grid-template-columns:1fr 1fr;padding:25px 14px}.proof div{padding:18px;border-bottom:1px solid #ffffff20}.intro{padding:90px 24px}.split,.split.reverse{grid-template-columns:1fr;min-height:0}.split img,.split.reverse img{order:0;height:62vh}.split>div{padding:70px 25px}.feature{height:85vh}.featureCard{left:18px;right:18px;bottom:18px;padding:30px}.video{grid-template-columns:1fr;padding:80px 20px}.gallery{padding:80px 12px}.galleryHead{display:block;padding:0 12px}.galleryHead>p{margin-top:25px}.grid{grid-template-columns:1fr 1fr;gap:6px}.grid img{height:240px}.grid .wide{grid-column:span 2;height:300px}.location{grid-template-columns:1fr;padding:80px 24px}.locCard{padding:35px}.cta{padding:100px 24px}footer{gap:20px;flex-wrap:wrap}footer p{display:none}}
.availability{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:120px 8vw;background:#f4f0e7;align-items:center}.availabilityCopy>p:not(.eyebrow){line-height:1.8;color:#60635c;max-width:520px;margin:30px 0}.legend{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;margin:25px 0}.legend span{display:flex;align-items:center;gap:8px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.availableDot{background:#78836d}.unavailableDot{background:#d7d0c4}.airbnbText{display:inline-block;margin-top:10px;border-bottom:1px solid;padding-bottom:4px;font-size:13px}.calendarCard{background:#fff;padding:38px;box-shadow:0 20px 60px #2d302512}.calendarTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.calendarTop strong{font-family:'Playfair Display';font-size:26px;font-weight:500}.calendarTop button{border:1px solid #dedbd3;background:transparent;border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:18px}.weekdays,.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays span{text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8a8d85;padding:8px 0}.day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px}.day.available{background:#edf0e9;color:#263025}.day.unavailable{background:#eeeae3;color:#aaa49a;text-decoration:line-through}.day.past{color:#c9c6bf}.day.empty{visibility:hidden}.calendarStatus{font-size:10px;color:#8a8d85;text-align:center;margin:24px 0 0;line-height:1.5}
@media(max-width:760px){.availability{grid-template-columns:1fr;padding:80px 20px;gap:45px}.calendarCard{padding:22px 14px}.calendarTop strong{font-size:22px}.day{font-size:11px}}
/* Spa: keep copy high in the image so it never covers the water */
.spaFeature .featureCard{top:6vw;bottom:auto;right:6vw}
.reviews{padding:120px 7vw;background:#fff}.reviewsHead{max-width:760px}.reviewsHead>p:last-child{margin-top:28px;color:#666a62;line-height:1.7}.reviewGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:55px}.reviewGrid article{background:var(--cream);padding:38px;min-height:250px;display:flex;flex-direction:column}.stars{letter-spacing:.16em;font-size:13px}.reviewGrid article p{font-family:'Playfair Display',Georgia,serif;font-size:22px;line-height:1.45;margin:28px 0;flex:1}.reviewGrid article span{font-size:11px;color:#7b7e76}.reviewsLink{display:inline-block;margin-top:32px;border-bottom:1px solid;padding-bottom:4px;font-size:13px}
@media(max-width:760px){.spaFeature .featureCard{top:18px;bottom:auto}.reviews{padding:80px 20px}.reviewGrid{grid-template-columns:1fr;margin-top:38px}.reviewGrid article{min-height:0;padding:28px}.reviewGrid article p{font-size:19px}}
.midCta{display:flex;justify-content:center;align-items:center;gap:28px;padding:24px;background:#171a16;color:#fff;font-size:13px}.midCta span{opacity:.65}.midCta a{border-bottom:1px solid #ffffff80;padding-bottom:3px;font-weight:600}.reviewGrid article strong{font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:500;margin-bottom:10px}.around{padding:120px 7vw;background:#263025;color:#fff}.aroundHead{max-width:760px}.aroundHead .eyebrow{color:#b9c2ae}.aroundHead>p:last-child{opacity:.68;line-height:1.8;margin-top:28px;max-width:620px}.aroundGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:55px}.aroundGrid article{border:1px solid #ffffff22;padding:32px;min-height:250px}.aroundGrid article span{font-size:24px}.aroundGrid h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:500;margin:28px 0 14px}.aroundGrid p{font-size:13px;line-height:1.7;opacity:.65}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding:120px 8vw;background:#fff}.faqList details{border-top:1px solid #ddd8ce;padding:22px 0}.faqList details:last-child{border-bottom:1px solid #ddd8ce}.faqList summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none;position:relative;padding-right:30px}.faqList summary:after{content:'+';position:absolute;right:0;font-size:20px;font-weight:300}.faqList details[open] summary:after{content:'–'}.faqList details p{color:#666a62;line-height:1.7;font-size:13px;max-width:650px;margin:16px 0 0}.contactBtns{display:flex;justify-content:center;gap:12px;margin:28px 0}.contactBtns a{border:1px solid #ffffff55;border-radius:999px;padding:12px 18px;font-size:12px}.floatingCta{display:none}
@media(max-width:760px){.midCta{justify-content:space-between;padding:20px;font-size:11px}.around{padding:80px 20px}.aroundGrid{grid-template-columns:1fr 1fr;gap:8px;margin-top:38px}.aroundGrid article{padding:22px;min-height:220px}.aroundGrid h3{font-size:20px}.faq{grid-template-columns:1fr;padding:80px 20px;gap:42px}.contactBtns{flex-direction:column;align-items:center}.floatingCta{display:block;position:fixed;z-index:30;left:18px;right:18px;bottom:14px;background:#171a16;color:#fff;text-align:center;padding:15px 18px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:0 10px 35px #0004}body{padding-bottom:66px}footer{padding-bottom:40px}}

/* V4 — identité La Cabane Noire */
.intro{background:#121411;color:#fff}.intro .eyebrow.dark{color:#aab5a0}.intro p:last-child{color:#c7c9c2}
.video{background:#171a16;color:#fff}.video .eyebrow.dark{color:#aeb9a5}.videoCopy p:last-of-type{color:#c0c4ba}.videoPrompt{display:inline-block;margin-top:18px;padding-bottom:5px;border-bottom:1px solid #ffffff80;font-size:13px;font-weight:600}
.refugeMerged{background:#f7f4ed}
.around{background:#263025}.aroundLocation{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center;margin-top:70px;padding-top:65px;border-top:1px solid #ffffff24}.aroundLocation h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,4vw,58px);font-weight:500;line-height:1.05;margin:0}.aroundLocation p:not(.eyebrow){max-width:650px;line-height:1.8;opacity:.68}.aroundPlace{border:1px solid #ffffff2c;padding:35px;display:flex;flex-direction:column;align-items:flex-start}.aroundPlace span{font-size:24px}.aroundPlace b{font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:500;margin-top:18px}.aroundPlace small{opacity:.6;margin-top:7px}.aroundPlace a{margin-top:28px;border-bottom:1px solid #ffffff80;padding-bottom:4px;font-size:13px}
.gallery{border-top:10px solid #171a16}
@media(max-width:760px){.aroundLocation{grid-template-columns:1fr;gap:30px;margin-top:50px;padding-top:45px}.aroundPlace{padding:25px}.videoPrompt{margin-bottom:8px}}

/* V5 — identité La Cabane Noire : bois brûlé + signature éditoriale */
:root{--charred:#11120f;--ivory:#eee5d7;--forest:#2f4736}
/* texture officielle, utilisée seulement sur les aplats sombres */
.intro,.video,.proof,.cta,footer{position:relative;background-color:var(--charred);background-image:linear-gradient(rgba(8,9,7,.78),rgba(8,9,7,.78)),url('assets/bois-brule.jpeg');background-size:cover;background-position:center;background-attachment:scroll}
.proof{background-image:linear-gradient(rgba(8,9,7,.82),rgba(8,9,7,.82)),url('assets/bois-brule.jpeg')}
.video{background-image:linear-gradient(rgba(8,9,7,.76),rgba(8,9,7,.76)),url('assets/bois-brule.jpeg')}
.cta,footer{background-image:linear-gradient(rgba(8,9,7,.80),rgba(8,9,7,.80)),url('assets/bois-brule.jpeg')}
/* la Dordogne conserve sa personnalité vert forêt */
.around{background:#2f4736;color:#f5f0e7}
.around .eyebrow.dark{color:#c7d0bf}.aroundHead>p:last-child,.aroundGrid article p,.aroundLocation p{color:#d8ddd4}.aroundGrid article{background:#3a5140;border-color:#ffffff1c}.aroundPlace{background:#24392b;color:#fff}
/* signature typographique */
.brandMark{display:inline-flex;flex-direction:column;align-items:center;color:inherit;font-family:'Playfair Display',Georgia,serif;line-height:.82;text-transform:uppercase;min-width:150px}
.brandMark .brandTop{font-size:10px;letter-spacing:.42em;margin-left:.42em;font-family:'DM Sans',Arial,sans-serif;font-weight:400;line-height:1.3}
.brandMark .brandNoire{font-size:25px;letter-spacing:.10em;font-weight:500;line-height:1.05}
.brandMark .brandRule{width:38px;border-top:1px solid currentColor;margin:7px 0 5px;opacity:.85}
.brandMark .brandPlace{font-size:7px;letter-spacing:.48em;margin-left:.48em;font-family:'DM Sans',Arial,sans-serif;font-weight:400;line-height:1.2;opacity:.9}
footer .brandMark{min-width:135px}.nav .brandMark{filter:drop-shadow(0 2px 12px #0006)}
@media(max-width:760px){.nav .brandMark{min-width:122px}.nav .brandMark .brandTop{font-size:8px}.nav .brandMark .brandNoire{font-size:20px}.nav .brandMark .brandRule{width:30px;margin:5px 0 4px}.nav .brandMark .brandPlace{font-size:6px}}

/* V6 — fond bois brûlé continu */
.charredFlow{background-color:var(--charred);background-image:linear-gradient(rgba(8,9,7,.80),rgba(8,9,7,.80)),url('assets/bois-brule.jpeg');background-size:cover;background-position:center;background-repeat:no-repeat}
.charredFlow .proof,.charredFlow .intro{background:transparent!important;background-image:none!important}
.charredFlow .intro{color:#fff}
/* La photo extérieure devient la 2e grande image, entre les deux vues spa */
.refugeMerged img{object-position:center center}

/* V8 — preuves Airbnb plus épurées, sans quadrillage */
.proof{gap:0;padding-top:54px;padding-bottom:54px}
.proof div{border:0!important;padding:18px 30px;text-align:center;position:relative}
.proof b{font-size:clamp(25px,2.2vw,34px);line-height:1.08;letter-spacing:-.02em}
.proof span{font-size:12px;line-height:1.45;margin-top:11px;opacity:.62;letter-spacing:.01em}
.proof div:not(:last-child)::after{content:"";position:absolute;right:0;top:28%;height:44%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.13),transparent)}
@media(max-width:760px){
  .proof{grid-template-columns:1fr 1fr;padding:36px 18px 44px;row-gap:18px}
  .proof div{padding:20px 10px;border:0!important}
  .proof div::after{display:none!important}
  .proof b{font-size:27px}
  .proof span{font-size:11px;max-width:140px;margin:10px auto 0}
}

/* V9 — un seul bardage continu pour Expérience + preuves Airbnb */
.charredExperience{
  position:relative;
  color:#fff;
  background-color:#0d0f0c;
  background-image:linear-gradient(rgba(8,9,7,.79),rgba(8,9,7,.79)),url('assets/bois-brule.jpeg');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.charredExperience .intro,
.charredExperience .proof{
  background:transparent!important;
  background-image:none!important;
}
.charredExperience .intro{padding-bottom:62px}
.charredExperience .proof{padding-top:12px}
.charredExperience .intro .eyebrow.dark{color:#c4cbbd}
.charredExperience .intro p:last-child{color:#d2d3ce}

/* Contact final : téléphone, WhatsApp et Google Maps dans le même langage visuel */
.contactBtns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:34px auto 30px}
.contactBtns a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-size:13px;letter-spacing:.01em}

@media(max-width:760px){
  .charredExperience{background-size:auto 100%;background-position:center center}
  .charredExperience .intro{padding-top:92px;padding-bottom:34px}
  .charredExperience .proof{padding-top:0;padding-bottom:72px}
  .contactBtns{flex-direction:column;align-items:center;gap:12px}
  .contactBtns a{width:min(310px,88vw)}
}
/* V10 — atouts épurés + continuité du bardage */
.amenities{max-width:980px;margin:54px auto 0;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;color:#f4f0e7}
.amenities>div{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.amenityIcon{font-size:25px;line-height:1;font-family:Georgia,serif;font-weight:300;opacity:.92}
.amenities b{font-size:12px;font-weight:500;letter-spacing:.02em}
.charredClosing{background-color:#0d0f0c;background-image:linear-gradient(rgba(8,9,7,.80),rgba(8,9,7,.80)),url('assets/bois-brule.jpeg');background-size:cover;background-position:center top;background-repeat:no-repeat;color:#fff}
.charredClosing .cta,.charredClosing footer{background:transparent!important;background-image:none!important}
.charredClosing footer{border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:760px){
 .amenities{grid-template-columns:repeat(2,1fr);gap:30px 12px;margin-top:46px}
 .amenities>div:last-child{grid-column:1/-1}
 .amenityIcon{font-size:23px}.amenities b{font-size:11px}
 .charredClosing{background-size:auto 100%;background-position:center top}
}

/* V11 — équipements intégrés au cocon, sans pictogrammes */
.amenities{display:none!important}
.coconAmenities{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(24,31,25,.14)}
.coconAmenities span{font-size:13px;letter-spacing:.04em;color:#293029;white-space:nowrap}
.coconAmenities span:not(:last-child)::after{content:" ·";margin-left:18px;color:#8c8c82}
@media(max-width:700px){.coconAmenities{gap:10px 0}.coconAmenities span{font-size:12px}.coconAmenities span:not(:last-child)::after{margin-left:10px}.coconAmenities span{margin-right:10px}}

/* V12 refinements */
.lead span{display:inline-block;margin-top:7px}
.charredClosing footer{border-top:0!important}
