/*
 * Estándar visual compartido del ecosistema ISPControl.
 * Se carga al final para homologar footer, redes, WhatsApp y volver al inicio
 * sin alterar la identidad ni los mockups propios de cada producto.
 */
.site-footer{padding:38px 0 42px;border-top:1px solid #e7f0f7;background:#fff}
.site-footer .footer-grid{display:grid;grid-template-columns:1.45fr .78fr .85fr .82fr 1fr;gap:34px;align-items:start}
.site-footer .footer-brand{display:block}
.site-footer .footer-brand>a{display:inline-flex;align-items:center;width:auto!important;max-width:220px}
.site-footer .footer-brand img{display:block;width:auto!important;max-width:210px!important;max-height:58px!important;height:auto!important;object-fit:contain}
.site-footer .footer-brand p{max-width:245px;margin:13px 0 0;color:#748ba3;font-size:11px;line-height:1.55}
.site-footer .footer-brand p strong{color:#5d7690;font-weight:700}
.site-footer .footer-col,.site-footer .footer-links,.site-footer .footer-company{display:flex;flex-direction:column;align-items:flex-start}
.site-footer h4{margin:0 0 12px;color:#0b2858;font-size:13px;font-weight:800}
.site-footer .footer-col>a,.site-footer .footer-links>a,.site-footer .footer-company>a{margin:3px 0;color:#66809b;font-size:11px;line-height:1.45;text-decoration:none;transition:color .2s}
.site-footer .footer-col>a:hover,.site-footer .footer-links>a:hover,.site-footer .footer-company>a:hover{color:#0875ea}
.site-footer .socials{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.site-footer .socials a,.site-footer .socials button{width:32px;height:32px;margin:0!important;padding:0!important;border:1px solid #dce8f2!important;border-radius:9px!important;display:grid!important;place-items:center!important;background:#f1f6fa!important;color:#6c87a1!important;line-height:1!important;cursor:pointer;transition:.2s}
.site-footer .socials a:hover,.site-footer .socials button:hover{border-color:#bdd7ec!important;background:#e8f4ff!important;color:#0875ea!important;transform:translateY(-1px)}
.site-footer .socials .social-whatsapp{color:#0ca85a!important}
.site-footer .socials i{display:block;margin:0!important;padding:0!important;line-height:1!important;font-size:12px!important;transform:none!important}
.site-footer .copyright{margin:0;color:#748ba3;font-size:10px;line-height:1.55}

.back-top{position:fixed;z-index:900;left:18px;bottom:22px;width:62px;min-height:70px;border:1px solid rgba(255,255,255,.55);border-radius:18px;background:rgba(8,51,96,.78);backdrop-filter:blur(13px);color:#fff;box-shadow:0 16px 38px rgba(13,49,89,.24);display:grid;place-items:center;align-content:center;gap:3px;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s}
.back-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-top:hover{background:rgba(5,91,171,.90)}
.back-top i{font-size:18px}.back-top span{text-align:center;font-size:9px;line-height:1.15}

.whatsapp-widget{position:fixed;z-index:950;right:22px;bottom:22px;display:flex;align-items:flex-end;gap:10px}
.wa-fab{position:relative;width:62px;height:62px;border:0;border-radius:50%;background:linear-gradient(135deg,#1bd173,#0cad58);color:#fff;display:grid;place-items:center;box-shadow:0 16px 38px rgba(18,157,86,.33);cursor:pointer;transition:.2s}
.wa-fab:hover{transform:translateY(-3px) scale(1.03)}.wa-fab i{font-size:31px}
.wa-notification{position:absolute;right:-2px;top:-2px;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#ef3d3d;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:800}
.wa-hint{min-width:150px;border:1px solid #d9e8f4;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(27,73,123,.13);padding:10px 14px;transform:translateY(-4px)}
.wa-hint strong,.wa-hint span{display:block}.wa-hint strong{color:#1a3e61;font-size:11px}.wa-hint span{color:#7d90a4;font-size:9px}
.whatsapp-popover{position:absolute;right:0;bottom:78px;width:330px;border:1px solid #dbe8f3;border-radius:22px;background:#fff;box-shadow:0 25px 65px rgba(22,63,106,.22);padding:18px;opacity:0;pointer-events:none;transform:translateY(10px) scale(.97);transform-origin:bottom right;transition:.22s}
.whatsapp-popover.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.wa-close{position:absolute;right:12px;top:12px;width:30px;height:30px;border:0;border-radius:50%;background:#f2f6f9;color:#6d8194;cursor:pointer}
.wa-head{display:flex;gap:11px;align-items:center;padding-right:35px}.wa-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#17c66b;color:#fff;flex:0 0 auto;font-size:23px}
.wa-head strong,.wa-head small{display:block}.wa-head strong{color:#17395d;font-size:14px}.wa-head small{margin-top:2px;color:#8395a7;font-size:9px}
.wa-message{margin:15px 0;border-radius:14px;padding:12px 13px;background:#f3f8fb}.wa-message span{font-weight:700;font-size:12px}.wa-message p{margin:5px 0 0;color:#60788f;font-size:11px;line-height:1.45}
.ecosystem-wa-start{width:100%;min-height:42px;border:1px solid #bfe6d1!important;border-radius:11px!important;background:#fff!important;color:#0a7c45!important;font-weight:800!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;cursor:pointer!important}
.ecosystem-wa-start:hover{background:#effaf4!important;border-color:#98d8b7!important}

/* Detalles compartidos de interacción de formularios de contacto. */
#contacto input,#contacto select,#contacto textarea{transition:border-color .2s,box-shadow .2s,background .2s}
#contacto input:focus,#contacto select:focus,#contacto textarea:focus{outline:none;border-color:#73b8f4;box-shadow:0 0 0 3px rgba(8,117,234,.10)}
.site-footer a:focus-visible,.site-footer button:focus-visible,.back-top:focus-visible,.wa-fab:focus-visible,.wa-close:focus-visible{outline:3px solid rgba(8,117,234,.25);outline-offset:3px}

@media(max-width:1100px){.site-footer .footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:30px}.site-footer .footer-grid>div:nth-child(4),.site-footer .footer-grid>div:nth-child(5){margin-top:4px}}
@media(max-width:760px){.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:25px}.site-footer .footer-brand{grid-column:1/-1}.site-footer .footer-brand p{max-width:420px}}
@media(max-width:620px){.site-footer{padding:32px 0 92px}.site-footer .footer-grid{grid-template-columns:1fr;gap:20px}.site-footer .footer-brand{grid-column:auto}.site-footer .footer-grid>div:nth-child(4),.site-footer .footer-grid>div:nth-child(5){margin-top:0}.wa-hint{display:none!important}.whatsapp-widget{right:14px;bottom:14px}.whatsapp-popover{position:fixed;left:12px;right:12px;bottom:84px;width:auto}.wa-fab{width:58px;height:58px}.back-top{left:12px;bottom:14px;width:50px;min-height:56px;border-radius:15px}.back-top span{display:none}}

/* =====================================================
   CTA FINAL COMPARTIDO DEL ECOSISTEMA
   Base visual tomada de ISPai y homologada para todos.
===================================================== */
.ecosystem-cta-section{padding:0 0 60px;background:#fff}
.ecosystem-cta-box{position:relative;overflow:hidden;min-height:165px;display:flex;align-items:center;justify-content:space-between;gap:34px;padding:34px 50px;border-radius:20px;background:radial-gradient(circle at 72% 50%,rgba(0,197,255,.28),transparent 28%),linear-gradient(135deg,#0b73e9,#067fe6 55%,#0ab3ef);color:#fff;box-shadow:0 20px 50px rgba(8,106,216,.18)}
.ecosystem-cta-box:after{content:"";position:absolute;right:160px;top:-110px;width:420px;height:250px;border:1px solid rgba(255,255,255,.22);border-radius:50%;transform:rotate(12deg);pointer-events:none}
.ecosystem-cta-copy,.ecosystem-cta-actions{position:relative;z-index:2}
.ecosystem-cta-copy{min-width:0;max-width:790px}
.ecosystem-cta-copy small{display:block;color:rgba(255,255,255,.94);font-size:10px;font-weight:800;text-transform:uppercase}
.ecosystem-cta-copy h2{margin:5px 0 5px;color:#fff;font-size:clamp(28px,3vw,36px);line-height:1.05;letter-spacing:-1px}
.ecosystem-cta-copy p{max-width:760px;margin:0;color:rgba(255,255,255,.91);font-size:12px;line-height:1.45}
.ecosystem-cta-actions{display:grid;gap:9px;min-width:250px;flex:0 0 250px}
.ecosystem-cta-actions .btn{width:100%;min-height:44px;border-radius:13px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:750;cursor:pointer;transition:.2s;white-space:nowrap}
.ecosystem-cta-actions .btn:hover{transform:translateY(-2px)}
.ecosystem-cta-primary{border:0;background:#fff!important;color:#0865c6!important;box-shadow:0 12px 30px rgba(1,55,120,.18)}
.ecosystem-cta-secondary{border:1px solid rgba(255,255,255,.72)!important;background:transparent!important;color:#fff!important;box-shadow:none!important}
.ecosystem-cta-secondary:hover{background:rgba(255,255,255,.08)!important}

@media(max-width:760px){.ecosystem-cta-box{align-items:stretch;flex-direction:column;padding:30px 28px;text-align:center}.ecosystem-cta-copy{max-width:none}.ecosystem-cta-actions{width:min(100%,360px);min-width:0;flex:auto;margin:0 auto}.ecosystem-cta-box:after{right:-90px;top:-120px}}
@media(max-width:620px){.ecosystem-cta-section{padding:0 0 42px}.ecosystem-cta-box{min-height:0;padding:27px 21px;border-radius:18px}.ecosystem-cta-copy h2{font-size:28px}.ecosystem-cta-copy p{font-size:11px}.ecosystem-cta-actions{width:100%}}
