@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Playfair+Display:wght@700;800&family=Poppins:wght@300;400;600;700&display=swap');
:root{--dark:#120d09;--dark2:#1f130d;--gold:#d6a449;--cream:#fff5e8;--red:#d8232a;--green:#25D366;--line:rgba(214,164,73,.32)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Poppins,sans-serif;background:var(--dark);color:var(--cream);line-height:1.7}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.navbar{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:15px 7%;background:rgba(18,13,9,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}.brand img{width:52px;height:52px;object-fit:cover;border-radius:50%;background:#fff}.nav-links{display:flex;gap:26px;font-size:14px}.nav-links a:hover{color:var(--gold)}
.hero,.zaal-hero{min-height:100vh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:120px 24px 70px}.hero:after,.zaal-hero:after{content:"";position:absolute;inset:auto 0 0;height:220px;background:linear-gradient(transparent,var(--dark))}
.hero{background:linear-gradient(90deg,rgba(18,13,9,.90),rgba(18,13,9,.48),rgba(18,13,9,.92)),url('assets/restaurant-ambience.jpg') center/cover no-repeat}.zaal-hero{background:linear-gradient(90deg,rgba(10,7,5,.78),rgba(20,16,13,.35),rgba(10,7,5,.82)),url('assets/zaalverhuur-feest.jpg') center/cover no-repeat}
.hero-content,.zaal-content{position:relative;z-index:1;max-width:960px}.hero-logo{width:180px;height:180px;object-fit:cover;border-radius:50%;margin:0 auto 28px;background:white;padding:8px;box-shadow:0 20px 80px rgba(0,0,0,.48)}
.eyebrow,.section-label{font-family:Cinzel,serif;color:var(--gold);text-transform:uppercase;letter-spacing:3px;font-size:13px;font-weight:700}h1,h2{font-family:'Playfair Display',serif;line-height:1.05}h1{font-size:clamp(46px,8vw,92px);margin:16px 0}h2{font-size:clamp(34px,5vw,60px);margin:10px 0 22px}.hero p,.zaal-content p{max-width:740px;margin:0 auto 34px;font-size:19px;color:#f5dcc0}
.btn{display:inline-block;padding:14px 24px;border-radius:999px;font-weight:700;transition:.25s}.btn.primary{background:var(--red);color:white}.btn.secondary{border:1px solid var(--gold);color:var(--gold)}.btn.gold{background:var(--gold);color:#180f0a}.btn:hover{transform:translateY(-3px)}.hero-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.section{padding:100px 7%}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}.card,.menu-card,.zaal-box{background:linear-gradient(145deg,rgba(143,59,31,.35),rgba(31,19,13,.98));border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.card h3,.menu-card h3,.contact h3{font-family:'Playfair Display',serif;font-size:28px;color:var(--gold);margin-bottom:10px}
.menu-section{background:radial-gradient(circle at 15% 5%,rgba(214,164,73,.18),transparent 28%),linear-gradient(180deg,#1f130d,#120d09);position:relative}.menu-intro{max-width:880px;margin-bottom:36px}.menu-toolbar{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 38px}.menu-pill{border:1px solid var(--line);color:var(--gold);padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.04);font-weight:700;font-size:13px}
.menu-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.menu-page{background:#fff;border-radius:22px;padding:12px;box-shadow:0 24px 70px rgba(0,0,0,.42);border:1px solid rgba(214,164,73,.28);transition:.25s}.menu-page:hover{transform:translateY(-5px)}.menu-page img{border-radius:14px;width:100%;height:auto}.menu-download{margin-top:34px;text-align:center}
.zaal-preview{background:linear-gradient(90deg,rgba(20,16,13,.9),rgba(20,16,13,.55)),url('assets/zaalverhuur-feest.jpg') center/cover no-repeat;min-height:480px;display:flex;align-items:center}.zaal-preview>div{max-width:680px}.zaal-box{max-width:980px;margin:0 auto;text-align:center}.event-tags{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}.event-tags span{border:1px solid rgba(214,164,73,.45);color:var(--gold);padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.04)}
.contact{background:linear-gradient(135deg,#1b110d,#32180f)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}.contact-grid>div{background:rgba(255,255,255,.05);border:1px solid rgba(214,164,73,.2);padding:30px;border-radius:24px}.whatsapp-btn{background:var(--green);color:white;margin-top:16px}
.whatsapp-icon{position:fixed;right:22px;bottom:22px;z-index:30;width:62px;height:62px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 40px rgba(0,0,0,.38);transition:.25s;animation:pulse 2s infinite}.whatsapp-icon:hover{transform:scale(1.08)}.whatsapp-icon img{width:36px;height:36px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55),0 14px 40px rgba(0,0,0,.38)}70%{box-shadow:0 0 0 13px rgba(37,211,102,0),0 14px 40px rgba(0,0,0,.38)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0),0 14px 40px rgba(0,0,0,.38)}}
footer{text-align:center;padding:48px 7%;background:#0c0a08;color:#c9b8a3}footer img{width:80px;height:80px;object-fit:cover;border-radius:50%;margin:0 auto 18px;background:white}
@media(max-width:900px){.nav-links{display:none}.two-col,.contact-grid{grid-template-columns:1fr}.menu-pages{grid-template-columns:1fr}}@media(max-width:560px){.hero-logo{width:140px;height:140px}.section{padding:72px 6%}.whatsapp-icon{right:14px;bottom:14px;width:58px;height:58px}.whatsapp-icon img{width:34px;height:34px}.menu-page{padding:8px;border-radius:16px}}

.vacature-hero{
  min-height:72vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:130px 24px 80px;
  background:
    linear-gradient(90deg,rgba(18,13,9,.92),rgba(18,13,9,.56),rgba(18,13,9,.94)),
    url('assets/restaurant-ambience.jpg') center/cover no-repeat;
  position:relative;
}
.vacature-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:180px;
  background:linear-gradient(transparent,var(--dark));
}
.vacature-content{position:relative;z-index:1;max-width:920px}
.jobs-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  margin-top:34px;
}
.job-card{
  background:linear-gradient(145deg,rgba(143,59,31,.34),rgba(31,19,13,.98));
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  min-height:150px;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.job-card h3{
  font-family:'Playfair Display',serif;
  color:var(--gold);
  font-size:24px;
  margin-bottom:10px;
}
.application{
  background:linear-gradient(135deg,#1b110d,#32180f);
}
.apply-form{
  max-width:980px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.form-group.full{grid-column:1/-1}
.apply-form label{
  color:var(--gold);
  font-weight:700;
  font-size:14px;
}
.apply-form input,
.apply-form select,
.apply-form textarea{
  width:100%;
  border:1px solid rgba(214,164,73,.28);
  background:rgba(255,255,255,.06);
  color:var(--cream);
  border-radius:16px;
  padding:15px 16px;
  font-family:Poppins,sans-serif;
  outline:none;
}
.apply-form input::placeholder,
.apply-form textarea::placeholder{color:rgba(255,245,232,.58)}
.apply-form option{color:#14100d}
.apply-form textarea{min-height:150px;resize:vertical}
.form-note{
  grid-column:1/-1;
  color:#d9c3a9;
  font-size:14px;
}
@media(max-width:1100px){.jobs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.jobs-grid,.apply-form{grid-template-columns:1fr}}

.franchise-hero{
  min-height:100vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:130px 24px 80px;
  background:
    linear-gradient(90deg,rgba(18,13,9,.42),rgba(18,13,9,.20),rgba(18,13,9,.48)),
    url('assets/franchise-worden.jpg') center/cover no-repeat;
  position:relative;
}
.franchise-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:190px;
  background:linear-gradient(transparent,var(--dark));
}
.franchise-content{
  position:relative;
  z-index:1;
  max-width:980px;
}
.franchise-content h1{
  text-shadow:0 8px 35px rgba(0,0,0,.65);
}
.franchise-intro{
  background:
    radial-gradient(circle at 15% 5%,rgba(214,164,73,.16),transparent 30%),
    linear-gradient(180deg,#1f130d,#120d09);
}
.franchise-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}
.franchise-card{
  background:linear-gradient(145deg,rgba(143,59,31,.32),rgba(31,19,13,.98));
  border:1px solid var(--line);
  border-radius:26px;
  padding:30px;
  box-shadow:0 20px 55px rgba(0,0,0,.24);
}
.franchise-card h3{
  font-family:'Playfair Display',serif;
  color:var(--gold);
  font-size:28px;
  margin-bottom:10px;
}
.franchise-preview{
  background:
    linear-gradient(90deg,rgba(18,13,9,.92),rgba(18,13,9,.52)),
    url('assets/franchise-worden.jpg') center/cover no-repeat;
  min-height:480px;
  display:flex;
  align-items:center;
}
.franchise-preview>div{max-width:720px}
.franchise-form-section{
  background:linear-gradient(135deg,#1b110d,#32180f);
}
.franchise-form{
  max-width:1000px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.franchise-form .full{grid-column:1/-1}
.franchise-form label{
  color:var(--gold);
  font-weight:700;
  font-size:14px;
}
.franchise-form .form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.franchise-form input,
.franchise-form select,
.franchise-form textarea{
  width:100%;
  border:1px solid rgba(214,164,73,.28);
  background:rgba(255,255,255,.06);
  color:var(--cream);
  border-radius:16px;
  padding:15px 16px;
  font-family:Poppins,sans-serif;
  outline:none;
}
.franchise-form textarea{min-height:160px;resize:vertical}
.franchise-form option{color:#14100d}
@media(max-width:900px){.franchise-grid,.franchise-form{grid-template-columns:1fr}.franchise-hero{background-position:center}}

.order-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:22px 42px;
font-size:26px;
font-weight:800;
border-radius:999px;
background:#d8232a;
color:white;
box-shadow:0 15px 45px rgba(216,35,42,.45);
animation:pulseOrder 2s infinite;
margin-top:18px;
}

.order-btn:hover{
transform:scale(1.06);
}

@keyframes pulseOrder{
0%{transform:scale(1)}
50%{transform:scale(1.05)}
100%{transform:scale(1)}
}


.nav-order-btn{
background:#d8232a;
color:white;
padding:14px 28px;
border-radius:999px;
font-weight:800;
box-shadow:0 10px 30px rgba(216,35,42,.35);
}

.floating-order-btn{
position:fixed;
left:25px;
bottom:25px;
z-index:999;
background:#d8232a;
color:white;
padding:18px 34px;
font-size:24px;
font-weight:800;
border-radius:999px;
box-shadow:0 15px 45px rgba(216,35,42,.45);
animation:pulseOrder 2s infinite;
}

@media(max-width:768px){
.floating-order-btn{
left:15px;
bottom:15px;
font-size:18px;
padding:15px 25px;
}
}


.floating-reserve-btn{
position:fixed;
left:25px;
bottom:95px;
z-index:999;
background:#d6a449;
color:#14100d;
padding:16px 30px;
font-size:21px;
font-weight:800;
border-radius:999px;
box-shadow:0 15px 45px rgba(214,164,73,.38);
transition:.25s;
}

.floating-reserve-btn:hover{
transform:scale(1.05);
}

@media(max-width:768px){
.floating-reserve-btn{
left:15px;
bottom:82px;
font-size:16px;
padding:14px 22px;
}
}


/* Tafel reserveren knop iets hoger plaatsen */
.floating-reserve-btn{
    bottom:145px !important;
}

@media(max-width:768px){
.floating-reserve-btn{
    bottom:130px !important;
}
}


/* Laatste knop-aanpassing */
.floating-reserve-btn{
  display:none !important;
}

.floating-order-btn{
  position:fixed !important;
  right:22px !important;
  bottom:98px !important;
  left:auto !important;
  z-index:999 !important;
  background:#ff8000 !important;
  color:white !important;
  padding:18px 34px !important;
  font-size:23px !important;
  font-weight:900 !important;
  border-radius:999px !important;
  box-shadow:0 15px 45px rgba(255,128,0,.48) !important;
  animation:pulseOrderOrange 2s infinite !important;
}

.floating-order-btn:hover{
  transform:scale(1.06) !important;
}

.whatsapp-icon{
  left:22px !important;
  right:auto !important;
  bottom:22px !important;
}

@keyframes pulseOrderOrange{
  0%{box-shadow:0 0 0 0 rgba(255,128,0,.55),0 15px 45px rgba(255,128,0,.48)}
  70%{box-shadow:0 0 0 13px rgba(255,128,0,0),0 15px 45px rgba(255,128,0,.48)}
  100%{box-shadow:0 0 0 0 rgba(255,128,0,0),0 15px 45px rgba(255,128,0,.48)}
}

@media(max-width:768px){
  .floating-order-btn{
    right:14px !important;
    bottom:92px !important;
    font-size:17px !important;
    padding:15px 24px !important;
  }
  .whatsapp-icon{
    left:14px !important;
    right:auto !important;
    bottom:14px !important;
  }
}


/* Bestel online knop kleiner + subtiele glow */
.floating-order-btn{
  padding:13px 24px !important;
  font-size:17px !important;
  font-weight:800 !important;
  bottom:88px !important;
  box-shadow:0 8px 26px rgba(255,128,0,.34) !important;
  animation:subtleOrderGlow 3s ease-in-out infinite !important;
}

@keyframes subtleOrderGlow{
  0%{
    box-shadow:0 8px 24px rgba(255,128,0,.28);
  }
  50%{
    box-shadow:0 8px 32px rgba(255,128,0,.52), 0 0 14px rgba(255,128,0,.28);
  }
  100%{
    box-shadow:0 8px 24px rgba(255,128,0,.28);
  }
}

@media(max-width:768px){
  .floating-order-btn{
    padding:12px 19px !important;
    font-size:14px !important;
    bottom:82px !important;
  }
}


/* Zelfde subtiele pulse/glow als WhatsApp-knop */
.floating-order-btn{
  animation:pulse 2s infinite !important;
}



.whatsapp-icon{
  background:transparent !important;
  box-shadow:none !important;
  width:70px !important;
  height:70px !important;
}

.whatsapp-icon img{
  width:70px !important;
  height:70px !important;
  border-radius:18px;
}



/* Sterkere pulse animatie voor WhatsApp knop */
.whatsapp-icon{
  animation:whatsappPulse 1.5s infinite !important;
}

@keyframes whatsappPulse{
  0%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(37,211,102,.7);
  }
  50%{
    transform:scale(1.12);
    box-shadow:0 0 0 18px rgba(37,211,102,0);
  }
  100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(37,211,102,0);
  }
}



/* Kleinere WhatsApp knop met sterkere glow */
.whatsapp-icon{
    width:60px !important;
    height:60px !important;
    animation:whatsappGlow 2s infinite ease-in-out !important;
}

.whatsapp-icon img{
    width:60px !important;
    height:60px !important;
}

@keyframes whatsappGlow{
    0%{
        box-shadow:0 0 10px rgba(37,211,102,.35);
    }
    50%{
        box-shadow:0 0 28px rgba(37,211,102,.75), 0 0 50px rgba(37,211,102,.35);
    }
    100%{
        box-shadow:0 0 10px rgba(37,211,102,.35);
    }
}


/* Drukkere kloppende glow-animatie voor WhatsApp en Bestel Online */
.whatsapp-icon{
    animation:whatsappHeartbeatGlow 1.25s infinite ease-in-out !important;
}

.floating-order-btn{
    animation:orderHeartbeatGlow 1.35s infinite ease-in-out !important;
}

@keyframes whatsappHeartbeatGlow{
    0%{
        transform:scale(1);
        box-shadow:0 0 10px rgba(37,211,102,.40);
    }
    35%{
        transform:scale(1.10);
        box-shadow:0 0 25px rgba(37,211,102,.85), 0 0 55px rgba(37,211,102,.45);
    }
    55%{
        transform:scale(1.04);
        box-shadow:0 0 18px rgba(37,211,102,.60), 0 0 35px rgba(37,211,102,.30);
    }
    75%{
        transform:scale(1.12);
        box-shadow:0 0 30px rgba(37,211,102,.90), 0 0 65px rgba(37,211,102,.50);
    }
    100%{
        transform:scale(1);
        box-shadow:0 0 10px rgba(37,211,102,.40);
    }
}

@keyframes orderHeartbeatGlow{
    0%{
        transform:scale(1);
        box-shadow:0 0 10px rgba(255,128,0,.38), 0 8px 24px rgba(255,128,0,.28);
    }
    35%{
        transform:scale(1.08);
        box-shadow:0 0 25px rgba(255,128,0,.78), 0 0 55px rgba(255,128,0,.38), 0 8px 30px rgba(255,128,0,.45);
    }
    55%{
        transform:scale(1.03);
        box-shadow:0 0 17px rgba(255,128,0,.55), 0 0 35px rgba(255,128,0,.25);
    }
    75%{
        transform:scale(1.10);
        box-shadow:0 0 30px rgba(255,128,0,.86), 0 0 65px rgba(255,128,0,.42), 0 8px 34px rgba(255,128,0,.50);
    }
    100%{
        transform:scale(1);
        box-shadow:0 0 10px rgba(255,128,0,.38), 0 8px 24px rgba(255,128,0,.28);
    }
}


/* WhatsApp alleen glow, geen kloppende beweging */
.whatsapp-icon{
    animation:whatsappGlowOnly 2s infinite ease-in-out !important;
    transform:scale(1) !important;
}

@keyframes whatsappGlowOnly{
    0%{
        transform:scale(1);
        box-shadow:0 0 10px rgba(37,211,102,.35);
    }
    50%{
        transform:scale(1);
        box-shadow:0 0 28px rgba(37,211,102,.85), 0 0 58px rgba(37,211,102,.42);
    }
    100%{
        transform:scale(1);
        box-shadow:0 0 10px rgba(37,211,102,.35);
    }
}


/* Compacte openingstijden + Google Maps adres */
.opening-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}
.opening-list div{
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid rgba(214,164,73,.16);
  padding:6px 0;
}
.opening-list span{
  color:var(--cream);
}
.opening-list strong{
  color:var(--gold);
  white-space:nowrap;
  font-weight:700;
}
.maps-link{
  display:inline-flex;
  align-items:flex-start;
  gap:7px;
  color:var(--gold);
  font-weight:700;
  margin-top:4px;
  transition:.25s;
}
.maps-link:hover{
  color:#fff;
  transform:translateX(3px);
}

@media(max-width:560px){
  .opening-list div{
    gap:14px;
  }
}


.contact-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--gold);
    font-weight:700;
    transition:.25s;
}

.contact-link:hover{
    color:#fff;
    transform:translateX(3px);
}



/* Catering pagina */
.catering-hero{
  min-height:100vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:130px 24px 80px;
  background:
    linear-gradient(90deg,rgba(18,13,9,.82),rgba(18,13,9,.38),rgba(18,13,9,.82)),
    url('assets/catering.jpg') center/cover no-repeat;
  position:relative;
}
.catering-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:190px;
  background:linear-gradient(transparent,var(--dark));
}
.catering-content{
  position:relative;
  z-index:1;
  max-width:960px;
}
.catering-content h1{
  text-shadow:0 8px 35px rgba(0,0,0,.65);
}
.catering-content p{
  max-width:740px;
  margin:0 auto 34px;
  font-size:19px;
  color:#f5dcc0;
}
.catering-intro{
  background:
    radial-gradient(circle at 15% 5%,rgba(214,164,73,.16),transparent 30%),
    linear-gradient(180deg,#1f130d,#120d09);
}
.catering-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}
.catering-card{
  background:linear-gradient(145deg,rgba(143,59,31,.32),rgba(31,19,13,.98));
  border:1px solid var(--line);
  border-radius:26px;
  padding:30px;
  box-shadow:0 20px 55px rgba(0,0,0,.24);
}
.catering-card h3{
  font-family:'Playfair Display',serif;
  color:var(--gold);
  font-size:28px;
  margin-bottom:10px;
}
.catering-preview{
  background:
    linear-gradient(90deg,rgba(18,13,9,.92),rgba(18,13,9,.52)),
    url('assets/catering.jpg') center/cover no-repeat;
  min-height:480px;
  display:flex;
  align-items:center;
}
.catering-preview>div{max-width:720px}
.catering-form-section{
  background:linear-gradient(135deg,#1b110d,#32180f);
}
.catering-form{
  max-width:1000px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.catering-form .full{grid-column:1/-1}
.catering-form label{
  color:var(--gold);
  font-weight:700;
  font-size:14px;
}
.catering-form .form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.catering-form input,
.catering-form select,
.catering-form textarea{
  width:100%;
  border:1px solid rgba(214,164,73,.28);
  background:rgba(255,255,255,.06);
  color:var(--cream);
  border-radius:16px;
  padding:15px 16px;
  font-family:Poppins,sans-serif;
  outline:none;
}
.catering-form textarea{min-height:160px;resize:vertical}
.catering-form option{color:#14100d}
@media(max-width:900px){
  .catering-grid,.catering-form{grid-template-columns:1fr}
  .catering-hero{background-position:center}
}


/* Zaalverhuur formulier + groene WhatsApp button */
.whatsapp-hero-btn{
  background:#25D366 !important;
  color:white !important;
  box-shadow:0 12px 34px rgba(37,211,102,.35);
}

.whatsapp-hero-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 44px rgba(37,211,102,.45);
}

.zaal-form-section{
  background:
    radial-gradient(circle at 85% 5%,rgba(214,164,73,.14),transparent 30%),
    linear-gradient(135deg,#1b110d,#32180f);
}

.zaal-form{
  max-width:1000px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.zaal-form .full{
  grid-column:1/-1;
}

.zaal-form label{
  color:var(--gold);
  font-weight:700;
  font-size:14px;
}

.zaal-form .form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.zaal-form input,
.zaal-form select,
.zaal-form textarea{
  width:100%;
  border:1px solid rgba(214,164,73,.28);
  background:rgba(255,255,255,.06);
  color:var(--cream);
  border-radius:16px;
  padding:15px 16px;
  font-family:Poppins,sans-serif;
  outline:none;
}

.zaal-form input::placeholder,
.zaal-form textarea::placeholder{
  color:rgba(255,245,232,.58);
}

.zaal-form option{
  color:#14100d;
}

.zaal-form textarea{
  min-height:160px;
  resize:vertical;
}

@media(max-width:900px){
  .zaal-form{
    grid-template-columns:1fr;
  }
}


/* Social media buttons */
.social-links{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:22px auto 0;
}

.social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  padding:12px 18px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.4px;
  transition:.25s;
  border:1px solid rgba(214,164,73,.32);
}

.social.instagram{
  background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);
  color:white;
  box-shadow:0 10px 28px rgba(253,29,29,.22);
}

.social.tiktok{
  background:#050505;
  color:white;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
}

.social:hover{
  transform:translateY(-3px);
  filter:brightness(1.08);
}


/* Zwevende Instagram en TikTok knoppen boven WhatsApp */
.floating-socials{
  position:fixed;
  left:22px;
  bottom:92px;
  z-index:31;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.floating-social{
  min-width:118px;
  height:44px;
  padding:0 18px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
  letter-spacing:.3px;
  color:white;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  transition:.25s;
}

.instagram-float{
  background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);
}

.tiktok-float{
  background:#050505;
  border:1px solid rgba(255,255,255,.18);
}

.floating-social:hover{
  transform:translateX(4px) scale(1.04);
  filter:brightness(1.08);
}

@media(max-width:768px){
  .floating-socials{
    left:14px;
    bottom:86px;
    gap:10px;
  }
  .floating-social{
    min-width:98px;
    height:38px;
    padding:0 14px;
    font-size:11px;
  }
}

.floating-social-icons{
position:fixed;
left:22px;
bottom:105px;
display:flex;
flex-direction:column;
gap:12px;
z-index:9999;
}
.floating-social-icons img{
width:58px;
height:58px;
border-radius:50%;
box-shadow:0 0 20px rgba(255,255,255,.25);
}
.bestel-online-fixed{
position:fixed;
right:20px;
bottom:20px;
background:#f58220;
color:white;
padding:18px 28px;
border-radius:999px;
font-weight:bold;
z-index:9999;
}


/* Impressie pagina */
.impressie-hero{
  min-height:78vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:130px 24px 80px;
  background:
    linear-gradient(90deg,rgba(18,13,9,.88),rgba(18,13,9,.48),rgba(18,13,9,.90)),
    url('assets/impressie/restaurant-overzicht.jpg') center/cover no-repeat;
  position:relative;
  overflow:hidden;
}
.impressie-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:190px;
  background:linear-gradient(transparent,var(--dark));
}
.impressie-hero-content{
  position:relative;
  z-index:1;
  max-width:900px;
}
.impressie-hero-content h1{
  font-size:clamp(48px,8vw,92px);
  text-shadow:0 10px 35px rgba(0,0,0,.65);
}
.impressie-hero-content p{
  max-width:700px;
  margin:0 auto;
  font-size:19px;
  color:#f5dcc0;
}
.impressie-section{
  background:
    radial-gradient(circle at 15% 5%,rgba(214,164,73,.16),transparent 30%),
    linear-gradient(180deg,#1f130d,#120d09);
}
.impressie-intro{
  max-width:850px;
  color:#f5dcc0;
  margin-bottom:36px;
}
.impressie-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.impressie-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(214,164,73,.28);
  box-shadow:0 22px 60px rgba(0,0,0,.35);
  min-height:360px;
  animation:fadeUpImpressie .9s ease both;
}
.impressie-card:nth-child(2){animation-delay:.08s}
.impressie-card:nth-child(3){animation-delay:.16s}
.impressie-card:nth-child(4){animation-delay:.24s}
.impressie-card:nth-child(5){animation-delay:.32s}
.impressie-card img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  transition:transform .7s ease, filter .7s ease;
  filter:saturate(1.02) contrast(1.03);
}
.impressie-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent 35%,rgba(0,0,0,.82));
  opacity:.92;
  pointer-events:none;
}
.impressie-card:hover img{
  transform:scale(1.08);
  filter:saturate(1.12) contrast(1.08);
}
.impressie-caption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:28px;
  transform:translateY(8px);
  transition:.35s ease;
}
.impressie-card:hover .impressie-caption{
  transform:translateY(0);
}
.impressie-caption h3{
  font-family:'Playfair Display',serif;
  color:var(--gold);
  font-size:30px;
  margin-bottom:8px;
}
.impressie-caption p{
  color:#f5dcc0;
  font-size:14px;
}
.impressie-cta{
  margin:80px auto;
}
.impressie-preview{
  background:
    linear-gradient(90deg,rgba(18,13,9,.92),rgba(18,13,9,.48)),
    url('assets/impressie/bar.jpg') center/cover no-repeat;
  min-height:480px;
  display:flex;
  align-items:center;
}
.impressie-preview>div{
  max-width:720px;
}
@keyframes fadeUpImpressie{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:1100px){
  .impressie-gallery{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .impressie-gallery{grid-template-columns:1fr}
  .impressie-card,.impressie-card img{min-height:320px}
}


/* Definitieve vaste knoppen: links social + WhatsApp, rechts één bestelknop */
.floating-socials{
  display:none !important;
}

.floating-order-btn{
  display:none !important;
}

.floating-social-icons{
  position:fixed !important;
  left:22px !important;
  bottom:96px !important;
  z-index:9999 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}

.floating-social-icons a{
  width:60px !important;
  height:60px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  box-shadow:0 0 16px rgba(255,255,255,.22) !important;
  transition:.25s !important;
}

.floating-social-icons a:hover{
  transform:scale(1.08) !important;
  box-shadow:0 0 24px rgba(214,164,73,.45) !important;
}

.floating-social-icons img{
  width:60px !important;
  height:60px !important;
  object-fit:cover !important;
  border-radius:50% !important;
}

.whatsapp-icon{
  position:fixed !important;
  left:22px !important;
  right:auto !important;
  bottom:22px !important;
  z-index:9999 !important;
  width:60px !important;
  height:60px !important;
  background:transparent !important;
  animation:whatsappGlowOnly 2s infinite ease-in-out !important;
}

.whatsapp-icon img{
  width:60px !important;
  height:60px !important;
  object-fit:cover !important;
  border-radius:50% !important;
}

.bestel-online-fixed{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  left:auto !important;
  z-index:9999 !important;
  background:#ff8000 !important;
  color:white !important;
  padding:14px 26px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  font-size:17px !important;
  letter-spacing:.3px !important;
  box-shadow:0 0 18px rgba(255,128,0,.42), 0 10px 28px rgba(0,0,0,.28) !important;
  animation:orderHeartbeatGlow 1.35s infinite ease-in-out !important;
}

@media(max-width:768px){
  .floating-social-icons{
    left:14px !important;
    bottom:84px !important;
    gap:10px !important;
  }
  .floating-social-icons a,
  .floating-social-icons img,
  .whatsapp-icon,
  .whatsapp-icon img{
    width:54px !important;
    height:54px !important;
  }
  .whatsapp-icon{
    left:14px !important;
    bottom:14px !important;
  }
  .bestel-online-fixed{
    right:14px !important;
    bottom:14px !important;
    font-size:14px !important;
    padding:12px 20px !important;
  }
}


/* Definitieve rechter knoppen: Bestel Online boven Reserveer een tafel */
.floating-order-btn,
.floating-reserve-btn{
  display:none !important;
}

.bestel-online-fixed{
  position:fixed !important;
  right:22px !important;
  bottom:92px !important;
  left:auto !important;
  z-index:10000 !important;
  background:#ff8000 !important;
  color:white !important;
  padding:14px 26px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  font-size:17px !important;
  letter-spacing:.3px !important;
  box-shadow:0 0 18px rgba(255,128,0,.42), 0 10px 28px rgba(0,0,0,.28) !important;
  animation:orderHeartbeatGlow 1.35s infinite ease-in-out !important;
  white-space:nowrap !important;
}

.reserveer-tafel-fixed{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  left:auto !important;
  z-index:9999 !important;
  background:#d6a449 !important;
  color:#14100d !important;
  padding:14px 24px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  font-size:15px !important;
  letter-spacing:.2px !important;
  box-shadow:0 0 16px rgba(214,164,73,.35), 0 10px 28px rgba(0,0,0,.28) !important;
  transition:.25s !important;
  white-space:nowrap !important;
}

.reserveer-tafel-fixed:hover,
.bestel-online-fixed:hover{
  transform:scale(1.05) !important;
}

@media(max-width:768px){
  .bestel-online-fixed{
    right:14px !important;
    bottom:78px !important;
    font-size:13px !important;
    padding:12px 18px !important;
  }

  .reserveer-tafel-fixed{
    right:14px !important;
    bottom:14px !important;
    font-size:12px !important;
    padding:12px 16px !important;
  }
}


/* Update: gouden reserveerknop verwijderd, rode reserveerknop behouden */
.floating-reserve-btn{
  display:none !important;
}

.bestel-online-fixed{
  position:fixed !important;
  right:22px !important;
  bottom:92px !important;
  left:auto !important;
  z-index:10000 !important;
  background:#ff8000 !important;
  color:white !important;
  padding:14px 26px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  font-size:17px !important;
  letter-spacing:.3px !important;
  box-shadow:0 0 18px rgba(255,128,0,.42), 0 10px 28px rgba(0,0,0,.28) !important;
  animation:orderHeartbeatGlow 1.35s infinite ease-in-out !important;
  white-space:nowrap !important;
}

.reserveer-tafel-fixed.reserveer-rood{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  left:auto !important;
  z-index:9999 !important;
  background:#d8232a !important;
  color:white !important;
  padding:14px 24px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  font-size:15px !important;
  letter-spacing:.2px !important;
  box-shadow:0 0 16px rgba(216,35,42,.38), 0 10px 28px rgba(0,0,0,.28) !important;
  transition:.25s !important;
  white-space:nowrap !important;
}

.reserveer-tafel-fixed.reserveer-rood:hover,
.bestel-online-fixed:hover{
  transform:scale(1.05) !important;
}

@media(max-width:768px){
  .bestel-online-fixed{
    right:14px !important;
    bottom:78px !important;
    font-size:13px !important;
    padding:12px 18px !important;
  }

  .reserveer-tafel-fixed.reserveer-rood{
    right:14px !important;
    bottom:14px !important;
    font-size:12px !important;
    padding:12px 16px !important;
  }
}


/* DEFINITIEF: geen extra handmatige reserveerknop, alleen Zenchef-widget + bestel online */
.reserveer-tafel-fixed,
.floating-reserve-btn,
.floating-order-btn,
.floating-socials{
  display:none !important;
}

.floating-social-icons{
  position:fixed !important;
  left:22px !important;
  bottom:96px !important;
  z-index:9999 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}

.floating-social-icons a{
  width:60px !important;
  height:60px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  box-shadow:0 0 16px rgba(255,255,255,.22) !important;
  transition:.25s !important;
}

.floating-social-icons a:hover{
  transform:scale(1.08) !important;
  box-shadow:0 0 24px rgba(214,164,73,.45) !important;
}

.floating-social-icons img{
  width:60px !important;
  height:60px !important;
  object-fit:cover !important;
  border-radius:50% !important;
}

.whatsapp-icon{
  position:fixed !important;
  left:22px !important;
  right:auto !important;
  bottom:22px !important;
  z-index:9999 !important;
  width:60px !important;
  height:60px !important;
  background:transparent !important;
  animation:whatsappGlowOnly 2s infinite ease-in-out !important;
}

.whatsapp-icon img{
  width:60px !important;
  height:60px !important;
  object-fit:cover !important;
  border-radius:50% !important;
}

.bestel-online-fixed{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  left:auto !important;
  z-index:10000 !important;
  background:#ff8000 !important;
  color:white !important;
  padding:14px 26px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  font-size:17px !important;
  letter-spacing:.3px !important;
  box-shadow:0 0 18px rgba(255,128,0,.42), 0 10px 28px rgba(0,0,0,.28) !important;
  animation:orderHeartbeatGlow 1.35s infinite ease-in-out !important;
  white-space:nowrap !important;
}

.bestel-online-fixed:hover{
  transform:scale(1.05) !important;
}

@media(max-width:768px){
  .floating-social-icons{
    left:14px !important;
    bottom:84px !important;
    gap:10px !important;
  }
  .floating-social-icons a,
  .floating-social-icons img,
  .whatsapp-icon,
  .whatsapp-icon img{
    width:54px !important;
    height:54px !important;
  }
  .whatsapp-icon{
    left:14px !important;
    bottom:14px !important;
  }
  .bestel-online-fixed{
    right:14px !important;
    bottom:14px !important;
    font-size:14px !important;
    padding:12px 20px !important;
  }
}


/* Desktop Foodticket knop extra hoger boven Zenchef */
.bestel-online-fixed{
    bottom:150px !important;
}

@media(max-width:768px){
    .bestel-online-fixed{
        bottom:90px !important;
    }
}


/* OPENKLAPBAAR MENU OP MOBIEL */
.menu-toggle{
  display:none;
  background:#d6a449;
  color:#14100d;
  border:0;
  border-radius:999px;
  padding:9px 15px;
  font-weight:900;
  font-family:Poppins,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.25);
}

@media(max-width:900px){
  .navbar{
    flex-direction:row !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    padding:12px 18px !important;
  }

  .brand{
    flex:1 1 auto !important;
    width:auto !important;
  }

  .brand span{
    font-size:14px !important;
  }

  .brand img{
    width:46px !important;
    height:46px !important;
  }

  .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .nav-links{
    display:none !important;
    width:100% !important;
    flex-direction:column !important;
    gap:0 !important;
    padding:8px 0 4px !important;
    border-top:1px solid rgba(214,164,73,.22) !important;
    margin-top:4px !important;
    overflow:visible !important;
  }

  .nav-links.is-open{
    display:flex !important;
  }

  .nav-links a{
    display:block !important;
    width:100% !important;
    padding:11px 0 !important;
    font-size:14px !important;
    white-space:nowrap !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  .hero,
  .zaal-hero,
  .catering-hero,
  .franchise-hero,
  .impressie-hero,
  .vacature-hero{
    padding-top:140px !important;
  }
}
