.booking-widget-mobile,.booking-mobile-backdrop,.booking-mobile-sheet,.booking-sheet-handle,.booking-sheet-header,.booking-sheet-title,.booking-sheet-close,.booking-sheet-content,.booking-sheet-content .booking-field,.booking-sheet-content .booking-input,.booking-sheet-content .booking-label,.booking-sheet-content .booking-total,.booking-sheet-content .booking-total-amount,.booking-sheet-content .booking-submit-btn,.booking-sheet-content .booking-footer,.booking-sheet-content .guest-selector-dropdown,.booking-sheet-content .guest-type,.booking-sheet-content .guest-type-info,.booking-sheet-content .guest-type-label,.booking-sheet-content .guest-type-desc,.booking-sheet-content .guest-type-controls,.booking-sheet-content .guest-btn,.booking-sheet-content .guest-count,.booking-sheet-content .guest-limit-notice{display:none}.booking-widget-desktop{display:block}.booking-widget-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;box-shadow:0 2px 8px #0000000f}@media (width>=1024px){.booking-widget-card{padding:22px}}@media (width>=1400px){.booking-widget-card{padding:24px}}.booking-price-section{border-bottom:1px solid #e2e8f0;margin-bottom:14px;padding-bottom:14px}.booking-best-price-badge{color:#166534;letter-spacing:.2px;background:#1792371a;border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:5px 10px;font-family:DM Sans,sans-serif;font-size:12.5px;font-weight:700;line-height:1.2;display:inline-flex}.booking-best-price-badge svg{flex-shrink:0}.booking-price-main{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.booking-price-from{color:#64748b;font-size:13px}@media (width>=1024px){.booking-price-from{font-size:14px}}.booking-price-amount{font-family:var(--font-heading);color:#0f172a;font-size:24px;font-weight:700;line-height:1}.booking-price-amount--strike{color:#94a3b8;font-size:16px;font-weight:600;text-decoration:line-through}.booking-price-amount--promo{color:#dc2626}@media (width>=1024px){.booking-price-amount{font-size:28px}}@media (width>=1400px){.booking-price-amount{font-size:30px}}.booking-price-per{color:#64748b;font-size:12px}@media (width>=1024px){.booking-price-per{font-size:14px}}.booking-offers{border-bottom:1px solid #e2e8f0;flex-direction:column;gap:8px;margin-bottom:4px;padding-bottom:16px;display:flex}.booking-offer-chip{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;max-width:100%;padding:6px 12px;font-size:12.5px;font-weight:600;line-height:1.35;display:inline-flex}.booking-offer-chip svg{flex-shrink:0}.booking-offer-chip-limited_time{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.booking-offer-chip-early_bird{color:#92400e;background:#fffbeb;border-color:#fde68a}.booking-offer-chip-last_minute{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.booking-offer-chip-promo{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}.booking-offer-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-offer-chip-discount{opacity:.85;white-space:nowrap}.booking-offer-chip-code{opacity:.75;white-space:nowrap;width:100%;font-size:11px;font-weight:500}.booking-offer-chip-code-warn{opacity:1;color:#b45309}.booking-form{flex-direction:column;gap:12px;display:flex}.booking-field{flex-direction:column;gap:10px;display:flex;position:relative}.booking-label{color:#0f172a;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.booking-label svg{color:#166534;flex-shrink:0}.booking-cancel-note{color:#0f172a;text-align:left;justify-content:center;align-items:flex-start;gap:6px;margin:0;font-size:13px;font-weight:500;line-height:1.5;display:flex}.booking-cancel-note strong{text-underline-offset:2px;font-weight:700;text-decoration:underline}.booking-cancel-note svg{color:#64748b;flex-shrink:0;margin-top:1px}.booking-input{color:#0f172a;cursor:pointer;text-align:left;width:100%;font-size:15px;font-family:var(--font-body);background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:border-color .2s,box-shadow .2s;display:flex}.booking-input:hover{background:#16653405;border-color:#166534}.booking-input:focus-visible{border-color:#166534;outline:none;box-shadow:0 0 0 3px #1665341a}.booking-input svg{color:#64748b;flex-shrink:0}.booking-input-main{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;line-height:1.25;display:flex}.booking-input-date{color:#0f172a;font-size:15px}.guest-selector-dropdown{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:12px;min-width:300px;padding:16px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #0000001f}.group-size-bands{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:6px;margin-bottom:4px;padding-bottom:12px;display:flex}.group-size-band{color:#475569;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.group-size-band-active{color:#14532d;background:#16653414;font-weight:600}.group-size-band-price{color:#0f172a;font-weight:600}.group-size-band-active .group-size-band-price{color:#166534}.booking-active-band{color:#166534;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:600;line-height:1.3;overflow:hidden}.booking-tier-hint{color:#64748b;border-bottom:1px solid #f1f5f9;margin:0 0 10px;padding-bottom:10px;font-size:12px;line-height:1.4}.booking-group-unavailable{color:#b45309;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:13px}.guest-type{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.guest-type:last-of-type{border-bottom:none;padding-bottom:0}.guest-type-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.guest-type-label{color:#0f172a;font-size:15px;font-weight:600}.guest-type-desc{color:#64748b;font-size:13px}.guest-type-price{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}.guest-type-unit{color:#166534;white-space:nowrap;font-size:15px;font-weight:700}.guest-type-line{color:#64748b;white-space:nowrap;font-size:11px}.guest-type-controls{align-items:center;gap:12px;display:flex}.guest-btn{color:#166534;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:border-color .2s,background .2s;display:flex}.guest-btn:hover:not(:disabled){background:#1665340d;border-color:#166534}.guest-btn:disabled{opacity:.3;cursor:not-allowed}.guest-count{text-align:center;color:#0f172a;min-width:28px;font-size:16px;font-weight:600}.booking-update-btn{color:#fff;width:100%;font-size:14px;font-weight:600;font-family:var(--font-body);cursor:pointer;background:#166534;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:10px 16px;transition:background .2s,transform .15s;display:inline-flex}.booking-update-btn:hover:not(:disabled){background:#14532d}.booking-update-btn:disabled{opacity:.5;cursor:not-allowed}.booking-price-spinner{color:#166534;vertical-align:middle;align-items:center;display:inline-flex}.guest-limit-notice{color:#ef4444;text-align:center;background:#ef44440d;border:1px solid #ef444433;border-radius:8px;padding:10px 12px;font-size:13px}.booking-slot-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.booking-slot-chip{cursor:pointer;font-family:var(--font-body);background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 12px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.booking-slot-chip:hover:not(:disabled){background:#1665340a;border-color:#166534}.booking-slot-chip:disabled{opacity:.45;cursor:not-allowed}.booking-slot-chip-active{background:#16653414;border-color:#166534;box-shadow:0 0 0 3px #1665341a}.booking-slot-time{color:#0f172a;font-size:14px;font-weight:600}.booking-slot-chip-active .booking-slot-time{color:#166534}.booking-slot-cap{color:#64748b;font-size:11px}.booking-slot-note{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.4}.change-booking-body{scrollbar-width:none;-ms-overflow-style:none}.change-booking-body::-webkit-scrollbar{display:none}.booking-selected-time{color:#166534;font-size:12.5px;font-weight:500}.booking-calendar-slots{flex-direction:column;gap:6px;max-height:170px;display:flex;overflow-y:auto}.booking-calendar-footer-label{gap:6px;font-size:13px}.booking-calendar-footer-label svg{width:15px;height:15px}.booking-slot-grid-compact{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.booking-slot-grid-compact .booking-slot-chip{padding:8px}.booking-calendar-hours{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.booking-calendar-hours .booking-slot-note{margin:0}.booking-calendar-done-btn{color:#fff;width:100%;font-size:14px;font-weight:600;font-family:var(--font-body);cursor:pointer;background:#166534;border:none;border-radius:10px;margin-top:2px;padding:10px 16px;transition:background .2s,transform .15s}.booking-calendar-done-btn:hover{background:#14532d}.booking-slot-warning{color:#b45309;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;padding:10px 12px;font-size:13px}.booking-summary{border-top:1px solid #e2e8f0;flex-direction:column;gap:6px;padding-top:12px;display:flex}.booking-savings{flex-direction:column;gap:4px;display:flex}.booking-savings-row{color:#64748b;justify-content:space-between;align-items:center;font-size:13px;display:flex}.booking-savings-strike{color:#94a3b8;font-size:18px;font-weight:600;text-decoration:line-through}.booking-savings-discount{color:#166534;font-weight:600}.booking-savings-amount{font-size:18px;font-weight:700}.booking-total{color:#0f172a;justify-content:space-between;align-items:center;margin-top:2px;padding-top:10px;font-size:15px;font-weight:600;display:flex}.booking-total-amount{color:#166534;font-size:25px;font-weight:700}@media (width>=1024px){.booking-total-amount{font-size:27px}}.booking-submit-btn{color:#fff;cursor:pointer;width:100%;font-size:16px;font-weight:600;font-family:var(--font-body);-webkit-tap-highlight-color:transparent;background:#166534;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;transition:background .2s,transform .15s,box-shadow .2s;display:flex}.booking-submit-btn:disabled{opacity:.7;cursor:not-allowed}.booking-submit-btn:hover:not(:disabled){background:#14532d;transform:translateY(-1px);box-shadow:0 4px 12px #16653440}.booking-submit-btn:active:not(:disabled){background:#14532d;transform:scale(.985);box-shadow:0 1px 4px #16653433}.booking-btn-loader{align-items:center;gap:8px;display:flex}.booking-spinner{animation:.8s linear infinite booking-spin}@keyframes booking-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.booking-promo{margin-top:4px}.booking-promo-row{gap:8px;display:flex}.booking-promo-input{color:#0f172a;font-size:14px;font-family:var(--font-body);background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;flex:1;padding:10px 14px}.booking-promo-input:focus{border-color:#166534;box-shadow:0 0 0 3px #16653426}.booking-promo-input::placeholder{color:#94a3b8}.booking-promo-input:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.booking-promo-input-error,.booking-promo-input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.booking-promo-input-applied{color:#166534;letter-spacing:.05em;background:#f0fdf4;border-color:#86efac;font-weight:600}.booking-promo-remove-btn{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.booking-promo-remove-btn:hover{color:#dc2626;background:#fee2e2;border-color:#dc2626}.booking-promo-btn{color:#334155;cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-body);white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:10px 16px;transition:border-color .15s,color .15s}.booking-promo-btn:hover{color:#166534;border-color:#166534}.booking-promo-btn:disabled{opacity:.6;cursor:not-allowed;color:#94a3b8;border-color:#e2e8f0}.booking-promo-error{color:#ef4444;margin-top:4px;font-size:12px}.booking-promo-success{color:#16a34a;margin-top:4px;font-size:12px}.booking-footer{color:#64748b;border-top:1px solid #e2e8f0;align-items:center;gap:8px;margin-top:16px;padding-top:16px;font-size:13px;display:flex}.booking-footer svg{color:#22c55e;flex-shrink:0}.booking-footer-nonrefundable,.booking-footer-nonrefundable svg{color:#dc2626}@media (width>=1024px){.booking-form{gap:14px}.booking-price-section{margin-bottom:16px;padding-bottom:16px}.booking-total{font-size:16px}.booking-footer{margin-top:14px;padding-top:14px}}@media (width>=1400px){.booking-submit-btn{padding:15px 20px;font-size:16px}}.booking-slot-chip-closed{opacity:.6;cursor:not-allowed}.booking-slot-chip-closed .booking-slot-cap{color:#9a6b1f;font-weight:600}.booking-deadline-timer{background:#eceeff;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.booking-deadline-icon{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}@keyframes clock-hand-minute{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes clock-hand-hour{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.booking-deadline-icon .clock-minute-hand{transform-origin:12px 12px;animation:3s linear infinite clock-hand-minute}.booking-deadline-icon .clock-hour-hand{transform-origin:12px 12px;animation:12s linear infinite clock-hand-hour}.booking-deadline-text{flex-direction:column;gap:2px;min-width:0;display:flex}.booking-deadline-headline{color:#1a1a2e;margin:0;font-size:14px;font-weight:700;line-height:1.3}.booking-deadline-sub{color:#5c5c7a;margin:0;font-size:12.5px;line-height:1.4}@media (width<=640px){.booking-deadline-timer{gap:10px;padding:12px 14px}.booking-deadline-icon{width:32px;height:32px}.booking-deadline-headline{font-size:13px}.booking-deadline-sub{font-size:12px}}@media (prefers-reduced-motion:reduce){.booking-deadline-icon .clock-minute-hand,.booking-deadline-icon .clock-hour-hand{animation:none}}.booking-cancel-note--none,.booking-cancel-note--none svg{color:#b42318}.booking-instant-confirm{color:#166534;justify-content:center;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;font-weight:600;display:flex}.booking-inline-picker{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;align-items:stretch;display:flex;position:relative;overflow:visible}.booking-inline-section{flex:1;min-width:0;overflow:visible}.booking-inline-trigger{cursor:pointer;width:100%;font-family:var(--font-body);text-align:left;color:inherit;background:0 0;border:none;flex-direction:column;justify-content:center;gap:2px;padding:12px 40px 12px 14px;transition:background .15s;display:flex;position:relative}.booking-inline-trigger:hover{background:#f8fafc}.booking-inline-trigger:focus-visible{outline-offset:-2px;border-radius:10px;outline:2px solid #166534}.booking-inline-label{color:#0f172a;font-size:12px;font-weight:700;line-height:1.3}.booking-inline-value{color:#0f172a;align-items:center;gap:6px;min-height:20px;font-size:14px;font-weight:500;line-height:1.3;display:flex}.booking-inline-date .booking-inline-value{flex-direction:column;align-items:flex-start;gap:1px}.booking-inline-date-text{color:#0f172a;font-size:15px;font-weight:500}.booking-inline-traveler .booking-inline-value{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;max-width:100%}.booking-inline-count{white-space:nowrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.booking-inline-count>span{text-overflow:ellipsis;overflow:hidden}.booking-inline-icon{color:#64748b;flex-shrink:0}.booking-inline-chevron{color:#64748b;pointer-events:none;flex-shrink:0;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.booking-inline-divider{background:#e2e8f0;flex-shrink:0;align-self:stretch;width:1px;margin:10px 0}
