/* SoftwarePro - estilos globales (páginas internas) */
:root{--sp-blue:#0066FF;--sp-navy:#003366;--sp-grey:#666;--sp-light:#F4F7FB}
body{color:#444;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--sp-navy);font-weight:700}
h1{font-size:2.2rem}
.btn{border-radius:50px;padding:.55rem 1.4rem;font-weight:500;transition:transform .2s,box-shadow .2s,background-color .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,51,102,.22)}
.btn-primary{background:var(--sp-blue);border-color:var(--sp-blue)}
.btn-primary:hover,.btn-primary:focus{background:var(--sp-navy);border-color:var(--sp-navy)}
.btn-secondary{background:var(--sp-navy);border-color:var(--sp-navy)}

/* Header */
.sp-overheader{background:linear-gradient(90deg,var(--sp-navy),var(--sp-blue))}
.sp-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);transition:box-shadow .3s}
.sp-header.sp-scrolled{box-shadow:0 4px 20px rgba(0,51,102,.12)}
.sp-header .nav-link{color:var(--sp-navy);font-weight:500;position:relative}
.sp-header .navbar-nav>.nav-item>.nav-link::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:2px;height:2px;background:var(--sp-blue);transform:scaleX(0);transition:transform .25s}
.sp-header .navbar-nav>.nav-item>.nav-link:hover::after{transform:scaleX(1)}
.sp-header .nav-link:hover{color:var(--sp-blue)}
.dropdown-menu{border:0;border-radius:12px;box-shadow:0 12px 30px rgba(0,51,102,.18);padding:.5rem}
.dropdown-item{border-radius:8px}
.dropdown-item:hover{background:var(--sp-light)}

/* Breadcrumb */
.breadcrumb{background:var(--sp-light);border-radius:50px;padding:.5rem 1.2rem;font-size:.9rem}
.breadcrumb-item+.breadcrumb-item::before{color:var(--sp-blue)}

/* Títulos de página */
main>.container>.row>.col>h1,main>.container>h1,main .container>.row.pb-3 h1,main>.container>.row>.col>h1+hr{position:relative}
main>.container>.row>.col>h1,main>.container>h1{padding-bottom:.6rem}
main>.container>.row>.col>h1::after,main>.container>h1::after{content:"";display:block;width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--sp-blue),var(--sp-navy));margin-top:.6rem}
main hr{display:none}

/* Productos */
.product-block{border:0 !important;border-radius:14px;box-shadow:0 6px 20px rgba(0,51,102,.1) !important;transition:transform .3s,box-shadow .3s;overflow:hidden;margin-bottom:2rem}
.product-block:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(0,51,102,.2) !important}
.product-block .img-box img{transition:transform .4s}
.product-block:hover .img-box img{transform:scale(1.05)}
.product-block h4 a{color:var(--sp-navy)}
.product-block .btn{margin:.15rem}

