/* Thai Thai V8.12.3 — menu image lightbox and homepage photo slider. */
.dish>img{
  cursor:zoom-in;
  transition:filter .2s ease,transform .25s ease;
}
.dish>img:hover{filter:brightness(1.06);transform:scale(1.015)}
.dish>img:focus-visible{outline:3px solid #d39a70;outline-offset:-3px}

.image-lightbox{
  position:fixed;
  inset:0;
  z-index:100;
  display:none;
  place-items:center;
  padding:clamp(18px,4vw,48px);
  background:rgba(5,9,22,.9);
  backdrop-filter:blur(8px);
  cursor:zoom-out;
}
.image-lightbox.show{display:grid;animation:lightbox-in .2s ease both}
.image-lightbox img{
  display:block;
  width:auto;
  height:auto;
  max-width:min(1100px,94vw);
  max-height:88vh;
  border:1px solid rgba(238,190,133,.78);
  border-radius:16px;
  object-fit:contain;
  box-shadow:0 28px 80px rgba(0,0,0,.62);
  cursor:zoom-out;
}
.image-lightbox-close{
  position:fixed;
  top:max(15px,env(safe-area-inset-top));
  right:max(15px,env(safe-area-inset-right));
  z-index:2;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  background:#fffaf1;
  color:#371b3d;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
body.lightbox-open{overflow:hidden}
@keyframes lightbox-in{from{opacity:0}to{opacity:1}}

.photo-slider{
  position:relative;
  max-width:1140px;
  aspect-ratio:16/5.6;
  overflow:hidden;
  margin:4px auto 28px;
  border:1px solid #d8b57c;
  border-radius:19px;
  background:#111a32;
  box-shadow:0 18px 48px rgba(40,19,52,.2);
}
.photo-slider[hidden]{display:none!important}
.slide-track,.gallery-slide{position:absolute;inset:0}
.gallery-slide{
  margin:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .75s ease,visibility .75s ease;
}
.gallery-slide.active{opacity:1;visibility:visible}
.gallery-slide img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-slide:after{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(9,17,37,.18),transparent 50%,rgba(48,20,56,.16));
  content:'';
  pointer-events:none;
}
.slide-arrow{
  position:absolute;
  top:50%;
  z-index:2;
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  transform:translateY(-50%);
  border:1px solid rgba(255,239,207,.72);
  border-radius:50%;
  background:rgba(15,24,46,.72);
  color:#ffe4af;
  font:32px/1 Georgia,serif;
  box-shadow:0 6px 22px rgba(0,0,0,.28);
  cursor:pointer;
  backdrop-filter:blur(6px);
}
.slide-prev{left:16px}.slide-next{right:16px}
.slide-dots{
  position:absolute;
  right:0;
  bottom:13px;
  left:0;
  z-index:2;
  display:flex;
  justify-content:center;
  gap:7px;
}
.slide-dot{
  width:8px;
  height:8px;
  border:1px solid #fff;
  border-radius:50%;
  background:rgba(255,255,255,.38);
  padding:0;
  cursor:pointer;
  transition:width .2s ease,background .2s ease,border-radius .2s ease;
}
.slide-dot.active{width:25px;border-radius:8px;background:#f0bd76}

@media(max-width:1180px){.photo-slider{margin-right:20px;margin-left:20px}}
@media(max-width:700px){
  .photo-slider{aspect-ratio:16/9;margin:2px 14px 21px;border-radius:14px}
  .slide-arrow{width:38px;height:38px;font-size:27px}
  .slide-prev{left:9px}.slide-next{right:9px}
  .image-lightbox{padding:12px}
  .image-lightbox img{max-width:96vw;max-height:84vh;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-slide,.dish>img{transition:none}
  .image-lightbox.show{animation:none}
}
