/* Restaurant pages reuse the typography, cards, dropdowns and sticky bar of travel tips. */
.restaurant-card h2,.restaurant__title{display:flex;align-items:baseline;gap:.55rem}
.restaurant-number{display:inline-grid;place-items:center;flex:none;min-width:2rem;min-height:2rem;padding:.2rem .4rem;box-sizing:border-box;border-radius:50%;background:var(--hill-back);color:#fff;font:700 1rem/1 Karla,system-ui,sans-serif}
.restaurant__title .restaurant-number{align-self:center}
.restaurant-map .va-pin{width:100%;height:36px;white-space:nowrap}
.restaurant-card__town,.restaurant__town{margin:0;color:var(--ink-soft);font-weight:600}
.restaurant-card__town{font-size:.92rem}
.restaurant__town{font-size:1.1rem}
.restaurant-card,.restaurant__address,.restaurant__contacts{overflow-wrap:anywhere}
.restaurant__advice,.restaurant__classifications,.restaurant__notes{margin:1.8rem 0}
.restaurant__location,.restaurant__gallery{margin-top:2.5rem}
.restaurant h2{font-size:1.5rem;line-height:1.2;margin:0 0 1rem}
.restaurant__contacts{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-start}
.restaurant__contacts .btn{white-space:normal;text-align:center;min-width:0;max-width:100%;flex-wrap:wrap;gap:.35rem}
.restaurant__location-content{display:grid;gap:1.5rem}
.restaurant__address{margin:0 0 1.2rem}
.restaurant__gallery{max-width:64rem}
.restaurant__photos{aspect-ratio:auto;min-width:0}
.restaurant__photos .carousel__track{height:auto;align-items:flex-start}
.restaurant__photo{margin:0;height:auto;min-width:0}
.restaurant__photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:14px}
.restaurant__photo figcaption{font-size:.8rem;color:var(--ink-soft);line-height:1.4;margin:.45rem 0 0}
.restaurant__photos .carousel__dots{position:static;padding-top:.8rem}
.restaurant__photos [data-carousel-controls][hidden]{display:none}
.restaurant-map{min-width:0;--mappa-g1:var(--hill-back)}
.restaurant-map [hidden]{display:none}
.restaurant-map__canvas{height:min(70vh,560px);border-radius:12px;overflow:hidden;background:var(--band-sand)}
.restaurant-map__surface{height:100%;width:100%}
.restaurant-map[data-mode="single"] .restaurant-map__canvas{height:340px}
.restaurant-map .leaflet-container img{margin:0;border-radius:0;box-shadow:none}
.restaurant-map .va-popup img{width:100%;height:120px;object-fit:cover;border-radius:8px;margin:0 0 6px}
.restaurant-map__entry+.restaurant-map__entry{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.restaurant-map__entry strong,.restaurant-map__entry span{display:block}
.restaurant-map__entry span{font-size:12px;margin:2px 0 6px}
.restaurant-map__error{padding:1rem 0;color:var(--ink-soft)}
@media(min-width:900px){.restaurant__location-content:has(> :nth-child(2)){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:620px){.restaurant__photo img{aspect-ratio:4/3;border-radius:12px}.restaurant__contacts{align-items:stretch;flex-direction:column}}

/* Match the travel tips invitation immediately above this home section. */
.restaurants-home{ border-bottom:1px solid color-mix(in srgb, var(--on-deep) 18%, transparent); }
.restaurants-home__wrap{ display:flex; flex-wrap:wrap; gap:1.2rem 2rem; align-items:center; justify-content:space-between; }
.restaurants-home__wrap > div{ max-width:60ch; }
.restaurants-home h2{ margin:0 0 .5rem; }
.restaurants-home .lead-in{ margin:0; }
