
/* V371 SIGNATURE — restaurant detail as a premium editorial product, not a table */
:root{
 --v371-ink:#12223b;--v371-muted:#6f675c;--v371-gold:#c58a17;
 --v371-paper:#fffdfa;--v371-soft:#f6f1e7;
}
body.v350-restaurant-detail{
 background:linear-gradient(180deg,#f8f5ef 0,#efe9de 100%)!important;
 color:var(--v371-ink)!important
}
.v350-restaurant-detail main.demo{max-width:1180px!important}

/* HERO identity */
.v350-restaurant-detail .v347-profile-head{
 border:0!important;border-radius:30px!important;background:#fff!important;
 box-shadow:0 24px 65px rgba(38,29,15,.09)!important;padding:34px!important;
 position:relative!important
}
.v350-restaurant-detail .v347-profile-head:before{
 content:"";position:absolute;left:34px;top:0;width:88px;height:4px;
 background:linear-gradient(90deg,#b8780b,#f0d17a);border-radius:0 0 8px 8px
}
.v350-restaurant-detail .v347-kicker span{
 background:#fbf6e9!important;border:1px solid #e7d09a!important;color:#80580e!important;
 border-radius:999px!important
}
.v350-restaurant-detail .v347-title-row h1{
 color:var(--v371-ink)!important;font-family:Georgia,"Times New Roman",serif!important;
 font-size:clamp(48px,6vw,78px)!important;line-height:.94!important;letter-spacing:-.045em!important
}
.v350-restaurant-detail .v347-title-row p{
 color:#657084!important;font-size:13px!important;letter-spacing:.16em!important
}
.v350-restaurant-detail .v347-title-row>button{
 border:1px solid #dfc47f!important;background:#fffaf0!important;color:#172642!important
}
.v350-restaurant-detail .v347-status{border-top:1px solid #eee7da!important}
.v350-restaurant-detail .v347-rating{
 background:#fff8e8!important;border:1px solid #e1c171!important;color:#161616!important
}
.v350-restaurant-detail .v347-rating small{color:#5f6671!important}
.v350-restaurant-detail .v347-open{
 background:#f3f8f2!important;border:1px solid #bdd8c1!important;color:#2b2722!important
}
.v350-restaurant-detail .v347-location{
 border:0!important;border-radius:20px!important;background:#f8f5ee!important;
 color:#172642!important;box-shadow:inset 0 0 0 1px #eee2ca!important
}
.v350-restaurant-detail .v347-location *{color:inherit!important}
.v350-restaurant-detail .v347-location>button{
 border:0!important;border-radius:14px!important;background:#14243d!important;color:#fff!important
}

/* Features: compact premium chips instead of giant database boxes */
.v350-restaurant-detail .v347-features{
 display:flex!important;flex-wrap:wrap!important;gap:9px!important;margin-top:17px!important
}
.v350-restaurant-detail .v347-features span{
 min-height:0!important;width:auto!important;display:inline-flex!important;flex-direction:row!important;
 gap:7px!important;align-items:center!important;padding:10px 13px!important;
 border:1px solid #e6dcc7!important;border-radius:999px!important;
 background:#fbf9f4!important;color:#25354b!important;box-shadow:none!important
}
.v350-restaurant-detail .v347-features span b,
.v350-restaurant-detail .v347-features span small{color:#25354b!important;font-size:13px!important}
.v350-restaurant-detail .v347-quick{
 display:flex!important;flex-wrap:wrap!important;gap:9px!important;margin-top:16px!important
}
.v350-restaurant-detail .v347-quick a,.v350-restaurant-detail .v347-quick button{
 min-height:45px!important;border:1px solid #dcc487!important;border-radius:999px!important;
 background:#fff!important;color:#18263d!important;padding:0 18px!important
}
.v350-restaurant-detail .v347-quick .primary{
 background:#14243d!important;color:#fff!important;border-color:#14243d!important
}

/* Gallery becomes the visual centrepiece */
.v350-restaurant-detail .v344-gallery{
 border:0!important;border-radius:28px!important;background:#fff!important;padding:10px!important;
 box-shadow:0 22px 55px rgba(40,31,18,.10)!important
}
.v350-restaurant-detail .v344-stage{
 border-radius:21px!important;background:#f4f1eb!important;overflow:hidden!important
}
.v350-restaurant-detail .v344-stage img{
 width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important
}
.v350-restaurant-detail .v344-thumbs button{
 border:0!important;background:#f4f1eb!important;border-radius:13px!important
}
.v350-restaurant-detail .v344-thumbs button.is-active{
 outline:2px solid #c68b17!important;outline-offset:2px!important
}

/* All content cards use one refined visual language */
.v350-restaurant-detail .demo-card,.v350-restaurant-detail #menu{
 border:0!important;border-radius:26px!important;background:var(--v371-paper)!important;
 box-shadow:0 18px 48px rgba(40,31,18,.065)!important;padding:28px!important
}
.v350-restaurant-detail .demo-card h2,.v350-restaurant-detail #menu h2{
 font:700 30px/1.05 Georgia,"Times New Roman",serif!important;color:var(--v371-ink)!important
}

/* Contact: identity + useful actions */
.v350-restaurant-detail .contact-card{background:#fff!important}
.v350-restaurant-detail .contact-body{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important
}
.v350-restaurant-detail .contact-row{
 min-height:112px!important;border:0!important;border-radius:18px!important;background:#f8f5ee!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important
}
.v350-restaurant-detail .contact-row .ico{
 background:#14243d!important;color:#fff!important;box-shadow:none!important
}

/* Opening hours: calm timeline/list, never a table */
.v350-restaurant-detail .hours-row{
 background:transparent!important;border-bottom:1px solid #eee8dd!important;border-radius:0!important;
 min-height:40px!important;padding:8px 2px!important
}
.v350-restaurant-detail .hours-row:nth-child(even){background:transparent!important}

/* Menu: restaurant-product presentation */
.v350-restaurant-detail .demo-menu-row{
 border:0!important;border-bottom:1px solid #eee8dd!important;padding:15px 0!important
}
.v350-restaurant-detail .demo-menu-photo{
 width:132px!important;height:96px!important;border-radius:16px!important;
 object-fit:contain!important;background:#f5f1e9!important
}
.v350-restaurant-detail .demo-menu-price{
 background:#fbf4df!important;border:0!important;color:#815a0c!important;font-weight:850!important
}

/* Reservation: compact concierge module */
.v350-restaurant-detail .v362-book{
 background:linear-gradient(145deg,#fffdfa,#f8f3e9)!important
}
.v350-restaurant-detail .v362-book form{gap:15px 13px!important}
.v350-restaurant-detail .v362-book input,.v350-restaurant-detail .v362-book select{
 border:0!important;border-bottom:1.5px solid #c5a35d!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important
}
.v350-restaurant-detail .v362-book form button{
 background:#14243d!important;color:#fff!important;border-radius:14px!important
}

/* Reviews: editorial, readable, no dark broken block */
.v350-restaurant-detail .v362-reviews article{
 background:#f8f6f1!important;border:0!important;color:#24211d!important;border-radius:20px!important
}
.v350-restaurant-detail .v362-reviews article *{color:#24211d!important}
.v350-restaurant-detail .v362-reviews article .stars,
.v350-restaurant-detail .v362-head>b{color:#b8790b!important}
.v350-restaurant-detail .v362-reply{
 background:#fff7e7!important;border-left:3px solid #c68b17!important;color:#342d23!important
}

/* Sticky actions are secondary UI, not a giant banner */
.v350-restaurant-detail .mobile-cta{
 background:rgba(255,255,255,.94)!important;border:1px solid rgba(197,138,23,.38)!important;
 box-shadow:0 10px 28px rgba(38,29,15,.13)!important;backdrop-filter:blur(14px)!important
}
.v350-restaurant-detail .mobile-cta a:first-child,
.v350-restaurant-detail .mobile-cta button:first-child{
 background:#14243d!important;color:#fff!important;border-color:#14243d!important
}

@media(max-width:760px){
 .v350-restaurant-detail main.demo{padding:12px 12px 84px!important}
 .v350-restaurant-detail .v347-profile-head{padding:24px 18px!important;border-radius:24px!important}
 .v350-restaurant-detail .v347-profile-head:before{left:18px;width:62px!important}
 .v350-restaurant-detail .v347-title-row h1{font-size:clamp(42px,12vw,58px)!important}
 .v350-restaurant-detail .v347-features{display:flex!important;grid-template-columns:none!important}
 .v350-restaurant-detail .v347-features span{
   min-height:0!important;padding:8px 10px!important;border-radius:999px!important
 }
 .v350-restaurant-detail .v347-quick{display:flex!important;grid-template-columns:none!important}
 .v350-restaurant-detail .v347-quick a,.v350-restaurant-detail .v347-quick button{
   min-height:42px!important;font-size:13px!important;flex:1 1 calc(50% - 5px)!important
 }
 .v350-restaurant-detail .v344-gallery{border-radius:22px!important;padding:7px!important}
 .v350-restaurant-detail .demo-card,.v350-restaurant-detail #menu{
   padding:20px 18px!important;border-radius:22px!important;margin-bottom:14px!important
 }
 .v350-restaurant-detail .demo-card h2,.v350-restaurant-detail #menu h2{font-size:27px!important}
 .v350-restaurant-detail .contact-body{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
 .v350-restaurant-detail .contact-row{min-height:96px!important;padding:10px 5px!important;font-size:12px!important}
 .v350-restaurant-detail .demo-menu-row{
   grid-template-columns:104px minmax(0,1fr)!important;gap:12px!important
 }
 .v350-restaurant-detail .demo-menu-photo{width:104px!important;height:82px!important}
 .v350-restaurant-detail .mobile-cta{
   left:12px!important;right:12px!important;bottom:8px!important;padding:6px!important;border-radius:16px!important
 }
 .v350-restaurant-detail .mobile-cta a,.v350-restaurant-detail .mobile-cta button{
   min-height:43px!important;font-size:14px!important;border-radius:11px!important
 }
}
