.nl-checkin-standalone{margin:0;background:var(--nl-bg);font-family:Inter,Arial,sans-serif;color:var(--nl-text)}
.nl-wrap{min-height:100vh;background:linear-gradient(180deg,var(--nl-bg),#fff);padding:46px 18px;box-sizing:border-box;color:var(--nl-text)}
.nl-hero{max-width:980px;margin:0 auto 24px;background:rgba(255,255,255,.45);border:1px solid rgba(54,81,59,.12);border-radius:28px;padding:34px;box-shadow:0 20px 50px rgba(35,48,38,.08)}
.nl-hero span{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--nl-accent);font-weight:800;margin-bottom:10px}.nl-hero h1{font-size:clamp(32px,5vw,58px);line-height:1;margin:0 0 12px;color:var(--nl-primary)}.nl-hero p{font-size:17px;line-height:1.65;max-width:760px;margin:0}.nl-card{max-width:980px;margin:0 auto;background:var(--nl-card);border-radius:28px;padding:30px;box-shadow:0 18px 45px rgba(35,48,38,.10);border:1px solid rgba(54,81,59,.12)}.nl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nl-form h2{margin:30px 0 12px;color:var(--nl-primary);font-size:24px}.nl-form label,.nl-login label{display:block;font-weight:700;margin-bottom:8px}.nl-form input:not([type=checkbox]),.nl-login input{width:100%;box-sizing:border-box;border:1px solid rgba(35,48,38,.18);border-radius:14px;padding:13px 14px;background:#fff;color:var(--nl-text);font-size:15px}.nl-form input:disabled{background:#f6f3ec;color:#6d756c}.nl-muted{color:#667064;line-height:1.55}.nl-guest{display:grid;grid-template-columns:90px 1fr 1fr;gap:12px;align-items:center;margin-bottom:10px;background:#faf8f2;border-radius:18px;padding:12px}.nl-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nl-options label,.nl-confirm{background:#faf8f2;border:1px solid rgba(54,81,59,.12);padding:14px 16px;border-radius:18px;display:flex;gap:10px;align-items:center;font-weight:650}.nl-services label{justify-content:space-between}.nl-services span{flex:1}.nl-terms{background:#faf8f2;border-left:4px solid var(--nl-accent);border-radius:16px;padding:16px;line-height:1.6}.nl-total{margin-top:16px;font-size:18px}.nl-btn,.nl-login button{margin-top:24px;background:var(--nl-primary);color:#fff;border:0;border-radius:var(--nl-radius);padding:15px 24px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(54,81,59,.25)}.nl-message{margin-top:18px;font-weight:700}.nl-message.ok{color:#2f7d46}.nl-message.error,.nl-error{color:#9f2f2f;background:#fff1f1;border-radius:14px;padding:12px}.nl-status{padding:14px 16px;border-radius:18px;margin-bottom:20px;font-weight:800}.nl-status.ok{background:#e9f6ec;color:#2d6f3a}.nl-status.open{background:#fff8e8;color:#87611e}.nl-login{max-width:560px}.nl-login form{margin-top:18px}.nl-login input{margin-bottom:14px}.nl-portal-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:24px}.nl-side{background:var(--nl-card);border-radius:26px;padding:22px;box-shadow:0 18px 45px rgba(35,48,38,.08);height:max-content}.nl-side strong,.nl-side small{display:block}.nl-side small{margin:5px 0 18px;color:#6b7368}.nl-side a{display:block;padding:12px 14px;border-radius:14px;color:var(--nl-text);text-decoration:none;margin-bottom:8px;font-weight:750}.nl-side a.active,.nl-side a:hover{background:var(--nl-primary);color:#fff}@media(max-width:760px){.nl-wrap{padding:24px 12px}.nl-card,.nl-hero{padding:22px;border-radius:22px}.nl-grid,.nl-options,.nl-portal-grid{grid-template-columns:1fr}.nl-guest{grid-template-columns:1fr}.nl-side{position:static}}

/* v1.2 standalone gastportaal */
html:has(body.nl-checkin-standalone), body.nl-checkin-standalone{width:100%;min-width:0;overflow-x:hidden;background:var(--nl-bg)!important}
body.nl-checkin-standalone *{box-sizing:border-box}
body.nl-checkin-standalone .nl-wrap{width:100%;max-width:none;margin:0;font-family:Inter,Arial,sans-serif}
.nl-main{min-width:0;width:100%}
.nl-lang-switch{max-width:1180px;margin:0 auto 14px;display:flex;justify-content:flex-end;gap:8px}
.nl-lang-switch a{background:rgba(255,255,255,.75);border:1px solid rgba(54,81,59,.14);color:var(--nl-text);text-decoration:none;border-radius:999px;padding:7px 12px;font-weight:800;font-size:12px}
.nl-side-profile{padding:14px;border-radius:18px;background:#faf8f2;margin-bottom:14px}
.nl-side .nl-logout{margin-top:18px!important;border:1px solid rgba(159,47,47,.18);color:#9f2f2f!important;background:#fff7f7!important;text-align:center}
.nl-side .nl-logout:hover{background:#9f2f2f!important;color:#fff!important}
.nl-login-screen{display:flex;flex-direction:column;justify-content:center}
.nl-login-screen .nl-hero,.nl-login-screen .nl-card{width:100%}
@media(min-width:900px){.nl-portal-grid{grid-template-columns:300px minmax(0,1fr);align-items:start}.nl-main .nl-card{max-width:none}.nl-login-screen .nl-card{max-width:620px}.nl-card,.nl-hero{width:100%}}
@media(max-width:899px){.nl-portal-grid{grid-template-columns:1fr}.nl-side{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nl-side-profile{grid-column:1/-1}.nl-side a{margin-bottom:0}.nl-side .nl-logout{grid-column:1/-1}}

/* v1.3: force full-width portal even when shortcode is inside a theme page */
body:has(.nl-wrap.nl-portal), body:has(.nl-login-screen){overflow-x:hidden!important;background:var(--nl-bg)!important}
body:has(.nl-wrap.nl-portal) .entry-title,
body:has(.nl-wrap.nl-portal) .page-title,
body:has(.nl-wrap.nl-portal) header.entry-header,
body:has(.nl-login-screen) .entry-title,
body:has(.nl-login-screen) .page-title,
body:has(.nl-login-screen) header.entry-header{display:none!important}
.nl-wrap.nl-portal,.nl-wrap.nl-login-screen{position:relative!important;left:50%!important;right:50%!important;margin-left:-50vw!important;margin-right:-50vw!important;width:100vw!important;max-width:100vw!important;min-height:100vh!important;padding:56px max(32px,calc((100vw - 1440px)/2 + 32px))!important;background:linear-gradient(135deg,var(--nl-bg),#fff 62%,rgba(184,138,90,.12))!important}
.nl-wrap.nl-portal .nl-hero,.nl-wrap.nl-login-screen .nl-hero{max-width:1440px!important;margin-left:auto!important;margin-right:auto!important}
.nl-wrap.nl-portal .nl-portal-grid{max-width:1440px!important;width:100%!important;grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important}
.nl-wrap.nl-portal .nl-main .nl-card{max-width:none!important;width:100%!important}
.nl-wrap.nl-portal .nl-card{padding:clamp(24px,3vw,44px)!important}
.nl-wrap.nl-portal .nl-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.nl-wrap.nl-portal .nl-guest{grid-template-columns:120px minmax(0,1fr) minmax(0,1fr)!important}
.nl-side a.nl-locked{opacity:.65;filter:grayscale(.2)}
@media(max-width:980px){.nl-wrap.nl-portal,.nl-wrap.nl-login-screen{padding:28px 14px!important}.nl-wrap.nl-portal .nl-portal-grid{grid-template-columns:1fr!important}.nl-wrap.nl-portal .nl-grid,.nl-wrap.nl-portal .nl-guest{grid-template-columns:1fr!important}}

/* v1.5: mini-app, visual beds, full-width hardening */
body.nl-checkin-standalone, body:has(.nl-wrap.nl-portal), body:has(.nl-wrap.nl-login-screen){margin:0!important;padding:0!important;max-width:none!important}
body:has(.nl-wrap.nl-portal) main, body:has(.nl-wrap.nl-portal) .site-main, body:has(.nl-wrap.nl-portal) .content-area, body:has(.nl-wrap.nl-portal) .entry-content,
body:has(.nl-wrap.nl-login-screen) main, body:has(.nl-wrap.nl-login-screen) .site-main, body:has(.nl-wrap.nl-login-screen) .content-area, body:has(.nl-wrap.nl-login-screen) .entry-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
.nl-mobile-nav{position:sticky;top:0;z-index:20;max-width:1440px;margin:0 auto 18px;display:flex;gap:10px;justify-content:center;backdrop-filter:blur(14px);padding:10px;border-radius:22px;background:rgba(255,255,255,.65);box-shadow:0 14px 40px rgba(35,48,38,.08)}
.nl-mobile-nav a{padding:10px 16px;border-radius:999px;background:#fff;text-decoration:none;color:var(--nl-text);font-weight:800;border:1px solid rgba(54,81,59,.1)}
.nl-countdown{display:flex;justify-content:space-between;gap:16px;align-items:center;border-radius:22px;background:linear-gradient(135deg,rgba(54,81,59,.08),rgba(184,138,90,.12));padding:16px 18px;margin-bottom:18px}.nl-countdown strong{font-size:20px;color:var(--nl-primary)}.nl-countdown span{color:#667064;font-weight:700}.nl-info-alert{background:#fff8e8;border:1px solid rgba(184,138,90,.25);border-radius:20px;padding:16px 18px;margin:18px 0;line-height:1.55}.nl-bed-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.nl-bed-map label{position:relative;min-height:120px;background:linear-gradient(180deg,#fff,#faf8f2);border:1px solid rgba(54,81,59,.16);border-radius:24px;padding:18px;display:flex;align-items:flex-end;box-shadow:0 12px 30px rgba(35,48,38,.07);cursor:pointer}.nl-bed-map label:before{content:'🛏️';position:absolute;top:16px;left:18px;font-size:30px}.nl-bed-map input{position:absolute;top:16px;right:16px}.nl-bed-map input:checked + span{color:var(--nl-primary);font-weight:900}.nl-signature{background:#faf8f2;border-radius:18px;padding:16px;margin:14px 0}.nl-guide{margin-top:22px;background:#faf8f2;border-radius:22px;padding:22px;border:1px solid rgba(54,81,59,.1);line-height:1.65}.nl-guide h2{margin-top:0}.nl-wrap.nl-portal .nl-form{max-width:none!important}.nl-wrap.nl-portal{display:block!important}.nl-wrap.nl-portal .nl-main{width:100%!important;max-width:none!important}@media(max-width:850px){.nl-mobile-nav{overflow:auto;justify-content:flex-start;border-radius:0;margin-left:-14px;margin-right:-14px}.nl-bed-map{grid-template-columns:1fr 1fr}.nl-countdown{display:block}.nl-countdown span{display:block;margin-top:6px}}@media(min-width:1200px){.nl-wrap.nl-portal .nl-portal-grid{grid-template-columns:320px minmax(0,1fr)!important}.nl-wrap.nl-portal .nl-main{min-width:0!important}.nl-wrap.nl-portal .nl-card{max-width:100%!important}}

/* v1.6: ruime full-width layout + stap-voor-stap check-in */
html,body{max-width:100%!important;overflow-x:hidden!important}
body.nl-checkin-standalone .nl-wrap,
.nl-wrap.nl-portal,
.nl-wrap.nl-login-screen{box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important}
.nl-wrap.nl-portal{left:auto!important;right:auto!important;margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;padding:clamp(22px,4vw,58px)!important}
body:not(.nl-checkin-standalone) .nl-wrap.nl-portal{left:50%!important;margin-left:-50vw!important;width:100vw!important;max-width:100vw!important}
.nl-wrap.nl-portal *{box-sizing:border-box;max-width:100%}
.nl-wrap.nl-portal .nl-portal-grid{width:min(100%,1480px)!important;max-width:1480px!important;margin-inline:auto!important;grid-template-columns:minmax(230px,300px) minmax(0,1fr)!important;gap:clamp(14px,2.2vw,34px)!important}
.nl-wrap.nl-portal .nl-main{min-width:0!important;overflow:hidden!important}
.nl-wrap.nl-portal .nl-card{overflow:hidden!important;max-width:100%!important}
.nl-form input:not([type=checkbox]),.nl-login input{min-width:0!important;max-width:100%!important}
.nl-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}
.nl-guest{grid-template-columns:minmax(72px,120px) minmax(0,1fr) minmax(0,1fr)!important}
.nl-options{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}
.nl-bed-map{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
.nl-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 26px;padding:8px;background:#faf8f2;border-radius:22px;border:1px solid rgba(54,81,59,.10)}
.nl-steps button{border:0;border-radius:16px;background:transparent;padding:13px 10px;font-weight:900;color:var(--nl-text);cursor:pointer;white-space:normal;line-height:1.25}
.nl-steps button.active{background:var(--nl-primary);color:#fff;box-shadow:0 10px 24px rgba(54,81,59,.18)}
.nl-step{display:none;animation:nlFade .18s ease-out}
.nl-step.active{display:block}
@keyframes nlFade{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.nl-step-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:26px}
.nl-step-actions .nl-btn{margin-top:0}
.nl-prev,.nl-save-draft{background:#fff!important;color:var(--nl-primary)!important;border:1px solid rgba(54,81,59,.18)!important;box-shadow:none!important}
.nl-save-draft{color:#6b5432!important}
.nl-summary{background:#faf8f2;border-radius:20px;padding:18px 20px;margin-bottom:18px;border:1px solid rgba(54,81,59,.10)}
.nl-summary h3{margin:0 0 10px}.nl-summary ul{margin:0;padding-left:18px;line-height:1.8}
.nl-checkin-warning{width:100%;background:#fff8e8;border:1px solid rgba(184,138,90,.28);border-radius:22px;padding:16px 18px;margin-bottom:18px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:#5e4824;box-shadow:0 12px 30px rgba(35,48,38,.06)}
.nl-checkin-warning strong{font-size:16px}.nl-checkin-warning span{flex:1;min-width:220px}.nl-checkin-warning a{background:var(--nl-primary);color:#fff;text-decoration:none;border-radius:999px;padding:10px 16px;font-weight:900}
.nl-info-page{font-size:17px;line-height:1.75}
@media(max-width:900px){
 .nl-wrap.nl-portal{padding:18px 12px!important}
 body:not(.nl-checkin-standalone) .nl-wrap.nl-portal{left:auto!important;margin-left:0!important;width:100%!important;max-width:100%!important}
 .nl-wrap.nl-portal .nl-portal-grid{grid-template-columns:1fr!important}
 .nl-side{grid-template-columns:1fr 1fr!important;padding:14px!important;border-radius:20px!important}
 .nl-steps{grid-template-columns:1fr!important}
 .nl-guest{grid-template-columns:1fr!important}
 .nl-step-actions{display:grid;grid-template-columns:1fr}.nl-step-actions .nl-btn{width:100%}
}
@media(max-width:520px){.nl-side{grid-template-columns:1fr!important}.nl-hero h1{font-size:34px!important}.nl-card,.nl-hero{padding:18px!important}.nl-options,.nl-bed-map{grid-template-columns:1fr!important}}

/* v1.7: absolute overflow protection + wider breathing room */
html, body { width:100% !important; max-width:100% !important; overflow-x:clip !important; }
body { min-width:0 !important; }
body * { box-sizing:border-box; }
.nl-wrap, .nl-wrap * { min-width:0 !important; }
.nl-wrap.nl-portal, .nl-wrap.nl-login-screen, body.nl-checkin-standalone .nl-wrap {
  width:100% !important; max-width:100% !important; overflow-x:clip !important; left:auto !important; right:auto !important; transform:none !important;
}
body:not(.nl-checkin-standalone) .nl-wrap.nl-portal,
body:not(.nl-checkin-standalone) .nl-wrap.nl-login-screen {
  margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
  width:100vw !important; max-width:100vw !important; padding-left:clamp(12px,3vw,54px)!important; padding-right:clamp(12px,3vw,54px)!important;
}
.nl-portal-grid, .nl-card, .nl-hero, .nl-main, .nl-side, .nl-form { max-width:100% !important; overflow-wrap:anywhere; }
.nl-wrap.nl-portal .nl-portal-grid { width:min(100%,1500px)!important; }
.nl-form input:not([type=checkbox]), .nl-login input, .nl-form select, .nl-form textarea { max-width:100% !important; min-width:0!important; }
.nl-guest { grid-template-columns:minmax(58px,95px) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important; }
.nl-steps button:disabled { opacity:.45; cursor:not-allowed; }
.nl-invalid { border-color:#b3261e!important; box-shadow:0 0 0 3px rgba(179,38,30,.12)!important; }
.nl-access-note { background:#eef5ef; color:#25472f; border:1px solid rgba(54,81,59,.18); border-radius:18px; padding:14px 16px; margin:0 0 18px; font-weight:750; }
.nl-access-code { background:#fff; border:2px dashed var(--nl-primary); border-radius:22px; padding:18px; margin:18px 0; font-size:20px; font-weight:900; letter-spacing:1px; color:var(--nl-primary); }
.nl-checkin-warning { background:#fff4d8!important; border:2px solid rgba(184,138,90,.45)!important; color:#5e4217!important; }
.nl-checkin-warning strong { display:block; font-size:18px; }
.nl-checkin-warning a { white-space:nowrap; }
@media(max-width:1100px){ .nl-guest { grid-template-columns:1fr 1fr!important; } .nl-guest strong{grid-column:1/-1;} }
@media(max-width:640px){ body:not(.nl-checkin-standalone) .nl-wrap.nl-portal, body:not(.nl-checkin-standalone) .nl-wrap.nl-login-screen{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;} .nl-guest{grid-template-columns:1fr!important;} .nl-card,.nl-hero{padding:16px!important;} .nl-checkin-warning a{width:100%;text-align:center;} }


/* v1.7.1: definitive viewport-safe layout. No 100vw/negative-margin tricks. */
html, body{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
}
body.nl-checkin-standalone{
  margin:0 !important;
  padding:0 !important;
  background:var(--nl-bg) !important;
}
body:has(.nl-wrap.nl-portal),
body:has(.nl-wrap.nl-login-screen){
  overflow-x:hidden !important;
}
body:has(.nl-wrap.nl-portal) main,
body:has(.nl-wrap.nl-portal) .site-main,
body:has(.nl-wrap.nl-portal) .content-area,
body:has(.nl-wrap.nl-portal) .entry-content,
body:has(.nl-wrap.nl-login-screen) main,
body:has(.nl-wrap.nl-login-screen) .site-main,
body:has(.nl-wrap.nl-login-screen) .content-area,
body:has(.nl-wrap.nl-login-screen) .entry-content{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
}
.nl-wrap.nl-portal,
.nl-wrap.nl-login-screen,
body:not(.nl-checkin-standalone) .nl-wrap.nl-portal,
body:not(.nl-checkin-standalone) .nl-wrap.nl-login-screen,
body.nl-checkin-standalone .nl-wrap{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  margin:0 auto !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:clamp(16px,3.5vw,48px) max(12px, env(safe-area-inset-left)) !important;
  overflow-x:hidden !important;
  background:linear-gradient(135deg,var(--nl-bg),#fff 62%,rgba(184,138,90,.12)) !important;
}
.nl-wrap.nl-portal *,
.nl-wrap.nl-login-screen *{
  box-sizing:border-box !important;
  min-width:0 !important;
}
.nl-wrap.nl-portal .nl-lang-switch,
.nl-wrap.nl-portal .nl-hero,
.nl-wrap.nl-portal .nl-portal-grid,
.nl-wrap.nl-login-screen .nl-lang-switch,
.nl-wrap.nl-login-screen .nl-hero,
.nl-wrap.nl-login-screen .nl-card{
  width:100% !important;
  max-width:min(100%,1420px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.nl-wrap.nl-portal .nl-portal-grid{
  display:grid !important;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr) !important;
  gap:clamp(14px,2vw,28px) !important;
}
.nl-wrap.nl-portal .nl-main,
.nl-wrap.nl-portal .nl-side,
.nl-wrap.nl-portal .nl-card,
.nl-wrap.nl-portal .nl-hero,
.nl-wrap.nl-portal .nl-form,
.nl-wrap.nl-login-screen .nl-card,
.nl-wrap.nl-login-screen .nl-hero{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
.nl-wrap.nl-portal table,
.nl-wrap.nl-portal img,
.nl-wrap.nl-portal video,
.nl-wrap.nl-login-screen table,
.nl-wrap.nl-login-screen img,
.nl-wrap.nl-login-screen video{
  max-width:100% !important;
  height:auto !important;
}
.nl-wrap.nl-portal input:not([type=checkbox]):not([type=radio]),
.nl-wrap.nl-portal select,
.nl-wrap.nl-portal textarea,
.nl-wrap.nl-login-screen input:not([type=checkbox]):not([type=radio]),
.nl-wrap.nl-login-screen select,
.nl-wrap.nl-login-screen textarea{
  width:100% !important;
  max-width:100% !important;
}
.nl-wrap.nl-portal .nl-guest{
  grid-template-columns:minmax(54px,88px) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) !important;
}
@media(max-width:1180px){
  .nl-wrap.nl-portal .nl-portal-grid{grid-template-columns:1fr !important;}
  .nl-wrap.nl-portal .nl-side{display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important;}
  .nl-wrap.nl-portal .nl-side-profile,
  .nl-wrap.nl-portal .nl-logout{grid-column:1/-1 !important;}
}
@media(max-width:760px){
  .nl-wrap.nl-portal,
  .nl-wrap.nl-login-screen{padding:14px 10px !important;}
  .nl-wrap.nl-portal .nl-guest,
  .nl-wrap.nl-portal .nl-grid,
  .nl-wrap.nl-portal .nl-options,
  .nl-wrap.nl-portal .nl-bed-map,
  .nl-wrap.nl-portal .nl-steps,
  .nl-wrap.nl-portal .nl-side{grid-template-columns:1fr !important;}
  .nl-wrap.nl-portal .nl-card,
  .nl-wrap.nl-portal .nl-hero,
  .nl-wrap.nl-login-screen .nl-card,
  .nl-wrap.nl-login-screen .nl-hero{padding:18px !important; border-radius:22px !important;}
}
/* v1.9 bed map + overflow hardening */
html, body.nl-checkin-standalone { overflow-x: hidden !important; width: 100% !important; max-width: 100% !important; }
.nl-wrap, .nl-portal, .nl-portal-grid, .nl-main, .nl-card, .nl-form, .nl-step, .nl-grid, .nl-bed-plan, .nl-bed-map, .nl-options { max-width: 100% !important; box-sizing: border-box !important; min-width: 0 !important; }
.nl-portal-grid { grid-template-columns: minmax(210px, 280px) minmax(0, 1fr) !important; }
.nl-main { overflow: hidden !important; }
.nl-card input, .nl-card textarea, .nl-card select, .nl-card button { max-width: 100% !important; box-sizing: border-box !important; }
.nl-bed-counter{background:#f7f3ea;border:1px solid rgba(54,81,59,.18);border-radius:16px;padding:12px 16px;margin:8px 0 16px;color:var(--nl-text)}
.nl-bed-plan{position:relative;width:100%;border-radius:22px;overflow:hidden;border:1px solid rgba(54,81,59,.18);background:#f7f3ea;margin:12px 0 18px;box-shadow:0 12px 30px rgba(0,0,0,.06)}
.nl-bed-plan img{display:block;width:100%;height:auto;max-width:100%}
.nl-bed-hotspot{position:absolute;transform:translate(-50%,-50%);z-index:3;cursor:pointer;max-width:180px}
.nl-bed-hotspot input{position:absolute;opacity:0;pointer-events:none}
.nl-bed-hotspot span{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--nl-text);border:2px solid var(--nl-primary);border-radius:999px;padding:9px 13px;font-size:13px;font-weight:800;box-shadow:0 8px 22px rgba(0,0,0,.14);white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.nl-bed-hotspot input:checked+span{background:var(--nl-primary);color:#fff}
.nl-bed-fallback{margin-top:12px}.nl-bed-fallback summary{cursor:pointer;font-weight:800;margin-bottom:10px}
@media(max-width:800px){.nl-portal-grid{grid-template-columns:1fr !important}.nl-side{position:relative!important;width:100%!important}.nl-bed-hotspot span{font-size:11px;padding:7px 9px;max-width:120px}.nl-grid{grid-template-columns:1fr!important}}

/* v1.11.7 verbeterde gastenrijen, eigen wachtwoord-vergeten en beddenkaart */
.nl-success{color:#226b3a;background:#eef9f0;border-radius:14px;padding:12px;margin-bottom:12px;font-weight:700}
.nl-login-link{display:inline-block;margin:18px 0 0 14px;color:var(--nl-primary);font-weight:800;text-decoration:none}
.nl-login-link:hover{text-decoration:underline}
.nl-guest{grid-template-columns:90px 1fr 1fr 1fr!important;align-items:start;position:relative}
.nl-guest strong{padding-top:12px;white-space:nowrap}
.nl-remove-guest{grid-column:2 / -1;justify-self:start;margin-top:2px;border:0;background:#fff1f1;color:#9f2f2f;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;box-shadow:none}
.nl-remove-guest:hover{background:#ffe1e1}
.nl-bed-plan{position:relative;margin:16px 0;border-radius:24px;overflow:hidden;border:1px solid rgba(54,81,59,.15);background:#faf8f2}
.nl-bed-plan img{display:block;width:100%;height:auto}
.nl-bed-hotspot{position:absolute;transform:translate(-50%,-50%);display:flex!important;align-items:center;justify-content:center;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
.nl-bed-hotspot input{position:absolute;opacity:0;pointer-events:none}
.nl-bed-hotspot span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:7px 10px;border-radius:999px;background:var(--nl-primary);color:#fff;font-size:12px;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.22);cursor:pointer;white-space:nowrap}
.nl-bed-hotspot input:checked + span{background:var(--nl-accent);color:#fff;transform:scale(1.06)}
@media(max-width:760px){.nl-guest{grid-template-columns:1fr!important}.nl-remove-guest{grid-column:1}.nl-login-link{display:block;margin-left:0}}

/* v1.11.9: duidelijke hiërarchie in gastenportaalnavigatie */
.nl-side-prioritized{display:flex!important;flex-direction:column!important;gap:12px!important}
.nl-side-prioritized .nl-side-profile{margin-bottom:4px!important}
.nl-side-important{display:flex!important;flex-direction:column!important;gap:10px!important;margin:4px 0 8px!important}
.nl-side a.nl-nav-primary{display:flex!important;flex-direction:column!important;gap:4px!important;padding:17px 18px!important;border-radius:20px!important;background:linear-gradient(135deg,rgba(54,81,59,.10),rgba(184,138,90,.12))!important;border:1px solid rgba(54,81,59,.16)!important;font-size:17px!important;line-height:1.25!important;box-shadow:0 12px 28px rgba(35,48,38,.07)!important;margin:0!important}
.nl-side a.nl-nav-primary span{font-weight:900!important;color:var(--nl-primary)!important}
.nl-side a.nl-nav-primary em{font-style:normal!important;font-size:12px!important;font-weight:750!important;color:#6b7368!important}
.nl-side a.nl-nav-primary.active,.nl-side a.nl-nav-primary:hover{background:var(--nl-primary)!important;color:#fff!important;border-color:var(--nl-primary)!important}
.nl-side a.nl-nav-primary.active span,.nl-side a.nl-nav-primary:hover span,.nl-side a.nl-nav-primary.active em,.nl-side a.nl-nav-primary:hover em{color:#fff!important}
.nl-side-extra{display:flex!important;flex-direction:column!important;gap:6px!important;margin-top:6px!important;padding-top:12px!important;border-top:1px solid rgba(54,81,59,.12)!important}
.nl-side-extra-title{font-size:11px!important;line-height:1.2!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#758071!important;font-weight:900!important;margin:0 0 2px!important}
.nl-side a.nl-nav-extra{font-size:14px!important;padding:10px 12px!important;border-radius:14px!important;opacity:.86!important;background:transparent!important;border:1px solid transparent!important;margin:0!important;font-weight:750!important}
.nl-side a.nl-nav-extra.active,.nl-side a.nl-nav-extra:hover{opacity:1!important;background:rgba(54,81,59,.10)!important;color:var(--nl-primary)!important;border-color:rgba(54,81,59,.12)!important}
.nl-side a.nl-logout{margin-top:8px!important}
@media(max-width:899px){.nl-side-prioritized{display:flex!important}.nl-side-important{display:flex!important;grid-column:1/-1!important}.nl-side-extra{display:grid!important;grid-template-columns:1fr 1fr!important;grid-column:1/-1!important}.nl-side-extra-title{grid-column:1/-1!important}.nl-side a.nl-nav-primary{grid-column:1/-1!important}.nl-side a.nl-logout{grid-column:1/-1!important}}
@media(max-width:560px){.nl-side-extra{grid-template-columns:1fr!important}.nl-side a.nl-nav-primary{font-size:16px!important;padding:15px 16px!important}}

/* v1.12.0: beddenkaart in boekerportaal altijd zichtbaar en klikbaar */
.nl-checkin-standalone .nl-bed-plan,
.nl-wrap.nl-portal .nl-bed-plan{display:block!important;position:relative!important;width:100%!important;min-height:220px!important;background:#f7f3ea!important;overflow:hidden!important;}
.nl-checkin-standalone .nl-bed-plan img,
.nl-wrap.nl-portal .nl-bed-plan img{display:block!important;width:100%!important;height:auto!important;opacity:1!important;visibility:visible!important;}
.nl-checkin-standalone .nl-bed-hotspot,
.nl-wrap.nl-portal .nl-bed-hotspot{display:flex!important;position:absolute!important;z-index:20!important;pointer-events:auto!important;}
.nl-checkin-standalone .nl-bed-hotspot span,
.nl-wrap.nl-portal .nl-bed-hotspot span{pointer-events:auto!important;}

/* v1.12.1: nette gastvelden + bedden zonder kaart standaard open */
.nl-wrap.nl-portal .nl-guest,
.nl-guest{
  display:grid!important;
  grid-template-columns:minmax(86px,120px) minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
.nl-guest-label{display:flex;align-items:center;min-height:46px;font-weight:900;color:var(--nl-primary)}
.nl-guest input{width:100%;min-width:0;align-self:start}
.nl-guest .nl-guest-email{grid-column:2 / 4}
.nl-guest-remove-wrap{grid-column:2 / 4;display:flex;justify-content:flex-start;margin-top:-2px}
.nl-remove-guest{border:0;background:#fff1f1;color:#9f2f2f;border-radius:999px;padding:8px 13px;font-weight:800;cursor:pointer;box-shadow:none}
.nl-remove-guest:hover{background:#9f2f2f;color:#fff}
.nl-bed-fallback[open] summary{margin-bottom:12px}
@media(max-width:760px){
  .nl-wrap.nl-portal .nl-guest,.nl-guest{grid-template-columns:1fr!important}
  .nl-guest .nl-guest-email,.nl-guest-remove-wrap{grid-column:1/-1}
}

/* v1.12.3: hoofdboeker automatisch ingevuld en vergrendeld */
.nl-booker-guest input[readonly]{background:#f6f3ec;color:#4d554d;cursor:not-allowed;border-style:solid}
.nl-bed-fallback-visible{margin-top:14px}
.nl-bed-fallback-visible .nl-bed-map{margin-top:0}

/* v1.12.5: vergrendelde hoofdboeker-velden in gegevens van verblijf */
.nl-wrap.nl-portal input.nl-readonly,
.nl-wrap input.nl-readonly{
  background:#f6f3ec!important;
  color:#4d554d!important;
  cursor:not-allowed!important;
}

/* v1.13.0 - gekozen extra diensten overzicht */
.nl-selected-services{margin:0 0 18px;padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:var(--nl-radius);background:var(--nl-card);}
.nl-selected-services h3{margin:0 0 10px;font-size:1.05rem;}
.nl-selected-services-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.nl-selected-services-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.035);}
.nl-selected-services-list strong{white-space:nowrap;}
.nl-lang-switch a.active{background:var(--nl-primary);color:#fff;border-color:var(--nl-primary)}
