:root{--cream:#f7f3ea;--paper:#fffdf8;--sand:#e9dfcf;--green:#53695a;--deep:#253a30;--wine:#7f2f39;--gold:#c4934e;--ink:#292c29;--muted:#6f746f;--line:#ddd6ca;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--container:1200px;--shadow:0 24px 60px rgba(36,47,39,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06}h2{margin-bottom:1.25rem;color:var(--deep);font-size:clamp(2.55rem,5vw,4.9rem);letter-spacing:-.045em}.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}.section{padding:clamp(5rem,9vw,8.5rem) 0}.skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;padding:.7rem 1rem;transform:translateY(-150%);background:white}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin-bottom:1.15rem;color:var(--wine);font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.eyebrow.light{color:#e6c791}.section-heading{display:grid;grid-template-columns:1.15fr .65fr;align-items:end;gap:5rem;margin-bottom:3.5rem}.section-heading h2{margin:0}.section-heading>p{margin:0 0 .5rem;color:var(--muted);font-size:1rem}.lead{font-family:var(--serif);font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.45}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:.8rem 1.45rem;border:1px solid var(--wine);background:var(--wine);color:white;font-size:.78rem;font-weight:750;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;transition:.25s ease}.button:hover,.button:focus-visible{transform:translateY(-2px);background:#66242d}.button-light{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.08);backdrop-filter:blur(5px)}.button-light:hover{border-color:white;background:white;color:var(--deep)}.button-dark{border-color:var(--deep);background:var(--deep)}.button-gold{border-color:var(--gold);background:var(--gold);color:#17251e}.text-link{display:inline-flex;gap:1.5rem;margin-top:1rem;color:var(--wine);font-size:.8rem;font-weight:800;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.text-link:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.site-header{position:fixed;z-index:100;top:0;width:100%;border-bottom:1px solid rgba(255,255,255,.18);color:white;transition:.3s ease}.site-header.scrolled{border-color:var(--line);background:rgba(255,253,248,.96);box-shadow:0 6px 25px rgba(25,40,31,.08);color:var(--deep);backdrop-filter:blur(12px)}.header-inner{display:flex;min-height:82px;align-items:center;gap:2rem}.logo{display:inline-flex;align-items:center;gap:.7rem;margin-right:auto;color:inherit;font-family:var(--serif);font-size:1.08rem;line-height:.9;text-decoration:none;white-space:nowrap}.logo em{font-size:.72em}.logo small{display:block;margin-top:.38rem;color:var(--gold);font-family:var(--sans);font-size:.49rem;font-style:normal;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.logo-mark{display:grid;width:2.65rem;height:2.65rem;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:1.25rem}.desktop-nav{display:flex;gap:1.25rem}.desktop-nav a{font-size:.72rem;font-weight:720;text-decoration:none}.desktop-nav a:hover{color:var(--gold)}.language-switcher{display:flex;gap:.25rem}.lang{padding:.38rem .5rem;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;font-size:.66rem;font-weight:750}.lang.active{border-color:var(--gold);color:var(--gold)}.menu-toggle,.mobile-menu{display:none}
.hero{position:relative;min-height:920px;color:white;background:var(--deep);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(18,34,27,.9) 0%,rgba(18,34,27,.58) 48%,rgba(18,34,27,.2) 78%),linear-gradient(0deg,rgba(17,31,25,.55),transparent 50%)}.hero-content{position:relative;z-index:2;padding-top:240px}.hero h1{max-width:900px;margin-bottom:1.5rem;font-size:clamp(3.6rem,7.5vw,7rem);letter-spacing:-.055em}.hero-lead{max-width:690px;color:rgba(255,255,255,.88);font-size:clamp(1.05rem,2vw,1.3rem)}.hero-actions{display:flex;gap:.75rem;margin-top:2.3rem}.hero-intro{position:absolute;z-index:3;right:0;bottom:0;display:grid;width:min(650px,48vw);grid-template-columns:auto 1fr;gap:2rem;padding:2.2rem 3rem;background:var(--cream);color:var(--ink)}.hero-intro span{color:var(--wine);font-family:var(--serif);font-size:1.25rem}.hero-intro p{margin:0;color:var(--muted);font-size:.88rem}
.usp{background:var(--cream)}.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.usp-grid article{min-height:290px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.usp-grid article>span{color:#999;font-size:.65rem}.line-icon{margin:2.5rem 0 1.3rem;color:var(--wine);font-size:2rem}.usp-grid h3{margin-bottom:.7rem;color:var(--deep);font-size:1.65rem}.usp-grid p{margin:0;color:var(--muted);font-size:.9rem}
.menu{background:var(--paper)}.menu-tabs{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line)}.menu-tab{padding:1rem 1.25rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:.75rem;font-weight:750;white-space:nowrap}.menu-tab.active{border-color:var(--wine);color:var(--wine)}.menu-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:0 4rem;padding-top:2rem}.menu-item{display:grid;gap:.5rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}.menu-item h3{margin:0;color:var(--deep);font-family:var(--sans);font-size:1rem;font-weight:720}.menu-item p{margin:0;color:var(--muted);font-size:.83rem}.menu-note{margin-top:1.3rem;color:var(--muted);font-size:.72rem;font-style:italic}
.suggestions{background:var(--cream)}.suggestion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.suggestion-grid article{background:var(--paper);box-shadow:0 12px 32px rgba(37,58,48,.07)}.suggestion-grid img{height:290px;object-fit:cover}.suggestion-grid article>div{position:relative;padding:1.6rem}.suggestion-grid small{color:var(--wine);font-size:.64rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.suggestion-grid h3{margin:.6rem 0 .5rem;color:var(--deep);font-size:1.55rem}.suggestion-grid p{margin:0;color:var(--muted);font-size:.85rem}
.terrace{background:var(--paper)}.terrace-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(3rem,8vw,8rem)}.terrace-image{position:relative}.terrace-image img{height:650px;object-fit:cover}.image-badge{position:absolute;right:-2.5rem;bottom:2.5rem;display:flex;width:150px;height:150px;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--wine);color:white}.image-badge strong{font-family:var(--serif);font-size:1.15rem}.image-badge span{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.terrace-copy>p:not(.eyebrow):not(.lead){color:var(--muted)}
.about{color:white;background:var(--deep)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,9rem)}.about h2{color:white}.about-grid>div:last-child{padding-top:2rem}.about-grid>div:last-child p:last-child{color:rgba(255,255,255,.65)}
.gallery{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:280px 280px;gap:1rem}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid img{height:100%;object-fit:cover;transition:transform .6s ease}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery-full{grid-column:1/-1}
.directions{background:var(--cream)}.directions-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,9vw,9rem)}.directions address{margin-bottom:1.5rem;color:var(--deep);font-family:var(--serif);font-size:1.4rem;font-style:normal}.directions p{max-width:460px;color:var(--muted)}.map-placeholder{position:relative;display:flex;min-height:440px;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background-color:#d9d3c3;background-image:linear-gradient(30deg,transparent 49%,rgba(83,105,90,.16) 50%,transparent 52%),linear-gradient(-35deg,transparent 47%,rgba(83,105,90,.13) 48%,transparent 50%);background-size:90px 80px}.map-placeholder::before{content:"";position:absolute;width:45px;height:45px;transform:rotate(45deg);border-radius:50% 50% 50% 0;background:var(--wine)}.map-placeholder span,.map-placeholder strong,.map-placeholder small{position:relative;z-index:1;transform:translateY(50px)}.map-placeholder span{font-size:.7rem;text-transform:uppercase}.map-placeholder strong{font-family:var(--serif);font-size:2rem}.map-placeholder small{color:var(--muted)}
.contact{color:white;text-align:center;background:var(--wine)}.contact-inner{max-width:820px}.contact h2{color:white}.contact>p{color:rgba(255,255,255,.75)}.contact-actions{display:flex;align-items:center;justify-content:center;gap:3rem;margin-top:2.2rem}.phone-link{font-family:var(--serif);font-size:1.5rem;text-decoration:none}.phone-link small{display:block;color:#e8c995;font-family:var(--sans);font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.site-footer{padding:5rem 0 1.5rem;background:#1c2c25;color:rgba(255,255,255,.67);font-size:.85rem}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .6fr;gap:4rem;padding-bottom:4rem}.footer-logo{margin-bottom:1.3rem;color:white}.site-footer h2{margin:0 0 1rem;color:#e6c791;font-family:var(--sans);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.site-footer address{font-style:normal}.site-footer a{display:block;text-decoration:none}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.13);font-size:.7rem}.footer-bottom a{display:inline}
@media(max-width:1080px){.desktop-nav{display:none}.desktop-languages{margin-left:auto}.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:inherit;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:currentColor;transition:.25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:grid;max-height:0;overflow:hidden;background:var(--paper);color:var(--deep);transition:max-height .35s ease}.mobile-menu.open{max-height:650px;border-top:1px solid var(--line)}.mobile-menu nav{display:flex;flex-direction:column;padding-block:.8rem 1.2rem}.mobile-menu a{padding:.7rem 0;border-bottom:1px solid var(--line);text-decoration:none}.mobile-menu .language-switcher{padding-top:1rem}.hero-intro{width:56vw}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:auto}.gallery-full,.gallery-grid figure:last-child{grid-column:span 2}}
@media(max-width:720px){html{scroll-padding-top:70px}.container{width:min(calc(100% - 1.5rem),var(--container))}.section{padding:4.6rem 0}.header-inner{min-height:70px}.desktop-languages{display:none}.section-heading,.terrace-grid,.about-grid,.directions-grid{grid-template-columns:1fr;gap:1.5rem}.section-heading{margin-bottom:2.5rem}.hero{min-height:790px}.hero-content{padding-top:155px}.hero h1{font-size:clamp(3.25rem,14vw,4.8rem)}.hero-actions{align-items:stretch;flex-direction:column;max-width:300px}.hero-intro{right:auto;bottom:0;left:0;width:100%;grid-template-columns:1fr;padding:1.4rem 1.25rem;gap:.4rem}.usp-grid,.menu-panel,.suggestion-grid{grid-template-columns:1fr}.usp-grid article{min-height:230px}.line-icon{margin:1.6rem 0 1rem}.suggestion-grid img{height:250px}.terrace-image{order:2}.terrace-image img{height:440px}.image-badge{right:.75rem;bottom:.75rem;width:120px;height:120px}.about-grid>div:last-child{padding-top:0}.gallery-grid{grid-template-columns:1fr;grid-template-rows:none}.gallery-grid figure,.gallery-grid figure:last-child{grid-column:auto;grid-row:auto;height:270px}.gallery-grid .gallery-tall{height:390px}.map-placeholder{min-height:340px}.contact-actions{flex-direction:column;gap:1.5rem}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-bottom{align-items:flex-start;flex-direction:column}.menu-tabs{margin-right:-.75rem}.hero-image{object-position:58% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Kaart, sociale links en cookievoorkeuren */
.map-card{position:relative;display:block;min-height:440px;overflow:hidden;background:#e8e5dc;box-shadow:var(--shadow);text-decoration:none}.map-card>img{width:100%;height:440px;object-fit:cover;transition:transform .5s ease}.map-card:hover>img,.map-card:focus-visible>img{transform:scale(1.025)}.map-card::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(37,58,48,.1)}.map-pin{position:absolute;top:46%;left:29.5%;display:grid;width:58px;height:58px;place-items:center;transform:translate(-50%,-100%) rotate(45deg);border:4px solid white;border-radius:50% 50% 50% 0;background:var(--wine);box-shadow:0 8px 22px rgba(45,25,25,.28)}.map-pin i{transform:rotate(-45deg);color:white;font-family:var(--serif);font-size:1.4rem;font-style:normal}.map-label{position:absolute;top:46%;left:calc(29.5% + 42px);display:flex;min-width:190px;flex-direction:column;padding:.65rem .85rem;transform:translateY(-100%);background:var(--paper);box-shadow:0 8px 22px rgba(37,58,48,.18)}.map-label strong{color:var(--deep);font-family:var(--serif);font-size:1rem}.map-label small{color:var(--muted);font-size:.68rem}
.social-links{display:flex;gap:.6rem;margin-top:1.5rem}.social-links a{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;transition:.2s}.social-links a:hover,.social-links a:focus-visible{border-color:var(--gold);background:var(--gold)}.social-links svg{width:19px;height:19px;fill:currentColor}.social-links svg rect,.social-links svg circle{fill:none;stroke:currentColor;stroke-width:1.8}.social-links svg .fill-dot{fill:currentColor;stroke:none}
.footer-bottom>div{display:flex;align-items:center;gap:1.5rem}.cookie-settings{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-decoration:underline}.cookie-banner{position:fixed;z-index:300;right:1rem;bottom:1rem;left:1rem;display:grid;grid-template-columns:1.3fr 1fr auto;align-items:center;gap:2rem;width:min(calc(100% - 2rem),1180px);margin-inline:auto;padding:1.5rem 1.7rem;border:1px solid var(--line);background:var(--paper);box-shadow:0 18px 60px rgba(20,32,25,.24)}.cookie-banner[hidden]{display:none}.cookie-banner .eyebrow{margin-bottom:.35rem}.cookie-banner h2{margin:0 0 .5rem;font-size:1.75rem}.cookie-banner p:last-child{margin:0;color:var(--muted);font-size:.82rem}.cookie-options{display:flex;flex-direction:column;gap:.6rem;color:var(--muted);font-size:.78rem}.cookie-options label{display:flex;align-items:center;gap:.5rem}.cookie-options input{accent-color:var(--wine)}.cookie-actions{display:flex;flex-direction:column;gap:.55rem}.cookie-actions .button{min-width:175px;min-height:44px;font-size:.68rem}
@media(max-width:900px){.cookie-banner{grid-template-columns:1fr 1fr}.cookie-copy{grid-column:span 2}.cookie-actions{align-items:stretch}}
@media(max-width:720px){.map-card,.map-card>img{min-height:340px;height:340px}.map-pin{top:48%;left:29%;width:48px;height:48px}.map-label{top:auto;right:.75rem;bottom:.75rem;left:.75rem;min-width:0;transform:none}.cookie-banner{grid-template-columns:1fr;gap:1.2rem;padding:1.25rem}.cookie-copy{grid-column:auto}.cookie-actions{flex-direction:column}.footer-bottom>div{align-items:flex-start;flex-direction:column;gap:.7rem}}

/* De kaartafbeelding vult altijd de volledige, door de grid bepaalde kaartcontainer. */
.map-card>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}

/* Menu-fallback: alle gerechten blijven ook zichtbaar wanneer JavaScript niet draait. */
.menu-noscript{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem 4rem;
  padding-top:2rem;
}
.menu-noscript h3{
  margin:1.5rem 0 .5rem;
  color:var(--deep);
  font-family:var(--sans);
  font-size:1rem;
  font-weight:800;
}
.menu-noscript ul{
  margin:0;
  padding-left:1.2rem;
  color:var(--muted);
}
@media(max-width:720px){
  .menu-noscript{grid-template-columns:1fr}
}

/* Mobiel: beide hero-CTA's moeten zichtbaar blijven zonder onder het introblok te vallen. */
@media(max-width:720px){
  .hero{min-height:820px}
  .hero-content{padding-top:132px;padding-bottom:210px}
  .hero h1{margin-bottom:1.15rem;font-size:clamp(2.95rem,12.5vw,4.25rem)}
  .hero-lead{font-size:1rem}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;max-width:none;margin-top:1.8rem}
  .hero-actions .button{min-height:48px;padding:.72rem .6rem;font-size:.68rem;white-space:nowrap}
}

/* Footer: alle tekstlinks krijgen dezelfde goudkleurige hover als de footer-koppen. */
.site-footer :is(a[href^="tel:"],a[href^="mailto:"],nav a,.footer-bnb-link):not(.logo):not(.social-links a){
  color:rgba(255,255,255,.67);
  transition:color .2s ease,text-decoration-color .2s ease;
}
.site-footer :is(a[href^="tel:"],a[href^="mailto:"],nav a,.footer-bnb-link):not(.logo):not(.social-links a):hover,
.site-footer :is(a[href^="tel:"],a[href^="mailto:"],nav a,.footer-bnb-link):not(.logo):not(.social-links a):focus-visible{
  color:#e6c791;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.22em;
}

/* Nieuw SVG-logo in header en footer. */
.logo-img{
  width:3rem;
  height:3rem;
  flex:0 0 auto;
  padding:.08rem;
  border-radius:50%;
  background:#fff;
  object-fit:contain;
}
.site-header.scrolled .logo-img{
  filter:drop-shadow(0 0 1px rgba(28,44,37,.2));
}

/* Terrasfoto lager uitsnijden: meer terras, minder gevel. */
.terrace-image img{
  object-position:center bottom;
}

/* Klikbare masonry-galerij en lightbox. */
.gallery-grid{
  grid-auto-flow:dense;
  grid-auto-rows:220px;
}
.gallery-trigger{
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
}
.gallery-trigger img{
  width:100%;
  height:100%;
}
.gallery-trigger:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:4px;
}
.lightbox{
  position:fixed;
  z-index:500;
  inset:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  padding:clamp(1rem,3vw,2rem);
  background:rgba(18,34,27,.92);
  color:white;
}
body.lightbox-open{
  overflow:hidden;
}
.lightbox[hidden]{
  display:none;
}
.lightbox figure{
  display:grid;
  max-width:min(1120px,100%);
  max-height:calc(100vh - 4rem);
  justify-self:center;
  gap:.75rem;
  margin:0;
}
.lightbox img{
  width:auto;
  max-width:100%;
  max-height:calc(100vh - 7rem);
  justify-self:center;
  object-fit:contain;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.lightbox figcaption{
  text-align:center;
  color:rgba(255,255,255,.82);
  font-size:.9rem;
}
.lightbox-close,.lightbox-nav{
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.08);
  color:white;
  cursor:pointer;
  transition:.2s ease;
}
.lightbox-close:hover,.lightbox-close:focus-visible,.lightbox-nav:hover,.lightbox-nav:focus-visible{
  border-color:var(--gold);
  background:var(--gold);
  color:var(--deep);
}
.lightbox-close{
  position:absolute;
  top:1rem;
  right:1rem;
  width:46px;
  height:46px;
  border-radius:50%;
  font-size:2rem;
  line-height:1;
}
.lightbox-nav{
  width:52px;
  height:72px;
  border-radius:999px;
  font-size:2.7rem;
  line-height:1;
}

@media(max-width:720px){
  .gallery-grid{
    display:flex!important;
    flex-direction:column;
    gap:0!important;
    grid-auto-rows:auto!important;
  }
  .gallery-grid figure{
    flex:none;
    margin:0 0 1rem!important;
  }
  .gallery-grid figure:last-child{
    margin-bottom:0!important;
  }
  .lightbox{
    grid-template-columns:1fr;
    padding:4.5rem 1rem 1rem;
  }
  .lightbox-nav{
    position:absolute;
    top:50%;
    width:44px;
    height:58px;
    transform:translateY(-50%);
    font-size:2rem;
  }
  .lightbox-prev{left:.75rem}
  .lightbox-next{right:.75rem}
}
