.checkoutPrototype{--color-gold:#c9a96e;--color-gold-light:#d4bc94;--color-dark:#1a1a1a;--color-charcoal:#2d2d2d;--color-gray-700:#666;--color-gray-500:#888;--color-gray-300:#e5e5e5;--color-gray-100:#f5f5f5;--color-white:#fff;--color-success:#2d6a4f;--color-error:#9b2335;--font-serif:var(--font-playfair), Georgia, serif;--font-sans:var(--font-montserrat), Arial, sans-serif;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 40px #0000001f;--transition:all .3s cubic-bezier(.4,0,.2,1) width: 100%;background:var(--color-gray-100);min-height:100vh;color:var(--color-dark);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6}.checkoutPrototype,.checkoutPrototype *{box-sizing:border-box}.checkoutPrototype button,.checkoutPrototype input,.checkoutPrototype select,.checkoutPrototype textarea{font-family:var(--font-sans)}.nav-links a:hover{color:var(--color-gold)}.nav-links a:after{content:"";background:var(--color-gold);width:0;height:2px;transition:var(--transition);position:absolute;bottom:-4px;left:0}.nav-links a:hover:after{width:100%}.btn{font-family:var(--font-sans);cursor:pointer;transition:var(--transition);letter-spacing:.3px;border:none;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-dark);color:var(--color-white)}.btn-primary:hover{background:var(--color-charcoal);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{color:var(--color-dark);border:1px solid var(--color-dark);background:0 0}.btn-outline:hover{background:var(--color-dark);color:var(--color-white)}.btn-gold{background:var(--color-gold);color:var(--color-white)}.btn-gold:hover{background:var(--color-gold-light);transform:translateY(-1px)}.btn-sm{padding:.625rem 1.25rem;font-size:.8125rem}.page-header{max-width:1400px;margin:0 auto;padding:2.5rem 2rem 1.5rem}.breadcrumb{text-transform:uppercase;letter-spacing:1.5px;color:var(--color-gray-500);align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.75rem;display:flex}.breadcrumb a{color:var(--color-gray-500);transition:var(--transition);text-decoration:none}.breadcrumb a:hover{color:var(--color-gold)}.breadcrumb .active{color:var(--color-dark);font-weight:600}.breadcrumb svg{opacity:.4;width:14px;height:14px}.page-title{font-family:var(--font-serif);color:var(--color-dark);letter-spacing:-.5px;margin-bottom:.5rem;font-size:2.5rem;font-weight:400}.main-container{grid-template-columns:1fr 380px;align-items:start;gap:2.5rem;max-width:1400px;margin:0 auto;padding:0 2rem 4rem;display:grid}.checkout-card{background:var(--color-white);border:1px solid var(--color-gray-300);box-shadow:var(--shadow-sm);opacity:0;border-radius:4px;margin-bottom:1.5rem;padding:2rem;animation:.5s ease-out forwards fadeInUp}.checkout-card:first-child{animation-delay:.1s}.checkout-card:nth-child(2){animation-delay:.2s}.checkout-card:nth-child(3){animation-delay:.3s}.checkout-card:nth-child(4){animation-delay:.4s}.card-title{font-family:var(--font-serif);align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600;display:flex}.card-title svg{color:var(--color-gold)}.card-subtitle{color:var(--color-gray-500);margin-top:-1rem;margin-bottom:1.5rem;font-size:.875rem}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--color-dark);font-size:.8125rem;font-weight:600}.form-group input,.form-group select{border:1px solid var(--color-gray-300);font-family:var(--font-sans);color:var(--color-dark);background:var(--color-white);transition:var(--transition);border-radius:4px;width:100%;padding:.875rem 1rem;font-size:.9375rem}.form-group input:focus,.form-group select:focus{border-color:var(--color-gold);outline:none;box-shadow:0 0 0 3px #c9a96e1a}.form-group input::placeholder{color:var(--color-gray-500)}.input-hint{color:var(--color-gray-500);margin-top:.25rem;font-size:.75rem}.checkbox-group{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.checkbox-row{cursor:pointer;color:var(--color-gray-700);align-items:flex-start;gap:.75rem;font-size:.875rem;display:flex}.checkbox-row input{width:18px;height:18px;accent-color:var(--color-gold);flex-shrink:0;margin-top:2px}.checkbox-row a{color:var(--color-gold);text-underline-offset:2px;text-decoration:underline}.payment-options{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.payment-option{border:1px solid var(--color-gray-300);cursor:pointer;transition:var(--transition);background:var(--color-white);border-radius:4px;align-items:center;gap:.75rem;padding:1rem;display:flex}.payment-option:hover{border-color:var(--color-gold)}.payment-option.selected{border-color:var(--color-gold);background:linear-gradient(to right,var(--color-white),#c9a96e0d)}.payment-option input{width:18px;height:18px;accent-color:var(--color-gold);flex-shrink:0}.payment-option-label{font-size:.9375rem;font-weight:600}.payment-option-desc{color:var(--color-gray-500);font-size:.8125rem}.credit-card-fields{grid-template-columns:2fr 1fr 1fr;gap:1.25rem;display:grid}.cvv-wrap{align-items:center;gap:.75rem;display:flex}.cvv-hint{color:var(--color-gray-500);align-items:center;gap:.375rem;font-size:.75rem;display:flex}.cvv-hint svg{color:var(--color-gray-500)}.accordion-header{border-bottom:1px solid var(--color-gray-300);cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 0;display:flex}.accordion-header h3{align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.accordion-content{max-height:0;transition:max-height .4s;overflow:hidden}.accordion-content.open{max-height:800px}.accessibility-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.accessibility-col h4{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-size:.75rem;font-weight:600}.accessibility-list{flex-direction:column;gap:.625rem;display:flex}.accessibility-item{color:var(--color-gray-700);cursor:pointer;align-items:center;gap:.625rem;font-size:.875rem;display:flex}.accessibility-item input{width:16px;height:16px;accent-color:var(--color-gold)}.apply-btns{gap:.75rem;margin-top:1.5rem;display:flex}.apply-btns .btn{padding:.625rem 1.5rem}.hotel-messages{border-top:1px solid var(--color-gray-300);margin-top:2rem;padding-top:2rem}.hotel-messages h3{margin-bottom:.75rem;font-size:1rem;font-weight:600}.hotel-messages ul{color:var(--color-gray-700);flex-direction:column;gap:.5rem;padding-left:1.25rem;font-size:.875rem;list-style:outside;display:flex}.cancellation-policy{margin-top:1.5rem}.cancellation-policy h3{margin-bottom:.75rem;font-size:1rem;font-weight:600}.cancellation-policy p{color:var(--color-gray-700);font-size:.875rem;line-height:1.6}.book-now-btn{width:100%;margin-top:2rem;padding:1.125rem;font-size:1rem}.sidebar{position:sticky;top:100px}.sidebar-card{background:var(--color-white);border:1px solid var(--color-gray-300);box-shadow:var(--shadow-sm);border-radius:4px;margin-bottom:1.5rem;overflow:hidden}.sidebar-image{object-fit:cover;width:100%;height:200px}.sidebar-content{padding:1.5rem}.sidebar-hotel{font-family:var(--font-serif);margin-bottom:.25rem;font-size:1.25rem;font-weight:600}.sidebar-location{color:var(--color-gray-500);align-items:center;gap:.375rem;margin-bottom:1.25rem;font-size:.875rem;display:flex}.sidebar-dates{border-bottom:1px solid var(--color-gray-300);grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:grid}.date-block h5{text-transform:uppercase;letter-spacing:1.5px;color:var(--color-gray-500);margin-bottom:.25rem;font-size:.6875rem}.date-block p{color:var(--color-dark);font-size:.9375rem;font-weight:500}.date-block span{color:var(--color-gray-500);font-size:.75rem}.sidebar-guests{color:var(--color-gray-700);border-bottom:1px solid var(--color-gray-300);margin-bottom:1.25rem;padding-bottom:1.25rem;font-size:.875rem}.sidebar-summary h5{text-transform:uppercase;letter-spacing:1.5px;color:var(--color-gray-500);margin-bottom:.75rem;font-size:.6875rem}.summary-row{color:var(--color-gray-700);justify-content:space-between;margin-bottom:.5rem;font-size:.9375rem;display:flex}.summary-row.total{font-family:var(--font-montserrat), Arial, sans-serif;color:var(--color-dark);border-top:1px solid var(--color-gray-300);margin-top:.75rem;padding-top:.75rem;font-size:1.25rem;font-weight:600}.room-details-link{color:var(--color-gray-700);text-underline-offset:3px;margin-top:.5rem;font-size:.8125rem;text-decoration:underline;display:inline-block}.room-details-link:hover{color:var(--color-gold)}.success-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:300;background:#0009;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.success-overlay.active{display:flex}.success-modal{background:var(--color-white);text-align:center;width:100%;max-width:520px;box-shadow:var(--shadow-lg);border-radius:12px;padding:3rem;animation:.5s ease-out modalIn}.success-icon{background:linear-gradient(135deg,var(--color-success),#40916c);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;display:flex}.success-modal h2{font-family:var(--font-serif);margin-bottom:.75rem;font-size:2rem;font-weight:400}.success-modal h2 em{font-style:italic}.success-modal p{color:var(--color-gray-700);margin-bottom:.5rem;font-size:.9375rem}.success-modal .booking-ref{font-family:var(--font-serif);color:var(--color-dark);background:var(--color-gray-100);letter-spacing:2px;border-radius:4px;margin:1rem 0;padding:1rem;font-size:1.5rem;font-weight:600}.success-modal .success-details{text-align:left;background:var(--color-gray-100);border-radius:4px;margin:1.5rem 0;padding:1.25rem}.success-modal .success-details p{color:var(--color-gray-700);justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;display:flex}.success-modal .success-details p:last-child{margin-bottom:0}.success-modal .success-details p strong{color:var(--color-dark)}.confirmation-message{color:var(--color-gray-500);margin-top:1rem;font-size:.875rem;line-height:1.5}.toast{background:var(--color-dark);color:var(--color-white);box-shadow:var(--shadow-lg);z-index:200;border-radius:4px;align-items:center;gap:.75rem;padding:1rem 1.5rem;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:100px;right:2rem;transform:translate(150%)}.toast.show{transform:translate(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:1024px){.main-container{grid-template-columns:1fr}.sidebar{display:none;position:relative;top:0}}@media (max-width:768px){.page-header{padding:1.5rem 1rem 1rem}.page-title{font-size:1.75rem}.main-container{padding:0 1rem 2rem}.checkout-card{padding:1.5rem}.form-row,.credit-card-fields,.accessibility-grid{grid-template-columns:1fr}.success-modal{padding:2rem 1.5rem}}.checkout-container,.breadcrumb{max-width:1400px;padding-left:var(--site-gutter);padding-right:var(--site-gutter)}@media (max-width:767px){.checkoutPrototype{padding-bottom:calc(86px + env(safe-area-inset-bottom))}}.loyalty-banner{max-width:1400px;padding:0 var(--site-gutter);margin:0 auto 2rem}.loyalty-inner{border:1px solid var(--color-gray-300);background:linear-gradient(135deg,#fafafa 0%,#f0f0f0 100%);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.loyalty-text{color:var(--color-gray-700);align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.loyalty-logo{font-family:var(--font-serif);color:var(--color-dark);font-size:1.25rem;font-weight:700}@media (max-width:767px){.loyalty-banner{padding:0 1rem}.loyalty-inner{flex-direction:column;align-items:flex-start}}.summary-row,#sidebar-room-total,#sidebar-total,#success-total,.success-details strong{font-family:var(--font-montserrat), Arial, sans-serif;font-weight:600}.phone-field-row{grid-template-columns:minmax(112px,.8fr) minmax(0,1.5fr);gap:8px;display:grid}.phone-field-row select,.phone-field-row input{min-width:0}.booking-edit-links{flex-wrap:wrap;gap:8px 16px;display:flex}.single-field-row{grid-template-columns:1fr}@media (max-width:767px){.phone-field-row{grid-template-columns:minmax(108px,.85fr) minmax(0,1.35fr)}.checkoutPrototype{padding-bottom:0}}.checkoutPrototype,.checkoutPrototype button,.checkoutPrototype input,.checkoutPrototype select,.checkoutPrototype textarea{font-family:var(--font-montserrat)}.checkoutPrototype .page-title{font-family:var(--font-playfair)}.checkoutPrototype .card-title,.checkoutPrototype .sidebar-hotel,.checkoutPrototype .summary-row,.checkoutPrototype .summary-row.total,.checkoutPrototype .booking-ref,.checkoutPrototype .btn{font-family:var(--font-montserrat)}.checkoutPrototype .form-group label,.checkoutPrototype .form-help,.checkoutPrototype .field-help,.checkoutPrototype .tax-note,.checkoutPrototype .payment-note,.checkoutPrototype small{color:var(--text-helper)}.checkoutPrototype .children-bedding-checkout{border:1px solid #e3ddd7;border-left:3px solid var(--accent);background:#fbf8f5;margin-top:1.5rem;padding:1.5rem}.checkoutPrototype .children-bedding-checkout[hidden]{display:none}.checkoutPrototype .children-bedding-checkout-label{color:var(--accent-dark);font-family:var(--font-montserrat);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem;font-size:.6875rem;font-weight:700}.checkoutPrototype .children-bedding-checkout h3{color:#111;font-family:var(--font-playfair);margin:0 0 .75rem;font-size:1.35rem;font-weight:500;line-height:1.25}.checkoutPrototype .children-bedding-checkout>p{color:#4a4a4a;font-family:var(--font-montserrat);margin:0 0 1rem;font-size:.875rem;line-height:1.7}.checkoutPrototype .children-bedding-confirmation{color:#222;cursor:pointer;font-family:var(--font-montserrat);border-top:1px solid #e3ddd7;align-items:flex-start;gap:.75rem;padding-top:1rem;font-size:.875rem;font-weight:600;line-height:1.55;display:flex}.checkoutPrototype .children-bedding-confirmation input{width:18px;height:18px;accent-color:var(--navy);flex:none;margin:2px 0 0}.checkoutPrototype .children-bedding-confirmation input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:640px){.checkoutPrototype .children-bedding-checkout{padding:1.25rem}.checkoutPrototype .children-bedding-checkout h3{font-size:1.2rem}.checkoutPrototype .children-bedding-checkout>p,.checkoutPrototype .children-bedding-confirmation{font-size:.8125rem}}
