/*
 * Plantilla "Página de pagos" (template-pagos.php).
 *
 * Solo las secciones propias de la landing; hero, encabezados y FAQs vienen
 * de template-producto.css. Colores de fondo tomados del diseño (Trello #1084).
 */

.runa-pagos h3,
.runa-pagos p.runa-pagos__metodo-text,
.runa-pagos p.runa-pagos__paso-text {
	margin: 0;
}

/* ── Pestañas en pill ─────────── */

.runa-pagos__tabs {
	display: inline-flex;
	align-self: center;
	padding: 0;
	border: 1px solid var(--runa-accent-theme);
	border-radius: var(--runa-radius-pill);
	background: #fff;
}

/* !important: el skin global de Elementor pinta todo <button> con borde y fondo. */
.runa-pagos .runa-pagos__tab {
	min-width: 180px;
	padding: 12px 28px;
	border: none !important;
	border-radius: var(--runa-radius-pill);
	background: transparent;
	color: var(--runa-accent-theme);
	font-family: inherit;
	font-size: 14px; /* mismo texto que el pill de .runa-producto__btn */
	font-weight: 200;
	line-height: 1;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: background var(--runa-t-color), color var(--runa-t-color);
}

.runa-pagos .runa-pagos__tab:hover,
.runa-pagos .runa-pagos__tab:focus {
	background: transparent;
	color: var(--runa-ink);
}

.runa-pagos .runa-pagos__tab.is-active {
	background: var(--runa-accent-theme);
	color: #fff;
}

.runa-pagos .runa-pagos__tab:focus-visible {
	outline: 2px solid #3b2f73;
	outline-offset: 3px;
}

.runa-pagos__panel[hidden] {
	display: none;
}

/* ── Métodos de pago ─────────── */

.runa-pagos__section--metodos {
	background: #f8f9ff;
}

.runa-pagos__metodos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
}

.runa-pagos__metodo {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px 28px 32px;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 4px 24px rgba(53, 44, 96, 0.04);
}

.runa-pagos__metodo-media {
	display: flex;
	justify-content: center;
	height: 150px;
}

.runa-pagos__metodo-media img {
	width: auto;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Variante Global (Beneficios): 4 tarjetas con icono cuadrado de 88px. */
.runa-pagos__metodos--icono {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
}

.runa-pagos__metodos--icono .runa-pagos__metodo-media {
	justify-content: flex-start;
	aspect-ratio: auto;
	width: 88px;
	height: 88px;
}

.runa-pagos__metodos--icono .runa-pagos__metodo-media img {
	width: 100%;
	height: 100%;
}

/* Prefijado con contenedor y tipo: `.elementor-kit-218466 h3` gana a una clase suelta. */
.runa-pagos h3.runa-pagos__metodo-title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--runa-ink);
}

.runa-pagos__metodo-text {
	font-size: 16px;
	line-height: 1.5;
	color: var(--runa-ink);
}

/* ── Funcionalidades ─────────── */

/* La fila es [runa_zigzag]; aquí el fondo y las pestañas de su hueco extra=. */
.runa-pagos__section--func {
	background: #dcd9fb;
}

/* MX (con pestañas): el título del zigzag no admite <br>; el ancho lo corta tras "necesitas". */
.runa-pagos__section--func:has(.runa-pagos__func-tabs) .runa-solution__title {
	max-width: 11.5em;
}

.runa-pagos__func-tabs {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.runa-pagos__func-tabs .runa-pagos__tabs {
	align-self: flex-start;
}

@media (max-width: 767px) {
	.runa-pagos__func-tabs .runa-pagos__tabs {
		align-self: stretch;
	}
}

/* ── Cómo funciona ─────────── */

.runa-pagos__section--pasos {
	background: #fff;
}

.runa-pagos__pasos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.runa-pagos__paso {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

/* Línea punteada que une los números: va de cada número al siguiente. */
.runa-pagos__paso:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 26px;
	left: calc(50% + 34px);
	width: calc(100% + 40px - 68px);
	border-top: 2px dashed var(--runa-accent-theme);
}

.runa-pagos__paso-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--runa-accent-theme);
	color: #fff;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
}

.runa-pagos__paso-media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 3;
}

