:root{color:#172033;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--burgundy: #7a1731;--burgundy-dark: #5f1026;--ink: #172033;--muted: #626a78;--line: #dfe2e7;--soft-line: #eceef1;--surface: #f7f8fa;--success: #247a4b;--warning: #a24f0b;--gold: #b48a2f;--shadow: 0 8px 28px rgba(23, 32, 51, .08)}*{box-sizing:border-box}html{min-width:320px;background:#fff;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#fff}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(122,23,49,.25);outline-offset:2px}a{color:inherit}h1,h2,p{margin-top:0}h1,h2{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:0}h1{margin-bottom:8px;font-size:32px;line-height:1.16}h2{margin-bottom:8px;font-size:23px;line-height:1.22}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.header-inner{width:min(1240px,calc(100% - 40px));min-height:76px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.hotel-logo{display:inline-flex;align-items:center;flex:0 1 220px}.hotel-logo img{display:block;width:205px;max-width:100%;height:58px;object-fit:contain;object-position:left center}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;color:#3d4654;font-size:14px}.header-link,.secure-label{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.header-link{text-decoration:none}.header-link:hover{color:var(--burgundy)}.secure-label svg{color:var(--success)}.demo-banner{padding:6px 16px;background:#fff7e8;border-top:1px solid #f0d9a8;color:#724711;text-align:center;font-size:12px;font-weight:650}.booking-main{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:26px 0 52px;flex:1}.booking-steps{max-width:760px;margin:0 auto 24px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);list-style:none}.booking-step{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;gap:9px;color:#8b919b;font-size:13px}.booking-step:not(:last-child):after{content:"";position:absolute;top:15px;left:calc(50% + 48px);width:calc(100% - 96px);height:1px;background:var(--line)}.step-number{position:relative;z-index:1;width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border:1px solid #c9ced5;border-radius:50%;background:#fff;color:#6d7580;font-weight:700}.booking-step.current,.booking-step.complete{color:var(--ink);font-weight:650}.booking-step.current .step-number{border-color:var(--burgundy);background:var(--burgundy);color:#fff}.booking-step.complete .step-number{border-color:#4e5662;background:#4e5662;color:#fff}.search-form{display:grid;grid-template-columns:1.15fr 1.15fr .64fr .64fr .78fr 1fr auto;gap:10px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 3px 14px #1720330a}.field{min-width:0;display:flex;flex-direction:column;gap:6px}.field>span{color:#4f5866;font-size:12px;font-weight:650}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #cfd4db;border-radius:6px;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.field input,.field select{height:44px;padding:0 11px}.field textarea{padding:11px;resize:vertical;line-height:1.45}.field input:hover,.field select:hover,.field textarea:hover{border-color:#aeb5bf}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--burgundy);box-shadow:0 0 0 3px #7a173117;outline:none}.button{min-height:44px;border:1px solid transparent;border-radius:6px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;font-weight:700;transition:background .15s ease,border-color .15s ease,transform .15s ease}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.58}.button.primary{background:var(--burgundy);color:#fff}.button.primary:hover:not(:disabled){background:var(--burgundy-dark)}.button.secondary{border-color:var(--burgundy);background:#fff;color:var(--burgundy)}.button.secondary:hover{background:#fff7f9}.search-button{min-width:116px}.results-heading{margin:32px 0 18px;display:flex;align-items:end;justify-content:space-between;gap:20px}.results-heading h1{margin-bottom:6px}.results-heading p:not(.eyebrow){margin-bottom:0;color:var(--muted);font-size:14px}.results-heading>span{color:var(--muted);font-size:13px}.eyebrow{margin-bottom:6px;color:var(--burgundy);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.room-list{display:grid;gap:16px}.room-card{min-height:270px;display:grid;grid-template-columns:minmax(240px,.9fr) minmax(320px,1.5fr) minmax(190px,.58fr);overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;transition:box-shadow .16s ease,border-color .16s ease;content-visibility:auto;contain-intrinsic-size:270px}.room-card:hover{border-color:#c7ccd3;box-shadow:var(--shadow)}.room-photo-wrap{position:relative;min-height:270px;overflow:hidden;background:var(--surface)}.room-photo{width:100%;height:100%;display:block;object-fit:cover}.availability-chip{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:5px;background:#fffffff0;color:var(--warning);font-size:11px;font-weight:800;box-shadow:0 2px 8px #1720331f}.room-copy{min-width:0;padding:22px 24px}.room-copy h2{margin-bottom:0;font-size:27px}.room-facts{margin:15px 0 12px;display:flex;flex-wrap:wrap;gap:9px 18px;color:#4f5866;font-size:12px}.room-facts span,.feature-list li{display:inline-flex;align-items:center;gap:6px}.room-description{margin-bottom:13px;color:#4f5866;font-size:14px;line-height:1.5}.feature-list{margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px;list-style:none;color:#384150;font-size:12px}.feature-list svg{color:var(--success)}.rate-details{border-top:1px solid var(--soft-line);padding-top:12px;color:var(--burgundy);font-size:12px}.rate-details summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:700;list-style:none}.rate-details summary::-webkit-details-marker{display:none}.daily-rates{margin-top:10px;display:grid;gap:6px;color:#4f5866}.daily-rates>span{display:flex;justify-content:space-between;gap:16px}.room-price{margin:18px 0;padding:4px 20px;border-left:1px solid var(--soft-line);display:flex;flex-direction:column;align-items:flex-end;color:var(--muted);text-align:right;font-size:12px}.room-price>strong{margin-top:2px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500}.total-price{width:100%;margin:17px 0 15px;padding-top:14px;border-top:1px solid var(--soft-line);display:flex;flex-direction:column;align-items:flex-end}.total-price b{margin:3px 0;color:var(--ink);font-size:19px}.total-price small{color:var(--success);font-size:10px}.room-price .button{width:100%;margin-top:auto;white-space:nowrap}.cloudbeds-note{margin:9px auto 0;color:#707784;text-align:center;font-size:10px}.error-banner{margin-bottom:18px;padding:12px 14px;border:1px solid #e4b6c1;border-radius:6px;background:#fff7f9;color:#6e1229;display:flex;align-items:center;gap:10px;font-size:14px}.error-banner span{flex:1}.error-banner button{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:700}.empty-state{min-height:260px;padding:56px 24px;border:1px dashed #cfd4db;border-radius:8px;text-align:center}.empty-state p{color:var(--muted)}.room-skeletons{display:grid;gap:16px}.room-skeletons div{height:270px;border-radius:8px;background:#f0f2f5;animation:pulse 1.3s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.58}to{opacity:1}}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}.guest-form{min-width:0;display:grid;gap:20px}.form-section,.payment-section,.booking-summary{border:1px solid var(--line);border-radius:8px;background:#fff}.form-section,.payment-section{padding:26px}.section-heading,.summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading h1{margin-bottom:22px}.text-button{border:0;padding:2px;background:transparent;color:var(--burgundy);cursor:pointer;font-size:12px;font-weight:750;white-space:nowrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-wide{grid-column:1 / -1}.split-fields{min-width:0;display:grid;grid-template-columns:.8fr 1.2fr;gap:8px}.payment-title{display:flex;gap:13px}.payment-title svg{flex:0 0 auto;color:var(--burgundy)}.payment-title h2{margin-bottom:5px}.payment-title p{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.5}.niubiz-row{margin:21px 0;padding:18px 0;border-top:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);display:flex;align-items:center;justify-content:space-between;gap:20px}.niubiz-wordmark{color:#18243a;font-size:35px;font-weight:850;line-height:1}.niubiz-wordmark span{color:#00a6d6}.card-labels{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.card-labels span{padding:7px 8px;border:1px solid #d7dbe1;border-radius:4px;color:#263248;font-size:10px;font-weight:800}.terms-check{display:flex;align-items:flex-start;gap:10px;color:#4f5866;font-size:12px;line-height:1.5}.terms-check input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--burgundy);flex:0 0 auto}.terms-check a{color:var(--burgundy)}.payment-button{width:min(330px,100%);margin-top:18px}.payment-fineprint{margin:9px 0 0;color:#777f8b;font-size:10px}.summary-column{position:sticky;top:22px;display:grid;gap:14px}.booking-summary{padding:20px;box-shadow:0 4px 18px #1720330d}.summary-heading{align-items:center;margin-bottom:17px}.summary-heading h2{margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:15px;font-weight:800}.summary-room{padding-bottom:17px;border-bottom:1px solid var(--soft-line);display:grid;grid-template-columns:76px 1fr;gap:12px}.summary-room img{width:76px;height:64px;border-radius:5px;object-fit:cover}.summary-room div{min-width:0;display:flex;flex-direction:column}.summary-room span,.summary-room small{color:var(--muted);font-size:10px}.summary-room strong{margin:3px 0;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:500}.summary-details,.price-breakdown,.confirmation-details{margin:0}.summary-details{padding:14px 0;border-bottom:1px solid var(--soft-line);display:grid;gap:11px}.summary-details>div,.price-breakdown>div{display:flex;justify-content:space-between;gap:12px}.summary-details dt,.summary-details dd,.price-breakdown dt,.price-breakdown dd{margin:0;font-size:11px}.summary-details dt{display:flex;align-items:center;gap:6px;color:var(--muted)}.summary-details dd{text-align:right}.price-breakdown{padding-top:14px;display:grid;gap:9px}.price-total{margin-top:6px;padding-top:14px;border-top:1px solid var(--line);align-items:baseline;font-weight:800}.price-total dd{color:var(--ink);font-size:20px}.summary-security{margin-top:18px;padding:13px;border-radius:6px;background:#f3f8f5;color:var(--success);display:flex;gap:10px}.summary-security svg{flex:0 0 auto}.summary-security div{display:flex;flex-direction:column}.summary-security strong{font-size:12px}.summary-security span{margin-top:2px;color:#557163;font-size:10px;line-height:1.4}.help-box{padding:16px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px;font-size:12px}.help-box a{color:var(--muted);text-decoration:none;overflow-wrap:anywhere}.confirmation-page{width:min(600px,calc(100% - 32px));margin:0 auto;padding:48px 0 52px;text-align:center;flex:1}.success-mark{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;background:#2f965d;color:#fff;display:grid;place-items:center}.confirmation-page h1{margin-bottom:10px;font-size:39px}.confirmation-lead{max-width:490px;margin:0 auto 25px;color:var(--muted);line-height:1.55}.confirmation-card{padding:25px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;box-shadow:var(--shadow)}.confirmation-card>span{display:block;color:var(--muted);text-align:center;font-size:12px}.reservation-code{margin:7px 0 5px;display:flex;align-items:center;justify-content:center;gap:8px}.reservation-code strong{color:var(--burgundy);font-size:25px}.reservation-code button{width:34px;height:34px;border:0;border-radius:5px;background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer}.copied-note{display:block;color:var(--success);text-align:center}.confirmation-details{margin-top:24px;border-top:1px solid var(--line)}.confirmation-details>div{padding:12px 0;border-bottom:1px solid var(--soft-line);display:flex;justify-content:space-between;gap:16px}.confirmation-details dt,.confirmation-details dd{margin:0;font-size:13px}.confirmation-details dt{color:var(--muted);display:flex;align-items:center;gap:7px}.confirmation-details dd{max-width:58%;text-align:right;overflow-wrap:anywhere}.confirmation-details .confirmation-total{padding-top:18px;border-bottom:0;align-items:baseline;font-weight:800}.confirmation-total dd{color:var(--ink);font-size:23px}.confirmation-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirmation-help{margin-top:22px;color:var(--muted);font-size:12px;line-height:1.8}.confirmation-help a{color:var(--burgundy)}.site-footer{width:min(1240px,calc(100% - 40px));min-height:80px;margin:0 auto;padding:22px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;color:#737b87;font-size:11px}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--burgundy)}.initial-loader{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:14px}.initial-loader svg{color:var(--burgundy)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1120px){.search-form{grid-template-columns:repeat(6,minmax(0,1fr))}.search-form .field{grid-column:span 2}.search-form .compact-field{grid-column:span 1}.search-form .promo-field{grid-column:span 2}.search-button{grid-column:span 1}.room-card{grid-template-columns:240px minmax(280px,1fr) 185px}}@media(max-width:940px){.phone-link span{display:none}.checkout-layout{grid-template-columns:1fr}.summary-column{position:static;grid-row:1}.booking-summary{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.summary-heading,.summary-security{grid-column:1 / -1}.summary-room{border-bottom:0}.summary-details{padding-top:0}.room-card{grid-template-columns:230px minmax(0,1fr)}.room-price{grid-column:2;margin:0 22px 20px;padding:16px 0 0;border-top:1px solid var(--soft-line);border-left:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;text-align:left}.room-price>span,.room-price>strong{display:none}.total-price{margin:0;padding:0;border-top:0;align-items:flex-start}.room-price .button{width:auto;min-width:190px;grid-column:2;grid-row:1}.cloudbeds-note{grid-column:2}}@media(max-width:720px){h1{font-size:27px}.header-inner,.booking-main,.site-footer{width:min(100% - 24px,1240px)}.header-inner{min-height:67px}.hotel-logo{flex-basis:170px}.hotel-logo img{width:166px;height:50px}.header-actions{gap:12px}.secure-label span,.back-link span{display:none}.booking-main{padding-top:18px}.booking-steps{margin-bottom:18px}.booking-step{gap:6px;font-size:11px}.booking-step:not(:last-child):after{left:calc(50% + 38px);width:calc(100% - 76px)}.search-form{grid-template-columns:1fr 1fr;gap:12px}.search-form .field,.search-form .promo-field,.search-form .compact-field{grid-column:span 1}.search-form .promo-field,.search-button{grid-column:1 / -1}.results-heading{margin-top:26px;align-items:flex-start}.results-heading>span{padding-top:23px;white-space:nowrap}.room-card{grid-template-columns:1fr}.room-photo-wrap{min-height:0;aspect-ratio:16 / 10}.room-copy{padding:19px 18px 12px}.room-price{grid-column:1;margin:0 18px 18px}.form-section,.payment-section{padding:20px 16px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:1}.booking-summary{display:block}.summary-room{border-bottom:1px solid var(--soft-line)}.summary-details{padding-top:14px}.niubiz-row{align-items:flex-start;flex-direction:column}.card-labels{justify-content:flex-start}.payment-button{width:100%}.confirmation-page{padding-top:34px}.confirmation-page h1{font-size:32px}.confirmation-actions{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}}@media(max-width:460px){.booking-step>span:last-child{display:none}.booking-step:not(:last-child):after{left:calc(50% + 25px);width:calc(100% - 50px)}.search-form{grid-template-columns:1fr 1fr;padding:12px}.search-form>.field:first-child,.search-form>.field:nth-child(2){grid-column:1 / -1}.results-heading>span{display:none}.room-price{display:flex;align-items:stretch;text-align:left}.room-price .button{width:100%;min-width:0}.cloudbeds-note{align-self:center}.section-heading{align-items:flex-start;flex-direction:column}.split-fields{grid-template-columns:1fr}.confirmation-card{padding:20px 16px}.confirmation-details>div{align-items:flex-start;flex-direction:column;gap:5px}.confirmation-details dd{max-width:100%;padding-left:24px;text-align:left}.confirmation-details .confirmation-total{flex-direction:row}.confirmation-total dd{padding-left:0;text-align:right}}@media print{.site-header,.site-footer,.confirmation-actions,.confirmation-help,.demo-banner{display:none!important}.confirmation-page{width:100%;padding:20px}.confirmation-card{box-shadow:none}}
