/* ==========================================================================
   Matati — páginas legales (plantilla "Página legal")
   ========================================================================== */

/* -------------------------------------------------------------------------
 * Cabecera
 * ---------------------------------------------------------------------- */
.legal-hero__wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding-block: 72px 48px;
	text-align: center;
}

.legal-hero__antetitulo { font-size: var(--txt-antetitulo); }

.legal-hero__titulo {
	max-width: 900px;
	font-size: var(--txt-h2);
	line-height: .95;
}

.legal-hero__fecha {
	padding: 6px 18px;
	font-size: 15px;
	font-weight: 700;
	background: var(--blanco);
	border-radius: var(--pastilla);
}

/* -------------------------------------------------------------------------
 * Texto: una columna en una tarjeta
 * ---------------------------------------------------------------------- */
.legal__wrapper {
	max-width: calc(820px + var(--gutter) * 2);
	padding-bottom: var(--espacio-seccion);
}

.legal__contenido {
	padding: 56px;
	background: var(--blanco);
	border: var(--borde-grueso);
	border-radius: var(--forma-c);
	box-shadow: var(--sombra-tarjeta);
}

/* -------------------------------------------------------------------------
 * Otras páginas legales
 * ---------------------------------------------------------------------- */
.legal__otras {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	margin-top: 48px;
	text-align: center;
}

.legal__otras-titulo { font-weight: 700; }

.legal__otras-lista {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.legal__otra {
	display: inline-block;
	padding: 8px 20px;
	text-decoration: none;
	background: var(--blanco);
	border: var(--borde);
	border-radius: var(--pastilla);
	transition: background var(--rapido);
}

.legal__otra:hover {
	color: var(--tinta);
	background: var(--rosa);
}

/* -------------------------------------------------------------------------
 * Índice de legales (plantilla "Legales — Índice")
 * ---------------------------------------------------------------------- */
.legales__intro {
	max-width: 620px;
	font-size: var(--txt-grande);
}

.legales__wrapper { padding-bottom: var(--espacio-seccion); }

.legales__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tarjeta-legal {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 36px 32px 28px;
	background: var(--blanco);
	border: var(--borde-grueso);
	border-radius: var(--forma-a);
	box-shadow: var(--sombra-tarjeta);
	transition: transform var(--suave);
}

.tarjeta-legal:nth-child(even) { border-radius: var(--forma-b); }

.tarjeta-legal:hover { transform: translateY(-6px) rotate(-1deg); }

.tarjeta-legal__estado {
	align-self: flex-start;
	padding: 2px 12px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	background: var(--crema);
	border: var(--borde);
	border-radius: var(--pastilla);
}

.tarjeta-legal__titulo {
	font-size: 25px;
	line-height: 1;
}

.tarjeta-legal__enlace { text-decoration: none; }

/* El enlace cubre toda la tarjeta */
.tarjeta-legal__enlace::after {
	content: "";
	position: absolute;
	inset: 0;
}

.tarjeta-legal__enlace:focus-visible { outline: 0; }

.tarjeta-legal:has(.tarjeta-legal__enlace:focus-visible) {
	outline: var(--grosor-grueso) solid var(--turquesa);
	outline-offset: 4px;
}

.tarjeta-legal__resumen {
	display: -webkit-box;
	overflow: hidden;
	font-size: 16px;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}

.tarjeta-legal__pie {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
	border-top: var(--borde-punteado);
}

.tarjeta-legal__fecha {
	font-size: 14px;
	font-weight: 600;
}

.tarjeta-legal__leer {
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--rosa);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.legales__vacio { text-align: center; }

/* -------------------------------------------------------------------------
 * Celular
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
	.legal-hero__wrapper { padding-block: 48px 32px; }

	.legal__contenido {
		padding: 32px 22px;
		border-radius: 36px;
	}
}
