.availability-checker{background:radial-gradient(circle at 100% 0%, #e0a62b1f, transparent 45%), radial-gradient(circle at 0% 100%, #1b7a6e1a, transparent 50%), var(--surface);border:1px solid var(--border);border-radius:22px;width:calc(100% - 32px);max-width:920px;margin:0 auto 48px;padding:36px 36px 32px;position:relative;overflow:hidden;box-shadow:0 18px 50px #0e3f3a1f}.availability-checker:before{content:"";background:linear-gradient(90deg, var(--brand), var(--brand-light), var(--accent-vivid));height:4px;position:absolute;inset:0 0 auto}.availability-header{text-align:center;margin-bottom:26px}.availability-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:8px;font-size:11.5px;font-weight:700}.availability-header h2{margin-bottom:8px;font-size:clamp(24px,3.4vw,30px)}.availability-header p{color:var(--text-muted);font-size:14.5px}.availability-form{background:var(--surface);border:1px solid var(--border);border-radius:18px;align-items:stretch;gap:10px;padding:8px;display:flex;box-shadow:0 6px 22px #2b262214}.availability-dates{flex:1;align-items:center;min-width:0;display:flex}.availability-field{border-radius:12px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 16px;transition:background .15s;display:flex}.availability-field:hover,.availability-field:focus-within{background:var(--bg)}.availability-field label{text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-size:11px;font-weight:700}.availability-field input[type=date]{width:100%;font-family:var(--font-body);color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;padding:2px 0;font-size:16px;font-weight:600}.availability-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.availability-nights{color:var(--accent);background:var(--accent-light);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:700}.availability-submit{font-family:var(--font-body);color:#fff;background:linear-gradient(120deg, var(--brand), var(--brand-light));min-height:52px;box-shadow:var(--shadow-glow);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.availability-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 26px #145c5466}.availability-submit:focus-visible{outline:3px solid var(--accent-vivid);outline-offset:2px}.availability-submit:disabled{opacity:.75;cursor:default}.availability-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite availability-spin}@keyframes availability-spin{to{transform:rotate(360deg)}}.availability-error{text-align:center;color:#a8431f;border-radius:var(--radius-md);background:#fbe9e5;margin-top:16px;padding:10px 14px;font-size:13.5px}.availability-summary{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-top:28px;padding-bottom:12px;display:flex}.availability-summary strong{font-family:var(--font-heading);color:var(--text);font-size:19px;font-weight:600}.availability-summary span{color:var(--text-muted);font-size:13px}.availability-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.availability-room-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;transition:box-shadow .2s,transform .2s;animation:.35s both availability-rise;display:flex;overflow:hidden}.availability-room-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.availability-room-card.is-available{border-color:#1f7a3c59}.availability-room-card.is-booked{background:var(--bg)}.availability-room-card.is-booked .availability-room-photo img{filter:grayscale(.85);opacity:.7}.availability-results .availability-room-card:nth-child(2){animation-delay:40ms}.availability-results .availability-room-card:nth-child(3){animation-delay:80ms}.availability-results .availability-room-card:nth-child(4){animation-delay:.12s}.availability-results .availability-room-card:nth-child(5){animation-delay:.16s}.availability-results .availability-room-card:nth-child(6){animation-delay:.2s}@keyframes availability-rise{0%{opacity:0;transform:translateY(8px)}}.availability-room-photo{background:linear-gradient(135deg, var(--accent-light), var(--bg));flex:0 0 120px;min-height:132px}.availability-room-photo img{object-fit:cover;width:100%;height:100%;display:block}.availability-room-body{flex-direction:column;flex:1;gap:8px;min-width:0;padding:14px 16px;display:flex}.availability-room-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.availability-room-name{font-family:var(--font-heading);font-size:18px;font-weight:600;line-height:1.2}.availability-badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.availability-badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.availability-badge-available{color:#1f7a3c;background:#e3f2e6}.availability-badge-booked{color:#a8431f;background:#fbe9e5}.availability-badge-unknown{background:var(--accent-light);color:var(--accent)}.availability-hint{color:var(--text-muted);font-size:12.5px}.availability-actions{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px;margin-top:auto;display:grid}.availability-btn{color:var(--text);white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s,color .15s;display:inline-flex;box-shadow:0 1px 2px #2b26220f}.availability-btn:hover{color:var(--brand-dark);border-color:var(--brand-light);transform:translateY(-1px);box-shadow:0 4px 12px #145c5424}.availability-btn:focus-visible{outline:2px solid var(--brand-light);outline-offset:2px}.availability-btn-mark{color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:9.5px;font-weight:800;display:inline-flex}.availability-mark-airbnb{background:#ff5a5f}.availability-mark-goibibo{background:#2276e3}.availability-mark-whatsapp{background:#25a35a}.availability-view-room{color:var(--brand);white-space:nowrap;align-self:flex-end;font-size:12.5px;font-weight:700;text-decoration:none}.availability-view-room:hover{color:var(--brand-dark);text-decoration:underline}.availability-skeleton{background:linear-gradient(90deg, var(--bg) 25%, var(--accent-light) 50%, var(--bg) 75%);background-size:200% 100%;border:none;min-height:132px;animation:1.2s linear infinite availability-shimmer}.availability-skeleton:hover{box-shadow:none;transform:none}@keyframes availability-shimmer{to{background-position:-200% 0}}@media (max-width:720px){.availability-checker{border-radius:18px;padding:28px 16px 20px}.availability-form{flex-direction:column}.availability-dates{grid-template-columns:1fr 1fr;row-gap:4px;display:grid}.availability-field{padding:8px 10px}.availability-field input[type=date]{font-size:15px}.availability-nights{grid-area:2/1/auto/-1;justify-self:center;padding:3px 10px;font-size:11px}.availability-room-photo{flex-basis:104px}.availability-room-body{padding:12px 14px}.availability-results{grid-template-columns:1fr}}@media (max-width:380px){.availability-room-photo{flex-basis:88px}}@media (prefers-reduced-motion:reduce){.availability-room-card,.availability-skeleton,.availability-spinner{animation:none}.availability-room-card:hover,.availability-btn:hover,.availability-submit:hover:not(:disabled){transform:none}}
body{background:var(--bg)}.page-header{text-align:center;background:linear-gradient(#0e3f3a0f,#0000);padding:64px 32px 40px}.page-header .eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:10px;font-size:12px;font-weight:700}.page-header h1{margin-bottom:12px;font-size:clamp(30px,5vw,44px)}.page-header p{color:var(--text-muted);max-width:560px;margin:0 auto;font-size:15px;line-height:1.6}.room-jump{flex-wrap:wrap;justify-content:center;gap:8px;padding:0 32px 40px;display:flex}.room-jump a{color:var(--text);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}.room-jump a:hover{color:var(--brand);border-color:var(--brand-light)}.room-section{max-width:1100px;margin:0 auto;padding:60px 32px;scroll-margin-top:90px}.room-section:not(:last-child){border-bottom:1px solid var(--border)}.room-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.room-section-header h2{font-size:26px}.room-section-header p{color:var(--text-muted);margin-top:4px;font-size:13.5px}.room-header-actions{flex-wrap:wrap;gap:10px;display:flex}.room-call{color:var(--brand);background:var(--surface);border:1.5px solid var(--brand-light);border-radius:var(--radius-pill);white-space:nowrap;padding:9.5px 20px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.room-call:hover{background:var(--brand);color:#fff}.room-enquire{color:#fff;background:linear-gradient(120deg, var(--brand), var(--brand-light));border-radius:var(--radius-pill);white-space:nowrap;padding:11px 20px;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px #145c544d}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.photo-grid img{object-fit:cover;border-radius:var(--radius-md);cursor:pointer;width:100%;height:200px;box-shadow:var(--shadow-card);transition:transform .2s}.photo-grid img:hover{transform:scale(1.02)}@media (max-width:640px){.room-section .photo-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -32px;padding:0 32px 8px;scroll-padding:0 32px;display:flex;overflow-x:auto}.room-section .photo-grid::-webkit-scrollbar{display:none}.room-section .photo-grid img{scroll-snap-align:center;flex:0 0 82%;height:240px}}.room-desc{color:var(--text-muted);max-width:760px;margin-bottom:16px;font-size:14.5px;line-height:1.7}.amenity-chips{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.amenity-chip{background:var(--accent-light);color:var(--accent);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:6px 13px;font-size:12.5px;font-weight:600;display:inline-flex}
