.booking-form{gap:var(--spacing-md);flex-direction:column;display:flex}.booking-form__steps{margin-bottom:var(--spacing-sm);align-items:center;gap:0;display:flex}.booking-form__step{flex:1;align-items:center;gap:.5rem;display:flex;position:relative}.booking-form__step:not(:last-child):after{content:"";background:var(--color-card-border);flex:1;height:1px;margin:0 .75rem}.booking-form__step-num{width:1.75rem;height:1.75rem;font-family:var(--font-body);background:var(--color-card-border);color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;transition:background .2s,color .2s;display:flex}.booking-form__step--active .booking-form__step-num{background:var(--color-primary);color:#fff}.booking-form__step--done .booking-form__step-num{background:var(--color-success);color:#fff}.booking-form__step-label{font-family:var(--font-body);color:var(--color-text-muted);white-space:nowrap;font-size:.875rem}.booking-form__step--active .booking-form__step-label{color:var(--color-primary);font-weight:600}.booking-form__step--done .booking-form__step-label{color:var(--color-text-primary)}.booking-form__panel{gap:var(--spacing-md);flex-direction:column;display:flex}.booking-form__panel-title{font-family:var(--font-heading);color:var(--color-text-primary);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-card-border);font-size:1.25rem}.booking-form__type-selector{gap:var(--spacing-md);display:flex}.booking-form__type-option{cursor:pointer;font-family:var(--font-body);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.booking-form__type-radio{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer}.booking-form__type-option-label{font-weight:500}.booking-form__unavail-notice{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:.75rem var(--spacing-md);border-radius:var(--radius-md);background:#fff8f0;border:1px solid #f5c69a;display:flex}.booking-form__unavail-notice-text{font-family:var(--font-body);color:var(--color-text-muted);font-size:.9375rem}.booking-form__btn-switch-rooms{border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--color-primary);cursor:pointer;white-space:nowrap;background:0 0;padding:.4375rem 1rem;font-size:.875rem;font-weight:600;transition:background .15s,color .15s}.booking-form__btn-switch-rooms:hover:not(:disabled){background:var(--color-primary);color:#fff}.booking-form__btn-switch-rooms:disabled{opacity:.6;cursor:default}.booking-form__dates-grid{gap:var(--spacing-sm);grid-template-columns:1fr 1fr 1fr 1fr;display:grid}.booking-form__field{flex-direction:column;gap:4px;display:flex}.booking-form__label{font-family:var(--font-body);color:var(--color-text-muted);font-size:.75rem;font-weight:400}.booking-form__date-input,.booking-form__text-input{border:1px solid var(--color-card-border);border-radius:var(--radius-sm);background:var(--color-card-bg);width:100%;color:var(--color-text-primary);font-family:var(--font-body);outline:none;height:40px;padding:.5rem .75rem;font-size:.9375rem;transition:border-color .2s}.booking-form__date-input:focus,.booking-form__text-input:focus{border-color:var(--color-primary);border-width:2px}.booking-form__text-input::placeholder{color:var(--color-text-muted);opacity:.7}.booking-form__error{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--color-danger);background:#ef444414;border:1px solid #ef44444d;font-size:.9375rem}.booking-form__btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;align-self:flex-start;padding:.875rem 2rem;font-size:1rem;font-weight:700;transition:background .2s,transform .2s}.booking-form__btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.booking-form__btn-primary:disabled{opacity:.6;cursor:not-allowed}.booking-form__btn-back{color:var(--color-text-muted);border:1px solid var(--color-card-border);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;background:0 0;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s}.booking-form__btn-back:hover{background:#6b728012}.booking-form__nav{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-xs);border-top:1px solid var(--color-card-border);display:flex}.booking-form__acc-grid{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.booking-form__acc-card{border:2px solid var(--color-card-border);border-radius:var(--radius-lg);background:var(--color-card-bg);cursor:pointer;text-align:left;flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.booking-form__acc-card:hover{border-color:var(--color-primary);box-shadow:0 2px 12px #4a7c591f}.booking-form__acc-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 3px #4a7c5926}.booking-form__acc-card--unavailable{opacity:.6;cursor:default}.booking-form__acc-card--unavailable:hover{border-color:var(--color-card-border);box-shadow:none}.booking-form__acc-card--unavailable .booking-form__acc-photo-img{filter:grayscale(60%)}.booking-form__acc-unavailable-badge{color:#fff;border-radius:var(--radius-sm);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#6b7280d9;padding:.2rem .6rem;font-size:.6875rem;font-weight:700;position:absolute;top:.5rem;left:.5rem}.booking-form__acc-photo-btn{aspect-ratio:16/9;background:var(--color-body-bg);cursor:pointer;border:none;width:100%;padding:0;display:block;position:relative;overflow:hidden}.booking-form__acc-photo-img{object-fit:cover;transition:transform .3s}.booking-form__acc-card:hover .booking-form__acc-photo-img{transform:scale(1.04)}.booking-form__acc-photo--empty{width:100%;height:100%;font-family:var(--font-body);color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.booking-form__acc-check{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.875rem;font-weight:700;display:flex;position:absolute;top:.5rem;right:.5rem}.booking-form__acc-info{padding:var(--spacing-sm);flex-direction:column;flex:1;gap:4px;display:flex}.booking-form__acc-name{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.0625rem;font-weight:600}.booking-form__acc-meta{font-family:var(--font-body);color:var(--color-text-muted);font-size:.8125rem}.booking-form__acc-extra-info{font-family:var(--font-body);color:var(--color-primary);font-size:.75rem;font-weight:500}.booking-form__acc-footer{justify-content:space-between;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:6px;display:flex}.booking-form__acc-price{font-family:var(--font-body);color:var(--color-primary);font-size:1rem;font-weight:700}.booking-form__acc-price-sub{color:var(--color-text-muted);margin-left:2px;font-size:.8125rem;font-weight:400}.booking-form__acc-actions{flex-shrink:0;gap:6px;display:flex}.booking-form__acc-btn-detail{color:var(--color-text-muted);border:1px solid var(--color-card-border);border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;padding:.3rem .75rem;font-size:.8125rem;font-weight:600;transition:background .15s}.booking-form__acc-btn-detail:hover{background:#6b728012}.booking-form__acc-btn-select{color:var(--color-primary);border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #4a7c5966;padding:.3rem .75rem;font-size:.8125rem;font-weight:700;transition:background .15s}.booking-form__acc-btn-select:hover{background:#4a7c5912}.booking-form__acc-btn-select--active{color:var(--color-primary);border-color:var(--color-primary);background:#4a7c591a}.booking-form__acc-btn-unavailable{color:var(--color-text-muted);border:1px solid var(--color-card-border);border-radius:var(--radius-sm);font-family:var(--font-body);white-space:nowrap;background:#6b728014;padding:.3rem .75rem;font-size:.8125rem;font-weight:600}.booking-form__field--guest-count{max-width:280px}.booking-form__guest-count-hint{font-family:var(--font-body);color:var(--color-text-muted);font-size:.8125rem}.booking-form__guest-grid{gap:var(--spacing-sm);grid-template-columns:1fr 1fr 1fr;display:grid}.booking-form__services{gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-body-bg);border-radius:var(--radius-md);border:1px solid var(--color-card-border);flex-direction:column;display:flex}.booking-form__services-title{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:4px;font-size:.9375rem;font-weight:600}.booking-form__services-list{flex-direction:column;gap:6px;display:flex}.booking-form__service-item{cursor:pointer;font-family:var(--font-body);align-items:center;gap:.625rem;padding:.375rem 0;font-size:.9375rem;display:flex}.booking-form__service-check{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.booking-form__service-name{color:var(--color-text-primary);flex:1}.booking-form__service-price{color:var(--color-text-muted);white-space:nowrap;font-weight:600}.booking-form__summary{padding:var(--spacing-sm);background:var(--color-body-bg);border-radius:var(--radius-md);border:1px solid var(--color-card-border);flex-direction:column;gap:6px;display:flex}.booking-form__summary-title{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:4px;font-size:.9375rem;font-weight:600}.booking-form__summary-row{align-items:flex-start;gap:var(--spacing-sm);font-family:var(--font-body);font-size:.9375rem;display:flex}.booking-form__summary-row--extra .booking-form__summary-value{color:var(--color-primary);font-size:.875rem}.booking-form__summary-label{color:var(--color-text-muted);flex-shrink:0;width:8rem}.booking-form__summary-value{color:var(--color-text-primary);font-weight:500}.booking-form__success{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-md);text-align:center;flex-direction:column;display:flex}.booking-form__success-icon{width:3.5rem;height:3.5rem;color:var(--color-success);background:#22c55e1f;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.booking-form__success-title{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.5rem}.booking-form__success-text{font-family:var(--font-body);color:var(--color-text-muted);max-width:480px;font-size:.9375rem;line-height:1.6}.booking-form__success .booking-form__summary{text-align:left;width:100%;max-width:480px}.booking-form__success-actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center;display:flex}.booking-form__btn-lookup{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-family:var(--font-body);padding:.875rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.booking-form__btn-lookup:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.booking-form__detail{gap:var(--spacing-md);flex-direction:column;display:flex}.booking-form__detail-photos{flex-direction:column;gap:8px;display:flex}.booking-form__detail-hero{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--color-card-border);width:100%;position:relative;overflow:hidden}.booking-form__detail-hero-img{object-fit:cover}.booking-form__detail-thumbs{scrollbar-width:thin;scrollbar-color:var(--color-card-border) transparent;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.booking-form__detail-thumbs::-webkit-scrollbar{height:4px}.booking-form__detail-thumbs::-webkit-scrollbar-thumb{background:var(--color-card-border);border-radius:2px}.booking-form__detail-thumb{border-radius:var(--radius-sm);opacity:.65;cursor:pointer;border:2px solid #0000;flex-shrink:0;width:80px;height:56px;padding:0;transition:opacity .15s,border-color .15s;overflow:hidden}.booking-form__detail-thumb:hover{opacity:.9}.booking-form__detail-thumb--active{border-color:var(--color-primary);opacity:1}.booking-form__detail-thumb img{object-fit:cover;width:100%;height:100%;display:block}.booking-form__detail-no-photos{aspect-ratio:16/9;background:var(--color-body-bg);border-radius:var(--radius-md);width:100%;font-family:var(--font-body);color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.9375rem;display:flex}.booking-form__detail-badges{flex-wrap:wrap;gap:8px;display:flex}.booking-form__detail-badge{border-radius:var(--radius-sm);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.booking-form__detail-badge--type{color:var(--color-primary);background:#4a7c591f}.booking-form__detail-badge--muted{color:var(--color-text-muted);background:#6b72801a}.booking-form__detail-desc{font-family:var(--font-body);color:var(--color-text-muted);font-size:.9375rem;line-height:1.7}.booking-form__detail-footer{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-card-border);flex-wrap:wrap;display:flex}.booking-form__detail-price{align-items:baseline;gap:4px;display:flex}.booking-form__detail-price-value{font-family:var(--font-heading);color:var(--color-primary);font-size:1.5rem;font-weight:700}.booking-form__detail-price-sub{font-family:var(--font-body);color:var(--color-text-muted);font-size:.875rem}.booking-form__detail-cta{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;white-space:nowrap;padding:.75rem 2rem;font-size:1rem;font-weight:700;transition:background .2s,transform .2s}.booking-form__detail-cta:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.booking-form__detail-cta-unavailable{color:var(--color-text-muted);border-radius:var(--radius-md);font-family:var(--font-body);background:#6b72801a;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;display:inline-block}@media (max-width:900px){.booking-form__dates-grid,.booking-form__acc-grid,.booking-form__guest-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.booking-form__dates-grid,.booking-form__acc-grid,.booking-form__guest-grid{grid-template-columns:1fr}.booking-form__step-label{display:none}.booking-form__btn-primary{text-align:center;align-self:stretch}.booking-form__nav{flex-direction:column-reverse;align-items:stretch}.booking-form__btn-back{text-align:center}}
.booking-page__section{padding:calc(var(--header-height) + var(--spacing-lg)) var(--spacing-md) var(--spacing-lg)}.booking-page__inner{max-width:900px;margin:0 auto}.booking-page__title{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:clamp(1.75rem,3vw,2.5rem)}.booking-page__subtitle{font-family:var(--font-body);color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:1rem}.booking-page__lookup-section{background:var(--color-body-bg);border-top:1px solid var(--color-card-border);padding:var(--spacing-lg) var(--spacing-md)}.booking-page__section-title{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:1.5rem}.booking-page__section-sub{font-family:var(--font-body);color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:1rem}.booking-page__btn-lookup{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-family:var(--font-body);padding:.875rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s;display:inline-block}.booking-page__btn-lookup:hover{background:var(--color-primary-dark)}
