/* EAAF Donaciones — tipografías del sitio, con alternativas si no cargaron. */
.eaaf-don {
	--eaaf-texto: "Source Sans Pro", "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--eaaf-titulos: "Saira Condensed", "Saira", "Arial Narrow", sans-serif;
	--eaaf-acento: #E2064A;
	--eaaf-tinta: #1C1B1A;
	--eaaf-gris: #5E5B56;
	--eaaf-borde: #C9C6C0;
	--eaaf-fondo: #F4F3F0;
	--eaaf-radio: 8px;
	max-width: 560px;
	margin: 0; /* Alineado a la izquierda, con el resto del contenido de la página. */
	color: var(--eaaf-tinta);
	font-family: var(--eaaf-texto);
	scroll-margin-top: 100px;
}

/* Títulos, montos y botones: la condensada del sitio. */
.eaaf-don__titulo,
.eaaf-don__pasos li,
.eaaf-don__monto strong,
.eaaf-don__resumen strong,
.eaaf-don__btn,
.eaaf-don__link,
.eaaf-don__seg span {
	font-family: var(--eaaf-titulos);
}
.eaaf-don__titulo { letter-spacing: .01em; }
.eaaf-don *, .eaaf-don *::before, .eaaf-don *::after { box-sizing: border-box; }
.eaaf-don [hidden] { display: none !important; }

