:root{
  --hz-verde:#0c6600;      /* verde oscuro institucional */
  --hz-claro:#72bf44;      /* verde claro institucional */
  --hz-negro:#000000;
  --hz-verde-050:#f3f8ef;
  --hz-verde-100:#e6f1dd;
  --hz-gris:#f2f4f0;
  --hz-borde:#e2e6dd;
  --hz-texto:#1c1c1c;
  --hz-muted:#6b7280;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Myriad Pro","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--hz-texto);
  background:var(--hz-gris);
  -webkit-font-smoothing:antialiased;
}
a{color:var(--hz-verde);text-decoration:none}
a:hover{color:var(--hz-claro)}

/* ---- Barra superior pública ---- */
.hz-topbar{background:#fff;border-bottom:3px solid var(--hz-claro);box-shadow:0 1px 4px rgba(0,0,0,.04)}
.hz-topbar .logo{height:40px;width:auto;display:block}
.hz-topbar .tagline{color:var(--hz-muted);font-size:.9rem}

/* ---- Encabezado / hero ---- */
.hz-hero{background:linear-gradient(180deg,#fff 0%,var(--hz-verde-050) 100%);padding:1.5rem 0 .5rem}
.hz-hero h1{font-weight:700;color:var(--hz-verde);font-size:clamp(1.4rem,3.5vw,2.1rem);margin:0}
.hz-hero p{color:var(--hz-muted);margin:.35rem 0 0}

/* ---- Mapa ---- */
#mapa{width:100%;height:560px;max-height:70vh}
.mapa-card{background:#fff;border:1px solid var(--hz-borde);border-radius:14px;overflow:hidden;padding:1.25rem}
.mapa-card #mapa{border-radius:8px}
.mapa-hint{color:var(--hz-muted);font-size:.85rem;padding:.6rem 1rem 0;text-align:center}
@media(max-width:768px){#mapa{height:60vh;min-height:360px}}

/* ---- Panel de resultados ---- */
.prov-title{color:var(--hz-verde);font-weight:700}
.cat-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.cat-chip{
  border:1px solid var(--hz-borde);background:#fff;color:var(--hz-texto);
  border-radius:999px;padding:.4rem .85rem;font-size:.86rem;font-weight:600;
  cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:.15s;
}
.cat-chip:hover{border-color:var(--hz-claro)}
.cat-chip .n{background:var(--hz-verde-100);color:var(--hz-verde);border-radius:999px;padding:.05rem .5rem;font-size:.75rem}
.cat-chip.active{background:var(--hz-verde);border-color:var(--hz-verde);color:#fff}
.cat-chip.active .n{background:rgba(255,255,255,.25);color:#fff}
.cat-chip:disabled,.cat-chip.disabled{opacity:.4;cursor:not-allowed}

.prov-card{background:#fff;border:1px solid var(--hz-borde);border-radius:14px}
.result-row{border-bottom:1px solid var(--hz-borde);padding:.85rem 0}
.result-row:last-child{border-bottom:0}
.result-name{font-weight:700;color:var(--hz-texto);margin:0}
.result-meta{color:var(--hz-muted);font-size:.88rem;margin:.15rem 0 0;display:flex;flex-wrap:wrap;gap:.25rem .9rem}
.result-meta .bi{color:var(--hz-claro)}
.badge-tipo{background:var(--hz-verde-100);color:var(--hz-verde);font-weight:600}

.empty-state{color:var(--hz-muted);text-align:center;padding:3rem 1rem}
.empty-state .bi{font-size:2.5rem;color:var(--hz-borde)}

/* ---- Botones marca ---- */
.btn-hz{background:var(--hz-claro);border-color:var(--hz-claro);color:#fff;font-weight:600}
.btn-hz:hover{background:var(--hz-verde);border-color:var(--hz-verde);color:#fff}
.btn-outline-hz{border-color:var(--hz-verde);color:var(--hz-verde);font-weight:600}
.btn-outline-hz:hover{background:var(--hz-verde);color:#fff}

.form-control:focus,.form-select:focus{border-color:var(--hz-claro);box-shadow:0 0 0 .2rem rgba(114,191,68,.2)}

.hz-footer{background:#76b82a;border-top:1px solid var(--hz-borde);color:#fff;font-size:.85rem}
.hz-footer a{color:#fff}

.spinner-hz{color:var(--hz-claro)}

/* ---- Paginación ---- */
.pagination .page-link{color:var(--hz-verde)}
.pagination .page-link:hover{color:var(--hz-verde);background:var(--hz-verde-100)}
.pagination .page-item.active .page-link{background:var(--hz-verde);border-color:var(--hz-verde);color:#fff}
.pagination .page-item.disabled .page-link{color:var(--hz-muted)}
.pagination .page-link:focus{box-shadow:0 0 0 .2rem rgba(114,191,68,.2)}
