/* faufena · Mapa de huellas y selector «Huella geográfica» con mapita (huella.js). */
.hu-map{display:block;width:100%;height:auto;overflow:visible}
.hu-r{fill:rgba(116,174,186,var(--a));stroke:var(--surface);stroke-width:1.6;stroke-linejoin:round;cursor:pointer;transition:fill .15s}
.hu-r.hu-0{fill:var(--line)}
.hu-r:hover,.hu-r.hv{fill:rgba(116,174,186,.95)}
.hu-r.on{fill:var(--turquesa);stroke:var(--fg);stroke-width:2.4}
.hu-prov{fill:none;stroke:var(--surface);stroke-width:.7;stroke-opacity:.7;pointer-events:none}
.hu-b{cursor:pointer;outline:none}
.hu-b circle{fill:var(--petroleo);stroke:var(--surface);stroke-width:2.5;transition:fill .15s}
.hu-b text{pointer-events:none}
.hu-bn{fill:#fff;font:600 17px var(--f-display);text-anchor:middle}
.hu-b.hu-0 circle{fill:var(--muted)}
.hu-b:hover circle,.hu-b.hv circle,.hu-b:focus-visible circle{fill:var(--pizarra)}
.hu-b.on circle{fill:var(--turquesa);stroke:var(--fg)}
.hu-b.on .hu-bn{fill:var(--noche)}
.hu-b .hu-bl{fill:var(--fg);font:600 18px var(--f-display);text-anchor:start;paint-order:stroke;stroke:var(--bg);stroke-width:5px;stroke-linejoin:round}
.hu-b .hu-bl-l{text-anchor:end}
.hu-b :is(.hu-bl-a,.hu-bl-b){text-anchor:middle}
.hu-b .hu-bl{pointer-events:auto}
.hu-b.on .hu-bl{fill:var(--fg)}
html[data-theme="dark"] .hu-b circle{fill:#2E5568}
html[data-theme="dark"] .hu-b:hover circle,html[data-theme="dark"] .hu-b.hv circle{fill:#3D6C80}
html[data-theme="dark"] .hu-b.on circle{fill:var(--turquesa)}

/* Selector */
.hu-pk{position:relative;display:inline-block}
.hu-pk-b{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--fg);font-size:13.5px;cursor:pointer;white-space:nowrap;max-width:100%}
.hu-pk-b:hover{border-color:var(--pizarra)}
.hu-pk-b svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hu-pk-k{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.hu-pk-v{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.hu-pk.act .hu-pk-b{background:var(--chip);border-color:var(--turquesa)}
.hu-pk.open .hu-pk-c{transform:rotate(180deg)}
.hu-pk-pop{position:fixed;z-index:60;top:80px;left:12px;width:330px;overflow:auto;background:var(--surface);color:var(--fg);border:1px solid var(--line-2);border-radius:14px;padding:14px 16px 16px;box-shadow:0 24px 60px -20px rgba(10,27,43,.45);text-align:left;white-space:normal}
.hu-pk-pop .hu-map{max-height:min(48vh,420px);width:auto;margin:6px auto 0}
.hu-pk-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.hu-pk-h b{font-family:var(--f-display);font-size:16px}
.hu-pk-x{border:0;background:none;color:var(--muted);font-size:16px;padding:4px 6px;line-height:1}
.hu-pk-t{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.45}
.hu-pk-n{text-align:center;font-size:13.5px;min-height:1.5em;margin-top:6px;color:var(--fg-2)}
.hu-pk-f{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:13px}
.hu-pk-f .btn{padding:7px 14px;font-size:13px}
.hu-pk-f .btn[aria-pressed="true"]{border-color:var(--turquesa);background:var(--chip)}
.cq-bar + .cq-n + .hu-pk,.cq-hu{margin-top:12px}
.hu-off{display:none!important}
#hu-n{margin-top:10px;font-size:14px;color:var(--fg-2)}
.ph #hu-n{color:inherit}
.hu-clr{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.res-h .hu-pk-b{height:34px}
.adv .hu-pk{display:block}

/* Página /huella */
.hu-pg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:start;padding-top:28px;padding-bottom:56px}
.hu-pg-m{position:sticky;top:84px;max-width:560px;margin:0 auto;width:100%}
.hu-pg-m .hu-map{max-height:min(calc(100vh - 130px),800px);width:auto;margin:0 auto;padding:0 40px}
.hu-leg{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;font-size:12.5px;color:var(--muted);margin-top:12px}
.hu-leg span{display:inline-flex;align-items:center;gap:4px}
.hu-sw{display:inline-block;width:14px;height:12px;border-radius:3px;background:rgba(116,174,186,var(--a))}
.hu-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--petroleo);margin-right:2px}
html[data-theme="dark"] .hu-dot{background:#2E5568}
.hu-note{font-size:12.5px;color:var(--muted);text-align:center;margin:8px auto 0;max-width:52ch;line-height:1.5}
.hu-side h2{font-size:24px;margin-bottom:6px}
.hu-side h3{font-size:16px;margin:24px 0 10px}
.hu-side-h{margin-bottom:10px;font-size:14px}
.hu-side-h .link{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.hu-det{color:var(--fg-2);font-size:14.5px;line-height:1.55}
.hu-rank{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.hu-rank button{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 48px;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14px;color:var(--fg)}
.hu-rank button:hover{border-color:var(--turquesa)}
.hu-rank i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--turquesa) var(--w),var(--line) var(--w))}
.hu-rank b{text-align:right;font-family:var(--f-display)}
.hu-faq{margin-top:18px;font-size:14px;color:var(--fg-2)}
.hu-faq summary{cursor:pointer;font-weight:600;color:var(--fg)}
.hu-faq p{margin-top:8px;line-height:1.55}
.hu-kpi{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.hu-kpi div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.hu-kpi b{display:block;font:600 26px/1.1 var(--f-display)}
.hu-kpi span{font-size:13px;color:var(--muted)}
.hu-cats{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.hu-cats a{display:flex;justify-content:space-between;gap:12px;align-items:center;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:13.5px}
.hu-cats a:hover{border-color:var(--turquesa)}
.hu-cats b{font-family:var(--f-display);flex:none}
.hu-cos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.hu-cos a{display:flex;justify-content:space-between;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 12px;font-size:13.5px}
.hu-cos a:hover{border-color:var(--turquesa)}
.hu-cos span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hu-cos .hu-i{flex:none;font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px;background:var(--chip);color:var(--chip-fg)}
.hu-cos .hu-i.hu-2{background:transparent;border:1px solid var(--line-2);color:var(--muted)}
.hu-all{margin-top:16px}

@media (max-width:900px){
  .hu-pg{grid-template-columns:1fr;gap:24px}
  .hu-pg-m{position:static;max-width:420px}
  .hu-pg-m .hu-map{max-height:70vh;padding:0 10px}
}
@media (max-width:640px){
  /* En el celular el mapita se abre como hoja desde abajo */
  .hu-pk-pop{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:88vh;overflow:auto;border-radius:16px 16px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px))}
  .hu-pk-pop .hu-map{max-height:52vh}
  .hu-pk-k{display:none}
  .hu-rank button{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 40px;padding:10px 12px}
}
.ph #hu-n .hu-clr{color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:600}

/* Ficha: mapita de huella y barras por industria, a la derecha del encabezado */
/* La tarjeta flota a la derecha (absoluta) para no estirar las filas del encabezado */
.fh .wrap.fh-g{padding-right:380px;min-height:470px;align-content:start}
.fh .wrap.fh-g>.fh-hu{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:320px}
.fh-hu{background:rgba(255,255,255,.04);border:1px solid var(--dark-line);border-radius:16px;padding:16px 18px;color:var(--on-dark);display:grid;gap:14px}
.fh-hu-top{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start}
.fh-hu-map{width:96px;height:auto;display:block}
.fhr{stroke:var(--noche);stroke-width:2;stroke-linejoin:round;transition:fill .15s}
.fhr-0{fill:rgba(255,255,255,.1)}
.fhr-1{fill:rgba(116,174,186,.38)}
.fhr-2{fill:rgba(116,174,186,.68)}
.fhr-3{fill:var(--turquesa)}
.fh-hu-map a:hover .fhr{fill:#A9D3DB}
.fh-hu-map .hu-prov{stroke:var(--noche);stroke-opacity:.6}
.fh-hu-k{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2);margin-bottom:8px}
.fh-hu-l{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13.5px}
.fh-hu-l li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:7px;align-items:center}
.fh-hu-l small{color:var(--on-dark-2);font-size:12px}
.fh-hu-l .fh-hu-mas{display:block;color:var(--on-dark-2);font-size:12px}
.fh-dot{width:10px;height:10px;border-radius:3px;display:inline-block}
i.fhr-3{background:var(--turquesa)} i.fhr-2{background:rgba(116,174,186,.68)} i.fhr-1{background:rgba(116,174,186,.38)}
.fh-hu-n{font-size:12.5px;color:var(--on-dark-2);margin-top:8px;line-height:1.45}
.fh-hu-a{display:inline-block;margin-top:10px;font-size:12.5px;color:var(--turquesa);text-decoration:none;font-weight:600}
.fh-hu-a:hover{text-decoration:underline}
.fh-ind{border-top:1px solid var(--dark-line);padding-top:12px}
.fh-ind ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fh-ind li{display:grid;grid-template-columns:minmax(0,1fr) 76px 46px;gap:10px;align-items:center;font-size:13px}
.fh-ind small{color:var(--on-dark-2);font-size:12px;text-align:right}
.fh-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.fh-bar b{height:8px;border-radius:2px;background:rgba(255,255,255,.1)}
.fh-bar b.on{background:var(--turquesa)}
.fh-bar[data-v="-1"] b:first-child{background:rgba(116,174,186,.45)}
@media (max-width:1000px){
  .fh .wrap.fh-g{padding-right:20px;min-height:0}
  .fh .wrap.fh-g>.fh-hu{position:static;transform:none;width:auto;max-width:460px}
}
