/* ==========================================================================
   IE FORMS — Estilos calcados del prototipo
   Tarjeta con cabecera degradada, campos en Ubuntu Mono y pie de acciones.
   ========================================================================== */
.ief-wrap{
	--ief-bg:     var(--ie-bg, #1d1d26);
	--ief-panel:  var(--ie-bg-elevated, #24242f);
	--ief-text:   var(--ie-text, #c8c8d6);
	--ief-head:   var(--ie-heading, #fbfbfd);
	--ief-muted:  var(--ie-muted, #9c9cb0);
	--ief-teal:   var(--ie-teal, #3ac7d4);
	--ief-btn:    var(--ie-teal-btn, #007287);
	--ief-btn-h:  var(--ie-teal-deep, #0092b2);
	--ief-green:  var(--ie-green, #a8c546);
	--ief-coral:  var(--ie-coral, #ff6b6b);
	--ief-borde:  rgba(255,255,255,.14);
	--ief-mono:   var(--ie-mono, 'Ubuntu Mono', monospace);
	--ief-sans:   var(--ie-sans, 'Inter', system-ui, sans-serif);
	font-family:var(--ief-sans);
	background:var(--ief-panel);
	border:1px solid rgba(58,199,212,.22);
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 10px 40px rgba(0,0,0,.45)
}

/* ---------- Cabecera ---------- */
.ief-cab{
	background:linear-gradient(90deg,rgba(58,199,212,.14),rgba(168,197,70,.08));
	border-bottom:1px solid rgba(255,255,255,.08);
	padding:26px clamp(24px,3vw,38px)
}
.ief-cab__kicker{font-family:var(--ief-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ief-teal);margin:0 0 12px}
.ief-cab__titulo{font-family:var(--ief-mono);font-weight:400;font-size:clamp(1.3rem,2.4vw,1.85rem);line-height:1.25;color:var(--ief-head);margin:0 0 10px}
.ief-intro{font-size:clamp(.9375rem,.45vw + .82rem,1.125rem);font-weight:300;line-height:1.7;color:var(--ief-text);margin:0;max-width:none}

/* ---------- Cuerpo ---------- */
.ief-form{padding:clamp(24px,3vw,38px)}
.ief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:18px;margin-bottom:18px}
.ief-field{grid-column:auto;min-width:0}
.ief-w100,.ief-field--consent,.ief-field--html{grid-column:1/-1}
@media (min-width:641px){
	.ief-w50{grid-column:span 1}
	.ief-w66,.ief-w33{grid-column:span 1}
}

.ief-label{display:block;font-family:var(--ief-mono);font-size:13px;letter-spacing:normal;text-transform:none;color:var(--ief-text);margin-bottom:9px}
.ief-req{color:var(--ief-coral)}
.ief-ayuda{font-size:12.5px;font-weight:300;color:var(--ief-muted);margin:7px 0 0}
.ief-error{font-family:var(--ief-mono);font-size:12.5px;color:var(--ief-coral);margin:7px 0 0;display:none}
.ief-error.is-on{display:block}

/* ---------- Campos ---------- */
.ief-wrap .ief-input{
	width:100%;box-sizing:border-box;
	background:var(--ief-bg)!important;
	border:1px solid var(--ief-borde)!important;
	border-radius:8px!important;
	padding:15px!important;margin:0!important;height:auto!important;
	color:var(--ief-head)!important;
	font-family:var(--ief-mono)!important;font-size:15px!important;font-weight:400!important;line-height:1.4!important;
	box-shadow:none!important;
	transition:border-color .18s
}
.ief-wrap .ief-input::placeholder{color:var(--ief-muted)!important;opacity:1}
.ief-wrap .ief-input:focus{border-color:var(--ief-teal)!important;outline:none!important;box-shadow:none!important}
.ief-wrap .ief-textarea{
	font-family:var(--ief-sans)!important;font-weight:300!important;font-size:16px!important;line-height:1.7!important;
	min-height:auto;resize:vertical;padding:15px!important
}
.ief-wrap .ief-select{
	appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:42px!important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c9cb0' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
	background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:18px!important
}
.ief-field.has-error .ief-input{border-color:var(--ief-coral)!important}

/* ---------- Chips ---------- */
.ief-chips{display:flex;flex-wrap:wrap;gap:10px}
.ief-chip{position:relative;cursor:pointer}
.ief-chip input{position:absolute;opacity:0;width:0;height:0}
.ief-chip span{
	display:inline-block;font-family:var(--ief-mono);font-size:14px;
	padding:11px 16px;border-radius:8px;
	background:var(--ief-bg);border:1px solid var(--ief-borde);color:var(--ief-text);
	transition:all .18s
}
.ief-chip:hover span{border-color:rgba(58,199,212,.5);color:var(--ief-head)}
.ief-chip.is-on span,.ief-chip input:checked+span{background:rgba(58,199,212,.14);border-color:var(--ief-teal);color:var(--ief-teal)}

/* ---------- Radios y casillas ---------- */
.ief-opciones{display:grid;gap:11px}
.ief-opcion{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.95rem;font-weight:300;line-height:1.7;color:var(--ief-text)}
.ief-opcion input{margin-top:3px;width:20px;height:20px;accent-color:var(--ief-teal);flex-shrink:0}

/* ---------- Consentimiento ---------- */
.ief-field--consent{margin-bottom:24px}
.ief-consent,.iel-consent{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.95rem;font-weight:300;line-height:1.7;color:var(--ief-text)}
.ief-consent input,.iel-consent input{width:20px;height:20px;accent-color:var(--ief-teal);margin-top:2px;flex-shrink:0}
.ief-consent a,.iel-consent a{color:var(--ief-teal)}

/* ---------- Pie de acciones ---------- */
.ief-submit{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:0}
.ief-wrap .ief-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	background:var(--ief-btn)!important;border:0!important;color:#fff!important;
	font-family:var(--ief-mono)!important;font-weight:700!important;font-size:16px!important;line-height:1!important;
	padding:16px 28px!important;margin:0!important;height:auto!important;
	border-radius:8px!important;box-shadow:none!important;cursor:pointer;
	transition:background .18s
}
.ief-wrap .ief-btn:hover{background:var(--ief-btn-h)!important;animation:ief-pulse 1.6s cubic-bezier(.25,.6,.2,1) infinite}
@keyframes ief-pulse{0%{box-shadow:0 0 0 0 rgba(0,146,178,.45)}70%{box-shadow:0 0 0 18px rgba(0,146,178,0)}100%{box-shadow:0 0 0 0 rgba(0,146,178,0)}}
.ief-wrap .ief-btn--outline{background:transparent!important;border:1px solid var(--ief-borde)!important;color:var(--ief-head)!important;font-weight:400!important}
.ief-wrap .ief-btn--whatsapp{background:transparent!important;border:1px solid rgba(168,197,70,.45)!important;color:var(--ief-green)!important;font-weight:400!important;padding:15px 22px!important}
.ief-wrap .ief-btn--whatsapp:hover{border-color:var(--ief-green)!important;background:transparent!important;animation:none}
.ief-wrap .ief-btn:disabled{opacity:.7;cursor:progress;animation:none}
.ief-wrap .ief-btn:focus-visible{outline:2px solid var(--ief-teal);outline-offset:3px}
.ief-nota{font-family:var(--ief-mono);font-size:13px;color:var(--ief-text);margin:0}

/* Indicador de envío */
.ief-loading{display:none;align-items:center;gap:9px}
.htmx-request .ief-btn__txt{display:none}
.htmx-request .ief-loading{display:inline-flex}
.ief-spin{width:15px;height:15px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:ief-spin .7s linear infinite}
@keyframes ief-spin{to{transform:rotate(360deg)}}

/* Honeypot */
.ief-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Avisos ---------- */
.ief-aviso{border-radius:10px;padding:15px 18px;margin:0 0 20px;font-size:14.5px;font-weight:300;line-height:1.6}
.ief-aviso--error{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.4);color:#ffb3b3}
.ief-aviso--error strong{color:#ffd0d0}
.ief-aviso ul{margin:8px 0 0 1.1em;padding:0;display:grid;gap:4px}

/* ---------- Éxito ---------- */
.ief-exito{padding:clamp(40px,5vw,64px) clamp(24px,3vw,38px);text-align:center;animation:ief-in .35s cubic-bezier(.2,.8,.2,1)}
@keyframes ief-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ief-exito__icono{display:block;color:var(--ief-green);margin:0 auto 22px;width:50px;height:50px;background:none;border-radius:0}
.ief-exito__icono svg{width:50px;height:50px}
.ief-exito__titulo{font-family:var(--ief-mono);font-weight:400;font-size:1.6rem;color:var(--ief-head);margin:0 0 14px}
.ief-exito__texto{font-size:clamp(.9375rem,.45vw + .82rem,1.125rem);font-weight:300;line-height:1.8;color:var(--ief-text);margin:0 auto 26px;max-width:46ch}
.ief-exito .ief-btn--whatsapp{background:var(--ief-green)!important;border:0!important;color:#1d1d26!important;font-weight:700!important;font-size:15px!important;padding:14px 22px!important}

/* ---------- Variante compacta (libro, popups) ---------- */
.ief-wrap--compacto{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.ief-wrap--compacto .ief-form{padding:0}
.ief-wrap--compacto .ief-cab{display:none}
