/* Engelhard: warm neutrals, with pink reserved for links and buttons. */
:root {
  --engelhard-pink: #b63870;
  --engelhard-pink-dark: #932755;
  --engelhard-soft: #f5f4f1;
  --engelhard-ink: #302e2b;
  --engelhard-muted: #706c66;
  --engelhard-line: #e5e2dc;
  --bs-primary: #302e2b;
  --bs-primary-rgb: 48, 46, 43;
  --bs-primary-text-emphasis: #302e2b;
  --bs-primary-bg-subtle: #f5f4f1;
  --bs-primary-border-subtle: #e5e2dc;
  --bs-link-color: #b63870;
  --bs-link-color-rgb: 182, 56, 112;
  --bs-link-hover-color: #932755;
  --bs-link-hover-color-rgb: 147, 39, 85;
  --bs-body-color: #302e2b;
  --bs-body-bg: #fdfcf9;
  --bs-border-color: #e5e2dc;
  --bs-focus-ring-color: rgba(48,46,43,.22);
}
body { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; line-height: 1.7; -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5 { letter-spacing: -.035em; line-height: 1.15; text-wrap: balance; }
h1,.display-4,.display-5 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400 !important; }
h1.display-4 { font-size: clamp(3rem,5.5vw,5.2rem); }
h2.fw-bold { font-size: clamp(1.9rem,3vw,2.8rem); font-weight: 600 !important; }
p { text-wrap: pretty; }
a { color: var(--engelhard-pink); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--engelhard-pink-dark); }
.lead { font-size: 1.12rem; font-weight: 400; line-height: 1.8; max-width: 46rem; }
section.text-center > .container > .lead { margin-inline: auto; }
.eyebrow { color: var(--engelhard-muted); font-size: .72rem; letter-spacing: .16em; font-weight: 700; text-transform: uppercase; margin-bottom: 1.25rem; }
main > section.py-5 { padding-block: clamp(3.5rem,6vw,6rem) !important; }
.section-soft { background: var(--engelhard-soft); }
.topbar { background: var(--engelhard-soft); border-bottom: 1px solid var(--engelhard-line); font-size: .8rem; }
.navbar { border-bottom: 1px solid var(--engelhard-line); box-shadow: none !important; padding-block: .7rem; }
.navbar-brand { display: inline-flex; padding: 0; }
.navbar-logo { width: 160px; height: auto; max-height: 80px; object-fit: contain; transition: width .25s ease; }
.navbar .nav-link { font-size: .91rem; font-weight: 600; padding: .75rem .8rem; }
.nav-link.active,.dropdown-item.active { color: var(--engelhard-pink) !important; background: transparent; }
.navbar .nav-link:hover { color: var(--engelhard-pink); }
.navbar-toggler { border: 1px solid var(--engelhard-line); border-radius: 50%; padding: .65rem; }
.navbar-toggler-icon { width: 1.25rem; height: 1.25rem; }
body.nav-is-scrolled .navbar-logo { width: 125px; }
.dropdown-menu { padding: .6rem; border-radius: .9rem; box-shadow: 0 12px 35px #302e2b14 !important; }
.dropdown-item { padding: .6rem .85rem; border-radius: .4rem; font-size: .9rem; }
.dropdown-item:hover,.dropdown-item:focus { color: var(--engelhard-pink); background: var(--engelhard-soft); }
.btn { border-radius: 999px; padding: .75rem 1.35rem; font-weight: 650; font-size: .92rem; transition: background-color .2s, border-color .2s, box-shadow .2s; }
.btn-lg { padding: .95rem 1.6rem; font-size: .98rem; }
.btn-sm { padding: .55rem 1.05rem; font-size: .85rem; }
.btn-primary {
  --bs-btn-color: #fff; --bs-btn-bg: var(--engelhard-pink); --bs-btn-border-color: var(--engelhard-pink);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--engelhard-pink-dark); --bs-btn-hover-border-color: var(--engelhard-pink-dark);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--engelhard-pink-dark); --bs-btn-active-border-color: var(--engelhard-pink-dark);
  --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: var(--engelhard-pink); --bs-btn-disabled-border-color: var(--engelhard-pink);
  --bs-btn-focus-shadow-rgb: 182,56,112;
}
.btn-outline-primary {
  --bs-btn-color: var(--engelhard-pink); --bs-btn-border-color: var(--engelhard-pink);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--engelhard-pink); --bs-btn-hover-border-color: var(--engelhard-pink);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--engelhard-pink-dark); --bs-btn-active-border-color: var(--engelhard-pink-dark);
  --bs-btn-disabled-color: var(--engelhard-pink); --bs-btn-disabled-border-color: var(--engelhard-pink);
  --bs-btn-focus-shadow-rgb: 182,56,112;
}
a:focus-visible,button:focus-visible,.btn:focus-visible { outline: 2px solid var(--engelhard-pink); outline-offset: 4px; box-shadow: 0 0 0 .25rem #b638701a; }
.hero { --hero-image: url('../img/hero/home-hero.webp'); position: relative; isolation: isolate; overflow: hidden; background: var(--engelhard-soft); padding-block: clamp(4rem,7vw,7rem); }
.hero::before { content: ''; position: absolute; z-index: -1; inset: 0 0 0 55%; background: var(--hero-image) center / cover no-repeat; }
.hero .col-lg-7 { padding-right: 4rem; }
.hero-special .col-lg-7 { width: 52%; }
.hero-home::before { display: none; }
.hero-home { padding-block: clamp(2.5rem,5vw,5rem); }
.hero-home h1 { margin-bottom: 1.5rem; }
.hero-home .hero-copy { padding-right: 2rem; }
.hero-photo { width: 100%; height: auto; aspect-ratio: 1 / 1.05; object-fit: cover; border-radius: 1.25rem; }
.hero-caption { display: flex; justify-content: space-between; gap: 1rem; padding-top: .9rem; color: var(--engelhard-muted); font-size: .76rem; }
.hero-note { color: var(--engelhard-muted); font-size: .8rem; margin-top: 1.5rem; }
.hero-high-tea { --hero-image: url('../img/hero/high-tea.webp'); }
.hero-high-wine { --hero-image: url('../img/hero/high-wine.webp'); }
.hero-baby-shower { --hero-image: url('../img/hero/baby-shower.webp'); }
.hero-gender-reveal { --hero-image: url('../img/hero/gender-reveal.webp'); }
.hero-party { --hero-image: url('../img/hero/party.webp'); }
.hero-catering { --hero-image: url('../img/hero/catering.webp'); }
.page-header { position: relative; isolation: isolate; color: #fff; background: var(--engelhard-ink) center/cover no-repeat; }
.page-header::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#24231fe8,#24231f88); }
.page-header--menu { background-image: url('../img/page-headers/menu-header.webp'); }
.page-header--dranken { background-image: url('../img/facebook/borrel.webp'); background-position: center 48%; }
.interior-photo { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; object-position: center 65%; border-radius: 1rem; }
.menu-feature-photo { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; object-position: center 70%; border-radius: .65rem; }
.page-header .eyebrow { color: #dedbd5; }
.page-header .btn-outline-primary { --bs-btn-color: #ffbbd7; --bs-btn-border-color: #ffbbd7; }
.card { border: 1px solid var(--engelhard-line); border-radius: 1rem; box-shadow: none; background: #fff; }
.service-card { height: 100%; transition: border-color .2s,box-shadow .2s; }
.service-card:hover { border-color: #c9c4bc; box-shadow: 0 .8rem 2rem #302e2b0a; }
.service-card p { color: var(--engelhard-muted); font-size: .93rem; }
.service-card .card-link-label { color: var(--engelhard-pink); margin-top: auto; padding-top: 1.25rem; font-size: .85rem; font-weight: 650; }
.icon-circle { width: 2.75rem; height: 2.75rem; display: inline-grid; place-items: center; border-radius: 50%; background: var(--engelhard-soft); color: var(--engelhard-ink); }
.special-image { width: 100%; height: 220px; object-fit: cover; border-radius: .75rem; }
.section-heading { margin-bottom: 2rem; }
.section-heading p { color: var(--engelhard-muted); }
.cta-band { background: var(--engelhard-ink); color: white; border-radius: 1rem; }
.cta-band a:not(.btn) { color: #ffbbd7; }
.breadcrumb-section { border-bottom: 1px solid var(--engelhard-line); padding: 1rem 0; font-size: .82rem; }
.breadcrumb-item.active,.breadcrumb-item + .breadcrumb-item::before { color: var(--engelhard-muted); }
.menu-section { scroll-margin-top: 7rem; }
.menu-items { display: flex; flex-direction: column; gap: 1rem; }
.menu-item { display: flex; justify-content: space-between; align-items: start; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--engelhard-line); }
.menu-item:last-child { border: 0; padding-bottom: 0; }
.menu-item-main { min-width: 0; }
.menu-item-main h3 { font-size: 1.02rem; letter-spacing: -.01em; }
.menu-item-main p { color: var(--engelhard-muted); font-size: .9rem; }
.menu-price { color: var(--engelhard-ink); font-size: .94rem; font-weight: 650; white-space: nowrap; font-variant-numeric: tabular-nums; }
.check-list { list-style: none; padding-left: 0; }
.check-list li { position: relative; padding-left: 1.9rem; margin-bottom: .75rem; }
.check-list li::before { content: '\f00c'; position: absolute; left: 0; top: .1rem; font-family: 'Font Awesome 7 Free'; font-weight: 900; color: var(--engelhard-muted); }
.check-list li:last-child { margin-bottom: 0; }
.review-slider { padding-bottom: 4rem; }
.review-slider blockquote { font-family: Georgia,serif; font-size: clamp(1.4rem,2vw,1.8rem); line-height: 1.55; min-height: 9rem; }
.review-slider .slick-control { position: absolute; bottom: 0; z-index: 2; width: 2.6rem; height: 2.6rem; border: 1px solid var(--engelhard-pink); border-radius: 50%; background: transparent; color: var(--engelhard-pink); }
.review-slider .slick-control:hover { background: var(--engelhard-pink); color: white; }
.review-slider .slick-prev-custom { left: 0; }
.review-slider .slick-next-custom { left: 3.2rem; }
.review-slider .slick-dots { bottom: .5rem; right: 0; width: auto; }
.review-slider .slick-dots li { margin: 0; }
.review-slider .slick-dots li button::before { color: var(--engelhard-pink); }
.review-slider .slick-dots li.slick-active button::before { color: var(--engelhard-pink-dark); }
.accordion { --bs-accordion-border-color: var(--engelhard-line); --bs-accordion-border-radius: .75rem; --bs-accordion-active-bg: var(--engelhard-soft); --bs-accordion-active-color: var(--engelhard-pink-dark); --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem #b6387020; --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon); }
.accordion-button { font-weight: 600; padding: 1.4rem; }
.accordion-body { padding: 0 1.4rem 1.4rem; background: var(--engelhard-soft); }
.form-label { font-size: .9rem; font-weight: 600; }
.form-control,.form-select { padding: .8rem 1rem; border-radius: .65rem; background-color: #fdfcf9; }
.form-control:focus,.form-select:focus,.form-check-input:focus { border-color: var(--engelhard-muted); box-shadow: 0 0 0 .2rem #302e2b14; }
.form-check-input:checked { background-color: var(--engelhard-ink); border-color: var(--engelhard-ink); }
.toast-container { max-width: 100%; }
.toast-container.position-fixed { bottom: 5rem !important; }
.toast { --bs-toast-bg: #fff; border-left: 4px solid var(--engelhard-ink); border-radius: .7rem; }
.toast-error { border-left-color: #b02a37; }
.modal-content { border: 0; border-radius: 1rem; }
.modal-header,.modal-footer { border-color: var(--engelhard-line); padding: 1.3rem 1.5rem; }
.modal-body { padding: 1.5rem; }
.footer { background: #282723; color: #e3e0d9; padding-top: 4rem !important; margin-top: 0 !important; }
.footer h3 { color: white; margin-bottom: 1.1rem; font-size: 1rem; }
.footer p,.footer-links { font-size: .9rem; }
.footer a { color: #ffbbd7; }
.footer a:hover { color: #fff; }
.footer-links { display: flex; flex-direction: column; gap: .35rem; }
.footer hr { margin-block: 2.5rem 1.5rem; opacity: .18; }
.footer-logo { width: 145px; height: auto; background: #fff; padding: .5rem .75rem; border-radius: .5rem; margin-bottom: 1.5rem; }
.footer-credit { font-size: .8rem; }
.legal-content { max-width: 850px; }
.legal-content h2 { margin-top: 2rem; margin-bottom: .85rem; font-size: 1.5rem; }
.legal-content h2:first-child { margin-top: 0; }
.skip-link { position: absolute; top: .75rem; left: .75rem; z-index: 1100; padding: .65rem 1rem; background: #fff; border-radius: .5rem; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }
/* Content stays visible if animation JavaScript fails to load. */
.animate__animated { --animate-duration: .55s; }
@media (min-width: 1400px) { .container { max-width: 1240px; } }
@media (max-width: 991.98px) {
  .wow { visibility: visible !important; animation: none !important; }
  .navbar-logo { width: 130px; }
  .navbar-collapse { padding-block: 1rem; }
  .navbar-nav .btn { margin-top: .75rem; }
  .hero::before { inset: auto 0 0; height: 20rem; }
  .hero-special { padding-bottom: 23rem; }
  .hero-catering { padding-bottom: 0; }
  .hero-catering::before { display: none; }
  .catering-mobile-photo { display: block; width: 100%; height: auto; margin-top: 3rem; }
  .hero-special .col-lg-7 { width: 100%; padding-right: calc(var(--bs-gutter-x) * .5); }
  .hero-home .hero-copy { padding-right: calc(var(--bs-gutter-x) * .5); }
  .hero-photo { aspect-ratio: 4/3; }
}
@media (max-width: 575.98px) {
  .container { padding-inline: 1.25rem; }
  .row { --bs-gutter-x: 1.5rem; }
  .hero h1.display-4 { font-size: 3rem; }
  .hero-caption { font-size: .7rem; }
  .menu-item { flex-direction: column; gap: .25rem; }
  .review-slider .slick-dots { display: none !important; }
  .hero-home .btn { flex-grow: 1; }
  .topbar .container { justify-content: center !important; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .001ms !important; transition-duration: .001ms !important; animation-iteration-count: 1 !important; }
  .wow { visibility: visible !important; animation: none !important; }
}
@media print {
  .topbar,.navbar,.footer,.breadcrumb-section,.page-header .btn,.skip-link { display: none !important; }
  body,.page-header { color: #000; background: #fff !important; }
  .page-header::before { display: none; }
  .page-header .eyebrow { color: #444; }
  .card { box-shadow: none !important; break-inside: avoid; }
  .wow { visibility: visible !important; }
}
.dish-details{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.dish-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid #deded8;border-radius:50%;background:#f5f5f0;color:#41483d;font-size:1rem;cursor:help}.dish-icon:hover{background:#e9ebe4}.dish-icon:focus-visible{outline:2px solid #41483d;outline-offset:3px}.dish-details>p,.dish-takeaway{flex-basis:100%}.popover{--bs-popover-border-color:#deded8;--bs-popover-header-bg:#f5f5f0;--bs-popover-body-color:#30332c}

/* Original supplied allergen stickers, displayed as a local image sprite. */
.dish-icon.dish-allergen{width:46px;height:46px;border:0;background:transparent;padding:0}.allergen-sticker{display:block;flex:none;width:45px;height:45px;border-radius:50%;background-repeat:no-repeat;background-size:550px 711px}.dish-icon.dish-allergen:hover{filter:brightness(1.08)}
.allergen-sticker--schaaldieren{background-position:-107.0px -123.5px}
.allergen-sticker--selderij{background-position:-155.5px -123.5px}
.allergen-sticker--sesam{background-position:-204.0px -123.5px}
.allergen-sticker--sulfiet{background-position:-252.0px -123.5px}
.allergen-sticker--vis{background-position:-300.0px -123.5px}
.allergen-sticker--soja{background-position:-348.0px -123.5px}
.allergen-sticker--weekdieren{background-position:-396.0px -123.5px}
.allergen-sticker--eieren{background-position:-107.0px -356.0px}
.allergen-sticker--gluten{background-position:-155.5px -356.0px}
.allergen-sticker--lupine{background-position:-204.0px -356.0px}
.allergen-sticker--melk{background-position:-252.0px -356.0px}
.allergen-sticker--mosterd{background-position:-300.0px -356.0px}
.allergen-sticker--noten{background-position:-348.0px -356.0px}
.allergen-sticker--pinda{background-position:-396.0px -356.0px}

.diet-sticker{display:block;width:45px;height:45px;flex:none}.dish-icon.dish-feature{width:23px;height:23px;padding:0;border:0;background:transparent}.dish-feature .diet-sticker{width:22.5px;height:22.5px}.dish-icon.dish-feature:hover{filter:brightness(1.08)}
