:root{--accent:#f59e0b;--accent-hover:#d97706;--accent-light:#f59e0b26;--card-bg:#ffffff08;--card-border:#ffffff14;--text-primary:#fff;--text-secondary:#a1a1aa}.city-page{background:linear-gradient(#0a0a0a 0%,#050505 100%);min-height:calc(100vh - 200px);padding:25px 0}.container{max-width:1280px;margin:0 auto;padding:0 32px}.city-hero{text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:24px;margin-bottom:30px;padding:25px 20px}.back-link{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:14px;font-size:.8rem;text-decoration:none;transition:all .3s;display:inline-flex}.back-link:hover{color:var(--accent);gap:10px}.city-hero h1{margin-bottom:8px;font-size:2rem;font-weight:700}.city-hero p{color:var(--text-secondary);font-size:.85rem}.city-controls{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.search-bar{flex:1;position:relative}.search-icon{color:var(--text-secondary);font-size:.85rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-bar input{background:var(--card-bg);border:1px solid var(--card-border);width:100%;color:var(--text-primary);border-radius:50px;padding:10px 36px;font-size:.85rem;transition:all .3s}.search-bar input:focus{border-color:var(--accent);outline:none}.clear-search{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.filter-toggle{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary);cursor:pointer;border-radius:50px;align-items:center;gap:6px;padding:10px 20px;font-size:.85rem;transition:all .3s;display:flex}.filter-toggle:hover{border-color:var(--accent);color:var(--accent)}.filters-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;padding:16px;display:flex}.filters-panel:not(.open){display:none}.filter-group{flex-direction:column;gap:5px;display:flex}.filter-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem}.filter-group select{border:1px solid var(--card-border);color:var(--text-primary);cursor:pointer;background:#0000004d;border-radius:10px;padding:8px 14px;font-size:.8rem}.reset-filters{border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:40px;padding:8px 20px;font-size:.75rem;transition:all .3s}.reset-filters:hover{border-color:var(--accent);color:var(--accent)}.restaurants-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.restaurant-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.restaurant-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 12px 25px #0000004d}.restaurant-card.gold-card{background:linear-gradient(135deg,#fbbf2414,#0003);border:1px solid #fbbf2466}.restaurant-card.gold-card:hover{border-color:#fbbf24;box-shadow:0 8px 20px #fbbf2433}.gold-badge{z-index:10;position:absolute;top:10px;right:10px}.card-image{height:160px;position:relative;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.restaurant-card:hover .card-image img{transform:scale(1.05)}.card-info{padding:14px}.card-info h3{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;font-size:.95rem;font-weight:700;overflow:hidden}.card-meta{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.rating{align-items:center;gap:3px;font-size:.75rem;display:flex}.price{color:var(--accent);background:var(--accent-light);border-radius:20px;padding:2px 8px;font-size:.65rem}.card-cuisine{color:var(--text-secondary);align-items:center;gap:5px;margin-bottom:6px;font-size:.65rem;display:flex}.card-location{color:var(--text-secondary);align-items:center;gap:5px;margin-bottom:10px;font-size:.65rem;display:flex}.card-link{color:var(--accent);align-items:center;gap:5px;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.card-link:hover{color:var(--accent-hover);gap:8px}.no-results{text-align:center;color:var(--text-secondary);padding:50px 20px}.no-results svg{color:var(--accent);opacity:.5;margin-bottom:16px;font-size:2.5rem}.no-results h3{color:var(--text-primary);margin-bottom:6px;font-size:1.1rem}.city-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.loading-spinner{border:3px solid var(--accent-light);border-top-color:var(--accent);border-radius:50%;width:45px;height:45px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.city-loading p{color:var(--text-secondary);font-size:.85rem}.city-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.city-error p{color:#e74c3c;font-size:.9rem}@media (max-width:1024px){.city-page{padding:20px 0}.container{padding:0 24px}.city-hero h1{font-size:1.8rem}.restaurants-grid{gap:18px}}@media (max-width:768px){.city-page{padding:16px 0}.container{padding:0 16px}.city-hero{border-radius:20px;margin-bottom:24px;padding:20px 16px}.city-hero h1{font-size:1.3rem}.city-hero p{font-size:.75rem}.back-link{margin-bottom:10px;font-size:.7rem}.city-controls{gap:10px}.search-bar input{padding:8px 32px;font-size:.8rem}.search-icon{font-size:.75rem;left:12px}.filter-toggle{padding:8px 16px;font-size:.8rem}.filters-panel{gap:10px;padding:12px}.filter-group select{padding:6px 12px;font-size:.75rem}.reset-filters{padding:6px 16px;font-size:.7rem}.restaurants-grid{grid-template-columns:1fr;gap:14px}.card-image{height:140px}.card-info{padding:12px}.card-info h3{font-size:.9rem}.card-meta .rating{font-size:.7rem}.price,.card-cuisine,.card-location{font-size:.6rem}.card-link{font-size:.7rem}}@media (max-width:480px){.city-page{padding:12px 0}.container{padding:0 12px}.city-hero{border-radius:16px;margin-bottom:20px;padding:16px 12px}.city-hero h1{font-size:1.1rem}.city-hero p{font-size:.7rem}.city-controls{flex-direction:column;gap:8px}.filter-toggle{justify-content:center}.card-image{height:120px}.card-info{padding:10px}.card-info h3{white-space:normal;font-size:.85rem}.gold-badge{top:6px;right:6px}.no-results{padding:40px 16px}.no-results svg{font-size:2rem}.no-results h3{font-size:1rem}}@media (prefers-reduced-motion:reduce){.restaurant-card,.restaurant-card:hover,.card-image img,.card-link,.loading-spinner{transition:none;animation:none;transform:none}}
