*{box-sizing:border-box}
:root{--black:#070707;--black-soft:#101010;--panel:#151515;--panel-2:#1b1b1b;--wine:#6b0f1a;--wine-light:#8c1828;--white:#f7f7f5;--muted:#b9b9b7;--line:rgba(255,255,255,.11);--gold:#c9974a;--cream:#f3eee8;--whatsapp:#25D366;--whatsapp-hover:#1ebe5d;}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--black);color:var(--white);-webkit-font-smoothing:antialiased}
a{color:inherit} img{max-width:100%} button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.rooms-header{min-height:96px;padding:10px 5% 8px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px;background:linear-gradient(to bottom,rgba(5,5,5,.98),rgba(7,7,7,.94));border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto;transform:translateY(-12px)}
.brand img{display:block;width:122px;height:auto;max-height:88px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.55));opacity:.92}
.brand-copy{display:none}
.rooms-nav{display:flex;align-items:center;gap:20px;font-size:.9rem;padding-top:15px}
.rooms-nav a{text-decoration:none;color:#e8e8e6;transition:.2s ease}
.rooms-nav a:hover,.rooms-nav .active-link,.rooms-nav a[aria-current="page"]{color:#fff}.rooms-nav .active-link:not(.nav-book),.rooms-nav a[aria-current="page"]:not(.nav-book){text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px;text-decoration-thickness:2px}
.nav-book{padding:11px 16px;background:var(--wine);border-radius:7px;font-weight:800}
.nav-book:hover{background:var(--wine-light)}
.rooms-hero{width:100%;min-height:320px;margin:0 0 54px;padding:74px max(5%,calc((100% - 1160px)/2)) 58px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;isolation:isolate;background:url("hero-calvin.png") center 44%/cover no-repeat}.rooms-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,5,5,.9),rgba(5,5,5,.7) 50%,rgba(5,5,5,.88))}.rooms-hero::after{content:"";position:absolute;inset:auto 0 0;height:80px;z-index:-1;background:linear-gradient(to bottom,transparent,var(--black))}
.eyebrow,.category-label,.room-kicker{color:var(--gold);font-size:.74rem;letter-spacing:2.4px;font-weight:800;text-transform:uppercase}
.rooms-hero h1,.section-heading h2,.category-copy h2,.room-card h2,.booking-cta h2,.content-card h2,.contact-card h2,.direct-booking-panel h1{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.rooms-hero h1{margin:10px 0 18px;font-size:clamp(2.8rem,7vw,5.5rem);line-height:1}
.rooms-hero>p:last-child{max-width:800px;margin:0 auto;color:#e2e2df;font-size:1.04rem;line-height:1.75}
.room-categories,.category-shell,.content-section,.hotel-wide,.contact-section,.booking-page{width:min(1160px,90%);margin:0 auto}
.room-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0 0 76px}
.room-category{min-height:290px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#171717,#0d0d0d);position:relative;overflow:hidden}
.room-category::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0,rgba(107,15,26,.24),transparent 42%);pointer-events:none}
.category-content{position:relative;padding:34px}
.category-content h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem;margin:8px 0 12px}
.category-content p{color:var(--muted);line-height:1.7}
.room-numbers{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 22px}
.room-numbers span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:#ddd;font-size:.82rem}
.view-button,.booking-button,.prepare-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 17px;border-radius:8px;text-decoration:none;font-weight:800;cursor:pointer;transition:.2s ease}
.view-button,.booking-button,.prepare-button{background:var(--wine);color:#fff;border:1px solid var(--wine)}
.view-button:hover,.booking-button:hover,.prepare-button:hover{background:var(--wine-light);transform:translateY(-1px)}
.secondary-button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28)}
.secondary-button:hover{border-color:#fff}
.category-summary{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;padding:0 0 28px}
.category-copy,.guest-detail-card{padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.category-copy h2{font-size:2.25rem;margin:8px 0 12px}
.category-copy p,.guest-detail-card p{color:var(--muted);line-height:1.75}
.live-rate-card{padding:30px;border-radius:18px;background:linear-gradient(145deg,var(--wine),#3c0910)}
.live-rate-card strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;margin:8px 0 10px}
.live-rate-card p{color:#f2dddd;line-height:1.6}
.room-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0 0 70px}
.room-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}
.room-media{min-height:210px;display:flex;align-items:flex-end;padding:24px;background:linear-gradient(135deg,rgba(107,15,26,.62),rgba(7,7,7,.96)),url("hero-calvin.png") center/cover no-repeat;position:relative}
.room-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),transparent 60%)}
.room-media span{position:relative;z-index:1;font-size:.74rem;letter-spacing:2px;color:#fff;font-weight:800}
.room-card-body{padding:26px}
.room-card-body h2{font-size:1.8rem;margin:7px 0 10px}
.room-card-body p{color:var(--muted);line-height:1.65}
.room-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.hotel-wide{padding:10px 0 76px}
.section-heading{margin-bottom:24px}
.section-heading h2{font-size:clamp(2rem,4vw,3.2rem);margin:8px 0}
.facility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.facility-card,.content-card,.contact-card{padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.facility-card strong{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}
.facility-card p,.content-card p,.contact-card p{color:var(--muted);line-height:1.65}
.booking-cta{width:min(1160px,90%);margin:0 auto 72px;padding:42px;border-radius:20px;background:linear-gradient(135deg,#24070b,var(--wine));text-align:center}
.booking-cta h2{font-size:clamp(2rem,5vw,3.4rem);margin:8px 0 12px}
.booking-cta p{max-width:720px;margin:0 auto 22px;color:#ead8da;line-height:1.7}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;padding-bottom:54px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-bottom:54px}
.contact-card-wide{grid-column:1/-1}
footer{border-top:1px solid var(--line);padding:30px 5%;text-align:center;color:#aaa;font-size:.86rem}
.footer-credit{font-size:.78rem;color:#777}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:45;display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--whatsapp);color:#fff;text-decoration:none;font-weight:800;border-radius:999px;padding:13px 18px;box-shadow:0 12px 32px rgba(0,0,0,.35);transition:.2s ease}.whatsapp-float:hover{background:var(--whatsapp-hover);transform:translateY(-1px)}
.booking-page{padding:42px 0 76px}
.booking-mode-switch{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.booking-mode-button{min-height:46px;border:1px solid var(--line)!important;background:var(--panel)!important;color:#fff!important;padding:11px 18px;border-radius:8px!important;font-weight:800;cursor:pointer;transition:.2s ease}
.booking-mode-button:hover{border-color:rgba(255,255,255,.35)!important}.booking-mode-button.active{background:var(--wine)!important;border-color:var(--wine)!important}
.direct-booking-panel,.booking-panel,.booking-summary-panel{background:var(--panel)!important;color:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important}
.direct-booking-panel{margin-bottom:28px;padding:30px!important}.direct-booking-panel[hidden],.checkout-box[hidden]{display:none}
.direct-booking-panel h1,.booking-panel h1{font-size:clamp(2.15rem,4vw,3.4rem);margin:8px 0 12px}.direct-booking-panel h2,.booking-panel h1,.booking-summary-panel h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.transaction-note{max-width:880px;color:#c8c8c5!important;font-size:.95rem;line-height:1.65;margin-bottom:22px}
.direct-search-grid,.booking-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.direct-search-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-group{min-width:0}.form-group.full-width{grid-column:1/-1}.form-group label{display:block;margin:0 0 7px;color:#e8e8e6;font-size:.88rem;font-weight:700}
.booking-form input,.booking-form select,.booking-form textarea,#directBookingPanel input,#directBookingPanel select{width:100%;min-height:46px;background:#0d0d0d!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:8px;padding:11px 12px}
.booking-form textarea{min-height:112px;resize:vertical}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#888}
.direct-results{display:grid;gap:14px;margin-top:18px}.direct-card{background:#101010!important;border:1px solid var(--line)!important;color:#fff;border-radius:14px;padding:18px}.direct-card.selected{outline:2px solid var(--gold)!important}.direct-card h3{margin:0 0 7px}.direct-card p{margin:5px 0;color:#c8c8c5}.direct-choice{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.direct-price{font-weight:800}
.checkout-box{margin-top:20px;padding:20px;border-radius:14px;background:#101010!important;color:#fff!important;border:1px solid var(--line)!important}.checkout-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.checkout-countdown{font-weight:800}
.payment-coming{padding:16px;border-radius:10px;background:#101010!important;color:#fff!important;border:1px dashed rgba(255,255,255,.28)!important;margin-top:14px}
.direct-status{margin-top:12px}.summary-note{color:#c8c8c5!important;line-height:1.6}
.booking-breadcrumb{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:26px 0;color:#aaa}.booking-breadcrumb a{color:#fff;text-underline-offset:3px}
.booking-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.booking-panel,.booking-summary-panel{padding:28px}.booking-panel>p:not(.eyebrow){color:var(--muted);line-height:1.65}
.booking-summary-panel{align-self:start;position:sticky;top:120px}.booking-summary-panel h2{font-size:2rem;margin:8px 0 20px}
.summary-list{border-top:1px solid var(--line)}.summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right;font-weight:700}
.send-request{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:18px;padding:12px 17px;border-radius:8px;background:var(--wine);color:#fff;text-decoration:none;font-weight:800}
.context-banner,.enquiry-only-note{margin:0 0 18px;padding:14px 16px;border-left:3px solid var(--gold);background:#17130d!important;color:#eee!important;border-radius:0 8px 8px 0}
button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}
@media(max-width:980px){.rooms-nav{gap:12px;font-size:.83rem}.facility-grid{grid-template-columns:repeat(2,1fr)}.category-summary,.content-grid,.booking-layout{grid-template-columns:1fr}.booking-summary-panel{position:static}}
@media(max-width:760px){.rooms-header{min-height:148px;align-items:flex-start;flex-direction:column;padding:10px 5% 12px;gap:4px}.brand{transform:translateY(-12px)}.brand img{width:116px;height:auto;max-height:84px}.rooms-nav{width:100%;overflow-x:auto;gap:7px;padding:0 0 4px;scrollbar-width:thin}.rooms-nav a{white-space:nowrap;padding:9px 7px}.rooms-nav .nav-book{padding:9px 11px}.rooms-hero{min-height:285px;margin-bottom:42px;padding:58px 5% 44px}.room-categories,.room-detail-grid,.contact-grid{grid-template-columns:1fr}.facility-grid{grid-template-columns:1fr 1fr}.booking-cta{padding:32px 20px}.whatsapp-float{right:12px;bottom:12px}.direct-search-grid,.booking-form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:auto}.booking-page{padding-top:30px}.booking-panel,.booking-summary-panel,.direct-booking-panel{padding:22px!important}}
@media(max-width:460px){.facility-grid{grid-template-columns:1fr}.room-actions,.cta-actions,.checkout-actions{flex-direction:column}.room-actions a,.cta-actions a,.checkout-actions button{width:100%}.booking-mode-switch{display:grid;grid-template-columns:1fr}.booking-mode-button{width:100%}.summary-row{display:block}.summary-row strong{display:block;text-align:left;margin-top:4px}}
