/* Muvit · Muvit Telematics. Identidad del sitio v6; se carga después de css/main.css. */
/* ---------- Telemática ---------- */
.unit{position:relative}
.unit svg.truck{width:100%;height:auto;overflow:visible}
.truck .ln-a{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1800;stroke-dashoffset:1800;transition:stroke-dashoffset 2.2s var(--ease)}
.truck .acc{stroke:var(--o)}
.unit.in .truck .ln-a{stroke-dashoffset:0}
.truck .fill-soft{fill:rgba(255,255,255,.03)}
.light .truck .fill-soft,.white .truck .fill-soft{fill:rgba(254,89,0,.04)}
.hs{cursor:pointer;opacity:.35;transition:opacity .35s}
.hs .halo{fill:rgba(254,89,0,.22);transform-box:fill-box;transform-origin:center}
.hs .core{fill:#8d877f;stroke:#fff;stroke-width:2;transition:fill .3s}
.hs.on{opacity:1}
.hs.on .core{fill:var(--o)}
.hs.on .halo{animation:ping 1.8s infinite}
.hs:hover,.hs:focus{opacity:1}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(2);opacity:0}}
.hs text{font:600 13px var(--ui);fill:currentColor;opacity:0;transition:opacity .3s;paint-order:stroke;stroke:var(--ink);stroke-width:4px}
.light .hs text,.white .hs text{stroke:var(--paper)}
.hs.on text,.hs:hover text{opacity:1}
.cargo-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.cargo-pick button{padding:11px 18px;border-radius:99px;font-size:14px;font-weight:600;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;transition:.25s}
.cargo-pick button:hover{box-shadow:inset 0 0 0 1.5px var(--o-mid)}
.cargo-pick button.on{background:var(--ink);color:#fff;box-shadow:none}
.cargo-out{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:34px;align-items:center}
.cargo-card{background:#fff;border-radius:18px;padding:26px;border-top:3px solid var(--o);box-shadow:0 22px 40px -32px rgba(0,0,0,.45)}
.cargo-card h3{font-size:24px}
.cargo-card p{font-size:15.5px;color:#55504a;margin-top:8px;line-height:1.55}
.eq{display:grid;gap:8px;margin-top:16px}
.eq span{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:10px 12px;border-radius:10px;background:#FAF8F5;box-shadow:inset 0 0 0 1px var(--line);animation:rowIn .5s var(--ease) both;animation-delay:calc(var(--n)*60ms)}
.eq span b{font-weight:600}
.eq span em{color:var(--mute);font-size:13px;white-space:nowrap}
.solves{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.solves .c-card.not{border-top-color:var(--ink);background:var(--ink);color:#fff}
.dark .solves .c-card.not{background:var(--o);color:var(--ink);box-shadow:none}
.dark .solves .c-card.not p{color:#2a1a10}
.dark .solves .c-card.not h3{color:var(--ink)}
.dark .solves .c-card.not .card-number{color:var(--ink)}
.cat{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.cat-col{background:rgba(255,255,255,.04);border-radius:18px;padding:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.cat-col h4{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--o2);margin-bottom:14px}
.cat-col h4 svg{width:18px;height:18px}
.cat-col ul{list-style:none;display:grid;gap:12px}
.cat-col li{font-size:14px;line-height:1.45;color:#cfcac4}
.cat-col li b{display:block;color:#fff;font-weight:600;font-size:14.5px}
.lic-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.dark .unit{background:radial-gradient(400px 260px at 70% 40%,rgba(254,89,0,.12),transparent 70%),rgba(27,26,25,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:24px;padding:46px 30px 30px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 40px 80px -40px #000}
.dark .unit:before{content:'UNIDAD T-204 · DATOS DE DEMOSTRACIÓN';position:absolute;left:30px;top:18px;font-size:10px;letter-spacing:.14em;font-weight:700;color:#8f8982}
@media (max-width:900px){.dark .unit{padding:40px 12px 16px}.dark .unit:before{left:14px}}
/* Conexión con GPS */
.link-map{display:grid;grid-template-columns:1fr 90px 1fr 90px 1fr;align-items:center;margin-bottom:34px}
.lm-node{background:var(--paper);border-radius:18px;padding:20px;text-align:center;box-shadow:inset 0 0 0 1px var(--line)}
.lm-node i,.lm-node .mk{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--o-soft);color:var(--o);margin:0 auto 10px}
.lm-node i svg{width:22px;height:22px}
.lm-node b{display:block;font-size:16px;font-weight:600}
.lm-node small{display:block;font-size:13px;color:var(--mute);margin-top:2px}
.lm-node.hub{background:var(--ink);color:#fff;box-shadow:0 24px 50px -24px rgba(254,89,0,.7),0 0 0 2px var(--o)}
.lm-node.hub .mk{background:transparent;width:54px;height:54px}
.lm-node.hub small{color:#b9b3ab}
.lm-wire{height:3px;background:var(--line);position:relative;overflow:hidden;border-radius:3px}
.lm-wire i{position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--o),transparent);animation:packet 1.8s linear infinite}
.lm-wire.rev i{animation-direction:reverse}
@media (max-width:900px){
  .link-map{grid-template-columns:1fr;gap:0}
  .lm-wire{width:3px;height:34px;margin:0 auto}
  .lm-wire i{left:0;top:-40%;width:100%;height:40%;background:linear-gradient(180deg,transparent,var(--o),transparent);animation-name:packetV}
}
@keyframes packetV{to{top:100%}}
@media (max-width:1100px){
  .cat{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .solves,.cargo-out{grid-template-columns:1fr}
  .cat-col{padding:18px}
}
@media (max-width:640px){
  .hs text{display:none}
}
@media (max-width:560px){
  .cat{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .truck .ln-a{stroke-dashoffset:0}
}
