/* ============================================================================
   🧭 BAQUEANO — TODOS LOS PLATOS (todos-los-platos.html)
   🎯 POR QUÉ: catálogo completo de platos por territorio (pedido del propietario, 2026-10-07).
   ⚙️ CÓMO: grilla auto-fill por territorio; filtros arriba; imagen = foto del territorio rotulada.
   📦 QUÉ: .all-dishes-*.
   ============================================================================ */
.all-dishes-hero { padding: 48px 0 24px; background: linear-gradient(135deg, #0D1B2A 0%, #165D6F 100%); color: #FFFFFF; }
.all-dishes-hero h1 { margin: 0 0 8px; font: 900 clamp(1.8rem, 4vw, 2.6rem)/1.15 Montserrat, sans-serif; }
.all-dishes-hero p { margin: 0; max-width: 720px; color: #E2E8F0; }
.all-dishes-back { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-bottom: 8px; color: #F4E6C1; font-weight: 800; text-decoration: none; }
.all-dishes-tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 24px 0 8px; }
.all-dishes-tools label { display: flex; flex-direction: column; gap: 6px; flex: 1 1 240px; font-weight: 800; font-size: 0.85rem; color: #0F172A; }
.all-dishes-tools input, .all-dishes-tools select { min-height: 44px; padding: 0 12px; border: 1px solid #CBD5E1; border-radius: 12px; font: inherit; font-weight: 500; background: #FFFFFF; }
.all-dishes-count { margin: 4px 0 20px; color: #475569; font-weight: 700; }
.all-dishes-source { margin: 0 0 24px; font-size: 0.82rem; color: #475569; }
.all-dishes-group { margin-bottom: 36px; }
.all-dishes-group-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-bottom: 12px; border-bottom: 2px solid #E2E8F0; padding-bottom: 8px; }
.all-dishes-group-head h2 { margin: 0; font: 900 1.35rem/1.2 Montserrat, sans-serif; color: #0F172A; }
.all-dishes-group-n { color: #475569; font-weight: 700; font-size: 0.85rem; }
.all-dishes-group-link { margin-left: auto; color: #0E5566; font-weight: 800; font-size: 0.85rem; }
.all-dishes-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 16px; }
.all-dishes-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 16px; background: #FFFFFF; border: 1px solid #E2E8F0; box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06); }
.all-dishes-media { position: relative; aspect-ratio: 5 / 3; background: #E2E8F0; }
.all-dishes-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.all-dishes-photo-note { position: absolute; right: 8px; bottom: 8px; padding: 3px 8px; border-radius: 999px; background: rgba(15, 23, 42, 0.78); color: #FFFFFF; font-size: 0.7rem; font-weight: 700; }
.all-dishes-body { padding: 14px 16px 16px; }
.all-dishes-body h3 { margin: 0 0 6px; font: 800 1rem/1.3 Montserrat, sans-serif; color: #0F172A; }
.all-dishes-body p { margin: 0; font-size: 0.88rem; line-height: 1.55; color: #334155; }
.all-dishes-empty { padding: 24px; text-align: center; color: #475569; }