/* Pasos */
/* Pasos: [1 Aporte ——] [2 Tus datos ——] [3 Pago] */
.eaaf-don .eaaf-don__pasos { list-style: none; margin: 32px 0 24px; padding: 0 0 16px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #E2E0DB; }
.eaaf-don .eaaf-don__pasos li { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; font-size: 15px; line-height: 1.2; color: var(--eaaf-gris); white-space: nowrap; flex: 1 1 0; min-width: 0; }
.eaaf-don .eaaf-don__pasos li::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--eaaf-borde); min-width: 12px; }
.eaaf-don .eaaf-don__pasos li:last-child { flex: 0 0 auto; }
.eaaf-don .eaaf-don__pasos li:last-child::after { content: none; }
.eaaf-don .eaaf-don__pasos li::marker { content: none; }
.eaaf-don__pasos li span { width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--eaaf-borde); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; flex: none; }
.eaaf-don__pasos li.is-activo { color: var(--eaaf-tinta); font-weight: 600; }
.eaaf-don__pasos li.is-activo span, .eaaf-don__pasos li.is-hecho span { background: var(--eaaf-tinta); border-color: var(--eaaf-tinta); color: #fff; }

/* Estructura */
.eaaf-don__form { margin: 0; }
.eaaf-don__paso { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.eaaf-don__grupo { display: flex; flex-direction: column; gap: 8px; }
.eaaf-don__rotulo { font-size: 14px; font-weight: 600; }
.eaaf-don__titulo { margin: 0; font-size: 1.4em; }
.eaaf-don__ayuda, .eaaf-don__nota { margin: 0; font-size: 14px; line-height: 1.45; color: var(--eaaf-gris); }
.eaaf-don__centro { text-align: center; }
.eaaf-don__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Selector segmentado */
.eaaf-don__seg { display: flex; gap: 4px; padding: 4px; background: #EAE8E3; border-radius: 10px; }
.eaaf-don__seg label { flex: 1 1 0; margin: 0; position: relative; cursor: pointer; }
.eaaf-don__seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.eaaf-don__seg span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 6px 10px; border-radius: 6px; font-size: 15px; font-weight: 500; text-align: center; line-height: 1.2; transition: background .15s; }
.eaaf-don__seg input:checked + span { background: var(--eaaf-tinta); color: #fff; }
.eaaf-don__seg input:focus-visible + span { outline: 2px solid var(--eaaf-acento); outline-offset: 2px; }

/* Montos */
.eaaf-don__montos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.eaaf-don__monto { position: relative; margin: 0; cursor: pointer; }
.eaaf-don__monto input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.eaaf-don__monto span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 64px; padding: 8px; border: 1.5px solid var(--eaaf-borde); border-radius: var(--eaaf-radio); background: #fff; text-align: center; }
.eaaf-don__monto strong { font-size: 20px; line-height: 1.1; }
.eaaf-don__monto small { font-size: 12px; color: var(--eaaf-gris); }
.eaaf-don__monto input:checked + span { border: 2px solid var(--eaaf-tinta); background: var(--eaaf-fondo); }
.eaaf-don__monto input:focus-visible + span { outline: 2px solid var(--eaaf-acento); outline-offset: 2px; }
.eaaf-don__monto--otro strong { font-size: 16px; font-weight: 600; }

.eaaf-don__otro { display: flex; align-items: center; gap: 8px; min-height: 48px; margin: 0; padding: 0 14px; border: 1.5px solid var(--eaaf-tinta); border-radius: var(--eaaf-radio); background: #fff; font-size: 16px; }
.eaaf-don__otro input { border: 0 !important; outline: none; box-shadow: none !important; flex: 1; min-width: 0; padding: 10px 0 !important; background: transparent !important; font-size: 18px; color: inherit; }

/* Resumen */
.eaaf-don__resumen { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: var(--eaaf-fondo); border-radius: var(--eaaf-radio); }
.eaaf-don__resumen span { display: block; font-size: 12px; color: var(--eaaf-gris); }
.eaaf-don__resumen strong { font-size: 17px; }
.eaaf-don__link { background: none !important; border: 0 !important; padding: 8px 0 !important; color: var(--eaaf-tinta) !important; text-decoration: underline; font: inherit; font-family: var(--eaaf-titulos); font-size: 16px; cursor: pointer; min-height: 44px; }

/* Campos */
.eaaf-don__fila { display: flex; gap: 12px; }
.eaaf-don__campo { display: flex; flex-direction: column; gap: 6px; margin: 0; flex: 1 1 0; min-width: 0; }
.eaaf-don__campo > span { font-size: 14px; font-weight: 600; }
.eaaf-don__campo abbr { color: var(--eaaf-acento); text-decoration: none; border: 0; }
.eaaf-don__campo em { font-style: normal; font-weight: 400; color: var(--eaaf-gris); }
.eaaf-don__campo input, .eaaf-don__campo select { width: 100%; min-height: 46px; padding: 8px 12px; border: 1.5px solid var(--eaaf-borde); border-radius: 6px; background: #fff; color: var(--eaaf-tinta); font: inherit; font-family: var(--eaaf-texto); font-size: 16px; }
.eaaf-don__campo input:focus, .eaaf-don__campo select:focus { border-color: var(--eaaf-tinta); outline: none; }
.eaaf-don .is-invalido { border-color: #B3261E !important; }
.eaaf-don__check { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 14px; line-height: 1.4; cursor: pointer; }
.eaaf-don__check input { width: 18px; height: 18px; margin: 1px 0 0; flex: none; accent-color: var(--eaaf-tinta); }

/* Paso 3 */
.eaaf-don__final { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 12px 0 8px; text-align: center; }
.eaaf-don__icono { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #E7F4EC; color: #1E7A46; }
.eaaf-don--pendiente .eaaf-don__icono { background: #FFF4DB; color: #8A5A00; }
.eaaf-don--error .eaaf-don__icono { background: #FBEAE8; color: #8A1C15; }
.eaaf-don__final .eaaf-don__titulo { margin: 4px 0 0; }
.eaaf-don__final .eaaf-don__ayuda { max-width: 420px; }
.eaaf-don__resumen--centro { justify-content: center; text-align: center; min-width: 240px; }
.eaaf-don__final .eaaf-don__btn { margin-top: 6px; }

/* Botón y errores */
.eaaf-don__acciones { display: flex; flex-direction: column; gap: 10px; padding-top: 4px; }
.eaaf-don__btn { display: flex; align-items: center; justify-content: center; text-decoration: none !important; box-sizing: border-box; width: 100%; min-height: 52px; border: 0 !important; border-radius: var(--eaaf-radio) !important; background: var(--eaaf-acento) !important; color: #fff !important; font: inherit; font-family: var(--eaaf-titulos) !important; font-size: 18px !important; letter-spacing: .02em; font-weight: 600; cursor: pointer; transition: filter .15s; }
.eaaf-don__btn:hover { filter: brightness(1.12); }
.eaaf-don__btn:focus-visible { outline: 2px solid var(--eaaf-tinta); outline-offset: 3px; }
.eaaf-don__btn:disabled { opacity: .6; cursor: wait; }
.eaaf-don__error { margin: 0; padding: 10px 14px; border-radius: 6px; background: #FBEAE8; color: #8A1C15; font-size: 14px; }

@media (max-width: 480px) {
	.eaaf-don__fila { flex-direction: column; }
	.eaaf-don .eaaf-don__pasos { gap: 8px; }
	.eaaf-don .eaaf-don__pasos li { font-size: 13px; gap: 6px; }
}
.eaaf-don__sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* -------------------------------------------------------------------------
 * La página de donaciones no está armada con Elementor, así que acá se le dan
 * los márgenes y la tipografía de las páginas internas del sitio. Solo aplica
 * donde está el formulario y donde la página no es de Elementor, para no
 * pelearse con las que sí lo son.
 *
 * El "html" del principio no es decorativo: el tema (Hello Elementor) tiene
 * reglas con el mismo peso que centran el contenido a 1140px, y como su CSS se
 * carga después del nuestro, ganaba. Con el "html" ganamos sin depender del
 * orden de carga.
 * ---------------------------------------------------------------------- */
html body:not(.elementor-page) .site-main {
	width: auto; /* El tema le pone 100% y eso anula el margen derecho. */
	max-width: 1300px;
	margin-block: 0;
	margin-inline: 70px;
	padding: 80px 0;
}
html body:not(.elementor-page) .site-main .entry-title,
html body:not(.elementor-page) .site-main .page-title {
	max-width: none;
	padding: 0; /* En celular el tema le suma 10px a cada lado y lo descuadra del texto. */
	font-family: "Saira Condensed", "Saira", "Arial Narrow", sans-serif;
	font-size: 40px;
	line-height: 40px;
	font-weight: 600;
	text-transform: uppercase;
	color: #E2064A;
	margin: 0 0 20px;
}
html body:not(.elementor-page) .site-main .page-content,
html body:not(.elementor-page) .site-main .entry-content {
	max-width: 896px; /* Mismo largo de renglón que la columna de texto de las internas. */
	font-family: "Source Sans Pro", "Source Sans 3", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 23px;
	color: #1D1D1B;
}
html body:not(.elementor-page) .site-main .page-content p,
html body:not(.elementor-page) .site-main .entry-content p {
	font-size: 18px;
	font-weight: 400;
	line-height: 23px;
	color: #1D1D1B;
}

@media (max-width: 1023px) {
	html body:not(.elementor-page) .site-main {
		margin-inline: 20px;
		padding: 40px 0;
	}
}
