.room-hero.svelte-1ct3vgx{position:relative;overflow:hidden;height:clamp(320px,50vh,600px);background:var(--surface3)}.room-hero.svelte-1ct3vgx img:where(.svelte-1ct3vgx),.room-hero-fallback.svelte-1ct3vgx{width:100%;height:100%;object-fit:cover;object-position:center 40%}.room-hero-fallback.svelte-1ct3vgx{display:grid;place-items:center;font-family:var(--display);font-size:clamp(48px,12vw,120px);letter-spacing:.12em;color:#f0e8dc2e}.room-hero.svelte-1ct3vgx:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,var(--bg) 0%,rgba(12,10,14,.5) 40%,rgba(12,10,14,.2) 70%)}.room-hero-content.svelte-1ct3vgx{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:48px}.room-type-badge.svelte-1ct3vgx{font-family:var(--display);font-size:11px;letter-spacing:.35em;color:var(--amber);margin-bottom:12px}.room-hero-content.svelte-1ct3vgx h1:where(.svelte-1ct3vgx){font-family:var(--serif);font-size:clamp(32px,5vw,68px);font-weight:900;line-height:1}.room-hero-meta.svelte-1ct3vgx{display:flex;gap:24px;margin-top:16px;flex-wrap:wrap}.room-hero-meta.svelte-1ct3vgx span:where(.svelte-1ct3vgx){font-family:var(--grotesk);font-size:13px;color:var(--paper-dim)}.room-hero-meta.svelte-1ct3vgx strong:where(.svelte-1ct3vgx){color:var(--amber)}.detail-layout.svelte-1ct3vgx{display:grid;grid-template-columns:1fr 360px;gap:64px;padding:64px 0}h2.svelte-1ct3vgx{font-family:var(--serif);font-size:28px;font-weight:700;margin-bottom:16px}.room-copy.svelte-1ct3vgx p:where(.svelte-1ct3vgx){font-size:15px;color:var(--paper-dim);line-height:1.9;margin-bottom:24px}.specs-table.svelte-1ct3vgx{border:1px solid var(--surface2)}.specs-row.svelte-1ct3vgx{display:flex;border-bottom:1px solid var(--surface2)}.specs-row.svelte-1ct3vgx:last-child{border-bottom:none}.specs-key.svelte-1ct3vgx{width:140px;flex:0 0 140px;padding:14px 18px;font-family:var(--grotesk);font-size:11px;letter-spacing:.12em;color:var(--mute);background:var(--surface);text-transform:uppercase;border-right:1px solid var(--surface2)}.specs-val.svelte-1ct3vgx{padding:14px 18px;font-size:13px;color:var(--paper-dim);line-height:1.6}.booking-card.svelte-1ct3vgx{background:var(--surface);border:1px solid var(--surface2);padding:32px;position:sticky;top:88px;align-self:flex-start}.booking-card.svelte-1ct3vgx:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--amber),var(--purple))}.booking-price.svelte-1ct3vgx{font-family:var(--serif);font-size:40px;font-weight:900}.booking-price.svelte-1ct3vgx span:where(.svelte-1ct3vgx){font-family:var(--sans);font-size:14px;color:var(--mute);font-weight:400}.booking-avail.svelte-1ct3vgx{display:flex;align-items:center;gap:8px;margin:16px 0}.avail-dot.svelte-1ct3vgx{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 8px var(--green)}.avail-text.svelte-1ct3vgx{font-family:var(--grotesk);font-size:12px;color:var(--green)}.booking-hours.svelte-1ct3vgx{margin:20px 0;padding:16px 0;border-top:1px solid var(--surface2);border-bottom:1px solid var(--surface2)}.hours-label.svelte-1ct3vgx{font-family:var(--grotesk);font-size:11px;letter-spacing:.1em;color:var(--mute);margin-bottom:8px}.hours-row.svelte-1ct3vgx{display:flex;gap:8px;flex-wrap:wrap}.hour-chip.svelte-1ct3vgx{padding:6px 14px;font-family:var(--grotesk);font-size:12px;border:1px solid var(--surface2);color:var(--paper-dim)}.estimate.svelte-1ct3vgx{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px}.estimate.svelte-1ct3vgx span:where(.svelte-1ct3vgx){font-family:var(--grotesk);font-size:13px;color:var(--mute)}.estimate.svelte-1ct3vgx strong:where(.svelte-1ct3vgx){font-family:var(--serif);font-size:20px}.booking-card.svelte-1ct3vgx .pm-btn:where(.svelte-1ct3vgx){display:flex;margin-bottom:12px}.booking-note.svelte-1ct3vgx{font-size:11px;color:var(--mute);line-height:1.6;margin-top:16px}@media (max-width: 960px){.detail-layout.svelte-1ct3vgx{grid-template-columns:1fr;padding:40px 0}.room-hero-content.svelte-1ct3vgx{padding:24px 20px}.booking-card.svelte-1ct3vgx{position:static}}
