/* Páginas: legales y de texto, quiénes somos, premios y contacto. */

/* Página de texto (legales) */
.ov-pagina__cabecera {
	padding-block: clamp(24px, 3vw, 40px) clamp(36px, 5vw, 56px);
	border-bottom: var(--ov-filete);
}

.ov-pagina__cabecera h1 {
	max-width: 24ch;
	margin-bottom: 10px;
	font-size: var(--ov-t-pagina);
}

.ov-pagina__fecha {
	margin: 0;
	color: var(--ov-tinta-suave);
	font: 500 var(--ov-t-etiqueta) / 1.4 var(--ov-sans);
	letter-spacing: 0.01em;
}

.ov-pagina__cuerpo {
	padding-block: clamp(36px, 5vw, 64px) var(--ov-seccion);
}

/* Cabeceras oscuras (premios y contacto) */
.ov-pagina-cabecera.ov-seccion--oscura {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(24px, 3vw, 40px) clamp(56px, 7vw, 96px);
}

.ov-pagina-cabecera.ov-seccion--oscura::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: none;
	background-size: 320px 320px;
	opacity: 0.5;
}

.ov-pagina-cabecera.ov-seccion--oscura h1 {
	max-width: 20ch;
	color: var(--ov-blanco);
}

.ov-pagina-cabecera.ov-seccion--oscura .ov-entradilla {
	margin-bottom: 28px;
}

.ov-pagina-cabecera .ov-banda__acciones {
	justify-content: flex-start;
}

/* Quiénes somos: la foto panorámica del molino justo debajo de la cabecera */
.ov-panoramica {
	margin-top: calc(-1 * clamp(24px, 3vw, 48px));
	margin-bottom: 0;
}

.ov-panoramica img {
	width: 100%;
	min-height: 180px;
	aspect-ratio: 1920 / 500;
	object-fit: cover;
}

/* Quiénes somos */
.ov-quienes-historia__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}

.ov-quienes-historia__rejilla .ov-cita {
	margin: 0;
	padding: 28px 30px;
	border: 1px solid var(--ov-dorado);
	outline: 1px solid var(--ov-dorado);
	outline-offset: 4px;
	background: var(--ov-crema-clara);
	font-size: var(--ov-t-tarjeta);
}

.ov-quienes-historia .ov-texto p {
	color: var(--ov-tinta-suave);
}

/* Ficha técnica de las instalaciones: dato, nombre y descripción en filas */
.ov-ficha-tecnica {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(24px, 4vw, 56px);
	margin: 0 0 clamp(32px, 4vw, 48px);
	border-top: 1px solid var(--ov-dorado);
}

.ov-ficha-tecnica__fila {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 16px;
	padding: 20px 0;
	border-bottom: var(--ov-filete);
}

.ov-ficha-tecnica__fila dt {
	color: var(--ov-verde-oscuro);
	font-size: var(--ov-t-subtitulo);
	line-height: 1.3;
}

.ov-ficha-tecnica__dato {
	margin: 0;
	color: var(--ov-verde-imagotipo);
	font: 700 var(--ov-t-pequeno) / 1.3 var(--ov-sans);
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ov-ficha-tecnica__texto {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--ov-tinta-suave);
	font-size: var(--ov-t-pequeno);
}

.ov-galeria {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ov-hueco);
}

.ov-galeria figure {
	margin: 0;
	overflow: hidden;
}

.ov-galeria img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain; /* la foto entera: muchas son redondas sobre blanco */
}

/* Pasos de la elaboración, con su línea */
.ov-pasos {
	counter-reset: paso;
	position: relative;
	display: grid;
	gap: 0;
	max-width: 52rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ov-pasos::before {
	content: "";
	position: absolute;
	top: 22px;
	bottom: 22px;
	left: 21px;
	width: 1px;
	background: var(--ov-dorado);
}

.ov-pasos__paso {
	counter-increment: paso;
	position: relative;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	column-gap: 22px;
	padding: 0 0 28px;
}

.ov-pasos__paso::before {
	content: counter(paso);
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--ov-dorado);
	border-radius: 50%;
	background: var(--ov-blanco);
	color: var(--ov-verde-oscuro);
	font: 700 var(--ov-t-pequeno) / 1 var(--ov-sans);
	font-variant-numeric: tabular-nums;
}

