/* =========================================================
   EMMA · Páginas-formulario (Cotización / Contacto / Demo)
   Scopeado bajo .emma-form. Naranja SOLO en el CTA.
   ========================================================= */
.emma-form{
  --morado:#4D4A9E; --deep:#3A3877; --violet:#AC92EC; --green:#8DC049;
  --cta:#FD830D; --cta-hover:#e57407;
  --slate:#516377; --surface:#F6F6FB; --card:#fff;
  --line:#ECECEE; --line2:#DDDDE3; --radius:18px;
  --shadow-sm:0 1px 2px rgba(58,56,119,.06),0 8px 24px rgba(58,56,119,.05);
  --shadow-md:0 2px 6px rgba(58,56,119,.08),0 24px 60px rgba(58,56,119,.10);
  font-family:'Inter',system-ui,sans-serif;color:var(--slate);line-height:1.65;background:var(--card);
}
.emma-form :where(h1,h2,h3){color:var(--morado);line-height:1.14;letter-spacing:-.02em;margin:0}
.emma-form .emma-sec{padding:64px 24px}
.emma-form .is-surface{background:var(--surface)}
.emma-form .wrap{max-width:1080px;margin:0 auto}
.emma-form .center{text-align:center}
.emma-form .eyebrow{font-family:'Rubik',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--morado);margin:0 0 14px;display:inline-flex;align-items:center;gap:9px}
.emma-form .eyebrow::before{content:"";width:22px;height:2px;background:var(--green);border-radius:2px}
.emma-form .center .eyebrow{justify-content:center}
.emma-form h1{font-size:clamp(28px,4vw,42px);font-weight:400}
.emma-form .lead{font-size:17px;line-height:1.55;color:var(--slate);max-width:640px;margin:16px auto 0}

/* layout 2 columnas */
.emma-form .fgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:34px;align-items:start;margin-top:8px}

