/* =====================================================================
 * Ketin 2.0 — Newsletter Optin · kem2-newsletter.css · v1.0.1 · 2026-07-25
 * Defaults de fábrica SIN !important: todo lo editado en Design gana.
 *
 * Changelog 1.0.1: faltaba font-family en todos los elementos
 * tipográficos (título, eyebrow, texto, input, botón, consentimiento,
 * mensajes) — comparado contra el prototipo original del design system
 * (kem-modules.css: .kem-newsletter-inner h3, .kem-newsletter-copy),
 * que sí las declara. Sin esto el módulo heredaba el sans del tema
 * (Open Sans) en vez de las fuentes de marca. Se agregan variables
 * locales (--kem2nl-serif/--kem2nl-sans, con override en
 * .kem2-nl-id-ptf) y se aplican a cada elemento.
 * =================================================================== */

.kem2-nl{
	position:relative;
	overflow:hidden;
	--kem2nl-media-w:220px;
	--kem2nl-input-w:250px;
	--kem2nl-icon-size:260px;
	--kem2nl-icon-color:#ffffff;
	--kem2nl-icon-op:.08;
	/* Fuentes del design system (fix 1.0.1): faltaban por completo, el
	   módulo caía al sans del tema (Open Sans) en vez de usar las
	   fuentes de marca que ya se cargan en todo el sitio. */
	--kem2nl-serif:'Source Serif 4', Georgia, serif;
	--kem2nl-sans:'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.kem2-nl-id-ptf{
	--kem2nl-serif:'Newsreader', Georgia, serif;
	--kem2nl-sans:'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Full-bleed: rompe el contenedor de la sección Divi. */
.kem2-nl-fullbleed{
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}

/* --- Esquemas / identidades (solo carga default, editable en Design) --- */
.kem2-nl-dark.kem2-nl-id-ziht{background:linear-gradient(120deg,#4c1fd6,#2f00b8);}
.kem2-nl-dark.kem2-nl-id-ptf{background:linear-gradient(120deg,#3f6b3f,#16301c);}
.kem2-nl-light{background:#f5f4fb;}
.kem2-nl-light.kem2-nl-id-ptf{background:#f2f4ec;}

/* --- Contenedor interno --- */
.kem2-nl-inner{
	position:relative;
	z-index:1;
	max-width:1200px;
	margin:0 auto;
	padding:52px 24px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:32px;
	flex-wrap:wrap;
}
.kem2-nl-compact .kem2-nl-inner{padding:26px 24px;}

/* --- Copy --- */
.kem2-nl-copy{max-width:480px;}
.kem2-nl-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;}
.kem2-nl-eyebrow-line{display:inline-block;width:22px;border-top:1px solid currentColor;}
.kem2-nl-eyebrow-text{
	font-family:var(--kem2nl-sans);
	font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.kem2-nl-dark .kem2-nl-eyebrow{color:#d9d2ff;}
.kem2-nl-dark.kem2-nl-id-ptf .kem2-nl-eyebrow{color:#d8c98a;}
.kem2-nl-light .kem2-nl-eyebrow{color:#4c1fd6;}
.kem2-nl-light.kem2-nl-id-ptf .kem2-nl-eyebrow{color:#3f6b3f;}

.kem2-nl-title{font-family:var(--kem2nl-serif);margin:0 0 10px;font-size:26px;line-height:1.25;}
.kem2-nl-dark .kem2-nl-title{color:#ffffff;}
.kem2-nl-light .kem2-nl-title{color:#12143c;}

.kem2-nl-text{font-family:var(--kem2nl-sans);margin:0;font-size:14.5px;line-height:1.6;}
.kem2-nl-dark .kem2-nl-text{color:#e3ddff;}
.kem2-nl-dark.kem2-nl-id-ptf .kem2-nl-text{color:#dbe6d3;}
.kem2-nl-light .kem2-nl-text{color:#3c3f66;}

/* Compacto: una línea (eyebrow/título + form); texto y media se ocultan. */
.kem2-nl-compact .kem2-nl-text,
.kem2-nl-compact .kem2-nl-media{display:none;}
.kem2-nl-compact .kem2-nl-title{margin-bottom:0;font-size:22px;}

/* --- Media --- */
.kem2-nl-media{flex:0 0 var(--kem2nl-media-w);align-self:stretch;display:flex;}
.kem2-nl-img{width:100%;height:100%;min-height:110px;object-fit:cover;display:block;}
.kem2-nl-img-ph{opacity:.85;}
.kem2-nl-dark .kem2-nl-img-ph,
.kem2-nl-dark .kem2-nl-img-phfallback{
	border:1px dashed rgba(255,255,255,.35);background:rgba(255,255,255,.06);
}
.kem2-nl-light .kem2-nl-img-ph,
.kem2-nl-light .kem2-nl-img-phfallback{
	border:1px dashed rgba(20,22,70,.3);background:rgba(20,22,70,.05);
}
.kem2-nl-img-phfallback{width:100%;min-height:110px;}

/* --- Formulario --- */
.kem2-nl-form{flex:none;}
.kem2-nl-fields{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;}
.kem2-nl-input{
	font-family:var(--kem2nl-sans);
	padding:13px 16px;font-size:14px;border-radius:2px;
	min-width:var(--kem2nl-input-w);
}
.kem2-nl-dark .kem2-nl-input{
	border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#ffffff;
}
.kem2-nl-dark .kem2-nl-input::placeholder{color:#d9d2ff;}
.kem2-nl-dark.kem2-nl-id-ptf .kem2-nl-input::placeholder{color:#cfe0c2;}
.kem2-nl-light .kem2-nl-input{
	border:1px solid #b9bcd8;background:#ffffff;color:#12143c;
}
.kem2-nl-light .kem2-nl-input::placeholder{color:#7b7ea6;}

.kem2-nl-btn{
	font-family:var(--kem2nl-sans);
	border:none;padding:13px 22px;font-weight:600;font-size:13.5px;
	cursor:pointer;border-radius:2px;
}
.kem2-nl-id-ziht .kem2-nl-btn{background:#070b34;color:#ffffff;}
.kem2-nl-id-ptf .kem2-nl-btn{background:#c9a227;color:#1c1c10;}
.kem2-nl-light.kem2-nl-id-ziht .kem2-nl-btn{background:#2f00b8;color:#ffffff;}

.kem2-nl-consent{font-family:var(--kem2nl-sans);display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:12.5px;line-height:1.5;}
.kem2-nl-dark .kem2-nl-consent{color:#e3ddff;}
.kem2-nl-light .kem2-nl-consent{color:#3c3f66;}
.kem2-nl-consent input{margin-top:2px;}
.kem2-nl-consent a{text-decoration:underline;color:inherit;}

.kem2-nl-msg{font-family:var(--kem2nl-sans);margin-top:12px;font-size:13.5px;padding:10px 14px;border-radius:2px;}
.kem2-nl-msg.kem2-nl-msg-success{background:rgba(46,160,67,.15);border:1px solid rgba(46,160,67,.5);}
.kem2-nl-msg.kem2-nl-msg-error{background:rgba(207,34,46,.15);border:1px solid rgba(207,34,46,.5);}
.kem2-nl-dark .kem2-nl-msg{color:#ffffff;}
.kem2-nl-light .kem2-nl-msg{color:#12143c;}

/* Label solo para lectores de pantalla. */
.kem2-nl-srlabel{
	position:absolute;width:1px;height:1px;margin:-1px;padding:0;
	overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* --- Decoración: icono de Divi o anillo de la maqueta --- */
.kem2-nl-decor{
	position:absolute;z-index:0;pointer-events:none;
	color:var(--kem2nl-icon-color);opacity:var(--kem2nl-icon-op);
}
.kem2-nl-decor-icon{
	font-family:"ETmodules";font-size:var(--kem2nl-icon-size);line-height:1;
	font-weight:400;font-style:normal;speak:none;
}
.kem2-nl-decor-ring{
	width:var(--kem2nl-icon-size);height:var(--kem2nl-icon-size);
	border:60px solid currentColor;border-radius:50%;
}
.kem2-nl-decor-tr{top:-80px;right:-80px;}
.kem2-nl-decor-tl{top:-80px;left:-80px;}
.kem2-nl-decor-br{bottom:-80px;right:-80px;}
.kem2-nl-decor-bl{bottom:-80px;left:-80px;}

/* --- Responsive --- */
@media (max-width:760px){
	.kem2-nl-inner{flex-direction:column;align-items:flex-start;}
	.kem2-nl-media{flex-basis:auto;width:100%;max-width:var(--kem2nl-media-w);}
	.kem2-nl-media-left{order:2;}
	.kem2-nl-copy{order:1;}
	.kem2-nl-form{order:3;width:100%;}
	.kem2-nl-input{min-width:0;flex:1 1 auto;width:100%;}
	.kem2-nl-fields{width:100%;}
	.kem2-nl-mobile-hidemedia .kem2-nl-media{display:none;}
}