.ov-pasos__paso h3 {
	margin: 9px 0 6px;
	font-size: var(--ov-t-tarjeta);
}

.ov-pasos__paso p {
	margin: 0;
	color: var(--ov-tinta-suave);
}

/* Premios */
.ov-premios-cabecera__dentro .ov-entradilla {
	max-width: 46rem;
}

.ov-edicion {
	scroll-margin-top: 110px;
}

.ov-edicion__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(28px, 5vw, 80px);
	align-items: start;
}

.ov-edicion__imagenes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: var(--ov-hueco);
}

.ov-edicion__imagen {
	margin: 0;
	padding: 18px;
	background: var(--ov-blanco);
	border: var(--ov-filete);
}

.ov-edicion__imagen img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
}

.ov-edicion__texto h2 {
	margin-bottom: 6px;
}

.ov-edicion__meta {
	margin: 0 0 18px;
	color: var(--ov-verde-imagotipo);
	font: 600 var(--ov-t-etiqueta) / 1.3 var(--ov-sans);
	letter-spacing: 0.01em;
}

.ov-edicion__texto > p:not(.ov-edicion__meta) {
	color: var(--ov-tinta-suave);
}

.ov-edicion__premios {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--ov-dorado);
}

.ov-edicion__premios li {
	padding: 16px 0;
	border-bottom: var(--ov-filete);
}

.ov-edicion__premios h3 {
	margin: 0 0 4px;
	font-size: var(--ov-t-subtitulo);
}

.ov-edicion__premios h3 span {
	color: var(--ov-tinta-suave);
	font-size: 0.9em;
}

.ov-edicion__premios p {
	margin: 0;
	color: var(--ov-tinta-suave);
	font-size: var(--ov-t-pequeno);
}

.ov-premios-tabla .ov-tabla a {
	color: var(--ov-verde-oscuro);
}

/* Contacto */
.ov-contacto-lugar__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: stretch;
}

.ov-mapa {
	position: relative;
	min-height: 360px;
	overflow: hidden;
	background: var(--ov-crema);
	border: var(--ov-filete);
}

.ov-mapa__aviso {
	position: absolute;
	inset: 0;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 14px;
	padding: 28px;
	text-align: center;
}

.ov-mapa__aviso p {
	max-width: 28rem;
	margin: 0;
	color: var(--ov-tinta-suave);
	font-size: var(--ov-t-pequeno);
}

.ov-mapa__marca {
	width: 44px;
	height: 44px;
	color: var(--ov-verde-imagotipo);
}

.ov-mapa iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	opacity: 0;
	transition: opacity 400ms ease;
}

.ov-mapa--listo iframe {
	opacity: 1;
}

.ov-mapa--listo .ov-mapa__aviso {
	visibility: hidden;
}

.ov-contacto-lugar__datos {
	display: grid;
	align-content: start;
	gap: 28px;
}

.ov-dato-bloque h3 {
	margin: 0 0 10px;
	color: var(--ov-tinta-suave);
	font: 600 var(--ov-t-etiqueta) / 1.3 var(--ov-sans);
	letter-spacing: 0.01em;
}

.ov-dato-bloque address {
	margin-bottom: 10px;
	font-style: normal;
	font-size: var(--ov-t-subtitulo);
	line-height: 1.5;
	color: var(--ov-verde-oscuro);
}

.ov-dato-bloque p {
	margin: 12px 0 0;
	color: var(--ov-tinta-suave);
	font-size: var(--ov-t-pequeno);
}

.ov-horario {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--ov-filete);
}

.ov-horario li {
	padding: 10px 0;
	border-bottom: var(--ov-filete);
	color: var(--ov-verde-oscuro);
	font: 600 var(--ov-t-pequeno) / 1.4 var(--ov-sans);
}

.ov-horario__cerrado {
	color: var(--ov-tinta-suave) !important;
	font-weight: 500 !important;
}

.ov-datos-legales {
	max-width: 46rem;
}

