.vs-booking{--vs-accent:#D5AE59;font-family:Inter,system-ui,sans-serif;width:100%;max-width:none;margin:0;color:#171717}.vs-form{display:grid;gap:28px}.vs-step{padding:24px;border:1px solid #e6e1d8;border-radius:14px;background:#fff}.vs-step h3{margin:0 0 18px;font-size:22px}.vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vs-span-2{grid-column:1/-1}.vs-field{display:grid;gap:7px}.vs-field>span{font-size:13px;font-weight:600}.vs-field input,.vs-field select,.vs-readonly{box-sizing:border-box;width:100%;min-height:50px;padding:12px 14px;border:1px solid #d8d8d8;border-radius:7px;background:#fff;font:inherit;color:#111}.vs-field input:focus,.vs-field select:focus{outline:2px solid color-mix(in srgb,var(--vs-accent) 35%,transparent);border-color:var(--vs-accent)}.vs-readonly{background:#f8f7f4}.vs-options{display:grid;gap:10px}.vs-options label,.vs-consent{display:flex;align-items:flex-start;gap:9px}.vs-options b{margin-left:auto}.vs-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:20px;border-radius:12px;background:#f5f1e9}.vs-summary div{display:grid;gap:5px}.vs-summary span{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.vs-total{font-size:22px;color:var(--vs-accent)}.vs-submit{min-height:52px;border:0;border-radius:7px;padding:0 24px;background:var(--vs-accent);color:#fff;font:600 16px/1 Inter,system-ui,sans-serif;cursor:pointer}.vs-submit[disabled]{opacity:.55;cursor:wait}.vs-message{display:none;padding:13px 15px;border-radius:7px}.vs-message.is-error{display:block;background:#fff0f0;color:#8b1d1d}.vs-message.is-ok{display:block;background:#effaf2;color:#176b32}@media(max-width:650px){.vs-grid,.vs-summary{grid-template-columns:1fr}.vs-span-2{grid-column:auto}.vs-step{padding:18px}}

/* Multistep booking */
.vs-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 4px}.vs-progress-item{appearance:none;border:0;border-bottom:2px solid #ddd8cf;background:transparent;padding:10px 4px 12px;color:#777;font:600 13px/1.2 Inter,system-ui,sans-serif;text-align:left;cursor:default}.vs-progress-item span{display:block;margin-bottom:5px;font-size:11px;letter-spacing:.08em}.vs-progress-item.is-active{color:#171717;border-color:var(--vs-accent)}.vs-progress-item.is-complete{color:#555;border-color:color-mix(in srgb,var(--vs-accent) 55%,#ddd8cf);cursor:pointer}.vs-step[data-vs-step]{display:none}.vs-step[data-vs-step].is-active{display:block}.vs-step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.vs-step-actions-end{justify-content:flex-end}.vs-next,.vs-back{min-height:48px;border-radius:7px;padding:0 22px;font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer}.vs-next{border:1px solid var(--vs-accent);background:var(--vs-accent);color:#fff}.vs-back{border:1px solid #d8d8d8;background:#fff;color:#222}.vs-step-actions .vs-submit{width:auto;min-width:220px;margin:0}@media(max-width:650px){.vs-progress-item{font-size:11px}.vs-step-actions{flex-wrap:wrap}.vs-step-actions .vs-submit{width:100%;min-width:0}.vs-back,.vs-next{flex:1}}

/* v0.3.3 — quantity options (e.g. 0–3 extra nights) */
.vs-options .vs-option-quantity{align-items:center}.vs-options .vs-option-quantity>span{display:flex;align-items:center;gap:8px;flex:1}.vs-options .vs-option-quantity select{margin-left:auto;min-width:165px;min-height:42px;padding:8px 10px;border:1px solid #d8d8d8;border-radius:7px;background:#fff;font:inherit;color:#171717}.vs-options .vs-option-quantity select:focus{outline:2px solid color-mix(in srgb,var(--vs-accent) 35%,transparent);border-color:var(--vs-accent)}@media(max-width:650px){.vs-options .vs-option-quantity{align-items:stretch;flex-direction:column}.vs-options .vs-option-quantity select{width:100%;margin-left:0}}


/* v0.3.4 — full-width shortcode container */
.vs-booking,.vs-booking .vs-form{width:100%;max-width:none;box-sizing:border-box}

/* v0.3.5 — extra-night price on its own line */
.vs-options .vs-option-quantity{align-items:center}
.vs-options .vs-option-quantity>.vs-option-quantity-info{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}
.vs-options .vs-option-quantity .vs-option-quantity-price{display:block;margin-left:0;font-size:13px;line-height:1.3;white-space:nowrap}
.vs-options .vs-option-quantity select{flex:0 0 auto}
@media(max-width:650px){.vs-options .vs-option-quantity>.vs-option-quantity-info{width:100%}}


/* v0.3.6 — extra-night card: text and selector on separate rows */
.vs-options label.vs-option-quantity{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;align-items:stretch !important}
.vs-options label.vs-option-quantity>.vs-option-quantity-info{display:grid !important;grid-template-columns:1fr !important;gap:3px !important;width:100% !important;min-width:0 !important}
.vs-options label.vs-option-quantity .vs-option-quantity-title{display:block !important;width:100% !important}
.vs-options label.vs-option-quantity .vs-option-quantity-price{display:block !important;width:100% !important;margin:0 !important;font-size:13px;line-height:1.35;white-space:normal !important}
.vs-options label.vs-option-quantity select{display:block !important;width:100% !important;max-width:none !important;min-width:0 !important;margin:0 !important;box-sizing:border-box !important}

/* v0.3.7 — compact extra-night card: title + rate on one row, selector below */
.vs-options label.vs-option-quantity{display:grid !important;grid-template-columns:1fr !important;gap:7px !important;align-items:stretch !important}
.vs-options label.vs-option-quantity>.vs-option-quantity-info{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;width:100% !important;min-width:0 !important}
.vs-options label.vs-option-quantity .vs-option-quantity-title{display:block !important;width:auto !important;min-width:0 !important}
.vs-options label.vs-option-quantity .vs-option-quantity-price{display:block !important;width:auto !important;margin:0 0 0 auto !important;font-size:13px;line-height:1.3;white-space:nowrap !important}
.vs-options label.vs-option-quantity select{display:block !important;width:100% !important;max-width:none !important;min-width:0 !important;min-height:42px !important;margin:0 !important;box-sizing:border-box !important}
@media(max-width:650px){.vs-options label.vs-option-quantity>.vs-option-quantity-info{display:flex !important;flex-direction:row !important}.vs-options label.vs-option-quantity .vs-option-quantity-price{white-space:nowrap !important}}

/* 0.4.1 — month availability picker. Disabled dates include full stay duration. */
.vs-booking .vs-date-native-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important}
.vs-calendar-host{border:1px solid #ded9cf;border-radius:10px;background:#fff;padding:12px;max-width:430px;width:100%;box-sizing:border-box}
.vs-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.vs-calendar-nav strong{font-size:15px;text-transform:capitalize}
.vs-calendar-nav button{width:36px;height:36px;border:1px solid #e5e0d7;border-radius:6px;background:white;color:#222;cursor:pointer;font-size:24px;line-height:1}
.vs-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.vs-calendar-weekday{font-size:11px;color:#666;padding:6px 0;font-weight:600}
.vs-calendar-day{min-width:0;width:100%;aspect-ratio:1;border:1px solid transparent;border-radius:7px;background:#f5f2ec;color:#202020;cursor:pointer;font:600 13px Inter,system-ui,sans-serif}
.vs-calendar-day:not(:disabled):hover,.vs-calendar-day:focus-visible{outline:2px solid var(--vs-accent);outline-offset:1px}
.vs-calendar-day.is-selected{background:var(--vs-accent);color:white}
.vs-calendar-day.is-unavailable{background:#f4f4f4;color:#b5b5b5;text-decoration:line-through;cursor:not-allowed}
.vs-calendar-status{font-size:13px;color:#555;padding:10px}.vs-calendar-status.is-error{color:#9d2424}
