.wsb2{--wsb-ink:var(--wsb-text-colour);--wsb-line:var(--wsb-border-colour);max-width:var(--wsb-widget-width)!important;font-family:var(--wsb-font);font-size:var(--wsb-font-size);color:var(--wsb-text-colour)}
.wsb2 .wsb2-search{background:var(--wsb-panel-background);padding:var(--wsb-panel-padding);border-radius:var(--wsb-corner-radius)}
.wsb2.wsb2-design-bar .wsb2-search,.wsb2.wsb2-design-card .wsb2-search{background:var(--wsb-popup-background)}
.wsb2 .wsb2-search .wsb2-field-label{color:var(--wsb-label-colour);font-family:inherit}
.wsb2.wsb2-design-bar .wsb2-search .wsb2-field-label,.wsb2.wsb2-design-card .wsb2-search .wsb2-field-label{color:var(--wsb-text-colour)}
.wsb2 .wsb2-date-trigger,.wsb2 .wsb2-guests>summary,.wsb2 input,.wsb2 select,.wsb2 textarea{background:var(--wsb-field-background);color:var(--wsb-field-colour);border-color:var(--wsb-border-colour);border-radius:var(--wsb-corner-radius);font-family:inherit}
.wsb2 .wsb2-date-trigger:hover,.wsb2 .wsb2-guests>summary:hover{background:var(--wsb-field-background);color:var(--wsb-field-colour)}
.wsb2 input,.wsb2 select,.wsb2 textarea{font-size:var(--wsb-font-size)}
.wsb2 .wsb2-button,.wsb2 .wsb2-search>.wsb2-primary-action,.wsb2.wsb2-design-bar .wsb2-search>.wsb2-primary-action{background:var(--wsb-button-fill);color:var(--wsb-button-text);font-size:var(--wsb-button-size);font-family:inherit;text-transform:var(--wsb-button-case);border-radius:var(--wsb-corner-radius);white-space:normal;overflow-wrap:anywhere}
.wsb2 .wsb2-property,.wsb2 .wsb2-summary,.wsb2 .wsb2-guest-options{border-color:var(--wsb-border-colour);border-radius:var(--wsb-corner-radius)}
.wsb2 .wsb2-property,.wsb2 .wsb2-summary,.wsb2 .wsb2-guest-options{background:var(--wsb-popup-background)}
.wsb2 .wsb2-property-body>p,.wsb2 .wsb2-details>p{font-size:var(--wsb-font-size)}
.wsb2 .wsb2-date-dialog,.wsb2 .wsb2-booking-dialog{position:fixed;inset:0;margin:auto;background:var(--wsb-popup-background);color:var(--wsb-text-colour);border:0;border-radius:var(--wsb-corner-radius);font-family:var(--wsb-font);font-size:var(--wsb-font-size);box-shadow:0 20px 80px #14202c40}
.wsb2 .wsb2-date-dialog::backdrop,.wsb2 .wsb2-booking-dialog::backdrop{background:color-mix(in srgb,var(--wsb-overlay-colour) var(--wsb-overlay-opacity),transparent)}
.wsb2 .wsb2-date-dialog .wsb2-calendar-card{background:var(--wsb-popup-background)}
.wsb2 .wsb2-booking-dialog{width:min(var(--wsb-popup-width),calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:0;overflow:auto}
.wsb2 .wsb2-booking-dialog .wsb2-details{padding:28px 32px 18px;border:0;border-radius:0;background:var(--wsb-popup-background);margin:0}
.wsb2 .wsb2-booking-dialog h3{padding-right:30px;color:var(--wsb-text-colour)}
.wsb2 .wsb2-popup-summary{padding:12px 14px;margin:15px 0 18px!important;border:1px solid var(--wsb-border-colour);border-left:3px solid var(--wsb-accent);border-radius:var(--wsb-corner-radius);font-size:13px!important;color:var(--wsb-text-colour);line-height:1.6}
.wsb2 .wsb2-form-message:empty{display:none}
.wsb2 .wsb2-form-message{padding:12px;background:#fff2eb;border-radius:4px;margin-bottom:16px!important}
.wsb2 .wsb2-close-booking-x{position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--wsb-border-colour);border-radius:50%;background:var(--wsb-popup-background);color:var(--wsb-text-colour);font-size:24px;line-height:1;z-index:1}
.wsb2 .wsb2-booking-footer{padding:12px 32px 22px;background:var(--wsb-popup-background)}
.wsb2 .wsb2-back-button{padding:8px 14px;border:1px solid var(--wsb-border-colour);border-radius:var(--wsb-corner-radius);background:var(--wsb-popup-background);color:var(--wsb-text-colour);font-size:13px;max-width:100%;overflow-wrap:anywhere}
.wsb2 .wsb2-booking-dialog .wsb2-success{margin:28px 32px 0;background:var(--wsb-popup-background);border-color:var(--wsb-accent);border-radius:var(--wsb-corner-radius)}
body.wsb2-modal-open{overflow:hidden}
@media(max-width:560px){.wsb2 .wsb2-booking-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.wsb2 .wsb2-booking-dialog .wsb2-details{padding:24px 18px 12px}.wsb2 .wsb2-booking-dialog .wsb2-fields{grid-template-columns:1fr}.wsb2 .wsb2-booking-footer{padding:12px 18px 18px}.wsb2 .wsb2-booking-dialog .wsb2-success{margin:24px 18px 0}.wsb2 .wsb2-search{padding:min(var(--wsb-panel-padding),24px)}}
/* Explicit sizing prevents inline-size containment collapsing flex/grid items in
   Stackable, Elementor and other page-builder columns. Keep narrow columns fluid. */
.wsb2.wsb2{box-sizing:border-box;width:100%;inline-size:100%;min-width:0;min-inline-size:0;flex:1 1 100%;align-self:stretch;justify-self:stretch}
.wsb2 .wsb2-main,.wsb2 .wsb2-layout,.wsb2 .wsb2-heading,.wsb2 .wsb2-property,.wsb2 .wsb2-summary{min-width:0;overflow-wrap:break-word}
