:root{--paper:#f7f4ee;--paper-deep:#eeeae1;--surface:#fffefa;--ink:#2f342f;--muted:#70766e;--green:#5e6f61;--green-dark:#46564a;--green-pale:#e8ede7;--line:#d7dbd3;--danger:#8f443b;--shadow:0 16px 45px #2e383014;--ease-out:cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--paper);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}button,input,select{outline:none}button:focus-visible,input:focus-visible,select:focus-visible{box-shadow:0 0 0 3px #5e6f6140}.app-shell{min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f4eeeb;border-bottom:1px solid #5e6f6124;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:78px;padding:12px clamp(20px,4vw,58px);display:grid;position:sticky;top:0}.brand{width:fit-content;color:var(--ink);flex-direction:column;align-items:center;display:inline-flex}.brand strong{letter-spacing:.34em;margin-right:-.34em;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:500;line-height:1}.brand span{color:var(--green);letter-spacing:.32em;margin-top:5px;margin-right:-.32em;font-size:6px}.topbar-title{flex-direction:column;align-items:center;display:flex}.topbar-title span{color:var(--muted);font-size:11px}.topbar-title strong{font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:500}.text-button{color:var(--green-dark);background:0 0;border:0;justify-self:end;padding:9px 2px;font-weight:700}.workspace{grid-template-columns:minmax(340px,410px) minmax(0,1fr);min-height:calc(100vh - 78px);display:grid}.search-panel{background:var(--surface);border-right:1px solid var(--line);padding:46px clamp(26px,3.5vw,54px)}.panel-heading{margin-bottom:32px}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.panel-heading h1,.results-heading h2,.empty-intro h2,.loading-state h2,.login-card h1{font-family:Georgia,Times New Roman,serif;font-weight:500}.panel-heading h1{margin:0 0 9px;font-size:clamp(29px,3vw,38px);line-height:1.04}.panel-heading>p:last-child{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.quote-form{flex-direction:column;gap:20px;display:flex}.field-grid{grid-template-columns:1fr 1fr;gap:16px 14px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field>span,.ages-fieldset legend{color:var(--green-dark);font-size:12px;font-weight:750}.field input,.field select{border:1px solid var(--line);width:100%;height:46px;color:var(--ink);transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);background:#fff;border-radius:9px;padding:0 12px}.field input::placeholder{color:#aaa99f}.field input:hover,.field select:hover{border-color:#aab4aa}.ages-fieldset{border:1px solid var(--line);border-radius:11px;margin:0;padding:15px}.ages-fieldset legend{padding:0 7px}.ages-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.primary-button,.secondary-button{min-height:46px;transition:transform .15s var(--ease-out), background-color .16s var(--ease-out), border-color .16s var(--ease-out);border-radius:9px;padding:0 18px;font-weight:760}.primary-button{border:1px solid var(--green-dark);background:var(--green-dark);color:#fff}.primary-button:hover:not(:disabled){background:#39473d;border-color:#39473d}.secondary-button{border:1px solid var(--green);color:var(--green-dark);background:0 0}.secondary-button:hover:not(:disabled){background:var(--green-pale)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:scale(.97)}.consult-button{justify-content:center;align-items:center;gap:10px;width:100%;display:inline-flex}.spinner,.large-spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;animation:.8s linear infinite spin;display:inline-block}.spinner{width:16px;height:16px}.large-spinner{width:38px;height:38px;color:var(--green);border-color:currentColor #5e6f6133 #5e6f6133}@keyframes spin{to{transform:rotate(360deg)}}.search-note{color:var(--muted);gap:10px;margin-top:28px;font-size:11px;line-height:1.45;display:flex}.search-note>span{border:1px solid var(--line);width:18px;height:18px;color:var(--green);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.results-panel{background:radial-gradient(circle at 82% 3%, #e8ece5 0, transparent 31%), var(--paper);min-width:0;padding:46px clamp(24px,4.3vw,70px) 120px;position:relative}.empty-intro,.loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:480px;min-height:calc(100vh - 190px);margin:auto;display:flex}.empty-mark{background:var(--green-pale);width:92px;height:92px;color:var(--green);border-radius:50% 50% 44% 56%;place-items:center;margin-bottom:28px;font-family:Georgia,serif;font-size:36px;display:grid}.empty-intro h2,.loading-state h2{margin:4px 0 10px;font-size:30px}.empty-intro>p:last-child,.loading-state p{color:var(--muted);margin:0;line-height:1.55}.loading-state{gap:8px}.loading-state .large-spinner{margin-bottom:14px}.results-content{max-width:1040px;margin:0 auto}.results-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.results-heading h2{margin:0 0 6px;font-size:clamp(28px,3.6vw,42px)}.results-heading div>p:last-child{color:var(--muted);margin:0}.selected-count,.availability{white-space:nowrap;background:var(--green-pale);color:var(--green-dark);border-radius:999px;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.selected-count{padding:8px 12px}.room-list{flex-direction:column;gap:14px;display:flex}.room-card{border:1px solid var(--line);min-height:226px;transition:transform .19s var(--ease-out), border-color .19s var(--ease-out), box-shadow .19s var(--ease-out);background:#fffefaf0;border-radius:15px;grid-template-columns:210px minmax(0,1fr);display:grid;position:relative;overflow:hidden;box-shadow:0 5px 18px #2e383009}.room-card-selected{box-shadow:var(--shadow);border-color:#aeb9ae}.room-card:hover{transform:translateY(-2px)}.room-check{z-index:2;cursor:pointer;width:28px;height:28px;position:absolute;top:14px;left:14px}.room-check input{opacity:0;position:absolute}.room-check span{color:#0000;background:#ffffffd9;border:1px solid #fffc;border-radius:7px;place-items:center;width:28px;height:28px;font-size:16px;display:grid;box-shadow:0 3px 14px #00000021}.room-check input:checked+span{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}.room-check input:focus-visible+span{box-shadow:0 0 0 3px #5e6f614d}.room-image-wrap{background:var(--green-pale);min-height:226px;overflow:hidden}.room-image-wrap img{object-fit:cover;width:100%;height:100%;min-height:226px;display:block}.room-image-fallback{height:100%;min-height:226px;color:var(--green);letter-spacing:.25em;place-items:center;font-family:Georgia,serif;display:grid}.room-copy{min-width:0;padding:24px 26px 20px}.room-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.room-title-row h3{margin:0 0 7px;font-family:Georgia,serif;font-size:22px;font-weight:600}.room-meta{color:var(--green);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:12px;font-weight:760}.availability{padding:6px 9px}.bed-copy{color:var(--muted);margin:20px 0 17px;font-size:13px;line-height:1.4}.bed-copy strong{color:var(--green-dark);letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px;font-size:10px;display:block}.room-price-row{border-top:1px solid var(--line);gap:40px;padding-top:15px;display:flex}.room-price-row>div{flex-direction:column;gap:3px;display:flex}.room-price-row span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.room-price-row strong{color:var(--green-dark);font-size:17px}.total-price{text-align:right;margin-left:auto}.total-price strong{color:var(--ink);font-size:21px}.taxes-copy{text-align:right;color:var(--muted);margin:7px 0 0;font-size:10px}.actions-bar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffefaf0;border:1px solid #5e6f6133;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding:14px 16px;display:flex;position:sticky;bottom:18px;box-shadow:0 16px 40px #2e383024}.actions-bar p{color:var(--muted);margin:0;font-size:12px}.actions-bar>div{gap:10px;display:flex}.actions-bar button{white-space:nowrap}.no-results{text-align:center;background:#fff6;border:1px dashed #bfc6bc;border-radius:15px;padding:60px 24px}.no-results h3{margin:0 0 8px;font-family:Georgia,serif;font-size:27px}.no-results p{max-width:520px;color:var(--muted);margin:0 auto;line-height:1.55}.toast{z-index:50;color:#fff;border-radius:10px;max-width:min(420px,100vw - 48px);padding:14px 17px;font-size:13px;position:fixed;top:94px;right:24px;box-shadow:0 12px 34px #00000029}.toast-error{background:var(--danger)}.toast-success{background:var(--green-dark)}.login-shell{background:radial-gradient(circle at 72% 6%, #e2e8e0 0, transparent 32%), linear-gradient(135deg, var(--paper), #eeebe2);place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{width:min(100%,440px);box-shadow:var(--shadow);background:#fffefaf2;border:1px solid #5e6f612e;border-radius:20px;padding:46px}.brand-login{margin:0 auto 38px}.brand-login strong{font-size:27px}.brand-login span{font-size:7px}.login-card h1{margin:0 0 10px;font-size:40px}.login-copy{color:var(--muted);margin:0 0 28px;line-height:1.55}.login-form{flex-direction:column;gap:10px;display:flex}.login-form label{color:var(--green-dark);font-size:12px;font-weight:750}.login-form input{border:1px solid var(--line);background:#fff;border-radius:9px;height:48px;margin-bottom:7px;padding:0 12px}.form-error{color:var(--danger);margin:0 0 5px;font-size:12px;line-height:1.45}@media (max-width:1040px){.workspace{grid-template-columns:minmax(320px,370px) minmax(0,1fr)}.search-panel,.results-panel{padding-left:26px;padding-right:26px}.room-card{grid-template-columns:170px minmax(0,1fr)}.room-title-row{flex-direction:column}.room-price-row{gap:16px}}@media (max-width:780px){.topbar{grid-template-columns:1fr auto;min-height:70px;padding:12px 18px;position:relative}.topbar-title{display:none}.workspace{display:block}.search-panel{border-right:0;border-bottom:1px solid var(--line);padding:34px 22px}.results-panel{min-height:520px;padding:34px 18px 110px}.empty-intro,.loading-state{min-height:440px}.room-card{grid-template-columns:1fr}.room-image-wrap,.room-image-wrap img,.room-image-fallback{height:230px;min-height:230px}.room-copy{padding:21px 20px 18px}.actions-bar{flex-direction:column;align-items:stretch;bottom:10px}.actions-bar>div{grid-template-columns:1fr 1fr;display:grid}.actions-bar button{white-space:normal;min-height:52px}}@media (max-width:480px){.field-grid,.ages-grid{grid-template-columns:1fr}.results-heading{flex-direction:column;align-items:flex-start}.room-title-row{gap:10px}.room-price-row{flex-direction:column}.total-price{text-align:left;margin-left:0}.taxes-copy{text-align:left}.actions-bar>div{grid-template-columns:1fr}.login-card{padding:35px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