/* columna izquierda: cómo funciona + confianza */
.emma-form .finfo h2{font-size:22px;margin-bottom:18px}
.emma-form .steps{display:flex;flex-direction:column;gap:16px;margin:0 0 26px}
.emma-form .step{display:flex;gap:14px;align-items:flex-start}
.emma-form .step .n{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--morado);color:#fff;font-family:'Rubik',sans-serif;font-weight:600;font-size:14px;display:grid;place-items:center}
.emma-form .step b{color:var(--morado);font-size:15px;display:block;margin-bottom:2px}
.emma-form .step span{font-size:13.5px}
.emma-form .trust{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:20px}
.emma-form .trust div{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--slate)}
.emma-form .trust svg{flex:0 0 auto;width:17px;height:17px;stroke:var(--green);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.emma-form .xlink{display:inline-flex;align-items:center;gap:7px;margin-top:22px;font-weight:600;color:var(--morado);text-decoration:none;font-size:14px}

/* columna derecha: tarjeta de formulario */
.emma-form .fcard{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-md);padding:28px 28px 26px}
.emma-form .fcard h2{font-size:19px;margin-bottom:4px}
.emma-form .fcard .sub{font-size:13px;color:var(--slate);margin:0 0 20px}
.emma-form .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.emma-form .fld{margin-bottom:14px}
.emma-form .fld.full{grid-column:1 / -1}
.emma-form .fld label{display:block;font-size:12px;font-weight:600;color:var(--morado);margin-bottom:6px;letter-spacing:.01em}
.emma-form .fld .inp{height:42px;border:1px solid var(--line2);border-radius:10px;background:var(--surface);display:flex;align-items:center;padding:0 13px;font-size:13px;color:#9a9ab0}
.emma-form .fld .inp.area{height:78px;align-items:flex-start;padding-top:11px}
.emma-form .fsubmit{margin-top:20px}
.emma-form .fsubmit .btn{display:inline-flex;align-items:center;gap:8px;background:var(--cta);color:#fff;font-weight:600;font-size:15px;border:none;border-radius:12px;padding:14px 26px;cursor:pointer;text-decoration:none;box-shadow:0 10px 24px rgba(253,131,13,.28)}
.emma-form .fnote{font-size:11.5px;color:#9a9ab0;margin-top:14px;display:flex;align-items:center;gap:7px}
.emma-form .fnote svg{width:14px;height:14px;stroke:var(--violet);fill:none;stroke-width:2;flex:0 0 auto}

@media(max-width:900px){
  .emma-form .fgrid{grid-template-columns:1fr;gap:28px}
  .emma-form .emma-sec{padding:48px 20px}
  .emma-form .fcard{order:-1}            /* form primero en movil (mas accesible) */
  .emma-form .finfo .nova-shot.mini{max-width:520px;margin:0 auto 26px}
}
@media(max-width:520px){ .emma-form .frow{grid-template-columns:1fr} }

/* Figura de producto (Nova) — marco tipo navegador */
.emma-form .nova-shot{max-width:940px;margin:30px auto 0;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);background:#fff}
.emma-form .nova-shot .bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#fff;border-bottom:1px solid var(--line)}
.emma-form .nova-shot .bar i{width:10px;height:10px;border-radius:50%;background:#e0e0ea;display:block}
.emma-form .nova-shot .bar .u{margin-left:12px;height:22px;flex:1;max-width:280px;background:var(--surface);border:1px solid var(--line);border-radius:20px}
.emma-form .nova-shot .shot svg{display:block;width:100%;height:auto}

/* Figura Nova compacta dentro de la columna (form queda accesible arriba) */
.emma-form .finfo .nova-shot.mini{max-width:100%;margin:0 0 26px}
.emma-form .fgrid{align-items:start}

/* ===== Demo tour (video) ===== */
.emma-form .video-wrap{max-width:960px;margin:0 auto}

/* v7.22 — SLOT REAL DEL VIDEO.
   Antes el reproductor estaba DIBUJADO (SVG + boton de play falso) dentro
   de un bloque HTML, mas una nota "Slot: inserta aqui..." que SI se
   publicaba. Ahora el patron trae un bloque de YouTube vacio: se pega la
   URL y listo. El marco (16:9, esquinas y sombra) lo pone este CSS.
   Sirve igual para Vimeo o HubSpot Video: basta darle la clase
   .video-embed al bloque de embed que se inserte. */
.emma-form .video-wrap > *{margin-block-start:0}
.emma-form .video-embed{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);background:#12112a}
.emma-form .video-embed iframe{border:0;display:block}
.emma-form .video-embed:not(.wp-has-aspect-ratio) iframe{width:100%;height:auto;aspect-ratio:16/9}
.emma-form .video-embed figcaption{display:none}
/* La nota de montaje solo se ve dentro del editor (emma-editor.css). */
.emma-form .video-slot__hint{display:none}

.emma-form .chapters{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.emma-form .chap{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 18px;box-shadow:var(--shadow-sm)}
.emma-form .chap .cn{font-family:'Rubik',sans-serif;font-weight:700;font-size:13px;color:var(--violet);letter-spacing:.08em}
.emma-form .chap b{display:block;color:var(--morado);font-size:15px;margin:8px 0 5px;line-height:1.25}
.emma-form .chap span{font-size:12.5px;color:var(--slate);line-height:1.5}

.emma-form .center{text-align:center}
.emma-form .cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--cta);color:#fff;font-weight:600;font-size:15px;border-radius:12px;padding:14px 26px;text-decoration:none;box-shadow:0 10px 24px rgba(253,131,13,.28);margin:6px}
.emma-form .cta-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--morado);font-weight:600;font-size:15px;border:1px solid var(--line2);border-radius:12px;padding:14px 24px;text-decoration:none;margin:6px}
.emma-form .cta-ghost:hover{border-color:var(--morado)}

@media(max-width:820px){ .emma-form .chapters{grid-template-columns:repeat(2,1fr)} }
@media(max-width:480px){ .emma-form .chapters{grid-template-columns:1fr} }

/* ===== Contacto — derivaciones ===== */
.emma-form .froutes{display:flex;flex-direction:column;gap:12px;margin:6px 0 24px}
.emma-form .froute{display:flex;gap:13px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--card);transition:.16s ease}
.emma-form .froute:hover{border-color:var(--morado);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.emma-form .froute .ic{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:rgba(77,74,158,.08);display:grid;place-items:center}
.emma-form .froute .ic svg{width:19px;height:19px;stroke:var(--morado);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.emma-form .froute .tx{flex:1}
.emma-form .froute b{color:var(--morado);font-size:14px;display:block;line-height:1.2}
.emma-form .froute span{font-size:12.5px;color:var(--slate)}
.emma-form .froute .go{color:var(--morado);font-weight:600;font-size:16px}
.emma-form .channels{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.emma-form .channels a,.emma-form .channels div{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--slate);text-decoration:none}
.emma-form .channels svg{width:16px;height:16px;stroke:var(--violet);fill:none;stroke-width:2;flex:0 0 auto}
.emma-form .channels a:hover{color:var(--morado)}

/* v7.4 — audit de espaciado: el subtitulo .sub del panel de formulario
   quedaba pegado al H2 ("Escribenos" / "Solicita tu cotizacion" / "Accede a la demo"). */
.emma-form .fcard .sub{margin-top:8px}

/* =========================================================
   v7.16 — SLOT REAL DE HUBSPOT EN LA TARJETA DE FORMULARIO
   Antes el formulario estaba DIBUJADO en HTML (.fld/.inp): se veia
   bien pero no habia donde pegar el embed. Ahora la tarjeta trae un
   div .hs-slot donde se pega el embed (la estructura de la tarjeta
   sigue en UN bloque HTML, como antes: v7.15 la partio en grupos de
   Gutenberg y el editor la marco como bloque no valido).
   OJO: en el plan actual de HubSpot el embed se renderiza dentro de
   un IFRAME, asi que este CSS NO entra al formulario. Colores,
   tipografia y boton se configuran en el editor de HubSpot
   (boton #FD830D, etiquetas #4D4A9E, Inter).
   ========================================================= */

/* Slot donde se pega el embed de HubSpot. */
.emma-form .hs-slot{margin-top:20px;min-height:56px}
.emma-form .hs-slot iframe{width:100% !important;max-width:100% !important;border:0}
/* La nota de montaje solo se ve dentro del editor (emma-editor.css). */
.emma-form .hs-slot__hint{display:none}

/* Nota legal bajo el formulario. */
.emma-form .fcard .fnote{margin-top:14px;align-items:flex-start}
.emma-form .fcard .fnote svg{margin-top:2px}
.emma-form .fcard .fnote a{color:var(--morado);text-decoration:underline}

/* Por si algun dia se activa el embed "raw HTML" (requiere Marketing
   Hub Pro): el formulario nativo hereda el look de la tarjeta. */
.emma-form .hs-slot .hs-form-field{margin-bottom:14px}
.emma-form .hs-slot .hs-form-field > label{display:block;font-size:12px;font-weight:600;color:var(--morado);margin-bottom:6px}
.emma-form .hs-slot .hs-input:not([type=checkbox]):not([type=radio]){width:100%;height:42px;border:1px solid var(--line2);border-radius:10px;background:var(--surface);padding:0 13px;font-family:inherit;font-size:13px;color:#2c2b45}
.emma-form .hs-slot textarea.hs-input{height:78px;padding-top:11px}
.emma-form .hs-slot .hs-button{background:var(--cta);color:#fff;font-family:inherit;font-weight:600;font-size:15px;border:none;border-radius:12px;padding:14px 26px;cursor:pointer;box-shadow:0 10px 24px rgba(253,131,13,.28)}
.emma-form .hs-slot .hs-button:hover{background:var(--cta-hover)}
.emma-form .hs-slot .hs-error-msgs label{color:#c0392b;font-size:12px}

/* v7.17 — reemplazos de estilos inline que invalidaban bloques. */
.emma-form .emma-sec.no-top{padding-top:0}
.emma-form .wp-block-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:0}

/* =========================================================
   v7.21 — ALINEACION DE LA TARJETA DEL FORMULARIO
   Sintoma: la tarjeta .fcard arrancaba MAS ABAJO que la imagen de
   la columna de al lado, y por dentro quedaba mas suelta de lo
   disenado.
   Causa: al pasar .fgrid y .fcard a bloques de grupo (v7.16/v7.20),
   WordPress separa los hermanos de un grupo con block gap
   (margin-block-start). Como .fgrid es un grid con align-items:start,
   ese margen empuja la tarjeta hacia abajo y la desalinea.
   Fix: anular el block gap dentro de .fgrid y .fcard, que ya traen
   su propio espaciado, y devolver a mano el aire del slot y la nota.
   ========================================================= */
.emma-form .fgrid > *{margin-block-start:0}
.emma-form .fcard > *{margin-block-start:0}
.emma-form .fcard > .hs-slot{margin-block-start:20px}
.emma-form .fcard > .fnote{margin-block-start:14px}
