:root{--creme:#faf6ec;--beige:#f1e9d8;--beige2:#ece1c9;--brun:#2b2419;--brun-clair:#6b5d4a;--dore:#a97d3f;--bordure:#ddd0b3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--brun);background:var(--creme);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:400;color:var(--brun);line-height:1.25;margin:0 0 16px}
h1{font-size:clamp(30px,4.4vw,48px)}
h2{font-size:clamp(24px,2.8vw,32px);text-align:center}
h3{font-size:19px;font-weight:400}
p{margin:0 0 14px;font-size:16px}
a{color:inherit}
img{max-width:100%;display:block}
section{padding:70px 24px}
.wrap{max-width:1180px;margin:0 auto}
.center{text-align:center}
.lead{font-size:16.5px;color:var(--brun-clair);max-width:640px;margin-left:auto;margin-right:auto}
.eyebrow{font-family:Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:bold}
.btn-text{display:inline-flex;align-items:center;gap:8px;font-family:Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:bold;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}

/* Nav */
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:20px 32px;background:var(--creme);border-bottom:1px solid var(--bordure);position:sticky;top:0;z-index:20}
.nav .logo{font-size:23px;font-weight:bold;letter-spacing:.01em;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:12px;color:var(--brun)}
.nav .logo img{height:50px;width:50px;object-fit:cover;border-radius:50%}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:24px;margin:0;padding:0}
.nav a{font-family:Arial,sans-serif;font-size:14.5px;font-weight:bold;letter-spacing:.02em;text-decoration:none;color:var(--brun)}
.nav a.active{color:var(--dore);border-bottom:2px solid var(--dore);padding-bottom:3px}
.nav a.reserve{color:#fff;background:var(--brun);padding:10px 18px;border-radius:999px}
.nav a.reserve:hover{background:var(--dore)}

/* Notice travaux */
.work-notice{display:flex;align-items:center;gap:14px;max-width:1180px;margin:26px auto 0;padding:16px 22px;background:#fbeed9;border:1px solid #e8c98a;border-radius:8px;font-family:Arial,sans-serif;font-size:14px;color:#7a5a1e;line-height:1.5}
.work-notice-icon{font-size:22px;flex-shrink:0}

/* Page hero (non-home pages) */
.page-hero{padding:64px 24px;background:var(--beige);text-align:center}
.page-hero .eyebrow{color:var(--brun-clair)}
.page-hero h1{margin-top:10px}

/* Home hero */
.hero{position:relative;overflow:hidden;display:flex;align-items:flex-end}
.hero img.hero-bg{width:100%;height:auto;display:block}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,11,6,.55) 0%,rgba(15,11,6,.15) 30%,rgba(20,15,8,0) 45%)}
.hero-inner{position:absolute;left:8vw;right:8vw;top:6vw;max-width:520px;z-index:1}
.hero .eyebrow{color:#f3ead9}
.hero h1{color:#fdfbf6;margin:14px 0 18px}
.hero p{color:#f1e9da;font-size:17px;max-width:460px}
.hero .btn-text{color:#fff;margin-top:18px}

/* Badges */
.badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.badge{font-family:Arial,sans-serif;font-size:13.5px;border:1px solid var(--bordure);border-radius:999px;padding:9px 20px;color:var(--brun-clair);background:transparent;text-decoration:none;display:inline-block;transition:background .15s,color .15s}
a.badge:hover{background:var(--brun);color:#fff;border-color:var(--brun)}

/* Galerie photos (privatisation) */
.gallery-cat{margin-top:44px;text-align:left}
.gallery-cat:first-of-type{margin-top:44px}
.gallery-cat h3{font-family:Arial,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.08em;font-weight:bold;color:var(--brun-clair);margin-bottom:18px;text-align:left;border-bottom:1px solid var(--bordure);padding-bottom:10px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-cat .gallery-grid.gallery-grid-4{grid-template-columns:repeat(4,1fr)}
.gallery-placeholder{aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--beige)}
.gallery-placeholder:has(span){border:1.5px dashed var(--bordure);display:flex;align-items:center;justify-content:center}
.gallery-placeholder span{font-family:Arial,sans-serif;font-size:12.5px;color:var(--brun-clair);letter-spacing:.03em}
.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block}

/* Cards (experience, rooms) */
.experience{background:var(--beige)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:44px}
.card img{width:100%;height:210px;object-fit:cover;margin-bottom:22px}
.card p{font-size:14.5px;color:var(--brun-clair)}

.suite-link{text-decoration:none;color:var(--brun);border-bottom:1px solid transparent;transition:border-color .15s}
.suite-link:hover{border-bottom-color:var(--brun)}

/* Room detail cards (2-col) */
.room{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:50px 0;border-bottom:1px solid var(--bordure)}
.room:last-child{border-bottom:none}
.room img{width:100%;height:340px;object-fit:cover}
.room.reverse{direction:rtl}
.room.reverse>*{direction:ltr}
.room .facts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}
.room .facts span{font-family:Arial,sans-serif;font-size:13px;color:var(--brun-clair);background:var(--beige);padding:6px 14px;border-radius:999px}

/* Tarifs table */
.tarifs-table{width:100%;border-collapse:collapse;margin-top:16px;font-family:Arial,sans-serif;font-size:14.5px}
.tarifs-table th,.tarifs-table td{padding:14px 12px;border-bottom:1px solid var(--bordure);text-align:center}
.tarifs-table th{font-weight:bold;color:var(--brun-clair);text-transform:uppercase;font-size:12px;letter-spacing:.04em}
.tarifs-table td:first-child,.tarifs-table th:first-child{text-align:left}
.tarifs-note{background:var(--beige);border-radius:10px;padding:20px 24px;font-size:14.5px;color:var(--brun-clair);font-family:Arial,sans-serif;margin-top:26px}
.conditions{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}
.conditions .box{background:var(--beige);padding:26px;border-radius:10px}
.conditions .box h3{margin-bottom:8px}
.conditions .box p{font-size:14.5px;color:var(--brun-clair);margin-bottom:0}
.dog-pricing{list-style:none;margin:0;padding:0;font-size:14.5px;color:var(--brun-clair)}
.dog-pricing li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--bordure)}
.dog-pricing li:last-child{border-bottom:none;padding-bottom:0}
.dog-pricing strong{color:var(--brun);font-weight:bold;white-space:nowrap}

/* Avis */
.avis{background:var(--beige)}
.rating-line{font-family:Arial,sans-serif;color:var(--dore);font-size:14px;margin-top:8px;text-align:center;letter-spacing:.02em}
.rating-line .stars{letter-spacing:2px;margin-right:6px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.review{background:var(--creme);padding:30px 26px}
.review .stars{color:var(--dore);letter-spacing:2px;font-size:14px;margin-bottom:16px;display:block}
.review p{font-style:italic;font-size:15px}
.review .who{font-family:Arial,sans-serif;font-size:13px;color:var(--brun-clair)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:40px;align-items:start}
.field{width:100%;margin-bottom:16px;padding:14px 16px;border:1px solid var(--bordure);background:transparent;font-family:Arial,sans-serif;font-size:14.5px;color:var(--brun)}
textarea.field{min-height:120px;resize:vertical;font-family:Arial,sans-serif}
.field::placeholder{color:var(--brun-clair)}
.submit{font-family:Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:bold;padding:14px 30px;background:var(--beige2);color:var(--brun-clair);border:none;cursor:pointer}
.submit:hover{color:var(--brun)}
.map-box{width:100%;height:230px;object-fit:cover;margin-bottom:24px}
.info h3{margin-bottom:12px}
.info p{font-family:Arial,sans-serif;font-size:14.5px;color:var(--brun-clair);margin-bottom:4px}
.socials{font-family:Arial,sans-serif;display:flex;gap:20px;margin-top:18px}
.socials a{font-size:12.5px;letter-spacing:.1em;text-decoration:none;color:var(--brun-clair);border-bottom:1px solid var(--bordure)}
.cta-band{background:linear-gradient(180deg,rgba(20,15,8,.85),rgba(20,15,8,.9)),url('https://primary.jwwb.nl/public/r/s/g/temp-xsftdspmosrmrhxrzlzh/img_3123-standard.jpg') center/cover no-repeat;text-align:center}
.cta-band h2,.cta-band .lead{color:#fff}
.cta-band .btn-text{color:#fff}

/* Footer */
footer{padding:44px 24px 34px;text-align:center;font-family:Arial,sans-serif;font-size:13px;color:var(--brun-clair);border-top:1px solid var(--bordure)}
footer a{text-decoration:underline}

@media (max-width:900px){
 .nav{padding:16px 20px}.nav ul{gap:14px}
 section{padding:50px 18px}
 .cards,.review-grid,.contact-grid,.room,.conditions{grid-template-columns:1fr}
 .gallery-grid,.gallery-cat .gallery-grid.gallery-grid-4{grid-template-columns:repeat(2,1fr)}
 .room{direction:ltr!important}
 .room img{height:260px}
 .hero-inner{left:6vw;right:6vw;top:6vw}
}
