.vm-zh-carousel{margin:3rem 0 4rem}
.vm-zh-carousel--cuisine{margin-bottom:2.5rem}
.vm-zh-carousel-title{margin-bottom:1.5rem}
.vm-zh-carousel-shell{position:relative}
.vm-zh-carousel-track{display:flex;gap:18px;overflow-x:auto;padding:0 0 .5rem;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}
.vm-zh-carousel-track::-webkit-scrollbar{display:none}
.vm-zh-carousel-track>figure{flex:0 0 calc((100% - 36px)/3);height:auto;aspect-ratio:3/2;margin:0;overflow:hidden;scroll-snap-align:start}
.vm-zh-carousel-track>figure>a{display:block;width:100%;height:100%}
.vm-zh-carousel-track>figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.vm-zh-carousel-track>figure>a:hover img{transform:scale(1.018)}
.vm-zh-carousel--cuisine .vm-zh-carousel-track>figure{height:480px;aspect-ratio:auto}
.vm-zh-carousel-button{position:absolute;z-index:3;top:50%;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:rgba(173,152,110,.94);box-shadow:0 4px 16px rgba(0,0,0,.18);color:#fff;font-family:Georgia,serif;font-size:2rem;line-height:1;cursor:pointer}
.vm-zh-carousel-button--prev{left:12px}
.vm-zh-carousel-button--next{right:12px}
.vm-zh-carousel-button:focus-visible,.vm-zh-carousel-dot:focus-visible{outline:2px solid #4d1b18;outline-offset:3px}
.vm-zh-carousel-button:disabled{opacity:.38;cursor:default}
.vm-zh-carousel-dots{display:flex;justify-content:center;gap:9px;margin-top:1.15rem}
.vm-zh-carousel-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#d7cdb8;cursor:pointer}
.vm-zh-carousel-dot.is-active{background:#ad986e}
.vm-zh-carousel-dialog{position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(18px,3vw,48px);border:0;background:rgba(18,14,12,.92);color:#fff}
.vm-zh-carousel-dialog::backdrop{background:rgba(18,14,12,.92)}
.vm-zh-carousel-dialog-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}
.vm-zh-carousel-dialog-image{display:block;width:auto;height:auto;max-width:calc(100vw - clamp(36px,6vw,96px));max-height:calc(100dvh - clamp(36px,6vw,96px));object-fit:contain}
.vm-zh-carousel-dialog-button{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(40,31,26,.68);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.vm-zh-carousel-dialog-button:hover{background:rgba(173,152,110,.95)}
.vm-zh-carousel-dialog-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.vm-zh-carousel-dialog-close{top:18px;right:18px;font-size:1.65rem}
.vm-zh-carousel-dialog-prev{left:18px;top:50%;transform:translateY(-50%)}
.vm-zh-carousel-dialog-next{right:18px;top:50%;transform:translateY(-50%)}
@media(max-width:991.98px){
  .vm-zh-carousel-dots{display:none}
  .vm-zh-carousel-track>figure{flex-basis:calc((100% - 18px)/2)}
  .vm-zh-carousel--cuisine .vm-zh-carousel-track>figure{height:440px}
}
@media(max-width:767.98px){
  .vm-zh-carousel{margin:2.5rem 0 3rem}
  .vm-zh-carousel--cuisine{margin-bottom:2rem}
  .vm-zh-carousel-track{gap:0}
  .vm-zh-carousel-track>figure{flex-basis:100%}
  .vm-zh-carousel--cuisine .vm-zh-carousel-track>figure{height:430px}
  .vm-zh-carousel-button{width:40px;height:40px;font-size:1.7rem}
  .vm-zh-carousel-button--prev{left:8px}
  .vm-zh-carousel-button--next{right:8px}
  .vm-zh-carousel-dialog-button{width:40px;height:40px}
  .vm-zh-carousel-dialog-prev{left:8px}
  .vm-zh-carousel-dialog-next{right:8px}
}
