/*
Theme Name: Karrewiel
Theme URI: https://cafezaal-karrewiel.nl/
Author: Yourcloudweb
Description: Sfeervol, responsive thema voor Cafézaal 't Karrewiel. Beheerbare homepage, hero, daghap, WordPress navigatie en Gutenberg-compatibiliteit.
Version: 1.5.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: karrewiel
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--kw-accent:#a5764c;--kw-accent-hover:#885a34;--kw-forest:#292f23;--kw-cream:#f5f0e6;--kw-ink:#171912;--kw-body:#41413d;--kw-heading-font:Georgia,serif;--kw-body-font:system-ui,sans-serif;--kw-script-font:cursive;--kw-button-radius:5px;--kw-button-padding:15px;--kw-button-size:14px;--kw-button-shadow:none;--kw-button-transform:none;--kw-container:1200px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;color:var(--kw-body);font-family:var(--kw-body-font);font-size:16px;line-height:1.67;background:var(--kw-cream);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
body.admin-bar .kw-site-header--sticky{top:32px}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--kw-accent)}
img,video{max-width:100%;height:auto}img{display:block}
figure{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--kw-heading-font);font-weight:700;line-height:1.13;color:var(--kw-ink);margin:0 0 .45em;letter-spacing:-.028em}
h1{font-size:clamp(2.9rem,5.8vw,5.7rem)}h2{font-size:clamp(2.4rem,4vw,4.35rem)}h3{font-size:clamp(1.35rem,2vw,2rem)}
p{margin:0 0 1.15em}p:last-child{margin-bottom:0}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #e2ae78;outline-offset:4px}
.kw-container{width:min(var(--kw-container),calc(100% - 92px));margin-inline:auto}
.kw-script{font-family:var(--kw-script-font);font-weight:400;line-height:1.1}
.kw-eyebrow{display:block;color:var(--kw-accent-hover);font-size:.76rem;font-weight:800;letter-spacing:.22em;line-height:1.5;text-transform:uppercase;margin-bottom:12px}
.kw-eyebrow--light{color:#e9decf}
.kw-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:var(--kw-button-padding) 25px;border-radius:var(--kw-button-radius);font-family:var(--kw-body-font);font-size:var(--kw-button-size);font-weight:700;line-height:1.25;text-transform:var(--kw-button-transform);box-shadow:var(--kw-button-shadow);white-space:nowrap;border:1px solid transparent;min-height:48px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.kw-btn span:last-child{font-size:1.2em;font-weight:400}
.kw-btn:hover{transform:translateY(-2px)}
.kw-btn--primary{background:var(--kw-accent);color:#fff;border-color:var(--kw-accent)}
.kw-btn--primary:hover{background:var(--kw-accent-hover);border-color:var(--kw-accent-hover);color:#fff}
.kw-btn--outline{background:rgba(0,0,0,.12);color:#fff;border-color:rgba(255,255,255,.9)}
.kw-btn--outline:hover{background:#fff;color:var(--kw-forest)}
.kw-button-row{display:flex;gap:16px;flex-wrap:wrap}
.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.screen-reader-text:focus{clip-path:none;height:auto;width:auto;padding:14px;background:#fff;color:#111;z-index:10000;top:10px;left:10px}

/* Navigation with native wp_nav_menu. */
.kw-site-header{left:0;right:0;z-index:900;color:#fff;transition:background .25s,box-shadow .25s;min-height:110px}
.kw-site-header--overlay{position:absolute;top:0;background:linear-gradient(180deg,rgba(8,16,17,.4),transparent)}
.kw-site-header--solid{position:relative;background:var(--kw-forest)}
.kw-site-header--sticky{position:sticky;top:0}
.kw-site-header--overlay.kw-site-header--sticky{position:fixed}
.kw-site-header--sticky.kw-header-scrolled,.kw-site-header.kw-nav-open{background:rgba(32,39,33,.98);box-shadow:0 10px 35px rgba(0,0,0,.16)}
.kw-header-inner{display:grid;grid-template-columns:minmax(172px,230px) 1fr auto;align-items:center;column-gap:30px;min-height:115px}
.kw-brand{min-width:0;padding:13px 0}
.kw-brand>a{display:inline-flex;align-items:center;max-width:100%;color:#fff}
.kw-logo-img,.custom-logo{width:auto;max-width:215px;max-height:110px;object-fit:contain}
.kw-brand-fallback{display:flex;flex-direction:column;align-items:center;color:#fff;line-height:1;white-space:nowrap}
.kw-brand-wagon{font-size:43px;font-family:Georgia,serif;line-height:.9}
.kw-brand-name{font-family:var(--kw-heading-font);font-size:24px;letter-spacing:.04em;font-weight:700;margin-top:7px}
.kw-brand-fallback small{font-family:var(--kw-script-font);font-size:18px;margin-top:6px}
.kw-site-nav{justify-self:center}
.kw-menu,.kw-footer-menu{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:clamp(12px,2vw,30px)}
.kw-menu>li{position:relative}
.kw-menu a{display:block;padding:10px 0;color:#fff;font-size:.82rem;font-weight:600;white-space:nowrap}
.kw-menu a:hover,.kw-menu .current-menu-item>a,.kw-menu .current_page_item>a{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.kw-menu .sub-menu{display:none;list-style:none;position:absolute;top:100%;left:-12px;min-width:170px;padding:10px 15px;background:var(--kw-forest);box-shadow:0 8px 30px rgba(0,0,0,.2)}
.kw-menu li:hover>.sub-menu,.kw-menu li:focus-within>.sub-menu{display:block}
.kw-header-actions{display:flex;align-items:center;gap:14px;justify-self:end}
.kw-header-cta{padding:12px 19px;min-height:44px;font-size:.82rem;gap:9px}
.kw-icon-calendar{font-size:1.05rem}
.kw-menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:10px}
.kw-menu-toggle span{display:block;background:#fff;height:2px;width:100%;transition:transform .2s}
.kw-nav-open .kw-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.kw-nav-open .kw-menu-toggle span:nth-child(2){opacity:0}
.kw-nav-open .kw-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Photo hero. */
.kw-hero{height:max(var(--kw-hero-height),75vh);min-height:560px;max-height:1100px;position:relative;display:flex;align-items:flex-end;isolation:isolate;color:#fff;overflow:hidden;background:#303b3b var(--kw-hero-image) var(--kw-hero-position) center/cover no-repeat}
.kw-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,13,15,.8),rgba(12,22,25,.38) 70%,rgba(10,15,17,.35)),linear-gradient(0deg,rgba(0,0,0,var(--kw-hero-overlay)),rgba(0,0,0,0) 80%)}
.kw-hero-video{position:absolute;width:100%;height:100%;inset:0;z-index:-2;object-fit:cover}
.kw-hero-content{position:relative;padding-top:190px;padding-bottom:clamp(85px,10vw,125px)}
.kw-hero-kicker{display:block;font-size:clamp(2rem,4vw,3.3rem);margin-bottom:12px;transform:rotate(-3deg);transform-origin:left center}
.kw-hero h1{font-size:clamp(4rem,8.6vw,8.8rem);color:#fff;margin:0 0 .12em;letter-spacing:.035em;text-transform:uppercase;text-shadow:0 4px 18px rgba(0,0,0,.35);line-height:1.05}
.kw-hero-subtitle{font-size:clamp(.9rem,1.7vw,1.25rem);letter-spacing:.45em;text-transform:uppercase;margin:0 0 24px;color:#fff}
.kw-hero-wheel{position:absolute;right:5%;top:28%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:118px;height:118px;border:2px dotted rgba(255,255,255,.65);border-radius:50%;transform:rotate(12deg);color:#fff;opacity:.8}
.kw-hero-wheel span{font-family:Georgia,serif;font-size:60px;line-height:1}
.kw-hero-wheel small{font-size:.52rem;letter-spacing:.3em}

/* Paper sections */
.kw-paper-pattern{background-color:var(--kw-cream);background-image:radial-gradient(circle at 7% 12%,rgba(121,96,70,.06),transparent 23%),radial-gradient(circle at 95% 80%,rgba(121,96,70,.055),transparent 26%)}
.kw-daghap{display:grid;grid-template-columns:1fr 1fr;min-height:390px}
.kw-daghap-image{position:relative;min-height:390px;overflow:hidden}
.kw-daghap-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.kw-daghap-copy{position:relative;overflow:hidden;display:flex;align-items:center;padding:58px clamp(40px,6vw,100px)}
.kw-daghap-inner{position:relative;z-index:1;max-width:420px}
.kw-section-script{display:block;color:var(--kw-accent);font-size:clamp(2rem,3.3vw,3.2rem);margin-bottom:4px;transform:rotate(-4deg);transform-origin:left}
.kw-daghap h2{font-size:clamp(2.7rem,4.4vw,4.6rem);margin-bottom:15px}
.kw-daghap p{color:#777168;max-width:320px;font-size:1rem;line-height:1.72;margin-bottom:12px}
.kw-dish-title{font-size:1.35rem;letter-spacing:0;margin-bottom:8px}
.kw-price{display:block;color:var(--kw-ink);font-family:var(--kw-heading-font);font-weight:700;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.1;margin:14px 0 24px}
.kw-outline-wheel{position:absolute;right:-96px;bottom:-140px;font-size:390px;color:rgba(130,107,70,.105);line-height:1;pointer-events:none}

.kw-about{position:relative;padding:95px 0 105px;overflow:hidden}
.kw-about-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:7%;align-items:center}
.kw-about-copy{max-width:520px}
.kw-about h2{max-width:540px;font-size:clamp(2.9rem,4.8vw,5.2rem);margin-bottom:20px}
.kw-bodycopy{font-size:1.01rem;line-height:1.76;margin-bottom:23px}
.kw-about-image{height:440px;align-self:stretch;overflow:hidden;border-radius:30px 0 0 4px;box-shadow:0 15px 35px rgba(22,18,12,.1)}
.kw-about-image img{height:100%;width:100%;object-fit:cover}

.kw-hall{position:relative;background:var(--kw-forest);color:#fff;padding:45px 0;overflow:hidden}
.kw-hall-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.34fr);gap:5%;align-items:center}
.kw-hall-main-image{height:345px;overflow:hidden;border-radius:9px}
.kw-hall-side-image{height:395px;width:calc(100% + 100px);border-radius:9px;overflow:hidden}
.kw-hall-main-image img,.kw-hall-side-image img{width:100%;height:100%;object-fit:cover}
.kw-hall h2{color:#fff;margin:0 0 13px}
.kw-hall .kw-bodycopy{font-size:.97rem;line-height:1.75;margin-bottom:22px}
.kw-hall .kw-eyebrow{font-size:.7rem}

.kw-history{padding:105px 0 125px;overflow:hidden}
.kw-history-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center}
.kw-history-pictures{position:relative;min-height:335px}
.kw-history-photo{position:absolute;padding:8px 8px 25px;background:#f7efdf;box-shadow:0 8px 16px rgba(25,18,11,.32);border:1px solid #d6c5a5}
.kw-history-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.57) grayscale(.5) contrast(1.02)}
.kw-history-photo--left{top:9px;left:0;width:67%;height:285px;transform:rotate(-5deg);z-index:1}
.kw-history-photo--right{top:92px;right:3%;width:46%;height:255px;transform:rotate(6deg);z-index:2}
.kw-history h2{font-size:clamp(2.8rem,4.2vw,4.6rem);margin-bottom:18px}
.kw-history-copy{max-width:480px}
.kw-history .kw-bodycopy{margin-bottom:24px}
.kw-home-editor-content{background:#fff;padding:50px 0}

/* Compact rich photo CTA above the footer, as in reference #2 */
.kw-footer-banner{background:#251b14 var(--kw-banner-image) center center/cover no-repeat;color:#fff;position:relative;isolation:isolate}
.kw-footer-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,11,4,.78),rgba(18,13,9,.5) 75%,rgba(18,13,9,.42));z-index:-1}
.kw-footer-banner-inner{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(200px,1.2fr) auto;align-items:center;gap:40px;min-height:155px;padding-block:30px}
.kw-footer-banner-title .kw-script{display:block;font-size:1.8rem;margin-bottom:-5px;color:#f1d4ae}
.kw-footer-banner-title strong{display:block;font-family:var(--kw-heading-font);font-size:clamp(1.5rem,2.3vw,2.5rem);line-height:1.15;color:#fff}
.kw-footer-banner p{font-size:.85rem;line-height:1.6;max-width:430px;margin:0}
.kw-footer-banner .kw-btn{white-space:nowrap}
.kw-site-footer{color:#fff;background:var(--kw-forest);font-size:.84rem}
.kw-footer-top{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(210px,1.2fr) minmax(205px,1fr) auto;gap:28px;align-items:center;padding-block:42px}
.kw-footer-brand>a{display:inline-flex;color:#fff;align-items:center}
.kw-footer-brand .kw-logo-img,.kw-footer-brand .custom-logo{max-height:98px;max-width:200px}
.kw-footer-brand p{font-family:var(--kw-script-font);font-size:1.25rem;margin:10px 0 0;color:#f5e9d9}
.kw-footer-brand .kw-brand-name{font-size:18px}
.kw-footer-brand .kw-brand-wagon{font-size:30px}
.kw-footer-menu,.kw-footer-nav .kw-menu{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));column-gap:23px;row-gap:8px}
.kw-footer-menu a,.kw-footer-nav .kw-menu a{color:#edece7;font-size:.85rem;padding:0;white-space:normal}
.kw-footer-menu a:hover,.kw-footer-nav .kw-menu a:hover{color:#fff;text-decoration:underline}
.kw-footer-contact{font-style:normal;display:flex;flex-direction:column;gap:10px;font-size:.82rem;line-height:1.5}
.kw-footer-contact a{display:block;color:#ecece7}
.kw-footer-contact a:hover{color:#fff;text-decoration:underline}
.kw-footer-contact span{display:inline-block;min-width:20px;color:#cdb28d}
.kw-footer-social{display:flex;gap:10px}
.kw-footer-social a{display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);width:29px;height:29px;border-radius:3px;color:#fff;font-weight:700;font-size:1rem}
.kw-footer-social a:hover{background:var(--kw-accent)}
.kw-footer-bottom{padding:17px 0 23px;border-top:1px solid rgba(255,255,255,.19);display:flex;justify-content:space-between;gap:30px;align-items:center}
.kw-footer-bottom small{font-size:.7rem;color:#d4d5cd}
.kw-footer-bottom div{display:flex;gap:10px}
.kw-footer-bottom a{color:#d4d5cd;font-size:.72rem}
.kw-footer-bottom a+a::before{content:" | ";margin-right:10px;color:#929589}

/* Standard pages, native Gutenberg blocks and archives. */
.kw-inner-page{min-height:55vh;padding:90px 0 110px;background:var(--kw-cream)}
.kw-page-width{max-width:960px}
.kw-entry-header{text-align:center;margin:0 auto 48px}
.kw-entry-header h1{font-size:clamp(2.75rem,5vw,5.4rem)}
.kw-featured-image{margin:0 auto 50px;border-radius:7px;overflow:hidden}
.kw-featured-image img{width:100%;max-height:520px;object-fit:cover}
.entry-content>*{margin-block-start:0;margin-block-end:1.4rem}
.entry-content h2,.entry-content h3{margin-top:1.4em}
.entry-content a:not(.wp-block-button__link){color:var(--kw-accent-hover);text-decoration:underline;text-underline-offset:3px}
.entry-content .wp-block-button__link{background:var(--kw-accent);color:#fff;border-radius:var(--kw-button-radius);font-weight:700}
.entry-content .wp-block-button__link:hover{background:var(--kw-accent-hover)}
.entry-content .alignwide{max-width:var(--kw-container);width:calc(100vw - 80px);margin-inline:50%;transform:translateX(-50%)}
.entry-content .alignfull{max-width:none;width:100vw;margin-inline:50%;transform:translateX(-50%)}
.entry-content img{max-width:100%;height:auto}
.entry-content blockquote{border-left:4px solid var(--kw-accent);padding-left:25px;font-family:var(--kw-heading-font);font-size:1.3rem}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content table th,.entry-content table td{border:1px solid #ddd4ca;padding:10px}
.entry-content input:not([type=submit]),.entry-content select,.entry-content textarea{max-width:100%;padding:12px;border:1px solid #d0c7ba;border-radius:3px}
.entry-content input[type=submit],.entry-content button[type=submit]{border:0;background:var(--kw-accent);color:white;border-radius:var(--kw-button-radius);padding:12px 25px}
.kw-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.kw-post-card{background:white;box-shadow:0 10px 28px rgba(10,10,10,.06);overflow:hidden;border-radius:7px}
.kw-post-card-thumb{display:block;height:240px;background:#ded8cd}
.kw-post-card-thumb img{width:100%;height:100%;object-fit:cover}
.kw-post-card-body{padding:28px}
.kw-post-card-body h2{font-size:1.9rem}
.kw-post-card-body p{font-size:.95rem}
.kw-post-link{color:var(--kw-accent-hover);font-weight:700}
.navigation.pagination{margin-top:40px}
.navigation.pagination .nav-links{display:flex;gap:10px;align-items:center}
.navigation.pagination .page-numbers{padding:8px 12px;border:1px solid #ccc5b8}
.navigation.pagination .current{background:var(--kw-accent);color:white}

@media(max-width:1180px){
 .kw-container{width:min(var(--kw-container),calc(100% - 60px))}
 .kw-header-inner{grid-template-columns:minmax(145px,175px) 1fr auto;gap:15px}
 .kw-logo-img,.custom-logo{max-width:170px}
 .kw-menu{gap:14px}
 .kw-menu a{font-size:.76rem}
 .kw-header-cta{padding:11px 13px}
 .kw-footer-top{grid-template-columns:1fr 1.1fr 1.2fr;gap:25px}
 .kw-footer-social{grid-column:3;justify-content:flex-start}
 .kw-hall-grid{gap:3%}
}
@media(max-width:920px){
 .kw-site-header{min-height:82px}
 .kw-header-inner{min-height:82px;grid-template-columns:1fr auto}
 .kw-logo-img,.custom-logo{max-height:64px;max-width:160px}
 .kw-brand-fallback .kw-brand-wagon{font-size:25px}
 .kw-brand-fallback .kw-brand-name{font-size:16px}
 .kw-brand-fallback small{font-size:13px}
 .kw-menu-toggle{display:flex}
 .kw-site-nav{display:none;position:absolute;left:0;right:0;top:100%;width:100%;background:var(--kw-forest);padding:10px 30px 26px;box-shadow:0 15px 18px rgba(0,0,0,.12);max-height:calc(100vh - 82px);overflow-y:auto}
 .kw-nav-open .kw-site-nav{display:block}
 .kw-menu,.kw-site-nav .kw-menu{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .kw-site-nav .kw-menu>li{width:100%;border-bottom:1px solid rgba(255,255,255,.13)}
 .kw-site-nav .kw-menu a{padding:12px 4px;font-size:.95rem}
 .kw-menu .sub-menu{display:block;position:static;box-shadow:none;background:transparent;padding:0 0 4px 17px}
 .kw-menu .sub-menu a{font-size:.88rem}
 .kw-hero{min-height:600px;height:max(640px,75vh)}
 .kw-hero-content{padding-bottom:80px}
 .kw-hero-wheel{top:23%;width:95px;height:95px}
 .kw-daghap-copy{padding:50px 35px}
 .kw-about-grid{gap:30px}
 .kw-about-image{height:390px}
 .kw-hall-grid{grid-template-columns:1.15fr 1fr}
 .kw-hall-side-image{display:none}
 .kw-footer-banner-inner{grid-template-columns:1.1fr 1fr;gap:16px}
 .kw-footer-banner .kw-btn{grid-column:2;justify-self:start}
}
@media(max-width:640px){
 .kw-container{width:calc(100% - 36px)}
 .kw-header-inner{min-height:75px}
 body.admin-bar .kw-site-header--sticky{top:46px}
 .kw-header-cta{font-size:.74rem;min-height:38px;padding:9px 11px}
 .kw-icon-calendar{display:none}
 .kw-menu-toggle{width:39px;height:39px}
 .kw-site-nav{padding:10px 18px 25px;max-height:calc(100dvh - 75px)}
 .kw-logo-img,.custom-logo{max-height:55px;max-width:145px}
 .kw-hero{background-image:var(--kw-hero-mobile-image);background-position:var(--kw-hero-mobile-position) center;min-height:600px;height:82svh;max-height:850px}
 .kw-hero-shade{background:linear-gradient(0deg,rgba(3,8,9,.86),rgba(5,9,10,.25) 90%),rgba(0,0,0,.1)}
 .kw-hero-content{padding-top:180px;padding-bottom:70px}
 .kw-hero h1{font-size:clamp(3.1rem,12.4vw,5rem);letter-spacing:.005em}
 .kw-hero-subtitle{font-size:.75rem;letter-spacing:.22em;line-height:1.8;margin-bottom:22px}
 .kw-hero-kicker{font-size:2.25rem}
 .kw-hero-wheel{display:none}
 .kw-button-row{gap:10px}
 .kw-button-row .kw-btn{min-height:46px;gap:10px;padding:12px 17px;font-size:.78rem}
 .kw-daghap{grid-template-columns:1fr}
 .kw-daghap-image{min-height:260px;height:310px}
 .kw-daghap-copy{min-height:340px;padding:42px 23px 55px}
 .kw-daghap h2{font-size:3.3rem}
 .kw-outline-wheel{right:-100px;bottom:-95px;font-size:300px}
 .kw-about{padding:65px 0 70px}
 .kw-about-grid{grid-template-columns:1fr;gap:30px}
 .kw-about h2{font-size:3rem}
 .kw-about-image{height:310px;border-radius:16px 16px 4px 4px}
 .kw-hall{padding:55px 0}
 .kw-hall-grid{grid-template-columns:1fr;gap:30px}
 .kw-hall-main-image{height:255px}
 .kw-hall-copy{padding:0 4px}
 .kw-hall h2{font-size:3.2rem}
 .kw-history{padding:68px 0 65px}
 .kw-history-grid{grid-template-columns:1fr;gap:20px}
 .kw-history-pictures{min-height:285px}
 .kw-history-photo--left{height:240px;width:65%}
 .kw-history-photo--right{height:210px;top:70px;right:2%;width:48%}
 .kw-history h2{font-size:3.05rem}
 .kw-footer-banner-inner{grid-template-columns:1fr;gap:10px;padding-block:32px}
 .kw-footer-banner-title .kw-script{font-size:1.55rem}
 .kw-footer-banner .kw-btn{grid-column:auto;justify-self:start;margin-top:7px}
 .kw-footer-top{grid-template-columns:1fr 1fr;padding-block:35px;gap:30px 20px}
 .kw-footer-brand{grid-column:1/-1}
 .kw-footer-contact{grid-column:2}
 .kw-footer-social{grid-column:1/-1}
 .kw-footer-menu,.kw-footer-nav .kw-menu{grid-template-columns:1fr;gap:12px}
 .kw-footer-bottom{flex-direction:column;align-items:flex-start;gap:7px}
 .kw-inner-page{padding:65px 0 85px}
 .kw-entry-header{margin-bottom:30px}
 .kw-entry-header h1{font-size:3rem}
 .kw-post-grid{grid-template-columns:1fr}
 .entry-content .alignwide{width:calc(100vw - 36px)}
}
@media(max-width:370px){.kw-header-cta{font-size:.68rem}.kw-header-actions{gap:7px}.kw-hero h1{font-size:3rem}.kw-button-row .kw-btn{padding:11px 12px}.kw-footer-top{grid-template-columns:1fr}.kw-footer-contact{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}.kw-hero-video{display:none}}

/* ===============================================================
   KARREWIEL RC2 | ORGANISCH DESIGN SYSTEM
   Echte golvende SVG-overgangen, rustige beeldcompositie en
   een volwaardige reserveringsstrook in plaats van rechte blokken.
   =============================================================== */
:root {
  --kw-wave-height: 74px;
  --kw-section-space: 100px;
  --kw-daghap-bg: #30251d;
  --kw-daghap-photo-pad: 22px;
  --kw-daghap-photo-height: 540px;
  --kw-footer-cta-height: 170px;
}

/* Doorlopende asymmetrische golven. SVG schaalt naar elke breedte. */
.kw-wave {
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -1px;
  display: block;
  height: var(--kw-wave-height);
  z-index: 5;
  pointer-events: none;
  overflow: hidden;
}
.kw-wave svg { display: block; width: 100%; height: 100%; }
.kw-wave--cream { color: var(--kw-cream); }
.kw-wave--forest { color: var(--kw-forest); }
.kw-wave--banner-top { top: -1px; bottom: auto; }
.kw-wave--banner-top svg { transform: scaleY(-1); }

/* Header met subtiele rondingen en een lichtere compositie boven hero. */
.kw-site-header--overlay {
  background: linear-gradient(180deg,rgba(12,22,20,.56) 0%, rgba(12,22,20,.16) 73%,transparent 100%);
}
.kw-header-inner { min-height: 118px; }
.kw-site-nav .kw-menu > li > a { position: relative; text-underline-offset: 10px; }
.kw-site-nav .kw-menu > li > a:hover,
.kw-site-nav .kw-menu > .current-menu-item > a,
.kw-site-nav .kw-menu > .current_page_item > a { text-decoration: none; }
.kw-site-nav .kw-menu > li > a::after {
  content: "";
  position: absolute;
  left: 12%; right: 12%; bottom: 1px;
  height: 2px;
  border-radius: 80% 20% 60% 40%;
  background: #e9d1b0;
  transform: scaleX(0); transform-origin: left;
  transition: transform .25s ease;
}
.kw-site-nav .kw-menu > li > a:hover::after,
.kw-site-nav .kw-menu > .current-menu-item > a::after,
.kw-site-nav .kw-menu > .current_page_item > a::after { transform: scaleX(1); }
.kw-header-cta { border-radius: 16px 36px 17px 36px; }
.kw-menu-toggle { border-radius: 15px 9px 14px 9px; }
.kw-btn { letter-spacing: .005em; }
.kw-btn--primary { box-shadow: 0 7px 21px rgba(66,40,20,.13); }
.kw-btn--primary:hover { box-shadow: 0 10px 26px rgba(66,40,20,.22); }

/* Hero: decoratieve belijning rechts + zachte golf naar de daghap. */
.kw-hero { overflow: hidden; }
.kw-hero-content { z-index: 2; padding-bottom: clamp(130px, 13vw, 176px); }
.kw-hero-shade { z-index: 0; }
.kw-hero-video { z-index: -1; }
.kw-hero-wheel {
  border-style: dashed;
  border-width: 1px;
  box-shadow: 0 0 0 10px rgba(255,255,255,.025);
}
.kw-hero::after {
  content: "";
  position: absolute;
  right: -19vw;
  bottom: -50vw;
  width: 76vw;
  height: 72vw;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 61% 39% 57% 43% / 43% 64% 36% 57%;
  transform: rotate(-12deg);
  z-index: 1;
  pointer-events: none;
}
.kw-hero .kw-wave { z-index: 4; }

/* Daghap: volledig beeld, ook smalle portretfoto's uit WordPress. */
.kw-daghap {
  position: relative;
  overflow: hidden;
  min-height: var(--kw-daghap-photo-height);
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  background: var(--kw-cream);
}
.kw-daghap-image {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--kw-daghap-photo-height);
  min-height: var(--kw-daghap-photo-height);
  isolation: isolate;
  overflow: hidden;
  background: var(--kw-daghap-bg);
  border-radius: 0 90px 105px 0 / 0 58px 52px 0;
  box-shadow: inset -12px 0 50px rgba(0,0,0,.08);
}
.kw-daghap-photo-halo {
  display: block;
  position: absolute;
  inset: -20px;
  z-index: -1;
  background-image: linear-gradient(rgba(23,15,10,.38),rgba(23,15,10,.42)),var(--kw-daghap-photo);
  background-position: center;
  background-size: cover;
  filter: blur(25px) saturate(.8);
  transform: scale(1.05);
  opacity: .86;
}
.kw-daghap-image::after {
  content: "";
  position: absolute;
  inset: 14px;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px 55px 85px 11px / 12px 45px 42px 11px;
}
.kw-daghap-image > img.kw-daghap-img {
  display: block;
  position: relative;
  inset: auto;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  padding: var(--kw-daghap-photo-pad);
  object-fit: contain !important;
  object-position: center center !important;
  filter: drop-shadow(0 14px 19px rgba(7,5,3,.25));
}
.kw-daghap-copy {
  padding: 75px clamp(34px,7.2vw,114px) calc(82px + var(--kw-wave-height));
  isolation: isolate;
  background-color: var(--kw-cream);
}
.kw-daghap-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -100px;
  right: -180px;
  width: 420px;
  height: 300px;
  border: 1px solid rgba(141,112,77,.14);
  border-radius: 60% 40% 67% 33% / 42% 68% 32% 58%;
  transform: rotate(20deg);
  pointer-events: none;
}
.kw-daghap-inner { max-width: 485px; }
.kw-daghap h2 { font-size: clamp(3.2rem,5.4vw,5.5rem); letter-spacing: -.045em; }
.kw-daghap .kw-dish-title { font-size: clamp(1.35rem,1.8vw,1.75rem); margin-top: 7px; }
.kw-daghap p { max-width: 390px; }
.kw-price { margin-top: 22px; }
.kw-outline-wheel { opacity: .5; }

/* Sfeerfoto's en content volgen dezelfde ritmiek. */
.kw-about {
  padding: calc(var(--kw-section-space) + 25px) 0 calc(var(--kw-section-space) + 55px);
  overflow: hidden;
}
.kw-about::after {
  content: "";
  position: absolute;
  left: -115px; bottom: 5%;
  width: 270px; height: 180px;
  border: 1px solid rgba(120,89,57,.12);
  border-radius: 45% 55% 41% 59% / 66% 36% 64% 34%;
  transform: rotate(-18deg);
  pointer-events: none;
}
.kw-about-grid { position: relative; z-index: 1; }
.kw-about h2 { max-width: 560px; font-size: clamp(3.1rem,4.4vw,4.85rem); }
.kw-about-image {
  border-radius: 90px 12px 105px 12px / 54px 12px 65px 12px;
  box-shadow: 0 22px 48px rgba(36,28,17,.17);
  transform: rotate(.7deg);
}
.kw-about-image img { transition: transform .65s ease; }
.kw-about-image:hover img { transform: scale(1.035); }

.kw-hall {
  padding: calc(var(--kw-section-space) - 8px) 0 calc(var(--kw-section-space) + 75px);
  overflow: hidden;
  background-image: radial-gradient(ellipse at 80% 28%,rgba(255,255,255,.045),transparent 52%);
}
.kw-hall-grid { position: relative; z-index: 1; }
.kw-hall-main-image {
  height: 405px;
  border-radius: 25px 72px 20px 65px / 22px 54px 17px 50px;
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  transform: rotate(-.75deg);
}
.kw-hall-side-image {
  height: 430px;
  margin-top: 35px;
  border-radius: 64px 14px 60px 12px / 48px 11px 50px 13px;
  box-shadow: 0 14px 35px rgba(0,0,0,.21);
}
.kw-hall-copy { max-width: 430px; }
.kw-hall h2 { font-size: clamp(3.1rem,4.3vw,4.8rem); }
.kw-hall::before {
  content: "";
  position: absolute;
  right: -125px; top: 24px;
  width: 340px; height: 310px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 58% 42% 48% 52% / 45% 63% 37% 55%;
  transform: rotate(14deg);
  pointer-events: none;
}

.kw-history {
  padding: calc(var(--kw-section-space) + 38px) 0 calc(var(--kw-section-space) + 58px);
  overflow: hidden;
}
.kw-history-grid { position: relative; z-index: 1; }
.kw-history-photo { border-radius: 5px 10px 7px 11px; }
.kw-history-copy { max-width: 510px; }
.kw-history h2 { font-size: clamp(3.15rem,4.2vw,4.7rem); }
.kw-history::after {
  content: "";
  position: absolute;
  right: -120px; top: 22%;
  width: 400px; height: 320px;
  border: 1px solid rgba(140,111,76,.14);
  border-radius: 56% 44% 65% 35% / 35% 56% 44% 65%;
  pointer-events: none;
}

/* De reserveerstrook is het visuele bruggetje tussen historie en footer. */
.kw-footer-banner {
  isolation: isolate;
  min-height: var(--kw-footer-cta-height);
  background-position: center center;
  background-size: cover;
}
.kw-footer-banner::before {
  z-index: -1;
  background: linear-gradient(90deg,rgba(21,13,7,.82),rgba(35,23,11,.68) 51%,rgba(26,18,9,.48));
}
.kw-footer-banner-inner {
  position: relative;
  z-index: 2;
  min-height: var(--kw-footer-cta-height);
  padding-block: max(58px, calc(var(--kw-wave-height) * .95));
  gap: clamp(20px,3.3vw,55px);
  grid-template-columns: minmax(215px,1fr) minmax(240px,1.45fr) auto;
}
.kw-footer-banner-title .kw-script { color: #efc69b; font-size: clamp(1.6rem,2.2vw,2.5rem); }
.kw-footer-banner-title strong { font-size: clamp(1.8rem,2.55vw,3rem); }
.kw-footer-banner p { max-width: 490px; color: #f8f3e9; }
.kw-footer-banner .kw-btn { border-radius: 14px 34px 16px 34px; }
.kw-footer-banner .kw-wave--banner-top { z-index: 4; }
.kw-footer-banner .kw-wave--banner-bottom { z-index: 4; }
.kw-site-footer {
  position: relative;
  overflow: hidden;
  background-image: radial-gradient(ellipse at 8% 30%,rgba(255,255,255,.05),transparent 40%),radial-gradient(ellipse at 93% 90%,rgba(255,255,255,.04),transparent 40%);
}
.kw-site-footer::before {
  content: "";
  position: absolute;
  left: -105px; bottom: -160px;
  width: 325px; height: 325px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 58% 42% 60% 40%/44% 61% 39% 56%;
  pointer-events: none;
}
.kw-footer-top,.kw-footer-bottom { position: relative; z-index: 1; }
.kw-footer-top { padding-block: 57px 48px; }
.kw-footer-bottom { border-color: rgba(255,255,255,.22); }
.kw-footer-social a { border-radius: 40% 60% 52% 48% / 56% 42% 58% 44%; }

@media (max-width: 1180px) {
  .kw-hall-grid { gap: 3%; }
  .kw-hall-main-image { height: 365px; }
  .kw-footer-banner-inner { grid-template-columns: 1fr 1.4fr auto; }
}
@media (max-width: 920px) {
  .kw-hero-content { padding-bottom: 135px; }
  .kw-daghap-image { min-height: 485px; height: max(485px,var(--kw-daghap-photo-height)); }
  .kw-daghap-copy { padding: 65px 36px calc(80px + var(--kw-wave-height)); }
  .kw-about { padding-block: 95px 135px; }
  .kw-about-image { height: 390px; }
  .kw-hall { padding-block: 96px 140px; }
  .kw-hall-main-image { height: 325px; }
  .kw-history { padding-block: 110px 140px; }
  .kw-site-nav .kw-menu > li > a::after { display: none; }
  .kw-footer-banner-inner { grid-template-columns: 1fr 1fr; gap: 22px; }
  .kw-footer-banner .kw-btn { grid-column: 2; }
}
@media (max-width: 640px) {
  .kw-wave { height: clamp(29px, var(--kw-wave-height), 65px); }
  .kw-site-header--overlay { background: linear-gradient(180deg,rgba(17,26,22,.7),rgba(17,26,22,0)); }
  .kw-header-inner { min-height: 75px; }
  .kw-header-cta { border-radius: 11px 22px 12px 22px; }
  .kw-hero { min-height: 640px; height: min(850px,88svh); }
  .kw-hero-content { padding-top: 170px; padding-bottom: 120px; }
  .kw-hero::after { right: -40%; bottom: -25%; width: 85vw; height: 85vw; }
  .kw-daghap { grid-template-columns: 1fr; }
  .kw-daghap-image {
    height: clamp(380px, 115vw, 620px);
    min-height: 380px;
    border-radius: 0 0 75px 13px / 0 0 48px 11px;
  }
  .kw-daghap-image::after { border-radius: 7px 7px 60px 7px; }
  .kw-daghap-image > img.kw-daghap-img { padding: min(var(--kw-daghap-photo-pad),20px); }
  .kw-daghap-copy { padding: 62px 25px 110px; min-height: 0; }
  .kw-daghap h2 { font-size: clamp(3.15rem,12vw,4.3rem); }
  .kw-daghap-copy::before { right: -300px; }
  .kw-about { padding: 87px 0 118px; }
  .kw-about h2 { font-size: clamp(2.6rem,10vw,3.4rem); }
  .kw-about-image { height: 340px; border-radius: 65px 10px 78px 12px / 50px 9px 55px 9px; }
  .kw-hall { padding: 86px 0 113px; }
  .kw-hall-grid { gap: 35px; }
  .kw-hall-main-image { height: 285px; border-radius: 15px 60px 13px 65px / 13px 50px 11px 50px; }
  .kw-hall h2 { font-size: 3.25rem; }
  .kw-history { padding: 92px 0 125px; }
  .kw-history h2 { font-size: 3.05rem; }
  .kw-footer-banner-inner { grid-template-columns: 1fr; gap: 14px; padding: 66px 0 80px; }
  .kw-footer-banner .kw-btn { grid-column: auto; margin-top: 8px; }
  .kw-footer-banner-title .kw-script { font-size: 1.7rem; }
  .kw-footer-top { padding-block: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .kw-site-nav .kw-menu > li > a::after,.kw-about-image img { transition: none; }
}

/* ====================================================================
   RC3: Eten & Drinken, automatisch daghapoverzicht met organische vormen.
   ==================================================================== */
.kw-food-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(370px,43vw,555px);
  display: flex;
  align-items: center;
  color: #fff;
  background: #242b24 var(--kw-food-hero-image) center 42% / cover no-repeat;
}
.kw-food-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg,rgba(19,24,19,.92),rgba(21,27,22,.68) 53%,rgba(20,26,22,.28)),linear-gradient(0deg,rgba(0,0,0,.15),transparent);
}
.kw-food-hero::after {
  content: "";
  position: absolute;
  right: -6%; top: 8%;
  width: min(39vw,490px); height: min(32vw,370px);
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 43% 57% 44% 56% / 60% 37% 63% 40%;
  transform: rotate(-17deg);
  pointer-events: none;
}
.kw-food-hero-inner {
  position: relative;
  z-index: 1;
  padding-block: clamp(95px,10vw,155px) 120px;
}
.kw-food-hero h1 {
  margin: 5px 0 18px;
  font-size: clamp(3.7rem,7.3vw,8rem);
  color: #fff;
  line-height: 1.02;
  max-width: 850px;
}
.kw-food-script { display: block; color: var(--kw-accent); font-size: clamp(1.7rem,2.8vw,2.75rem); transform: rotate(-3deg); transform-origin: left center; }
.kw-food-hero .kw-food-script { color: #eed1a8; margin-bottom: 15px; }
.kw-food-hero .kw-eyebrow { color: #f3e7d8; margin-bottom: 0; }
.kw-food-hero p { max-width: 550px; font-size: 1.04rem; line-height: 1.75; margin-bottom: 24px; color: #f5f0e7; }
.kw-food-wave { position: absolute; left: 0; right: 0; bottom: -1px; height: clamp(45px,7vw,90px); color: var(--kw-cream); pointer-events: none; z-index: 3; }
.kw-food-wave svg { width: 100%; height: 100%; display: block; }
.kw-food-intro { padding: 42px 0 0; }
.kw-food-intro-inner { max-width: 920px; font-size: 1.12rem; line-height: 1.85; text-align: center; }
.kw-food-intro-inner > *:last-child { margin-bottom: 0; }
.kw-food-overview { position: relative; overflow: hidden; padding: clamp(25px,4vw,65px) 0 105px; }
.kw-food-overview::before {
  content:"";
  position:absolute;
  top:22%; right:-130px;
  width:360px; height:360px;
  border:1px solid rgba(156,114,73,.13);
  border-radius:59% 41% 50% 50% / 46% 64% 36% 54%;
  pointer-events:none;
}
.kw-food-feature-section { position: relative; z-index: 1; }
.kw-food-feature {
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr);
  min-height: clamp(470px,42vw,600px);
  background: #fffaf1;
  border-radius: 20px 115px 24px 90px / 20px 78px 24px 72px;
  box-shadow: 0 25px 65px rgba(53,42,29,.12);
  border: 1px solid rgba(133,103,73,.12);
}
.kw-food-feature-photo, .kw-food-card-media {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  background-color: #493328;
}
.kw-food-feature-photo::before, .kw-food-card-media::before {
  content: "";
  position: absolute;
  inset: -28px;
  z-index: -1;
  background: var(--kw-food-photo) center / cover no-repeat;
  filter: blur(34px) brightness(.53);
  transform: scale(1.08);
  pointer-events: none;
}
.kw-food-feature-photo::after {
  content: "";
  position: absolute;
  inset: 23px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 15px 85px 15px 75px / 15px 63px 15px 57px;
  pointer-events: none;
}
.kw-food-feature-photo {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px;
}
.kw-food-feature-photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-height: 595px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.16));
}
.kw-food-feature-seal {
  position: absolute;
  z-index: 3;
  top: 30px;
  left: 29px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 15px;
  background: rgba(255,251,245,.96);
  color: var(--kw-forest);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .07em;
  border-radius: 7px 19px 7px 19px;
  box-shadow: 0 8px 30px rgba(0,0,0,.13);
}
.kw-food-feature-seal span { color: var(--kw-accent); font-size: 1.2rem; }
.kw-food-feature-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(36px,6vw,85px);
  position: relative;
  overflow: hidden;
}
.kw-food-feature-text::after {
  content: "✳";
  position: absolute;
  right: -55px; bottom: -90px;
  line-height: 1;
  font-size: 280px;
  color: rgba(139,112,74,.055);
  z-index: 0;
  pointer-events: none;
}
.kw-food-feature-text > * { position: relative; z-index: 1; }
.kw-food-feature-text .kw-eyebrow { margin: 0 0 17px; }
.kw-food-feature-script { font-size: clamp(1.7rem,2.4vw,2.5rem); margin-bottom: 15px; }
.kw-food-feature-text h2 {
  font-size: clamp(2.5rem,4vw,4.8rem);
  margin-bottom: 17px;
  overflow-wrap: anywhere;
}
.kw-food-date {
  color: var(--kw-accent-hover);
  font-size: .85rem;
  font-weight: 800;
  margin-bottom: 18px;
}
.kw-food-date span { font-size: 1.17rem; vertical-align: baseline; }
.kw-food-feature-description { color: var(--kw-body); line-height: 1.8; font-size: 1rem; margin: 0 0 17px; }
.kw-food-feature-price {
  color: var(--kw-ink);
  display: block;
  font-size: clamp(2.1rem,3vw,3.1rem);
  font-family: var(--kw-heading-font);
  font-weight: 700;
  line-height: 1.2;
  margin: 8px 0 28px;
}
.kw-food-section {
  position: relative;
  padding: clamp(65px,8vw,115px) 0 15px;
}
.kw-food-section-heading { max-width: 680px; margin: 0 auto 42px; text-align: center; }
.kw-food-section-heading .kw-eyebrow { margin-bottom: 10px; }
.kw-food-section-heading .kw-food-script { transform-origin: center; margin-bottom: 12px; }
.kw-food-section-heading h2 { font-size: clamp(2.65rem,4.2vw,4.5rem); margin-bottom: 14px; }
.kw-food-section-heading p { color: #68635c; }
.kw-food-section + .kw-food-section::before {
  content: "";
  display: block;
  height: 1px;
  max-width: 1200px;
  margin: -25px auto 76px;
  background: linear-gradient(90deg,transparent,rgba(137,102,61,.23),transparent);
}
.kw-food-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(18px,2vw,32px); align-items: stretch; }
.kw-food-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #fffaf4;
  border: 1px solid rgba(139,109,74,.14);
  box-shadow: 0 10px 32px rgba(53,42,29,.07);
  border-radius: 15px 62px 16px 45px / 15px 45px 16px 39px;
  transition: transform .25s ease,box-shadow .25s ease;
}
.kw-food-card:hover { transform: translateY(-5px); box-shadow: 0 18px 39px rgba(53,42,29,.14); }
.kw-food-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(225px,22vw,315px);
  padding: 20px;
  width: 100%;
  color: var(--kw-ink);
}
.kw-food-card-media img {
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform .3s ease;
}
.kw-food-card:hover img { transform: scale(1.025); }
.kw-food-card-label {
  z-index: 2;
  position: absolute;
  bottom: 13px;
  left: 15px;
  right: 15px;
  width: fit-content;
  max-width: calc(100% - 30px);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.45;
  border-radius: 9px 18px 9px 18px;
  padding: 8px 13px;
  background: rgba(255,250,243,.96);
  color: var(--kw-forest);
  box-shadow: 0 5px 22px rgba(0,0,0,.09);
}
.kw-food-card-content { display: flex; flex-direction: column; flex: 1; padding: 25px 27px 29px; }
.kw-food-card-content h3 { font-size: clamp(1.55rem,2.1vw,2.2rem); line-height: 1.2; margin: 0 0 15px; overflow-wrap: anywhere; }
.kw-food-card-content h3 a:hover { color: var(--kw-accent-hover); }
.kw-food-card-content p { color: #656159; font-size: .91rem; line-height: 1.7; margin: 0 0 18px; }
.kw-food-card-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(129,95,64,.15); }
.kw-food-card-footer strong { font-family: var(--kw-heading-font); color: var(--kw-ink); font-size: 1.5rem; }
.kw-food-card-footer a { color: var(--kw-accent-hover); font-weight: 800; font-size: .84rem; }
.kw-food-card-footer a:hover { text-decoration: underline; }
.kw-food-card-footer a span { margin-left: 6px; }
.kw-food-empty { max-width: 730px; margin-block: 45px 65px; text-align: center; padding: 85px 35px; border: 1px solid rgba(151,109,67,.23); background: rgba(255,255,255,.45); border-radius: 25px 100px 25px 100px; }
.kw-food-empty .kw-food-script { transform-origin: center; }
.kw-food-empty h2 { font-size: clamp(2.2rem,4vw,3.8rem); }
@media (max-width: 1050px) {
  .kw-food-feature-text { padding: 40px; }
  .kw-food-feature { min-height: 450px; }
  .kw-food-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kw-food-card-media { height: 300px; }
}
@media (max-width: 700px) {
  .kw-food-hero { min-height: 400px; }
  .kw-food-hero-inner { padding-top: 100px; padding-bottom: 105px; }
  .kw-food-hero h1 { font-size: clamp(3.45rem,11vw,5.8rem); }
  .kw-food-hero p { font-size: .94rem; }
  .kw-food-overview { padding: 22px 0 85px; }
  .kw-food-feature { grid-template-columns: 1fr; border-radius: 12px 65px 15px 57px / 12px 45px 15px 44px; }
  .kw-food-feature-photo { min-height: 330px; height: 105vw; max-height: 480px; padding: 20px; }
  .kw-food-feature-photo img { max-height: 430px; }
  .kw-food-feature-text { padding: 35px 28px 45px; }
  .kw-food-feature-text h2 { font-size: clamp(2.65rem,9vw,3.6rem); }
  .kw-food-grid { grid-template-columns: 1fr; }
  .kw-food-card { max-width: 540px; width: 100%; margin-inline: auto; }
  .kw-food-card-media { height: clamp(260px,80vw,405px); }
  .kw-food-section { padding-top: 76px; }
  .kw-food-section-heading { margin-bottom: 28px; }
  .kw-food-section-heading h2 { font-size: clamp(2.5rem,10vw,3.6rem); }
  .kw-food-feature-seal { top: 15px; left: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .kw-food-card,.kw-food-card-media img { transition: none; }
}

/* Snelle navigatie langs de menu-onderdelen. */
.kw-food-jumpnav { background: var(--kw-cream); padding: 17px 0 4px; }
.kw-food-jumpnav-inner { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; }
.kw-food-jumpnav a { padding: 10px 16px; border: 1px solid rgba(127,98,69,.25); border-radius: 10px 25px 12px 25px; color: var(--kw-forest); background: rgba(255,255,255,.5); font-size: .8rem; font-weight: 750; }
.kw-food-jumpnav a:hover,.kw-food-jumpnav a:focus-visible { background: var(--kw-forest); color: white; }
.kw-food-single { padding: clamp(65px,8vw,110px) 0 125px; overflow: hidden; }
.kw-food-back { font-weight: 750; font-size: .9rem; color: var(--kw-accent-hover); display: inline-flex; margin-bottom: 40px; }
.kw-food-back:hover { text-decoration: underline; }
.kw-food-single-header { max-width: 960px; margin: 0 auto 45px; text-align: center; }
.kw-food-single-header .kw-food-script { transform-origin: center; margin-bottom: 12px; }
.kw-food-single-header h1 { font-size: clamp(3rem,6vw,6.3rem); margin-bottom: 22px; }
.kw-food-single-header .kw-food-date { font-size: 1rem; }
.kw-food-single-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.85fr); gap: clamp(30px,5vw,75px); align-items: center; }
.kw-food-single-photo { position: relative; isolation: isolate; height: clamp(380px,50vw,620px); display: flex; align-items: center; justify-content: center; overflow: hidden; background-color: #533c2b; padding: 25px; border-radius: 18px 95px 17px 70px / 17px 72px 16px 58px; }
.kw-food-single-photo::before { content:""; position: absolute; inset: -30px; background: var(--kw-food-photo) center/cover; filter: blur(32px) brightness(.5); z-index: -1; }
.kw-food-single-photo img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 12px 19px rgba(0,0,0,.16)); }
.kw-food-single-info { padding-block: 20px; }
.kw-food-single-info h2 { font-size: clamp(2.8rem,4vw,4.2rem); }
.kw-food-single-info .entry-content { margin: 15px 0 28px; font-size: 1.02rem; line-height: 1.8; }
.kw-food-single-info .kw-food-feature-price { margin: 12px 0 22px; }
@media(max-width: 700px) {
  .kw-food-jumpnav-inner { justify-content: flex-start; gap: 9px; }
  .kw-food-jumpnav a { font-size: .74rem; padding: 8px 12px; }
  .kw-food-single-layout { grid-template-columns: 1fr; }
  .kw-food-single-photo { height: min(117vw,530px); }
  .kw-food-single { padding-block: 65px 85px; }
}

/* ======================================================================
   KARREWIEL RC4: exact passende sectiekleuren, serveerdatum en footer.
   ====================================================================== */
/* De echte SVG golven en hun aangrenzende secties delen exact dezelfde
   --kw-cream / --kw-forest kleur; geen achtergrondgradiënt aan de randen. */
.kw-paper-pattern,
.kw-daghap-copy,
.kw-about,
.kw-history,
.kw-food-overview {
  background-color: var(--kw-cream) !important;
  background-image: none !important;
}
.kw-hall {
  background-color: var(--kw-forest) !important;
  background-image: none !important;
}
.kw-site-footer {
  background-color: var(--kw-forest) !important;
  background-image: none !important;
}
/* Patroon uitsluitend centraal in de content, transparant bij de sectieranden.
   Dit voorkomt zichtbare kleurbanden tussen SVG en vlak. */
.kw-about-grid::before,
.kw-history-grid::before {
  content: "";
  position: absolute;
  inset: -15% -3%;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle at 16% 21%, rgba(120,92,63,.065), transparent 31%),
              radial-gradient(circle at 87% 66%, rgba(139,115,75,.05), transparent 30%);
  -webkit-mask-image: linear-gradient(180deg,transparent,black 24%,black 73%,transparent);
  mask-image: linear-gradient(180deg,transparent,black 24%,black 73%,transparent);
}
.kw-daghap-inner::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -30%; top: 0;
  width: 90%; height: 100%;
  background: radial-gradient(ellipse at center,rgba(143,106,75,.07),transparent 70%);
  pointer-events: none;
}
.kw-daghap-date {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--kw-accent-hover) !important;
  font-size: clamp(.84rem,1.15vw,.96rem) !important;
  font-weight: 600;
  line-height: 1.45 !important;
  margin: 8px 0 17px !important;
  max-width: 430px !important;
}
.kw-daghap-date-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid currentColor;
  border-radius: 9px 6px 10px 6px;
  line-height: 1;
  font-size: 15px;
}
.kw-daghap-date strong { font-weight: 700; }
.kw-footer-bottom { flex-wrap: wrap; column-gap: 28px; row-gap: 10px; }
.kw-footer-bottom .kw-footer-credit {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 6px;
  margin-left: auto;
  font-size: .74rem;
  line-height: 1.6;
  color: rgba(255,255,255,.64);
  letter-spacing: .01em;
}
.kw-footer-credit a,
.kw-footer-credit strong {
  color: #fff;
  font-size: inherit;
  font-weight: 700;
  text-decoration: none;
  transition: color .18s ease;
}
.kw-footer-credit a:hover,
.kw-footer-credit a:focus-visible { color: #e4ba91; }
.kw-footer-credit a::after { content: "↗"; display: inline-block; font-size: .8em; margin-left: 5px; opacity: .75; }
@media(max-width:900px){
 .kw-footer-bottom .kw-footer-credit { margin-left: 0; }
}
@media(max-width:640px){
 .kw-daghap-date { margin-top: 10px !important; }
 .kw-footer-bottom .kw-footer-credit { width: 100%; margin-top: 4px; }
}
