.nextcore-booking-page{background:linear-gradient(#ecfdf5,#fff,#f9fafb);min-height:100vh}.nextcore-booking-page__container{max-width:56rem;margin:0 auto;padding:2rem 1rem}.nextcore-booking-confirmation{background:linear-gradient(#ecfdf5,#fff,#f9fafb);min-height:100vh}.nextcore-booking-confirmation__banner{color:#fff;text-align:center;background:linear-gradient(90deg,#10b981,#14b8a6);padding:2rem 0}.nextcore-booking-confirmation__banner-inner{margin:0 auto;padding:0 1rem}.nextcore-booking-confirmation__banner-icon{width:4rem;height:4rem;margin:0 auto 1rem;animation:1s infinite bounce}.nextcore-booking-confirmation__banner-title{margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.nextcore-booking-confirmation__banner-subtitle{color:#d1fae5;margin-bottom:1rem;font-size:1.125rem}.nextcore-booking-confirmation__code-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:inline-flex}.nextcore-booking-confirmation__code-badge-label{font-size:.875rem}.nextcore-booking-confirmation__code-badge-value{font-family:monospace;font-size:1.125rem;font-weight:700}.nextcore-booking-confirmation__code-copy-btn{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:9999px;padding:.25rem;transition:background .2s}.nextcore-booking-confirmation__code-copy-btn:hover{background:#fff3}.nextcore-booking-confirmation__copied-label{background:#ffffff4d;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.nextcore-booking-confirmation__card{background:#fff;border:1px solid #f3f4f6;border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a}.nextcore-booking-confirmation__card-title{color:#1f2937;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.25rem;font-weight:700;display:flex}.nextcore-booking-confirmation__card-title-icon{color:#10b981;width:1.25rem;height:1.25rem}.nextcore-booking-confirmation__grid{gap:1rem;display:grid}@media (min-width:768px){.nextcore-booking-confirmation__grid{grid-template-columns:repeat(2,1fr)}}.nextcore-booking-confirmation__info-cell{background:#f9fafb;border-radius:.75rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.nextcore-booking-confirmation__info-cell--checkin{background:#ecfdf5}.nextcore-booking-confirmation__info-cell--checkout{background:#fff1f2}.nextcore-booking-confirmation__info-cell--duration{background:#fffbeb}.nextcore-booking-confirmation__info-cell--guests{background:#eff6ff}.nextcore-booking-confirmation__info-cell-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.125rem}.nextcore-booking-confirmation__info-cell-label{font-size:.875rem;font-weight:500}.nextcore-booking-confirmation__info-cell-value{color:#1f2937;font-weight:600}.nextcore-booking-confirmation__total-row{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;display:flex}.nextcore-booking-confirmation__total-label{color:#4b5563}.nextcore-booking-confirmation__total-amount{color:#10b981;font-size:1.875rem;font-weight:700}.nextcore-booking-confirmation__surcharge-note{color:#d97706;margin-top:.25rem;font-size:.875rem}.nextcore-booking-confirmation__notes-box{background:#fefce8;border-radius:.75rem;margin-top:1rem;padding:1rem}.nextcore-booking-confirmation__qr-box{background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border:2px solid #6ee7b7;border-radius:1rem;flex-direction:column;align-items:center;padding:1.5rem;display:flex}.nextcore-booking-confirmation__qr-image-wrap{background:#fff;border-radius:.75rem;width:12rem;height:12rem;margin-bottom:1rem;padding:.5rem;position:relative;box-shadow:0 4px 6px -1px #0000001a}.nextcore-booking-confirmation__qr-label{color:#065f46;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.nextcore-booking-confirmation__qr-download{color:#065f46;background:#d1fae5;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:background .2s;display:inline-flex}.nextcore-booking-confirmation__qr-download:hover{background:#a7f3d0}.nextcore-booking-confirmation__bank-details{flex-direction:column;gap:1rem;display:flex}.nextcore-booking-confirmation__bank-row{background:#f9fafb;border-radius:.75rem;padding:1rem}.nextcore-booking-confirmation__bank-row--transfer-note{background:#fffbeb;border:2px solid #fde68a}.nextcore-booking-confirmation__bank-row-label{color:#6b7280;margin-bottom:.25rem;font-size:.875rem}.nextcore-booking-confirmation__bank-row-value{color:#1f2937;font-weight:600}.nextcore-booking-confirmation__bank-row-value--mono{font-family:monospace}.nextcore-booking-confirmation__bank-row-value--transfer{color:#92400e;font-family:monospace;font-weight:700}.nextcore-booking-confirmation__bank-row-inner{justify-content:space-between;align-items:center;display:flex}.nextcore-booking-confirmation__copy-btn{cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.5rem;transition:background .2s}.nextcore-booking-confirmation__copy-btn:hover{background:#e5e7eb}.nextcore-booking-confirmation__copy-btn--transfer:hover{background:#fde68a}.nextcore-booking-confirmation__copied-hint{color:#10b981;font-size:.75rem}.nextcore-booking-confirmation__no-payment{text-align:center;background:#f9fafb;border-radius:.75rem;padding:1.5rem}.nextcore-booking-confirmation__wallet-row{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.nextcore-booking-confirmation__wallet-label{color:#4b5563;margin-bottom:.75rem;font-size:.875rem}.nextcore-booking-confirmation__wallet-list{flex-wrap:wrap;gap:.75rem;display:flex}.nextcore-booking-confirmation__wallet-item{border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;display:inline-flex}.nextcore-booking-confirmation__wallet-item--momo{color:#9d174d;background:#fdf2f8}.nextcore-booking-confirmation__wallet-item--zalopay{color:#1e40af;background:#eff6ff}.nextcore-booking-confirmation__host-row{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.nextcore-booking-confirmation__host-avatar{object-fit:cover;border-radius:9999px;width:4rem;height:4rem}.nextcore-booking-confirmation__host-avatar-fallback{background:#d1fae5;border-radius:9999px;justify-content:center;align-items:center;width:4rem;height:4rem;display:flex}.nextcore-booking-confirmation__host-name{color:#1f2937;font-size:1.125rem;font-weight:600}.nextcore-booking-confirmation__host-subtitle{color:#6b7280;font-size:.875rem}.nextcore-booking-confirmation__contact-grid{gap:.75rem;display:grid}@media (min-width:640px){.nextcore-booking-confirmation__contact-grid{grid-template-columns:repeat(2,1fr)}}.nextcore-booking-confirmation__contact-link{border-radius:.75rem;align-items:center;gap:.75rem;padding:1rem;transition:background .2s;display:flex}.nextcore-booking-confirmation__contact-link--phone{background:#ecfdf5}.nextcore-booking-confirmation__contact-link--phone:hover{background:#d1fae5}.nextcore-booking-confirmation__contact-link--zalo{background:#eff6ff}.nextcore-booking-confirmation__contact-link--zalo:hover{background:#dbeafe}.nextcore-booking-confirmation__contact-link--facebook{background:#eef2ff}.nextcore-booking-confirmation__contact-link--facebook:hover{background:#e0e7ff}.nextcore-booking-confirmation__contact-link-label{font-size:.875rem}.nextcore-booking-confirmation__contact-link-value{color:#1f2937;font-weight:600}.nextcore-booking-confirmation__rules-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.nextcore-booking-confirmation__rules-count{color:#6b7280;background:#f3f4f6;border-radius:9999px;padding:.25rem .75rem;font-size:.875rem}.nextcore-booking-confirmation__rules-grid{gap:1rem;display:grid}.nextcore-booking-confirmation__rule-card{border:2px solid;border-radius:1rem;align-items:flex-start;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.nextcore-booking-confirmation__rule-card:hover{transform:scale(1.01);box-shadow:0 10px 15px -3px #0000001a}.nextcore-booking-confirmation__rule-icon-wrap{background:#fff9;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.nextcore-booking-confirmation__rule-icon{font-size:1.875rem}.nextcore-booking-confirmation__rule-body{flex:1;min-width:0}.nextcore-booking-confirmation__rule-category{text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin-bottom:.375rem;font-size:.75rem;font-weight:600;display:inline-block}.nextcore-booking-confirmation__rule-text{font-size:.875rem;font-weight:500;line-height:1.625}.nextcore-booking-confirmation__rules-toggle{color:#10b981;cursor:pointer;background:0 0;border:1px solid #6ee7b7;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1.5rem;padding:.75rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.nextcore-booking-confirmation__rules-toggle:hover{color:#059669;background:#ecfdf5}.nextcore-booking-confirmation__rules-plain{background:#f9fafb;border-radius:.75rem;padding:1rem}.nextcore-booking-confirmation__back-link{color:#10b981;text-align:center;align-items:center;gap:.5rem;font-weight:500;transition:color .2s;display:inline-flex}.nextcore-booking-confirmation__back-link:hover{color:#059669}.nextcore-booking-confirmation__back-row{text-align:center;padding-top:1rem}.nextcore-booking-confirmation__loading{background:#f9fafb;justify-content:center;align-items:center;min-height:100vh;display:flex}.nextcore-booking-confirmation__loading-inner{text-align:center}.nextcore-booking-confirmation__loading-text{color:#4b5563}.nextcore-booking-confirmation__error{background:#f9fafb;justify-content:center;align-items:center;min-height:100vh;display:flex}.nextcore-booking-confirmation__error-inner{text-align:center;max-width:28rem}.nextcore-booking-confirmation__error-title{color:#1f2937;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.nextcore-booking-confirmation__error-msg{color:#4b5563;margin-bottom:1.5rem}.nextcore-booking-confirmation__error-btn{color:#fff;background:#10b981;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:background .2s;display:inline-flex}.nextcore-booking-confirmation__error-btn:hover{background:#059669}.nextcore-booking-section{background:#fff;border:1px solid #f3f4f6;border-radius:1rem;padding:1rem;box-shadow:0 4px 6px -1px #0000001a}@media (min-width:640px){.nextcore-booking-section{padding:1.5rem}}@media (min-width:768px){.nextcore-booking-section{padding:2rem}}.nextcore-booking-section__header{margin-bottom:1rem}@media (min-width:640px){.nextcore-booking-section__header{margin-bottom:1.5rem}}.nextcore-booking-section__title{color:#111827;font-size:1.25rem;font-weight:700}@media (min-width:640px){.nextcore-booking-section__title{font-size:1.5rem}}.nextcore-booking-section__subtitle{color:#4b5563;margin-top:.125rem;font-size:.875rem}.nextcore-booking-section__date-guest-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;display:grid}@media (min-width:640px){.nextcore-booking-section__date-guest-grid{gap:1rem;margin-bottom:1.5rem}}@media (min-width:768px){.nextcore-booking-section__date-guest-grid{grid-template-columns:repeat(3,1fr)}}.nextcore-booking-section__date-col{grid-column:span 2;position:relative}@media (min-width:768px){.nextcore-booking-section__date-col{grid-column:span 2}}.nextcore-booking-section__field-label{color:#374151;margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:block}@media (min-width:640px){.nextcore-booking-section__field-label{font-size:.875rem}}.nextcore-booking-section__date-range-input{border:2px solid #e5e7eb;border-radius:.75rem;transition:all .2s;display:flex;overflow:hidden}.nextcore-booking-section__date-range-input:focus-within{border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.nextcore-booking-section__date-btn{text-align:left;cursor:pointer;background:#fff;border:none;flex:1;align-items:center;gap:.375rem;padding:.625rem .75rem;transition:background .2s;display:flex}@media (min-width:640px){.nextcore-booking-section__date-btn{gap:.5rem;padding:.625rem 1rem}}.nextcore-booking-section__date-btn:hover{background:#ecfdf5}.nextcore-booking-section__date-btn--divider{border-right:1px solid #f3f4f6}.nextcore-booking-section__date-btn-text{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}@media (min-width:640px){.nextcore-booking-section__date-btn-text{font-size:1rem}}.nextcore-booking-section__date-btn-text--empty{color:#9ca3af}.nextcore-booking-section__date-btn-text--filled{color:#111827}.nextcore-booking-section__guest-col{grid-column:span 2;position:relative}@media (min-width:768px){.nextcore-booking-section__guest-col{grid-column:span 1}}.nextcore-booking-section__guest-btn{text-align:left;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;transition:all .2s;display:flex}.nextcore-booking-section__guest-btn--open{background:#ecfdf5;border-color:#10b981}.nextcore-booking-section__guest-btn--over{background:#fffbeb;border-color:#fbbf24}.nextcore-booking-section__guest-btn:not(.nextcore-booking-section__guest-btn--open):not(.nextcore-booking-section__guest-btn--over):hover{border-color:#6ee7b7}.nextcore-booking-section__guest-btn-inner{align-items:center;gap:.5rem;display:flex}.nextcore-booking-section__guest-btn-text{color:#111827;font-weight:500}.nextcore-booking-section__time-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;display:grid}@media (min-width:640px){.nextcore-booking-section__time-grid{gap:1rem;margin-bottom:1.5rem}}.nextcore-booking-section__time-field{position:relative}.nextcore-booking-section__time-label{color:#4b5563;align-items:center;gap:.25rem;margin-bottom:.375rem;font-size:.75rem;font-weight:500;display:flex}.nextcore-booking-section__time-btn{text-align:left;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;font-weight:500;transition:all .2s;display:flex}.nextcore-booking-section__time-btn--open{background:#ecfdf5;border-color:#10b981}.nextcore-booking-section__time-btn:not(.nextcore-booking-section__time-btn--open):hover{border-color:#6ee7b7}.nextcore-booking-section__time-value{color:#111827;font-size:1rem}@media (min-width:640px){.nextcore-booking-section__time-value{font-size:1.125rem}}.nextcore-booking-section__checkout-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:.75rem;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.nextcore-booking-section__checkout-warning-title{color:#78350f;font-weight:700}.nextcore-booking-section__checkout-warning-text{margin-top:.375rem;font-size:.875rem;line-height:1.625}.nextcore-booking-section__sameday-notice{border-radius:.75rem;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.nextcore-booking-section__sameday-notice--valid{color:#1d4ed8;background:#eff6ff}.nextcore-booking-section__sameday-notice--invalid{color:#b91c1c;background:#fff1f2}.nextcore-booking-section__rooms{margin-bottom:1.5rem}.nextcore-booking-section__rooms-title{color:#111827;margin-bottom:.5rem;font-size:1rem;font-weight:600}@media (min-width:640px){.nextcore-booking-section__rooms-title{margin-bottom:.75rem;font-size:1.125rem}}.nextcore-booking-section__rooms-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:768px){.nextcore-booking-section__rooms-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.nextcore-booking-section__rooms-grid{grid-template-columns:repeat(3,1fr)}}.nextcore-booking-section__capacity-warning{background:linear-gradient(90deg,#fffbeb,#fff7ed);border:1px solid #fde68a;border-radius:1rem;margin-bottom:1.5rem;padding:1.25rem}.nextcore-booking-section__capacity-warning-text{color:#374151;line-height:1.625}.nextcore-booking-section__capacity-warning-sugg{border-top:1px solid #fde68a;margin-top:.5rem;padding-top:.5rem}.nextcore-booking-section__capacity-warning-sugg-text{color:#4b5563;font-size:.875rem;line-height:1.625}.nextcore-booking-section__cleaning-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.75rem;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.nextcore-booking-section__modal-overlay{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.nextcore-booking-section__modal{background:#fff;border-radius:1rem;width:100%;max-width:32rem;max-height:90vh;overflow-y:auto}.nextcore-booking-section__modal-header{z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem;display:flex;position:sticky;top:0}.nextcore-booking-section__modal-title{color:#111827;font-size:1.25rem;font-weight:700}.nextcore-booking-section__modal-close-btn{cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:.5rem;transition:background .2s}.nextcore-booking-section__modal-close-btn:hover{background:#f3f4f6}.nextcore-booking-section__modal-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.nextcore-booking-section__modal-summary{background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border:1px solid #d1fae5;border-radius:.75rem;padding:1rem}.nextcore-booking-section__modal-summary-title{color:#111827;margin-bottom:.75rem;font-weight:600}.nextcore-booking-section__modal-dates-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.875rem;display:grid}.nextcore-booking-section__modal-date-cell{background:#ffffffb3;border-radius:.5rem;padding:.5rem}.nextcore-booking-section__modal-date-label{color:#6b7280;font-size:.75rem}.nextcore-booking-section__modal-date-value{color:#111827;font-weight:500}.nextcore-booking-section__modal-date-time{color:#10b981;font-weight:500}.nextcore-booking-section__modal-summary-footer{border-top:1px solid #10b98133;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.nextcore-booking-section__modal-summary-meta{color:#4b5563;font-size:.875rem}.nextcore-booking-section__modal-summary-price{color:#10b981;font-size:1.125rem;font-weight:700}.nextcore-booking-section__form-fields{flex-direction:column;gap:.75rem;display:flex}.nextcore-booking-section__form-label{color:#374151;margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.nextcore-booking-section__form-required{color:#ef4444}.nextcore-booking-section__form-input{border:1px solid #e5e7eb;border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.nextcore-booking-section__form-input:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.nextcore-booking-section__form-textarea{resize:none;border:1px solid #e5e7eb;border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.nextcore-booking-section__form-textarea:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.nextcore-booking-section__modal-note{color:#6b7280;text-align:center;font-size:.75rem}.nextcore-booking-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.5rem;position:sticky;top:6rem;box-shadow:0 20px 25px -5px #0000001a}.nextcore-booking-sidebar__price-header{align-items:baseline;gap:.5rem;margin-bottom:1.5rem;display:flex}.nextcore-booking-sidebar__price-amount{color:#10b981;font-size:1.875rem;font-weight:700}.nextcore-booking-sidebar__price-unit{color:#4b5563}.nextcore-booking-sidebar__dates-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.nextcore-booking-sidebar__field-label{color:#374151;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.nextcore-booking-sidebar__field-btn{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;align-items:center;gap:.5rem;width:100%;padding:.75rem;transition:all .2s;display:flex}.nextcore-booking-sidebar__field-btn--open{border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.nextcore-booking-sidebar__field-btn:not(.nextcore-booking-sidebar__field-btn--open):hover{border-color:#6ee7b7}.nextcore-booking-sidebar__field-btn-inner{flex:1;min-width:0}.nextcore-booking-sidebar__field-date-text{font-size:.875rem;display:block}.nextcore-booking-sidebar__field-date-text--placeholder{color:#9ca3af}.nextcore-booking-sidebar__field-date-text--value{color:#111827;font-weight:500}.nextcore-booking-sidebar__field-time-text{color:#10b981;font-size:.75rem;display:block}.nextcore-booking-sidebar__dropdown{z-index:100;background:#fff;border-radius:1rem;margin-top:.5rem;position:absolute;top:100%;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d}.nextcore-booking-sidebar__dropdown--left{left:0}.nextcore-booking-sidebar__dropdown--right{right:0}.nextcore-booking-sidebar__dropdown--center{left:50%;transform:translate(-50%)}.nextcore-booking-sidebar__calendar-wrap{width:21rem;padding:1rem}.nextcore-booking-sidebar__calendar-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.nextcore-booking-sidebar__calendar-nav-btn{cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.5rem;transition:background .2s}.nextcore-booking-sidebar__calendar-nav-btn:hover{background:#f3f4f6}.nextcore-booking-sidebar__calendar-month-label{color:#111827;font-weight:600}.nextcore-booking-sidebar__calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem;display:grid}.nextcore-booking-sidebar__calendar-weekday{text-align:center;color:#6b7280;padding:.25rem 0;font-size:.75rem;font-weight:500}.nextcore-booking-sidebar__calendar-days{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.nextcore-booking-sidebar__calendar-day{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:.5rem;width:2.5rem;height:2.5rem;font-size:.875rem;font-weight:500;transition:all .2s}.nextcore-booking-sidebar__calendar-day:hover:not(:disabled){color:#10b981;background:#ecfdf5}.nextcore-booking-sidebar__calendar-day--selected{color:#fff;background:#10b981;box-shadow:0 4px 6px -1px #10b9814d}.nextcore-booking-sidebar__calendar-day--today:not(.nextcore-booking-sidebar__calendar-day--selected){box-shadow:inset 0 0 0 2px #10b981}.nextcore-booking-sidebar__calendar-day--disabled{color:#d1d5db;cursor:not-allowed}.nextcore-booking-sidebar__calendar-day--other-month{color:#d1d5db}.nextcore-booking-sidebar__calendar-quick-actions{border-top:1px solid #f3f4f6;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.nextcore-booking-sidebar__calendar-quick-btn{color:#10b981;cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex:1;padding:.5rem;font-size:.75rem;font-weight:500;transition:background .2s}.nextcore-booking-sidebar__calendar-quick-btn:hover{background:#ecfdf5}.nextcore-booking-sidebar__calendar-time-section{border-top:1px solid #f3f4f6;margin-top:1rem;padding-top:1rem}.nextcore-booking-sidebar__calendar-time-label{color:#4b5563;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;font-weight:500;display:flex}.nextcore-booking-sidebar__calendar-time-options{flex-wrap:wrap;gap:.5rem;display:flex}.nextcore-booking-sidebar__calendar-time-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:.5rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s}.nextcore-booking-sidebar__calendar-time-btn--selected{color:#fff;background:#10b981}.nextcore-booking-sidebar__calendar-time-btn:not(.nextcore-booking-sidebar__calendar-time-btn--selected):hover{color:#10b981;background:#ecfdf5}.nextcore-booking-sidebar__calendar-confirm-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:.75rem;width:100%;margin-top:1rem;padding:.625rem;font-weight:500;transition:background .2s}.nextcore-booking-sidebar__calendar-confirm-btn:hover{background:#059669}.nextcore-booking-sidebar__select-dropdown{width:100%;min-width:12.5rem;max-height:15rem;padding:.5rem 0;overflow-y:auto}.nextcore-booking-sidebar__select-option{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:.625rem 1rem;font-size:.875rem;transition:background .2s}.nextcore-booking-sidebar__select-option:hover{background:#f9fafb}.nextcore-booking-sidebar__select-option--selected{color:#065f46;background:#ecfdf5;font-weight:500}.nextcore-booking-sidebar__guests-section,.nextcore-booking-sidebar__rooms-section{margin-bottom:1rem}.nextcore-booking-sidebar__rooms-label{color:#374151;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.nextcore-booking-sidebar__selected-rooms{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.nextcore-booking-sidebar__selected-room-row{background:#ecfdf5;border:1px solid #6ee7b7;border-radius:.75rem;justify-content:space-between;align-items:center;padding:.625rem .75rem;display:flex}.nextcore-booking-sidebar__selected-room-name{color:#111827;font-size:.875rem;font-weight:500}.nextcore-booking-sidebar__selected-room-meta{color:#6b7280;font-size:.75rem}.nextcore-booking-sidebar__room-remove-btn{cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.375rem;transition:background .2s}.nextcore-booking-sidebar__room-remove-btn:hover{background:#d1fae5}.nextcore-booking-sidebar__capacity-warning{background:#fffbeb;border:1px solid #fde68a;border-radius:.75rem;margin-bottom:1rem;padding:1rem}.nextcore-booking-sidebar__capacity-warning-inner{align-items:flex-start;gap:.75rem;display:flex}.nextcore-booking-sidebar__capacity-warning-body{flex:1}.nextcore-booking-sidebar__capacity-warning-title{color:#92400e;font-size:.875rem;font-weight:500}.nextcore-booking-sidebar__capacity-warning-text{color:#b45309;margin-top:.25rem;font-size:.75rem}.nextcore-booking-sidebar__suggestions{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.nextcore-booking-sidebar__suggestions-label{color:#92400e;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.nextcore-booking-sidebar__suggest-btn{text-align:left;cursor:pointer;background:0 0;border:1px solid;border-radius:.5rem;justify-content:space-between;align-items:center;width:100%;padding:.625rem;transition:background .2s;display:flex}.nextcore-booking-sidebar__suggest-btn--fits{background:#ecfdf5;border-color:#6ee7b7}.nextcore-booking-sidebar__suggest-btn--fits:hover{background:#d1fae5}.nextcore-booking-sidebar__suggest-btn--other{background:#fff;border-color:#e5e7eb}.nextcore-booking-sidebar__suggest-btn--other:hover{background:#f9fafb}.nextcore-booking-sidebar__suggest-room-name{color:#111827;font-size:.875rem;font-weight:500}.nextcore-booking-sidebar__suggest-room-meta{color:#6b7280;font-size:.75rem}.nextcore-booking-sidebar__fits-badge{color:#fff;background:#10b981;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.nextcore-booking-sidebar__capacity-info{color:#6b7280;background:#f9fafb;border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.nextcore-booking-sidebar__price-breakdown{border-top:1px solid #e5e7eb;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-top:1rem;display:flex}.nextcore-booking-sidebar__price-row{color:#4b5563;justify-content:space-between;font-size:.875rem;display:flex}.nextcore-booking-sidebar__price-row-icon{flex-shrink:0}.nextcore-booking-sidebar__price-total-row{border-top:1px solid #e5e7eb;justify-content:space-between;padding-top:.5rem;font-size:1.125rem;font-weight:700;display:flex}.nextcore-booking-sidebar__price-total-amount{color:#10b981}.nextcore-booking-sidebar__book-btn-wrap{margin-bottom:.75rem}.nextcore-booking-sidebar__contact-btns{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.nextcore-booking-sidebar__phone-btn{color:#374151;border:2px solid #e5e7eb;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-weight:500;transition:background .2s;display:flex}.nextcore-booking-sidebar__phone-btn:hover{background:#f9fafb}.nextcore-booking-sidebar__zalo-btn{color:#fff;background:#0068ff;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-weight:500;transition:background .2s;display:flex}.nextcore-booking-sidebar__zalo-btn:hover{background:#0052cc}.nextcore-booking-sidebar__note{color:#6b7280;text-align:center;margin-top:1rem;font-size:.75rem}.nextcore-booking-form{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;position:sticky;top:6rem;box-shadow:0 4px 6px -1px #0000001a}.nextcore-booking-form__inner{padding:1.5rem}.nextcore-booking-form__price-header{justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;display:flex}.nextcore-booking-form__price-amount{color:#10b981;font-size:1.5rem;font-weight:700}.nextcore-booking-form__price-range{color:#6b7280;font-size:1.125rem}.nextcore-booking-form__price-unit{color:#4b5563}.nextcore-booking-form__date-field{margin-bottom:1rem;position:relative}.nextcore-booking-form__date-label{color:#374151;margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.nextcore-booking-form__date-btn{text-align:left;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:.5rem;justify-content:space-between;align-items:center;width:100%;padding:.75rem;transition:all .2s;display:flex}.nextcore-booking-form__date-btn--open{background:#ecfdf5;border-color:#10b981}.nextcore-booking-form__date-btn:not(.nextcore-booking-form__date-btn--open):hover{border-color:#6ee7b7}.nextcore-booking-form__date-btn-left{align-items:center;gap:.5rem;display:flex}.nextcore-booking-form__date-btn-right{flex:1;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.nextcore-booking-form__date-text{font-size:.875rem;font-weight:500}.nextcore-booking-form__date-text--empty{color:#9ca3af}.nextcore-booking-form__date-text--filled{color:#111827}.nextcore-booking-form__guests-field{margin-bottom:1rem}.nextcore-booking-form__guests-label{color:#374151;margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.nextcore-booking-form__guests-row{border:1px solid #d1d5db;border-radius:.5rem;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.nextcore-booking-form__guests-display{align-items:center;gap:.5rem;display:flex}.nextcore-booking-form__guests-count{font-weight:500}.nextcore-booking-form__guests-controls{align-items:center;gap:.5rem;display:flex}.nextcore-booking-form__guest-btn{cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background .2s;display:flex}.nextcore-booking-form__guest-btn:hover:not(:disabled){background:#f3f4f6}.nextcore-booking-form__guest-btn:disabled{opacity:.5;cursor:not-allowed}.nextcore-booking-form__guest-count-display{text-align:center;width:2rem;font-weight:500}.nextcore-booking-form__price-breakdown{background:#ecfdf5;border-radius:.75rem;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.nextcore-booking-form__breakdown-row{color:#065f46;justify-content:space-between;align-items:center;display:flex}.nextcore-booking-form__breakdown-label{font-size:.875rem;font-weight:500}.nextcore-booking-form__breakdown-nights{font-weight:700}.nextcore-booking-form__breakdown-total{font-size:1.125rem;font-weight:700}.nextcore-booking-form__breakdown-note{color:#6b7280;margin-top:.5rem;font-size:.75rem}.nextcore-booking-form__note{text-align:center;color:#6b7280;margin-top:.75rem;font-size:.75rem}.nextcore-booking-summary{margin-top:2rem;position:relative}.nextcore-booking-summary__card{background:#fff;border:2px solid #34d399;border-radius:1rem;overflow:hidden;box-shadow:0 1px 2px #0000000d}.nextcore-booking-summary__card-header{background:#ecfdf580;border-bottom:1px solid #d1fae5;padding:1rem 1.5rem}.nextcore-booking-summary__card-title{color:#065f46;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;display:flex}.nextcore-booking-summary__card-body{padding:1.5rem}.nextcore-booking-summary__details{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.nextcore-booking-summary__narrative{color:#374151;font-size:.9375rem;line-height:1.625}.nextcore-booking-summary__peak-warning{color:#4b5563;font-size:.875rem;line-height:1.625}.nextcore-booking-summary__disclaimer{color:#4b5563;border-top:1px solid #f3f4f6;padding-top:.75rem;font-size:.875rem;line-height:1.625}.nextcore-booking-summary__price-breakdown{background:linear-gradient(90deg,#ecfdf5,#f0fdfa);border:1px solid #d1fae5;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem}.nextcore-booking-summary__price-breakdown-label{color:#374151;margin-bottom:.75rem;font-size:.875rem;font-weight:500}.nextcore-booking-summary__price-rows{flex-direction:column;gap:.5rem;display:flex}.nextcore-booking-summary__price-row{justify-content:space-between;font-size:.875rem;display:flex}.nextcore-booking-summary__price-row-label{color:#4b5563}.nextcore-booking-summary__price-row-surcharge{color:#d97706}.nextcore-booking-summary__price-row-value{color:#1f2937;font-weight:500}.nextcore-booking-summary__price-row-surcharge-value{color:#d97706;font-weight:500}.nextcore-booking-summary__price-total-row{border-top:1px solid #6ee7b7;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.nextcore-booking-summary__price-total-label{color:#374151;font-size:.875rem;font-weight:500}.nextcore-booking-summary__price-total-amount{color:#10b981;font-size:1.5rem;font-weight:700}.nextcore-booking-contact-form__cta-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#10b981,#059669,#0d9488);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:1rem;font-size:1.125rem;font-weight:700;transition:all .2s;display:flex;transform:translateY(0);box-shadow:0 10px 15px -3px #10b9814d}.nextcore-booking-contact-form__cta-btn:hover{background:linear-gradient(90deg,#059669,#047857,#0f766e);transform:translateY(-2px);box-shadow:0 20px 25px -5px #10b98166}.nextcore-booking-contact-form__collapse-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.25rem;width:100%;margin-bottom:1rem;padding:.5rem;font-size:.875rem;transition:color .2s;display:flex}.nextcore-booking-contact-form__collapse-btn:hover{color:#374151}.nextcore-booking-contact-form__fields{flex-direction:column;gap:1rem;margin-bottom:1.5rem;animation:.3s slideInFromTop;display:flex}.nextcore-booking-contact-form__field-label{color:#374151;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.nextcore-booking-contact-form__field-required{color:#ef4444}.nextcore-booking-contact-form__field-optional{color:#9ca3af;font-size:.75rem}.nextcore-booking-contact-form__input{border:2px solid #e5e7eb;border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.nextcore-booking-contact-form__input:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.nextcore-booking-contact-form__textarea{resize:none;border:2px solid #e5e7eb;border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.nextcore-booking-contact-form__textarea:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.nextcore-booking-contact-form__submit-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#10b981,#0d9488);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 10px 15px -3px #10b98133}.nextcore-booking-contact-form__submit-btn:hover:not(:disabled){background:linear-gradient(90deg,#059669,#0f766e)}.nextcore-booking-contact-form__submit-btn:disabled{opacity:.5;cursor:not-allowed}.nextcore-booking-contact-form__validation-hint{color:#d97706;text-align:center;justify-content:center;align-items:center;gap:.25rem;margin-top:.75rem;font-size:.75rem;display:flex}.nextcore-booking-house-rules{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.nextcore-booking-house-rules__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.nextcore-booking-house-rules__title{color:#1f2937;font-size:1rem;font-weight:600}.nextcore-booking-house-rules__count{color:#6b7280;background:#f3f4f6;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem}.nextcore-booking-house-rules__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.nextcore-booking-house-rules__item{color:#374151;align-items:flex-start;gap:.625rem;font-size:.875rem;display:flex}.nextcore-booking-house-rules__item-icon{border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;margin-top:.125rem;display:flex}.nextcore-booking-house-rules__item-icon--default{color:#10b981;background:#d1fae5}.nextcore-booking-house-rules__item-icon--prohibition,.nextcore-booking-house-rules__item-icon--cancellation{color:#f43f5e;background:#ffe4e6}.nextcore-booking-house-rules__item-icon--surcharge,.nextcore-booking-house-rules__item-icon--peak_day{color:#f59e0b;background:#fef3c7}.nextcore-booking-house-rules__item-icon--pet{color:#f97316;background:#ffedd5}.nextcore-booking-house-rules__item-text{line-height:1.625}.nextcore-booking-house-rules__toggle-btn{color:#10b981;cursor:pointer;background:0 0;border:1px solid #6ee7b7;border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;width:100%;margin-top:.75rem;padding:.5rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.nextcore-booking-house-rules__toggle-btn:hover{color:#059669;background:#ecfdf5}.nextcore-booking-weather{border-top:1px solid #f3f4f6;padding-top:.75rem}.nextcore-booking-weather__out-of-range{color:#4b5563;font-size:.875rem;line-height:1.625}.nextcore-booking-weather__out-of-range+.nextcore-booking-weather__out-of-range{margin-top:.375rem}.nextcore-booking-weather__loading{color:#9ca3af;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.nextcore-booking-weather__summary{color:#4b5563;font-size:.875rem;line-height:1.625}.nextcore-booking-weather__summary+.nextcore-booking-weather__summary{margin-top:.5rem}.nextcore-booking-weather__day-strip{gap:.5rem;margin-top:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.nextcore-booking-weather__day-card{border:1px solid;border-radius:.75rem;flex-direction:column;flex-shrink:0;align-items:center;gap:.125rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.nextcore-booking-weather__day-card--checkin{background:#ecfdf599;border-color:#6ee7b7}.nextcore-booking-weather__day-card--checkout{background:#fffbeb99;border-color:#fcd34d}.nextcore-booking-weather__day-card--normal{background:#f9fafb66;border-color:#f3f4f6}.nextcore-booking-weather__day-date{color:#6b7280;font-weight:500}.nextcore-booking-weather__day-icon{font-size:1.125rem}.nextcore-booking-weather__day-temp{color:#374151;font-weight:600}.nextcore-booking-weather__day-rain{font-size:.625rem;font-weight:500}.nextcore-booking-weather__day-rain--low{color:#9ca3af}.nextcore-booking-weather__day-rain--high{color:#0ea5e9}.nextcore-booking-weather__forecast-note{color:#9ca3af;margin-top:.5rem;font-size:.75rem;font-style:italic}.nextcore-booking-weather-widget{background:linear-gradient(135deg,#eff6ffcc,#fff,#f0f9ff80);border:1px solid #bfdbfe;border-radius:1rem;overflow:hidden}.nextcore-booking-weather-widget__out-of-range{color:#b45309;background:#fffbeb80;border:1px solid #fde68a;border-radius:1rem;align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;display:flex}.nextcore-booking-weather-widget__loading{color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;display:flex}.nextcore-booking-weather-widget__toggle-btn{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:1rem;transition:background .2s;display:flex}.nextcore-booking-weather-widget__toggle-btn:hover{background:#eff6ff80}.nextcore-booking-weather-widget__toggle-left{align-items:center;gap:.75rem;display:flex}.nextcore-booking-weather-widget__icon-wrap{color:#fff;background:linear-gradient(135deg,#3b82f6,#38bdf8);border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.nextcore-booking-weather-widget__meta-title{color:#111827;text-align:left;font-size:.875rem;font-weight:700}.nextcore-booking-weather-widget__meta-sub{color:#6b7280;margin-top:.125rem;font-size:.75rem}.nextcore-booking-weather-widget__toggle-right{align-items:center;gap:.5rem;display:flex}.nextcore-booking-weather-widget__emoji-strip{align-items:center;gap:.25rem;display:none}@media (min-width:640px){.nextcore-booking-weather-widget__emoji-strip{display:flex}}.nextcore-booking-weather-widget__body{transition:max-height .3s,opacity .3s;overflow:hidden}.nextcore-booking-weather-widget__body--expanded{opacity:1;max-height:37.5rem}.nextcore-booking-weather-widget__body--collapsed{opacity:0;max-height:0}.nextcore-booking-weather-widget__summary-row{color:#1d4ed8;background:#eff6ffcc;border-radius:.75rem;align-items:flex-start;gap:.5rem;margin:0 1rem .75rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.nextcore-booking-weather-widget__forecast-list{flex-direction:column;gap:.5rem;padding:0 1rem 1rem;display:flex}.nextcore-booking-weather-widget__forecast-row{border:1px solid;border-radius:.75rem;align-items:center;gap:.75rem;padding:.75rem;transition:background .2s;display:flex}.nextcore-booking-weather-widget__forecast-row--checkin{background:#ecfdf54d;border-color:#6ee7b7}.nextcore-booking-weather-widget__forecast-row--checkout{background:#fffbeb4d;border-color:#fcd34d}.nextcore-booking-weather-widget__forecast-row--normal{background:#fff9;border-color:#f3f4f6}.nextcore-booking-weather-widget__forecast-row--normal:hover{background:#f9fafb80}.nextcore-booking-weather-widget__forecast-date{text-align:center;flex-shrink:0;width:3rem}.nextcore-booking-weather-widget__forecast-date-dow{color:#9ca3af;text-transform:uppercase;font-size:.625rem;font-weight:500}.nextcore-booking-weather-widget__forecast-date-day{color:#111827;font-size:.875rem;font-weight:700}.nextcore-booking-weather-widget__forecast-date-tag{font-size:.5625rem;font-weight:600}.nextcore-booking-weather-widget__forecast-date-tag--checkin{color:#10b981}.nextcore-booking-weather-widget__forecast-date-tag--checkout{color:#d97706}.nextcore-booking-weather-widget__forecast-condition{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.nextcore-booking-weather-widget__forecast-condition-text{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.nextcore-booking-weather-widget__forecast-temp{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.nextcore-booking-weather-widget__forecast-temp-max{color:#111827;font-size:.75rem;font-weight:600}.nextcore-booking-weather-widget__forecast-temp-min{color:#9ca3af;font-size:.625rem}.nextcore-booking-weather-widget__forecast-rain{border-radius:9999px;flex-shrink:0;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:flex}.nextcore-booking-weather-widget__forecast-wind{color:#9ca3af;flex-shrink:0;align-items:center;gap:.25rem;font-size:.625rem;display:none}@media (min-width:768px){.nextcore-booking-weather-widget__forecast-wind{display:flex}}.nextcore-booking-weather-widget__sunrise-row{color:#9ca3af;justify-content:center;align-items:center;gap:1.5rem;padding-top:.5rem;font-size:.625rem;display:flex}.nextcore-booking-weather-widget__sunrise-item{align-items:center;gap:.25rem;display:flex}.nextcore-booking-weather-widget__rain-warning{color:#b45309;background:#fffbeb;border-radius:.75rem;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.6875rem;display:flex}.nextcore-booking-room-card{text-align:left;cursor:pointer;background:0 0;border:2px solid;border-radius:1rem;width:100%;padding:.75rem;transition:all .2s;position:relative}@media (min-width:640px){.nextcore-booking-room-card{padding:1rem}}.nextcore-booking-room-card--selected{background:#ecfdf5;border-color:#10b981;box-shadow:0 10px 15px -3px #10b9811a}.nextcore-booking-room-card--unselected{background:#fff;border-color:#e5e7eb}.nextcore-booking-room-card--unselected:hover{border-color:#6ee7b7;box-shadow:0 4px 6px -1px #0000001a}.nextcore-booking-room-card__recommend-badge{color:#fff;z-index:10;background:linear-gradient(90deg,#fbbf24,#f97316);border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:-.5rem;right:-.5rem;box-shadow:0 4px 6px -1px #0000001a}.nextcore-booking-room-card__selected-badge{color:#fff;background:#10b981;border-radius:9999px;padding:.25rem;position:absolute;top:-.5rem;right:-.5rem;box-shadow:0 4px 6px -1px #0000001a}.nextcore-booking-room-card__name{color:#111827;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:.375rem;padding-right:1.5rem;font-size:.875rem;font-weight:600;display:-webkit-box;overflow:hidden}@media (min-width:640px){.nextcore-booking-room-card__name{margin-bottom:.5rem;font-size:1rem}}.nextcore-booking-room-card__price-row{align-items:baseline;gap:.25rem;margin-bottom:.5rem;display:flex}@media (min-width:640px){.nextcore-booking-room-card__price-row{margin-bottom:.75rem}}.nextcore-booking-room-card__price{color:#10b981;font-size:1rem;font-weight:700}@media (min-width:640px){.nextcore-booking-room-card__price{font-size:1.125rem}}.nextcore-booking-room-card__price-unit{color:#6b7280;font-size:.75rem}.nextcore-booking-room-card__meta{color:#4b5563;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.75rem;display:flex}@media (min-width:640px){.nextcore-booking-room-card__meta{gap:1rem;font-size:.875rem}}.nextcore-booking-room-card__meta-item{white-space:nowrap;align-items:center;gap:.25rem;display:flex}.nextcore-booking-housekeeping-badge{border:1px solid;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.nextcore-booking-housekeeping-badge--clean{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.nextcore-booking-housekeeping-badge--cleaning{color:#92400e;background:#fef3c7;border-color:#fde68a}.nextcore-booking-housekeeping-badge--dirty{color:#991b1b;background:#fee2e2;border-color:#fecaca}.nextcore-booking-guest-dropdown{z-index:50;margin-top:.5rem;position:absolute;top:100%;left:0;right:0}.nextcore-booking-guest-dropdown__card{background:#fff;border:1px solid #f3f4f6;border-radius:1rem;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.nextcore-booking-guest-dropdown__header{background:linear-gradient(90deg,#ecfdf5,#f0fdfa);border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.nextcore-booking-guest-dropdown__header-title{color:#374151;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.nextcore-booking-guest-dropdown__capacity-label{font-size:.875rem;font-weight:500}.nextcore-booking-guest-dropdown__capacity-label--normal{color:#6b7280}.nextcore-booking-guest-dropdown__capacity-label--over{color:#ef4444}.nextcore-booking-guest-dropdown__body{flex-direction:column;gap:1rem;padding:1rem;display:flex}.nextcore-booking-guest-dropdown__type-row{justify-content:space-between;align-items:center;display:flex}.nextcore-booking-guest-dropdown__type-info{align-items:center;gap:.75rem;display:flex}.nextcore-booking-guest-dropdown__type-icon{font-size:1.25rem}.nextcore-booking-guest-dropdown__type-name{color:#111827;align-items:center;gap:.5rem;font-weight:500;display:flex}.nextcore-booking-guest-dropdown__type-desc{color:#6b7280;font-size:.75rem}.nextcore-booking-guest-dropdown__pet-badge{border-radius:9999px;padding:.125rem .375rem;font-size:.75rem}.nextcore-booking-guest-dropdown__pet-badge--allowed{color:#065f46;background:#d1fae5}.nextcore-booking-guest-dropdown__pet-badge--limited{color:#92400e;background:#fef3c7}.nextcore-booking-guest-dropdown__controls{align-items:center;gap:.75rem;display:flex}.nextcore-booking-guest-dropdown__count-btn{color:#6b7280;cursor:pointer;background:0 0;border:2px solid #e5e7eb;border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:all .2s;display:flex}.nextcore-booking-guest-dropdown__count-btn:hover:not(:disabled){color:#10b981;border-color:#10b981}.nextcore-booking-guest-dropdown__count-btn:disabled{opacity:.3;cursor:not-allowed}.nextcore-booking-guest-dropdown__count{text-align:center;color:#111827;width:2rem;font-weight:600}.nextcore-booking-guest-dropdown__pet-warning{color:#d97706;align-items:center;gap:.375rem;margin-top:.5rem;margin-left:2.5rem;font-size:.75rem;display:flex}.nextcore-booking-guest-dropdown__no-pet-notice{color:#6b7280;background:#f9fafb;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;display:flex}.nextcore-booking-guest-dropdown__over-capacity-notice{color:#dc2626;background:#fff1f2;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;display:flex}.nextcore-booking-guest-dropdown__info-notice{color:#6b7280;background:#f9fafb;border-radius:.75rem;align-items:flex-start;gap:.5rem;padding:.75rem;font-size:.75rem;display:flex}.nextcore-booking-guest-dropdown__confirm-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:.75rem;width:100%;padding:.75rem;font-weight:500;transition:background .2s}.nextcore-booking-guest-dropdown__confirm-btn:hover{background:#059669}.nextcore-booking-time-picker{z-index:50;margin-top:.5rem;position:absolute;top:100%;left:0;right:0}.nextcore-booking-time-picker__card{background:#fff;border:1px solid #f3f4f6;border-radius:1rem;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.nextcore-booking-time-picker__header{background:linear-gradient(90deg,#ecfdf5,#f0fdfa);border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:.625rem 1rem;display:flex}.nextcore-booking-time-picker__title{color:#374151;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.nextcore-booking-time-picker__close-btn{cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:.25rem;transition:background .2s}.nextcore-booking-time-picker__close-btn:hover{background:#f3f4f6}.nextcore-booking-time-picker__body{padding:.75rem}.nextcore-booking-time-picker__periods{grid-template-columns:repeat(4,1fr);gap:.375rem;display:grid}.nextcore-booking-time-picker__period-label{color:#6b7280;justify-content:center;align-items:center;gap:.25rem;margin-bottom:.25rem;padding-bottom:.125rem;font-size:.75rem;font-weight:500;display:flex}.nextcore-booking-time-picker__period-hours{flex-direction:column;gap:.375rem;display:flex}.nextcore-booking-time-picker__hour-btn{cursor:pointer;border:none;border-radius:.5rem;width:100%;padding:.25rem 0;font-size:.75rem;font-weight:500;transition:all .2s}.nextcore-booking-time-picker__hour-btn--selected{color:#fff;background:#10b981;box-shadow:0 4px 6px -1px #0000001a}.nextcore-booking-time-picker__hour-btn--disabled{color:#d1d5db;cursor:not-allowed;background:#f3f4f6}.nextcore-booking-time-picker__hour-btn--enabled{color:#374151;background:#f9fafb}.nextcore-booking-time-picker__hour-btn--enabled:hover{color:#065f46;background:#d1fae5}.nextcore-booking-qr-payment{background:#fff;border-radius:1rem;max-width:28rem;margin:0 auto;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.nextcore-booking-qr-payment__header{color:#fff;text-align:center;background:linear-gradient(90deg,#10b981,#059669);padding:1.5rem}.nextcore-booking-qr-payment__header-icon{margin:0 auto .75rem}.nextcore-booking-qr-payment__header-title{margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.nextcore-booking-qr-payment__header-subtitle{color:#fffc;font-size:.875rem}.nextcore-booking-qr-payment__tabs{border-bottom:1px solid #e5e7eb;display:flex}.nextcore-booking-qr-payment__tab{cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.75rem;font-size:.875rem;font-weight:500;transition:all .2s}.nextcore-booking-qr-payment__tab--active-bank{color:#10b981;border-bottom-color:#10b981}.nextcore-booking-qr-payment__tab--active-momo{color:#a50064;border-bottom-color:#a50064}.nextcore-booking-qr-payment__tab--active-zalopay{color:#0068ff;border-bottom-color:#0068ff}.nextcore-booking-qr-payment__tab--inactive{color:#6b7280}.nextcore-booking-qr-payment__tab--inactive:hover{color:#374151}.nextcore-booking-qr-payment__body{padding:1.5rem}.nextcore-booking-qr-payment__qr-center{text-align:center}.nextcore-booking-qr-payment__qr-image-wrap{background:#fff;border:2px dashed #e5e7eb;border-radius:.75rem;margin-bottom:1rem;padding:1rem;display:inline-block}.nextcore-booking-qr-payment__bank-info{text-align:left;background:#f9fafb;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.nextcore-booking-qr-payment__bank-row{justify-content:space-between;align-items:center;display:flex}.nextcore-booking-qr-payment__bank-row--divider{border-top:1px solid #e5e7eb;padding-top:.5rem}.nextcore-booking-qr-payment__bank-label{color:#6b7280;font-size:.875rem}.nextcore-booking-qr-payment__bank-value{font-weight:500}.nextcore-booking-qr-payment__bank-value--mono{font-family:monospace}.nextcore-booking-qr-payment__bank-value--amount{color:#10b981;font-size:1.125rem;font-weight:700}.nextcore-booking-qr-payment__bank-value-row{align-items:center;gap:.5rem;display:flex}.nextcore-booking-qr-payment__copy-btn{cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.375rem;transition:background .2s}.nextcore-booking-qr-payment__copy-btn:hover{background:#e5e7eb}.nextcore-booking-qr-payment__wallet-header{color:#fff;text-align:center;border-radius:.75rem;margin-bottom:1rem;padding:1.5rem}.nextcore-booking-qr-payment__wallet-header--momo{background:linear-gradient(135deg,#a50064,#d82d8b)}.nextcore-booking-qr-payment__wallet-header--zalopay{background:linear-gradient(135deg,#0068ff,#0050cc)}.nextcore-booking-qr-payment__wallet-phone{margin-top:.25rem;font-size:1.5rem;font-weight:700}.nextcore-booking-qr-payment__wallet-label{opacity:.8;font-size:.875rem}.nextcore-booking-qr-payment__wallet-amount-box{text-align:center;background:#f9fafb;border-radius:.75rem;padding:1rem}.nextcore-booking-qr-payment__wallet-amount-label{color:#4b5563;margin-bottom:.5rem;font-size:.875rem}.nextcore-booking-qr-payment__wallet-amount--momo{color:#a50064;font-size:1.5rem;font-weight:700}.nextcore-booking-qr-payment__wallet-amount--zalopay{color:#0068ff;font-size:1.5rem;font-weight:700}.nextcore-booking-qr-payment__wallet-copy-btn{color:#fff;cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.75rem;font-weight:500;transition:background .2s;display:flex}.nextcore-booking-qr-payment__wallet-copy-btn--momo{background:#a50064}.nextcore-booking-qr-payment__wallet-copy-btn--momo:hover{background:#8a0053}.nextcore-booking-qr-payment__wallet-copy-btn--zalopay{background:#0068ff}.nextcore-booking-qr-payment__wallet-copy-btn--zalopay:hover{background:#0050cc}.nextcore-booking-qr-payment__footer{padding:0 1.5rem 1.5rem}.nextcore-booking-qr-payment__footer-note{color:#9ca3af;text-align:center;font-size:.75rem}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.nextcore-booking-confirmation__rule-card--check-in{color:#1d4ed8;background:linear-gradient(to bottom right,#eff6ff,#eef2ff);border-color:#bfdbfe}.nextcore-booking-confirmation__rule-card--pricing{color:#047857;background:linear-gradient(to bottom right,#ecfdf5,#f0fdfa);border-color:#6ee7b7}.nextcore-booking-confirmation__rule-card--surcharge{color:#92400e;background:linear-gradient(to bottom right,#fffbeb,#fff7ed);border-color:#fcd34d}.nextcore-booking-confirmation__rule-card--peak-day{color:#6b21a8;background:linear-gradient(to bottom right,#faf5ff,#fdf2f8);border-color:#d8b4fe}.nextcore-booking-confirmation__rule-card--guest{color:#155e75;background:linear-gradient(to bottom right,#ecfeff,#eff6ff);border-color:#a5f3fc}.nextcore-booking-confirmation__rule-card--pet{color:#9a3412;background:linear-gradient(to bottom right,#fff7ed,#fffbeb);border-color:#fdba74}.nextcore-booking-confirmation__rule-card--prohibition{color:#9f1239;background:linear-gradient(to bottom right,#fff1f2,#fef2f2);border-color:#fda4af}.nextcore-booking-confirmation__rule-card--care{color:#854d0e;background:linear-gradient(to bottom right,#fefce8,#fffbeb);border-color:#fde047}.nextcore-booking-confirmation__rule-card--noise{color:#5b21b6;background:linear-gradient(to bottom right,#f5f3ff,#faf5ff);border-color:#c4b5fd}.nextcore-booking-confirmation__rule-card--cancellation{color:#991b1b;background:linear-gradient(to bottom right,#fef2f2,#fff1f2);border-color:#fca5a5}.nextcore-booking-confirmation__rule-card--default{color:#374151;background:linear-gradient(to bottom right,#f9fafb,#f8fafc);border-color:#e5e7eb}.nextcore-booking-sidebar__field-btn--warning{background:#fffbeb;border-color:#fbbf24}.nextcore-booking-sidebar__suggestion-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}
.nextcore-booking-section__chip,.nextcore-booking-summary__chip,.nextcore-booking-weather__chip{border-radius:.375rem;align-items:center;padding:.125rem .5rem;font-size:.875rem;font-weight:600;display:inline-flex}.nextcore-booking-section__chip--amber,.nextcore-booking-summary__chip--amber,.nextcore-booking-weather__chip--amber{color:#92400e;background:#fef3c7}.nextcore-booking-section__chip--orange,.nextcore-booking-summary__chip--orange,.nextcore-booking-weather__chip--orange{color:#9a3412;background:#ffedd5}.nextcore-booking-section__chip--emerald,.nextcore-booking-summary__chip--emerald,.nextcore-booking-weather__chip--emerald{color:#047857;background:#d1fae5}.nextcore-booking-section__chip--rose,.nextcore-booking-summary__chip--rose,.nextcore-booking-weather__chip--rose{color:#9f1239;background:#ffe4e6}.nextcore-booking-section__chip--blue,.nextcore-booking-summary__chip--blue,.nextcore-booking-weather__chip--blue{color:#1d4ed8;background:#dbeafe}.nextcore-booking-weather__chip--sky{color:#0369a1;background:#e0f2fe}.nextcore-booking-weather__chip--indigo{color:#4338ca;background:#e0e7ff}.nextcore-booking-weather__chip--pink{color:#be185d;background:#fce7f3}.nextcore-booking-section__chip--amber{padding:.125rem .375rem;font-weight:700}.nextcore-booking-section__chip--orange{padding:.125rem .375rem;font-weight:800}.nextcore-booking-summary__chip--lg{border-radius:.5rem;padding:.25rem .625rem}.nextcore-booking-summary__chip--md{border-radius:.5rem;padding:.25rem .5rem}.nextcore-booking-summary__chip--md-medium{border-radius:.5rem;padding:.25rem .5rem;font-weight:500}.nextcore-booking-summary__chip--sm{padding:.125rem .5rem}.nextcore-booking-section__sameday-notice-title{font-weight:500}.nextcore-booking-section__sameday-notice-text{margin-top:.25rem;font-size:.875rem}.nextcore-booking-section__cleaning-notice-title{color:#1e40af;font-weight:500}.nextcore-booking-section__cleaning-notice-text{color:#1d4ed8;margin-top:.25rem;font-size:.875rem}.nextcore-booking-section__capacity-warning-hint{color:#6b7280;margin-top:.5rem;font-size:.875rem}.nextcore-booking-section__capacity-warning-link{color:#059669;font-weight:500}.nextcore-booking-section__capacity-warning-link:hover{text-decoration:underline}.nextcore-booking-section__capacity-warning-note{color:#d97706;margin-top:.25rem;font-size:.75rem}.nextcore-booking-section__form-required{color:#ef4444}.nextcore-booking-weather-widget__emoji-strip-item{font-size:.875rem}.nextcore-booking-guest-dropdown__no-pet-icon{font-size:1.125rem}.nextcore-booking-contact-form__cta-icon{font-size:1.25rem}.nextcore-booking-confirmation__rules-text{white-space:pre-line}
