
/* V360 – alignment + gallery FIT. Mobile-first, no cropping. */
body.v350-restaurant-detail{overflow-x:hidden!important}
.v350-restaurant-detail .demo{
 width:min(1180px,100%)!important;
 margin-inline:auto!important;
 box-sizing:border-box!important;
}
.v350-restaurant-detail .v347-profile-head,
.v350-restaurant-detail .v344-gallery,
.v350-restaurant-detail .demo-card,
.v350-restaurant-detail #menu{
 width:100%!important;
 margin-left:auto!important;margin-right:auto!important;
 box-sizing:border-box!important;
 transform:none!important;
}
.v350-restaurant-detail .v347-profile-head,
.v350-restaurant-detail .demo-card,
.v350-restaurant-detail #menu{
 border-left-width:1px!important;border-right-width:1px!important;
}
.v350-restaurant-detail .v347-location,
.v350-restaurant-detail .v347-features,
.v350-restaurant-detail .v347-quick{width:100%!important;box-sizing:border-box!important}

/* Gallery shell is aligned exactly with the content cards. */
.v350-restaurant-detail .gallery-shell,
.v350-restaurant-detail .v344-gallery{
 width:100%!important;max-width:100%!important;
 margin-inline:auto!important;box-sizing:border-box!important;
}
.v350-restaurant-detail .v344-gallery{
 padding:9px!important;
 border:1.5px solid #bd8b28!important;
 border-radius:28px!important;
 background:linear-gradient(180deg,#fffdf8,#f4ecdd)!important;
 box-shadow:0 14px 34px rgba(55,40,15,.11)!important;
}

/* Critical: intrinsic image ratio. No fixed aspect ratio, no cover, no crop. */
.v350-restaurant-detail .v344-stage{
 position:relative!important;
 width:100%!important;
 height:auto!important;
 min-height:0!important;
 aspect-ratio:auto!important;
 display:block!important;
 overflow:hidden!important;
 border-radius:20px!important;
 background:#171512!important;
 text-align:center!important;
 line-height:0!important;
}
.v350-restaurant-detail .v344-stage img{
 display:block!important;
 width:100%!important;
 height:auto!important;
 min-width:0!important;
 max-width:100%!important;
 max-height:none!important;
 margin:0 auto!important;
 object-fit:contain!important;
 object-position:center center!important;
 transform:none!important;
 filter:none!important;
 image-rendering:auto!important;
}

/* Thumbnails retain complete photo too. */
.v350-restaurant-detail .v344-thumbs{
 display:grid!important;
 grid-template-columns:repeat(5,minmax(0,1fr))!important;
 gap:8px!important;padding:9px 0 0!important;
 width:100%!important;
}
.v350-restaurant-detail .v344-thumb{
 width:100%!important;min-width:0!important;
 aspect-ratio:16/10!important;height:auto!important;
 padding:3px!important;
 border:1px solid #d2b46d!important;border-radius:12px!important;
 background:#181613!important;overflow:hidden!important;
}
.v350-restaurant-detail .v344-thumb img{
 display:block!important;width:100%!important;height:100%!important;
 object-fit:contain!important;object-position:center!important;
 transform:none!important;filter:none!important;
}

/* Fullscreen keeps the whole original visible regardless of orientation/size. */
.v350-restaurant-detail .v344-modal-stage{
 display:flex!important;align-items:center!important;justify-content:center!important;
 padding:12px!important;overflow:hidden!important;background:#0b0a09!important;
}
.v350-restaurant-detail .v344-modal-stage img{
 display:block!important;
 width:auto!important;height:auto!important;
 max-width:calc(100vw - 24px)!important;
 max-height:calc(100dvh - 130px)!important;
 object-fit:contain!important;object-position:center!important;
 transform:none!important;filter:none!important;
}

/* Large uploads remain complete rather than being cropped. */
.v350-restaurant-detail img{box-sizing:border-box}
@media(max-width:760px){
 .v350-restaurant-detail .demo{
   width:100%!important;padding-left:14px!important;padding-right:14px!important;
 }
 .v350-restaurant-detail .v347-profile-head,
 .v350-restaurant-detail .v344-gallery,
 .v350-restaurant-detail .demo-card,
 .v350-restaurant-detail #menu{
   margin-left:0!important;margin-right:0!important;
 }
 .v350-restaurant-detail .v344-gallery{padding:6px!important;border-radius:23px!important}
 .v350-restaurant-detail .v344-stage{border-radius:17px!important}
 .v350-restaurant-detail .v344-thumbs{gap:5px!important;padding-top:6px!important}
 .v350-restaurant-detail .v344-thumb{padding:2px!important;border-radius:9px!important}
}
