.prototypeRoot{--color-gold:#c9a96e;--color-gold-light:#d4bc94;--color-dark:#1a1a1a;--color-charcoal:#2d2d2d;--color-gray-900:#333;--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);background:var(--color-gray-100);width:100%;min-height:100vh;color:var(--color-dark);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6}.prototypeRoot,.prototypeRoot *{box-sizing:border-box}.prototypeRoot button,.prototypeRoot input,.prototypeRoot select{font-family:var(--font-sans)}.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}.page-title em{font-style:italic}.page-subtitle{color:var(--color-gray-500);align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.trending-badge{background:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:100px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;display:inline-flex}.loyalty-banner{max-width:1400px;margin:0 auto 2rem;padding:0 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}.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}.room-category{opacity:0;margin-bottom:2.5rem;animation:.6s ease-out forwards fadeInUp}.room-category:first-child{animation-delay:.1s}.room-category:nth-child(2){animation-delay:.2s}.room-category:nth-child(3){animation-delay:.3s}.room-category:nth-child(4){animation-delay:.4s}.category-header{border-bottom:2px solid var(--color-dark);align-items:baseline;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.category-title{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:1px;color:var(--color-dark);font-size:1.125rem;font-weight:600}.category-count{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.room-card{background:var(--color-white);border:1px solid var(--color-gray-300);transition:var(--transition);box-shadow:var(--shadow-sm);border-radius:4px;margin-bottom:1.5rem;overflow:hidden}.room-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.room-card-inner{grid-template-columns:280px 1fr auto;gap:0;display:grid}.room-image-wrap{height:100%;min-height:220px;position:relative;overflow:hidden}.room-image{object-fit:cover;width:100%;height:100%;transition:transform .6s}.room-card:hover .room-image{transform:scale(1.05)}.image-badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border-radius:2px;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.75rem;display:flex;position:absolute;top:1rem;right:1rem}.room-details{flex-direction:column;justify-content:space-between;padding:1.5rem 2rem;display:flex}.room-name{font-family:var(--font-serif);color:var(--color-dark);margin-bottom:.75rem;font-size:1.25rem;font-weight:600;line-height:1.3}.room-specs{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.spec-row{color:var(--color-gray-700);align-items:center;gap:.625rem;font-size:.875rem;display:flex}.spec-row svg{width:18px;height:18px;color:var(--color-gray-500);flex-shrink:0}.room-features{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.feature-tag{background:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:100px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;display:inline-flex}.room-actions{border-left:1px solid var(--color-gray-300);background:linear-gradient(to bottom, var(--color-white), var(--color-gray-100));flex-direction:column;justify-content:space-between;align-items:flex-end;min-width:200px;padding:1.5rem 2rem;display:flex}.price-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--color-gray-500);text-align:right;font-size:.6875rem}.price-value{font-family:var(--font-montserrat), Arial, sans-serif;color:var(--color-dark);margin:.25rem 0;font-size:2rem;font-weight:600;line-height:1}.price-suffix{color:var(--color-gray-500);text-align:right;margin-bottom:1.25rem;font-size:.8125rem}.price-note{color:var(--color-gray-500);text-align:right;margin-bottom:1rem;font-size:.6875rem}.select-room-btn{width:100%;margin-top:auto}.room-details-link{color:var(--color-gray-700);text-underline-offset:3px;transition:var(--transition);margin-top:.75rem;font-size:.8125rem;text-decoration:underline}.room-details-link:hover{color:var(--color-gold)}.rate-plans{border-top:1px solid var(--color-gray-300);background:var(--color-gray-100);max-height:0;transition:max-height .5s cubic-bezier(.4,0,.2,1);overflow:hidden}.rate-plans.open{max-height:2000px}.rate-plans-inner{padding:1.5rem 2rem}.rate-plans-title{font-family:var(--font-serif);text-align:center;color:var(--color-dark);margin-bottom:1.25rem;font-size:1.125rem}.rate-card{background:var(--color-white);border:1px solid var(--color-gray-300);transition:var(--transition);cursor:pointer;border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:1.25rem 1.5rem;display:grid}.rate-card:hover{border-color:var(--color-gold);box-shadow:var(--shadow-md)}.rate-card.selected{border-color:var(--color-gold);background:linear-gradient(to right, var(--color-white), #c9a96e0d)}.rate-info h4{color:var(--color-dark);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9375rem;font-weight:600;display:flex}.rate-info ul{flex-direction:column;gap:.375rem;list-style:none;display:flex}.rate-info li{color:var(--color-gray-700);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.rate-info li svg{width:16px;height:16px;color:var(--color-success);flex-shrink:0}.rate-price-block{text-align:right;flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.rate-price-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-gray-500);font-size:.6875rem}.rate-price{font-family:var(--font-montserrat), Arial, sans-serif;color:var(--color-dark);font-size:1.5rem;font-weight:600}.rate-member-price{color:var(--color-gray-700);font-size:.8125rem}.rate-member-price span{color:var(--color-gold);font-weight:600}.rate-note{color:var(--color-gray-500);margin-bottom:.75rem;font-size:.6875rem}.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}.guarantee-box{border-top:1px solid var(--color-gray-300);background:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%);padding:1.25rem}.guarantee-box h4{align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}.guarantee-box p{color:var(--color-gray-700);font-size:.8125rem;line-height:1.5}.guarantee-box a{color:var(--color-gold);text-underline-offset:2px;font-size:.8125rem;text-decoration:underline}.help-box{padding:1.5rem}.help-box h4{align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:flex}.help-box p{color:var(--color-gray-700);margin-bottom:.5rem;font-size:.8125rem}.help-phone{color:var(--color-dark);align-items:center;gap:.5rem;margin:.75rem 0;font-size:.9375rem;font-weight:600;display:flex}.help-link{color:var(--color-gold);text-underline-offset:2px;font-size:.8125rem;text-decoration:underline}.mobile-summary{background:var(--color-white);border-top:1px solid var(--color-gray-300);z-index:90;padding:1rem 1.5rem;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.mobile-summary-content{justify-content:space-between;align-items:center;display:flex}.mobile-summary-price{font-family:var(--font-montserrat), Arial, sans-serif;font-size:1.25rem;font-weight:600}.mobile-summary-price span{color:var(--color-gray-500);font-size:.75rem;font-family:var(--font-montserrat), Arial, sans-serif;font-weight:400;display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(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}.room-card-inner{grid-template-columns:1fr}.room-image-wrap{min-height:240px}.room-actions{border-left:none;border-top:1px solid var(--color-gray-300);flex-flow:wrap;align-items:flex-start;gap:1rem}.rate-card{grid-template-columns:1fr;gap:1rem}.rate-price-block{align-items:flex-start}.loyalty-inner{flex-direction:column;align-items:flex-start}}.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)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:150;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.modal{background:var(--color-white);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:8px;animation:.3s ease-out modalIn;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--color-gray-300);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h3{font-family:var(--font-serif);font-size:1.25rem}.modal-close{cursor:pointer;color:var(--color-gray-500);transition:var(--transition);background:0 0;border:none;padding:.5rem}.modal-close:hover{color:var(--color-dark)}.modal- .modal-footer{border-top:1px solid var(--color-gray-300);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.gallery-grid img{object-fit:cover;cursor:pointer;width:100%;height:160px;transition:var(--transition);border-radius:4px}.gallery-grid img:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.gallery-grid img:first-child{grid-column:1/-1;height:280px}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--color-dark);margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:block}.form-group input,.form-group select{border:1px solid var(--color-gray-300);width:100%;font-family:var(--font-sans);transition:var(--transition);background:var(--color-white);border-radius:4px;padding:.75rem 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}.checkbox-custom{cursor:pointer;color:var(--color-gray-700);align-items:flex-start;gap:.75rem;font-size:.875rem;display:flex}.checkbox-custom input{width:18px;height:18px;accent-color:var(--color-gold);margin-top:2px}@media (max-width:768px){.page-header{margin-top:60px}}@media (max-width:767px){.mobile-summary{bottom:calc(66px + env(safe-area-inset-bottom));z-index:1100}.prototypeRoot{padding-bottom:calc(146px + env(safe-area-inset-bottom))}}.price-value,.price-note,.rate-price,.rate-member-price,.summary-row,.mobile-summary-price,#sidebar-room-total,#sidebar-total,#mobile-total{font-family:var(--font-montserrat), Arial, sans-serif;font-weight:600}@media (min-width:768px){.mobile-summary{display:none!important}}@media (max-width:767px){.mobile-summary{bottom:calc(66px + env(safe-area-inset-bottom));display:block}.page-header,.main-container{padding-left:28px;padding-right:28px}}@media (max-width:379px){.page-header,.main-container{padding-left:20px;padding-right:20px}}@media (min-width:768px){.page-header,.main-container{padding-left:var(--site-gutter);padding-right:var(--site-gutter)}}.roomsPrototype,.roomsPrototype button,.roomsPrototype input,.roomsPrototype select{font-family:var(--font-montserrat)}.roomsPrototype .page-title,.roomsPrototype .room-title,.roomsPrototype .section-title{font-family:var(--font-playfair)}.roomsPrototype .price,.roomsPrototype .price-value,.roomsPrototype .rate-price,.roomsPrototype .total-price,.roomsPrototype .room-details-link,.roomsPrototype .btn,.roomsPrototype .summary-row,.roomsPrototype .mobile-summary-price{font-family:var(--font-montserrat)}.roomsPrototype .room-description,.roomsPrototype .room-meta,.roomsPrototype .rate-description,.roomsPrototype .tax-note,.roomsPrototype .helper-text,.roomsPrototype small{color:var(--text-helper)}.prototypeRoot{color:#3f3f3f}.prototypeRoot .page-subtitle,.prototypeRoot .room-description,.prototypeRoot .spec-row,.prototypeRoot .feature-tag,.prototypeRoot .price-suffix,.prototypeRoot .price-note,.prototypeRoot .rate-info li,.prototypeRoot .rate-note,.prototypeRoot .date-block span,.prototypeRoot .sidebar-guests{color:#595959}.prototypeRoot .room-name,.prototypeRoot .category-title,.prototypeRoot .rate-plans-title,.prototypeRoot .rate-info h4,.prototypeRoot .sidebar-hotel{color:#171717}.prototypeRoot .room-actions>div:first-child{text-align:right;grid-template-columns:auto auto;justify-content:end;align-items:end;column-gap:9px;width:100%;display:grid}.prototypeRoot .price-label{color:#6b6b6b;grid-area:1/1;align-self:center;margin:0;font-size:.6875rem;font-weight:700;line-height:1}.prototypeRoot .price-value{color:#202020;text-align:right;grid-area:1/2;margin:0;font-size:2rem;font-weight:700;line-height:1}.prototypeRoot .price-suffix{color:#5e5e5e;text-align:right;grid-area:2/1/auto/-1;margin:7px 0 0;font-size:.75rem;font-weight:500}.prototypeRoot .price-note{color:#626262;text-align:right;grid-area:3/1/auto/-1;margin:12px 0 16px;font-size:.6875rem;font-weight:500;line-height:1.45}.prototypeRoot .room-features{gap:8px}.prototypeRoot .feature-tag{color:#555;background:#f7f5f2;border-color:#ddd8d3;min-height:28px;padding:6px 11px;font-size:.72rem;font-weight:500;line-height:1.2}.prototypeRoot .room-description{margin:4px 0 12px;font-size:.875rem;font-weight:500;line-height:1.62}.prototypeRoot .spec-row{font-weight:500}.prototypeRoot .room-details-link{color:#404040;font-weight:600}.prototypeRoot .rate-plans-inner{padding:24px}.prototypeRoot .rate-plans-title{font-family:var(--font-playfair);text-align:center;margin-bottom:18px;font-size:20px;font-weight:500}.prototypeRoot .rate-card{background:#fff;border:1px solid #dedad5;padding:22px 24px}.prototypeRoot .rate-card+.rate-card{margin-top:14px}.prototypeRoot .rate-card.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.prototypeRoot .rate-info h4{margin-bottom:12px;font-size:15px;font-weight:700}.prototypeRoot .rate-info ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.prototypeRoot .rate-info li{font-size:13px;font-weight:500;line-height:1.55}.prototypeRoot .rate-price-block{gap:5px}.prototypeRoot .rate-price-label{color:#6b6b6b;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.prototypeRoot .rate-price{color:#202020;font-size:28px;font-weight:700}.prototypeRoot .rate-note{margin-bottom:10px;font-size:12px;font-weight:500}.prototypeRoot .mobile-booking-bar{display:none}@media (max-width:767px){.prototypeRoot{padding-bottom:calc(146px + env(safe-area-inset-bottom))}.prototypeRoot .mobile-booking-bar{right:0;bottom:calc(66px + env(safe-area-inset-bottom));z-index:1100;background:#fff;border-top:1px solid #dedad5;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:11px 22px;display:flex;position:fixed;left:0;box-shadow:0 -5px 18px #00000017}.prototypeRoot .mobile-booking-bar>div{flex-direction:column;gap:2px;min-width:0;display:flex}.prototypeRoot .mobile-booking-bar span{color:#666;text-transform:uppercase;font-size:11px;font-weight:600}.prototypeRoot .mobile-booking-bar strong{color:#181818;font-family:var(--font-montserrat);font-size:17px;font-weight:700}.prototypeRoot .room-actions>div:first-child{text-align:left;justify-content:start}.prototypeRoot .price-suffix,.prototypeRoot .price-note{text-align:left}.prototypeRoot .rate-plans-inner{padding:18px}.prototypeRoot .rate-card{padding:19px 18px}}
