@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Montserrat:wght@400;500;600&display=swap');
:root{--paper:#f7f1e6;--ink:#34291e;--gold:#a98343;--line:rgba(105,82,47,.25);--navh:78px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--navh)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif}img{max-width:100%;display:block}a{color:inherit}.topbar{height:var(--navh);position:fixed;z-index:1000;top:0;left:0;right:0;display:flex;align-items:center;gap:28px;padding:10px 3.5vw;background:rgba(247,241,230,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 5px 22px rgba(55,43,28,.07)}.brand{text-decoration:none;text-align:center;line-height:.8;min-width:150px;font-family:'Cormorant Garamond',Georgia,serif}.brand span{font-size:24px;letter-spacing:2px}.brand small{display:block;font-size:12px;letter-spacing:4px;margin-top:9px}.main-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(10px,1.4vw,24px)}.main-nav a{text-decoration:none;font-size:11px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;padding:10px 0;border-bottom:1px solid transparent}.main-nav a:hover{border-color:var(--gold)}.main-nav .booking{padding:11px 16px;border:1px solid var(--gold)}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{padding-top:var(--navh);background:radial-gradient(circle at 50% 20%,#fffaf0 0%,#f5eee2 58%,#eee3d1 100%);min-height:calc(100vh - var(--navh));display:flex;align-items:center;padding-bottom:42px}.hero-layout{width:min(1500px,96vw);margin:0 auto;display:grid;grid-template-columns:minmax(180px,1fr) minmax(420px,760px) minmax(180px,1fr);gap:clamp(22px,3.2vw,60px);align-items:center}.hero-stage{width:100%;position:relative}.hero-stage>img{width:100%;height:auto;display:block;object-fit:contain;object-position:center;filter:none;transform:none}.hero-buttons{display:flex;flex-direction:column;gap:clamp(18px,2.5vh,32px);align-items:stretch}.rustic-button{--button-gold:#aa8244;--button-ink:#4a3825;position:relative;display:flex;align-items:center;justify-content:center;min-height:76px;padding:15px 22px;text-decoration:none;text-align:center;color:var(--button-ink);font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(18px,1.55vw,25px);line-height:1.05;letter-spacing:.035em;background:linear-gradient(180deg,rgba(255,252,244,.98),rgba(239,223,194,.98));border:2px solid var(--button-gold);border-radius:18px 8px 18px 8px;box-shadow:inset 0 0 0 4px rgba(255,249,235,.82),inset 0 0 0 5px rgba(170,130,68,.26),0 10px 22px rgba(74,56,37,.15);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;background-clip:padding-box}.rustic-button::before,.rustic-button::after{content:'❦';position:absolute;top:50%;z-index:1;color:var(--button-gold);font-size:25px;line-height:1;pointer-events:none}.rustic-button::before{left:10px;transform:translateY(-52%)}.rustic-button::after{right:10px;transform:translateY(-52%) rotate(180deg)}.rustic-button span{position:relative;z-index:2;padding:0 22px}.rustic-button:hover,.rustic-button:focus-visible{transform:translateY(-4px) rotate(-.25deg);filter:saturate(1.05) brightness(1.02);box-shadow:inset 0 0 0 4px rgba(255,249,235,.9),inset 0 0 0 5px rgba(170,130,68,.34),0 16px 30px rgba(74,56,37,.22);outline:none}.hero-buttons-right .rustic-button:hover{transform:translateY(-4px) rotate(.25deg)}.rustic-button:active{transform:translateY(2px) scale(.975);box-shadow:inset 0 5px 10px rgba(86,62,30,.16),inset 0 0 0 4px rgba(255,249,235,.78),inset 0 0 0 5px rgba(170,130,68,.32),0 4px 10px rgba(74,56,37,.16)}.rustic-booking{background:linear-gradient(180deg,#f6ead3,#e4cfa7);border-color:#92703a}.rustic-button:focus-visible{outline:3px solid rgba(169,131,67,.38);outline-offset:5px}
.section{padding:110px 5vw}.section-heading{max-width:760px;margin:0 auto 52px;text-align:center}.eyebrow{color:#91713f;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600}.section h1,.feature h2,.breakfast-copy h2,.contact-section h2,.gallery-section h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;margin:.15em 0;font-size:clamp(44px,6vw,82px);line-height:.95}.section-heading>p:last-child{line-height:1.8;color:#706254}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1400px;margin:auto}.room-card{background:#fffaf1;border:1px solid var(--line);box-shadow:0 16px 50px rgba(61,47,31,.08);overflow:hidden}.room-card img{aspect-ratio:4/3;object-fit:cover;transition:.6s}.room-card:hover img{transform:scale(1.025)}.room-card div{padding:23px 25px 27px}.room-card h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;margin:0}.room-card p{font-size:13px;line-height:1.6;min-height:42px;color:#746656}.room-card strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;color:#785d32}.room-card small{font-family:Montserrat;font-weight:400;font-size:11px}.note{text-align:center;font-size:12px;margin-top:35px;color:#796c5d}.feature{min-height:72vh;padding:95px 7vw;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;border-top:1px solid var(--line);background:linear-gradient(135deg,#faf5ea,#eee3d1)}.feature:nth-of-type(even){background:linear-gradient(135deg,#e8e2d3,#faf4e7)}.feature-copy{max-width:680px}.feature h2{font-size:clamp(48px,6vw,86px)}.feature-copy>p:not(.eyebrow),.breakfast-copy>p:not(.eyebrow){font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;line-height:1.65;color:#665747}.feature-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 25px 70px rgba(69,51,31,.18);border:10px solid rgba(255,250,240,.7)}.ornate-button{display:inline-block;text-decoration:none;padding:15px 30px;margin-top:18px;text-transform:uppercase;letter-spacing:.11em;font-size:11px;border:1px solid #ad8749;background:linear-gradient(#fffaf0,#f2e4ca);position:relative}.ornate-button:before,.ornate-button:after{content:'❦';position:absolute;top:50%;transform:translateY(-52%);color:#a98343;font-size:18px}.ornate-button:before{left:-24px}.ornate-button:after{right:-24px;transform:translateY(-52%) rotate(180deg)}.ornate-button:hover{background:#3f3428;color:white}.breakfast-section{position:relative;min-height:76vh;display:grid;place-items:center;overflow:hidden}.breakfast-image{position:absolute;inset:0;background:url('ontbijt.jpg') center/cover no-repeat;transform:scale(1.03);transition:transform 8s ease}.breakfast-section.in-view .breakfast-image{transform:scale(1)}.breakfast-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,24,17,.72),rgba(31,24,17,.18) 65%,rgba(31,24,17,.05))}.breakfast-copy{position:relative;z-index:2;width:min(620px,80vw);margin-right:auto;margin-left:9vw;color:#fff7e8}.breakfast-copy .eyebrow{color:#e6c48b}.breakfast-copy>p:not(.eyebrow){color:#fff7e8;text-shadow:0 2px 8px #000}.ornate-button.light{background:rgba(255,248,235,.92);color:#392d21}.gallery-section{padding:110px 4vw;background:#efe5d4}.gallery-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-grid button{padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;min-height:230px}.gallery-grid img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:.45s}.gallery-grid button:hover img{transform:scale(1.045)}.contact-section{padding:120px 6vw;text-align:center;background:#3d352b;color:#f7efe1}.contact-section h2{font-size:clamp(50px,8vw,100px)}.contact-section>p:not(.eyebrow){font-family:'Cormorant Garamond',Georgia,serif;font-size:21px}.mail{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;color:#e7d6b4}.contact-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:25px}.primary-button,.booking-button{display:inline-block;text-decoration:none;border:1px solid #9c7b45;padding:14px 23px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;margin-top:18px}.primary-button:hover{background:#fff;color:#3f3428}.booking-button{background:#143f6b;border-color:#143f6b;color:white}footer{text-align:center;padding:26px;background:#2f2922;color:#d5c7b2;font-size:11px;letter-spacing:.08em}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.in-view{opacity:1;transform:none}.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(18,14,10,.92);display:none;place-items:center;padding:30px}.lightbox.open{display:grid}.lightbox img{max-width:min(92vw,1500px);max-height:88vh;box-shadow:0 20px 80px #000}.lightbox-close{position:absolute;right:22px;top:16px;border:0;background:none;color:white;font-size:46px;cursor:pointer}

@media(max-width:1180px) and (min-width:761px){.hero-layout{grid-template-columns:minmax(155px,.8fr) minmax(390px,600px) minmax(155px,.8fr);gap:20px}.rustic-button{min-height:68px;font-size:19px;padding:12px 14px}.rustic-button span{padding:0 16px}.rustic-button::before,.rustic-button::after{font-size:20px}.rustic-button::before{left:7px}.rustic-button::after{right:7px}}
@media(max-width:1120px){.main-nav{position:absolute;top:var(--navh);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#f7f1e6;padding:12px 5vw 24px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.main-nav a{text-align:center;padding:14px}.menu-toggle{display:block;margin-left:auto}.room-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){:root{--navh:66px}.topbar{padding:8px 18px}.brand{min-width:130px}.brand span{font-size:20px}.hero{padding-bottom:28px}.hero-layout{width:min(100%,900px);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 18px}.hero-stage{order:1;grid-column:1/-1;max-width:620px;margin:0 auto 10px}.hero-buttons{display:contents}.hero-buttons .rustic-button{order:2}.hero-buttons-right .rustic-booking{grid-column:auto;width:auto;justify-self:stretch}.rustic-button{min-height:64px;font-size:18px;padding:12px 10px}.rustic-button span{padding:0 14px}.rustic-button::before,.rustic-button::after{font-size:20px}.rustic-button::before{left:7px}.rustic-button::after{right:7px}.section{padding:78px 18px}.room-grid{grid-template-columns:1fr;gap:20px}.feature{min-height:auto;padding:75px 22px;grid-template-columns:1fr}.feature-castle .feature-photo{order:2}.feature-copy>p:not(.eyebrow),.breakfast-copy>p:not(.eyebrow){font-size:20px}.breakfast-section{min-height:70vh}.breakfast-copy{margin:0;width:82vw}.gallery-section{padding:80px 14px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-grid button{min-height:140px}}

/* Klassieke Engelse fade voor de volledige-kasteel sectie */
.castle-section{padding:115px 6vw 125px;background:linear-gradient(180deg,#f7f0e4 0%,#eee2cf 100%);border-top:1px solid var(--line);overflow:hidden}.castle-intro{max-width:900px;margin:0 auto 58px;text-align:center}.castle-intro h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(52px,7vw,94px);line-height:.95;margin:.15em 0}.castle-intro>p:not(.eyebrow){max-width:780px;margin:20px auto 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;line-height:1.65;color:#665747}.castle-gallery{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.45fr .85fr;gap:30px;align-items:end}.castle-photo{margin:0;position:relative;overflow:hidden;background:#e8dcc8;border:10px solid rgba(255,250,240,.72);box-shadow:0 28px 75px rgba(69,51,31,.18);opacity:0;transform:translateY(34px) scale(.985);transition:opacity 1.35s cubic-bezier(.22,.61,.36,1),transform 1.35s cubic-bezier(.22,.61,.36,1)}.castle-section.in-view .castle-photo{opacity:1;transform:none}.castle-section.in-view .castle-photo-secondary{transition-delay:.28s}.castle-photo img{width:100%;height:100%;object-fit:cover;transition:transform 9s ease}.castle-photo-main{aspect-ratio:16/10}.castle-photo-secondary{aspect-ratio:3/4}.castle-section.in-view .castle-photo-main img{transform:scale(1.018)}.castle-section.in-view .castle-photo-secondary img{transform:scale(1.025)}.castle-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(32,24,16,.48));pointer-events:none}.castle-photo figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:22px;color:#fff8eb;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(20px,2vw,30px);letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.6)}
@media(max-width:900px){.castle-gallery{grid-template-columns:1fr}.castle-photo-main,.castle-photo-secondary{aspect-ratio:4/3}.castle-photo-secondary{max-width:none}.castle-intro>p:not(.eyebrow){font-size:20px}.castle-section{padding:85px 20px 95px}}
@media(prefers-reduced-motion:reduce){.castle-photo,.castle-photo img{transition:none!important;transform:none!important;opacity:1!important}}

/* GDPR / cookie consent */
.cookie-consent{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;background:rgba(31,24,17,.56);backdrop-filter:blur(5px)}
.cookie-consent[hidden]{display:none}
.cookie-panel{position:relative;width:min(720px,calc(100vw - 28px));max-height:min(88vh,820px);overflow:auto;background:#fffaf1;border:1px solid #c7aa78;box-shadow:0 28px 90px rgba(24,18,12,.38);padding:36px 38px 30px;color:#44382d}
.cookie-panel:before{content:'';position:absolute;inset:7px;pointer-events:none;border:1px solid rgba(169,131,67,.26)}
.cookie-kicker{margin:0 0 5px;color:#91713f;text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:700}
.cookie-panel h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:44px;line-height:1;margin:0 34px 14px 0}
.cookie-panel>p:not(.cookie-kicker){font-size:14px;line-height:1.75;color:#695b4d}
.cookie-close{position:absolute;right:20px;top:14px;border:0;background:none;color:#6c5943;font-size:34px;line-height:1;cursor:pointer}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 12px}
.cookie-btn{min-height:48px;border:1px solid #9d7b45;background:#f8efdf;color:#3f3428;padding:12px 16px;text-transform:uppercase;letter-spacing:.08em;font:600 10px Montserrat,Arial,sans-serif;cursor:pointer}
.cookie-btn:hover,.cookie-btn:focus-visible{background:#3f3428;color:#fff;outline:none}
.cookie-accept{background:#3f3428;color:#fff}.cookie-reject{background:#fffaf1}.cookie-manage{grid-column:1/-1;background:transparent}
.cookie-preferences{margin-top:18px;border-top:1px solid #d9c8ab;padding-top:8px}.cookie-preferences[hidden]{display:none}
.cookie-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #e5d9c5}.cookie-row strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px}.cookie-row small{display:block;max-width:440px;margin-top:4px;line-height:1.5;color:#766858}.cookie-switch{flex:none;display:flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.cookie-switch input{width:18px;height:18px;accent-color:#6f5734}.cookie-save{width:100%;margin-top:15px;background:#3f3428;color:#fff}
.cookie-footnote{margin:18px 0 0!important;font-size:11px!important}.cookie-footnote a{color:#6f5734}.cookie-settings-link{border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
body.cookie-open{overflow:hidden}
@media(max-width:600px){.cookie-consent{padding:10px;align-items:end}.cookie-panel{width:100%;max-height:92vh;padding:28px 22px 22px}.cookie-panel h2{font-size:38px}.cookie-actions{grid-template-columns:1fr}.cookie-manage{grid-column:auto}.cookie-row{align-items:flex-start}.cookie-row small{font-size:10px}.cookie-switch{flex-direction:column;align-items:flex-end}.cookie-btn{min-height:52px}}

/* Aanpassing hero: originele dubbele deuren prominenter, knoppen compacter */
@media (min-width:761px){
  .hero-layout{
    width:min(1640px,98vw);
    grid-template-columns:minmax(150px,.72fr) minmax(520px,900px) minmax(150px,.72fr);
    gap:clamp(18px,2.2vw,38px);
  }
  .hero-buttons{
    width:min(100%,245px);
    justify-self:center;
    gap:clamp(14px,2vh,24px);
  }
  .rustic-button{
    min-height:62px;
    padding:11px 16px;
    font-size:clamp(16px,1.25vw,21px);
  }
  .rustic-button span{padding:0 18px}
  .rustic-button::before,.rustic-button::after{font-size:21px}
}

@media (max-width:760px){
  .hero-layout{padding-left:10px;padding-right:10px}
  .hero-stage{max-width:680px;width:calc(100% + 12px);margin-left:-6px;margin-right:-6px}
  .rustic-button{min-height:58px;font-size:16px;padding:10px 8px}
  .rustic-button span{padding:0 10px}
  .rustic-button::before,.rustic-button::after{font-size:18px}
}

/* Boekingsaanvraag */
.booking-page{min-height:100vh;padding:calc(var(--navh) + 70px) 20px 90px;background:radial-gradient(circle at 50% 15%,#fffaf0 0%,#f5eee2 58%,#eee3d1 100%)}
.booking-shell{width:min(860px,100%);margin:auto;background:rgba(255,250,241,.96);border:1px solid #c7aa78;box-shadow:0 28px 80px rgba(61,47,31,.14);padding:54px;position:relative}.booking-shell:before{content:'';position:absolute;inset:8px;border:1px solid rgba(169,131,67,.25);pointer-events:none}.booking-heading{text-align:center;position:relative}.booking-heading h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(48px,7vw,76px);line-height:.95;margin:.15em 0}.booking-heading>p:last-child{max-width:620px;margin:18px auto 38px;line-height:1.7;color:#706254}.booking-form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field.full{grid-column:1/-1}.form-field label,.breakfast-label{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:600;color:#66533d}.form-field input,.form-field select,.form-field textarea{width:100%;height:54px;border:1px solid #c9b38d;background:#fffdf8;color:#34291e;padding:0 15px;font:14px Montserrat,Arial,sans-serif;border-radius:0}.form-field textarea{height:auto;min-height:120px;padding:15px;resize:vertical;line-height:1.55}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid rgba(169,131,67,.28);border-color:#a98343}.breakfast-choice{display:flex;gap:12px}.breakfast-choice label{flex:1;border:1px solid #c9b38d;background:#fffdf8;padding:16px;cursor:pointer;text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.breakfast-choice input{accent-color:#8e6c38;margin-right:7px}.booking-submit{grid-column:1/-1;border:1px solid #8e6c38;background:#3f3428;color:#fff;padding:17px 24px;text-transform:uppercase;letter-spacing:.14em;font:600 11px Montserrat,Arial,sans-serif;cursor:pointer;margin-top:8px}.booking-submit:hover{background:#8e6c38}.booking-back{display:block;text-align:center;margin-top:25px;font-size:12px;color:#705b40}.success-popup{position:fixed;inset:0;z-index:6000;background:rgba(31,24,17,.58);display:grid;place-items:center;padding:20px}.success-popup[hidden]{display:none}.success-card{width:min(560px,100%);background:#fffaf1;border:1px solid #c7aa78;box-shadow:0 28px 90px rgba(24,18,12,.38);padding:50px 38px;text-align:center;position:relative}.success-card:before{content:'';position:absolute;inset:7px;border:1px solid rgba(169,131,67,.26);pointer-events:none}.success-card h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:46px;font-weight:500;margin:0 0 12px}.success-card p{line-height:1.7}.success-card button{border:1px solid #8e6c38;background:#3f3428;color:#fff;padding:13px 25px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;cursor:pointer;margin-top:10px}
@media(max-width:650px){.booking-page{padding:calc(var(--navh) + 35px) 12px 55px}.booking-shell{padding:38px 22px}.booking-form{grid-template-columns:1fr}.form-field.full,.booking-submit{grid-column:auto}.booking-heading h1{font-size:48px}}

.char-note{font-weight:400;letter-spacing:.04em;text-transform:none}.char-count{text-align:right;font-size:10px;color:#8a7965;margin-top:-3px}
