.bk-card{padding:26px;background:#fff;border:1px solid var(--line,#dedfd6);border-radius:18px;box-shadow:0 12px 45px #183e3608;color:var(--ink,#183e36)}
.bk-card *,.bk-dialog *,.bk-mobile *{box-sizing:border-box}
.bk-card button,.bk-dialog button,.bk-mobile button,.bk-card input,.bk-dialog input,.bk-card select{font:inherit}
.bk-card button,.bk-dialog button,.bk-mobile button{cursor:pointer}
.bk-card button:focus-visible,.bk-dialog button:focus-visible,.bk-mobile button:focus-visible,.bk-dialog input:focus-visible,.bk-card select:focus-visible{outline:3px solid #8b571f;outline-offset:3px}
.bk-card button:disabled,.bk-dialog button:disabled{cursor:not-allowed;opacity:1}
.bk-price-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.bk-price{font-size:1.875rem;letter-spacing:-1.2px;font-weight:600;line-height:1.1}
.bk-per-night{font-size:0.875rem;color:var(--muted,#59665d)}
.bk-demo-tag{display:block;flex-basis:100%;font-size:0.875rem;letter-spacing:.02em;color:var(--muted,#59665d);margin-top:4px}
.bk-label{display:block;font-size:0.875rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted,#59665d)}
.bk-date-select{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr) 20px;align-items:center;gap:13px;border:1px solid var(--line,#dedfd6);border-radius:9px;background:transparent;color:var(--ink,#183e36);padding:16px;text-align:left}
.bk-date-select strong{display:block;font-size:0.875rem;font-weight:500;margin-top:8px;white-space:nowrap}
.bk-date-select>svg{color:var(--muted,#59665d)}
.bk-date-divider{height:32px;background:var(--line,#dedfd6)}
.bk-date-select:hover{border-color:var(--accent,#25584a);background:var(--paper,#f8f7f2)}
.bk-guest-field{border:1px solid var(--line,#dedfd6);border-radius:9px;margin-top:10px;padding:12px 16px 8px}
.bk-guest-field select{width:100%;background:transparent;border:0;padding:7px 0;color:var(--ink,#183e36);font-size:0.875rem}
.bk-micro{font-size:0.875rem;line-height:1.55;color:var(--muted,#59665d);margin:8px 0 16px}
.bk-breakdown,.bk-total{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:0.875rem;padding:16px 0;line-height:1.5}
.bk-total{border-top:1px solid var(--line,#dedfd6);font-size:0.9375rem;padding:16px 0 21px}
.bk-primary{border:1px solid var(--accent,#25584a);border-radius:7px;background:var(--accent,#25584a);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:14px 18px;min-height:48px;font-size:0.875rem;font-weight:600;line-height:1.3;transition:background .2s}
.bk-primary:hover:not(:disabled){background:var(--ink,#183e36)}
.bk-primary svg{flex-shrink:0}
.bk-full{width:100%}
.bk-reassurance{font-size:0.875rem;line-height:1.5;text-align:center;color:var(--muted,#59665d);margin:12px 0 20px}
.bk-calendar-disclaimer{display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--line,#dedfd6);padding-top:17px;margin:0;font-size:0.875rem;line-height:1.65;color:var(--muted,#59665d)}
.bk-calendar-disclaimer svg{flex-shrink:0;margin-top:1px}
.bk-error{background:#fff0e8;color:#813e24;border-radius:6px;padding:10px 12px;font-size:0.875rem;line-height:1.5}
.bk-mobile{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--ink,#183e36)}
.bk-mobile>div{min-width:0}
.bk-mobile strong{display:block;font-size:1.3125rem;font-weight:600;letter-spacing:-.6px}
.bk-mobile span,.bk-mobile small{display:block;font-size:0.875rem;line-height:1.5;color:var(--muted,#59665d)}
.bk-mobile .bk-primary{font-size:0.875rem;min-width:145px;padding:12px 15px}
.bk-dialog{background:#fff;color:var(--ink,#183e36);padding:28px;border:1px solid var(--line,#dedfd6);border-radius:16px;box-shadow:0 24px 100px #0d211b40;width:min(720px,calc(100% - 32px));max-width:calc(100% - 20px);max-height:calc(100dvh - 40px);overflow:auto;margin:auto;font-family:inherit;overscroll-behavior:contain}
.bk-dialog::backdrop{background:#0b211cb3;backdrop-filter:blur(4px)}
.bk-checkout-dialog{width:min(520px,calc(100% - 32px));padding:30px}
.bk-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.bk-dialog h2{font-family:inherit;font-size:1.6875rem;font-weight:500;line-height:1.2;letter-spacing:-.9px;margin:8px 0 0}
.bk-dialog h2:focus{outline:0}
.bk-eyebrow{font-size:0.875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted,#59665d);font-weight:600}
.bk-icon-button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;border:1px solid var(--line,#dedfd6);border-radius:50%;background:transparent;color:var(--ink,#183e36);padding:8px}
.bk-icon-button:hover:not(:disabled){background:var(--paper,#f8f7f2)}
.bk-calendar-note,.bk-dialog-copy{color:var(--muted,#59665d);font-size:0.875rem;line-height:1.7;margin:12px 0 20px}
.bk-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 4px}
.bk-calendar-nav p{font-size:0.875rem;color:var(--muted,#59665d);line-height:1.5;text-align:center;margin:0}
.bk-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.bk-month h3{font-size:0.9375rem;text-transform:capitalize;text-align:center;font-family:inherit;font-weight:600;margin:15px 0 20px}
.bk-weekdays,.bk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.bk-weekdays span{text-align:center;font-size:0.875rem;line-height:2.4;color:var(--muted,#59665d);font-weight:500}
.bk-day{font-family:inherit;background:transparent;color:var(--ink,#183e36);border:0;aspect-ratio:1;border-radius:50%;min-height:34px;min-width:0;padding:0;font-size:0.875rem;position:relative}
.bk-day:hover:not(:disabled){background:#e8eee8}
.bk-day.bk-day-today::after{content:'';position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}
.bk-day.bk-day-blocked{text-decoration:line-through;text-decoration-thickness:1px;color:#6b746e}
.bk-day.bk-day-range{background:#e8eee8;border-radius:5px}
.bk-day.bk-day-selected,.bk-day.bk-day-selected:hover{color:white;background:var(--accent,#25584a);opacity:1}
.bk-day:disabled{opacity:1;color:#59665d;background:#f0f2ed}
.bk-legend{font-size:0.875rem;color:var(--muted,#59665d);line-height:1.5;margin:20px 0 18px}
.bk-native-dates{padding-top:18px;border-top:1px solid var(--line,#dedfd6)}
.bk-native-dates>.bk-label{margin:0 0 12px}
.bk-input-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bk-input-row label,.bk-contact-fields label{display:block;min-width:0;font-size:0.875rem;font-weight:500;line-height:1.5}
.bk-dialog input[type=date],.bk-dialog input[type=text],.bk-dialog input[type=email]{display:block;width:100%;min-width:0;height:44px;padding:10px 12px;border:1px solid var(--line,#dedfd6);border-radius:6px;background:#fff;color:var(--ink,#183e36);font-size:0.875rem;margin-top:7px}
.bk-date-status{font-size:0.875rem;margin:14px 0 0;line-height:1.5;color:var(--muted,#59665d);min-height:18px}
.bk-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:23px;margin-top:18px;border-top:1px solid var(--line,#dedfd6)}
.bk-text-button{border:0;border-radius:4px;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--ink,#183e36);font-size:0.875rem;font-weight:500;padding:10px 0;line-height:1.5}
.bk-text-button:hover{color:#10271f}
.bk-steps{list-style:none;display:flex;padding:0;margin:24px 0 27px;gap:0}
.bk-steps li{flex:1;display:flex;align-items:center;gap:8px;font-size:0.875rem;color:var(--muted,#59665d);border-bottom:2px solid var(--line,#dedfd6);padding:0 0 14px}
.bk-steps li>span{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--line,#dedfd6);border-radius:50%;font-size:0.875rem}
.bk-steps li.bk-step-active{color:var(--ink,#183e36);border-color:var(--accent,#25584a)}
.bk-steps li.bk-step-active>span{background:var(--accent,#25584a);color:#fff;border-color:var(--accent,#25584a)}
.bk-stay-summary{background:var(--paper,#f8f7f2);border:1px solid var(--line,#dedfd6);border-radius:10px;padding:20px}
.bk-stay-summary>.bk-label{font-size:0.875rem;letter-spacing:.09em}
.bk-stay-summary>strong{display:block;font-size:1.25rem;font-weight:500;letter-spacing:-.5px;margin:12px 0 8px}
.bk-stay-summary>span:not(.bk-label){font-size:0.875rem;color:var(--muted,#59665d)}
.bk-summary-total{display:flex;justify-content:space-between;gap:10px;font-size:0.875rem;margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#dedfd6)}
.bk-notice{background:#f2f0e8;border-radius:6px;padding:13px 15px;font-size:0.875rem;line-height:1.65;color:#626a5e;margin:16px 0 0}
.bk-contact-fields{display:grid;gap:18px;margin:26px 0}
.bk-contact-fields input[readonly]{background:var(--paper,#f8f7f2);color:var(--muted,#59665d)}
.bk-contact-fields .bk-micro{margin:-4px 0 0}
.bk-demo-contact{font-size:0.875rem;line-height:1.6;overflow-wrap:anywhere;color:var(--muted,#59665d);margin:16px 0}
.bk-policy{display:flex;align-items:flex-start;gap:11px;margin-top:23px;font-size:0.875rem;line-height:1.65;cursor:pointer}
.bk-policy input{accent-color:var(--accent,#25584a);width:18px;height:18px;flex-shrink:0;margin:2px 0 0}
.bk-result-icon{display:flex;align-items:center;justify-content:center;margin:26px 0 18px;width:58px;height:58px;border-radius:50%;background:#e8eee8;color:var(--accent,#25584a)}
.bk-status-pill{display:inline-block;background:#f4eedb;color:#786130;font-size:0.875rem;line-height:1.5;letter-spacing:.02em;border-radius:20px;padding:5px 10px;margin:3px 0 2px}
.bk-reference{font-size:0.875rem;color:var(--muted,#59665d);line-height:1.8;margin:18px 0 22px}
.bk-reference strong{font-size:0.875rem;color:var(--ink,#183e36);font-weight:500}
.bk-close-result{display:block;margin:12px auto 0}
.bk-bank-details{margin:20px 0 24px;background:var(--paper,#f8f7f2);border-radius:10px;border:1px solid var(--line,#dedfd6);padding:6px 18px}
.bk-bank-details>div{padding:14px 0;border-bottom:1px solid var(--line,#dedfd6)}
.bk-bank-details>div:last-child{border:0}
.bk-bank-details dt{font-size:0.875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#59665d);margin-bottom:7px}
.bk-bank-details dd{font-size:0.875rem;line-height:1.5;margin:0;overflow-wrap:anywhere}
@media(max-width:640px){
 .bk-card{padding:22px}
 .bk-dialog,.bk-checkout-dialog{padding:22px 18px;width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:13px}
 .bk-dialog h2{font-size:1.5rem}
 .bk-dialog-head{gap:10px}
 .bk-calendar-note{font-size:0.875rem;margin-bottom:14px}
 .bk-months{grid-template-columns:minmax(0,1fr);gap:0}
 .bk-months .bk-month:nth-child(2){display:none}
 .bk-month h3{margin:12px 0}
 .bk-days{max-width:380px;margin:0 auto;gap:2px}
 .bk-weekdays{max-width:380px;margin:0 auto}
 .bk-day{max-height:45px;aspect-ratio:auto;height:40px;font-size:0.875rem}
 .bk-legend{margin:14px 0;font-size:0.875rem}
 .bk-native-dates{padding-top:13px}
 .bk-calendar-nav{margin-top:12px}
 .bk-dialog-actions{gap:12px;padding-top:17px;margin-top:17px}
 .bk-dialog-actions .bk-primary{font-size:0.875rem;padding:13px 14px}
 .bk-steps{margin:21px 0}
 .bk-steps li{font-size:0.875rem;gap:6px}
 .bk-stay-summary{padding:16px}
 .bk-stay-summary>strong{font-size:1.1875rem}
}
@media(prefers-reduced-motion:reduce){.bk-primary{transition:none}}

.bk-payment-policy { color: var(--forest, #23483b); font-size: 0.875rem; line-height: 1.5; font-weight: 600; text-align: center; margin: 14px 0 8px; }

.bk-direct-offer{background:#eef3eb;border:1px solid #dce6d8;border-radius:8px;padding:12px 14px;margin:-8px 0 18px}.bk-direct-offer strong{display:block;font-size:0.875rem;font-weight:600;color:var(--ink,#183e36)}.bk-direct-offer p{font-size:0.875rem;line-height:1.6;margin:6px 0 0;color:var(--muted,#59665d)}

/* Native date controls need a full row at narrow widths, including browser zoom. */
@media(max-width:400px){
 .bk-input-row{grid-template-columns:minmax(0,1fr)}
 .bk-date-select{gap:8px;padding:13px 12px}
 .bk-date-select .bk-label{letter-spacing:.04em}
 .bk-dialog-actions{flex-wrap:wrap}
 .bk-dialog-actions .bk-primary{flex:1}
}
.bk-property-details p{font-size:0.875rem;line-height:1.7;overflow-wrap:anywhere}.bk-property-details summary{font-size:0.875rem;padding:14px 0;cursor:pointer}

/* Keep instructions readable with larger default text and narrow viewports. */
.bk-card,.bk-dialog,.bk-mobile{line-height:1.5;overflow-wrap:anywhere}
.bk-label,.bk-eyebrow,.bk-stay-summary>.bk-label{letter-spacing:.04em}
.bk-card .bk-primary:disabled,.bk-dialog .bk-primary:disabled{background:#e8eee8;color:#59665d;border-color:#7a877c}
.bk-icon-button:disabled{color:#59665d;background:#f0f2ed;border-color:#7a877c}
.bk-date-select,.bk-guest-field,.bk-dialog input[type=date],.bk-dialog input[type=text],.bk-dialog input[type=email]{border-color:#7a877c}
.bk-dialog input[type=date],.bk-dialog input[type=text],.bk-dialog input[type=email],.bk-guest-field select{font-size:1rem;height:auto;min-height:44px}
.bk-dialog input::placeholder{color:#59665d;opacity:1}
.bk-date-select strong{white-space:normal;overflow-wrap:anywhere}
.bk-steps{flex-wrap:wrap;gap:12px}
.bk-steps li{flex:1 1 100px}
.bk-steps li>span{flex-shrink:0;width:1.6em;height:1.6em}
.bk-mobile{flex-wrap:wrap;gap:8px 12px}
.bk-mobile .bk-primary{flex:1 1 8rem;min-width:0}
.bk-mobile>div{flex:1 1 8rem}
.bk-weekdays span{line-height:1.5;padding-block:8px}
.bk-dialog .bk-day{font-size:.875rem;min-height:2.5em;height:auto;max-height:none}
.bk-dialog-head,.bk-calendar-nav{min-width:0}

/* Preserve the seven-column date table when text is enlarged. Only this
   two-dimensional region may scroll; native date fields remain full-width. */
.bk-months{grid-template-columns:repeat(2,minmax(14rem,1fr));overflow-x:auto;scrollbar-width:thin}
.bk-weekdays span,.bk-dialog .bk-day{white-space:nowrap;overflow-wrap:normal}
@media(max-width:640px){.bk-months{grid-template-columns:minmax(14rem,1fr)}}
.bk-mobile .bk-primary:disabled{background:#e8eee8;color:#59665d;border-color:#7a877c;cursor:not-allowed}
.bk-date-select:disabled{background:#f0f2ed;color:#59665d;cursor:not-allowed}

/* A short request, with the full policies on dedicated accessible pages. */
.bk-checkout-dialog .bk-stay-summary{padding:16px}
.bk-checkout-dialog .bk-stay-summary>strong{margin:8px 0 4px}
.bk-checkout-dialog .bk-stay-summary .bk-payment-policy{display:none}
.bk-checkout-dialog .bk-contact-fields{gap:12px;margin:18px 0}
.bk-request-note,.bk-request-policy,.bk-privacy-note{font-size:.875rem;line-height:1.55;margin:12px 0}
.bk-request-policy{font-weight:500}
.bk-checkout-dialog .bk-policy{margin-top:16px;line-height:1.55;align-items:flex-start}
.bk-policy label{margin:0;cursor:pointer}
.bk-policy a,.bk-privacy-note a{text-decoration:underline;text-underline-offset:3px}
.bk-policy input{min-width:20px;min-height:20px}
.bk-privacy-note{color:var(--muted,#59665d)}
.bk-checkout-dialog .bk-error:empty{display:none}
@media print{.bk-dialog{display:none}}

.bk-checkout-dialog{padding:24px}
.bk-checkout-dialog h2{margin:0;font-size:1.5rem}
.bk-checkout-dialog .bk-dialog-head{align-items:center;margin-bottom:14px}
.bk-checkout-dialog .bk-summary-total{margin-top:10px;padding-top:10px}
@media(max-width:600px){.bk-checkout-dialog{padding:18px}}

.bk-direct-offer{background:none;border:0;padding:0;margin:-6px 0 18px}.bk-direct-offer summary{cursor:pointer;font-size:.8125rem;min-height:44px;align-content:center}.bk-direct-offer p{padding:12px;border-left:2px solid var(--line)}
@media(max-width:600px){.bk-dialog-actions{position:sticky;bottom:-18px;background:#fff;padding-bottom:18px;z-index:3;box-shadow:0 -10px 14px #fff}.bk-dialog{scroll-padding-bottom:110px}.bk-calendar-note{margin-bottom:12px}}
