.wev-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:24px 0}.wev-card{border:1px solid #ddd;background:#fff}.wev-card-image img,.wev-main-image img{width:100%;height:auto;display:block}.wev-card-body{padding:18px}.wev-button{display:inline-block;padding:12px 18px;background:#2456ff;color:#fff!important;text-decoration:none;border:0;border-radius:4px;cursor:pointer;font-weight:700}.wev-message{padding:12px 14px;margin:16px 0;border-radius:4px}.wev-success{background:#e7f7e7;border:1px solid #9ed29e}.wev-error{background:#fdeaea;border:1px solid #d99}.wev-specs{width:100%;border-collapse:collapse;margin:16px 0}.wev-specs th,.wev-specs td{border:1px solid #ddd;padding:8px;text-align:left}.wev-specs th{width:35%;background:#f7f7f7}.wev-step{margin:28px 0;padding:20px;border:1px solid #ddd;border-radius:12px;background:#fff}.wev-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:12px 0 18px}.wev-dot-free,.wev-dot-provisional,.wev-dot-busy,.wev-dot-selected{width:14px;height:14px;display:inline-block;border-radius:50%;margin-right:-10px}.wev-dot-free{background:#e9f8e9;border:1px solid #56ad62}.wev-dot-provisional{background:#fff0cc;border:1px solid #d99a00}.wev-dot-busy{background:#f7dada;border:1px solid #c98282}.wev-dot-selected{background:#1E78C1;border:1px solid #1E78C1}.wev-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.wev-calendar-month{border:1px solid #ddd;background:#fff;padding:14px;overflow:hidden}.wev-calendar-month h4{text-transform:capitalize;margin:0 0 10px;font-size:20px}.wev-weekdays,.wev-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.wev-weekdays span{text-align:center;font-weight:700;font-size:12px;color:#555}.wev-day{min-height:42px;border:1px solid #ddd;background:#fff;cursor:pointer;border-radius:7px;font-weight:700;display:flex!important;align-items:center;justify-content:center;flex-direction:column;padding:3px!important;line-height:1.05!important;color:#111}.wev-empty{border:0!important;background:transparent!important;cursor:default!important}.wev-calendar-free{background:#eaf8ec!important;border-color:#60b76b!important;color:#0f5c1b!important}.wev-calendar-provisional{background:#fff0cc!important;border-color:#d99a00!important;color:#7a4b00!important;cursor:not-allowed!important}.wev-calendar-busy{background:#f9dddd!important;border-color:#c33!important;color:#a00000!important;cursor:not-allowed!important}.wev-past{background:#eee!important;color:#999!important;border-color:#ddd!important;cursor:not-allowed!important}.wev-selected{background:#1E78C1!important;color:#fff!important;border-color:#1E78C1!important}.wev-day-label{display:block;font-size:9px;line-height:1;margin-top:2px;text-transform:uppercase}.wev-calendar-actions{margin-top:16px;padding:16px;border:1px solid #ddd;background:#fafafa;border-radius:6px}.wev-to-step-2:disabled{opacity:.45;cursor:not-allowed}.wev-selected-box{background:#f7f9fc;border:1px solid #d3d8e2;border-radius:5px;padding:12px;margin:12px 0 18px}.wev-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.wev-field,.wev-form label{display:flex!important;flex-direction:column!important;font-weight:600!important;gap:6px!important;margin:0!important}.wev-form input,.wev-form textarea{width:100%!important;box-sizing:border-box!important;padding:10px!important;border:1px solid #bbb!important;border-radius:3px!important;background:#fff!important;color:#111!important}.wev-full{grid-column:1/-1}.wev-check{display:block!important;font-weight:400!important}.wev-check input{width:auto!important;margin-right:8px}.wev-step-2 .wev-button{margin-top:4px}@media(max-width:760px){.wev-form{grid-template-columns:1fr!important}.wev-calendar-grid{grid-template-columns:1fr}.wev-step{padding:14px}}

/* v1.5.12 formulier fix - expliciete veldlayout voor Elementor/thema's */
.wev-form.wev-reservation-form{display:block!important;margin:20px 0!important}.wev-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:start!important}.wev-field{display:block!important;margin:0!important}.wev-field label{display:block!important;margin:0 0 6px!important;font-weight:700!important;line-height:1.3!important;color:#111!important}.wev-field input,.wev-field textarea{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-height:44px!important;padding:10px 12px!important;border:1px solid #b8bec8!important;border-radius:4px!important;background:#fff!important;color:#111!important;font:inherit!important;opacity:1!important;visibility:visible!important;appearance:auto!important;-webkit-appearance:auto!important}.wev-field textarea{min-height:130px!important;resize:vertical!important}.wev-full{grid-column:1/-1!important}.wev-check label{display:flex!important;align-items:flex-start!important;gap:8px!important;font-weight:400!important;line-height:1.4!important}.wev-check input[type="checkbox"]{width:18px!important;height:18px!important;min-height:18px!important;margin-top:2px!important;flex:0 0 auto!important}.wev-required{color:#b00000!important}.wev-form-grid .wev-button{margin-top:2px!important}@media(max-width:760px){.wev-form-grid{grid-template-columns:1fr!important}}

/* v1.5.13 kalender rustiger: status via kleur + tooltip, geselecteerd Wellink-blauw */
.wev-day-label{display:none!important}.wev-selected{background:#1E78C1!important;border-color:#1E78C1!important;color:#fff!important}.wev-selected:hover{background:#16649F!important;border-color:#16649F!important}.wev-calendar-busy,.wev-calendar-provisional{position:relative!important}


/* v1.5.14 - extra harde formulierfix voor Elementor/thema overrides */
.wev-booking .wev-step-2 form.wev-reservation-form,
.wev-booking .wev-step-2 .wev-form-grid{
  width:100%!important;
  max-width:100%!important;
}
.wev-booking .wev-step-2 .wev-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 28px!important;
}
.wev-booking .wev-step-2 .wev-field{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  position:relative!important;
  overflow:visible!important;
}
.wev-booking .wev-step-2 .wev-field label{
  display:block!important;
  margin:0 0 7px 0!important;
  padding:0!important;
  color:#111!important;
  font-weight:700!important;
  line-height:1.3!important;
}
.wev-booking .wev-step-2 .wev-field input:not([type="hidden"]):not([type="checkbox"]),
.wev-booking .wev-step-2 .wev-field textarea{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  float:none!important;
  clear:both!important;
  clip:auto!important;
  clip-path:none!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:46px!important;
  margin:0!important;
  padding:11px 13px!important;
  box-sizing:border-box!important;
  border:1px solid #aeb6c2!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:16px!important;
  line-height:1.35!important;
  text-indent:0!important;
  z-index:1!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
}
.wev-booking .wev-step-2 .wev-field input:not([type="hidden"]):not([type="checkbox"]):focus,
.wev-booking .wev-step-2 .wev-field textarea:focus{
  border-color:#1E78C1!important;
  outline:2px solid rgba(30,120,193,.18)!important;
}
.wev-booking .wev-step-2 .wev-field textarea{
  min-height:135px!important;
  resize:vertical!important;
}
.wev-booking .wev-step-2 .wev-full{grid-column:1/-1!important;}
.wev-booking .wev-step-2 .wev-check label{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:9px!important;
  font-weight:400!important;
}
.wev-booking .wev-step-2 .wev-check input[type="checkbox"]{
  display:inline-block!important;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  opacity:1!important;
  visibility:visible!important;
  position:static!important;
  margin:2px 0 0 0!important;
  flex:0 0 auto!important;
}
@media(max-width:760px){.wev-booking .wev-step-2 .wev-form-grid{grid-template-columns:1fr!important;}}

/* v1.5.14 - nette status-tooltip in kalender */
.wev-day[data-status-label]{overflow:visible!important;}
.wev-day[data-status-label]:hover::after,
.wev-day[data-status-label]:focus::after{
  content:attr(data-status-label);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  z-index:20;
  white-space:nowrap;
  max-width:260px;
  padding:7px 10px;
  border-radius:6px;
  background:#1f2937;
  color:#fff;
  font-size:12px;
  font-weight:600;
  line-height:1.25;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
  pointer-events:none;
}
.wev-day[data-status-label]:hover::before,
.wev-day[data-status-label]:focus::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:100%;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:#1f2937;
  z-index:21;
}
.wev-calendar-month{overflow:visible!important;}
