/* App-like room detail pages: gallery, clear suite facts and a direct enquiry path. */
.room-app-detail{--room-ink:#172b32;--room-muted:#687b80;--room-teal:#087c86;--room-line:#e4eaeb;--room-soft:#f5f8f8;color:var(--room-ink)}
.room-app-wrap{max-width:1080px;padding-top:10px;padding-bottom:70px}
.room-app-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:48px;border-bottom:1px solid var(--room-line)}
.room-app-back{display:inline-flex;align-items:center;gap:8px;width:max-content;color:#52686e;font-size:12px;font-weight:700}
.room-app-back>span:first-child{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--room-line);border-radius:50%;color:var(--room-ink);font-size:18px;line-height:1}
.room-app-toolbar-title{color:#40565d;font-size:12px;font-weight:750}
.room-app-actions{display:flex;justify-content:flex-end;gap:8px}
.room-app-icon-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--room-line);border-radius:50%;background:#fff;color:#455e65;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}
.room-app-icon-button:hover{transform:translateY(-1px);border-color:#f1b5a5;color:#db553a}
.room-app-icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.room-app-icon-button[aria-pressed=true]{border-color:#f9ded6;background:#fff3ef;color:#df5038}.room-app-icon-button[aria-pressed=true] svg{fill:#df5038}
.room-app-gallery{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);grid-template-rows:250px auto;gap:8px;margin-top:14px}
.room-app-hero-photo,.room-app-photo-mosaic button,.room-app-photo-rail button{position:relative;display:block;min-width:0;overflow:hidden;padding:0;border:0;background:#e8eeee;cursor:zoom-in}
.room-app-hero-photo{grid-row:1;min-height:0;border-radius:14px;text-align:start}
.room-app-hero-photo img,.room-app-photo-mosaic img,.room-app-photo-rail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.room-app-hero-photo:hover img,.room-app-photo-mosaic button:hover img,.room-app-photo-rail button:hover img{transform:scale(1.035)}
.room-app-photo-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-height:0}
.room-app-photo-mosaic button{min-height:0;border-radius:10px}
.room-app-gallery-count,.room-app-gallery-all{position:absolute;z-index:1;bottom:10px;display:flex;align-items:center;gap:7px;min-height:29px;padding:0 10px;border:1px solid #ffffffad;border-radius:999px;background:#ffffffed;color:#20353c;font-size:10px;font-weight:750;box-shadow:0 3px 10px #17333c18}
.room-app-gallery-count{inset-inline-start:10px}.room-app-gallery-all{inset-inline-end:10px}
.room-app-more-photos{position:absolute;inset:0;display:grid;place-items:center;background:#102c35a8;color:#fff;font-size:20px;font-weight:800}
.room-app-photo-rail{display:flex;gap:7px;overflow:auto;grid-column:1/-1;scrollbar-width:thin;scroll-snap-type:x mandatory}
.room-app-photo-rail button{flex:0 0 76px;height:54px;border:1px solid #e1e8e9;border-radius:8px;scroll-snap-align:start}
.room-app-photo-rail img{pointer-events:none}
.room-app-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:20px 0 15px;border-bottom:1px solid var(--room-line)}
.room-app-heading-copy{min-width:0}.room-app-location{display:flex;align-items:center;gap:5px;color:#718287;font-size:10px;font-weight:700}.room-app-location>span{color:var(--room-teal);font-size:15px}
.room-app-heading h1{margin:6px 0 4px;color:var(--room-ink);font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.04em;line-height:1.12}
.room-app-heading p{max-width:720px;margin:0;color:var(--room-muted);font-size:12px;line-height:1.55}
.room-app-outline-cta{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px;min-height:38px;padding:0 14px;border:1px solid #c8d9dc;border-radius:9px;color:#176c75;font-size:11px;font-weight:750;transition:background .18s,border-color .18s}
.room-app-outline-cta:hover{border-color:#9dc4c9;background:#f2f9f9}
.room-app-feature-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:15px 0 4px;padding:12px 0;border-bottom:1px solid var(--room-line)}
.room-app-feature-strip>div{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 13px;border-inline-end:1px solid var(--room-line)}
.room-app-feature-strip>div:first-child{padding-inline-start:3px}.room-app-feature-strip>div:last-child{border:0}
.room-app-feature-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#eff7f7;color:var(--room-teal)}
.room-app-feature-icon svg{width:18px;height:18px}.room-app-feature-strip>div>span:last-child{display:block;min-width:0}.room-app-feature-strip strong,.room-app-feature-strip small{display:block;overflow:hidden;text-overflow:ellipsis}
.room-app-feature-strip strong{color:#304950;font-size:10px;line-height:1.35}.room-app-feature-strip small{margin-top:2px;color:#849297;font-size:8px}
.room-app-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:34px;margin-top:18px}
.room-app-main-content{min-width:0}.room-app-section{padding:18px 0;border-bottom:1px solid var(--room-line);scroll-margin-top:95px}
.room-app-section-heading{display:flex;align-items:flex-start;gap:11px}.room-app-section-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#eff7f7;color:var(--room-teal);font-size:17px}
.room-app-section-heading h2{margin:1px 0 3px;color:var(--room-ink);font-size:16px;font-weight:780;letter-spacing:-.02em;line-height:1.25}
.room-app-section-heading p{margin:0;color:#7a898d;font-size:10px;line-height:1.45}
.room-app-description{max-width:760px;margin:13px 0 0 43px;color:#52676d;font-size:12px;line-height:1.75}
.room-app-amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0 0 43px}
.room-app-amenities>div{display:flex;align-items:center;gap:9px;min-height:42px;padding:7px 10px;border:1px solid var(--room-line);border-radius:9px;background:#fff;color:#415961}
.room-app-amenities>div>span{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:#f1f8f8;color:var(--room-teal)}.room-app-amenities svg{width:16px;height:16px}.room-app-amenities strong{font-size:10px;font-weight:680}
.room-app-bed-card{display:flex;align-items:center;gap:11px;margin:14px 0 0 43px;padding:13px;border:1px solid var(--room-line);border-radius:10px;background:var(--room-soft)}
.room-app-bed-card>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#fff;color:var(--room-teal)}.room-app-bed-card svg{width:20px;height:20px}.room-app-bed-card strong,.room-app-bed-card small{display:block}.room-app-bed-card strong{color:#334c53;font-size:11px;line-height:1.45}.room-app-bed-card small{margin-top:3px;color:#7b8b90;font-size:9px}
.room-app-room-options{display:grid;gap:9px;margin:14px 0 0 43px}
.room-app-room-option{display:grid;grid-template-columns:126px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid var(--room-line);border-radius:11px;background:#fff;transition:border-color .18s,box-shadow .18s}
.room-app-room-option.is-current{border-color:#b8d9dc;box-shadow:0 3px 12px #126a7410}
.room-app-option-photo{display:block;min-height:112px;overflow:hidden;background:#e8eeee}.room-app-option-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.room-app-option-photo:hover img{transform:scale(1.04)}
.room-app-option-copy{min-width:0;padding:11px 13px}.room-app-option-state{display:inline-block;padding:3px 7px;border-radius:999px;background:#eff7f7;color:#24747c;font-size:8px;font-weight:750}
.room-app-option-copy h3{margin:5px 0 3px;color:var(--room-ink);font-size:12px;line-height:1.3}.room-app-option-copy h3 a{color:inherit}.room-app-option-copy p{display:-webkit-box;overflow:hidden;margin:0;color:#78878b;font-size:9px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.room-app-option-link{display:inline-flex;align-items:center;gap:6px;margin-top:7px;color:#16717a;font-size:9px;font-weight:750}
.room-app-note{display:flex;align-items:flex-start;gap:9px;margin:15px 0 0 43px;padding:11px 12px;border:1px solid #e8eded;border-radius:9px;background:#f7f9f9}
.room-app-note>span{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#e6f1f2;color:#20747d;font-size:10px;font-weight:800}.room-app-note p{margin:1px 0 0;color:#74848a;font-size:9px;line-height:1.55}
.room-app-booking-card{position:sticky;top:125px;padding:17px;border:1px solid #dfe8e9;border-radius:13px;background:#fff;box-shadow:0 8px 28px #183d4810}
.room-app-booking-label{color:#718489;font-size:8px;font-weight:850;letter-spacing:.12em}.room-app-booking-card h2{margin:8px 0;color:var(--room-ink);font-size:17px;line-height:1.25;letter-spacing:-.02em}.room-app-booking-card>p{margin:0 0 14px;color:#718086;font-size:10px;line-height:1.6}
.room-app-booking-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 15px;border:0;border-radius:9px;background:#e75b32;color:#fff;font-size:11px;font-weight:780;box-shadow:0 5px 13px #e75b322b;transition:background .18s,transform .18s}.room-app-booking-button:hover{transform:translateY(-1px);background:#cf4828;color:#fff}
.room-app-booking-card .room-app-booking-button{width:100%}.room-app-booking-card>small{display:block;margin-top:9px;color:#89969a;font-size:8px;line-height:1.5;text-align:center}
.room-app-dock{display:none}
@media(max-width:760px){
  .room-app-wrap{width:calc(100% - 30px);padding-top:5px;padding-bottom:105px}
  .room-app-toolbar{min-height:42px}.room-app-back{gap:6px;font-size:10px}.room-app-back>span:first-child{width:28px;height:28px}.room-app-toolbar-title{font-size:10px}.room-app-icon-button{width:31px;height:31px}.room-app-icon-button svg{width:15px;height:15px}
  .room-app-gallery{display:block;margin-top:10px}.room-app-hero-photo{width:100%;height:clamp(185px,59vw,280px);border-radius:12px}.room-app-hero-photo img{object-position:center 55%}.room-app-photo-mosaic{display:none}
  .room-app-gallery-count,.room-app-gallery-all{bottom:8px;min-height:26px;padding:0 8px;font-size:8px}.room-app-gallery-count{inset-inline-start:8px}.room-app-gallery-all{inset-inline-end:8px}
  .room-app-photo-rail{gap:6px;margin-top:6px;padding-bottom:2px}.room-app-photo-rail button{flex-basis:66px;height:47px;border-radius:7px}
  .room-app-heading{align-items:flex-start;padding:14px 0 11px}.room-app-heading h1{margin:5px 0;font-size:23px}.room-app-heading p{font-size:10px;line-height:1.5}.room-app-location{font-size:8px}.room-app-outline-cta{display:none}
  .room-app-feature-strip{grid-template-columns:1fr 1fr;gap:0;margin:8px 0 0;padding:5px 0}.room-app-feature-strip>div{min-height:53px;padding:6px 8px;border-bottom:1px solid var(--room-line)}.room-app-feature-strip>div:nth-child(2){border-inline-end:0}.room-app-feature-strip>div:nth-child(n+3){border-bottom:0}.room-app-feature-strip>div:first-child{padding-inline-start:8px}.room-app-feature-icon{flex-basis:29px;width:29px;height:29px;border-radius:9px}.room-app-feature-icon svg{width:16px;height:16px}.room-app-feature-strip strong{font-size:9px}.room-app-feature-strip small{font-size:7px}
  .room-app-content-grid{display:block;margin-top:4px}.room-app-section{padding:14px 0}.room-app-section-heading{gap:8px}.room-app-section-icon{flex-basis:29px;width:29px;height:29px;border-radius:9px;font-size:15px}.room-app-section-heading h2{font-size:13px}.room-app-section-heading p{font-size:8px}.room-app-description{margin:9px 0 0 37px;font-size:10px;line-height:1.65}
  .room-app-amenities{gap:6px;margin:10px 0 0 37px}.room-app-amenities>div{min-height:37px;gap:6px;padding:6px}.room-app-amenities>div>span{flex-basis:23px;width:23px;height:23px;border-radius:7px}.room-app-amenities svg{width:14px;height:14px}.room-app-amenities strong{font-size:8px}
  .room-app-bed-card{gap:8px;margin:10px 0 0 37px;padding:10px}.room-app-bed-card>span{flex-basis:30px;width:30px;height:30px}.room-app-bed-card svg{width:18px;height:18px}.room-app-bed-card strong{font-size:9px}.room-app-bed-card small{font-size:8px}
  .room-app-room-options{gap:7px;margin:10px 0 0 37px}.room-app-room-option{grid-template-columns:92px minmax(0,1fr);border-radius:9px}.room-app-option-photo{min-height:98px}.room-app-option-copy{padding:8px}.room-app-option-state{font-size:7px}.room-app-option-copy h3{margin:4px 0 2px;font-size:10px}.room-app-option-copy p{font-size:8px;-webkit-line-clamp:2}.room-app-option-link{margin-top:5px;font-size:8px}
  .room-app-note{gap:7px;margin:10px 0 0 37px;padding:9px}.room-app-note>span{flex-basis:16px;width:16px;height:16px;font-size:8px}.room-app-note p{font-size:8px}
  .room-app-booking-card{display:none}
  .room-app-dock{position:fixed;right:0;bottom:0;left:0;z-index:95;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:8px max(15px,calc((100vw - 700px)/2)) calc(8px + env(safe-area-inset-bottom));border-top:1px solid #e3e8e8;background:#fffffffa;box-shadow:0 -5px 18px #183b460d;backdrop-filter:blur(12px)}
  .room-app-dock-copy{min-width:0}.room-app-dock-copy strong,.room-app-dock-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-app-dock-copy strong{max-width:48vw;color:#243b42;font-size:10px}.room-app-dock-copy small{margin-top:3px;color:#7e8b8f;font-size:8px}.room-app-dock .room-app-booking-button{flex:0 0 auto;min-height:39px;padding:0 12px;font-size:9px}
  body:has(.room-app-detail) .mobile-bottom-nav{display:none!important}
  body:has(.room-app-detail) .site-footer{padding-bottom:24px}
}
@media(max-width:370px){.room-app-wrap{width:calc(100% - 24px)}.room-app-heading h1{font-size:21px}.room-app-feature-strip>div{gap:6px;padding-inline:5px}.room-app-feature-strip strong{font-size:8px}.room-app-option-photo{min-height:104px}.room-app-dock-copy strong{font-size:9px}.room-app-dock .room-app-booking-button{padding-inline:9px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.room-app-detail *{scroll-behavior:auto;transition-duration:.01ms!important}}
