/*
 * Estilo mínimo de los bloques del Banco. El diseño definitivo se hace en la fase de diseño.
 * Usa los tokens del tema (variables --wp--preset--*), con valores de reserva por si cambia el tema.
 */

.bat-pendiente {
	padding: 0.5em 0.75em;
	border: 2px dashed #ff5800;
	border-radius: 8px;
	background: #fff4ec;
	color: #333;
	font-size: 0.9em;
}

/* Aviso de campaña */
.bat-aviso-campana {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.5rem;
	background: var(--wp--preset--color--amarillo, #f1b434);
	color: var(--wp--preset--color--marca-oscuro, #002c53);
	border-radius: var(--wp--custom--radio--grande, 16px);
}
.bat-aviso-campana p { margin: 0; }
.bat-aviso-campana__texto { font-weight: 700; font-size: 1.2rem; }

/* Campañas */
.bat-campanas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	gap: var(--wp--preset--spacing--40, 1.5rem);
}
.bat-campana {
	border: 1px solid var(--wp--custom--linea, #e8e8e8);
	border-radius: var(--wp--custom--radio--grande, 16px);
	overflow: hidden;
	background: #fff;
}
.bat-campana__imagen img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.bat-campana__cuerpo { padding: 1rem 1.25rem 1.25rem; }
.bat-campana__cuerpo > * { margin: 0 0 0.4rem; }
.bat-campana__estado {
	display: inline-block;
	padding: 0.15em 0.7em;
	border-radius: 100px;
	font-size: 0.85rem;
	font-weight: 700;
	background: var(--wp--preset--color--superficie, #f8f3f0);
}
.bat-campana--en-curso .bat-campana__estado { background: var(--wp--preset--color--amarillo, #f1b434); color: #002c53; }
.bat-campana--finalizada { opacity: 0.8; }
.bat-campana__titulo { font-size: 1.3rem; }
.bat-campana__titulo a { text-decoration: none; }

/* Cifras */
.bat-cifras__lista {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	gap: var(--wp--preset--spacing--40, 1.5rem);
	margin: 0;
}
.bat-cifras__item { margin: 0; }
.bat-cifras__numero {
	font-size: var(--wp--preset--font-size--muy-grande, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	color: var(--wp--preset--color--marca, #1c4f9b);
}
.bat-cifras__etiqueta { margin: 0; }
.bat-cifras__anio { font-size: 0.9em; }

/* Cómo donar */
.bat-donar {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: var(--wp--preset--spacing--40, 1.5rem);
}
.bat-donar:not(.bat-donar--todo) {
	display: block;
}
.bat-donar__via,
.bat-donar__certificado {
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border: 1px solid var(--wp--custom--linea, #e8e8e8);
	border-radius: var(--wp--custom--radio--grande, 16px);
	background: #fff;
	box-shadow: 0 16px 36px -28px rgba(0, 44, 83, 0.45);
}
.bat-donar__via > :last-child,
.bat-donar__certificado > :last-child { margin-bottom: 0; }
.bat-donar__via--bizum { border-top: 5px solid var(--wp--preset--color--amarillo, #f1b434); }
.bat-donar .bat-donar__titulo { margin: 0 0 0.5rem; font-size: 1.25rem; }
.bat-donar__dato {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
	padding: 0.55rem 0.6rem 0.55rem 1rem;
	border-radius: 12px;
	background: var(--wp--preset--color--superficie, #f8f3f0);
}
.bat-donar__codigo {
	margin: 0;
	font-size: clamp(2rem, 1.6rem + 1.5vw, 2.75rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.08em;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--marca, #1c4f9b);
}
.bat-donar__cuentas { list-style: none; padding: 0; margin: 0; }
.bat-donar__cuentas li + li { margin-top: 0.9rem; }
.bat-donar__banco { display: block; margin-bottom: 0.3rem; font-weight: 700; color: var(--wp--preset--color--marca-oscuro, #002c53); }
.bat-donar__iban { font-size: 0.95rem; font-weight: 600; letter-spacing: 0.01em; font-variant-numeric: tabular-nums; word-break: break-word; }
.bat-donar--domiciliacion { margin-top: var(--wp--preset--spacing--50, 2rem); }

/* Botón Copiar (assets/copiar.js lo muestra si hay portapapeles) */
.bat-copiar:not([hidden]) {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0.4em 1em;
	border: 1.5px solid var(--wp--preset--color--marca, #1c4f9b);
	border-radius: 100px;
	background: #fff;
	color: var(--wp--preset--color--marca, #1c4f9b);
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.bat-copiar:hover { background: var(--wp--preset--color--marca, #1c4f9b); color: #fff; }
.bat-copiar.is-copiado { background: #1d6b45; border-color: #1d6b45; color: #fff; }
.bat-copiar:focus-visible { outline: 3px solid var(--wp--preset--color--marca-oscuro, #002c53); outline-offset: 2px; }
.bat-donar .screen-reader-text,
.bat-donar + .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Lista de la compra */
.bat-compra {
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border-radius: var(--wp--custom--radio--grande, 16px);
	background: var(--wp--preset--color--superficie, #f8f3f0);
}
.bat-compra__tabla { width: 100%; border-collapse: collapse; }
.bat-compra__tabla caption { text-align: left; font-weight: 700; font-size: 1.15rem; padding-bottom: 0.75rem; color: var(--wp--preset--color--marca-oscuro, #002c53); }
.bat-compra__tabla th,
.bat-compra__tabla td { padding: 0.6rem 0.25rem; border-bottom: 1px solid rgba(0, 44, 83, 0.12); text-align: left; }
.bat-compra__tabla th { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; }
.bat-compra__tabla td:last-child,
.bat-compra__tabla th:last-child { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Colaboradores y prensa */
.bat-colaboradores__lista,
.bat-prensa__logos {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
	gap: var(--wp--preset--spacing--40, 1.5rem);
	align-items: center;
}
.bat-colaboradores--listado .bat-colaboradores__lista { grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); align-items: start; }
.bat-colaboradores__logo img,
.bat-prensa__logos img { display: block; max-width: 100%; height: auto; max-height: 80px; width: auto; margin-inline: auto; object-fit: contain; }
.bat-colaboradores__nombre { font-size: 1.1rem; margin: 0.75rem 0 0.25rem; }
.bat-colaboradores__nombre-logo,
.bat-prensa__nombre-medio { display: block; text-align: center; font-weight: 700; }
.bat-prensa__lista { list-style: none; padding: 0; }
.bat-prensa__item { padding: 0.75rem 0; border-bottom: 1px solid var(--wp--custom--linea, #e8e8e8); }
.bat-prensa__meta { display: block; font-size: 0.9em; color: #555; }

/* Contacto */
.bat-contacto__redes { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem; }

/* Transparencia */
.bat-transparencia__lista { padding-left: 1.2em; }
.bat-transparencia__meta { margin-left: 0.5em; font-size: 0.9em; color: #555; }

/* Datos de la campaña */
.bat-ficha-campana--proxima,
.bat-ficha-campana--en-curso,
.bat-ficha-campana--finalizada,
.bat-ficha-campana--sin-fecha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin-top: 1rem;
}
.bat-ficha-campana__estado {
	padding: 0.2em 0.8em;
	border-radius: 100px;
	background: var(--wp--preset--color--marca-oscuro, #002c53);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.bat-ficha-campana--en-curso .bat-ficha-campana__estado { background: var(--wp--preset--color--amarillo, #f1b434); color: #002c53; }
.bat-ficha-campana--finalizada .bat-ficha-campana__estado { background: #5a6570; }
.bat-ficha-campana__fechas {
	margin: 0;
	font-size: var(--wp--preset--font-size--mediano, 1.375rem);
	font-weight: 700;
	color: var(--wp--preset--color--marca-oscuro, #002c53);
}
.bat-ficha-campana__cuenta:not([hidden]) {
	margin: 0;
	padding: 0.2em 0.8em;
	border-radius: 100px;
	background: var(--wp--preset--color--amarillo, #f1b434);
	color: #002c53;
	font-weight: 700;
}
.bat-ficha-campana--resultados {
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	border: 1px solid var(--wp--custom--linea, #e8e8e8);
	border-radius: var(--wp--custom--radio--grande, 16px);
	background: #fff;
	overflow-x: auto;
}
.bat-ficha-campana--resultados > :first-child { margin-top: 0; }
.bat-ficha-campana--resultados h2 { font-size: var(--wp--preset--font-size--grande, 1.875rem); }
.bat-ficha-campana--resultados h3 { font-size: var(--wp--preset--font-size--mediano, 1.375rem); }
.bat-ficha-campana--resultados table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.bat-ficha-campana--resultados th,
.bat-ficha-campana--resultados td { padding: 0.5rem 0.4rem; border-bottom: 1px solid rgba(0, 44, 83, 0.12); text-align: left; }
.bat-ficha-campana--resultados td:last-child,
.bat-ficha-campana--resultados th:last-child { text-align: right; white-space: nowrap; }
.bat-ficha-campana--resultados tfoot td { font-weight: 800; border-top: 2px solid currentColor; border-bottom: 0; }

/* Mapa de la sede: todo el mapa es un enlace a la ruta en Google Maps. */
.bat-mapa {
	position: relative;
	margin: 0;
	height: clamp(320px, 38vw, 460px);
	background: var(--wp--preset--color--superficie, #f8f3f0);
}
.bat-mapa__mapa {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: none;
}
.bat-mapa__enlace {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: clamp(1rem, 3vw, 2rem);
	text-decoration: none;
	background: linear-gradient(180deg, rgba(0, 44, 83, 0) 55%, rgba(0, 44, 83, 0.28));
}
.bat-mapa__boton {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.7em 1.6em;
	border-radius: 100px;
	background: var(--wp--preset--color--marca, #1c4f9b);
	color: #fff;
	font-size: var(--wp--preset--font-size--boton, 1.2rem);
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 0 10px 22px -10px rgba(0, 44, 83, 0.6);
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.2s;
}
.bat-mapa__boton::before {
	content: "";
	width: 0.8em;
	height: 0.8em;
	border-radius: 50% 50% 50% 0;
	background: var(--wp--preset--color--amarillo, #f1b434);
	transform: rotate(-45deg);
}
.bat-mapa__enlace:hover .bat-mapa__boton,
.bat-mapa__enlace:focus-visible .bat-mapa__boton {
	transform: translateY(-2px);
	background: var(--wp--preset--color--marca-oscuro, #002c53);
}
.bat-mapa__enlace:focus-visible {
	outline: 3px solid var(--wp--preset--color--amarillo, #f1b434);
	outline-offset: -6px;
}
.bat-mapa .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Entidades por localidad (0.8.0): columnas de periódico, cada localidad sin partir. */
.bat-entidades {
	columns: 3 16rem;
	column-gap: var(--wp--preset--spacing--60, 2.5rem);
}
.bat-entidades__localidad {
	break-inside: avoid;
	margin: 0 0 1.5rem;
	padding-top: 0.9rem;
	border-top: 1px solid var(--wp--custom--linea, #dde3ea);
}
.bat-entidades .bat-entidades__titulo {
	margin: 0 0 0.9rem;
	font-size: var(--wp--preset--font-size--normal, 1.125rem);
	font-weight: 700;
	color: var(--wp--preset--color--marca, #1d4f9b);
}
.bat-entidades__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--pequeno, 1rem);
	line-height: 1.45;
}
.bat-entidades__lista li + li {
	margin-top: 0.4rem;
}
