.date-range-picker{position:relative;width:100%;z-index:1}.date-inputs-row{display:flex;align-items:center;gap:.75rem}.date-input-wrapper{flex:1 1;cursor:pointer;min-width:0}.date-input-wrapper:hover{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.09);background:#fff}.calendar-icon{font-size:1.05rem;color:var(--gold);flex-shrink:0}.date-input-content{display:flex;flex-direction:column;gap:.2rem;flex:1 1;min-width:0}.date-input-content label{font-size:.67rem;letter-spacing:2px;text-transform:uppercase;color:var(--text);opacity:.5;font-weight:700}.date-selected{color:var(--text)}.date-placeholder,.date-selected{font-family:var(--font-serif);font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-placeholder{color:#999}.date-separator{font-size:1.2rem;color:var(--gold);flex-shrink:0}.calendar-overlay{position:fixed;inset:0;background:transparent;z-index:3000}.calendar-popup{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.2);z-index:3001;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid rgba(212,175,55,.2)}.calendar-header h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:var(--dark);margin:0}.calendar-close{background:transparent;border:1px solid rgba(0,0,0,.1);width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1.5rem;color:var(--text)}.calendar-close:hover{background:var(--dark);border-color:var(--dark);color:#fff}.calendar-selection-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:rgba(212,175,55,.08);border-radius:8px;margin-bottom:1rem;flex-wrap:wrap}.calendar-selection-info span{font-size:.85rem;color:var(--text)}.calendar-selection-info strong{color:var(--dark);font-weight:600}.reset-dates-btn{background:transparent;border:1px solid rgba(0,0,0,.15);padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:600;color:var(--text);cursor:pointer;transition:all .2s;white-space:nowrap}.reset-dates-btn:hover{background:var(--dark);border-color:var(--dark);color:#fff}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-nav-btn{background:transparent;border:1px solid rgba(0,0,0,.12);width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text);font-size:1rem}.calendar-nav-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}.calendar-month{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--dark)}.calendar-grid{margin-bottom:1rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.25rem;gap:.25rem;margin-bottom:.5rem}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:700;color:var(--text);opacity:.5;padding:.5rem 0;text-transform:uppercase;letter-spacing:.5px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.25rem;gap:.25rem}.calendar-day{aspect-ratio:1;border:1.5px solid rgba(0,0,0,.08);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative;font-family:var(--font-serif);font-size:.9rem;font-weight:500;color:var(--dark)}.calendar-day.empty{border:none;background:transparent;cursor:default}.calendar-day:not(.empty):not(.disabled):hover{border-color:var(--gold);background:rgba(212,175,55,.1);transform:scale(1.05)}.calendar-day:not(.disabled):not(.unavailable){border-color:rgba(212,175,55,.3);background:rgba(212,175,55,.05)}.calendar-day:not(.disabled):not(.unavailable):hover{border-color:var(--gold);background:rgba(212,175,55,.15)}.calendar-day.unavailable{background:#f5f5f5;border-color:#e0e0e0;color:#999;cursor:not-allowed}.calendar-day.unavailable:hover{transform:none;border-color:#e0e0e0;background:#f5f5f5}.unavailable-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;color:#c62828;font-weight:700;pointer-events:none}.calendar-day.disabled{background:#fafafa;border-color:#f0f0f0;color:#ccc;cursor:not-allowed}.calendar-day.disabled:hover{transform:none;border-color:#f0f0f0;background:#fafafa}.calendar-day.selected{background:#d4edda;border-color:#28a745;font-weight:700;box-shadow:0 4px 12px rgba(40,167,69,.2)}.calendar-day.selected,.calendar-day.selected .day-number{color:var(--gold)!important}.calendar-day.selected:hover{transform:scale(1.05);background:#c3e6cb}.calendar-day.check-in{border-top-right-radius:8px;border-bottom-right-radius:8px}.calendar-day.check-out{border-top-left-radius:8px;border-bottom-left-radius:8px}.calendar-day.in-range{background:rgba(212,175,55,.15);border-color:rgba(212,175,55,.4);border-radius:0}.day-number{position:relative;z-index:1;color:var(--dark)}.calendar-day.selected .day-number{color:#fff}.calendar-legend{display:flex;justify-content:center;gap:1.5rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.08);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text)}.legend-color{width:20px;height:20px;border-radius:4px;border:1.5px solid}.legend-color.available{background:rgba(212,175,55,.15);border-color:rgba(212,175,55,.4)}.legend-color.unavailable{background:#f5f5f5;border-color:#e0e0e0;position:relative}.legend-color.unavailable:after{content:"✕";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9rem;color:#c62828;font-weight:700}.legend-color.selected{background:#d4edda;border-color:#28a745}@media (max-width:640px){.calendar-overlay{background:rgba(20,14,8,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.calendar-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:95%;max-width:none;padding:1.25rem;border-radius:12px}.calendar-header h3{font-size:1rem}.calendar-month{font-size:.9rem}.calendar-day{font-size:.85rem}.calendar-weekday{font-size:.7rem}.calendar-legend{gap:1rem}.legend-item{font-size:.75rem}.legend-color{width:18px;height:18px}.date-inputs-row{flex-direction:column;gap:.5rem}.date-separator{display:none}.date-input-wrapper{width:100%}}.booking-modal .date-range-picker .date-input-wrapper{padding:.6rem .8rem;border-radius:6px}.booking-modal .date-range-picker .date-input-content label{font-size:.65rem}.booking-modal .date-range-picker .date-placeholder,.booking-modal .date-range-picker .date-selected{font-size:.88rem}.booking-modal .date-range-picker .calendar-icon{font-size:.95rem}.booking-modal .calendar-popup{position:fixed!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important}.booking-page{min-height:100vh;background:var(--cream)}.booking-hero-section{position:relative;height:62vh;min-height:480px;display:flex;flex-direction:column;overflow:hidden}.booking-hero-bg,.booking-hero-overlay{position:absolute;inset:0}.booking-hero-overlay{background:linear-gradient(180deg,rgba(20,14,8,.62) 0,rgba(20,14,8,.38) 55%,rgba(20,14,8,.72))}.booking-nav{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1.8rem 5%}.booking-logo{font-family:var(--font-cursive);font-size:2rem;color:#fff;text-decoration:none;text-shadow:0 2px 10px rgba(0,0,0,.35)}.booking-nav .back-link{display:flex;align-items:center;gap:.5rem;color:hsla(0,0%,100%,.85);text-decoration:none;font-size:.9rem;letter-spacing:.04em;transition:color .3s}.booking-nav .back-link:hover{color:var(--gold)}.booking-hero-content{position:relative;z-index:2;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 5% 3rem}.page-label{display:inline-block;font-size:.72rem;letter-spacing:3px;text-transform:uppercase;color:hsla(0,0%,100%,.7);border:1px solid hsla(0,0%,100%,.3);padding:.4rem 1.1rem;border-radius:20px;margin-bottom:.75rem}.booking-hero-content h1{font-family:var(--font-cursive);font-size:clamp(3.5rem,8vw,6rem);font-weight:400;color:#fff;line-height:1;margin:.25rem 0 .75rem;text-shadow:0 4px 20px rgba(0,0,0,.3)}.booking-hero-content p{font-size:1.05rem;opacity:.82;letter-spacing:.04em;max-width:460px}.hero-divider{width:50px;height:1px;background:var(--gold);margin:.75rem auto 1rem}.search-container{padding:0 5%;margin-top:-3.5rem;position:relative;z-index:20}.search-box{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.14),0 4px 16px rgba(0,0,0,.08);padding:1.75rem 2rem;display:flex;align-items:flex-end;gap:1rem;max-width:1200px;margin:0 auto;flex-wrap:wrap}.search-field{flex:1 1;min-width:180px}.search-field label{margin-bottom:.5rem}.search-field .date-range-picker .date-input-content label,.search-field label{display:block;font-size:.67rem;letter-spacing:2px;text-transform:uppercase;color:var(--text);opacity:.5;font-weight:700}.search-field .date-range-picker .date-input-content label{margin-bottom:0}.search-field .date-range-picker{position:relative;z-index:100}.search-field .date-range-picker .calendar-overlay{z-index:9998}.search-field .date-range-picker .calendar-popup{z-index:9999}.date-input-wrapper{display:flex;align-items:center;gap:.75rem;padding:.82rem 1rem;border:1.5px solid rgba(212,175,55,.22);border-radius:10px;background:#fafafa;transition:all .2s}.date-input-wrapper:focus-within,.date-input-wrapper:hover{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.09);background:#fff}.date-input-wrapper input[type=date]{border:none;background:transparent;font-family:var(--font-serif);font-size:.93rem;color:var(--text);cursor:pointer;outline:none;flex:1 1;min-width:0}.date-input-wrapper input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.45}.date-input-wrapper input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.9}.select-wrapper{display:flex;align-items:center;gap:.75rem;padding:.82rem 1rem;border:1.5px solid rgba(212,175,55,.22);border-radius:10px;background:#fafafa;transition:all .2s}.select-wrapper:focus-within,.select-wrapper:hover{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.09);background:#fff}.select-wrapper select{border:none;background:transparent;font-family:var(--font-serif);font-size:.93rem;color:var(--text);cursor:pointer;outline:none;flex:1 1;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-icon{font-size:1.05rem;color:var(--gold);flex-shrink:0}.search-divider{width:1px;height:44px;background:rgba(212,175,55,.2)}.search-btn{background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;border:none;padding:.92rem 2.4rem;font-family:var(--font-serif);font-size:.9rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:50px;cursor:pointer;transition:all .3s;white-space:nowrap}.search-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(212,175,55,.4)}.rate-info-wrapper{padding:0 5%}.rate-info-banner{max-width:1200px;margin:1.5rem auto 0;padding:.9rem 1.4rem;background:rgba(212,175,55,.06);border:1px solid rgba(212,175,55,.18);border-radius:12px;display:flex;align-items:flex-start;gap:.75rem}.info-icon{font-size:1.05rem;color:var(--gold);flex-shrink:0;margin-top:.15rem}.rate-info-content{font-size:.86rem;color:var(--text);line-height:1.6;opacity:.78}.rate-info-content strong{color:var(--gold);opacity:1}.suites-section{padding:3rem 5% 5rem;max-width:1400px;margin:0 auto}.suites-header{margin-bottom:2rem}.suites-header h2{font-family:var(--font-cursive);font-size:2.4rem;color:var(--dark);margin-bottom:.3rem;line-height:1}.search-summary{font-size:.86rem;color:var(--text);opacity:.55;letter-spacing:.04em}.suites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:1.75rem;gap:1.75rem}.suite-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07);transition:transform .35s ease,box-shadow .35s ease;position:relative}.suite-card:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:1}.suite-card:hover{transform:translateY(-7px);box-shadow:0 18px 50px rgba(0,0,0,.12)}.suite-card:hover:after{transform:scaleX(1)}.suite-card.unavailable{opacity:.7}.suite-image{position:relative;height:245px;overflow:hidden}.suite-image img{transition:transform .55s ease}.suite-card:hover .suite-image img{transform:scale(1.06)}.availability-badge,.booked-badge,.breakfast-badge,.popular-badge,.sale-badge,.unavailable-badge{position:absolute;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.3rem .75rem;z-index:2;border-radius:20px}.unavailable-badge{top:.9rem;right:.9rem;background:rgba(0,0,0,.6);color:#fff}.booked-badge{top:.9rem;right:.9rem;background:#c62828;color:#fff}.availability-badge{top:.9rem;right:.9rem;background:rgba(22,163,74,.95);color:#fff;font-size:.75rem;font-weight:600}.sale-badge{top:.9rem;left:.9rem;background:#e91e63;color:#fff;border-radius:7px}.popular-badge{top:.9rem;right:.9rem;background:var(--orange);color:#fff}.breakfast-badge{position:absolute;bottom:.9rem;left:.9rem;background:var(--gold);color:#fff;border-radius:20px}.suite-details{padding:1.4rem 1.5rem 1.65rem}.suite-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.7rem;gap:.75rem}.suite-header h3{font-family:var(--font-cursive);font-size:1.7rem;color:var(--dark);line-height:1}.suite-price{text-align:right;flex-shrink:0}.original-price{display:block;text-decoration:line-through;color:#bbb;font-size:.8rem;line-height:1;margin-bottom:.1rem}.price-amount{display:block;font-size:1.45rem;font-weight:700;color:var(--dark);line-height:1}.price-amount.sale{color:#e91e63}.price-period{display:block;font-size:.75rem;color:var(--text);opacity:.48;margin-top:.15rem}.suite-info{display:flex;gap:1.25rem;margin-bottom:.85rem;font-size:.82rem;color:var(--text);opacity:.72;flex-wrap:wrap}.suite-info span{display:flex;align-items:center;gap:.35rem}.suite-info svg{font-size:.9rem;color:var(--gold)}.suite-amenities{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.amenity-tag{display:flex;align-items:center;gap:.3rem;background:rgba(212,175,55,.07);border:1px solid rgba(212,175,55,.16);color:var(--text);padding:.28rem .65rem;border-radius:20px;font-size:.75rem}.amenity-tag svg{font-size:.78rem;color:var(--gold)}.book-suite-btn{width:100%;background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;border:none;padding:.9rem;font-family:var(--font-serif);font-size:.88rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:10px;cursor:pointer;transition:all .3s}.book-suite-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,175,55,.4)}.book-suite-btn.fully-booked,.book-suite-btn:disabled{background:#e0e0e0;color:#aaa;cursor:not-allowed;transform:none;box-shadow:none}.no-results{text-align:center;padding:5rem 2rem;background:#fff;border-radius:18px;box-shadow:0 4px 24px rgba(0,0,0,.05)}.no-results h3{font-family:var(--font-cursive);font-size:2rem;color:var(--gold);margin-bottom:.4rem}.no-results p{color:var(--text);opacity:.6;font-size:.95rem}.loading-rooms{text-align:center;padding:5rem 2rem;background:#fff;border-radius:18px}.loading-rooms .loading-spinner{width:44px;height:44px;border:3px solid rgba(212,175,55,.15);border-top:3px solid var(--gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.2rem}@keyframes spin{to{transform:rotate(1turn)}}.loading-rooms p{color:var(--text);opacity:.55}.modal-overlay{position:fixed;inset:0;background:rgba(20,14,8,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;overflow:hidden;overscroll-behavior:contain}.booking-modal{background:#fff;border-radius:4px;max-width:580px;width:100%;max-height:92vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.18);border:1px solid rgba(0,0,0,.04)}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:1px solid rgba(0,0,0,.08);font-size:.95rem;color:var(--text);cursor:pointer;z-index:10;width:30px;height:30px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.modal-close:hover{background:var(--dark);border-color:var(--dark);color:#fff}.step-indicator{justify-content:space-between;padding:1.4rem 2rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.06);gap:.4rem}.step,.step-indicator{display:flex;align-items:center}.step{gap:.55rem;opacity:.4;transition:opacity .25s}.step.active{opacity:1}.step-num{width:22px;height:22px;border-radius:50%;background:transparent;border:1.5px solid rgba(0,0,0,.2);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;font-family:var(--font-serif);transition:all .25s}.step.active .step-num{background:var(--dark);border-color:var(--dark);color:#fff;box-shadow:none}.step-label{font-size:.72rem;color:var(--text);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.step-line{flex:1 1;height:1px;background:rgba(0,0,0,.08);margin:0}.modal-header{padding:1.6rem 2rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.05)}.modal-header h2{font-family:var(--font-serif);font-style:italic;font-size:1.65rem;font-weight:500;color:var(--dark);margin-bottom:.25rem;line-height:1.15;letter-spacing:-.01em}.modal-header p{color:var(--text);font-size:.78rem;opacity:.55;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.modal-content{padding:1.5rem 2rem 1.85rem}.booking-summary{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0;gap:0;margin-bottom:1.5rem;padding:0;background:transparent;border:1px solid rgba(0,0,0,.08);border-radius:4px;overflow:hidden}.summary-item{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border-right:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}.summary-item:nth-child(2n){border-right:none}.summary-item:nth-last-child(-n+2){border-bottom:none}.summary-item span{font-size:.64rem;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.summary-item strong{font-size:.92rem;color:var(--dark);font-weight:600;font-family:var(--font-serif)}.summary-item .date-range-picker{margin-top:.5rem;position:static;z-index:auto}.booking-modal .date-range-picker .calendar-overlay{position:fixed!important;z-index:10000;background:rgba(20,14,8,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.booking-modal .date-range-picker .calendar-popup{position:fixed!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;z-index:10001;max-width:420px;width:90%}.summary-item .date-range-picker .date-inputs-row{gap:.5rem}.summary-item .date-range-picker .date-input-wrapper{padding:.6rem .8rem;border-radius:6px}.summary-item .date-range-picker .date-input-content label{font-size:.6rem;letter-spacing:1.5px}.summary-item .date-range-picker .date-placeholder,.summary-item .date-range-picker .date-selected{font-size:.85rem}.summary-item .date-range-picker .calendar-icon{font-size:.9rem}.summary-item .date-range-picker .date-separator{font-size:1rem}.booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:1rem}.booking-form .form-group{display:flex;flex-direction:column;gap:.4rem;position:static}.booking-form .form-group.full-width{grid-column:span 2}.booking-form label{position:static;font-size:.7rem;font-weight:700;color:var(--text);opacity:.52;text-transform:uppercase;letter-spacing:.08em;transform:none;background:none;padding:0;pointer-events:auto}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:.7rem .9rem;border:1px solid rgba(0,0,0,.15);border-radius:3px;font-family:var(--font-serif);font-size:.92rem;color:var(--dark);background:#fff;transition:border-color .18s}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:none;border-color:var(--dark);box-shadow:none}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#ccc}.booking-form input:focus~label,.booking-form input:not(:placeholder-shown)~label{transform:none;top:auto;font-size:.7rem}.booking-form textarea{resize:none;min-height:80px}.number-input{border:1px solid rgba(0,0,0,.15);border-radius:3px;overflow:hidden;background:#fff}.num-btn,.number-input{display:flex;align-items:center}.num-btn{width:38px;height:38px;border:none;background:transparent;color:var(--dark);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s;justify-content:center}.num-btn:hover{background:var(--dark);color:#fff}.num-btn:active{transform:none}.num-value{flex:1 1;text-align:center;font-family:var(--font-serif);font-size:.95rem;font-weight:600;color:var(--dark);padding:.45rem;border-left:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08)}.submit-booking-btn{width:100%;background:var(--dark);color:#fff;border:none;padding:.95rem 1.25rem;font-family:var(--font-serif);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:3px;cursor:pointer;transition:background .18s;display:flex;align-items:center;justify-content:center;gap:.55rem}.submit-booking-btn:hover{background:var(--gold);transform:none;box-shadow:none}.submit-booking-btn:disabled{opacity:.35;cursor:not-allowed}.error-message{background:#fff0f0;color:#c62828;border:1px solid rgba(198,40,40,.18);padding:.85rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.88rem}.region-selector{margin-bottom:1.5rem}.region-selector>label{display:block;font-size:.66rem;font-weight:700;color:var(--text);opacity:.55;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.55rem}.region-btn,.region-options{display:flex;gap:.5rem}.region-btn{flex:1 1;padding:.65rem 1rem;border:1px solid rgba(0,0,0,.15);border-radius:3px;background:#fff;font-family:var(--font-serif);font-size:.85rem;color:var(--text);cursor:pointer;transition:all .15s;align-items:center;justify-content:center;font-weight:500}.region-btn:hover{border-color:var(--dark);color:var(--dark)}.region-btn.active{border-color:var(--dark);background:var(--dark);color:#fff;font-weight:600}.payment-summary-box{background:#fafaf7;border:1px solid rgba(0,0,0,.06);border-radius:4px;padding:1.1rem 1.2rem;margin-bottom:1.5rem}.payment-summary-box .price-breakdown{margin:0;padding:0;background:none}.price-breakdown{padding:0;display:flex;flex-direction:column;gap:1.5rem}.breakdown-section{padding:0}.breakdown-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text);opacity:.6;margin:0 0 .75rem}.addon-title{color:var(--orange-dark)}.price-line{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.88rem;color:var(--text)}.subtotal-line{border-top:1px solid rgba(0,0,0,.08);margin-top:.4rem;padding-top:.6rem;font-weight:600;color:var(--dark)}.addon-section{padding:1rem;background:rgba(212,175,55,.05);border-radius:8px;border:1px dashed rgba(212,175,55,.3)}.addon-estimate{color:var(--orange-dark);font-style:italic;font-weight:500}.payment-section{border-top:2px solid var(--gold);padding-top:1.5rem}.payment-now-box{background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;padding:1.25rem;border-radius:10px;margin-bottom:1rem}.payment-now-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.payment-now-header span:first-child{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.payment-now-amount{font-size:1.8rem;font-weight:800;font-family:var(--font-serif)}.payment-now-note{margin:0;font-size:.8rem;opacity:.9}.payment-later-box{background:rgba(0,0,0,.02);padding:1rem;border-radius:8px;border:1px solid rgba(0,0,0,.08)}.payment-later-line{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.88rem;color:var(--text);opacity:.8}.payment-later-line:not(:last-child){border-bottom:1px dashed rgba(0,0,0,.1);padding-bottom:.6rem;margin-bottom:.6rem}.price-line.total{border-top:1px solid rgba(0,0,0,.1);margin-top:.6rem;padding-top:.85rem;font-weight:700;color:var(--dark);font-size:1rem;font-family:var(--font-serif)}.price-line.savings{color:#15803d;font-style:italic}.exchange-note{font-size:.74rem;color:var(--text);opacity:.5;text-align:right;margin-top:.55rem;font-style:italic}.payment-methods{margin-bottom:1.5rem}.section-label{display:block;font-size:.66rem;font-weight:700;color:var(--text);opacity:.55;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.7rem}.payment-option{border:1px solid rgba(0,0,0,.12);border-radius:3px;margin-bottom:.5rem;cursor:pointer;transition:all .15s;overflow:hidden;background:#fff}.payment-option:hover{border-color:rgba(0,0,0,.25)}.payment-option.selected{border-color:var(--dark);background:#fff;box-shadow:inset 3px 0 0 var(--gold)}.payment-option-header{display:flex;align-items:center;gap:.95rem;padding:.85rem 1rem}.payment-icon{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0}.payment-icon.gcash{background:#007dfe;color:#fff}.payment-icon.gcash-logo{background:#fff;padding:4px;border:1px solid rgba(0,0,0,.1)}.payment-icon.gcash-logo img{width:100%;height:100%;object-fit:contain}.payment-icon.paypal{background:#003087;color:#fff}.payment-icon.card{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.payment-info{flex:1 1;min-width:0}.payment-name{display:block;font-weight:600;color:var(--dark);font-size:.9rem;font-family:var(--font-serif)}.payment-desc{display:block;font-size:.75rem;color:var(--text);opacity:.55;margin-top:.1rem}.payment-check{font-size:1.1rem;color:var(--gold)}.payment-fields{padding:.85rem 1rem .95rem;border-top:1px solid rgba(0,0,0,.06);background:#fafaf7}.payment-fields .form-group{margin-bottom:.65rem}.payment-fields .form-group:last-of-type{margin-bottom:.25rem}.payment-fields label{display:block;font-size:.7rem;font-weight:700;color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.35rem}.payment-fields input{width:100%;padding:.65rem .85rem;border:1px solid rgba(0,0,0,.15);border-radius:3px;font-family:var(--font-serif);font-size:.9rem;color:var(--dark);background:#fff;transition:border-color .15s}.payment-fields input:focus{outline:none;border-color:var(--dark);box-shadow:none}.payment-fields .form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.payment-note{font-size:.78rem;color:var(--text);opacity:.48;margin-top:.6rem;font-style:italic}.paypal-button-container{padding-top:.25rem}.secure-badge{gap:.5rem;font-size:.74rem;color:#15803d;font-weight:500;margin-bottom:1.5rem;padding:.55rem .9rem;background:transparent;border:1px solid rgba(21,128,61,.18);border-radius:3px;font-style:italic}.payment-actions,.secure-badge{display:flex;align-items:center}.payment-actions{gap:.65rem}.back-btn{display:flex;align-items:center;gap:.4rem;padding:.85rem 1.3rem;border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:3px;font-family:var(--font-serif);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text);cursor:pointer;transition:all .15s;white-space:nowrap}.back-btn:hover{border-color:var(--dark);color:var(--dark)}.payment-actions .submit-booking-btn{flex:1 1}.booking-success{padding:2.75rem 2rem 2.25rem;text-align:center}.success-icon{font-size:3rem;color:#15803d;margin-bottom:1rem}.booking-success h2{font-family:var(--font-serif);font-style:italic;font-size:1.85rem;font-weight:500;color:var(--dark);margin-bottom:.35rem;line-height:1.15;letter-spacing:-.01em}.booking-success>p{color:var(--text);font-size:.9rem;margin-bottom:1.75rem;opacity:.65}.booking-ref{background:transparent;border:1px solid rgba(0,0,0,.1);padding:1.25rem 1.5rem;border-radius:4px;margin-bottom:1.25rem}.booking-ref span{display:block;font-size:.64rem;color:var(--text);opacity:.55;text-transform:uppercase;letter-spacing:.18em;font-weight:700;margin-bottom:.5rem}.booking-ref strong{font-size:1.7rem;color:var(--dark);letter-spacing:.18em;font-family:monospace;font-weight:600}.success-details{text-align:left;background:#fafaf7;border:1px solid rgba(0,0,0,.06);padding:1rem 1.2rem;border-radius:3px;margin-bottom:1rem}.success-details p{margin:.4rem 0;font-size:.86rem;color:var(--text)}.success-details strong{color:var(--dark);font-weight:600}.success-note{font-size:.8rem;color:var(--text);opacity:.55;margin-bottom:1.5rem;font-style:italic}.close-success-btn{background:var(--dark);color:#fff;border:none;padding:.85rem 2.5rem;font-family:var(--font-serif);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:3px;cursor:pointer;transition:all .3s}.close-success-btn:hover{background:var(--gold);transform:none;box-shadow:none}.extras-section{margin-bottom:1.5rem;padding:0 0 1.25rem;background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.06);border-radius:0}.extras-section:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:1rem}.extras-section-title{font-size:.72rem;font-weight:700;letter-spacing:.14em;color:var(--dark);margin:0 0 .85rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.extras-section-title,.extras-tag{font-family:var(--font-serif);text-transform:uppercase}.extras-tag{font-weight:600;font-size:.62rem;letter-spacing:.06em;color:var(--text);background:transparent;border:1px solid rgba(0,0,0,.12);padding:.16rem .55rem;border-radius:2px;font-style:italic}.extras-radio-group{display:flex;flex-direction:column;gap:.45rem}.extras-radio-option{display:flex;align-items:center;gap:.85rem;padding:.75rem .9rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:3px;cursor:pointer;transition:border-color .15s,background .15s}.extras-radio-option:hover{border-color:rgba(0,0,0,.25)}.extras-radio-option input[type=radio]{accent-color:var(--dark);width:15px;height:15px;flex-shrink:0}.extras-radio-option.selected{border-color:var(--dark);background:#fafaf7;box-shadow:inset 3px 0 0 var(--gold)}.extras-option-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.extras-option-content strong{font-size:.9rem;color:var(--dark);font-weight:700}.extras-option-content span{font-size:.78rem;color:#888;line-height:1.4}.extras-meals-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.55rem;gap:.55rem;margin-bottom:.75rem}.extras-meal-toggle{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.7rem .45rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:3px;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.extras-meal-toggle:hover{border-color:rgba(0,0,0,.25);transform:none}.extras-meal-toggle input[type=checkbox]{accent-color:var(--dark);width:14px;height:14px}.extras-meal-toggle.selected{border-color:var(--dark);background:#fafaf7;box-shadow:inset 0 -2px 0 var(--gold)}.extras-meal-toggle .meal-name{font-size:.8rem;font-weight:600;color:var(--dark);line-height:1.2;font-family:var(--font-serif)}.extras-meal-toggle .meal-price-tag{font-size:.68rem;color:var(--text);opacity:.6;font-weight:500}.meal-pax-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.85rem;padding:.6rem .85rem;background:#fafaf7;border:1px solid rgba(0,0,0,.08);border-radius:3px;font-size:.82rem;color:var(--dark);font-weight:600;margin-top:.55rem}.meal-pax-row .number-input{border-color:rgba(0,0,0,.12)}.extras-interests-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.55rem;gap:.55rem}.extras-interest-toggle{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .85rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:3px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.extras-interest-toggle:hover{border-color:rgba(0,0,0,.25);transform:none}.extras-interest-toggle input[type=checkbox]{accent-color:var(--dark);width:15px;height:15px;margin-top:2px;flex-shrink:0}.extras-interest-toggle.selected{border-color:var(--dark);background:#fafaf7;box-shadow:inset 3px 0 0 var(--gold)}.extras-interest-content{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1}.extras-interest-content span{font-size:.84rem;font-weight:600;color:var(--dark);line-height:1.25;font-family:var(--font-serif)}.extras-interest-content small{font-size:.71rem;color:var(--text);opacity:.65;line-height:1.4}.extras-note-text{font-size:.78rem;color:#999;text-align:center;margin:.85rem 0 1.25rem;line-height:1.5;padding:.6rem .85rem;background:#fafafa;border-radius:8px}.extras-nav-btns{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin-top:.5rem;position:-webkit-sticky;position:sticky;bottom:0;background:linear-gradient(0deg,#fff 70%,hsla(0,0%,100%,0));padding-top:.5rem}@media (max-width:1024px){.suites-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.search-box{flex-direction:column;align-items:stretch;padding:1.5rem;gap:.75rem}.search-field{min-width:100%}.search-divider{display:none}.search-btn{width:100%;padding:1rem}.suites-grid{grid-template-columns:1fr;gap:1.25rem}.rate-info-banner{flex-direction:column}}@media (max-width:640px){.booking-hero-section{height:55vh;min-height:400px}.booking-hero-content h1{font-size:3rem}.search-container{padding:0 4%;margin-top:-2.5rem}.search-box{border-radius:16px;padding:1.25rem}.suites-section{padding:2.5rem 4% 4rem}.suites-header h2{font-size:2rem}.suite-image{height:200px}.suite-details{padding:1.2rem}.booking-modal{border-radius:18px;max-height:95vh}.modal-header{padding:1.25rem 1.5rem 1rem}.modal-header h2{font-size:1.7rem}.modal-content{padding:1.1rem 1.5rem 1.5rem}.booking-form .form-row{grid-template-columns:1fr}.booking-form .form-group.full-width{grid-column:span 1}.booking-summary{grid-template-columns:1fr 1fr;gap:.6rem}.payment-fields .form-row{grid-template-columns:1fr}.payment-actions{flex-direction:column}.back-btn{width:100%;justify-content:center}.region-options{flex-direction:column}.booking-success{padding:2rem 1.5rem}.booking-success h2{font-size:2.2rem}.booking-ref strong{font-size:1.6rem}.extras-section{padding:.85rem .85rem .95rem;border-radius:12px;margin-bottom:1rem}.extras-section-title{font-size:.72rem;letter-spacing:1px;gap:.4rem}.extras-tag{font-size:.62rem;padding:.18rem .5rem}.extras-meals-grid{grid-template-columns:1fr 1fr;gap:.5rem}.extras-meal-toggle{padding:.7rem .4rem}.extras-interests-grid{grid-template-columns:1fr}.extras-radio-option{padding:.75rem .85rem;gap:.7rem}.extras-nav-btns{flex-direction:column-reverse;gap:.6rem;position:-webkit-sticky;position:sticky;bottom:0;padding:.6rem 0 0;background:#fff;border-top:1px solid #f0e8d6}.extras-nav-btns .back-btn{width:100%;justify-content:center}.extras-nav-btns .submit-booking-btn{width:100%}.addons-estimate-bar{padding:.7rem .95rem;gap:.6rem}.addons-estimate-bar span{font-size:.74rem}.addons-estimate-bar strong{font-size:.95rem}}.policies-content{padding-bottom:.5rem}.policies-notice{display:flex;align-items:center;gap:.6rem;background:#fff8ee;border:1px solid #f0d080;border-radius:8px;padding:.85rem 1rem;margin-bottom:1.25rem;font-size:.9rem;color:#8a6500;font-weight:500}.policy-section{margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid #f0f0f0}.policy-section:last-of-type{border-bottom:none}.policy-section h4{font-size:.95rem;font-weight:700;color:#1a1a2e;margin-bottom:.4rem}.policy-section p{font-size:.88rem;color:#555;line-height:1.6;margin-bottom:.25rem}.cancellation-table{border-radius:8px;overflow:hidden;border:1px solid #e9ecef;margin:.5rem 0}.cancel-row{display:flex;justify-content:space-between;padding:.6rem .85rem;font-size:.85rem;border-bottom:1px solid #e9ecef;background:#fff}.cancel-row:last-child{border-bottom:none}.cancel-row.warning{background:#fff5f5}.cancel-penalty{font-weight:700;color:#c0392b;white-space:nowrap;margin-left:1rem}.policy-note{font-size:.83rem!important;color:#888!important;margin-top:.5rem}.extras-corkage-list{background:#f8f9fa;border-radius:8px;overflow:hidden;border:1px solid #e9ecef}.corkage-item{display:flex;justify-content:space-between;align-items:center;padding:.55rem .85rem;font-size:.88rem;border-bottom:1px solid #e9ecef;color:#444}.corkage-item:last-child{border-bottom:none}.corkage-item span:last-child{font-weight:600;color:#1a1a2e}.extras-note-corkage{font-size:.82rem;color:#888;font-style:italic;margin-top:.5rem}.addons-estimate-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fafaf7;border:1px solid rgba(0,0,0,.08);border-left:3px solid var(--gold);border-radius:3px;margin-bottom:1.5rem;gap:1rem}.addons-estimate-bar span{font-size:.76rem;color:var(--text);opacity:.7;letter-spacing:.04em;font-style:italic}.addons-estimate-bar strong{font-size:1rem;font-weight:700;color:var(--dark);white-space:nowrap;font-family:var(--font-serif)}.payment-details-box{background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.2);border-radius:8px;padding:1rem;margin-bottom:1rem}.payment-details-box h4{margin:0 0 .75rem;font-size:.9rem;color:var(--gold);font-weight:600}.payment-details-box p{margin:.4rem 0;font-size:.88rem;color:var(--text)}.payment-details-box strong{color:var(--dark);font-weight:600}.proof-preview{margin-top:.75rem;position:relative;border-radius:8px;overflow:hidden;border:2px solid var(--gold)}.proof-preview img{width:100%;height:auto;max-height:300px;object-fit:contain;background:#f5f5f5}.proof-preview button{position:absolute;top:.5rem;right:.5rem;background:rgba(220,38,38,.9);color:#fff;border:none;border-radius:6px;padding:.4rem .7rem;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:all .2s}.proof-preview button:hover{background:#dc2626;transform:scale(1.05)}.payment-instructions{background:rgba(37,99,235,.08);border-left:3px solid #2563eb;padding:1rem;margin-bottom:1.5rem;border-radius:6px}.payment-instructions h3{margin:0 0 .5rem;font-size:1rem;color:#2563eb;font-weight:600}.payment-instructions p{margin:0;font-size:.88rem;color:var(--text);line-height:1.6}.form-group input[type=file]{padding:.6rem;font-size:.88rem;cursor:pointer}.form-group input[type=file]::-webkit-file-upload-button{background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;margin-right:.75rem;-webkit-transition:all .2s;transition:all .2s}.form-group input[type=file]::file-selector-button{background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;margin-right:.75rem;transition:all .2s}.form-group input[type=file]::-webkit-file-upload-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,.3)}.form-group input[type=file]::file-selector-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,.3)}.payment-qr-section{display:grid;grid-template-columns:auto 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start;margin-bottom:1rem}.qr-code-container{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#fff;border:2px solid var(--gold);border-radius:12px}.qr-code-image{width:180px;height:180px;border-radius:8px}.qr-label{margin:.75rem 0 0;font-size:.85rem;font-weight:600;color:var(--gold)}.copy-field{display:flex;align-items:center;gap:.75rem;margin:.75rem 0;padding:.75rem;background:#fff;border:1px solid rgba(212,175,55,.3);border-radius:8px}.copy-field-content{flex:1 1;display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow:hidden}.copy-label{font-size:.75rem;color:var(--text);opacity:.7;font-weight:600}.copy-value{font-size:1rem;font-weight:700;color:var(--dark);font-family:Courier New,monospace;letter-spacing:.5px;word-break:break-all;line-height:1.3}.copy-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.payment-detail-line{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(212,175,55,.15)}.payment-detail-line:last-child{border-bottom:none}.detail-label{font-size:.85rem;color:var(--text);opacity:.7;font-weight:600}.detail-value{font-size:.9rem;font-weight:700;color:var(--dark)}.copy-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,175,55,.3)}.copy-btn:active{transform:translateY(0)}.mobile-payment-message{background:linear-gradient(135deg,rgba(212,175,55,.1),rgba(255,140,0,.1));border:2px solid var(--gold);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.payment-instruction{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.instruction-icon{font-size:2rem;color:var(--gold);flex-shrink:0;margin-top:.25rem}.payment-instruction h4{margin:0 0 .5rem;font-size:1.1rem;font-weight:700;color:var(--dark)}.payment-instruction p{margin:0;font-size:.9rem;color:var(--text);line-height:1.5}.payment-amount-reminder{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid rgba(212,175,55,.3);border-radius:8px}.payment-amount-reminder span{font-size:.9rem;color:var(--text);font-weight:600}.payment-amount-reminder strong{font-size:1.25rem;font-weight:700;color:var(--gold);font-family:Courier New,monospace}@media (max-width:768px){.payment-qr-section{grid-template-columns:1fr;gap:1rem}.qr-code-container{margin:0 auto}.qr-code-image{width:150px;height:150px}.mobile-payment-message{padding:1.25rem}.payment-instruction{gap:.75rem}.instruction-icon{font-size:1.75rem}.payment-instruction h4{font-size:1rem}.payment-instruction p{font-size:.85rem}.payment-amount-reminder{padding:.875rem}.payment-amount-reminder span{font-size:.85rem}.payment-amount-reminder strong{font-size:1.1rem}}