/* One photo mosaic, adapted to wide and narrow hotel pages. */
.hotel-detail-intro{min-width:0}
.hotel-gallery-all{display:none}
.hotel-gallery-dialog{padding:0;border:0;background:#15171c;color:#fff;border-radius:22px;width:min(1280px,calc(100vw - 64px));max-width:none;max-height:calc(100dvh - 64px);overflow:hidden}
.hotel-gallery-dialog::backdrop{background:#101217d9;backdrop-filter:blur(6px)}
html.hotel-gallery-is-open{overflow:hidden}
@media(min-width:0px){
  .hotel-detail .hotel-detail-intro>.hotel-detail-gallery{margin-bottom:32px;gap:0}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-strip-wrap{border-radius:26px;overflow:hidden;background:#e5e7e9}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-strip{grid-auto-flow:row;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));grid-auto-columns:auto;gap:4px;height:clamp(320px,30vw,430px);overflow:hidden;scroll-snap-type:none}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb{min-width:0;min-height:0;aspect-ratio:auto;height:100%;border-radius:0;box-shadow:none;overflow:hidden}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb img{transition:transform .35s ease,filter .25s ease}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:hover img{transform:scale(1.035);filter:brightness(.94)}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(1){grid-area:1/1/5/7}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(2){grid-area:1/7/3/11}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(3){grid-area:1/11/3/13}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(4){grid-area:3/7/5/9}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(5){grid-area:3/9/5/11}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(6){grid-area:3/11/4/13}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(7){grid-area:4/11/5/12}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(8){grid-area:4/12/5/13}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(n+9){display:none}
  .hotel-detail-gallery[data-gallery-count="1"] .provider-gallery-thumb:nth-child(1){grid-area:1/1/5/13}
  .hotel-detail-gallery[data-gallery-count="2"] .provider-gallery-thumb:nth-child(2){grid-area:1/7/5/13}
  .hotel-detail-gallery[data-gallery-count="3"] .provider-gallery-thumb:nth-child(2){grid-area:1/7/3/13}
  .hotel-detail-gallery[data-gallery-count="3"] .provider-gallery-thumb:nth-child(3){grid-area:3/7/5/13}
  .hotel-detail-gallery[data-gallery-count="4"] .provider-gallery-thumb:nth-child(3){grid-area:3/7/5/10}
  .hotel-detail-gallery[data-gallery-count="4"] .provider-gallery-thumb:nth-child(4){grid-area:3/10/5/13}
  .hotel-detail-gallery[data-gallery-count="4"] .provider-gallery-thumb:nth-child(2){grid-area:1/7/3/13}
  .hotel-detail-gallery[data-gallery-count="5"] .provider-gallery-thumb:nth-child(5){grid-area:3/9/5/13}
  .hotel-detail-gallery[data-gallery-count="6"] .provider-gallery-thumb:nth-child(6){grid-area:3/11/5/13}
  .hotel-detail-gallery[data-gallery-count="7"] .provider-gallery-thumb:nth-child(7){grid-area:4/11/5/13}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-more,
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-strip-control,
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-strip-wrap::before,
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-strip-wrap::after{display:none!important}
  .hotel-gallery-all{display:block;position:absolute;z-index:3;right:18px;bottom:18px;padding:12px 17px;border:1px solid #ffffff70;border-radius:12px;background:#181b22c9;backdrop-filter:blur(10px);color:#fff;font-size:14px;font-weight:600;box-shadow:0 3px 14px #0002}
  .hotel-gallery-all:hover{background:#181b22ed}
  .hotel-gallery-all:focus-visible{outline:3px solid #ffda36;outline-offset:3px}
  .hotel-detail-gallery .hotel-gallery-dialog .provider-gallery-main{margin:0;width:100%;height:min(80dvh,850px);aspect-ratio:auto;border-radius:0;background:#15171c}
  .hotel-gallery-dialog .provider-gallery-main-image{object-fit:contain}
  .hotel-gallery-dialog .hotel-gallery-collapse{z-index:5;top:18px;right:18px;width:44px;height:44px;background:#ffffffed}
  .hotel-gallery-dialog .provider-gallery-nav{width:48px;height:48px}
}
@media(prefers-reduced-motion:reduce){.hotel-detail-gallery .provider-gallery-thumb img{transition:none}}

@media(max-width:700px){
  .hotel-detail .hotel-detail-intro>.hotel-detail-gallery{margin-bottom:24px}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-strip-wrap{border-radius:18px}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-strip{height:230px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3px}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(1){grid-area:1/1/3/3}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(2){grid-area:1/3/2/4}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(3){grid-area:1/4/2/5}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(4){grid-area:2/3/3/4}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(5){grid-area:2/4/3/5}
  .hotel-detail-gallery[data-gallery-layout=tiles] .provider-gallery-thumb:nth-child(n+6){display:none}
  .hotel-detail-gallery[data-gallery-count="1"] .provider-gallery-thumb:nth-child(1){grid-area:1/1/3/5}
  .hotel-detail-gallery[data-gallery-count="2"] .provider-gallery-thumb:nth-child(2){grid-area:1/3/3/5}
  .hotel-detail-gallery[data-gallery-count="3"] .provider-gallery-thumb:nth-child(2){grid-area:1/3/2/5}
  .hotel-detail-gallery[data-gallery-count="3"] .provider-gallery-thumb:nth-child(3){grid-area:2/3/3/5}
  .hotel-detail-gallery[data-gallery-count="4"] .provider-gallery-thumb:nth-child(2){grid-area:1/3/2/5}
  .hotel-gallery-all{right:8px;bottom:8px;padding:9px 11px;font-size:12px;border-radius:9px}
  .hotel-gallery-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 32px);border-radius:14px}
  .hotel-detail-gallery .hotel-gallery-dialog .provider-gallery-main{height:75dvh}
  .hotel-gallery-dialog .hotel-gallery-collapse{top:10px;right:10px}
  .hotel-gallery-dialog .provider-gallery-nav{width:40px;height:44px}
}

/* All photos opens a lightweight, scrollable album before the large viewer. */
.hotel-album-toolbar{display:flex;align-items:center;gap:20px;min-height:64px;padding:12px 20px;background:#202228;color:#fff}
.hotel-album-toolbar strong{font-size:15px;font-weight:600}
.hotel-album-close{margin-left:auto;flex:0 0 auto;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff17;color:#fff;font-size:27px;line-height:1}
.hotel-album-back{padding:9px 12px;border:1px solid #ffffff30;border-radius:9px;background:transparent;color:#fff;font-size:13px}
.hotel-album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:calc(85dvh - 64px);overflow:auto;padding:16px;overscroll-behavior:contain;scrollbar-gutter:stable}
.hotel-album-thumb{min-width:0;aspect-ratio:1.45;border:0;border-radius:8px;overflow:hidden;padding:0;background:#303239;cursor:pointer}
.hotel-album-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .2s ease}
.hotel-album-thumb:hover img{filter:brightness(.85)}
.hotel-album-thumb:focus-visible,.hotel-album-back:focus-visible,.hotel-album-close:focus-visible{outline:3px solid #ffda36;outline-offset:-3px}
.hotel-gallery-dialog[data-view="grid"]{max-height:85dvh}
.hotel-gallery-dialog:has([data-album-grid]) .hotel-gallery-collapse{display:none}
.hotel-detail-gallery .hotel-gallery-dialog:has([data-album-grid]) .provider-gallery-main{height:calc(80dvh - 64px)}
@media(max-width:700px){
 .hotel-album-toolbar{gap:8px;padding:10px 12px;flex-wrap:wrap;min-height:60px}
 .hotel-album-toolbar strong{font-size:13px}
 .hotel-album-back{font-size:12px;padding:8px}
 .hotel-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;max-height:calc(85dvh - 60px)}
 .hotel-album-thumb{aspect-ratio:1.2;border-radius:6px}
 .hotel-detail-gallery .hotel-gallery-dialog:has([data-album-grid]) .provider-gallery-main{height:calc(80dvh - 90px)}
}
