/* Styles scoped to the restaurant detail page. */
#restaurant-detail{max-width:1120px;margin:32px auto 0;overflow-wrap:anywhere}
#restaurant-detail .detail-heading{margin-bottom:32px}
#restaurant-detail .detail-location{font-size:14px;color:#756456;margin:0 0 14px}
#restaurant-detail h1{font-size:clamp(36px,5vw,62px);letter-spacing:-.045em;line-height:1.08;margin:0 0 20px}
#restaurant-detail .detail-capacity{display:inline-block;font-size:14px;border:1px solid var(--enviaa-sand);border-radius:30px;padding:9px 15px}
#restaurant-detail .detail-photo{display:block;width:100%;max-height:430px;object-fit:cover;border-radius:18px;margin-bottom:28px}
#restaurant-detail .detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
#restaurant-detail .detail-main,#restaurant-detail .detail-sidebar{display:grid;gap:24px;min-width:0}
#restaurant-detail .detail-card{padding:28px;background:var(--enviaa-warm-white);border:1px solid #d8bea380;border-radius:18px;min-width:0}
#restaurant-detail h2{font-size:26px;line-height:1.2;letter-spacing:-.035em;margin:0 0 20px}
#restaurant-detail h3{font-size:14px;letter-spacing:0;font-weight:600;margin:24px 0 12px}
#restaurant-detail p{font-size:16px;line-height:1.65;margin:0 0 20px}
#restaurant-detail p:last-child{margin-bottom:0}
#restaurant-detail .detail-description{white-space:pre-line}
#restaurant-detail .detail-facts{margin:0}
#restaurant-detail .detail-facts>div{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;padding:16px 0;border-bottom:1px solid #d8bea350;font-size:15px;line-height:1.5}
#restaurant-detail .detail-facts>div:first-child{padding-top:0}
#restaurant-detail .detail-facts>div:last-child{border:0;padding-bottom:0}
#restaurant-detail dt{color:#756456}#restaurant-detail dd{margin:0;font-weight:500}
#restaurant-detail .detail-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
#restaurant-detail .detail-tags li{font-size:13px;padding:8px 12px;border-radius:30px;background:var(--enviaa-cream);color:var(--enviaa-terracotta)}
#restaurant-detail .detail-menu{background:#efe2d2}
#restaurant-detail .button{font-size:14px;line-height:1.4;padding:15px 19px;margin:0;justify-content:center;text-align:center;width:100%;gap:8px}
#restaurant-detail .detail-actions{display:grid;gap:10px}
#restaurant-detail .detail-actions .button{background:transparent;border:1px solid var(--enviaa-terracotta);color:var(--enviaa-terracotta)}
#restaurant-detail .detail-actions .button:hover{background:var(--enviaa-cream)}
@media(max-width:760px){#restaurant-detail .detail-layout{grid-template-columns:1fr}#restaurant-detail .detail-card{padding:22px}#restaurant-detail h2{font-size:24px}#restaurant-detail .detail-heading{margin-bottom:24px}}
@media(max-width:380px){#restaurant-detail .detail-facts>div{grid-template-columns:1fr;gap:4px}}

#restaurant-detail .detail-info h2{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-style:italic;color:#A8432D;letter-spacing:-.025em;padding-bottom:18px;border-bottom:1px solid #e4cfba}
#restaurant-detail .detail-facts dd a{color:#A8432D;text-decoration:underline;text-underline-offset:4px}
#restaurant-detail .detail-actions .button{background:var(--color-primary);color:var(--color-surface);border:1px solid transparent}
#restaurant-detail .detail-actions .button:hover{background:var(--color-primary-dark)}
@media(max-width:520px){#restaurant-detail .detail-facts>div{grid-template-columns:1fr;gap:6px}#restaurant-detail .detail-info h2{font-size:29px}}

.restaurant-search>.detail-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;box-sizing:border-box;border:1px solid #d8bea3;border-radius:999px;background:#fffdf9;color:#A8432D;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .2s,border-color .2s}.restaurant-search>.detail-back:hover{background:#efe2d2;border-color:#A8432D}.restaurant-search>.detail-back:focus-visible{outline:2px solid #A8432D;outline-offset:4px}
