/* Reset minimal + smoothing */
*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; margin: 0; }

/* Prose tweaks (utilisé sur les sections de texte LLM) */
.prose p { margin-bottom: 1em; }
.prose h2 { margin-top: 1.5em; margin-bottom: 0.5em; }

/* Tables d'entreprises */
.businesses-table { width: 100%; border-collapse: collapse; background: white; border-radius: 0.5rem; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.businesses-table th { background: #f1f5f9; padding: 0.75rem 1rem; text-align: left; font-weight: 600; font-size: 0.875rem; color: #475569; border-bottom: 1px solid #e2e8f0; }
.businesses-table td { padding: 0.75rem 1rem; border-bottom: 1px solid #e2e8f0; font-size: 0.9rem; }
.businesses-table tr:last-child td { border-bottom: none; }
.businesses-table tr:hover { background: #f8fafc; }
.businesses-table .rating { color: #f59e0b; font-weight: 600; }
.businesses-table a { color: #2563eb; text-decoration: none; }
.businesses-table a:hover { text-decoration: underline; }

/* Listes de villes / départements / régions (grille de cartes) */
.location-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.location-card { background: white; border: 1px solid #e2e8f0; border-radius: 0.5rem; padding: 1rem; transition: transform 0.15s, box-shadow 0.15s; }
.location-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.location-card a { color: #0f172a; text-decoration: none; font-weight: 600; display: block; }
.location-card a:hover { color: #2563eb; }
.location-card .count { color: #64748b; font-size: 0.85rem; margin-top: 0.25rem; }

/* Navigation interne (villes proches, etc.) */
.nav-block { background: white; border-radius: 0.5rem; padding: 1.5rem; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
.nav-block h3 { margin-top: 0; margin-bottom: 1rem; font-size: 1.1rem; font-weight: 600; color: #0f172a; }
.nav-block ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.5rem; }
.nav-block li a { color: #2563eb; text-decoration: none; font-size: 0.9rem; }
.nav-block li a:hover { text-decoration: underline; }
