.vlm-booking { margin: 24px 0; }
.vlm-booking-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
@media (max-width: 980px) { .vlm-booking-grid { grid-template-columns: 1fr; } }

.vlm-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 10px 25px rgba(0,0,0,.04);
}

.vlm-title { margin: 0 0 12px; font-size: 20px; }

.vlm-row { display: grid; gap: 1.5rem; margin-bottom: 12px; }
.vlm-cols-2{
 	grid-template-columns: repeat(2, 1fr);
}
.vlm-cols-3{
 	grid-template-columns: repeat(3, 1fr);
}
.vlm-cols-1-2 {
    grid-template-columns: 1fr 2fr;
}

@media (max-width: 680px) { .vlm-row { grid-template-columns: 1fr; } }

.vlm-field label { display:block; font-weight: 600; margin-bottom: 6px; }

.elementor-field-textual,
.vlm-field input,
.vlm-field input[type="date"],
.vlm-field input[type="number"],
.vlm-field input[type="file"] {
  width: 100%;
  padding: 2px 10px;
  min-height:26px;
  border: 1px solid transparent;
  border-radius: 25px;
  background-color: #F6F6F6;
}

form.vlm-booking-search .vlm-field label{
	color:white;
}
form .vlm-field input:focus {
  outline: none;
  /*border-color:#333;*/
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);
}

form .vlm-people {
	margin:15px 0 25px;
}
form .vlm-people input {
 	max-width: 100px;
}
form.vlm-booking-search .vlm-hint{
	color:white;
	font-style:italic;
}
form .vlm-actions{
}

.vlm-hint { display:block; margin-top: 6px; opacity: .75; font-size: 12px; }

.vlm-check { display:flex; align-items:center; gap: 8px; user-select:none; }
.vlm-check input { transform: translateY(1px); }

.vlm-actions { display:flex; gap: 10px; flex-wrap: wrap; align-items:center; margin-top: 8px; }

.vlm-btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding: 2px 10px;
  border-radius: 25px;
  font-size:15px;
  border: none;
  background: #111;
  color: #fff;
  text-decoration:none; cursor:pointer;
}
.vlm-btn:disabled { opacity:.5; cursor:not-allowed; }
.vlm-btn-outline { background: transparent; border:1px solid rgba(0,0,0,.2); color:#111; }

.vlm-alert { padding: 10px 12px; border-radius: 10px; margin: 10px 0; font-size: 14px; }
.vlm-alert.is-error { background: rgba(214,45,30,.08); border: 1px solid rgba(214,45,30,.25); }
.vlm-alert.is-info { background: rgba(45, 185, 221,.08); border: 1px solid rgba(45, 185, 221,.25); }
.vlm-alert.is-success { background: rgba(136, 191, 89,.08); border: 1px solid rgba(136, 191, 89,.25); }

.vlm-summary-line { display:flex; justify-content:space-between; gap: 10px; padding: 6px 0; }
.vlm-sep { border: none; border-top: 1px solid rgba(0,0,0,.08); margin: 10px 0; }
.vlm-muted { opacity:.8; margin-top: 10px; font-size: 13px; }

#vlm_availability {
  padding: 10px 12px;
  border-radius: 10px;
  margin: 10px 0;
  font-size: 14px;
}

#vlm_availability.is-neutral {
  background: rgba(45, 185, 221,.1);
  border: 1px solid rgba(45, 185, 221,.5);
  color: #2DB9DD;
}

#vlm_availability.is-available {
  background: rgba(136,191,89,.1);
  border: 1px solid rgba(136,191,89,.5);
  color: #88BF59;
}

#vlm_availability.is-unavailable {
  background: rgba(214,45,30,.1);
  border: 1px solid rgba(214,45,30,.5);
  color: #D62D1E;
}

input[type="date"].is-valid-day {
    /*border-color: #88BF59;*/
    /*box-shadow: 0 0 0 1px rgba(136,191,89, 0.5);*/
}

input[type="date"].is-invalid-day {
    border-color: #D62D1E;
    box-shadow: 0 0 0 1px rgba(214,45,30, 0.5);
}