.whs-bv-booking{
  border:1px solid #e6e6e6;
  border-radius:14px;
  padding:18px;
  max-width:600px;
  width:100%;
  margin:0 auto;
  box-sizing:border-box;
  background:#fff;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
}

.whs-bv-head{margin-bottom:14px}
.whs-bv-title{font-weight:800;font-size:18px;line-height:1.2;margin:0}
.whs-bv-sub{color:#6b7280;font-size:13px;margin-top:6px}

/* Two always-visible calendars */
.whs-bv-cal-wrap{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
  margin:12px 0 14px;
  max-width:100%;
  overflow:hidden;
}
.whs-bv-cal-label{
  font-weight:800;
  font-size:13px;
  color:#111827;
  margin-bottom:6px;
}
.whs-bv-cal{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px;
  background:#fff;
}

/* Guests inline */
.whs-bv-guests{
  display:flex;
  gap:12px;
  margin-bottom:12px;
}
.whs-bv-guests .whs-bv-row{flex:1 1 0;}

.whs-bv-row{display:flex;flex-direction:column;gap:6px}
.whs-bv-row label{font-weight:700;font-size:13px;color:#111827}

/* Hide hidden date fields */
.whs-bv-booking input.whs-bv-checkin,
.whs-bv-booking input.whs-bv-checkout{display:none !important;}

.whs-bv-booking select,
.whs-bv-booking input{
  width:100%;
  padding:10px 12px;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
  font-size:14px;
  line-height:1.2;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.whs-bv-booking input:focus,
.whs-bv-booking select:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.15);
}

.whs-bv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:800;
  cursor:pointer;
}
.whs-bv-btn-primary{background:#0b72c6;color:#fff}
.whs-bv-btn-primary:hover{filter:brightness(.97)}
.whs-bv-btn[disabled]{opacity:.6;cursor:not-allowed}

.whs-bv-quote{margin-top:12px}
.whs-bv-quote-box{padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}
.whs-bv-quote-row{display:flex;justify-content:space-between;gap:12px;margin:6px 0}
.whs-bv-quote-row strong{font-weight:800}
.whs-bv-quote-meta{color:#6b7280;font-size:12px;margin-top:8px}

.whs-bv-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;padding:10px;border-radius:12px;font-weight:700}

/* Responsive */
@media(max-width:700px){
  .whs-bv-cal-wrap{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .whs-bv-guests{flex-direction:column;}
}

/* Price labels inside inline datepickers */
.whs-bv-cal td a{position:relative !important;}
.whs-bv-cal td a .whs-bv-day-num{display:block;line-height:1.1;}
.whs-bv-cal td a .whs-bv-day-price{display:block;font-size:10px;opacity:0.85;margin-top:2px;line-height:1.1;}

/* jQuery UI datepicker base styling (WP doesn't ship theme CSS) */
.whs-bv-cal .ui-datepicker{
  width:100% !important;
  padding:0 !important;
  border:0 !important;
}
.whs-bv-cal .ui-datepicker-header{
  border:0 !important;
  background:#f3f4f6 !important;
  border-radius:10px !important;
  padding:8px 10px !important;
  margin-bottom:8px !important;
}
.whs-bv-cal .ui-datepicker-title{font-weight:800 !important;color:#111827 !important;}
.whs-bv-cal .ui-datepicker-prev,
.whs-bv-cal .ui-datepicker-next{
  cursor:pointer !important;
  border-radius:10px !important;
}
.whs-bv-cal table{margin:0 !important;font-size:13px !important;width:100% !important}
.whs-bv-cal th{color:#6b7280 !important;font-weight:700 !important;padding:6px 4px !important}
.whs-bv-cal td{padding:2px !important}
.whs-bv-cal td a{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  border-radius:10px !important;
  padding:7px 8px !important;
  text-align:center !important;
  border:0 !important;
  background:transparent !important;
  color:#111827 !important;
  box-sizing:border-box !important;
  min-height:44px !important;
}
.whs-bv-cal td a:hover{background:#e5e7eb !important}

/* Selected day (keep consistent, avoid weird half-bars from theme styles) */
.whs-bv-cal td.ui-datepicker-current-day a,
.whs-bv-cal td a.ui-state-active{
  background:#0b72c6 !important;
  color:#fff !important;
}

/* Ensure price line is readable on selected day */
.whs-bv-cal td.ui-datepicker-current-day a .whs-bv-day-price,
.whs-bv-cal td a.ui-state-active .whs-bv-day-price{
  opacity:0.9 !important;
}

/* Prevent theme styles from drawing borders/gradients on hover/active */
.whs-bv-cal td a.ui-state-hover{background:#e5e7eb !important; border:0 !important;}

/* Month navigation: show clear Serbian labels (some themes hide jQuery UI icons completely) */
.whs-bv-cal .ui-datepicker-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}
.whs-bv-cal .ui-datepicker-title{
  flex:1 1 auto !important;
  text-align:center !important;
}
.whs-bv-cal .ui-datepicker-prev,
.whs-bv-cal .ui-datepicker-next{
  position:static !important;
  width:auto !important;
  height:auto !important;
  padding:6px 10px !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:10px !important;
  text-decoration:none !important;
  font-weight:700 !important;
  color:#111827 !important;
}
.whs-bv-cal .ui-datepicker-prev:hover,
.whs-bv-cal .ui-datepicker-next:hover{
  background:#f9fafb !important;
}
/* Month navigation labels: we render real text via JS (fixNav), so keep spans visible */
.whs-bv-cal .ui-datepicker-prev span,
.whs-bv-cal .ui-datepicker-next span{
  display:inline-block !important;
}

/* Disabled/unavailable days */
.whs-bv-cal td.whs-bv-day-disabled a{
  color:#9ca3af !important;
  cursor:not-allowed !important;
}
.whs-bv-cal td.whs-bv-day-disabled a:hover{
  background:transparent !important;
}
.whs-bv-cal td.whs-bv-day-disabled a .whs-bv-day-price{opacity:0.35 !important;}

/* Specifically booked/blocked days */
.whs-bv-cal td.whs-bv-day-booked a{
  opacity:0.55 !important;
}


/* --- FIX: keep calendars inside booking wrapper --- */
.whs-bv-booking, .whs-bv-booking *{box-sizing:border-box;}
.whs-bv-booking{max-width:100%; overflow:hidden;}
.whs-bv-cal-wrap{width:100%; max-width:100%; overflow:hidden; display:flex; flex-wrap:wrap; gap:12px;}
.whs-bv-cal{flex:1 1 320px; min-width:280px; max-width:100%;}
#ui-datepicker-div{max-width:100%;}
.whs-bv-cal .ui-datepicker{width:100% !important; max-width:100%;}
.whs-bv-cal .ui-datepicker table{width:100% !important;}
@media (max-width: 720px){
  .whs-bv-cal{flex:1 1 100%; min-width:0;}
}

.whs-bv-cal-hint{font-size:12px;color:#6b7280;margin-top:6px;}

/* Range selection highlight */
.whs-bv-cal .whs-bv-range-start a,
.whs-bv-cal .whs-bv-range-end a{
  border-radius:10px !important;
  box-shadow: inset 0 0 0 2px rgba(59,130,246,.35);
}
.whs-bv-cal .whs-bv-range-mid a{
  border-radius:10px !important;
  background: rgba(59,130,246,.08) !important;
}


/* ---- WHS BV full-width calendar override ---- */
.whs-bv-booking{max-width:100% !important; width:100% !important;}
.whs-bv-cal-single, .whs-bv-cal-wrap{max-width:100% !important; width:100% !important;}
.whs-bv-cal-single .ui-datepicker, 
.whs-bv-cal-wrap .ui-datepicker{width:100% !important; max-width:100% !important; box-sizing:border-box;}
.whs-bv-cal-single .ui-datepicker table,
.whs-bv-cal-wrap .ui-datepicker table{width:100% !important; table-layout:fixed;}
.whs-bv-cal-single .ui-datepicker td, .whs-bv-cal-single .ui-datepicker th,
.whs-bv-cal-wrap .ui-datepicker td, .whs-bv-cal-wrap .ui-datepicker th{padding:0 !important;}

/* ===== Layout override (v1.0.39): card max width + calendar fills card ===== */
.whs-bv-booking{
  max-width: 500px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  overflow: hidden;
}

/* Ensure calendar fills the card */
.whs-bv-booking .ui-datepicker,
.whs-bv-booking .ui-datepicker .ui-datepicker-calendar,
.whs-bv-booking .ui-datepicker table{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  table-layout: fixed;
}

/* Mobile: full width with comfortable padding */
@media (max-width: 560px){
  .whs-bv-booking{
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .whs-bv-booking .ui-datepicker td a,
  .whs-bv-booking .ui-datepicker td span{
    padding: 10px 0 !important;
    display: block;
  }
}
