.skip-to-content{position:absolute;top:-100%;left:50%;transform:translateX(-50%);z-index:9999;padding:12px 24px;background:#2a382a;color:#fff;border-radius:0 0 8px 8px;text-decoration:none;font-weight:600;transition:top .2s}.skip-to-content:focus{top:0}@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300;1,9..40,400&display=swap");.guest-booking-app{--color-gold:#b8976a;--color-gold-light:#d4bc94;--color-gold-dark:#9a7b4f;--color-cream:#f9f6f1;--color-cream-dark:#ede8e0;--color-charcoal:#1e1e1e;--color-forest:#3d4f3d;--color-forest-dark:#2a382a;--color-wine:#5a4a42;--color-wine-light:#7a6a5f;--color-sage:#8a9a7d;--color-error:#b85450;--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;--shadow-soft:0 4px 30px #0000000f;--shadow-hover:0 12px 40px #0000001a;--radius:8px;--radius-sm:4px;--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--transition-smooth:0.4s cubic-bezier(0.4,0,0.2,1);min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f9f6f1,#f5f0e8);font-family:var(--font-body);color:var(--color-charcoal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.booking-header{background:#fff;border-bottom:1px solid #0000000f;padding:.875rem 2.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.booking-header .header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.booking-header .logo{display:flex;align-items:center;cursor:pointer;text-decoration:none}.booking-header .logo-image{height:70px;width:auto;object-fit:contain;transition:all var(--transition-smooth)}.booking-header .logo:hover .logo-image{transform:scale(1.02)}.header-contact a{font-family:var(--font-body);font-size:.85rem;color:var(--color-forest);text-decoration:none;font-weight:400;letter-spacing:.02em;transition:color var(--transition-fast)}.header-contact a:hover{color:var(--color-gold-dark)}.booking-header .header-contact a{color:var(--color-forest);text-decoration:none;font-size:.85rem}.progress-bar{background:#fff;padding:1.25rem 2.5rem;display:flex;justify-content:center;gap:0;border-bottom:1px solid #0000000a}.progress-step{display:flex;align-items:center;gap:.6rem;opacity:.35;transition:opacity var(--transition-smooth)}.progress-step.active,.progress-step.completed{opacity:1}.progress-step:not(:last-child):after{content:"";display:block;width:50px;height:1px;background:#ddd;margin:0 1.25rem}.progress-step.completed:not(:last-child):after{background:var(--color-forest)}.step-indicator{width:30px;height:30px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:500;transition:all var(--transition-smooth)}.progress-step.active .step-indicator{background:var(--color-forest);color:#fff}.progress-step.completed .step-indicator{background:var(--color-sage);color:#fff}.step-label{font-size:.8rem;font-weight:400;display:none;letter-spacing:.02em}@media (min-width:768px){.step-label{display:block}}.booking-main{flex:1 1;max-width:960px;width:100%;margin:0 auto;padding:2.5rem 2rem}.booking-step{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-header{text-align:center;margin-bottom:2.5rem}.step-header h2{font-family:var(--font-display);font-size:2.25rem;font-weight:300;color:var(--color-charcoal);margin-bottom:.6rem;letter-spacing:-.01em}.step-header p{color:#666;font-size:1rem;font-weight:300}.btn-link{background:none;border:none;color:var(--color-gold-dark);cursor:pointer;font-size:.9rem;margin-top:.5rem;padding:0}.btn-link:hover{text-decoration:underline}.date-selection{max-width:600px;margin:0 auto}.date-display-row{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem;position:relative}.date-display-box{flex:1 1;max-width:180px;padding:1rem 1.25rem;background:#fff;border:2px solid #e5e5e5;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;text-align:center}.date-display-box:hover{border-color:var(--color-gold-light)}.date-display-box.active{border-color:var(--color-gold);box-shadow:0 0 0 3px #c9a95926}.date-display-box.has-date{background:linear-gradient(135deg,#faf8f5,#f5f0e8)}.date-display-box .date-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:.25rem}.date-display-box .date-value{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--color-charcoal)}.date-display-box:not(.has-date) .date-value{color:#bbb}.date-display-arrow{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:0 .5rem}.date-display-arrow .arrow{color:var(--color-gold);font-size:1.25rem}.date-display-arrow .nights-badge{font-size:.7rem;font-weight:600;color:var(--color-wine);background:#6b53441a;padding:.2rem .5rem;border-radius:10px;white-space:nowrap}.clear-dates-btn{position:absolute;right:-2rem;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:#eee;color:#999;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;transition:all .2s}.clear-dates-btn:hover{background:var(--color-error);color:#fff}.btn-edit-dates{display:block;width:100%;max-width:200px;margin:0 auto 1.5rem;padding:.75rem 1.5rem;background:#0000;border:1px solid var(--color-gold);color:var(--color-gold-dark);border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:all .2s}.btn-edit-dates:hover{background:var(--color-gold);color:#fff}.date-range-calendar{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:1.5rem;margin-bottom:2rem;position:relative}.calendar-navigation{position:absolute;top:1.5rem;left:1.5rem;right:1.5rem;display:flex;justify-content:space-between;pointer-events:none}.calendar-navigation .nav-btn{width:32px;height:32px;border:1px solid #e5e5e5;background:#fff;border-radius:50%;cursor:pointer;font-size:1.25rem;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s;pointer-events:auto}.calendar-navigation .nav-btn:hover:not(:disabled){border-color:var(--color-gold);color:var(--color-gold)}.calendar-navigation .nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar-months{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem}.calendar-months.single{grid-template-columns:1fr;max-width:320px;margin:0 auto}.calendar-month{text-align:center}.calendar-month-header{font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--color-charcoal);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.calendar-weekdays .weekday{font-size:.7rem;font-weight:600;text-transform:uppercase;color:#999;padding:.5rem 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;border-radius:50%;transition:all .15s ease;position:relative}.calendar-day.empty{cursor:default}.calendar-day:not(.empty):not(.disabled):hover{background:#c9a95926}.calendar-day.disabled{color:#ccc;cursor:not-allowed}.calendar-day.below-min-nights{position:relative;color:#ccc;cursor:not-allowed;background:repeating-linear-gradient(-45deg,#0000,#0000 3px,#00000008 0,#00000008 6px)}.calendar-day.below-min-nights span{opacity:.5}.min-nights-tooltip{display:none;bottom:calc(100% + 6px);background:var(--color-charcoal);color:#fff;font-size:.7rem;font-weight:500;padding:.35rem .6rem;border-radius:4px;white-space:nowrap;z-index:10;pointer-events:none}.min-nights-tooltip,.min-nights-tooltip:after{position:absolute;left:50%;transform:translateX(-50%)}.min-nights-tooltip:after{content:"";top:100%;border:4px solid #0000;border-top:4px solid var(--color-charcoal)}.calendar-day.below-min-nights:hover .min-nights-tooltip{display:block}.calendar-day.today span{font-weight:600;color:var(--color-wine)}.calendar-day.check-in,.calendar-day.check-out{background:linear-gradient(135deg,var(--color-gold) 0,var(--color-gold-dark) 100%);color:#fff;font-weight:600}.calendar-day.check-in{border-radius:50% 0 0 50%}.calendar-day.check-out{border-radius:0 50% 50% 0}.calendar-day.check-in.check-out{border-radius:50%}.calendar-day.in-range{background:#c9a95933;border-radius:0}.date-inputs{display:none}.date-field{flex:1 1}.date-field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem;color:#666}.date-field input{width:100%;padding:1rem;border:2px solid #e5e5e5;border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body);transition:border-color .2s}.date-field input:focus{outline:none;border-color:var(--color-gold)}.date-separator{color:#ccc;font-size:1.5rem;padding-top:1.5rem}.booking-type-selector{margin:2.5rem 0}.booking-type-label{display:block;font-family:Cormorant Garamond,Georgia,serif;font-size:.85rem;font-weight:400;color:var(--color-forest);margin-bottom:1rem;text-align:center;text-transform:uppercase;letter-spacing:.15em}.booking-type-options{display:flex;gap:1rem;justify-content:center}.booking-type-option{flex:1 1;max-width:240px;padding:1.5rem 1.25rem;border:1px solid #3d4f3d33;cursor:pointer;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);background:#fff}.booking-type-option:hover{border-color:var(--color-gold);background:#b8976a0a}.booking-type-option.selected{border-color:var(--color-forest);background:var(--color-forest)}.booking-type-option .option-title{display:block;font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;font-weight:500;color:var(--color-forest);margin-bottom:.5rem;letter-spacing:.02em;transition:color .4s cubic-bezier(.4,0,.2,1)}.booking-type-option.selected .option-title{color:#fff}.booking-type-option .option-desc{display:block;font-size:.75rem;color:#888;line-height:1.4;transition:color .4s cubic-bezier(.4,0,.2,1)}.booking-type-option.selected .option-desc{color:#ffffffb3}.estate-hero-section{position:relative;margin:2rem -2.5rem;padding:3.5rem 2rem;background-size:cover;background-position:center 30%;border-radius:0;min-height:520px;display:flex;align-items:center;justify-content:center}.estate-hero-overlay{position:relative;width:100%;max-width:850px;text-align:center;z-index:1}.estate-hero-section:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#191e2380,#191e23a6 40%,#191e23cc)}.estate-label{display:inline-block;padding:.6rem 1.5rem;border:1px solid #d4af3780;color:#d4af37;font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.5rem}.estate-title{font-size:3rem;font-weight:400;color:#d4af37;margin:0 0 .5rem;letter-spacing:.02em}.estate-tagline,.estate-title{font-family:var(--font-display)}.estate-tagline{font-size:1.25rem;font-style:italic;color:#d4af37cc;margin:0 0 1.5rem;letter-spacing:.03em}.estate-quote{font-family:var(--font-display);font-size:1.35rem;color:#fff;margin:0 auto 2.5rem;max-width:600px;line-height:1.5}.estate-features-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;max-width:700px;margin:0 auto}.estate-feature-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1a;border-radius:8px;text-align:left;transition:background .3s ease}.estate-feature-card:hover{background:#ffffff26}.estate-feature-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.estate-feature-icon svg{width:36px;height:36px;stroke:#d4af37}.estate-feature-content h4{font-family:var(--font-display);font-size:1rem;font-weight:500;color:#d4af37;margin:0 0 .25rem}.estate-feature-content p{font-size:.85rem;color:#fffc;margin:0;line-height:1.4}.estate-cta-button{display:inline-block;margin-top:2rem;padding:1rem 2.5rem;background:#fff;color:var(--color-charcoal);font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border:none;cursor:pointer;transition:all .3s ease}.estate-cta-button:hover:not(:disabled){background:#d4af37;color:#fff;transform:translateY(-2px);box-shadow:0 4px 20px #d4af374d}.estate-cta-button:disabled{opacity:.5;cursor:not-allowed}.buyout-pricing-preview{background:var(--color-forest);padding:1.25rem 1.5rem;margin:2rem 0}.buyout-pricing-preview .pricing-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.85rem;color:#ffffffd9}.buyout-pricing-preview .pricing-row.total{font-weight:500;padding-top:.75rem;margin-top:.5rem;border-top:1px solid #ffffff26;color:#fff;font-size:.95rem}.buyout-pricing-preview .pricing-row.loading{font-style:italic;opacity:.8;padding:.5rem 0}.buyout-pricing-preview .pricing-note{font-size:.7rem;opacity:.6;margin-top:.5rem;font-style:italic}.buyout-warning{background:#3d4f3d14;color:var(--color-forest);padding:.85rem 1.25rem;font-size:.8rem;text-align:center;margin:1.5rem 0;border-left:3px solid var(--color-gold)}.buyout-guests{justify-content:center}.breakdown-line.deposit{color:var(--color-forest);font-weight:600;padding-top:.75rem;margin-top:.5rem;border-top:1px solid #e5e5e5}.breakdown-line.balance{color:#888;font-size:.9rem}.guest-selector{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;background:#0000}.count-field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem;color:#666}.count-field select{padding:.75rem 2rem .75rem 1rem;border:2px solid #e5e5e5;border-radius:var(--radius-sm);font-size:1rem;background:#fff;cursor:pointer}.count-field select:focus{outline:none;border-color:var(--color-gold)}.stay-summary{background:#c9a9591a;padding:1rem 1.5rem;border-radius:var(--radius-sm);text-align:center;margin-bottom:2rem}.nights-count{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-gold-dark);margin-right:.5rem}.date-range{color:#666}.loading-state{text-align:center;padding:4rem 2rem}.spinner{width:48px;height:48px;border:3px solid #eee;border-top:3px solid var(--color-gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(1turn)}}.rooms-grid{display:flex;flex-direction:column;gap:1.5rem}.room-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);cursor:pointer;transition:all var(--transition-smooth);border:1px solid #0000000f;overflow:hidden;display:flex;flex-direction:row}.room-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.room-card.selected{border-color:var(--color-forest);box-shadow:0 0 0 2px var(--color-forest),var(--shadow-hover)}.room-photo-section{position:relative;width:45%;flex-shrink:0}.low-availability-badge{position:absolute;top:1rem;right:1rem;background:var(--color-wine);color:#fff;padding:.4rem .9rem;border-radius:100px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;z-index:10;box-shadow:0 2px 8px #0003}.room-carousel{width:100%;height:100%;display:flex;flex-direction:column}.carousel-main{position:relative;width:100%;flex:1 1;min-height:220px;overflow:hidden}.carousel-main img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}.room-card:hover .carousel-main img{transform:scale(1.03)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#fffffff2;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--color-charcoal);transition:all var(--transition-fast);opacity:0;z-index:5;box-shadow:0 2px 8px #00000026}.room-card:hover .carousel-btn{opacity:1}.carousel-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.carousel-btn-prev{left:.75rem}.carousel-btn-next{right:.75rem}.carousel-indicators{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem;z-index:5}.carousel-dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;border:none;cursor:pointer;transition:all var(--transition-fast);padding:0}.carousel-dot.active{background:#fff;width:20px;border-radius:4px}.carousel-counter{position:absolute;bottom:.75rem;right:.75rem;background:#0009;color:#fff;padding:.25rem .6rem;border-radius:4px;font-size:.7rem;font-weight:500;z-index:5}.carousel-thumbnails{display:flex;gap:.4rem;padding:.5rem .75rem;background:#fafafa;border-top:1px solid #0000000d;flex-shrink:0}.carousel-thumbnails .thumbnail{width:48px;height:36px;border-radius:3px;overflow:hidden;border:2px solid #0000;cursor:pointer;transition:all var(--transition-fast);padding:0;background:none}.carousel-thumbnails .thumbnail:hover{border-color:var(--color-gold)}.carousel-thumbnails .thumbnail.active{border-color:var(--color-forest)}.carousel-thumbnails .thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-more{width:48px;height:36px;border-radius:3px;background:#0000000d;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#666;font-weight:500}.room-content{padding:1.5rem 2rem;flex-direction:column;flex:1 1;min-width:0}.room-content,.room-header{display:flex;justify-content:space-between}.room-header{align-items:flex-start;margin-bottom:.5rem;gap:1rem}.room-header h3{font-family:var(--font-display);font-size:1.75rem;font-weight:500;margin:0;letter-spacing:-.01em;color:var(--color-charcoal);line-height:1.2}.room-meta{gap:.5rem;flex-shrink:0;flex-wrap:wrap}.guest-count,.room-meta{display:flex;align-items:center}.guest-count{gap:.35rem;font-size:.8rem;color:#666;background:#0000000a;padding:.3rem .6rem;border-radius:4px}.guest-count svg{width:13px;height:13px;opacity:.7}.room-feature-badge{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-forest);background:#3d4f3d14;padding:.3rem .6rem;border-radius:4px}.room-feature-badge svg{width:13px;height:13px;opacity:.7}.room-description{color:#555;font-size:.85rem;margin-bottom:1rem;line-height:1.6;flex:1 1}.room-footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:auto;padding-top:1rem;border-top:1px solid #0000000f}.room-pricing{display:flex;flex-direction:column;gap:.3rem;background:#0000!important}.room-footer .room-pricing{background:#0000;padding:0}.price-main{display:flex;align-items:baseline;gap:.35rem;background:#0000}.room-footer .room-pricing .price{font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--color-charcoal)!important;line-height:1}.room-footer .room-pricing .per-night{color:#777!important;font-size:.9rem}.room-footer .total-price{font-size:.85rem}.btn-select,.room-footer .total-price{color:var(--color-forest);font-weight:500}.btn-select{padding:.85rem 1.5rem;border:2px solid var(--color-forest);background:#0000;font-size:.8rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-smooth);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.btn-select.selected,.btn-select:hover{background:var(--color-forest);color:#fff}.room-card.in-cart{border-color:var(--color-forest);box-shadow:0 0 0 1px var(--color-forest),var(--shadow-soft)}.cart-qty-badge{position:absolute;top:.75rem;right:.75rem;background:var(--color-forest);color:#fff;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;z-index:5;animation:cartBadgePop .3s ease}@keyframes cartBadgePop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.room-quantity-controls{display:flex;align-items:center;gap:0;border:2px solid var(--color-forest);border-radius:var(--radius-sm);overflow:hidden}.qty-btn{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#0000;border:none;color:var(--color-forest);font-size:1.2rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.qty-btn:hover:not(:disabled){background:var(--color-forest);color:#fff}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-value{min-width:2rem;text-align:center;font-weight:700;font-size:1rem;color:var(--color-forest)}.cart-footer{flex-direction:column;gap:.75rem;padding:1rem 2rem}.cart-summary{width:100%;max-width:600px;margin:0 auto}.cart-items{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.cart-item{display:flex;justify-content:space-between;font-size:.9rem;color:#555}.cart-item-name{font-weight:500}.cart-item-price{font-weight:500;color:var(--color-forest)}.cart-total{display:flex;justify-content:space-between;padding-top:.5rem;border-top:1px solid #e0e0e0;font-size:1rem}.cart-footer .btn-next{width:100%;max-width:600px;margin:0 auto}.summary-rooms-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.summary-room-item{display:flex;justify-content:space-between;font-size:.9rem}.summary-room-item strong{font-family:var(--font-display);font-size:1rem}.summary-room-item span{color:var(--color-forest);font-weight:600}.summary-room-count{color:#777;font-size:.85rem}.buyout-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.1rem;color:var(--color-wine);margin-bottom:1rem}.section-title .icon{font-size:1.25rem}.buyout-card{background:linear-gradient(135deg,#faf8f5,#f5f0e8);border:2px solid var(--color-wine);position:relative;overflow:hidden}.buyout-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-wine) 0,var(--color-gold) 100%)}.buyout-card.selected{border-color:var(--color-wine);background:#6b534414}.exclusive-badge{background:var(--color-wine);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.buyout-features{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.buyout-features span{font-size:.85rem;color:var(--color-wine);background:#6b53441a;padding:.25rem .75rem;border-radius:var(--radius-sm)}.buyout-notice{display:flex;align-items:flex-start;gap:.75rem;background:#c9a9591a;padding:1rem;border-radius:var(--radius-sm);margin-top:1rem}.buyout-notice.buyout-active{background:#6b53441a;border-left:4px solid var(--color-wine)}.buyout-notice .notice-icon{font-size:1.25rem;flex-shrink:0}.buyout-notice p{margin:0;font-size:.9rem;color:var(--color-charcoal)}.buyout-notice strong{display:block;margin-bottom:.25rem;color:var(--color-wine)}.room-divider{display:flex;align-items:center;margin:2rem 0;color:#999;font-size:.9rem}.room-divider:after,.room-divider:before{content:"";flex:1 1;height:1px;background:#ddd}.room-divider span{padding:0 1rem}.buyout-tag{display:inline-block;background:var(--color-wine);color:#fff;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-left:.5rem}.selection-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:1rem 2rem;box-shadow:0 -4px 20px #0000001a;display:flex;justify-content:space-between;align-items:center;z-index:50}.selected-summary{display:flex;flex-direction:column}.selected-summary strong{font-family:var(--font-display);font-size:1.1rem}.selected-summary span{color:#666;font-size:.9rem}.addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem}.addon-card{background:#fff;border-radius:var(--radius);padding:1.25rem;display:flex;gap:1rem;cursor:pointer;transition:all .2s;border:2px solid #0000;box-shadow:var(--shadow-soft)}.addon-card:hover{box-shadow:var(--shadow-hover)}.addon-card.selected{border-color:var(--color-gold);background:#c9a9590d}.addon-icon{font-size:2rem;flex-shrink:0}.addon-content{flex:1 1}.addon-content h4{font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin:0 0 .25rem}.addon-content p{font-size:.85rem;color:#666;margin:0 0 .5rem;line-height:1.4}.addon-price .price{font-weight:600;color:var(--color-charcoal)}.addon-price .price-note{font-size:.8rem;color:#999;margin-left:.25rem}.addon-checkbox{width:28px;height:28px;border:2px solid #ddd;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#999;flex-shrink:0;align-self:center;transition:all .2s}.addon-card.selected .addon-checkbox{background:var(--color-gold);border-color:var(--color-gold);color:#fff}.addons-summary{background:#fff;border-radius:var(--radius);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-soft)}.summary-line{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem}.summary-line.addon-line{color:#666;font-size:.9rem}.summary-line.total{font-weight:600;font-size:1.1rem;padding-top:1rem}.summary-divider{height:1px;background:#eee;margin:.5rem 0}.btn-skip{display:block;width:100%;text-align:center;background:none;border:none;color:#999;padding:1rem;cursor:pointer;font-size:.9rem}.btn-skip:hover{color:var(--color-gold-dark)}.buyout-booking-summary{background:linear-gradient(135deg,var(--color-forest) 0,#2d3d2d 100%);color:#fff;padding:2rem;border-radius:var(--radius);margin-bottom:2rem}.buyout-booking-summary h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin:0 0 1.5rem;color:#d4af37}.buyout-booking-summary .summary-details{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #ffffff26}.buyout-booking-summary .summary-item{text-align:center}.buyout-booking-summary .summary-item .label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin-bottom:.25rem}.buyout-booking-summary .summary-item .value{font-family:var(--font-display);font-size:1rem}.buyout-booking-summary .pricing-breakdown{margin-bottom:1rem}.buyout-booking-summary .pricing-line{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;opacity:.9}.buyout-booking-summary .pricing-line.total{border-top:1px solid #fff3;margin-top:.5rem;padding-top:.75rem;font-weight:500;font-size:1.1rem;opacity:1}.buyout-booking-summary .pricing-line.deposit{color:#d4af37;font-weight:500}.buyout-booking-summary .pricing-note{font-size:.8rem;opacity:.7;font-style:italic;margin:0;text-align:center}@media (max-width:768px){.buyout-booking-summary{padding:1.5rem}.buyout-booking-summary .summary-details{grid-template-columns:1fr;gap:.75rem}.buyout-booking-summary .summary-item{display:flex;justify-content:space-between;text-align:left}.buyout-booking-summary .summary-item .label{margin-bottom:0}}.guest-form{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-soft)}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-field{flex:1 1}.form-field.small{flex:0.5 1}.form-field.full-width{width:100%;margin-bottom:1rem}.form-field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem;color:#666}.form-field input,.form-field textarea{width:100%;padding:.875rem 1rem;border:2px solid #e5e5e5;border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body);transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-gold)}.form-field input.error{border-color:var(--color-error)}.error-msg{display:block;color:var(--color-error);font-size:.8rem;margin-top:.25rem}.form-section-title{font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin:1.5rem 0 1rem;color:#666}.payment-layout{display:grid;grid-template-columns:1fr;grid-gap:2rem;gap:2rem}@media (min-width:768px){.payment-layout{grid-template-columns:1fr 350px}}.payment-form-container{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-soft)}.card-element-wrapper{margin-bottom:1.5rem}.card-element-wrapper label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.75rem;color:#666}.card-element{padding:1rem;border:2px solid #e5e5e5;border-radius:var(--radius-sm);background:#fff;transition:border-color .2s}.card-element:focus-within{border-color:var(--color-gold)}.card-hint{font-size:.8rem;color:#999;margin-top:.75rem;line-height:1.4}.payment-note{background:#c9a9591a;font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.error-banner,.payment-note{padding:1rem;border-radius:var(--radius-sm)}.error-banner{background:#c23d4b1a;color:var(--color-error);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.booking-summary{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-soft);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:100px}.booking-summary h3{font-family:var(--font-display);font-size:1.25rem;margin:0 0 1rem}.booking-summary h3,.summary-section{padding-bottom:1rem;border-bottom:1px solid #eee}.summary-section{margin-bottom:1rem}.summary-room strong{display:block;font-family:var(--font-display);font-size:1.1rem}.summary-room span{color:#666;font-size:.9rem}.summary-dates,.summary-guests{font-size:.9rem;color:#666;margin-top:.25rem}.summary-breakdown{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.breakdown-line{display:flex;justify-content:space-between;font-size:.9rem;padding:.35rem 0}.breakdown-line.addon{color:#666;font-size:.85rem}.breakdown-line.total{font-weight:600;font-size:1.1rem;padding-top:.75rem;margin-top:.5rem;border-top:1px solid #eee}.guest-summary{font-size:.9rem}.guest-summary strong{display:block;font-family:var(--font-display);font-size:1rem;margin-bottom:.25rem}.guest-summary span{display:block;color:#666}.confirmation{max-width:580px;margin:0 auto;text-align:center}.confirmation-header{margin-bottom:2.5rem}.confirmation-logo{height:90px;width:auto;object-fit:contain;margin-bottom:1.75rem}.success-icon{width:72px;height:72px;background:var(--color-forest);color:#fff;font-size:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem}.confirmation-header h2{font-family:var(--font-display);font-size:2.5rem;font-weight:300;margin-bottom:.6rem;letter-spacing:-.01em}.confirmation-card{background:#fff;border-radius:var(--radius);padding:2.25rem;box-shadow:var(--shadow-soft);text-align:left;border:1px solid #0000000a}.confirmation-number{text-align:center;padding-bottom:1.75rem;margin-bottom:1.75rem;border-bottom:1px solid #f0f0f0}.confirmation-number label{display:block;font-size:.75rem;color:#999;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.1em}.confirmation-number strong{font-family:var(--font-display);font-size:1.85rem;color:var(--color-forest);letter-spacing:.03em;font-weight:400}.confirmation-details{margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f5f5f5}.detail-row .label{color:#666}.detail-row .value{font-weight:500}.confirmation-message{background:#c9a9591a;padding:1.25rem;border-radius:var(--radius-sm);margin-bottom:1.5rem;text-align:center}.confirmation-message p{margin:0;font-size:.95rem;line-height:1.5}.confirmation-message p+p{margin-top:.75rem}.confirmation-contact{text-align:center}.confirmation-contact p{margin:0 0 .5rem;color:#666;font-size:.9rem}.confirmation-contact a{display:block;color:var(--color-gold-dark);text-decoration:none;font-weight:500}.confirmation-address{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee;text-align:center}.confirmation-address p{margin:.25rem 0;color:#666;font-size:.9rem}.confirmation-address p strong{color:var(--color-charcoal);font-size:1rem}.btn-new-booking{margin-top:2rem;padding:1rem 2rem;background:#0000;border:2px solid var(--color-gold);color:var(--color-gold-dark);font-size:1rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.btn-new-booking:hover{background:var(--color-gold);color:#fff}.btn-book,.btn-next{display:block;width:100%;padding:1.1rem 2rem;background:var(--color-forest);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:400;cursor:pointer;transition:all var(--transition-smooth);text-transform:uppercase;letter-spacing:.15em}.btn-book:hover:not(:disabled),.btn-next:hover:not(:disabled){background:var(--color-forest-dark);transform:none;box-shadow:0 8px 30px #3d4f3d40}.btn-book:disabled,.btn-next:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:.95rem 1.75rem;background:#0000;border:1px solid #ddd;color:#666;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:all var(--transition-smooth);letter-spacing:.05em}.btn-secondary:hover{border-color:var(--color-forest);color:var(--color-forest)}.booking-footer{background:#fff;border-top:1px solid #0000000f;padding:1.75rem 2.5rem;text-align:center}.booking-footer p{margin:0 0 .6rem;color:#999;font-size:.8rem}.footer-links{display:flex;justify-content:center;gap:2rem}.footer-links a{color:#666;text-decoration:none;font-size:.8rem;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-forest)}.processing-overlay{position:fixed;inset:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:1000}.processing-content{text-align:center}.spinner-large{width:64px;height:64px;border:4px solid #eee;border-top:4px solid var(--color-gold);border-radius:50%;margin:0 auto 1.5rem}.spinner-large,.spinner-small{animation:spin 1s linear infinite}.spinner-small{width:20px;height:20px;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;display:inline-block;margin-right:.5rem;vertical-align:middle}.processing-content p{font-family:var(--font-display);font-size:1.25rem;color:var(--color-charcoal)}.property-info-section{margin-top:3rem;padding-top:2rem;border-top:1px solid #c9a9594d}.property-hero{text-align:center;margin-bottom:2rem}.property-hero-logo{height:120px;width:auto;object-fit:contain;margin-bottom:1rem}.property-hero h3{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--color-wine);font-style:italic}.property-description{background:#fff;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-bottom:2rem}.property-description p{font-size:1rem;line-height:1.8;color:#555}.property-highlights{margin-bottom:2rem}.property-amenities h4,.property-contact h4,.property-highlights h4,.property-policies h4{font-family:var(--font-display);font-size:1.25rem;color:var(--color-charcoal);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.property-highlights h4:before{content:"✨"}.property-amenities h4:before{content:"🏨"}.property-policies h4:before{content:"📋"}.property-contact h4:before{content:"📍"}.highlights-grid{display:flex;flex-wrap:wrap;gap:.75rem}.highlight-tag{background:linear-gradient(135deg,var(--color-wine) 0,var(--color-wine-light) 100%);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.amenity-tag{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.75rem 1rem;border-radius:var(--radius-sm);box-shadow:0 2px 8px #0000000d;font-size:.9rem}.amenity-icon{font-size:1.25rem}.property-policies{background:#fff;padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-bottom:2rem}.policies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.policy-item{display:flex;flex-direction:column;gap:.25rem}.policy-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#888}.policy-value{font-weight:600;color:var(--color-charcoal)}.cancellation-policy{border-top:1px solid #eee;padding-top:1rem;margin-top:1rem}.cancellation-policy h5{font-size:.875rem;color:var(--color-wine);margin-bottom:.75rem}.cancellation-policy p{font-size:.875rem;color:#666;margin-bottom:.5rem;line-height:1.5}.property-contact{text-align:center;background:linear-gradient(135deg,var(--color-wine) 0,#5a483d 100%);color:#fff;padding:2rem;border-radius:var(--radius)}.property-contact h4{color:#fff;justify-content:center}.property-contact h4:before{filter:brightness(10)}.property-contact .address{font-size:1rem;line-height:1.6;margin-bottom:1rem;opacity:.9}.property-contact .contact-links{display:flex;justify-content:center;align-items:center;gap:.75rem}.property-contact .contact-links a{color:var(--color-gold-light);text-decoration:none;font-weight:500;transition:color .2s}.property-contact .contact-links a:hover{color:#fff}.property-contact .divider{opacity:.5}.property-amenities{margin-bottom:2rem}@media (max-width:768px){.booking-main{padding:1rem}.progress-bar{padding:.75rem 1rem;gap:0;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none}.progress-bar::-webkit-scrollbar{display:none}.progress-step{flex-shrink:0;gap:.4rem}.progress-step:not(:last-child):after{width:25px;margin:0 .5rem}.step-indicator{width:26px;height:26px;font-size:.7rem}.step-header h2{font-size:1.5rem}.date-display-row{flex-wrap:nowrap;gap:.5rem;padding:0 .5rem}.date-display-box{max-width:none;flex:1 1;padding:.875rem 1rem}.date-display-box .date-label{font-size:.65rem}.date-display-box .date-value{font-size:1rem}.date-display-arrow{flex-direction:column;padding:0 .25rem;min-width:auto}.date-display-arrow .nights-badge{font-size:.6rem;padding:.15rem .4rem}.date-display-arrow .arrow{font-size:1rem}.clear-dates-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:28px;height:28px;font-size:1rem}.calendar-months{grid-template-columns:1fr;gap:1.5rem}.date-range-calendar{padding:1rem}.calendar-navigation{top:1rem;left:1rem;right:1rem}.guest-selector{flex-direction:row;gap:1.5rem;padding:1rem;background:#0000}.count-field{flex:1 1;text-align:center}.count-field select{width:100%;max-width:120px}.estate-hero-section{margin:1.5rem -1rem;padding:2.5rem 1.25rem;min-height:auto;background-position:top}.estate-label{padding:.5rem 1rem;font-size:.65rem;letter-spacing:.15em;margin-bottom:1rem}.estate-title{font-size:2.25rem;margin-bottom:.25rem}.estate-tagline{font-size:.95rem;margin-bottom:1rem}.estate-quote{font-size:1rem;margin-bottom:1.75rem;padding:0 .5rem;line-height:1.6}.estate-features-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.estate-feature-card{padding:.875rem;flex-direction:column;align-items:flex-start;gap:.5rem;text-align:left}.estate-feature-icon{width:32px;height:32px}.estate-feature-icon svg{width:26px;height:26px}.estate-feature-content h4{font-size:.8rem;line-height:1.3}.estate-feature-content p{font-size:.7rem;line-height:1.4}.estate-cta-button{margin-top:1.5rem;padding:.875rem 2rem;font-size:.75rem;width:100%;max-width:320px}.form-row{flex-direction:column}.form-field.small{flex:1 1}.selection-footer{flex-direction:column;gap:1rem;text-align:center}.addons-grid{grid-template-columns:1fr}.property-hero h3{font-size:1.25rem}.room-card{flex-direction:column;min-height:auto}.room-photo-section{width:100%;height:240px}.carousel-main{height:190px;min-height:190px}.room-content{padding:1.25rem}.room-header h3{font-size:1.4rem}.property-hero-logo{height:80px}.booking-header .logo-image{height:60px}.confirmation-logo{height:80px}.highlights-grid{justify-content:center}.highlight-tag{font-size:.75rem;padding:.4rem .8rem}.amenities-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.amenity-tag{font-size:.8rem;padding:.5rem}.policies-grid{grid-template-columns:repeat(2,1fr)}.property-contact .contact-links{flex-direction:column;gap:.5rem}.property-contact .divider{display:none}}.estate-inquiry-link{display:block;margin:.75rem auto 0;background:none;border:none;color:#ffffffd9;font-family:var(--font-body);font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-align:center;transition:color .2s ease}.estate-inquiry-link:hover{color:#fff}.inquiry-overlay{position:fixed;inset:0;z-index:9999;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:inquiry-fade-in .25s ease}@keyframes inquiry-fade-in{0%{opacity:0}to{opacity:1}}@keyframes inquiry-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.inquiry-modal{position:relative;background:#fff;border-radius:12px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:0 20px 60px #0000004d;animation:inquiry-slide-up .3s ease}.inquiry-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.75rem;color:var(--color-charcoal);cursor:pointer;line-height:1;opacity:.5;transition:opacity .2s;padding:.25rem}.inquiry-modal-close:hover{opacity:1}.inquiry-modal-close:disabled{cursor:not-allowed}.inquiry-modal-unavailable-notice{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:#fff8e7;border:1px solid #f0c36d;border-radius:var(--radius-sm);margin-bottom:1.25rem}.inquiry-modal-unavailable-icon{width:28px;height:28px;background:#e8a317;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;flex-shrink:0}.inquiry-modal-unavailable-notice p{margin:0;font-size:.9rem;font-weight:500;color:#7a5c00;line-height:1.4}.inquiry-modal-header{margin-bottom:1.25rem}.inquiry-modal-header h3{font-family:var(--font-display);font-size:1.35rem;color:var(--color-forest);margin:0 0 .5rem}.inquiry-modal-header p{font-size:.9rem;color:var(--color-charcoal);margin:0;line-height:1.5}.inquiry-modal-dates{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-cream);border-radius:var(--radius-sm);margin-bottom:1.25rem;font-size:.9rem;font-weight:500}.inquiry-modal-dates-arrow{color:var(--color-gold)}.inquiry-modal-dates-nights{margin-left:auto;color:var(--color-charcoal);font-weight:400;font-size:.85rem}.inquiry-modal-form{display:flex;flex-direction:column;gap:.85rem}.inquiry-modal-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem}.inquiry-modal-form .form-field{display:flex;flex-direction:column;gap:.3rem}.inquiry-modal-form .form-field label{font-size:.85rem;font-weight:500;color:var(--color-charcoal)}.inquiry-modal-form .form-field input,.inquiry-modal-form .form-field textarea{padding:.7rem .9rem;border:1px solid #ddd;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;transition:border-color var(--transition-fast)}.inquiry-modal-form .form-field input:focus,.inquiry-modal-form .form-field textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px #d4af371a}.inquiry-modal-form .form-field textarea{resize:vertical;min-height:80px}.inquiry-error{background:#fff5f5;border:1px solid var(--color-error);color:var(--color-error);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem}.inquiry-modal-actions{display:flex;gap:.75rem;margin-top:.5rem}.inquiry-modal-actions .btn-primary{flex:2 1;padding:.85rem 1.5rem;background:var(--color-forest);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.inquiry-modal-actions .btn-primary:hover:not(:disabled){background:var(--color-forest-dark)}.inquiry-modal-actions .btn-primary:disabled{opacity:.7;cursor:not-allowed}.inquiry-modal-actions .btn-secondary{flex:1 1;padding:.85rem 1rem;background:#fff;border:1px solid #ddd;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;cursor:pointer;transition:all var(--transition-fast)}.inquiry-modal-actions .btn-secondary:hover:not(:disabled){background:var(--color-cream)}.inquiry-modal-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.inquiry-modal-success{text-align:center;padding:1rem 0}.inquiry-modal-success-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#48bb78;color:#fff;border-radius:50%;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.inquiry-modal-success h3{font-family:var(--font-display);font-size:1.3rem;color:var(--color-forest);margin:0 0 .5rem}.inquiry-modal-success p{font-size:.95rem;color:var(--color-charcoal);margin:0 0 .5rem;line-height:1.5}.inquiry-modal-success-note{font-size:.85rem;opacity:.7}.inquiry-modal-success .btn-primary{margin-top:1.25rem;padding:.85rem 2rem;background:var(--color-forest);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.inquiry-modal-success .btn-primary:hover{background:var(--color-forest-dark)}@media (max-width:768px){.carousel-main{height:220px}.carousel-thumbnails{display:none}.room-footer{flex-direction:column;align-items:stretch;gap:1rem}.room-pricing{text-align:center}.price-main{justify-content:center}.total-price{text-align:center}.btn-select{width:100%}.room-quantity-controls{align-self:center}.cart-footer{padding:.75rem 1rem}.cart-summary{max-width:100%}.inquiry-modal{padding:1.5rem;max-width:100%}.inquiry-modal-form-row{grid-template-columns:1fr}.inquiry-modal-actions{flex-direction:column}.inquiry-modal-dates{flex-wrap:wrap}.estate-inquiry-link{font-size:.8rem}}.image-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.image-wrapper img{width:100%;height:100%;object-fit:cover;transition:opacity .4s ease}.image-wrapper img.loading{opacity:0}.image-wrapper img.loaded{opacity:1}.image-skeleton{position:absolute;inset:0;background:linear-gradient(110deg,#f0ebe3 8%,#f7f3ec 18%,#f0ebe3 33%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.image-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#f5f0e8}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{pointer-events:none}.skeleton-card .room-photo-section{position:relative}.skeleton-image{width:100%;height:240px;border-radius:var(--radius) var(--radius) 0 0}.skeleton-image,.skeleton-line{background:linear-gradient(110deg,#f0ebe3 8%,#f7f3ec 18%,#f0ebe3 33%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-line{border-radius:4px;margin-bottom:.75rem}.skeleton-title{height:1.5rem;width:60%}.skeleton-text{height:1rem;width:90%}.skeleton-text.short{width:50%}.skeleton-price{height:1.75rem;width:35%}.skeleton-button{height:2.5rem;width:120px}.step-transition{animation:stepFadeIn .35s ease-out}.step-transition.step-forward{animation:stepSlideInRight .35s ease-out}.step-transition.step-backward{animation:stepSlideInLeft .35s ease-out}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes stepSlideInRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes stepSlideInLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}.terms-acceptance{margin:1.25rem 0;padding:1rem;background:#faf8f5;border:1px solid #00000014;border-radius:var(--radius)}.terms-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.875rem;color:var(--color-wine);line-height:1.5}.terms-checkbox-label input[type=checkbox]{margin-top:.15rem;width:18px;height:18px;accent-color:var(--color-forest);flex-shrink:0;cursor:pointer}.terms-checkbox-label a{color:var(--color-forest);text-decoration:underline;text-underline-offset:2px}.terms-checkbox-label a:hover{color:var(--color-gold-dark)}.no-rooms{text-align:center;padding:3rem 2rem;background:#fff;border-radius:var(--radius);border:1px dashed #00000026}.no-rooms-icon{margin-bottom:1rem}.no-rooms h3{font-family:var(--font-display);font-size:1.35rem;color:var(--color-charcoal);margin-bottom:.5rem;font-weight:500}.no-rooms p{color:#888;font-size:.9rem;max-width:360px;margin:0 auto 1.5rem;line-height:1.6}.no-rooms-actions{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.calendar-hint{text-align:center;font-size:.82rem;color:#999;margin-top:.5rem;font-style:italic}.tax-note{color:#aaa;font-size:.75rem}.btn-edit-summary{background:none;border:none;color:var(--color-forest);font-size:.82rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0;margin-top:.5rem;font-family:var(--font-body)}.btn-edit-summary:hover{color:var(--color-gold-dark)}.btn-edit-summary:disabled{opacity:.5;cursor:not-allowed}.summary-policies{margin-top:1rem;padding-top:1rem;border-top:1px solid #0000000f}.summary-policies .policy-brief{font-size:.78rem;color:#999;line-height:1.5;margin:0}.summary-dates,.summary-guests{display:flex;align-items:center;gap:.4rem}.summary-dates svg,.summary-guests svg{opacity:.5;flex-shrink:0}.email-preview-toggle{margin:1.25rem 0;border:1px solid #00000014;border-radius:var(--radius);overflow:hidden}.email-preview-toggle summary{padding:.75rem 1rem;cursor:pointer;font-size:.875rem;color:var(--color-forest);font-weight:500;background:#faf8f5;-webkit-user-select:none;user-select:none}.email-preview-toggle summary:hover{background:#f5f0e8}.email-preview{padding:1rem 1.25rem;font-size:.85rem;line-height:1.6}.email-preview-header{padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid #00000014;color:#888;font-size:.8rem}.email-preview-body p{margin:0 0 .75rem;color:var(--color-charcoal)}.email-preview-body ul{padding-left:1.25rem;margin:0 0 .75rem}.email-preview-body li{margin-bottom:.35rem}.btn-book:focus-visible,.btn-link:focus-visible,.btn-next:focus-visible,.btn-select:focus-visible,.calendar-day:focus-visible,.carousel-btn:focus-visible,.carousel-dot:focus-visible,.terms-checkbox-label input:focus-visible,.thumbnail:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.room-carousel:focus-visible{outline:2px solid var(--color-gold);outline-offset:4px;border-radius:var(--radius)}.step-header h2,.step-header h2:focus{outline:none}@media (max-width:768px){.calendar-day{min-height:44px;min-width:44px;font-size:.95rem}.nav-btn.next,.nav-btn.prev{min-width:44px;min-height:44px;font-size:1.5rem}.date-display-row{flex-direction:column;gap:.5rem}.date-display-arrow{display:flex;justify-content:center;transform:rotate(90deg)}.date-display-arrow .arrow{font-size:1.2rem}.booking-type-options{flex-direction:column}.booking-type-option{min-height:60px}.guest-selector{flex-direction:column}.payment-layout{flex-direction:column-reverse}.booking-summary{margin-bottom:1rem}.step-header h2{font-size:1.5rem}.skeleton-image{height:180px}}@media (max-width:480px){.booking-header{padding:.75rem 1rem}.booking-header .logo-image{height:50px}.progress-bar{padding:.5rem .75rem}.step-label{font-size:.7rem}.form-row{flex-direction:column}}.exit-intent-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease}.exit-intent-modal{background:#fff;border-radius:12px;max-width:440px;width:90%;padding:2.5rem 2rem;text-align:center;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.exit-intent-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:4px;line-height:1}.exit-intent-close:hover{color:#333}.exit-intent-modal h3{font-family:var(--font-display);font-size:1.5rem;color:var(--color-forest);margin:0 0 .75rem}.exit-intent-modal p{color:#555;font-size:.95rem;line-height:1.6;margin:0 0 1.5rem}.exit-intent-actions{display:flex;flex-direction:column;gap:.75rem}.exit-intent-actions .btn-primary{padding:14px 24px;background:var(--color-forest);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.exit-intent-actions .btn-primary:hover{background:var(--color-forest-dark);transform:translateY(-1px)}.exit-intent-actions .btn-secondary{padding:12px 24px;background:#0000;color:var(--color-forest);border:1px solid var(--color-forest);border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s ease}.exit-intent-actions .btn-secondary:hover{background:var(--color-cream)}.room-block-modal{background:#fff;border-radius:12px;max-width:520px;width:92%;padding:2.5rem 2rem;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.room-block-modal h3{font-family:var(--font-display);font-size:1.5rem;color:var(--color-forest);margin:0 0 .5rem}.room-block-modal p{color:#555;font-size:.9rem;line-height:1.6;margin:0 0 1.25rem}.block-inquiry-form{display:flex;flex-direction:column;gap:.85rem}.block-inquiry-form .form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem}.block-inquiry-form .form-field{display:flex;flex-direction:column;gap:.3rem}.block-inquiry-form .form-field label{font-size:.8rem;font-weight:500;color:var(--color-charcoal)}.block-inquiry-form .form-field input,.block-inquiry-form .form-field textarea{padding:.65rem .85rem;border:1px solid #ddd;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;transition:border-color .2s}.block-inquiry-form .form-field input:focus,.block-inquiry-form .form-field textarea:focus{outline:none;border-color:var(--color-gold)}.block-inquiry-form .form-field textarea{resize:vertical;min-height:60px}.block-inquiry-dates{display:flex;justify-content:space-between;background:var(--color-cream);padding:.6rem .85rem;border-radius:var(--radius-sm);font-size:.85rem;color:var(--color-forest);font-weight:500}.block-inquiry-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:.25rem}.block-inquiry-actions .btn-primary{padding:.85rem 1.5rem;background:var(--color-forest);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}.block-inquiry-actions .btn-primary:hover:not(:disabled){background:var(--color-forest-dark);transform:translateY(-1px)}.block-inquiry-actions .btn-primary:disabled{opacity:.7;cursor:not-allowed}.block-inquiry-actions .btn-secondary{padding:.75rem 1.5rem;background:#0000;color:var(--color-forest);border:1px solid var(--color-forest);border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .2s}.block-inquiry-actions .btn-secondary:hover{background:var(--color-cream)}.block-inquiry-success{text-align:center}.block-inquiry-success .success-icon-lg{width:3rem;height:3rem;border-radius:50%;background:var(--color-forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1rem}.block-inquiry-success h3{margin-bottom:.5rem}.block-inquiry-success p{margin-bottom:1.25rem}.block-inquiry-success a{color:var(--color-forest);font-weight:500}.btn-select-disabled{opacity:.5;cursor:pointer}@media (max-width:480px){.room-block-modal{padding:1.5rem 1.25rem}.block-inquiry-form .form-row{grid-template-columns:1fr}}.card-trust-badges{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.trust-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:#666;background:#f5f3ef;padding:4px 10px;border-radius:4px;white-space:nowrap}.summary-included{padding:.75rem 0;border-top:1px solid var(--color-cream-dark)}.summary-included .included-label{font-size:.8rem;font-weight:600;color:var(--color-forest);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.03em}.summary-included .included-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:.25rem;gap:.25rem}.summary-included .included-list li{font-size:.78rem;color:#555;padding-left:1rem;position:relative}.summary-included .included-list li:before{content:"✓";position:absolute;left:0;color:var(--color-forest);font-weight:700;font-size:.7rem}