:root{--brand-green: #2e7d32;--brand-green-dark: #1b5e20;--brand-green-light: #e8f5e9;--text-dark: #212121;--text-muted: #616161;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 20px rgba(0, 0, 0, .1);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--text-dark);background:#fff}a{color:inherit}main{min-height:60vh}.page{max-width:1100px;margin:0 auto;padding:32px 16px 56px}.hero{background:linear-gradient(135deg,var(--brand-green-light),#ffffff);padding:56px 20px;text-align:center}.hero-inner{max-width:640px;margin:0 auto}.hero h1{font-size:clamp(26px,5vw,42px);font-weight:700;color:var(--brand-green-dark);margin:0 0 12px}.hero p{font-size:clamp(15px,2.5vw,18px);color:var(--text-muted);margin:0 auto}@media(max-width:480px){.hero{padding:40px 16px}}.address-search{display:flex;gap:8px;max-width:560px;margin:0 auto 16px;flex-wrap:wrap}.address-search input[type=text]{flex:1 1 260px;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:15px;min-width:0}.address-search input[type=text]:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px var(--brand-green-light)}.address-search button{flex:0 0 auto;padding:12px 22px;border:none;border-radius:8px;background:var(--brand-green);color:#fff;font-weight:600;font-size:15px;cursor:pointer;transition:background-color .15s ease}.address-search button:hover,.address-search button:focus{background:var(--brand-green-dark)}.search-results{max-width:560px;margin:0 auto 24px;display:none}.search-results.active{display:block}.search-status{text-align:center;color:var(--text-muted);font-size:14px;margin:0 0 10px}.search-result-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.search-result-item{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #eee;border-radius:8px;padding:10px 14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.search-result-item:hover{border-color:var(--brand-green);box-shadow:var(--shadow-sm)}.search-result-item strong{font-size:15px}.result-type{align-self:flex-start;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;color:#fff}.result-type.restaurant{background:var(--brand-green)}.result-type.shop{background:#6d4c41}.result-address{font-size:13px;color:var(--text-muted)}.result-distance{font-size:12px;color:var(--brand-green-dark);font-weight:600}.map-section{padding:32px 16px 48px}.city-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px}.city-chip{border:1px solid #ddd;background:#fff;color:var(--text-dark);padding:10px 20px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.city-chip:hover,.city-chip:focus{border-color:var(--brand-green);color:var(--brand-green-dark);background:var(--brand-green-light);outline:none}.city-chip.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.map-canvas{height:min(60vh,520px);min-height:320px;width:100%;border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden}@media(max-width:480px){.map-section{padding:24px 12px 32px}.city-chip{padding:8px 16px;font-size:13px}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}@media(max-width:767px){.card-grid{grid-template-columns:1fr}}.card{background:#fff;border:1px solid #eee;border-radius:10px;padding:16px 18px;box-shadow:var(--shadow-sm)}.dish-search{max-width:560px;margin:0 auto 8px}.dish-search input[type=text]{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:15px}.dish-search input[type=text]:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px var(--brand-green-light)}.dish-card{display:flex;flex-direction:column;gap:6px}.dish-name{margin:0;font-size:17px;font-weight:700;color:var(--brand-green-dark)}.dish-description{margin:0;font-size:14px;color:var(--text-muted);flex:1}.dish-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-top:8px;border-top:1px solid #f0f0f0;font-size:13px}.dish-restaurant{font-weight:600;color:var(--brand-green);text-decoration:none}.dish-restaurant:hover{text-decoration:underline}.dish-city{color:var(--text-muted);white-space:nowrap}.page-note{margin-top:32px;text-align:center;font-size:13px;color:var(--text-muted)}.city-heading{margin-top:28px;color:#fff;background:#2a0e0e;border-bottom:none;padding:10px 14px;border-radius:6px}.table-scroll{overflow-x:auto}.restaurant-table{min-width:640px}.restaurant-name{color:var(--brand-green-dark);font-weight:600;text-decoration:none}.restaurant-name:hover{text-decoration:underline}.restaurant-address{margin-top:2px;color:var(--text-muted);font-size:12px}table.content-table tbody tr.featured{background:var(--brand-green-light)}.featured-badge{margin-left:6px;background:var(--brand-green);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;vertical-align:middle}.restaurant-table td code{background:var(--brand-green-light);color:var(--brand-green-dark);padding:2px 6px;border-radius:4px}.review-links{display:flex;gap:14px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f0;font-size:13px}.review-links a{color:var(--brand-green);text-decoration:none;font-weight:600}.review-links a:hover{text-decoration:underline}.rating-star{color:#f5a623}.rating-count{color:var(--text-muted);font-weight:400}table.content-table{width:100%;border-collapse:collapse;margin-top:16px}table.content-table th,table.content-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #eee;vertical-align:top}table.content-table th{color:var(--brand-green-dark);font-size:13px;text-transform:uppercase;letter-spacing:.03em}table.content-table tr:nth-child(2n){background:#fafafa}
