/**
 * Ketin 2.0 — Banner · kem2-banner.css · v1.0.0 · 2026-07-20
 * Default derivado del patrón .ptf-pull del design system estático
 * (línea dorada arriba/abajo, texto centrado serif itálico 22px,
 * padding 26px 0, margin 36px 0). SIN !important: Design gana siempre.
 * Identidades ZIHT (preset propio) y PTF (dorado/serif del prototipo)
 * como carga inicial editable.
 */

/* ---------- Variables por identidad ---------- */
.kem2-banner{
  --kem2-bn-ink: #171a38;         /* ZIHT navy */
  --kem2-bn-accent: #4800fe;
  --kem2-bn-serif: 'Source Serif 4', Georgia, serif;
}
.kem2-banner.kem-ptf{
  --kem2-bn-ink: #1f3d24;         /* ptf-green-900 */
  --kem2-bn-accent: #a9781f;
  --kem2-bn-serif: 'Cormorant Garamond', Georgia, serif;
}

/* ---------- Bloque ---------- */
.kem2-banner{
  background: var(--kem2-bn-bg, transparent);
  padding: var(--kem2-bn-pv, 26px) var(--kem2-bn-ph, 0);
  margin: var(--kem2-bn-mv, 36px) 0;
}
.kem2-bn-linetop{ border-top: var(--kem2-bn-lw, 1px) var(--kem2-bn-ls, solid) var(--kem2-bn-lc, var(--kem2-bn-accent)); }
.kem2-bn-linebottom{ border-bottom: var(--kem2-bn-lw, 1px) var(--kem2-bn-ls, solid) var(--kem2-bn-lc, var(--kem2-bn-accent)); }

.kem2-bn-inner{ display: flex; flex-direction: column; align-items: center; gap: 10px; }
.kem2-bn-align-left .kem2-bn-inner{ align-items: flex-start; text-align: left; }
.kem2-bn-align-center .kem2-bn-inner{ align-items: center; text-align: center; }
.kem2-bn-maxw .kem2-bn-inner{ max-width: var(--kem2-bn-maxw, 700px); margin-left: auto; margin-right: auto; }
.kem2-bn-align-left.kem2-bn-maxw .kem2-bn-inner{ margin-left: 0; }

/* ---------- Icono ---------- */
.kem2-bn-icon{
  font-family: 'ETmodules';
  font-style: normal;
  font-size: 28px;
  color: var(--kem2-bn-accent);
  margin-bottom: 4px;
}

/* ---------- Texto ---------- */
.kem2-bn-text{
  font-size: 22px;
  color: var(--kem2-bn-ink);
  line-height: 1.5;
}
.kem2-banner.kem2-bn-serif .kem2-bn-text{ font-family: var(--kem2-bn-serif); }
.kem2-banner.kem2-bn-italic .kem2-bn-text{ font-style: italic; }
.kem2-bn-text p{ margin: 0; }
.kem2-bn-text p + p{ margin-top: 10px; }

/* ---------- Atribución ---------- */
.kem2-bn-cite{
  display: block;
  font-style: normal;
  font-size: 12px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--kem2-bn-accent);
  margin-top: 4px;
}

/* ---------- Botón ---------- */
.kem2-bn-btnwrap{ margin-top: 10px; }
.kem2-bn-btn{
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  font-style: normal;
  text-decoration: none;
  color: #ffffff;
  background: var(--kem2-bn-btn-bg, var(--kem2-bn-accent));
  border: var(--kem2-bn-btn-bw, 1px) solid var(--kem2-bn-btn-bc, transparent);
  border-radius: var(--kem2-bn-btn-br, 4px);
  padding: var(--kem2-bn-btn-pv, 10px) var(--kem2-bn-btn-ph, 22px);
  transition: opacity .15s ease;
}
.kem2-bn-btn:hover{ opacity: .85; }
