<?php
if (count(get_included_files()) === 1) { http_response_code(403); exit('Forbidden'); }
// Requiere: $negocios (array de DirectorioService::listar), $dirBase (ej. '/ni')
?>
<div class="grid" id="grid">
<?php foreach ($negocios as $i => $n):
    $slug      = $n['public_slug'];
    $initial   = mb_strtoupper(mb_substr($n['name'], 0, 1, 'UTF-8'));
    $estado    = $n['estado'] ?? 'desconocido';
    $hasBanner = !empty($n['banner_url']);
    $rubro     = $n['rubro'] ?? '';
    $meta      = $n['rubro_label'] . ($n['ciudad'] ? ' · ' . $n['ciudad'] : '');
    $desc      = (string)(($n['locale'] ?? 'es') === 'en'
        ? ($n['descripcion_dir_en'] ?: $n['descripcion_dir'] ?: '')
        : ($n['descripcion_dir'] ?? ''));
    if (!$desc && !empty($n['servicios_destacados'])) {
        $desc = implode(', ', $n['servicios_destacados']);
    }
    $delay = number_format($i * 0.06, 2) . 's';
    $bannerStyle = $hasBanner ? ' style="background-image:url(' . htmlspecialchars($n['banner_url']) . ')"' : '';
?>
  <a class="card" href="/n/<?= htmlspecialchars($slug) ?>"
     data-rubro="<?= htmlspecialchars($rubro) ?>"
     style="animation-delay:<?= $delay ?>">

    <div class="banner<?= $hasBanner ? '' : ' banner-fallback' ?>"<?= $bannerStyle ?>>
      <?php if ($estado === 'abierto'): ?>
        <span class="status open">Abierto</span>
      <?php elseif ($estado === 'cerrado'): ?>
        <span class="status closed">Cerrado</span>
      <?php endif; ?>
      <div class="avatar">
        <?php if (!empty($n['logo_url'])): ?>
          <img src="<?= htmlspecialchars($n['logo_url']) ?>" alt="<?= htmlspecialchars($n['name']) ?>">
        <?php else: ?>
          <?= htmlspecialchars($initial) ?>
        <?php endif; ?>
      </div>
    </div>

    <div class="body-wrap">
      <p class="name"><?= htmlspecialchars($n['name']) ?></p>
      <p class="meta"><?= htmlspecialchars($meta) ?></p>
      <?php if ($desc): ?>
        <div class="desc"><?= htmlspecialchars($desc) ?></div>
      <?php endif; ?>
      <span class="cta">Ver y reservar <span class="arr">→</span></span>
    </div>

  </a>
<?php endforeach; ?>
</div>
<p class="empty" id="empty" style="display:none">No hay negocios en este rubro todavía.</p>
