/* Páginas Seguridad CCTV y Energía solar – JG TECHNET */
.button-wa{background:#18a957;color:#fff;box-shadow:0 10px 24px rgba(24,169,87,.25)}
.button-wa:hover{background:#13924a}
.button-wa::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm5.3 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .2-3.3-.7-2.8-1.1-4.5-3.9-4.7-4.1-.1-.2-1.1-1.5-1.1-2.8 0-1.3.7-2 1-2.3.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.3 0 .5l-.4.6c-.2.2-.3.4-.1.7.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.3.4-.2.7-.1l1.9.9c.3.1.5.2.5.3.1.2.1.7-.1 1.3z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm5.3 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .2-3.3-.7-2.8-1.1-4.5-3.9-4.7-4.1-.1-.2-1.1-1.5-1.1-2.8 0-1.3.7-2 1-2.3.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.3 0 .5l-.4.6c-.2.2-.3.4-.1.7.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.3.4-.2.7-.1l1.9.9c.3.1.5.2.5.3.1.2.1.7-.1 1.3z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- Portada de la página ---------- */
.sol-hero{position:relative;overflow:hidden;color:#fff;padding:78px 0 70px;background:radial-gradient(ellipse at 78% 40%,#123a63 0%,#07182d 62%)}
.sol-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent,#000 60%)}
.sol-hero-solar{background:radial-gradient(ellipse at 80% 30%,#5a3d0a 0%,#1a2236 45%,#07182d 75%)}
.sol-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.sol-h1{font-size:clamp(34px,5vw,58px);line-height:1.04;letter-spacing:-2px;margin:16px 0 18px;color:#fff}
.sol-h1 em{font-style:normal;color:var(--card-acc,#61d9f1)}
.sol-hero-solar .sol-h1 em{color:#ffd23f}
.sol-lead{font-size:16px;line-height:1.7;color:#b8cadd;max-width:560px;margin:0 0 26px}
.sol-botones{display:flex;gap:12px;flex-wrap:wrap}
.sol-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.sol-stats div{display:flex;flex-direction:column}
.sol-stats strong{font-size:26px;letter-spacing:-.5px}
.sol-stats span{font-size:12px;color:#9fb3c7}
.sol-hero-art{display:grid;place-items:center}

/* Cámara animada + celular */
.cam-escena{position:relative;width:100%;max-width:470px}
.cam-svg{width:100%;height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
.cam-barrido{transform-origin:118px 92px;animation:barrido 6s ease-in-out infinite}
.cam-cuerpo{transform-origin:62px 89px;animation:giro 6s ease-in-out infinite}
@keyframes barrido{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}
@keyframes giro{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
.cam-rec{animation:parpadeo 1.2s steps(2) infinite}
@keyframes parpadeo{50%{opacity:.15}}
.cam-movil{position:absolute;right:-6px;bottom:-30px;width:190px;padding:10px;border-radius:22px;background:#0b1626;border:2px solid #2a4566;box-shadow:0 24px 50px rgba(0,0,0,.45)}
.cam-movil-top{display:flex;justify-content:space-between;font-size:10px;font-weight:700;color:#ff6b6b;margin:2px 4px 8px}
.cam-movil-top span:last-child{color:#9fb3c7;font-variant-numeric:tabular-nums}
.cam-feeds{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.cam-feeds div{position:relative;aspect-ratio:4/3;border-radius:7px;overflow:hidden;background:#1c2f45}
.cam-feeds i{position:absolute;inset:0;background:linear-gradient(115deg,#24425f,#3d6b8f 40%,#1c3550 70%);background-size:300% 300%;animation:feed 7s ease-in-out infinite}
.cam-feeds div:nth-child(2) i{animation-delay:-2s;background-image:linear-gradient(115deg,#2c4a2e,#4f7d4a 45%,#22382a)}
.cam-feeds div:nth-child(3) i{animation-delay:-4s;background-image:linear-gradient(115deg,#3a3f4c,#5d6577 45%,#2a2f3a)}
.cam-feeds div:nth-child(4) i{animation-delay:-5s;background-image:linear-gradient(115deg,#4a3a2a,#7a6248 45%,#33281e)}
@keyframes feed{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.cam-feeds span{position:absolute;left:4px;bottom:3px;font-size:7.5px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}

/* Sol animado */
.sun-svg{width:100%;max-width:500px;height:auto}
.sun-rayos{transform-origin:70px 60px;animation:rayos 18s linear infinite}
@keyframes rayos{to{transform:rotate(360deg)}}
.sun-disco{animation:late 3s ease-in-out infinite;transform-origin:70px 60px}
@keyframes late{50%{transform:scale(1.06)}}
.sun-flujo{animation:flujo 1.2s linear infinite}
@keyframes flujo{to{stroke-dashoffset:-28}}
.ventana{animation:luz 4s ease-in-out infinite}.ventana.v2{animation-delay:-2s}
@keyframes luz{50%{fill:#fff3c4}}
.paneles rect{animation:brillo 3.5s ease-in-out infinite}
.paneles rect:nth-child(odd){animation-delay:-1.5s}
@keyframes brillo{50%{fill:#5b9cf0}}

/* ---------- Beneficios ---------- */
.sol-benef-sec{padding:70px 0}
.sol-benef{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sol-b{padding:26px;border-radius:16px;background:var(--card-bg,linear-gradient(150deg,#0b2948,#07172b));color:#fff;border:1px solid rgba(255,255,255,.07);transition:transform .25s,box-shadow .25s}
.sol-b:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(6,25,47,.2)}
.sol-b-ico{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:rgba(97,217,241,.12);font-size:24px}
.sol-b h3{font-size:18px;margin:18px 0 8px}
.sol-b p{font-size:13px;line-height:1.65;color:#b8cadd;margin:0}

/* ---------- Simuladores ---------- */
.sim-sec{background:#f4f7fa}
.sim-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:22px;align-items:start}
.sim-form{display:flex;flex-direction:column;gap:14px}
.sim-paso{background:#fff;border:1px solid #e0e8ef;border-radius:16px;padding:22px}
.sim-paso h3{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 14px}
.sim-paso h3>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1784e7;color:#fff;font-size:13px;flex:none}
.sim-paso h3 output{margin-left:auto;font-size:15px;color:#1784e7}
.sim-sub{font-size:15px!important;margin-top:18px!important}
.sim-ayuda{font-size:12px;color:#627286;margin:8px 0 12px}
.sim-op{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sim-op-5{grid-template-columns:repeat(5,1fr)}
.sim-op button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:2px solid #e0e8ef;border-radius:12px;background:#fff;font:inherit;font-size:13px;font-weight:650;color:#10243b;cursor:pointer;text-align:center;transition:border-color .15s,background .15s,transform .15s}
.sim-op button b{font-size:15px}
.sim-op-5 button b{font-size:24px}
.sim-op button small{font-weight:500;font-size:11.5px;color:#627286;line-height:1.4}
.sim-op button:hover{border-color:#9cc8f3;transform:translateY(-1px)}
.sim-op button.activo{border-color:#1784e7;background:#eef6ff;box-shadow:0 0 0 1px #1784e7}
.sim-check{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:600}
.sim-check small{color:#627286;font-weight:400}
.sim-zonas,.equipos{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.zona{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #e0e8ef;border-radius:12px;background:#fbfcfd;transition:background .15s,border-color .15s}
.zona.con{background:#eef6ff;border-color:#9cc8f3}
.zona-ico{font-size:18px}
.zona-n{flex:1;font-size:13px;font-weight:600;line-height:1.3}
.zona-n small{display:block;font-weight:400;color:#627286;font-size:11px}
.cont{display:flex;align-items:center;gap:4px}
.cont button{width:30px;height:30px;border-radius:9px;border:1px solid #c9d7e4;background:#fff;font-size:17px;font-weight:700;color:#1784e7;cursor:pointer;line-height:1}
.cont button:hover{background:#1784e7;color:#fff;border-color:#1784e7}
.cont output{min-width:22px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.sim-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:4px;background:#eef3f8;border-radius:12px;margin-bottom:16px}
.sim-tabs button{flex:1 1 140px;border:0;border-radius:9px;padding:10px;font:inherit;font-size:13px;font-weight:700;color:#344a61;background:transparent;cursor:pointer}
.sim-tabs button.activo{background:#fff;color:#1784e7;box-shadow:0 2px 8px rgba(6,25,47,.1)}
.sim-num{display:flex;align-items:center;gap:8px;border:2px solid #e0e8ef;border-radius:14px;padding:6px 16px;background:#fff}
.sim-num:focus-within{border-color:#1784e7}
.sim-num span{font-size:20px;font-weight:700;color:#627286}
.sim-num input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:30px;font-weight:800;color:#10243b;padding:6px 0;background:transparent}
.sim-num-sm input{font-size:18px}.sim-num-sm span{font-size:13px}
.sim-link{border:0;background:none;color:#1784e7;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;padding:0}
input[type=range]{width:100%;accent-color:#1784e7;margin:14px 0 4px;height:6px}
.equipos-total{margin:12px 0 0;font-size:14px}

/* Estratos */
.sim-ayuda-top{margin-top:0}
.sim-estratos{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.sim-estratos button{flex:1 1 52px;padding:9px 6px;border:2px solid #e0e8ef;border-radius:10px;background:#fff;font:inherit;font-weight:800;font-size:14px;color:#10243b;cursor:pointer}
.sim-estratos button.activo{border-color:#1784e7;background:#eef6ff;color:#1784e7}

/* Resultado (columna derecha, pegada al bajar) */
.sim-res{position:sticky;top:96px;background:linear-gradient(160deg,#0b2948,#07172b);color:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 50px rgba(6,25,47,.22)}
.sim-res-tit{font-size:11px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase;color:#61d9f1;margin:0 0 12px}
.sim-camaras{display:flex;flex-wrap:wrap;gap:4px;min-height:30px;font-size:20px;margin-bottom:14px}
.sim-camaras span{animation:entra .35s ease-out both}
.sim-camaras em{font-size:13px;color:#9fb3c7}
@keyframes entra{from{opacity:0;transform:translateY(6px) scale(.8)}}
.sim-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.sim-kpis-4{grid-template-columns:repeat(2,1fr)}
.sim-kpis div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;text-align:center}
.sim-kpis strong{display:block;font-size:24px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.sim-kpis span{font-size:11px;color:#9fb3c7}
.sim-lista{list-style:none;margin:0 0 16px;padding:0;font-size:13px;line-height:1.5;color:#d4e2f0}
.sim-lista li{position:relative;padding:6px 0 6px 24px;border-top:1px solid rgba(255,255,255,.07)}
.sim-lista li::before{content:"✓";position:absolute;left:2px;color:#3fdc8a;font-weight:800}
.sim-precio{background:rgba(97,217,241,.1);border:1px solid rgba(97,217,241,.25);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.sim-precio span{font-size:12px;color:#9fdcf3;font-weight:700}
.sim-precio strong{display:block;font-size:26px;margin:4px 0;letter-spacing:-.5px}
.sim-precio small{display:block;font-size:11px;color:#9fb3c7;line-height:1.5}
.sim-cta{width:100%;font-size:14px;padding:15px}

/* Solar: factura antes/después, retorno y gráficas */
.sol-ahorro{margin-bottom:14px}
.sol-factura{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:12px;color:#9fb3c7;margin-bottom:10px}
.sol-factura b{color:#fff;font-size:15px}
.sol-factura i{grid-column:1/-1;height:10px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.sol-factura em{display:block;height:100%;border-radius:6px;background:#ff6b6b;transition:width .6s ease}
.sol-factura.des em{background:#3fdc8a}
.sol-ahorro-mes{margin:6px 0 0;font-size:15px}
.sol-ahorro-mes strong{color:#3fdc8a;font-size:22px}
.sol-retorno{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.sol-retorno div{text-align:center;padding:10px 6px;border-radius:12px;background:rgba(255,210,63,.08);border:1px solid rgba(255,210,63,.2)}
.sol-retorno strong{display:block;font-size:17px;color:#ffd23f}
.sol-retorno span{font-size:10.5px;color:#9fb3c7}
.sol-grafica{margin-bottom:14px}
#sol-flujo{width:100%;height:auto}
.flujo-cero{stroke:rgba(255,255,255,.35);stroke-width:1}
.flujo-pos{fill:#3fdc8a}.flujo-neg{fill:#ff6b6b}
.flujo-pos,.flujo-neg{animation:barra .5s ease-out both;transform-box:fill-box;transform-origin:bottom}
@keyframes barra{from{transform:scaleY(0)}}
.flujo-et{fill:#9fb3c7;font-size:8px}
.flujo-pb{stroke:#ffd23f;stroke-dasharray:3 3}
.flujo-pbt{fill:#ffd23f;font-size:9px;font-weight:700}
.sim-techo{background:#fff;border:1px solid #e0e8ef;border-radius:16px;padding:18px 22px}
.sim-techo .sim-res-tit{color:#1784e7}
#sol-techo{width:100%;height:auto}
.techo-teja{fill:#b7472a;opacity:.9}
.techo-panel{fill:#1d4f8f;stroke:#8fc0f7;stroke-width:1;animation:panel .4s ease-out both}
@keyframes panel{from{opacity:0;transform:translateY(-8px)}}
.techo-mas{fill:#fff;font-size:12px;font-weight:700}

/* ---------- Simulador de visión (DORI) ---------- */
.dori-sec{background:linear-gradient(130deg,#07182d,#0c2a49);color:#fff}
.dori-sec .section-heading h2{color:#fff}
.dori-sec .section-heading p{color:#aebfd0}
.dori-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:start}
.dori-ctrl{display:flex;flex-direction:column;gap:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:22px}
.dori-ctrl>label{display:block;font-size:13px;font-weight:700;color:#d4e2f0}
.dori-ctrl output{float:right;color:#61d9f1}
.sim-op-dark{margin-top:10px}
.sim-op-dark button{background:transparent;border-color:rgba(255,255,255,.18);color:#fff;padding:10px}
.sim-op-dark button.activo{background:rgba(97,217,241,.15);border-color:#61d9f1;box-shadow:0 0 0 1px #61d9f1}
.dori-cara{display:flex;gap:16px;align-items:center}
.dori-cara canvas{width:120px;height:120px;border-radius:14px;border:2px solid rgba(255,255,255,.2);image-rendering:pixelated;flex:none}
.dori-nivel{font-size:22px;font-weight:800;margin:0 0 6px}
.dori-px{font-size:12px;color:#aebfd0;margin:0;line-height:1.5}
.dori-vista{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px}
#dori-svg{width:100%;height:auto;display:block}
.dori-reja{stroke:rgba(255,255,255,.07)}
.dori-m{fill:#6f88a3;font-size:10px}
.dori-banda{transition:d .3s}
.dori-banda.d1,.dori-leyenda .d1::before{fill:#3fdc8a;background:#3fdc8a}
.dori-banda.d2,.dori-leyenda .d2::before{fill:#61d9f1;background:#61d9f1}
.dori-banda.d3,.dori-leyenda .d3::before{fill:#ffd23f;background:#ffd23f}
.dori-banda.d4,.dori-leyenda .d4::before{fill:#ff8a5c;background:#ff8a5c}
.dori-banda{fill-opacity:.55}
.dori-banda.d4{fill-opacity:.28}.dori-banda.d3{fill-opacity:.38}
.dori-et{fill:#fff;font-size:11px;font-weight:700;paint-order:stroke;stroke:#07182d;stroke-width:3px}
.dori-cam rect{fill:#e8f0f8}.dori-cam circle{fill:#1784e7}
.dori-persona{fill:#fff;transition:transform .2s}
.dori-nivel.d1{color:#3fdc8a}.dori-nivel.d2{color:#61d9f1}.dori-nivel.d3{color:#ffd23f}.dori-nivel.d4{color:#ff8a5c}.dori-nivel.d0{color:#9fb3c7}
.dori-leyenda{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:10px;font-size:12px;color:#d4e2f0}
.dori-leyenda span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* ---------- Ley 1715 ---------- */
.ley-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.ley-grid h2{margin:12px 0}
.ley-nota{font-size:13px;color:#627286;line-height:1.6}
.ley-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ley-lista li{position:relative;padding:16px 18px 16px 52px;border-radius:14px;background:#fff8e1;border:1px solid #f5e1a4;font-size:14px;line-height:1.5}
.ley-lista li::before{content:"✓";position:absolute;left:16px;top:14px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#f0b400;color:#fff;font-weight:800;font-size:13px}

/* ---------- Proyectos (galería) ---------- */
.proy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.proy-card{position:relative;display:block;padding:0;border:0;border-radius:16px;overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:#0b2948;text-align:left;font:inherit}
.proy-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.proy-card:hover img{transform:scale(1.06)}
.proy-n{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:20px;background:rgba(7,24,45,.75);color:#fff;font-size:11px;font-weight:700}
.proy-info{position:absolute;inset:auto 0 0 0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(7,24,45,.92));color:#fff;display:flex;flex-direction:column}
.proy-info strong{font-size:16px}
.proy-info small{font-size:12px;color:#c9d9e8}
.visor{position:fixed;inset:0;z-index:200;background:rgba(3,10,20,.94);display:flex;align-items:center;justify-content:center;padding:20px}
.visor[hidden]{display:none}
.visor figure{margin:0;max-width:min(1100px,90vw);text-align:center}
.visor img{max-width:100%;max-height:80vh;border-radius:10px;display:block;margin:auto}
.visor figcaption{color:#d4e2f0;font-size:14px;margin-top:12px}
.visor button{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;width:48px;height:48px;border-radius:50%;font-size:28px;cursor:pointer;line-height:1}
.visor button:hover{background:rgba(255,255,255,.22)}
.visor-x{top:18px;right:18px}.visor-ant{left:18px}.visor-sig{right:18px}
html.visor-abierto{overflow:hidden}

/* ---------- Catálogo ---------- */
.sol-cat{background:#f4f7fa}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.prod-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e0e8ef;border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(6,25,47,.12)}
.prod-dest{border-color:#f5c542;box-shadow:0 0 0 1px #f5c542}
.prod-img{position:relative;aspect-ratio:4/3;background:linear-gradient(150deg,#0b2948,#07172b);display:grid;place-items:center}
.prod-img img{width:100%;height:100%;object-fit:cover}
.prod-img>span:first-child{font-size:52px}
.prod-tipo{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:20px;background:#1784e7;color:#fff;font-size:11px;font-weight:800}
.prod-estrella{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:20px;background:#f5c542;color:#3b2a00;font-size:11px;font-weight:800}
.prod-body{display:flex;flex-direction:column;flex:1;padding:18px}
.prod-body h3{font-size:17px;margin:0 0 6px}
.prod-desc{font-size:13px;color:#627286;margin:0 0 10px;line-height:1.55}
.prod-carac{list-style:none;margin:0 0 14px;padding:0;font-size:13px}
.prod-carac li{padding:4px 0 4px 22px;position:relative}
.prod-carac li::before{content:"✓";position:absolute;left:0;color:#18a957;font-weight:800}
.prod-pie{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid #eef2f6}
.prod-precio s{display:block;font-size:12px;color:#99a7b5}
.prod-precio strong{font-size:18px;color:#10243b}
.prod-btn{padding:11px 16px;font-size:13px}
.prod-agotado .prod-img{filter:grayscale(.8)}
.prod-no{padding:8px 12px;border-radius:9px;background:#fdecec;color:#c62828;font-size:12px;font-weight:800}
.prod-vacio{padding:34px;border-radius:16px;background:#fff;border:2px dashed #c9d7e4;text-align:center}
.prod-vacio p{max-width:520px;margin:0 auto 16px;color:#627286}

/* ---------- Llamado final ---------- */
.sol-cta-final{padding:64px 0;text-align:center;color:#fff;background:linear-gradient(120deg,#0c2a49,#1784e7)}
.sol-cta-solar{background:linear-gradient(120deg,#0c2a49,#c77d00)}
.sol-cta-final h2{color:#fff;font-size:clamp(26px,3.5vw,38px);margin:0 0 10px}
.sol-cta-final p{color:#d7e6f5;margin:0 0 22px}

/* ---------- Celular y tableta ---------- */
@media(max-width:1000px){
  .sol-hero-grid,.sim-grid,.dori-grid,.ley-grid{grid-template-columns:1fr}
  .sim-res{position:static}
  .sol-benef,.proy-grid{grid-template-columns:repeat(2,1fr)}
  .sim-op-5{grid-template-columns:repeat(3,1fr)}
  .cam-movil{right:0}
}
@media(max-width:620px){
  .sol-hero{padding:48px 0 70px}
  .sol-benef,.proy-grid,.sim-zonas,.equipos{grid-template-columns:1fr}
  .sim-op{grid-template-columns:1fr}
  .sim-op-5{grid-template-columns:repeat(2,1fr)}
  .sim-op button{flex-direction:row;justify-content:flex-start;text-align:left;gap:10px}
  .sim-op button small br{display:none}
  .sim-paso,.sim-res,.dori-ctrl{padding:16px}
  .sim-num input{font-size:24px}
  .sol-retorno{grid-template-columns:1fr 1fr 1fr}
  .cam-movil{width:150px;bottom:-40px}
  .sol-stats{gap:18px}
}
@media(prefers-reduced-motion:reduce){
  .cam-barrido,.cam-cuerpo,.cam-rec,.cam-feeds i,.sun-rayos,.sun-disco,.sun-flujo,.ventana,.paneles rect{animation:none}
}
/* Que nada se salga del ancho en celular */
.sim-grid>*,.sim-form,.sim-paso,.sim-res,.dori-grid>*,.sol-hero-grid>*,.ley-grid>*,.zona,.zona-n{min-width:0}
.sim-tabs button{flex:1 1 30%;min-width:0;white-space:normal}
@media(max-width:620px){.sim-kpis-4{grid-template-columns:1fr 1fr}.sim-kpis strong{font-size:20px}.sol-retorno strong{font-size:15px}.sim-precio strong{font-size:22px}}

/* ===== 10.3 – opciones, chips, almacenamiento, tecnologías ===== */
.sim-op-4{grid-template-columns:repeat(4,1fr)}
.sim-op-2{grid-template-columns:repeat(2,1fr)}
.sim-op button.off,.sim-op button:disabled{opacity:.35;cursor:not-allowed;transform:none}
.sim-chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:9px 14px;border:2px solid #e0e8ef;border-radius:30px;background:#fff;font:inherit;font-size:13px;font-weight:650;color:#10243b;cursor:pointer;transition:all .15s}
.chip:hover{border-color:#9cc8f3}
.chip.activo{border-color:#1784e7;background:#1784e7;color:#fff}
.sim-lbl{font-size:13px;font-weight:700;margin:14px 0 8px;color:#344a61}
.sim-lbl small{font-weight:500;color:#627286}
.sim-lbl output{color:#1784e7;float:right}
.sim-reco-tag{margin-left:auto;font-size:12px;font-weight:500;color:#627286}
.sim-rmodo .sim-chips{margin-bottom:6px}
.zona[hidden]{display:none}
.alm-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.alm-dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.alm-dl div{background:rgba(255,255,255,.05);border-radius:10px;padding:8px 10px}
.alm-dl dt{font-size:11px;color:#9fb3c7}
.alm-dl dd{margin:2px 0 0;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.alm-total{margin:10px 0 0;font-size:13px;color:#d4e2f0}
.alm-total b{color:#61d9f1}
.sim-cotiza strong{font-size:20px}
/* Informe de almacenamiento */
.alm-sec{background:#fff}
.alm-formulas{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.alm-formulas code{padding:10px 14px;border-radius:10px;background:#0b2948;color:#9fdcf3;font-size:13px;font-family:ui-monospace,Menlo,Consolas,monospace}
.alm-tabs{max-width:640px}
.alm-tabla{width:100%;border-collapse:collapse;font-size:14px}
.alm-tabla th{background:#0b2948;color:#fff;text-align:left;padding:12px;font-size:12px}
.alm-tabla td{padding:12px;border-bottom:1px solid #e6edf3;vertical-align:top;font-variant-numeric:tabular-nums}
.alm-tabla td small{color:#627286}
.alm-tabla tr:nth-child(even) td{background:#f7fafc}
.alm-sec .sub-title{margin:34px 0 14px}
.alm-sec .sub-title small{font-weight:500;color:#627286;font-size:14px}
/* Tecnologías y usos */
.tec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.tec-card{padding:22px;border-radius:16px;background:#fff;border:1px solid #e0e8ef;transition:transform .2s,box-shadow .2s}
.tec-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(6,25,47,.1)}
.tec-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#eef6ff;font-size:22px}
.tec-solar .tec-ico{background:#fff6dc}
.tec-card h3{font-size:16px;margin:14px 0 6px}
.tec-card p{font-size:13px;line-height:1.6;color:#627286;margin:0}
.tec-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tec-tags span{padding:3px 9px;border-radius:20px;background:#eef3f8;color:#344a61;font-size:11px;font-weight:700}
.tec-sec,.usos-sec{background:#f4f7fa}
.bomba-sec{background:linear-gradient(180deg,#eef8f1,#f4f7fa)}
@media(max-width:1000px){.sim-op-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.sim-op-2{grid-template-columns:1fr}.alm-dl{grid-template-columns:1fr 1fr}.alm-formulas code{font-size:11.5px}}

.sol-retorno{display:flex}.sol-retorno>div{flex:1}.sol-retorno>[hidden]{display:none}

/* 10.4 – Kit Dahua: línea, grabador, disco y accesorios */
.sim-marca{margin-left:auto;padding:3px 9px;border-radius:20px;background:#fdecec;color:#c62828;font-size:11px;font-weight:800;letter-spacing:.3px}
.sim-op-auto{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.grab-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.grab{display:flex;flex-direction:column;gap:4px;padding:14px;border:2px solid #e0e8ef;border-radius:12px;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.grab:hover:not(:disabled){border-color:#9cc8f3}
.grab.activo{border-color:#1784e7;background:#eef6ff;box-shadow:0 0 0 1px #1784e7}
.grab.off{opacity:.45;cursor:not-allowed;background:#f6f8fa}
.grab-mod{font-weight:800;font-size:14px;color:#10243b}
.grab-spec{font-size:12px;font-weight:700;color:#1784e7}
.grab-det{font-size:11.5px;color:#627286;line-height:1.4}
.grab.off .grab-det{color:#c62828;font-weight:700}
.kit-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.kit-tabla{width:100%;border-collapse:collapse;font-size:12.5px;color:#d4e2f0}
.kit-tabla td{padding:6px 4px;border-top:1px solid rgba(255,255,255,.07);vertical-align:top}
.kit-tabla td:first-child{width:38px;font-weight:800;color:#61d9f1;text-align:center;font-variant-numeric:tabular-nums}
#cctv-paso-disco[hidden]{display:none}
@media(max-width:620px){.grab-lista{grid-template-columns:1fr}.sim-op-auto{grid-template-columns:1fr 1fr}}
#cctv-r-nvr{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
