/* Emprende digital ([lnp_emprende] en la página de Linterna Core). Usa los tokens --lnc-* del sitio. */
.lnp-emp { max-width: 1180px; margin: 0 auto; }
.lnp-emp [hidden] { display: none !important; }

/* Formulario */
.lnp-emp__form { max-width: 720px; margin: 0 auto; padding: 32px; border: 1px solid var(--lnc-line); border-radius: 24px; background: #fff; box-shadow: 0 30px 60px -40px rgba(17, 18, 20, .35); }
.lnc .lnp-emp__pasos { display: flex; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; counter-reset: p; }
.lnp-emp__pasos li { flex: 1; counter-increment: p; padding-top: 10px; border-top: 4px solid var(--lnc-line); font-size: 13px; font-weight: 700; color: var(--lnc-muted); }
.lnp-emp__pasos li::before { content: counter(p) ". "; }
.lnp-emp__pasos li.is-on { border-color: var(--lnc-mint); color: var(--lnc-ink); }
.lnp-emp__pasos li.is-ok { border-color: var(--lnc-blue); color: var(--lnc-blue); }
.lnp-emp fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: 16px; }
.lnc .lnp-emp legend { margin-bottom: 4px; padding: 0; font-family: var(--lnc-display); font-size: 24px; font-weight: 600; }
.lnp-emp label { display: grid; gap: 6px; font-size: 14.5px; font-weight: 600; color: var(--lnc-ink); }
.lnc .lnp-emp input[type="text"], .lnc .lnp-emp input[type="tel"], .lnc .lnp-emp input[type="email"], .lnc .lnp-emp select, .lnc .lnp-emp textarea { width: 100%; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--lnc-line); border-radius: 12px; background: #fff; font: inherit; font-weight: 400; font-size: 16px; color: var(--lnc-ink); }
.lnc .lnp-emp textarea { min-height: 110px; resize: vertical; }
.lnc .lnp-emp input:focus, .lnc .lnp-emp select:focus, .lnc .lnp-emp textarea:focus { outline: 0; border-color: var(--lnc-mint); box-shadow: 0 0 0 3px rgba(54, 211, 153, .2); }
.lnp-emp__fila { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lnp-emp__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lnp-emp__chips > span { width: 100%; font-size: 14.5px; font-weight: 600; }
.lnp-emp .lnp-emp__chip { display: inline-flex; cursor: pointer; }
.lnp-emp__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lnp-emp__chip span { padding: 8px 16px; border: 1.5px solid var(--lnc-line); border-radius: 999px; font-weight: 600; font-size: 14px; transition: all .15s; }
.lnp-emp__chip input:checked + span { border-color: var(--lnc-ink); background: var(--lnc-ink); color: #fff; }
.lnp-emp__chip input:focus-visible + span { outline: 3px solid var(--lnc-mint); }
.lnp-emp .lnp-emp__logo { position: relative; display: flex; align-items: center; gap: 16px; padding: 20px; border: 2px dashed var(--lnc-line); border-radius: 16px; cursor: pointer; font-weight: 400; }
.lnp-emp__logo:hover, .lnp-emp__logo.is-ok { border-color: var(--lnc-mint); background: var(--lnc-tint); }
.lnp-emp__logo input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.lnp-emp__logo img { max-width: 120px; max-height: 70px; margin-left: auto; object-fit: contain; }
.lnp-emp .lnp-emp__color { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lnp-emp__color input[type="color"] { width: 56px; height: 40px; padding: 0; border: 1.5px solid var(--lnc-line); border-radius: 10px; background: none; cursor: pointer; }
.lnp-emp__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lnp-emp__nav { display: flex; justify-content: center; gap: 10px; margin-top: 24px; }
.lnp-emp__nav [data-emp-sig], .lnp-emp__nav [data-emp-enviar] { margin-left: 0; }
.lnp-emp__recap { margin-top: 12px; display: flex; justify-content: flex-start; }
.lnp-emp__nota { margin-top: 14px !important; font-size: 13px; color: var(--lnc-muted); text-align: center; }
.lnp-emp__error { margin-top: 14px !important; padding: 10px 14px; border-radius: 12px; background: #FEF3F2; color: #B42318; font-size: 14.5px; font-weight: 600; }

/* Progreso */
.lnp-emp__prog { max-width: 620px; margin: 0 auto; padding: 32px; border-radius: 24px; background: #111214; color: #fff; }
.lnp-emp__barra { height: 6px; border-radius: 999px; background: rgba(255, 255, 255, .14); overflow: hidden; }
.lnp-emp__barra i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--lnc-mint); transition: width 1.5s ease; }
.lnc .lnp-emp__prog ol { display: grid; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.lnp-emp__prog li { position: relative; padding-left: 28px; color: rgba(255, 255, 255, .45); }
.lnp-emp__prog li::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .25); box-sizing: border-box; }
.lnp-emp__prog li.is-on { color: #fff; }
.lnp-emp__prog li.is-on::before { border-color: var(--lnc-mint); border-right-color: transparent; animation: lnp-emp-g .8s linear infinite; }
.lnp-emp__prog li.is-ok { color: rgba(255, 255, 255, .8); }
.lnp-emp__prog li.is-ok::before { background: var(--lnc-mint); border-color: var(--lnc-mint); }
.lnp-emp__prog .lnp-emp__nota { color: #BFC3CC; }
@keyframes lnp-emp-g { to { transform: rotate(360deg); } }
/* Datos opcionales mientras se genera (v0.32.0) */
.lnp-emp__mientras { display: grid; gap: 10px; margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); }
.lnp-emp__mientras .lnp-emp__k { color: var(--lnc-mint); }
.lnc .lnp-emp__mientras h3 { margin: 0; font-family: var(--lnc-display); font-size: 20px; font-weight: 600; line-height: 1.25; color: #fff; }
.lnp-emp__mientras > p { margin: 0; color: #BFC3CC; font-size: 14.5px; }
.lnp-emp__mientras-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lnp-emp__mientras-campos label:first-child { grid-column: 1 / -1; }
.lnp-emp__mientras label { display: grid; gap: 4px; color: #DADDE3; font-size: 13.5px; }
.lnc .lnp-emp__mientras input { min-height: 46px; padding: 0 14px; border: 1.5px solid #3A3D44; border-radius: 12px; background: #1D1F23; color: #fff; font: inherit; font-size: 16px; }
.lnc .lnp-emp__mientras input:focus { outline: none; border-color: var(--lnc-mint); }
.lnp-emp__mientras-acc { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.lnc .lnp-emp__mientras-no { padding: 0; border: 0; background: none; color: #BFC3CC; font: inherit; font-size: 14px; text-decoration: underline; cursor: pointer; }
.lnc .lnp-emp__mientras-no:hover { color: #fff; }
.lnp-emp__mientras .lnp-emp__nota { margin: 0 !important; color: #8D93A0; font-size: 12.5px; }
.lnp-emp__mientras-ok { margin-top: 22px !important; padding: 12px 16px; border-radius: 14px; background: rgba(54, 211, 153, .12); color: #DFF7EC; font-size: 14.5px; }
@media (max-width: 520px) { .lnp-emp__mientras-campos { grid-template-columns: 1fr; } }

/* Resultado */
.lnp-emp__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 18px; }
.lnp-emp__k { margin: 0 0 6px !important; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lnc-blue); }
.lnc .lnp-emp__top h2 { font-family: var(--lnc-display); font-size: clamp(26px, 3.4vw, 36px); font-weight: 600; letter-spacing: -.02em; }
.lnp-emp__sub { margin-top: 8px !important; color: var(--lnc-ink-2); max-width: 62ch; }
.lnp-emp__disp { display: inline-flex; padding: 4px; border-radius: 999px; background: #F2F4F6; }
.lnp-emp__disp button { padding: 8px 16px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: 14px; font-weight: 600; color: var(--lnc-muted); cursor: pointer; }
.lnp-emp__disp button[aria-pressed="true"] { background: #fff; color: var(--lnc-ink); box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
.lnp-emp__ok { margin: 0 0 14px !important; padding: 12px 16px; border-radius: 14px; background: var(--lnc-tint); color: #08281B; }
.lnp-emp__marco { border-radius: 18px; overflow: hidden; background: #E9EBEE; box-shadow: 0 40px 80px -40px rgba(17, 18, 20, .45); transition: max-width .3s ease; margin: 0 auto; max-width: 100%; }
.lnp-emp__marco.is-movil { max-width: 400px; border-radius: 34px; padding: 0 6px 6px; background: #111214; }
/* Ocultar badge/ícono de reCAPTCHA v3 para no tapar el botón de WhatsApp */
.grecaptcha-badge { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.lnp-emp__bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; }
.lnp-emp__bar i { width: 11px; height: 11px; border-radius: 50%; background: #C9CDD3; }
.lnp-emp__bar span { margin-left: 12px; padding: 4px 14px; border-radius: 999px; background: #fff; font-size: 12.5px; color: var(--lnc-muted); }
.is-movil .lnp-emp__bar { justify-content: center; padding: 12px; }
.is-movil .lnp-emp__bar i { display: none; }
.is-movil .lnp-emp__bar span { margin: 0; background: #2A2D33; color: #DADDE3; }
.lnp-emp__vista { position: relative; background: #fff; }
.is-movil .lnp-emp__vista { border-radius: 0 0 28px 28px; overflow: hidden; }
.lnp-emp__vista iframe { display: block; width: 100%; height: 900px; border: 0; }
.lnp-emp__lock { position: absolute; left: 50%; top: 600px; transform: translateX(-50%); width: min(440px, calc(100% - 24px)); display: grid; gap: 10px; padding: 26px; border-radius: 22px; background: #111214; color: #fff; box-shadow: 0 30px 70px rgba(17, 18, 20, .45); }
.lnp-emp__lock .lnp-emp__k { color: var(--lnc-mint); }
.lnc .lnp-emp__lock h3 { font-family: var(--lnc-display); font-size: 23px; font-weight: 600; color: #fff; }
.lnp-emp__lock > p { color: #BFC3CC; font-size: 14.5px; }
.lnp-emp__lock label { color: #DADDE3; font-size: 13.5px; }
.lnc .lnp-emp__lock input { min-height: 46px; border-color: #3A3D44; background: #1D1F23; color: #fff; }
.lnp-emp__lock .lnp-emp__nota { color: #8D93A0; margin-top: 4px !important; }
.lnp-emp__bloque { margin-top: 34px; }
.lnc .lnp-emp__bloque h3 { margin-bottom: 14px; font-family: var(--lnc-display); font-size: 22px; font-weight: 600; }
.lnp-emp__comps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.lnp-emp__comp { display: grid; gap: 6px; padding: 18px; border: 1px solid var(--lnc-line); border-radius: 16px; background: #fff; }
.lnp-emp__comp > span { font-size: 13px; color: var(--lnc-blue); overflow-wrap: anywhere; }
.lnp-emp__comp p { font-size: 14.5px; color: var(--lnc-ink-2); }
.lnp-emp__dif { margin-top: 14px !important; padding: 14px 18px; border-left: 4px solid var(--lnc-mint); background: #F6F7F8; border-radius: 0 12px 12px 0; }
.lnp-emp__equipo { padding: 20px; border-radius: 16px; background: #FFFAEB; }
.lnp-emp__equipo ul { margin: 0 0 8px; padding-left: 20px; }
.lnp-emp__plan { display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: center; margin-top: 34px; padding: 32px; border-radius: 24px; background: #111214; color: #fff; }
.lnp-emp__plan .lnp-emp__k { color: var(--lnc-mint); }
.lnc .lnp-emp__plan h3 { font-family: var(--lnc-display); font-size: clamp(24px, 3vw, 30px); font-weight: 600; color: #fff; }
.lnp-emp__plan p { margin-top: 10px !important; color: #BFC3CC; }
.lnp-emp__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.lnp-emp__plan .lnc-btn--ghost { border-color: #fff; color: #fff; }
.lnp-emp__plan .lnc-btn--ghost:hover { background: #fff; color: var(--lnc-ink); }
.lnc .lnp-emp__precio { display: grid; gap: 0; margin: 0; padding: 6px 20px; list-style: none; border-radius: 18px; background: #1D1F23; }
.lnp-emp__precio li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; border-bottom: 1px solid #2A2D35; }
.lnp-emp__precio li span { color: #BFC3CC; }
.lnp-emp__precio li strong { font-family: var(--lnc-display); font-size: 22px; color: var(--lnc-mint); }
.lnp-emp__precio li strong small { font-size: 13px; color: #BFC3CC; }
.lnp-emp__precio .lnp-emp__precio-n { display: block; border: 0; font-size: 12.5px; color: #8D93A0; }

@media (max-width: 700px) {
	.lnp-emp__form, .lnp-emp__prog { padding: 22px; }
	.lnp-emp__fila { grid-template-columns: 1fr; }
	.lnp-emp__plan { grid-template-columns: 1fr; padding: 22px; }
	.lnp-emp__marco:not(.is-movil) .lnp-emp__bar span { margin-left: 4px; }
}

/* v0.33.0: estructura animada y datos de contacto antes de generar */
.lnc .lnp-emp__gancho h3 { margin: 4px 0 18px; font-family: var(--lnc-display); font-size: 22px; font-weight: 600; line-height: 1.25; color: #fff; }
.lnp-emp__gancho .lnp-emp__k { color: var(--lnc-mint); }
.lnp-emp__gancho .lnp-emp__barra i { transition: width 900ms cubic-bezier(.23, 1, .32, 1); }
.lnp-emp__gancho .lnp-emp__mientras { margin-top: 0; padding-top: 0; border-top: 0; }
.lnc .lnp-emp__gancho .lnp-emp__mientras h3 { margin: 0; }
.lnp-emp__datos .lnc-btn:active { transform: scale(.97); }
@media (prefers-reduced-motion: reduce) { .lnp-emp__gancho .lnp-emp__barra i { transition: none; } }
.lnp-emp { scroll-margin-top: 100px; }

/* v0.33.3: "Opcional" bien visible en los datos de contacto */
.lnp-emp__lbl { display: flex; align-items: center; gap: 8px; }
.lnp-emp .lnp-emp__opc { display: inline-block; padding: 2px 9px; border-radius: 999px; background: rgba(54, 211, 153, .16); border: 1px solid rgba(54, 211, 153, .55); color: var(--lnc-mint); font-size: 12px; font-style: normal; font-weight: 700; line-height: 1.5; }
.lnp-emp__campos-par label:first-child { grid-column: auto; }
@media (max-width: 560px) { .lnp-emp__mientras-campos { grid-template-columns: 1fr; } }
