@import url("redesign-v3.css");
@import url("hero-speed.css");
/* SIDeN REDESIGN V2 — capas visuales de conversión */
.conversion-section,.solution-section,.plans-section,.faq-section{max-width:1180px;margin:auto;padding:88px 24px}
.conversion-section{background:#fff}.solution-section{background:#f8fafc}.problem-grid,.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.problem-grid article{padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:0 8px 25px rgba(15,23,42,.04)}
.problem-grid article>span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:9px;background:#eef4ff;color:var(--blue);font-size:11px;font-weight:900;margin-bottom:18px}.problem-grid h3,.solution-grid h3{font-size:19px;line-height:1.25;margin-bottom:9px}.problem-grid p,.solution-grid p{color:var(--muted);font-size:14px}.solution-grid{grid-template-columns:repeat(4,1fr)}.solution-grid article{padding:25px;border-radius:var(--radius);background:#fff;border:1px solid var(--border);box-shadow:0 8px 25px rgba(15,23,42,.035)}.solution-number{font-size:12px;font-weight:900;color:var(--blue);margin-bottom:18px}.plans-section{max-width:1180px}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px;align-items:stretch}.plan-card{position:relative;padding:31px 27px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05);display:flex;flex-direction:column}.plan-card.featured{border:2px solid var(--blue);box-shadow:0 18px 45px rgba(37,99,235,.12);transform:translateY(-8px)}.plan-label{font-size:10px;font-weight:900;letter-spacing:1px;color:var(--blue);margin-bottom:13px}.plan-card h3{font-size:25px;line-height:1.15;letter-spacing:-.8px;margin-bottom:10px}.plan-card>p{color:var(--muted);font-size:14px;min-height:68px}.plan-card ul{list-style:none;margin:22px 0 25px;padding:0;border-top:1px solid var(--border)}.plan-card li{padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;color:#475467}.plan-card li::before{content:"✓";color:var(--blue);font-weight:900;margin-right:9px}.plan-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:10px;text-decoration:none;background:var(--navy);color:#fff;font-size:13px;font-weight:800}.plan-card.featured .plan-link{background:var(--blue)}.plan-badge{position:absolute;right:20px;top:20px;padding:5px 9px;border-radius:999px;background:#eaf1ff;color:var(--blue);font-size:9px;font-weight:900;text-transform:uppercase}.faq-section{background:#fff}.faq-list{max-width:820px;margin:38px auto 0;border-top:1px solid var(--border)}.faq-list details{border-bottom:1px solid var(--border);padding:0}.faq-list summary{list-style:none;cursor:pointer;padding:21px 4px;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:18px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";font-size:23px;font-weight:400;color:var(--blue)}.faq-list details[open] summary::after{content:"−"}.faq-list details p{padding:0 45px 22px 4px;color:var(--muted);font-size:14px;line-height:1.7}.conversion-contact{width:100%!important;max-width:none!important;margin:0!important;padding:85px 24px!important;background:#f8fafc!important}.cta-panel{max-width:900px;margin:auto;padding:55px 35px;text-align:center;border-radius:25px;background:linear-gradient(135deg,#0b1220,#16284a);color:#fff;box-shadow:0 22px 55px rgba(15,23,42,.15)}.cta-panel .section-kicker{color:#72b7ff}.cta-panel h2{max-width:700px;margin:0 auto 15px;color:#fff;font-size:clamp(30px,4vw,45px)}.cta-panel p{max-width:650px;margin:0 auto;color:#b9c6d9;font-size:15px}.cta-panel .whatsapp{display:inline-flex;margin-top:28px;background:#fff;color:var(--navy);padding:14px 21px;border-radius:11px;text-decoration:none;font-weight:800}.cta-panel .social{margin-top:22px}.cta-panel .social a{color:#c9d7f5}.problem-grid article>span,.solution-number{display:none!important}@media(max-width:900px){.problem-grid,.solution-grid,.plans-grid{grid-template-columns:1fr 1fr}.plan-card.featured{transform:none}.hero-content{grid-template-columns:1fr}.hero-visual{min-height:330px}.value-strip{flex-direction:column;align-items:flex-start}.value-strip>div:last-child{flex-wrap:wrap}}@media(max-width:640px){.conversion-section,.solution-section,.plans-section,.faq-section{padding:65px 18px}.problem-grid,.solution-grid,.plans-grid{grid-template-columns:1fr}.plan-card>p{min-height:0}.cta-panel{padding:42px 22px}.faq-list summary{font-size:15px}.faq-list details p{padding-right:10px}.hero h1{letter-spacing:-1.8px}.hero-content{padding-left:18px;padding-right:18px}.hero-visual{display:none}.showcase-section{padding-left:18px;padding-right:18px}.showcase-grid{grid-template-columns:1fr}.nav-container{padding-left:18px;padding-right:18px}.nav-links{display:none}.nav-links.active{position:absolute;left:0;right:0;top:76px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 18px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--border);box-shadow:0 15px 30px rgba(15,23,42,.08)}.nav-links.active a{padding:12px 4px}.menu-button{display:block;order:2}.nav-cta{order:3}.nav-logo{order:1}.nav-container{gap:12px}.nav-cta{font-size:12px;padding:10px 12px}}

/* SIDeN commercial fixes: mobile menu, static hero, lighter corporate blue overlay and media presentation. */
.menu-button{cursor:pointer}
.hero-copy,.hero-visual,.browser-window,.mock-photo,.hero-visual::before,.hero-visual::after{animation:none!important;will-change:auto!important}
.hero-overlay{background:linear-gradient(110deg,rgba(48,126,171,.84) 0%,rgba(58,140,190,.72) 48%,rgba(70,151,197,.60) 100%)!important}
#servicios .service{padding:0!important;overflow:hidden}
#servicios .service::before{display:none!important}
#servicios .service::after{position:relative!important;order:-1;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;height:230px!important;margin:0!important;border-radius:0!important;opacity:1!important;background-size:cover!important;background-position:center!important;box-shadow:none!important}
#servicios .service img.service-image{display:block;width:100%;height:230px;object-fit:cover;cursor:zoom-in}
#servicios .service .service-content{padding:22px 24px 25px}
#productos .product img,.gallery img,.menu-item img{cursor:zoom-in}
.gallery img{height:260px!important}
.contact-action-siden{background:#fff!important;color:#0b1220!important;border-color:rgba(255,255,255,.7)!important}
.contact-action-siden:hover{background:#f2f4f7!important}
.nav-logo img{display:block;height:42px;width:auto;max-width:150px;object-fit:contain}
.siden-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(5,10,20,.88);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.siden-lightbox.active{opacity:1;visibility:visible}
.siden-lightbox img{max-width:min(94vw,1200px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.45);cursor:zoom-out}
.siden-lightbox button{position:absolute;top:14px;right:18px;border:0;background:#fff;color:#0b1220;width:42px;height:42px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer}
@media(max-width:700px){.nav-container{flex-wrap:wrap;align-items:center}.nav-links{order:4!important;width:100%;position:static!important;display:none!important;padding:12px 0 4px!important}.nav-links.active{display:flex!important}.nav-links a{border-bottom:1px solid var(--border)}.nav-links a:last-child{border-bottom:0}.nav-logo img{height:40px;max-width:130px}}
@media(max-width:640px){.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0!important;padding:0 18px 48px!important;background-image:none!important;background-color:#3a8cbe!important;text-align:center}.hero::before{display:block!important;position:relative;inset:auto;width:calc(100% + 36px);height:230px;flex:0 0 230px;margin-left:-18px;margin-bottom:28px;background-image:var(--hero-image)!important;background-size:cover!important;background-position:center!important;opacity:1!important;border-radius:0 0 22px 22px;order:0}.hero-overlay{display:none!important}.hero-content{display:flex!important;flex-direction:column!important;gap:22px!important;align-items:stretch!important;max-width:760px!important;margin:0 auto!important;order:1}.hero-visual{display:none!important}.hero-copy{max-width:760px!important;margin:0 auto!important;text-align:center!important}.hero-brand,.hero-actions,.hero-trust{justify-content:center!important}.hero h1{font-size:36px!important;line-height:1.06!important}.gallery img{height:230px!important}.cta-panel{padding:42px 22px}}

/* SIDeN corporativo — prueba visual de iconos de la sección "El problema". 76px actuales -> 152px. */
.problem-grid article::before{width:152px;height:152px;margin:0 auto 22px;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;box-shadow:none;border-radius:0;color:transparent;font-size:0;content:""}
.problem-grid article:nth-child(1)::before{background-image:url('../images/Lupa.svg')}
.problem-grid article:nth-child(2)::before{background-image:url('../images/seguridad.svg')}
.problem-grid article:nth-child(3)::before{background-image:url('../images/Ubicacion.svg')}

/* SIDeN corporativo — prueba visual de iconos de la sección "La solución SIDeN". 76px actuales -> 152px. */
.solution-grid article::before{width:152px;height:152px;margin:0 auto 22px;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;box-shadow:none;border-radius:0;color:transparent;font-size:0;content:"";display:flex;align-items:center;justify-content:center}
.solution-grid article:nth-child(1)::before{background-image:url('../images/pagina.svg')}
.solution-grid article:nth-child(2)::before{background-image:url('../images/seo.svg')}
.solution-grid article:nth-child(3)::before{background-image:url('../images/googlemaps.svg')}
.solution-grid article:nth-child(4)::before{background-image:url('../images/WhatsApp.svg')}


/* ==================================================
   SIDeN — AISLAMIENTO POR FAMILIA DE PLANTILLA
   Estas reglas son estructurales y pertenecen al motor compartido.
   No deben implementarse mediante custom.css de una instancia.
================================================== */
.siden-template-corporate #proyectos,
.siden-template-corporate #problema,
.siden-template-corporate #solucion{
  display:none!important;
}


/* SIDeN template — contact block centered */
.cta-panel{text-align:center}
.cta-panel h2{margin-left:auto;margin-right:auto}
.cta-panel p{margin-left:auto;margin-right:auto}
.cta-panel .contact-actions-siden{justify-content:center;margin-left:auto;margin-right:auto}
.cta-panel .social{text-align:center}


/* ==================================================
   SIDeN — ESTÁNDARES VISUALES DE INSTANCIA
   Estas reglas son compartidas por todas las instancias.
================================================== */

/* Beneficios: imagen visual más grande dentro de su contenedor. */
.benefit-icon{
  width:160px;
  height:160px;
  margin:0 auto 18px;
  padding:0;
  border-radius:24px;
  overflow:hidden;
}
.benefit-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:16px;
}

/* Servicios y productos: tres elementos por fila en escritorio. */
.services,
.products{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Galería: cuatro imágenes por fila cuando hay cuatro o más. */
.gallery{
  grid-template-columns:repeat(min(var(--gallery-count),4),minmax(0,1fr));
}

/* Presentación / Especialidad y Quiénes somos: bloques visuales configurables. */
.content-split{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
  align-items:center;
  gap:52px;
}
.content-split-media-right .split-content{order:1}
.content-split-media-right .split-media{order:2}
.content-split-media-left .split-media{order:1}
.content-split-media-left .split-content{order:2}
.content-split .split-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
}
.content-split .split-media img{
  display:block;
  width:100%;
  max-width:420px;
  max-height:300px;
  object-fit:cover;
  border-radius:14px;
}
.content-split .split-content{
  min-width:0;
}
.content-split h2{
  text-align:left;
  margin-bottom:24px;
}
.content-split .about,
.content-split .split-text{
  max-width:none;
  margin:0;
  text-align:left;
  color:#596579;
  font-size:17px;
  line-height:1.8;
}
.content-split.split-no-image{
  grid-template-columns:1fr;
}
.content-split.split-no-image .split-media{
  display:none;
}

/* Cómo trabajamos: cuatro pasos en una sola fila en escritorio para evitar una segunda línea innecesaria. */
.process-section{
  padding-top:58px!important;
  padding-bottom:58px!important;
}
.process-section .services{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px;
}
.process-section .service{
  padding:22px 18px!important;
  box-shadow:none;
}
.process-section .service p{
  margin-bottom:0;
}
@media(max-width:900px){
  .process-section{
    padding-top:50px!important;
    padding-bottom:50px!important;
  }
  .process-section .services{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .process-section{
    padding-top:45px!important;
    padding-bottom:45px!important;
  }
  .process-section .services{
    grid-template-columns:1fr!important;
  }
}

/* FAQ configurable: el contenido se genera desde config.json. */
#faq[data-module="faq"] .faq-list{
  min-height:1px;
}

@media(max-width:900px){
  .services,
  .products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .content-split{
    grid-template-columns:1fr;
    gap:28px;
  }
  .content-split-media-left .split-media,
  .content-split-media-right .split-media{
    order:1;
  }
  .content-split-media-left .split-content,
  .content-split-media-right .split-content{
    order:2;
  }
  .content-split .split-content,
  .content-split .about,
  .content-split .split-text{
    text-align:center;
  }
  .content-split h2{text-align:center}
}

@media(max-width:640px){
  .services,
  .products{
    grid-template-columns:1fr!important;
  }
  .benefit-icon{
    width:140px;
    height:140px;
  }
  .content-split{
    padding-left:18px;
    padding-right:18px;
  }
  .content-split .split-media img{
    max-width:100%;
    max-height:260px;
  }
}


/* SIDeN template — estándares explícitos de botones de soluciones. */
#soluciones .plan-link{
  color:#fff!important;
}


/* SIDeN template — centrar contenido y texto de botones de soluciones. */
#soluciones .plan-link{width:100%;text-align:center;justify-content:center;}
#soluciones .plan-card{text-align:center;}
.cta-panel{text-align:center!important;}
.cta-panel .contact-actions-siden{display:flex;justify-content:center!important;align-items:center;}
