.bs-booking-panel{border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:22px;max-width:520px;background:#fff}
.bs-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.bs-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;opacity:.7}
.bs-rate{font-size:20px;font-weight:600}
.bs-rate span{font-size:13px;font-weight:400;opacity:.7}
.bs-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bs-field{margin:10px 0;display:flex;flex-direction:column}
.bs-field label{font-size:13px;margin-bottom:4px;opacity:.8}
.bs-field input,.bs-field select{padding:10px;border:1px solid rgba(0,0,0,.2);border-radius:8px;font:inherit}
.bs-summary{margin:14px 0;padding:12px 0;border-top:1px solid rgba(0,0,0,.1)}
.bs-line{display:flex;justify-content:space-between;padding:4px 0}
.bs-breakdown{margin:2px 0 6px}
.bs-breakdown .bs-line{font-size:13px;opacity:.8;padding:2px 0}
.bs-total{font-weight:700;border-top:1px solid rgba(0,0,0,.1);margin-top:6px;padding-top:10px}
.bs-btn{width:100%;padding:14px;border:0;border-radius:10px;background:#111;color:#fff;font-weight:600;font-size:15px;cursor:pointer}
.bs-btn:disabled{opacity:.6;cursor:default}
.booking-note{font-size:13px;opacity:.75;margin-top:10px}
.bs-cal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:6px 0 16px}
.bs-cal-title{font-weight:600;font-size:13px;margin-bottom:6px;text-align:center}
.bs-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.bs-dow{font-size:11px;opacity:.5}
.bs-day{font-size:12px;padding:5px 0;border-radius:4px;background:#e8f5e9;cursor:default}
.bs-day[data-ymd]{cursor:pointer}
.bs-day[data-ymd]:hover{outline:2px solid #1c4e3a;outline-offset:-2px}
.bs-day-off{background:#ffe3e3;color:#a00;text-decoration:line-through}
.bs-day-past{opacity:.45}
.bs-day-sel{background:#1c4e3a !important;color:#fff !important;text-decoration:none !important}
.bs-day-range{background:#cfe8d8 !important}
.bs-cal-nav-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 2px}
.bs-cal-nav{border:0;background:transparent;color:#d33;font-size:22px;line-height:1;cursor:pointer;padding:2px 10px;border-radius:6px}
.bs-cal-nav:hover{background:rgba(0,0,0,.06)}
.bs-cal-nav:disabled{opacity:.3;cursor:default}
@media(max-width:520px){.bs-cal-grid{grid-template-columns:1fr}}
.bs-confirm-wrap{display:flex;justify-content:center;padding:40px 16px}
.bs-confirm-card{width:100%;max-width:480px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:40px 32px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.10)}
.bs-check{display:flex;justify-content:center;margin-bottom:14px}
.bs-check-ring{stroke:#16a34a;stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:bsRing .6s ease forwards}
.bs-check-tick{stroke:#16a34a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:bsTick .35s .55s ease forwards}
@keyframes bsRing{to{stroke-dashoffset:0}}
@keyframes bsTick{to{stroke-dashoffset:0}}
.bs-confirm-title{margin:6px 0 4px;font-size:26px;font-weight:700}
.bs-confirm-sub{margin:0 0 18px;opacity:.65;font-size:15px}
.bs-ref-chip{display:inline-block;background:#f1f5f9;color:#0f172a;font-weight:600;letter-spacing:.02em;padding:8px 16px;border-radius:999px;font-size:14px;margin-bottom:22px}
.bs-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin-bottom:20px}
.bs-detail{background:#f8fafc;border:1px solid rgba(0,0,0,.05);border-radius:12px;padding:12px 14px}
.bs-detail span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;opacity:.55;margin-bottom:3px}
.bs-detail strong{font-size:16px}
.bs-confirm-email{font-size:14px;opacity:.75;margin:0 0 22px}
.bs-home-btn{display:inline-block;width:100%;box-sizing:border-box;padding:14px;background:#111;color:#fff;text-decoration:none;font-weight:600;font-size:15px;border-radius:12px;transition:opacity .2s}
.bs-home-btn:hover{opacity:.85;color:#fff}
@media(max-width:420px){.bs-detail-grid{grid-template-columns:1fr}.bs-confirm-card{padding:32px 22px}}
.bs-coupon{margin-top:6px}
.bs-coupon-row{display:flex;gap:8px}
.bs-coupon-row input{flex:1;text-transform:uppercase}
.bs-coupon-apply{padding:0 16px;border:1px solid rgba(0,0,0,.15);background:#f1f5f9;border-radius:10px;font-weight:600;cursor:pointer;white-space:nowrap}
.bs-coupon-apply:hover{background:#e2e8f0}
.bs-coupon-apply:disabled{opacity:.6;cursor:default}
.bs-coupon-msg{margin:6px 0 0;font-size:13px}
.bs-line.bs-discount span{color:#146c43}
.bs-consent{margin:4px 0 12px}
.bs-consent-label{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:20px;color:#333;cursor:pointer}
.bs-consent-label input{margin-top:2px;flex:0 0 auto;width:16px;height:16px;cursor:pointer}
.bs-consent-label a{color:#1c4e3a;text-decoration:underline}
.bs-consent-msg{margin:6px 0 0;font-size:13px;color:#b00}
.bs-btn.bs-btn--disabled{opacity:.5;cursor:not-allowed}
.bs-datefield{cursor:pointer;background:#fff}
.bs-field{position:relative}
.bs-picker{position:absolute;top:100%;left:0;z-index:60;margin-top:6px;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.16);padding:10px;width:264px;max-width:calc(100vw - 32px);box-sizing:border-box}
.bs-pick-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.bs-pick-title{font-weight:600;font-size:13px}
.bs-pick-nav{border:0;background:transparent;color:#1c4e3a;font-size:18px;line-height:1;cursor:pointer;padding:2px 10px;border-radius:6px}
.bs-pick-nav:hover{background:rgba(0,0,0,.06)}
.bs-pick-nav:disabled{opacity:.3;cursor:default}
.bs-pick-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.bs-pick-dow{font-size:11px;opacity:.5;padding:2px 0}
.bs-pick-day{font-size:12px;padding:6px 0;border-radius:6px;cursor:pointer;background:#e8f5e9}
.bs-pick-day:hover{outline:2px solid #1c4e3a;outline-offset:-2px}
.bs-pick-off{background:#ffe3e3;color:#a00;text-decoration:line-through;cursor:not-allowed}
.bs-pick-off:hover{outline:none}
.bs-pick-sel{background:#1c4e3a !important;color:#fff !important;text-decoration:none !important}
.bs-pick-empty{background:transparent}
.bs-field input,.bs-field select,.bs-datefield{box-sizing:border-box;max-width:100%}
@media(max-width:520px){
	.bs-booking-panel{padding:16px}
	.bs-row{grid-template-columns:1fr;gap:0}
	.bs-picker{left:0;right:0;width:auto;max-width:none}
}
