/* Segunda versión (11 nov): cabecera con ilustración, carrusel del LMS,
   selector vertical, públicos, acompañamiento y bandas con ilustración */
.portada .cont{grid-template-columns:.92fr 1.08fr;min-height:640px}
.portada h1{font-size:62px}
.ilustra{position:relative;display:flex;align-items:center;justify-content:center;min-height:540px}
.ilustra::before{content:"";position:absolute;left:2%;right:0;top:6%;bottom:4%;background:radial-gradient(ellipse at 50% 45%,#ffffff 0%,#f6ecff 55%,#ead9ff 100%);border-radius:46% 54% 50% 50% / 55% 48% 52% 45%;box-shadow:0 30px 70px rgba(30,0,90,.35)}
.ilustra img{position:relative;width:100%;max-width:700px}

/* Carrusel del LMS */
.carrusel{max-width:1040px;margin:44px auto 0;position:relative}
.carrusel .marco{border-radius:22px;padding:3px;background:linear-gradient(120deg,var(--rosa),var(--violeta),var(--indigo));box-shadow:0 26px 60px rgba(72,0,184,.22)}
.carrusel .ventana{border-radius:19px;overflow:hidden;position:relative;aspect-ratio:16/9;background:#111}
.carrusel .ventana img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.carrusel .ventana img.activa{opacity:1}
.carrusel .flecha{position:absolute;top:45%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:0 4px 16px rgba(40,10,90,.25);font-size:24px;line-height:1;color:var(--magenta-osc)}
.carrusel .flecha.ant{left:-24px}
.carrusel .flecha.sig{right:-24px}
.carrusel .puntos{display:flex;gap:14px;justify-content:center;margin-top:24px}
.carrusel .puntos button{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--linea)}
.carrusel .puntos button.activa{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--magenta-osc)}
.carrusel .pie-car{margin-top:14px;font-size:16px;color:var(--texto-2)}

/* Selector vertical de productos */
.eco{display:grid;grid-template-columns:400px 1fr;gap:34px;margin-top:52px;align-items:stretch}
.eco .col{display:flex;flex-direction:column;gap:12px}
.eco .col button{display:flex;align-items:center;gap:16px;text-align:left;padding:14px 18px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);transition:box-shadow .15s,background .15s}
.eco .col button img{width:54px;height:54px;object-fit:contain;flex:0 0 54px}
.eco .col button b{display:block;font-size:19px;font-weight:600;line-height:1.2}
.eco .col button b i{font-style:normal;font-weight:300}
.eco .col button span{display:block;font-size:14px;color:var(--texto-2);margin-top:2px}
.eco .col button.activo{background:linear-gradient(120deg,#f7eaff,#fff);box-shadow:inset 0 0 0 2px var(--magenta-osc),0 10px 26px rgba(120,20,200,.16)}
.eco .col button.activo b{color:var(--magenta-osc)}
.eco .lienzo{border-radius:24px;background:linear-gradient(140deg,#faf5ff 0%,#fff 60%);box-shadow:inset 0 0 0 1px var(--linea);position:relative;overflow:hidden}
.eco .ficha{display:none;grid-template-columns:1fr 280px;gap:30px;align-items:center;padding:56px;height:100%}
.eco .ficha.activo{display:grid}
.eco .ficha h3{margin:22px 0 14px;font-size:30px}
.eco .ficha p{font-size:18px;margin-bottom:28px;max-width:560px}
.eco .ficha .dib{width:280px;justify-self:end}
.eco .lienzo::after{content:"";position:absolute;right:-30px;bottom:-20px;width:240px;height:160px;background:url(../img/decoracion-circuitos.png) no-repeat right bottom/contain;opacity:.3;pointer-events:none}

/* Públicos (tres columnas) */
.publicos .tres-pub{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:54px}
.pub{border-radius:20px;padding:38px 34px;background:linear-gradient(160deg,#faf5ff 0%,#fff 70%);box-shadow:inset 0 0 0 1px #e6d8fa}
.pub img{height:74px;margin-bottom:20px}
.pub h3{font-size:28px;font-weight:500;margin-bottom:12px}
.pub p{font-size:17px;margin-bottom:20px}
.sectores h3.sub{font-size:32px;font-weight:300;text-align:center;margin-top:84px}
.sectores .rejilla{margin-top:40px}

/* Acompañamiento */
.acomp .caja{display:grid;grid-template-columns:330px 1fr;gap:60px;align-items:center}
.acomp .caja > img{width:330px}
.acomp h2{margin:8px 0 14px}
.acomp .pasos{display:grid;grid-template-columns:1fr 1fr;gap:26px 36px;margin-top:34px}
.acomp .paso{display:flex;gap:18px;align-items:flex-start}
.acomp .paso img{width:52px;flex:0 0 52px}
.acomp .paso b{display:block;font-size:20px;font-weight:600;margin-bottom:4px}
.acomp .paso p{font-size:17px;color:var(--texto)}

/* Bandas con ilustración */
.banda .grupo{position:relative;justify-self:center;width:400px;height:340px}
.banda .grupo::before{content:"";position:absolute;inset:6% 0 0 4%;background:radial-gradient(ellipse at 50% 45%,#fff 0%,#f3e6ff 70%,#e6d3ff 100%);border-radius:50% 50% 46% 54% / 52% 55% 45% 48%;box-shadow:0 20px 50px rgba(20,0,70,.35)}
.banda .grupo img{position:absolute}
.banda .grupo .g1{left:12%;top:12%;width:58%}
.banda .grupo .g2{right:-2%;bottom:0;width:46%}
.banda .grupo .g3{left:2%;bottom:8%;width:26%}

/* Cifras en cuatro */
.cifras .caja{grid-template-columns:1fr 280px}
.cifras .tres{grid-template-columns:repeat(3,1fr);gap:40px}
.cifras .num{font-size:74px}
.cifras .tres > div:nth-child(4) .num{color:var(--violeta)}
.cifras .tres p{font-size:17px}
.cifras .adorno{width:280px;margin-bottom:0;align-self:center}

@media (max-width:1100px){
  .ilustra{min-height:0;margin-top:20px}
  .eco{grid-template-columns:1fr}
  .eco .ficha.activo{grid-template-columns:1fr;padding:34px 26px}
  .eco .ficha .dib{display:none}
  .publicos .tres-pub,.acomp .caja,.acomp .pasos{grid-template-columns:1fr}
  .acomp .caja > img,.banda .grupo{display:none}
  .cifras .tres{grid-template-columns:1fr 1fr}
}

/* ---------- Pantallas estrechas (portátil pequeño, panel lateral, tableta, móvil) ---------- */
.cab .hamb{display:none}
@media (max-width:1180px){
  .cab .cont{height:70px;gap:14px}
  .cab .logo img{height:62px}
  .cab .hamb{display:flex;flex-direction:column;gap:5px;margin-left:auto;padding:10px;border-radius:8px}
  .cab .hamb i{display:block;width:24px;height:2px;background:#fff;border-radius:2px}
  .cab.fija .hamb i,.cab.abierta .hamb i,.cab.movil .hamb i{background:var(--texto)}
  .cab .der{margin-left:0}
  .cab .der .btn-2{display:none}
  .cab nav{display:none}
  .cab.movil{background:#fff;box-shadow:0 1px 0 var(--linea)}
  .cab.movil .logo .oscuro{display:none}
  .cab.movil .logo .claro{display:block}
  .cab.movil .der .btn-1{background:var(--magenta-osc);color:#fff}
  .cab.movil nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:70px;background:#fff;padding:10px 20px 18px;box-shadow:0 18px 40px rgba(20,10,60,.16);gap:0}
  .cab.movil nav > button{color:var(--texto);justify-content:space-between;padding:14px 6px;border-bottom:1px solid var(--linea);border-radius:0}
  .mega{position:fixed;top:70px;bottom:0;overflow:auto}
  .mega .cont,.mega.simple .cont{display:block;padding:16px 20px 30px}
  .mega .lista{padding:10px;border-radius:12px}
  .mega .detalle{padding:20px 4px}
  .mega .enlaces,.mega.simple .enlaces{grid-template-columns:1fr}

  .portada{margin-top:-70px;padding-top:70px}
  .portada .cont{grid-template-columns:1fr;min-height:0;gap:10px;padding-top:36px;padding-bottom:20px}
  .portada h1{font-size:46px;line-height:1.05}
  .ilustra{min-height:0;max-width:560px;margin:10px auto 0;width:100%}
  .ilustra::before{inset:4% 0 2% 0}
  section{padding:64px 0}
  h2{font-size:34px}
  .carrusel .flecha.ant{left:6px}
  .carrusel .flecha.sig{right:6px}
  .eco .col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .ciclo .cuerpo{grid-template-columns:1fr;gap:30px}
  .ciclo .lienzo{min-height:0;padding:20px}
  .ciclo .lienzo img{max-height:220px}
  .sectores .rejilla{grid-template-columns:repeat(2,1fr)}
  .banda .caja,.banda.c .caja{grid-template-columns:1fr;min-height:0;padding:44px 34px;border-radius:28px}
  .banda h2{font-size:34px}
  .cifras .caja{grid-template-columns:1fr;padding:44px 34px;border-radius:28px}
  .cifras .adorno{display:none}
  .faq .dos{grid-template-columns:1fr}
  .tres-col{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .cont{padding:0 18px}
  .portada h1{font-size:36px}
  .cinta span{font-size:18px}
  .marca-prod{font-size:30px}
  h2{font-size:28px}
  .eco .col,.sectores .rejilla,.cifras .tres,.acomp .pasos,.publicos .tres-pub,footer .cols{grid-template-columns:1fr}
  .cifras .num{font-size:60px}
  .anuncio{font-size:13px}
  .cab .der .btn-1{display:none}
  .acord .fila > button{font-size:18px}
}

html,body{overflow-x:hidden}

/* Tercera ronda: titular en negrita, carrusel con vistas, bandas sin icono suelto */
.portada h1{font-weight:600;letter-spacing:-1px}
.carrusel .vistas{display:flex;gap:10px;justify-content:center;margin-bottom:22px}
.carrusel .vistas button{padding:9px 18px;border-radius:999px;font-size:16px;color:var(--texto-2);box-shadow:inset 0 0 0 1px var(--linea);background:#fff}
.carrusel .vistas button.activa{color:#fff;background:var(--magenta-osc);box-shadow:none}
.carrusel .pie-car{font-size:18px;color:var(--texto)}
.banda .grupo .g1{left:6%;top:10%;width:60%}
.banda .grupo .g2{right:0;bottom:2%;width:48%}

.tarjeta img.ico{height:64px;width:auto;margin-bottom:16px}

/* Enlace «Ver más» en forma de pastilla y tarjetas de sector enlazadas */
.vermas{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;font-size:16px;font-weight:500;color:var(--magenta-osc);box-shadow:inset 0 0 0 1.5px var(--magenta-osc);transition:background .15s,color .15s}
.vermas::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.vermas:hover{background:var(--magenta-osc);color:#fff}
.vermas:hover::after{transform:translateX(3px) rotate(45deg)}
.pub{display:flex;flex-direction:column;align-items:flex-start;transition:transform .15s,box-shadow .15s}
.pub p{flex:1}
.pub:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #d9c2f7,0 14px 30px rgba(120,20,200,.14)}
a.tarjeta.enl{display:block;color:inherit;transition:transform .15s,box-shadow .15s}
a.tarjeta.enl p{margin-bottom:0}
a.tarjeta.enl:hover{transform:translateY(-3px);box-shadow:0 0 0 1.5px var(--magenta-osc),0 12px 26px rgba(120,20,200,.16)}

/* Respuestas largas de las preguntas frecuentes */
.acord .resp p{margin-bottom:12px}
.acord .resp ul{margin:4px 0 14px 20px}
.acord .resp li{margin-bottom:8px}
.acord .resp h5{font-size:17px;font-weight:600;margin:14px 0 4px}
.acord .resp a{color:var(--magenta-osc);text-decoration:underline}

.eco .col button img[src$=".svg"]{border-radius:13px}

/* Arreglo de los menús desplegables: el panel heredaba la altura fija de la barra */
.cab .mega .cont{height:auto;align-items:stretch;gap:0}
.cab .mega.simple .cont{display:block;height:auto}
.mega{border-radius:0 0 18px 18px;overflow:hidden}
.mega.simple .enlaces a{padding:16px 18px}
.mega.simple .enlaces a b{font-size:18px;margin-bottom:4px}
.mega .detalle .btn{margin-bottom:6px}

/* Menú: enlaces directos junto a los desplegables */
.cab nav > a{display:flex;align-items:center;padding:10px 12px;font-size:17px;font-weight:600;color:#fff;border-radius:8px}
.cab.fija nav > a,.cab.abierta nav > a{color:var(--texto)}
.cab nav > a:hover,.cab nav > button:hover{background:rgba(255,255,255,.14)}
.cab.fija nav > a:hover,.cab.fija nav > button:hover,.cab.abierta nav > a:hover,.cab.abierta nav > button:hover{background:var(--gris-2)}
@media (max-width:1180px){.cab.movil nav > a{color:var(--texto);padding:14px 6px;border-bottom:1px solid var(--linea);border-radius:0}}