/* Formularios */
.form-control,.form-select{border-radius:10px;border:1px solid #D5DEEA;padding:.65rem .9rem;transition:border-color .2s,box-shadow .2s}
.form-control:focus,.form-select:focus{border-color:var(--sp-blue);box-shadow:0 0 0 .25rem rgba(0,102,255,.15)}
label{font-weight:500;color:var(--sp-navy);margin-bottom:.3rem}
#contactForm .bg-light,#quoteform .bg-light{background:var(--sp-light) !important;border-radius:14px !important;padding:1.5rem;position:relative;overflow:hidden}
#contactForm .col-lg-4.bg-light::before{content:"";display:block;margin:-1.5rem -1.5rem 1.2rem;height:170px;background:url(/img/home/support.jpg) center/cover}

/* Contenido de páginas / marcas */
main .bg-light.rounded,main .row.bg-light{border-radius:14px !important;border-left:4px solid var(--sp-blue)}
main .nav-link{transition:color .2s,padding-left .2s}
main .navbar-nav .nav-link:hover{padding-left:.9rem}
main img[src*="p-corporativo"]{border-radius:16px;box-shadow:0 12px 30px rgba(0,51,102,.15);content:url(/img/home/team.jpg);max-height:420px;object-fit:cover}

/* Blog */
article.bg-white{border-radius:14px;box-shadow:0 6px 20px rgba(0,51,102,.08);transition:transform .3s,box-shadow .3s}
article.bg-white:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,51,102,.16)}
article.bg-white img{border-radius:10px}
.blog-date{color:#8a96a8;font-size:.85rem;margin-bottom:.5rem}
.bg-light>.container .bg-white.rounded img{border-radius:10px}

/* Marcas y pie */
.brand-carousel .bg-white{border-radius:12px;box-shadow:0 2px 8px rgba(0,51,102,.06);transition:transform .25s,box-shadow .25s}
.brand-carousel .bg-white:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,51,102,.15)}
.bg-secondary{background:linear-gradient(160deg,#002447,var(--sp-navy)) !important}
footer a{transition:color .2s,padding-left .2s}
footer a:hover{color:#6FA8FF !important;padding-left:.3rem}
.sb-wzp-widget .circle{box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .25s}
.sb-wzp-widget .circle:hover{transform:scale(1.1)}

/* Aparición suave en páginas internas */
main>.container,main>form,main>.bg-light{animation:spFade .6s ease both}
@keyframes spFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){main>.container,main>form,main>.bg-light{animation:none}.btn,.product-block{transition:none}}
#contactForm .col-lg-4.bg-light{border-left:0 !important}

/* Páginas de la tabla page */
.sp-pg{padding-bottom:3rem}
.sp-pg h2{font-size:2rem}
.sp-pg-intro{margin:1rem 0 2rem}
.sp-pg-img{width:100%;max-height:420px;object-fit:cover;border-radius:18px;box-shadow:0 14px 34px rgba(0,51,102,.18)}
.sp-pg-text{font-size:1.1rem;color:var(--sp-grey);max-width:60rem}
.sp-pg-stats{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;padding:0;margin:0 0 2rem}
.sp-pg-stats li{flex:1 1 180px;background:linear-gradient(135deg,var(--sp-navy),var(--sp-blue));color:#fff;border-radius:14px;padding:1.4rem;text-align:center}
.sp-pg-stats strong{display:block;font-size:2rem}
.sp-pg-stats span{font-size:.9rem;color:#DCE9FF}
.sp-card{background:#fff;border-radius:14px;padding:2rem 1.6rem;height:100%;border-top:4px solid var(--sp-blue);box-shadow:0 8px 24px rgba(0,51,102,.1);transition:transform .3s,box-shadow .3s}
.sp-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,51,102,.18)}
.sp-card i,.sp-panel i{font-size:1.8rem;color:var(--sp-blue);margin-bottom:1rem}
.sp-card h3,.sp-panel h3{font-size:1.25rem}
.sp-card p,.sp-panel p{color:var(--sp-grey);margin:0}
.sp-panel{background:var(--sp-light);border-radius:14px;padding:2rem;height:100%;border-left:4px solid var(--sp-blue)}
.sp-check{display:flex;gap:1rem;align-items:flex-start;background:#fff;border-radius:12px;padding:1.2rem 1.4rem;box-shadow:0 4px 16px rgba(0,51,102,.08);height:100%}
.sp-check i{color:var(--sp-blue);font-size:1.5rem;margin-top:.15rem}
.sp-check strong{display:block;color:var(--sp-navy)}
.sp-check span{color:var(--sp-grey)}
.sp-pg-cta{margin-top:3rem;padding:3rem 2rem;text-align:center;color:#fff;border-radius:20px;background:linear-gradient(120deg,var(--sp-navy),var(--sp-blue))}
.sp-pg-cta h2{color:#fff}
.sp-pg-cta p{color:#DCE9FF;margin-bottom:1.5rem}
.sp-pg-cta .btn{margin:.25rem}
.sp-pg .sp-section-head{margin:3rem 0 1.5rem}
.sp-pg .sp-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600;color:var(--sp-blue);margin-bottom:.5rem}