/* Hueco de la imagen mientras llegan las capturas reales. */
.runa-pagos__paso-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: var(--runa-radius-card, 16px);
	background: var(--runa-soft, #ebeaf0);
}

.runa-pagos__paso-media img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

.runa-pagos h3.runa-pagos__paso-title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--runa-ink);
}

.runa-pagos__paso-text {
	max-width: 280px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--runa-ink);
}

/* ── Bancos ─────────── */

.runa-pagos__section--bancos {
	background: #f8f9ff;
}

/* Escritorio y tablet: Swiper no arranca y los logos de todas las páginas fluyen
   en un solo flex (las páginas y sus <ul> son display: contents). Prefijado con
   el contenedor para ganarle a `.swiper-wrapper` y `.runa-swiper-nav-wrap`. */
.runa-pagos__bancos-wrap.runa-swiper-nav-wrap {
	padding: 0;
}

.runa-pagos__bancos-wrap.runa-swiper-nav-wrap .runa-swiper-nav {
	display: none;
}

.runa-pagos__bancos.swiper {
	overflow: visible;
}

.runa-pagos__bancos .runa-pagos__bancos-track {
	--rpb-cols: 6;
	display: flex;
	flex-wrap: wrap;
	justify-content: center; /* la última fila incompleta queda centrada */
	gap: 16px;
}

.runa-pagos__bancos-pagina {
	display: contents;
	margin: 0;
	padding: 0;
	list-style: none;
}

.runa-pagos__banco {
	flex: 0 0 calc((100% - (var(--rpb-cols) - 1) * 16px) / var(--rpb-cols));
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	padding: 16px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(53, 44, 96, 0.06);
}

.runa-pagos__banco img {
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
}

/* Hueco del logo mientras llegan los reales: fondo suave del sistema (DESIGN.md §1). */
.runa-pagos__banco-placeholder {
	display: block;
	width: 70%;
	height: 40%;
	border-radius: var(--runa-radius-sm, 6px);
	background: var(--runa-soft, #ebeaf0);
}

/* ── Tablet ─────────── */

@media (max-width: 1024px) {
	.runa-pagos__metodos--icono {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.runa-pagos__bancos .runa-pagos__bancos-track {
		--rpb-cols: 3;
	}
}

/* ── Móvil ─────────── */

@media (max-width: 767px) {
	.runa-pagos__metodos {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	/* Mismo alto que el pill móvil de .runa-producto__btn (20px + 16px de texto).
	   Las pestañas ocupan todo el ancho y se reparten por igual. */
	.runa-pagos .runa-pagos__tabs {
		display: flex;
		width: 100%;
		align-self: stretch;
	}

	.runa-pagos .runa-pagos__tab {
		flex: 1 1 0;
		min-width: 0;
		padding: 20px 12px;
		font-size: 16px;
	}

	.runa-pagos__pasos {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.runa-pagos__paso:not(:last-child)::after {
		display: none;
	}

	.runa-pagos h3.runa-pagos__metodo-title,
	.runa-pagos h3.runa-pagos__paso-title {
		font-size: 18px;
	}

	/* Carrusel Swiper: cada página es una cuadrícula de 2 x 3 logos. */
	.runa-pagos__bancos-wrap.runa-swiper-nav-wrap {
		padding: 0 44px;
	}

	.runa-pagos__bancos-wrap.runa-swiper-nav-wrap .runa-swiper-nav {
		display: flex;
	}

	/* Una sola página: Swiper bloquea la navegación y las flechas sobran. */
	.runa-pagos__bancos-wrap.runa-swiper-nav-wrap .runa-swiper-nav.swiper-button-lock {
		display: none;
	}

	.runa-pagos__bancos.swiper {
		overflow: hidden;
		padding: 4px 4px 16px; /* aire para la sombra de las tarjetas */
	}

	.runa-pagos__bancos .runa-pagos__bancos-track {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start; /* centrado, Swiper arrancaría a mitad de la segunda página */
		gap: 0;
	}

	.runa-pagos__bancos-pagina {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-content: start;
		gap: 12px;
	}

	.runa-pagos__bancos-pagina .runa-pagos__banco {
		padding: 12px;
	}
}
