.searchPrototype{--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;--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);color:var(--color-dark);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6}.searchPrototype,.searchPrototype *{box-sizing:border-box}.searchPrototype button,.searchPrototype input,.searchPrototype 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-sm{padding:.625rem 1.25rem;font-size:.8125rem}.btn-lg{padding:1.125rem 2.5rem;font-size:1rem}.results-section{max-width:1400px;margin:0 auto;padding:3rem 2rem}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;display:flex}.results-title{font-family:var(--font-serif);font-size:2rem;font-weight:400}.results-title em{font-style:italic}.results-count{color:var(--color-gray-500);font-size:.9375rem}.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-card{background:var(--color-white);border:1px solid var(--color-gray-300);transition:var(--transition);box-shadow:var(--shadow-sm);opacity:0;border-radius:4px;margin-bottom:1.5rem;animation:.5s ease-out forwards fadeInUp;overflow:hidden}.room-card:first-child{animation-delay:.1s}.room-card:nth-child(2){animation-delay:.2s}.room-card:nth-child(3){animation-delay:.3s}.room-card:nth-child(4){animation-delay:.4s}.room-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.room-card-inner{grid-template-columns:260px 1fr auto;gap:0;display:grid}.room-image-wrap{height:100%;min-height:200px;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.125rem;font-weight:600;line-height:1.3}.room-specs{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.spec-row{color:var(--color-gray-700);align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.spec-row svg{width:16px;height:16px;color:var(--color-gray-500)}.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:.25rem .625rem;font-size:.6875rem;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:180px;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:1.75rem;font-weight:600;line-height:1}.price-suffix{color:var(--color-gray-500);text-align:right;margin-bottom:.5rem;font-size:.8125rem}.price-per-night{color:var(--color-gray-500);text-align:right;margin-bottom:1rem;font-size:.75rem}.select-room-btn{width:100%;margin-top:auto}.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}.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 slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.toast.show{transform:translate(0)}@media (max-width:1024px){.main-container{grid-template-columns:1fr}.sidebar{display:none;position:relative;top:0}}@media (max-width:768px){.results-section{padding:2rem 1rem}.main-container{padding:0 1rem 2rem}.room-card-inner{grid-template-columns:1fr}.room-image-wrap{min-height:220px}.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}}.results-section,.main-container{max-width:1400px;padding-left:var(--site-gutter);padding-right:var(--site-gutter)}@media (max-width:767px){.mobile-summary{bottom:calc(66px + env(safe-area-inset-bottom));z-index:1100}}.searchEmptyState{background:var(--off-white);min-height:360px;color:var(--text);text-align:center;align-content:center;place-items:center;gap:12px;padding:64px 28px;display:grid}.searchEmptyState h1{font-family:var(--font-playfair), Georgia, serif;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:500}.searchEmptyState p{max-width:580px;color:var(--muted);font-family:var(--font-montserrat), Arial, sans-serif;line-height:1.7}.searchEmptyIcon{border:1px solid var(--border);background:var(--white);width:52px;height:52px;color:var(--navy);font:600 26px/1 var(--font-montserrat), Arial, sans-serif;border-radius:50%;place-items:center;display:grid}.price-value,.price-per-night,.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}.results-section,.main-container{padding-left:28px;padding-right:28px}.searchEmptyState{min-height:320px;padding-left:28px;padding-right:28px}}@media (max-width:379px){.results-section,.main-container,.searchEmptyState{padding-left:20px;padding-right:20px}}.searchEmptyMobileAction{display:none}@media (max-width:767px){.searchEmptyMobileAction{background:var(--navy);color:var(--white);font-family:var(--font-montserrat), Arial, sans-serif;border-radius:4px;justify-content:center;align-items:center;margin-top:8px;padding:12px 18px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}}.searchPrototype .room-details-link{color:var(--navy);font-family:var(--font-montserrat);text-align:center;text-underline-offset:3px;margin:0 0 10px;font-size:12px;font-weight:600;text-decoration:underline;display:block}.searchPrototype,.searchPrototype button,.searchPrototype input,.searchPrototype select{font-family:var(--font-montserrat)}.searchPrototype .results-title,.searchPrototype .room-name,.searchPrototype .rate-plans-title{font-family:var(--font-playfair)}.searchPrototype .price-value,.searchPrototype .rate-price,.searchPrototype .summary-row,.searchPrototype .mobile-summary-price,.searchPrototype .sidebar-hotel,.searchPrototype .btn,.searchPrototype .room-details-link{font-family:var(--font-montserrat)}.searchPrototype .room-meta,.searchPrototype .room-description,.searchPrototype .rate-details,.searchPrototype .summary-row,.searchPrototype .tax-note,.searchPrototype small{color:var(--text-helper)}
