
/* V358 – gallery + premium frame polish. No crop, no forced upscale. */
body.v350-restaurant-detail{
 --v358-gold:#b9841c;--v358-line:#d6bd80;--v358-ink:#1d1914;
 background:
   radial-gradient(circle at 50% 0,rgba(218,184,112,.14),transparent 420px),
   linear-gradient(180deg,#f2eee6 0%,#e9e2d7 100%)!important;
}
.v350-restaurant-detail .v347-profile-head,
.v350-restaurant-detail .demo-card,
.v350-restaurant-detail #menu,
.v350-restaurant-detail .v344-gallery{
 border:1px solid rgba(185,132,28,.62)!important;
 box-shadow:0 16px 42px rgba(61,46,19,.09),inset 0 1px 0 rgba(255,255,255,.85)!important;
}
.v350-restaurant-detail .v347-profile-head{
 position:relative!important;overflow:hidden!important
}
.v350-restaurant-detail .v347-profile-head:before{
 content:"";position:absolute;left:22px;right:22px;top:0;height:3px;
 background:linear-gradient(90deg,transparent,#d9ae50 22%,#b9841c 50%,#d9ae50 78%,transparent);
 border-radius:0 0 10px 10px
}
.v350-restaurant-detail .v347-kicker{color:#76520c!important}
.v350-restaurant-detail .v347-features span{
 border-color:#d2b66f!important;
 box-shadow:0 7px 18px rgba(72,53,16,.055)!important
}
.v350-restaurant-detail .v347-features span:focus-within,
.v350-restaurant-detail .v347-quick a:focus-visible,
.v350-restaurant-detail .v347-quick button:focus-visible{
 outline:3px solid rgba(185,132,28,.26)!important;outline-offset:2px!important
}

/* Main gallery: preserve the ENTIRE source image. */
.v350-restaurant-detail .v344-gallery{
 padding:10px!important;background:#f9f5ed!important;border-radius:30px!important;
 overflow:visible!important
}
.v350-restaurant-detail .v344-stage{
 width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 overflow:hidden!important;border-radius:22px!important;background:#171614!important
}
.v350-restaurant-detail .v344-stage img{
 display:block!important;
 width:auto!important;height:auto!important;
 max-width:100%!important;max-height:min(72vh,760px)!important;
 object-fit:contain!important;object-position:center!important;
 image-rendering:auto!important;
 filter:none!important;transform:none!important;
 margin:0 auto!important
}
/* Thumbnails: whole photo too, no stretching. */
.v350-restaurant-detail .v344-thumbs{gap:8px!important;padding-top:10px!important}
.v350-restaurant-detail .v344-thumb{
 background:#171614!important;border:1px solid #d2b66f!important;border-radius:14px!important;
 overflow:hidden!important
}
.v350-restaurant-detail .v344-thumb img{
 width:100%!important;height:74px!important;object-fit:contain!important;
 object-position:center!important;filter:none!important;transform:none!important
}
/* Fullscreen: source pixels are never enlarged by CSS beyond viewport constraints. */
.v350-restaurant-detail .v344-modal-stage{
 background:rgba(8,8,7,.98)!important;display:flex!important;
 align-items:center!important;justify-content:center!important
}
.v350-restaurant-detail .v344-modal-stage img{
 width:auto!important;height:auto!important;
 max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 150px)!important;
 object-fit:contain!important;object-position:center!important;
 filter:none!important;transform:none!important
}
.v350-restaurant-detail .demo-card h2:after,
.v350-restaurant-detail #menu h2:after{
 content:"";display:block;width:54px;height:2px;margin-top:10px;
 background:linear-gradient(90deg,#b9841c,#e2c77f);border-radius:4px
}
@media(max-width:760px){
 .v350-restaurant-detail .v344-gallery{padding:7px!important;border-radius:24px!important}
 .v350-restaurant-detail .v344-stage{border-radius:18px!important}
 .v350-restaurant-detail .v344-stage img{
   width:100%!important;height:auto!important;max-height:none!important
 }
 .v350-restaurant-detail .v344-thumb img{height:58px!important}
}
