/* Public restaurant discovery; source branding and photographer names stay readable. */
.google-places-browser { margin-block: 1.75rem; }
.google-places-search-form { display: flex; gap: 1rem; align-items: end; flex-wrap: wrap; }
.google-places-search-form label { flex: 1 1 18rem; display: grid; gap: .5rem; color: #293932; font-size: .95rem; }
.google-places-search-form input { box-sizing: border-box; width: 100%; min-height: 3rem; padding: .7rem .9rem; background: #fff; color: #1f2924; border: 1px solid #b8c2ba; border-radius: .55rem; font: inherit; }
.google-places-search-button { min-height: 3rem; padding: .7rem 1.1rem; border: 1px solid #244c37; border-radius: .55rem; background: #244c37; color: #fff; font: inherit; font-weight: 650; cursor: pointer; }
.google-places-search-form :focus-visible, .google-places-results a:focus-visible, .google-places-photo button:focus-visible { outline: 3px solid #aa4c2e; outline-offset: 3px; }
.google-places-search-form :disabled { opacity: .65; cursor: progress; }
.google-places-status { color: #526157; font-size: .95rem; min-height: 1.5em; }
.google-places-results { margin-block: 1.5rem; padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid #d7ded6; border-radius: 1rem; background: #fff; color: #24312a; }
.google-places-results[hidden] { display: none; }
.google-places-results-head { margin-bottom: 1.25rem; }
.google-places-attribution { display: block; height: 18px; width: auto; margin: 0 0 .85rem; object-fit: contain; }
.google-places-explanation, .google-places-criteria, .google-places-checked { margin: .45rem 0; font-size: .9rem; line-height: 1.55; color: #526157; }
.google-places-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1.1rem; }
.google-places-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #dde3dc; border-radius: .8rem; background: #fff; }
.google-places-photo { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; background: #edf0e9; color: #58665c; font-size: .9rem; text-align: center; overflow: hidden; }
.google-places-photo > span { max-width: 85%; }
.google-places-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.google-places-photo button { border: 1px solid #b5c3b6; border-radius: .5rem; padding: .55rem .8rem; color: #244c37; background: #fff; font: inherit; cursor: pointer; }
.google-places-card-body { display: flex; flex-direction: column; flex: 1; gap: .7rem; padding: 1.1rem; }
.google-places-card-body h3 { margin: 0; font-size: 1.18rem; line-height: 1.45; overflow-wrap: anywhere; color: #1f3025; }
.google-places-address { margin: 0; font-size: .9rem; line-height: 1.6; color: #58665c; overflow-wrap: anywhere; }
.google-places-rating { display: flex; flex-wrap: wrap; gap: .3rem; align-items: baseline; margin: 0; font-size: .9rem; }
.google-places-star { color: #976112; }
.google-places-map { align-self: start; margin-top: auto; font-weight: 650; }
.google-places-results a { color: #315b40; text-decoration: underline; text-underline-offset: .18em; }
.google-places-photo-credits { padding: .5rem 1rem; border-bottom: 1px solid #edf0e9; background: #f7f9f5; font-size: .75rem; line-height: 1.6; overflow-wrap: anywhere; color: #526157; }
.google-places-photo-credits p { margin: 0; }
.google-places-source, .google-places-legal { margin: .2rem 0; font-size: .78rem; line-height: 1.65; color: #526157; overflow-wrap: anywhere; }
.google-places-legal { margin-top: 1.25rem; }
.google-places-empty { margin: .25rem 0 1rem; }
@media (max-width: 560px) { .google-places-search-button { width: 100%; } .google-places-grid { grid-template-columns: 1fr; } .google-places-results { padding: .9rem; border-radius: .7rem; } }
@media (prefers-reduced-motion: no-preference) { .google-places-search-button:hover { background: #193c2a; } }

.restaurant-guide-nav{color:inherit;text-decoration:none;font-weight:700;padding:10px 14px;border-radius:8px}
.info-page.restaurant-guide-page{max-width:1320px;padding-top:38px}
.restaurant-guide-page{padding-bottom:64px}.restaurant-guide-page h1{max-width:1000px}.restaurant-district-nav{display:flex;gap:9px;flex-wrap:wrap;margin:30px 0 40px}.restaurant-district-nav a{border:1px solid #d2d9d2;border-radius:999px;padding:9px 16px;background:#fff;color:#344e40;text-decoration:none}.restaurant-district-nav a:hover,.restaurant-district-nav a[aria-current]{color:#fff;background:#344e40;border-color:#344e40}
.restaurant-district-section{margin:42px 0}.restaurant-district-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.restaurant-district-section h2{margin:0;font-size:28px}.restaurant-district-section h2 a{color:inherit;text-decoration:none}.restaurant-district-section header p{margin:7px 0 0;color:#647068;font-size:15px}.restaurant-source-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;gap:18px;margin:0;padding:0}.restaurant-source-card{border:1px solid #e0e4dc;background:#fff;border-radius:16px;overflow:hidden;min-width:0}.restaurant-source-card figure{position:relative;aspect-ratio:4/3;margin:0;background:#eef1e9;overflow:hidden}.restaurant-source-card img{width:100%;height:100%;object-fit:cover}.restaurant-source-card figcaption{position:absolute;bottom:0;left:0;color:#fff;background:#20372dd9;padding:4px 9px;font-size:11px}.restaurant-source-card>div{padding:18px}.restaurant-source-tag{color:#617566;font-size:11px;letter-spacing:.02em}.restaurant-source-card h3{margin:8px 0;font-size:19px;line-height:1.4}.restaurant-source-card h3 a{color:#21352b;text-decoration:none}.restaurant-source-card p{font-size:13px;line-height:1.8;color:#687169;overflow-wrap:anywhere}.restaurant-card-link{font-size:14px;font-weight:700;color:#b44e2d;text-decoration:none}.restaurant-photo-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:linear-gradient(135deg,#edf1e6,#f4ece2);color:#7d897a;font-size:12px}.restaurant-photo-empty span:first-child{font-size:36px;color:#92a08d}.restaurant-source-note{padding:20px;border-left:3px solid #82927d;background:#edf0e8;font-size:15px;line-height:1.8}.restaurant-google-section{margin:30px 0 50px}.restaurant-google-section h2{font-size:30px}.restaurant-google-section>p{font-size:16px;color:#627068}
@media(max-width:1100px){.restaurant-source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.restaurant-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.restaurant-source-card>div{padding:13px}.restaurant-source-card h3{font-size:17px}.restaurant-district-section>header{align-items:start;flex-direction:column;gap:8px}.restaurant-district-nav{gap:7px}.restaurant-district-nav a{padding:7px 12px;font-size:14px}}@media(max-width:370px){.restaurant-source-grid{grid-template-columns:1fr}}
