/* Vankalat Booking Search 0.5.13 — visual layer only.
 * Scoped to .vbs + product replacement; do not alter availability/booking rules. */
.vbs{
 --green:#176348;--green2:#104b38;--range:#c7ecd9;--ink:#172f2b;
 --muted:#586e69;--line:#dce9e3;--soft:#f6faf8;
 max-width:1240px;color:var(--ink);margin-bottom:30px;
}
.vbs :where(button,a,input):focus-visible,.vbs-product-box :where(button,a,input):focus-visible{
 outline:3px solid #6bc5a1;outline-offset:3px;
}
.vbs .vbs-search-card,.vbs .vbs-calendar-panel{
 border-color:#d9e9e0;border-radius:17px;box-shadow:0 11px 28px rgba(18,76,53,.07);
}
.vbs .vbs-search-card{padding:15px;gap:12px}
.vbs .vbs-date-field{border:1px solid #d8e7df;box-shadow:0 3px 12px rgba(28,86,59,.035);border-radius:10px;min-height:64px}
.vbs .vbs-date-field:hover{border-color:#70b695;background:#fafdfa}
.vbs .vbs-field-label{color:#506e61;font-size:11px}
.vbs .vbs-field-copy strong{font-size:16px;color:#183b2f}
.vbs .vbs-icon,.vbs .vbs-chevron{color:#176348}
.vbs .vbs-search-button{background:#176348;color:#fff;border-radius:9px;min-height:50px;font-weight:800;letter-spacing:.015em;box-shadow:0 4px 8px rgba(23,99,72,.09)}
.vbs .vbs-search-button:hover:not(:disabled){background:#104b38;transform:translateY(-1px)}
.vbs .vbs-search-button:disabled{opacity:.55}
.vbs .vbs-calendar-head{padding:19px 23px 10px;gap:12px;flex-wrap:wrap}
.vbs .vbs-calendar-head strong{font-weight:800;color:#153a2b;font-size:22px}
.vbs .vbs-calendar-head span{color:#536b60;font-size:13px}
/* Clear belongs to the actions BELOW the calendar; retain header control as compact fallback. */
.vbs .vbs-calendar-head .vbs-calendar-close{border:1px solid #bad3c5;background:#f6fcf8;color:#12563d;border-radius:9px;min-height:37px}
.vbs .vbs-calendar-legend{background:#fff;padding:10px 23px 15px;gap:10px 22px;font-size:13px;color:#304f42;font-weight:650}
.vbs .vbs-calendar-legend span{display:inline-flex;align-items:center;gap:8px;min-width:0}
.vbs .vbs-calendar-legend i{width:17px;height:17px;flex:0 0 17px;border:1px solid rgba(23,86,60,.15);border-radius:5px}
.vbs .vbs-calendar-legend .is-selected{background:#176348}
.vbs .vbs-calendar-legend .is-range{background:#c7ecd9}
.vbs .vbs-calendar-legend .is-blocked{background:repeating-linear-gradient(135deg,#f3f6f5 0,#f3f6f5 4px,#d6e0dc 4px,#d6e0dc 8px)}
.vbs .vbs-calendar-feedback{border:1px solid #edc985;border-left:4px solid #cd921c;background:#fff5df;color:#744b04;margin:1px 22px 12px;border-radius:10px;font-weight:750}
.vbs .vbs-calendar-feedback:before{content:'!';display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#a86b00;color:#fff;font-weight:900}
.vbs .vbs-months{border:1px solid #e5efe9;border-radius:12px;overflow:hidden;margin:0 17px}
.vbs .vbs-month{padding:14px 18px 18px}
.vbs .vbs-month-title{max-width:290px;grid-template-columns:44px minmax(0,1fr) 44px;margin:0 auto 15px;gap:4px}
.vbs .vbs-month-title strong{font-size:17px;color:#172f2b;font-weight:800}
.vbs .vbs-month-nav{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:11px;background:#f3faf6;border:1px solid #d9e8df;box-shadow:0 1px 4px rgba(20,66,46,.045);font-size:29px;line-height:1;color:#166045}
.vbs .vbs-month-nav:hover{background:#e3f4e9;color:#104b38}
.vbs .vbs-weekdays span{color:#5b7169;font-size:12px}
.vbs .vbs-day{border:1px solid #edf2ef;border-radius:9px;font-size:14px}
.vbs .vbs-day.is-selected{background:#176348;border-color:#176348;color:#fff}
.vbs .vbs-day.is-in-range{background:#c7ecd9;border-color:#b9e5ce;color:#164d38}
/* Selected range always wins visual priority over endpoint-restriction hatching. */
.vbs .vbs-day.is-selected.is-endpoint-blocked:not(.is-past){background:#176348;color:#fff;border-color:#176348;text-decoration:none;cursor:default}
.vbs .vbs-day.is-in-range.is-endpoint-blocked:not(.is-past){background:#c7ecd9;color:#164d38;border-color:#b9e5ce;text-decoration:none;cursor:default}
.vbs .vbs-calendar-foot{padding:16px 22px 18px;display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.vbs .vbs-selection-summary{font-size:14px;color:#526860;line-height:1.45;flex:1 1 230px}
.vbs .vbs-calendar-actions{flex:0 1 auto;justify-content:flex-end;gap:9px}
.vbs .vbs-calendar-actions .vbs-search-bottom{order:1;min-width:190px;min-height:45px}
.vbs .vbs-calendar-clear-bottom{order:2;display:inline-flex;justify-content:center;align-items:center;min-width:112px;min-height:45px;color:#176348;background:#fff;border:1px solid #176348;border-radius:9px;font-size:12px;letter-spacing:.025em;font-weight:800}
.vbs .vbs-calendar-clear-bottom:hover{background:#e7f5ed}
.vbs.is-calendar-open:not(.is-compact) .vbs-search-card>.vbs-search-button{display:none}
.vbs .vbs-status.is-rule-warning{border-left:4px solid #be8116;border-color:#eace8f;background:#fff5df;color:#704a05}
.vbs .vbs-results-head h2{color:#15372b;font-weight:800}
.vbs .vbs-card{border-color:#dde9e1;border-radius:13px;box-shadow:0 9px 22px rgba(14,76,47,.065)}
.vbs .vbs-card:hover{border-color:#9ac8b0;box-shadow:0 13px 30px rgba(14,76,47,.12)}
.vbs .vbs-card-reserve{background:#176348;border-radius:8px;font-size:13px;min-height:45px}
.vbs .vbs-card-reserve:hover{background:#104b38}
.vbs-product-box{--vbp-green:#176348;--vbp-green-dark:#104b38;--vbp-soft:#e9f8f0;border-radius:14px;border-color:#d9e9df;box-shadow:0 12px 30px rgba(20,65,43,.055)}
.vbs-product-box-head{background:linear-gradient(95deg,#eaf9f1,#f8fcfa)}
.vbs-product-dates>div{background:#fff;border-color:#d9e7de}
.vbs-product-row{font-size:14px;color:#244639}
.vbs-extra{border-color:#dbe8e1;border-radius:10px}
.vbs-extra.is-active{background:#eaf9f1}
.vbs-product-price-lines>div{border-bottom:1px solid #edf3ef;padding:9px 0}
.vbs-product-price-lines>div:last-child{border-bottom:0}
.vbs-product-total{background:#e9f8f0;color:#104b38}
.vbs-product-reserve{background:#176348;border-radius:9px;font-size:16px;min-height:52px}
.vbs-product-reserve:hover{background:#104b38}
/* Form embedded in a single WpRently / Woo reservable product. */
.vbs.is-compact .vbs-search-card{display:grid;grid-template-columns:1fr;gap:9px}
.vbs.is-compact .vbs-calendar-panel{margin-top:8px;border-radius:11px}
.vbs.is-compact .vbs-months{margin:0 8px}
.vbs.is-compact .vbs-month-title{max-width:270px}
.vbs.is-compact .vbs-calendar-foot{display:block;padding:12px}
.vbs.is-compact .vbs-calendar-actions{display:grid;grid-template-columns:1fr auto;margin-top:12px}
.vbs.is-compact .vbs-calendar-actions .vbs-search-bottom{min-width:0;order:1;font-size:12px;padding:8px}
.vbs.is-compact .vbs-calendar-actions .vbs-calendar-clear-bottom{min-width:80px;order:2;font-size:11px;padding:7px}
@media (min-width:821px){
 .vbs.is-calendar-open:not(.is-compact) .vbs-search-card{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}
}
@media (max-width:1024px){
 .vbs .vbs-calendar-foot{display:block}
 .vbs .vbs-calendar-actions{justify-content:stretch;margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) auto}
 .vbs .vbs-calendar-actions .vbs-search-bottom{min-width:0;max-width:none;width:100%}
 .vbs .vbs-calendar-actions .vbs-calendar-clear-bottom{min-width:100px}
 .vbs .vbs-month{padding:12px 9px 16px}
}
@media (max-width:820px){
 .vbs .vbs-calendar-head{padding:14px 15px 9px}
 .vbs .vbs-calendar-legend{padding:10px 14px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;font-size:12px}
 .vbs .vbs-calendar-legend span:last-child{grid-column:1/-1}
 .vbs .vbs-calendar-feedback{margin:0 12px 11px}
 .vbs .vbs-months{margin:0 7px}
 .vbs .vbs-month{padding:11px 7px 16px}
 .vbs .vbs-month-title{max-width:286px;grid-template-columns:43px minmax(0,1fr) 43px}
 .vbs .vbs-day{min-height:34px}
 .vbs .vbs-calendar-foot{padding:13px}
 .vbs .vbs-selection-summary{font-size:13px}
 .vbs .vbs-calendar-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .vbs .vbs-calendar-actions .vbs-search-bottom{min-width:0;min-height:48px;font-size:12px;letter-spacing:0}
 .vbs .vbs-calendar-actions .vbs-calendar-clear-bottom{min-width:90px;min-height:48px}
}
@media (max-width:390px){
 .vbs .vbs-calendar-head strong{font-size:18px}
 .vbs .vbs-calendar-head .vbs-calendar-close{padding:0 9px;min-width:61px;font-size:11px}
 .vbs .vbs-calendar-legend{font-size:11px}
 .vbs .vbs-calendar-actions{grid-template-columns:minmax(0,1fr) 82px}
 .vbs .vbs-calendar-actions .vbs-calendar-clear-bottom{min-width:0;font-size:11px;padding:7px}
 .vbs .vbs-month-title strong{font-size:15px}
 .vbs.is-compact .vbs-calendar-actions{grid-template-columns:1fr}
 .vbs.is-compact .vbs-calendar-actions .vbs-calendar-clear-bottom{width:100%}
}
@media (prefers-reduced-motion:reduce){.vbs *{scroll-behavior:auto!important;transition:none!important}}