/* Historia de la cooperativa: tablas de cargos (dos columnas, sin desplazamiento) y cifras del ejercicio */
.ov-tabla--corta {
	min-width: 0;
	margin: 16px 0 24px;
}

.ov-historia__cifras {
	margin-top: 16px;
}

@media (max-width: 900px) {
	.ov-quienes-historia__rejilla,
	.ov-edicion__rejilla,
	.ov-contacto-lugar__rejilla {
		grid-template-columns: 1fr;
	}

	.ov-ficha-tecnica {
		grid-template-columns: 1fr;
	}

	.ov-edicion__imagenes {
		max-width: 420px;
	}
}

@media (max-width: 600px) {
	.ov-galeria {
		grid-template-columns: 1fr 1fr;
	}

	.ov-galeria figure:first-child {
		grid-column: 1 / -1;
	}

	dl.ov-datos-legales > div {
		flex-direction: column;
		gap: 4px;
	}

	dl.ov-datos-legales dd {
		text-align: left;
	}
}

/* Mapa de los centros (Google My Maps): ancho y apaisado encima de la lista, para ver de un vistazo la extensión */
.ov-mapa--centros {
	aspect-ratio: 16 / 8;
	min-height: 0;
	margin-bottom: clamp(28px, 4vw, 48px);
}

@media (max-width: 719px) {
	.ov-mapa--centros {
		aspect-ratio: 4 / 5;
	}
}

/* Guías del jamón: respuesta directa, utensilios, figuras y precintos */
.ov-guia > h2 {
	margin-top: clamp(36px, 5vw, 56px);
}

.ov-respuesta {
	margin: 0 0 28px;
	padding: 20px 24px;
}

.ov-respuesta p {
	margin: 0;
	font-size: 1.1em;
	line-height: 1.55;
}

.ov-guia .ov-utiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.ov-guia .ov-utiles--dos {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
}

.ov-guia .ov-utiles li {
	margin: 0;
	padding: 16px 18px;
	border: var(--ov-filete);
	background: var(--ov-crema-clara);
	font-size: var(--ov-t-pequeno);
	line-height: 1.5;
}

.ov-guia .ov-utiles strong {
	display: block;
	margin-bottom: 4px;
	color: var(--ov-verde-oscuro);
	font-size: var(--ov-t-tarjeta);
}

.ov-guia .ov-pasos {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.ov-guia .ov-pasos__paso {
	margin: 0;
	scroll-margin-top: 110px;
}

.ov-guia .ov-pasos__paso:last-child {
	padding-bottom: 0;
}

.ov-figura {
	margin: 24px 0;
}

.ov-figura img {
	display: block;
	width: 100%;
	height: auto;
}

.ov-figura--dibujo {
	max-width: 32rem;
	margin-inline: auto;
}

.ov-reconocer {
	display: grid;
	gap: 8px 32px;
	align-items: start;
}

.ov-reconocer .ov-figura {
	max-width: 19rem;
	margin: 0 auto;
}

@media (min-width: 46em) {
	.ov-reconocer {
		grid-template-columns: minmax(0, 1fr) minmax(0, 15rem);
	}

	.ov-reconocer .ov-figura {
		grid-column: 2;
		grid-row: 1 / span 3;
		margin: 6px 0 0;
	}
}

.ov-reconocer .ov-tabla td:first-child {
	white-space: nowrap;
}

.ov-precinto {
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	margin-right: 0.5em;
	border: 1px solid var(--ov-tinta-suave);
	border-radius: 2px;
	vertical-align: -0.05em;
}

.ov-precinto--negro {
	background: #111;
}

.ov-precinto--rojo {
	background: #b3261e;
}

.ov-precinto--verde {
	background: #2e7d32;
}

.ov-precinto--blanco {
	background: #fff;
}

/* Cada pieza se posa al llegar, ligada al desplazamiento, como el filete de firma (sin JavaScript). */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.ov-guia .ov-pasos__paso,
		.ov-guia .ov-utiles li,
		.ov-guia .ov-figura {
			animation: ov-posarse linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 50%;
		}
	}
}

@keyframes ov-posarse {
	from {
		opacity: 0;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}
