/* Samed Pavilion V19 — six room types + animated room galleries */
:root{
  --room-radius:20px;
  --room-shadow:0 18px 48px rgba(31,30,52,.14);
}

/* Home: six balanced 16:9 room cards */
.room-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.room-card{border-radius:var(--room-radius);isolation:isolate}
.room-card img{aspect-ratio:16/9;height:auto;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.room-card:hover img,.room-card:focus-visible img{transform:scale(1.045);filter:saturate(1.06) contrast(1.02)}
.room-card>div{min-height:238px;display:flex;flex-direction:column}
.room-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.room-card span{margin-top:auto}

/* Six-type navigation */
.room-type-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
.room-type-nav a{min-width:0;padding:16px 12px;font-size:.72rem;line-height:1.35}
.room-type-nav a:nth-child(n){border-top:0}
.room-type-nav a:not(:first-child){border-left:1px solid rgba(77,67,133,.14)}

/* Main room visual */
.room-detail-v16 .room-visual{position:relative;min-width:0}
.room-stage{position:relative;overflow:hidden;border-radius:var(--room-radius);background:#e9e6ec;box-shadow:var(--room-shadow)}
.room-main-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:#fff;cursor:zoom-in;overflow:hidden;aspect-ratio:16/9}
.room-detail-v16 .room-main{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0;box-shadow:none;transform:scale(1);filter:saturate(1.02);transition:opacity .32s ease,transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.room-main-button:hover .room-main,.room-main-button:focus-visible .room-main{transform:scale(1.025);filter:saturate(1.08) contrast(1.015)}
.room-stage.is-changing .room-main{opacity:.28;transform:scale(1.045)}
.room-main-button::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(13,12,22,.58));pointer-events:none}
.room-view-hint{position:absolute;z-index:2;left:16px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(20,18,31,.42);backdrop-filter:blur(8px);font-size:.72rem;font-weight:800;letter-spacing:.02em;transition:transform .25s ease,background .25s ease}
.room-view-hint::before{content:"⌕";font-size:1rem;line-height:1}
.room-main-button:hover .room-view-hint,.room-main-button:focus-visible .room-view-hint{transform:translateY(-2px);background:rgba(20,18,31,.62)}
.room-photo-count{position:absolute;z-index:3;right:14px;bottom:14px;min-width:54px;padding:7px 10px;border-radius:999px;background:rgba(20,18,31,.55);backdrop-filter:blur(8px);color:#fff;font-size:.69rem;font-weight:800;text-align:center;pointer-events:none}
.room-stage-nav{position:absolute;z-index:4;top:50%;width:42px;height:42px;margin-top:-21px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(22,19,31,.48);backdrop-filter:blur(8px);color:#fff;font-size:1.85rem;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:0;transform:scale(.88);transition:opacity .22s ease,transform .22s ease,background .22s ease}
.room-stage-nav.prev{left:12px}.room-stage-nav.next{right:12px}
.room-stage:hover .room-stage-nav,.room-stage:focus-within .room-stage-nav{opacity:1;transform:scale(1)}
.room-stage-nav:hover,.room-stage-nav:focus-visible{background:rgba(123,36,82,.86)}
.room-stage-nav:active{transform:scale(.92)}

/* Thumbnail filmstrip */
.room-thumbs-v19{display:flex!important;grid-template-columns:none!important;gap:8px!important;overflow-x:auto;padding:10px 2px 4px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(123,36,82,.35) transparent}
.room-thumbs-v19::-webkit-scrollbar{height:5px}.room-thumbs-v19::-webkit-scrollbar-thumb{background:rgba(123,36,82,.32);border-radius:999px}
.room-thumbs-v19 img{flex:0 0 92px!important;width:92px!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover;border-radius:9px!important;border:2px solid transparent!important;opacity:.66;cursor:pointer;scroll-snap-align:start;transition:opacity .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.room-thumbs-v19 img:hover,.room-thumbs-v19 img:focus-visible{opacity:1;transform:translateY(-2px);outline:none}
.room-thumbs-v19 img.active{opacity:1;border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(123,36,82,.13);transform:translateY(-2px)}

/* Animated modal gallery */
.room-lightbox[hidden]{display:none}
.room-lightbox{position:fixed;inset:0;z-index:2500;display:grid;grid-template-rows:auto 1fr auto;padding:18px;background:rgba(12,10,19,.91);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.room-lightbox.is-open{opacity:1;visibility:visible}
.room-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;color:#fff}
.room-lightbox-title{margin:0;font-family:inherit;font-size:.88rem;font-weight:800;letter-spacing:.02em}
.room-lightbox-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.35rem;cursor:pointer;transition:background .2s ease,transform .2s ease}
.room-lightbox-close:hover,.room-lightbox-close:focus-visible{background:rgba(123,36,82,.85);transform:rotate(5deg)}
.room-lightbox-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden}
.room-lightbox-image{display:block;max-width:min(92vw,1440px);max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.5);opacity:0;transform:scale(.965);transition:opacity .32s ease,transform .45s cubic-bezier(.2,.75,.2,1)}
.room-lightbox.is-open .room-lightbox-image.is-ready{opacity:1;transform:scale(1)}
.room-lightbox-image.is-switching{opacity:.1;transform:scale(.985)}
.room-lightbox-nav{position:absolute;z-index:2;top:50%;width:48px;height:48px;margin-top:-24px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(18,16,27,.48);backdrop-filter:blur(8px);color:#fff;font-size:2rem;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,transform .2s ease}
.room-lightbox-nav.prev{left:8px}.room-lightbox-nav.next{right:8px}
.room-lightbox-nav:hover,.room-lightbox-nav:focus-visible{background:rgba(123,36,82,.88);transform:scale(1.06)}
.room-lightbox-foot{display:flex;justify-content:center;align-items:center;min-height:42px;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.08em}

@media(max-width:1100px){
  .room-type-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .room-type-nav a:nth-child(4){border-left:0;border-top:1px solid rgba(77,67,133,.14)}
  .room-type-nav a:nth-child(5),.room-type-nav a:nth-child(6){border-top:1px solid rgba(77,67,133,.14)}
}
@media(max-width:820px){
  .room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .room-card>div{min-height:220px}
  .room-stage-nav{opacity:1;transform:scale(.92);width:38px;height:38px;margin-top:-19px}
}
@media(max-width:640px){
  .room-card-grid{grid-template-columns:1fr;gap:14px}
  .room-card>div{min-height:0}
  .room-card p{-webkit-line-clamp:2}
  .room-type-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .room-type-nav a:nth-child(n){border-top:1px solid rgba(77,67,133,.14)}
  .room-type-nav a:nth-child(odd){border-left:0}
  .room-type-nav a:nth-child(-n+2){border-top:0}
  .room-thumbs-v19 img{flex-basis:78px!important;width:78px!important}
  .room-view-hint{left:10px;bottom:10px;padding:6px 9px;font-size:.64rem}
  .room-photo-count{right:10px;bottom:10px;padding:6px 8px;font-size:.62rem}
  .room-lightbox{padding:10px}
  .room-lightbox-image{max-width:96vw;max-height:calc(100vh - 130px);border-radius:8px}
  .room-lightbox-nav{width:42px;height:42px;margin-top:-21px}
  .room-lightbox-nav.prev{left:2px}.room-lightbox-nav.next{right:2px}
}
@media(prefers-reduced-motion:reduce){
  .room-card img,.room-detail-v16 .room-main,.room-stage,.room-stage-nav,.room-thumbs-v19 img,.room-lightbox,.room-lightbox-image,.room-lightbox-close,.room-lightbox-nav{transition:none!important;animation:none!important}
}
