/* SolucionWP — Estilos principales v1.0.0 */
:root{
  --azul:#1565C0;--azul-d:#0D47A1;--cyan:#0097A7;--cyan-l:#00BCD4;
  --verde:#2E7D32;--morado:#6A1B9A;
  --bg:#EEF4FF;--bg2:#E3ECFA;--bg3:#F5F8FF;
  --card:#FFFFFF;--card2:#F0F6FF;
  --txt:#0D1B5E;--txt2:#3D5A9A;--txt3:#7986CB;
  --border:rgba(21,101,192,0.14);--border2:rgba(21,101,192,0.26);
  --sh:0 2px 14px rgba(21,101,192,0.10);--sh-h:0 6px 28px rgba(21,101,192,0.18);
  --grad:linear-gradient(135deg,#0097A7,#1565C0);
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--txt);font-family:'Segoe UI',system-ui,sans-serif;min-height:100vh;overflow-x:hidden;line-height:1.65}
.swp-btn-primary{background:var(--grad);color:#fff;border:none;padding:.72rem 1.9rem;border-radius:10px;font-size:.97rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:0 4px 18px rgba(21,101,192,0.3);transition:all .2s}
.swp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(21,101,192,0.38)}
.swp-btn-secondary{background:#fff;color:var(--azul);border:1.5px solid var(--border2);padding:.72rem 1.9rem;border-radius:10px;font-size:.97rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:var(--sh);transition:all .2s}
.swp-btn-secondary:hover{border-color:var(--azul);background:#EEF4FF}
.swp-logo-ring{position:relative;width:442px;height:442px;display:flex;align-items:center;justify-content:center;margin:0 auto}
.swp-logo-ring::before{content:'';position:absolute;inset:-10px;border-radius:50%;background:conic-gradient(#0097A7,#1565C0,#6A1B9A,#C2185B,#0097A7);animation:swpSpin 8s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;padding:3px}
@keyframes swpSpin{to{transform:rotate(360deg)}}
.swp-logo-ring::after{content:'';position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle,rgba(238,244,255,0.85) 55%,transparent 100%);pointer-events:none}
.swp-logo-img{width:390px;height:390px;object-fit:contain;border-radius:50%;position:relative;z-index:1}
.swp-wa-btn{position:fixed;bottom:2rem;right:2rem;z-index:9999;background:#25D366;border:none;border-radius:50%;width:58px;height:58px;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.45);animation:swpWaPulse 2.5s ease-in-out infinite}
@keyframes swpWaPulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.45)}50%{box-shadow:0 4px 36px rgba(37,211,102,0.7)}}
.swp-wa-btn:hover{transform:scale(1.1)}

/* === Page sections === */
.section{padding:2.6rem 2rem}
.section-alt{background:var(--bg2)}
.section-title{text-align:center;margin-bottom:.4rem;font-size:1.5rem;font-weight:800;color:#0A1650}
.section-sub{text-align:center;color:var(--txt2);margin-bottom:2rem;font-size:.92rem}

/* === Ecosistema grid === */
.eco-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.85rem;max-width:920px;margin:0 auto}
.eco-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1.15rem .85rem;text-align:center;text-decoration:none;color:var(--txt);transition:all .22s;display:block;box-shadow:var(--sh);position:relative;overflow:hidden}
.eco-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transition:transform .22s;transform-origin:left}
.eco-card:hover{transform:translateY(-4px);border-color:#1565C0;box-shadow:var(--sh-h)}
.eco-card:hover::after{transform:scaleX(1)}
.eco-icon{font-size:1.95rem;margin-bottom:.48rem;display:block}
.eco-name{font-size:.81rem;font-weight:700;color:#0A1650;line-height:1.3}
.eco-desc{font-size:.69rem;color:var(--txt2);margin-top:.26rem}
.eco-seo-badge{display:inline-block;background:#EEF4FF;color:var(--azul);font-size:.59rem;font-weight:700;padding:.1rem .38rem;border-radius:8px;margin-top:.32rem;border:1px solid var(--border)}

/* === Planes grid === */
.planes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1.3rem;max-width:870px;margin:0 auto}
.plan-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:1.8rem 1.4rem;position:relative;transition:all .22s;box-shadow:var(--sh)}
.plan-card:hover{box-shadow:var(--sh-h);transform:translateY(-2px)}
.plan-card.featured{border-color:#1565C0;background:linear-gradient(160deg,#EEF4FF,#F0F8FF)}
.plan-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;padding:.27rem .82rem;border-radius:20px;font-size:.71rem;font-weight:700;white-space:nowrap;box-shadow:0 3px 10px rgba(21,101,192,0.3)}
.plan-name{font-size:1.02rem;font-weight:700;color:#0A1650;margin-bottom:.42rem}
.plan-price{font-size:2.2rem;font-weight:800;color:#0A1650;margin:.65rem 0 .2rem}
.plan-price span{font-size:.9rem;color:var(--txt2);font-weight:400}
.plan-period{color:var(--txt2);font-size:.79rem;margin-bottom:1.15rem}
.plan-features{list-style:none;margin-bottom:1.3rem}
.plan-features li{padding:.38rem 0;border-bottom:1px solid rgba(21,101,192,0.08);font-size:.85rem;color:var(--txt2)}
.plan-features li::before{content:'✓ ';color:#2E7D32;font-weight:700}
.plan-features li.no::before{content:'✗ ';color:#C62828}
.plan-features li.no{opacity:.55}
.btn-plan{width:100%;padding:.66rem;border-radius:10px;font-weight:700;cursor:pointer;font-size:.89rem;border:none;transition:all .2s}
.btn-plan-primary{background:var(--grad);color:#fff;box-shadow:0 4px 14px rgba(21,101,192,0.28)}
.btn-plan-outline{background:#fff;border:1.5px solid var(--border2);color:var(--azul)}
.btn-plan-outline:hover{background:#EEF4FF}

/* === Tabs === */
.tabs{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.8rem}
.tab{padding:.5rem 1.2rem;border-radius:10px;border:1.5px solid var(--border2);background:#fff;color:var(--txt2);font-size:.84rem;font-weight:600;cursor:pointer;transition:all .2s}
.tab.active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 3px 10px rgba(21,101,192,0.25)}

/* === Stat cards (SEO page) === */
.stat-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1rem;text-align:center;box-shadow:var(--sh)}
.stat-num{font-size:1.8rem;font-weight:800;color:var(--azul);line-height:1.2}
.stat-label{font-size:.72rem;color:var(--txt2);font-weight:600;margin-top:.2rem}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem;max-width:920px;margin:0 auto}
.seo-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--sh);transition:all .22s}
.seo-card:hover{box-shadow:var(--sh-h);transform:translateY(-2px)}
.seo-card-header{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem;background:#F5F8FF;border-bottom:1px solid var(--border)}
.seo-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.seo-pname{font-size:.79rem;font-weight:700;color:#0A1650}
.seo-purl{font-size:.63rem;color:var(--txt3)}
.seo-tag{margin-left:auto;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.08rem .42rem;font-size:.58rem;font-weight:700;color:var(--txt2)}
.seo-body{padding:.75rem .85rem}
.seo-row{display:flex;gap:.45rem;margin-bottom:.35rem;font-size:.72rem}
.seo-label{font-weight:700;color:var(--txt);min-width:50px;flex-shrink:0}
.seo-val{color:var(--txt2)}
.seo-kws{display:flex;flex-wrap:wrap;gap:.3rem;margin:.45rem 0 .3rem}
.seo-kw{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:.08rem .5rem;font-size:.6rem;color:var(--txt2)}
.seo-code{background:#0A1650;color:#E3ECFA;border-radius:8px;padding:.5rem .65rem;font-size:.58rem;font-family:monospace;line-height:1.55;overflow-x:auto;margin-top:.35rem}

/* === Legal pages === */
.legal-content{max-width:800px;margin:0 auto;background:#fff;border-radius:18px;padding:2.5rem;box-shadow:var(--sh)}
