.cmplz-video.cmplz-iframe-styles{background-color:transparent}.cmplz-video.cmplz-hidden{visibility:hidden !important}.cmplz-blocked-content-notice{display:none}.cmplz-placeholder-parent{height:inherit}.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optin .cmplz-wp-video .cmplz-blocked-content-notice,.cmplz-optout .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optout .cmplz-wp-video .cmplz-blocked-content-notice{display:block}.cmplz-blocked-content-container,.cmplz-wp-video{animation-name:cmplz-fadein;animation-duration:600ms;background:#FFF;border:0;border-radius:3px;box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15);display:flex;justify-content:center;align-items:center;background-repeat:no-repeat !important;background-size:cover !important;height:inherit;position:relative}.cmplz-blocked-content-container.gmw-map-cover,.cmplz-wp-video.gmw-map-cover{max-height:100%;position:absolute}.cmplz-blocked-content-container.cmplz-video-placeholder,.cmplz-wp-video.cmplz-video-placeholder{padding-bottom:initial}.cmplz-blocked-content-container iframe,.cmplz-wp-video iframe{visibility:hidden;max-height:100%;border:0 !important}.cmplz-blocked-content-container .cmplz-custom-accept-btn,.cmplz-wp-video .cmplz-custom-accept-btn{white-space:normal;text-transform:initial;cursor:pointer;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:200px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-custom-accept-btn:focus,.cmplz-wp-video .cmplz-custom-accept-btn:focus{border:1px dotted #cecece}.cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-wp-video .cmplz-blocked-content-notice{white-space:normal;text-transform:initial;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:300px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links{display:block;margin-bottom:10px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links a,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links a{color:#fff}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body{display:block}.cmplz-blocked-content-container div div{display:none}.cmplz-wp-video .cmplz-placeholder-element{width:100%;height:inherit}@keyframes cmplz-fadein{from{opacity:0}to{opacity:1}}/* Olipaterna: la etiqueta de la almazara. Tokens del sistema (DESIGN.md). */

@font-face {
	font-family: "Fauna One";
	src: url(//olipaterna.es/wp-content/themes/ip10-olipaterna/assets/fonts/fauna-one.woff2) format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Libre Franklin";
	src: url(//olipaterna.es/wp-content/themes/ip10-olipaterna/assets/fonts/libre-franklin-500-700.woff2) format("woff2");
	font-weight: 500 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Yellowtail";
	src: url(//olipaterna.es/wp-content/themes/ip10-olipaterna/assets/fonts/yellowtail.woff2) format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Papel y tinta */
	--op-verde-imagotipo: #566214;
	--op-verde-principal: #586d32;
	--op-verde-oscuro: #3f4517;
	--op-verde-muy-oscuro: #242a00;
	--op-verde-claro: #8fb44d;
	--op-verde-patron: #acb24e;
	--op-dorado: #d4bd8e;
	--op-dorado-claro: #e8d9b8;
	--op-dorado-oscuro: #b8a06e;
	--op-crema: #f4efe2;
	--op-crema-clara: #faf6ec;
	--op-blanco: #fff;
	--op-tinta: var(--op-verde-oscuro);
	--op-tinta-suave: #4f5728;
	--op-apagado: #8a8b6e;
	--op-error: #a83232;
	--op-error-fondo: #fbeaea;
	--op-whatsapp: #25d366;

	/* Tipos */
	--op-serifa: "Fauna One", Georgia, "Times New Roman", serif;
	--op-sans: "Libre Franklin", "Segoe UI", system-ui, -apple-system, sans-serif;
	--op-firma: "Yellowtail", "Brush Script MT", cursive;
	--op-t-display: clamp(2.25rem, 1.4rem + 3.6vw, 4rem);
	--op-t-titular: clamp(1.75rem, 1.35rem + 1.7vw, 2.5rem);
	--op-t-pagina: clamp(2rem, 1.45rem + 2.4vw, 3.25rem);
	--op-t-producto: clamp(1.875rem, 1.45rem + 1.7vw, 2.75rem);
	--op-t-subtitular: clamp(1.5rem, 1.3rem + 0.9vw, 2.125rem);
	--op-t-titulo: 1.375rem;
	--op-t-tarjeta: 1.3125rem;
	--op-t-subtitulo: 1.1875rem;
	--op-t-entradilla: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
	--op-t-cuerpo: 1.0625rem;
	--op-t-pequeno: 0.9375rem;
	--op-t-etiqueta: 0.8125rem;
	--op-t-precio: 1.875rem;

	/* Espacio y medida */
	--op-ancho: 1280px;
	--op-ancho-texto: 44rem;
	--op-medianil: clamp(20px, 4vw, 48px);
	--op-seccion: clamp(60px, 8vw, 100px);
	--op-hueco: clamp(16px, 2vw, 24px);

	/* Profundidad */
	--op-sombra-tarjeta: 0 14px 36px rgba(63, 69, 23, 0.12);
	--op-sombra-panel: -12px 0 32px rgba(63, 69, 23, 0.18);
	--op-sombra-menu: 0 18px 40px rgba(36, 42, 0, 0.16);
	--op-filete: 1px solid var(--op-dorado-claro);

	/* Movimiento (salida exponencial; nada de aceleración al empezar) */
	--op-ease-salida: cubic-bezier(0.23, 1, 0.32, 1);
	--op-ease-mover: cubic-bezier(0.77, 0, 0.175, 1);
	--op-ease-cajon: cubic-bezier(0.32, 0.72, 0, 1);
	--op-d-pulsar: 140ms;
	--op-d-estado: 200ms;
	--op-d-menu: 220ms;
	--op-d-panel: 380ms;

	/* Foco: verde sobre papel; en las bandas oscuras se cambia a crema */
	--op-foco: var(--op-verde-imagotipo);
}
/* Base: reinicio, tipografía, superficies del navegador y componentes comunes. */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 96px;
	scrollbar-color: var(--op-dorado-oscuro) var(--op-crema);
	interpolate-size: allow-keywords;
}

body {
	margin: 0;
	background: var(--op-blanco);
	color: var(--op-tinta);
	font-family: var(--op-serifa);
	font-size: var(--op-t-cuerpo);
	font-weight: 400;
	line-height: 1.65;
	font-synthesis: none;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	caret-color: var(--op-verde-imagotipo);
}

::selection {
	background: var(--op-dorado-claro);
	color: var(--op-verde-muy-oscuro);
}

img,
svg,
video,
picture {
	display: block;
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 0.5em;
	font-family: var(--op-serifa);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-wrap: balance;
	color: var(--op-tinta);
}

h1 {
	font-size: var(--op-t-display);
	line-height: 1.08;
}

h2 {
	font-size: var(--op-t-titular);
}

h3 {
	font-size: var(--op-t-titulo);
	line-height: 1.3;
}

p,
ul,
ol,
dl,
blockquote,
figure {
	margin: 0 0 1em;
}

p {
	text-wrap: pretty;
}

strong,
b {
	font-weight: 400;
	color: var(--op-verde-muy-oscuro);
}

a {
	color: var(--op-verde-imagotipo);
	text-decoration-line: underline;
	text-decoration-color: var(--op-dorado);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color var(--op-d-estado) ease, text-decoration-color var(--op-d-estado) ease;
}

@media (hover: hover) and (pointer: fine) {
	a:hover {
		color: var(--op-verde-oscuro);
		text-decoration-color: var(--op-verde-oscuro);
	}
}

:focus-visible {
	outline: 2px solid var(--op-foco);
	outline-offset: 3px;
}

.op-oscuro {
	--op-foco: var(--op-dorado-claro);
}

/* Lo que no se ve pero se lee */
.op-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;
}

.op-saltar {
	position: absolute;
	left: 12px;
	top: -100px;
	z-index: 1000;
	padding: 12px 18px;
	background: var(--op-verde-oscuro);
	color: var(--op-blanco);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.op-saltar:focus {
	top: 12px;
}

.op-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.op-icono {
	width: 1.25em;
	height: 1.25em;
	flex: none;
	fill: currentColor;
}

/* Maquetación */
.op-contenedor {
	width: 100%;
	max-width: calc(var(--op-ancho) + 2 * var(--op-medianil));
	margin-inline: auto;
	padding-inline: var(--op-medianil);
}

.op-seccion {
	padding-block: var(--op-seccion);
}

.op-seccion--crema {
	background: var(--op-crema);
}

.op-seccion--clara {
	background: var(--op-crema-clara);
}

.op-seccion--oscura {
	background: var(--op-verde-oscuro);
	color: var(--op-crema-clara);
}

.op-seccion--oscura h2,
.op-seccion--oscura h3 {
	color: var(--op-blanco);
}

.op-seccion--oscura a:not(.op-boton) {
	color: var(--op-dorado-claro);
	text-decoration-color: var(--op-dorado);
}

.op-medida {
	max-width: var(--op-ancho-texto);
}

/* Encabezado de sección: el titular y su filete de etiqueta */
.op-encabezado {
	margin-bottom: clamp(32px, 4vw, 48px);
}

.op-encabezado--centrado {
	text-align: center;
	margin-inline: auto;
	max-width: 46rem;
}

.op-encabezado h2 {
	margin-bottom: 0.4em;
}

.op-encabezado p {
	color: var(--op-tinta-suave);
	font-size: var(--op-t-cuerpo);
	max-width: 40rem;
}

.op-encabezado--centrado p {
	margin-inline: auto;
}

.op-seccion--oscura .op-encabezado p {
	color: var(--op-crema);
}

.op-filete {
	display: block;
	width: 64px;
	height: 5px;
	margin: 0 0 22px;
	border-block: 1px solid var(--op-dorado);
}

.op-encabezado--centrado .op-filete {
	margin-inline: auto;
}

/* La firma manuscrita: una o dos palabras de un titular, una vez por pantalla */
.op-firma {
	font-family: var(--op-firma);
	font-weight: 400;
	font-size: 1.12em;
	letter-spacing: 0;
	color: var(--op-verde-imagotipo);
}

.op-seccion--oscura .op-firma,
.op-oscuro .op-firma {
	color: var(--op-dorado);
}

/* Botones */
.op-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 14px 28px;
	border: 1px solid var(--op-verde-imagotipo);
	border-radius: 0;
	background: var(--op-verde-imagotipo);
	color: var(--op-blanco);
	font: 600 var(--op-t-etiqueta) / 1.2 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--op-d-estado) ease, border-color var(--op-d-estado) ease, color var(--op-d-estado) ease, transform var(--op-d-pulsar) var(--op-ease-salida);
	-webkit-tap-highlight-color: transparent;
}

.op-boton .op-icono {
	width: 18px;
	height: 18px;
	transition: transform var(--op-d-estado) var(--op-ease-salida);
}

.op-boton:active {
	transform: scale(0.97);
}

@media (hover: hover) and (pointer: fine) {
	.op-boton:hover {
		background: var(--op-verde-oscuro);
		border-color: var(--op-verde-oscuro);
		color: var(--op-blanco);
	}

	.op-boton:hover .op-icono--flecha {
		transform: translateX(4px);
	}
}

.op-boton--claro {
	background: var(--op-blanco);
	color: var(--op-verde-oscuro);
	border-color: var(--op-verde-oscuro);
}

@media (hover: hover) and (pointer: fine) {
	.op-boton--claro:hover {
		background: var(--op-verde-oscuro);
		color: var(--op-crema-clara);
	}
}

.op-boton--dorado {
	background: var(--op-dorado);
	border-color: var(--op-dorado);
	color: var(--op-verde-muy-oscuro);
}

@media (hover: hover) and (pointer: fine) {
	.op-boton--dorado:hover {
		background: var(--op-dorado-claro);
		border-color: var(--op-dorado-claro);
		color: var(--op-verde-muy-oscuro);
	}
}

.op-boton--sobre-oscuro {
	background: transparent;
	border-color: var(--op-crema);
	color: var(--op-crema-clara);
}

@media (hover: hover) and (pointer: fine) {
	.op-boton--sobre-oscuro:hover {
		background: var(--op-crema-clara);
		border-color: var(--op-crema-clara);
		color: var(--op-verde-oscuro);
	}
}

.op-boton[disabled],
.op-boton.disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Enlace de texto con flecha (acciones secundarias) */
.op-enlace {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 600 var(--op-t-etiqueta) / 1.2 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--op-verde-imagotipo);
	padding-block: 6px;
	background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 0 1px;
	transition: background-size var(--op-d-estado) var(--op-ease-salida), color var(--op-d-estado) ease;
}

.op-enlace .op-icono {
	width: 16px;
	height: 16px;
}

@media (hover: hover) and (pointer: fine) {
	.op-enlace:hover {
		background-size: 100% 1px;
	}
}

/* Campos de formulario (formularios propios y los de WooCommerce) */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="url"],
select,
textarea {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid var(--op-apagado);
	border-radius: 0;
	background: var(--op-blanco);
	color: var(--op-tinta);
	font: 400 1rem / 1.4 var(--op-serifa);
	transition: border-color var(--op-d-estado) ease, box-shadow var(--op-d-estado) ease;
	-webkit-appearance: none;
	appearance: none;
}

select {
	padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233f4517' d='M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 22px;
}

textarea {
	min-height: 140px;
	resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--op-verde-imagotipo);
	box-shadow: 0 0 0 3px rgba(212, 189, 142, 0.55);
	outline: none;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--op-foco);
	outline-offset: 1px;
}

::placeholder {
	color: #6f705a;
	opacity: 1;
}

label {
	font: 600 var(--op-t-etiqueta) / 1.4 var(--op-sans);
	letter-spacing: 0.04em;
	color: var(--op-tinta);
}

/* Cifras de precio: tabulares y en la sans con peso real */
.op-precio,
.price,
.woocommerce-Price-amount {
	font-family: var(--op-sans);
	font-weight: 700;
	font-variant-numeric: lining-nums tabular-nums;
	color: var(--op-verde-oscuro);
}

.price del,
.op-precio del {
	color: var(--op-apagado);
	font-weight: 500;
	margin-right: 6px;
}

.price ins,
.op-precio ins {
	text-decoration: none;
	background: none;
}

/* Valoración: cinco estrellas claras y, encima, recortadas a la nota, las oscuras */
.op-estrellas {
	position: relative;
	display: inline-flex;
	flex: none;
	vertical-align: middle;
}

.op-estrellas__fondo,
.op-estrellas__nota {
	display: flex;
	gap: 2px;
}

.op-estrellas__fondo {
	color: var(--op-dorado-claro);
}

.op-estrellas__nota {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: var(--op-dorado-oscuro);
}

.op-estrellas .op-icono {
	width: 16px;
	height: 16px;
}

.op-estrellas--grandes .op-icono {
	width: 24px;
	height: 24px;
}

/* Avisos de WooCommerce (añadido al carrito, errores) */
.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin: 0 0 24px;
	padding: 16px 20px;
	list-style: none;
	border: 1px solid var(--op-dorado);
	background: var(--op-crema-clara);
	color: var(--op-tinta);
	font-size: var(--op-t-pequeno);
}

.woocommerce-error {
	border-color: var(--op-error);
	background: var(--op-error-fondo);
	color: var(--op-error);
}

.woocommerce-error li {
	margin: 0;
}

.woocommerce-message .button,
.woocommerce-info .button {
	order: 2;
	margin-left: auto;
	padding: 10px 18px;
	background: var(--op-verde-imagotipo);
	color: var(--op-blanco);
	font: 600 var(--op-t-etiqueta) / 1.2 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}

/* Preguntas desplegables */
.op-preguntas {
	border-top: var(--op-filete);
}

.op-pregunta {
	border-bottom: var(--op-filete);
}

.op-pregunta summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 4px;
	cursor: pointer;
	list-style: none;
	font: 400 var(--op-t-subtitulo) / 1.4 var(--op-serifa);
	color: var(--op-tinta);
	transition: color var(--op-d-estado) ease;
}

.op-pregunta summary::-webkit-details-marker {
	display: none;
}

.op-pregunta summary .op-icono {
	width: 26px;
	height: 26px;
	color: var(--op-verde-imagotipo);
	transition: transform var(--op-d-estado) var(--op-ease-salida);
}

.op-pregunta[open] summary .op-icono {
	transform: rotate(180deg);
}

@media (hover: hover) and (pointer: fine) {
	.op-pregunta summary:hover {
		color: var(--op-verde-imagotipo);
	}
}

.op-pregunta__respuesta {
	padding: 0 4px 24px;
	color: var(--op-tinta-suave);
	max-width: 48rem;
}

.op-pregunta__respuesta p:last-child {
	margin-bottom: 0;
}

/* Apertura suave donde el navegador lo permite; donde no, se abre sin más. */
.op-pregunta::details-content {
	block-size: 0;
	overflow-y: clip;
	transition: block-size var(--op-d-menu) var(--op-ease-salida), content-visibility var(--op-d-menu) allow-discrete;
}

.op-pregunta[open]::details-content {
	block-size: auto;
}

.op-seccion--oscura .op-preguntas,
.op-seccion--oscura .op-pregunta {
	border-color: rgba(232, 217, 184, 0.28);
}

.op-seccion--oscura .op-pregunta summary {
	color: var(--op-crema-clara);
}

.op-seccion--oscura .op-pregunta summary .op-icono {
	color: var(--op-dorado);
}

.op-seccion--oscura .op-pregunta__respuesta {
	color: var(--op-crema);
}

/* Migas */
.op-migas {
	font: 500 var(--op-t-etiqueta) / 1.5 var(--op-sans);
	letter-spacing: 0.02em;
	color: var(--op-tinta-suave);
	margin-bottom: 20px;
}

.op-migas a {
	color: var(--op-tinta-suave);
	text-decoration-color: rgba(79, 87, 40, 0.35);
}

.op-migas .separator {
	margin-inline: 6px;
	color: var(--op-apagado);
}

.op-migas .last {
	color: var(--op-tinta);
}

.op-oscuro .op-migas,
.op-oscuro .op-migas a {
	color: var(--op-crema);
}

.op-oscuro .op-migas .last {
	color: var(--op-blanco);
}

/* Marco de etiqueta: filete dorado doble, como el recuadro de una etiqueta de aceite */
.op-etiqueta {
	position: relative;
	border: 1px solid var(--op-dorado);
	outline: 1px solid var(--op-dorado);
	outline-offset: 4px;
	background: var(--op-crema-clara);
}

/* Movimiento de firma: el filete se traza al llegar, ligado al desplazamiento (sin JavaScript). */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.op-filete {
			animation: op-trazar linear both;
			animation-timeline: view();
			animation-range: entry 10% cover 30%;
		}
	}
}

@keyframes op-trazar {
	from {
		clip-path: inset(0 100% 0 0);
	}

	to {
		clip-path: inset(0 0 0 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
/* Piezas comunes a varias plantillas: texto largo, tablas, buscador, paginación, etiquetas de datos,
   saltos, bandas de cierre, razones, rejilla de entradas y la aparición al llegar. */

/* Texto solo para lectores de pantalla con la clase de WordPress y WooCommerce */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto !important;
	background: var(--op-blanco);
	color: var(--op-verde-oscuro);
}

.op-centrado {
	margin: clamp(28px, 4vw, 44px) 0 0;
	text-align: center;
}

.op-entradilla {
	max-width: 42rem;
	font-size: var(--op-t-entradilla);
	line-height: 1.6;
	color: var(--op-tinta-suave);
}

.op-oscuro .op-entradilla {
	color: var(--op-crema);
}

.op-preguntas--centradas {
	margin-inline: auto;
}

.op-vacio {
	max-width: 40rem;
	color: var(--op-tinta-suave);
}

/* Texto largo: entradas, páginas legales y descripciones de producto */
.op-texto > * + * {
	margin-top: 1em;
}

.op-texto > :first-child {
	margin-top: 0;
}

.op-texto h2 {
	margin-top: 1.8em;
	font-size: var(--op-t-subtitular);
}

.op-texto h3 {
	margin-top: 1.6em;
	font-size: var(--op-t-titulo);
}

.op-texto h4 {
	margin-top: 1.4em;
	font-size: var(--op-t-subtitulo);
}

.op-texto ul,
.op-texto ol {
	padding-left: 1.3em;
}

.op-texto li + li {
	margin-top: 0.45em;
}

.op-texto li::marker {
	color: var(--op-verde-imagotipo);
}

.op-texto ol > li::marker {
	font-family: var(--op-sans);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.op-texto figure,
.op-texto .wp-block-image {
	margin: 1.6em 0;
}

.op-texto figcaption {
	margin-top: 8px;
	font: 500 var(--op-t-etiqueta) / 1.5 var(--op-sans);
	color: var(--op-tinta-suave);
}

.op-texto blockquote,
.op-cita {
	margin: 1.6em 0;
	padding: 6px 0 6px 24px;
	border-left: 1px solid var(--op-dorado-oscuro);
	font-size: var(--op-t-subtitulo);
	line-height: 1.55;
	color: var(--op-verde-oscuro);
}

.op-cita p {
	margin: 0;
}

.op-cita footer {
	margin-top: 12px;
	font: 500 var(--op-t-etiqueta) / 1.4 var(--op-sans);
	letter-spacing: 0.04em;
	color: var(--op-tinta-suave);
}

.op-texto table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--op-t-pequeno);
}

.op-texto th,
.op-texto td {
	padding: 10px 12px;
	border-bottom: var(--op-filete);
	text-align: left;
	vertical-align: top;
}

.op-texto a {
	overflow-wrap: anywhere;
}

.op-texto iframe {
	max-width: 100%;
}

/* Tabla con desplazamiento lateral en el móvil (región enfocable para el teclado) */
.op-tabla-desplazable {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.op-tabla {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	font-size: var(--op-t-pequeno);
	line-height: 1.45;
}

.op-tabla th,
.op-tabla td {
	padding: 12px 14px;
	border-bottom: var(--op-filete);
	text-align: left;
	vertical-align: top;
}

.op-tabla thead th {
	border-bottom: 1px solid var(--op-dorado-oscuro);
	color: var(--op-tinta-suave);
	font: 600 var(--op-t-etiqueta) / 1.3 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.op-tabla tbody + tbody {
	border-top: 1px solid var(--op-dorado);
}

.op-tabla tbody th {
	font-weight: 400;
}

/* Buscador */
.search-form {
	display: flex;
	gap: 8px;
	max-width: 32rem;
	margin-top: 20px;
}

.search-form label {
	flex: 1;
}

.search-form .search-submit {
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid var(--op-verde-imagotipo);
	background: var(--op-verde-imagotipo);
	color: var(--op-blanco);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--op-d-estado) ease, transform var(--op-d-pulsar) var(--op-ease-salida);
}

.search-form .search-submit:active {
	transform: scale(0.97);
}

/* Paginación de los listados */
.pagination {
	margin-top: clamp(36px, 5vw, 56px);
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 44px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--op-dorado-claro);
	color: var(--op-verde-oscuro);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.08em;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	transition: border-color var(--op-d-estado) ease, background-color var(--op-d-estado) ease;
}

.pagination .page-numbers.current {
	border-color: var(--op-verde-oscuro);
	background: var(--op-verde-oscuro);
	color: var(--op-crema-clara);
}

.pagination .page-numbers.dots {
	border-color: transparent;
}

.pagination .op-icono {
	width: 16px;
	height: 16px;
}

.op-icono--atras {
	transform: rotate(180deg);
}

@media (hover: hover) and (pointer: fine) {
	.pagination a.page-numbers:hover {
		border-color: var(--op-verde-imagotipo);
		background: var(--op-crema-clara);
	}
}

/* Botón de WhatsApp: el único sitio con su verde */
.op-boton--whatsapp {
	border-color: var(--op-whatsapp);
	background: var(--op-whatsapp);
	color: #08341a;
}

@media (hover: hover) and (pointer: fine) {
	.op-boton--whatsapp:hover {
		border-color: #1fb457;
		background: #1fb457;
		color: #052611;
	}
}

/* Marco de etiqueta como lista de datos (ficha, portada, contacto) */
dl.op-etiqueta {
	margin: 0;
	padding: 4px 20px;
}

dl.op-etiqueta > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-bottom: var(--op-filete);
}

dl.op-etiqueta > div:last-child {
	border-bottom: 0;
}

dl.op-etiqueta dt {
	flex: none;
	color: var(--op-tinta-suave);
	font: 600 var(--op-t-etiqueta) / 1.3 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

dl.op-etiqueta dd {
	margin: 0;
	color: var(--op-verde-oscuro);
	font: 600 var(--op-t-pequeno) / 1.35 var(--op-sans);
	text-align: right;
}

/* Saltos (grupos de la tienda, tipos de receta): enlaces de verdad, en fila con desplazamiento en el móvil */
.op-saltos {
	margin: 24px 0 0;
}

.op-saltos ul {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 2px 2px 6px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.op-saltos ul::-webkit-scrollbar {
	display: none;
}

.op-saltos a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--op-dorado);
	background: var(--op-crema-clara);
	color: var(--op-verde-oscuro);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--op-d-estado) ease, color var(--op-d-estado) ease, border-color var(--op-d-estado) ease;
}

.op-saltos a[aria-current="page"] {
	border-color: var(--op-verde-oscuro);
	background: var(--op-verde-oscuro);
	color: var(--op-crema-clara);
}

.op-saltos__numero {
	font-weight: 500;
	letter-spacing: 0;
	opacity: 0.8;
	font-variant-numeric: tabular-nums;
}

@media (hover: hover) and (pointer: fine) {
	.op-saltos a:hover {
		border-color: var(--op-verde-imagotipo);
		background: var(--op-blanco);
	}

	.op-saltos a[aria-current="page"]:hover {
		background: var(--op-verde-oscuro);
	}
}

/* Banda oscura de cierre, con el patrón de olivos */
.op-banda {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	text-align: center;
}

.op-banda::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23ACB24E' stroke-width='0.8' opacity='.18'%3E%3Cpath d='M0 120 Q60 60 120 120 T240 120'/%3E%3Cpath d='M0 120 Q60 180 120 120 T240 120'/%3E%3Cellipse cx='60' cy='95' rx='2.5' ry='4' fill='%23ACB24E'/%3E%3Cellipse cx='120' cy='120' rx='3' ry='5' fill='%23ACB24E'/%3E%3Cellipse cx='180' cy='95' rx='2.5' ry='4' fill='%23ACB24E'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 320px 320px;
	opacity: 0.5;
}

.op-banda__dentro {
	max-width: calc(52rem + 2 * var(--op-medianil));
}

.op-banda h2 {
	margin-bottom: 14px;
}

.op-banda p {
	max-width: 40rem;
	margin: 0 auto 28px;
	color: var(--op-crema);
}

.op-banda__acciones {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

/* Lista de razones (tienda, quiénes somos, premios): titular a la izquierda, filetes a la derecha */
.op-razones__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}

.op-razones__rejilla .op-encabezado {
	margin-bottom: 0;
}

.op-razones__lista {
	margin: 0;
	border-top: 1px solid var(--op-dorado);
}

.op-razones__item {
	padding: 22px 0;
	border-bottom: var(--op-filete);
}

.op-razones__item dt {
	margin-bottom: 6px;
	color: var(--op-verde-oscuro);
	font-size: var(--op-t-tarjeta);
	line-height: 1.3;
}

.op-razones__item dd {
	margin: 0;
	color: var(--op-tinta-suave);
}

@media (max-width: 900px) {
	.op-razones__rejilla {
		grid-template-columns: 1fr;
	}
}

/* Tarjeta de entrada (recetas y noticias) */
.op-rejilla-entradas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--op-hueco);
}

.op-tarjeta-entrada {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--op-blanco);
	border: var(--op-filete);
	transition: box-shadow var(--op-d-estado) ease, border-color var(--op-d-estado) ease;
}

.op-tarjeta-entrada__foto {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--op-crema);
}

.op-tarjeta-entrada__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms var(--op-ease-salida);
}

.op-tarjeta-entrada__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	padding: 20px 22px 24px;
}

.op-tarjeta-entrada__meta {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	color: var(--op-tinta-suave);
	font: 500 var(--op-t-etiqueta) / 1.4 var(--op-sans);
}

.op-tarjeta-entrada__meta > :not(:last-child)::after {
	content: "/";
	margin: 0 8px;
	color: var(--op-dorado-oscuro);
}

.op-tarjeta-entrada__meta span {
	color: var(--op-verde-imagotipo);
}

/* Sin foto destacada (noticias que son un cartel o un PDF): la tarjeta es solo texto, sobre crema */
.op-tarjeta-entrada--sin-foto {
	background: var(--op-crema-clara);
}

.op-tarjeta-entrada__titulo {
	margin: 0;
	font-size: var(--op-t-tarjeta);
	line-height: 1.3;
}

.op-tarjeta-entrada__titulo a {
	color: var(--op-verde-oscuro);
	text-decoration: none;
}

/* El enlace del título cubre toda la tarjeta */
.op-tarjeta-entrada__titulo a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.op-tarjeta-entrada__titulo a:focus-visible {
	outline: none;
}

.op-tarjeta-entrada:has(a:focus-visible) {
	outline: 2px solid var(--op-foco);
	outline-offset: 3px;
}

.op-tarjeta-entrada__resumen {
	margin: 0;
	color: var(--op-tinta-suave);
	font-size: var(--op-t-pequeno);
	line-height: 1.55;
}

@media (hover: hover) and (pointer: fine) {
	.op-tarjeta-entrada:hover {
		border-color: var(--op-dorado);
		box-shadow: var(--op-sombra-tarjeta);
	}

	.op-tarjeta-entrada:hover .op-tarjeta-entrada__foto img {
		transform: scale(1.03);
	}

	.op-tarjeta-entrada:hover .op-tarjeta-entrada__titulo a {
		color: var(--op-verde-imagotipo);
	}
}

/* Sobre las bandas oscuras, las tarjetas siguen siendo papel */
.op-seccion--oscura .op-tarjeta-entrada {
	border-color: transparent;
}

.op-seccion--oscura .op-tarjeta-entrada__titulo a {
	color: var(--op-verde-oscuro);
}

@media (max-width: 1000px) {
	.op-rejilla-entradas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.op-rejilla-entradas {
		grid-template-columns: 1fr;
	}
}

/* Cabecera de página (quiénes somos, premios, contacto, error) */
.op-pagina-cabecera {
	padding-block: clamp(28px, 4vw, 48px) clamp(48px, 6vw, 80px);
}

.op-pagina-cabecera h1 {
	max-width: 22ch;
}

.op-pagina-cabecera__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
}

.op-pagina-cabecera__foto {
	margin: 0;
}

.op-pagina-cabecera__foto img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

@media (max-width: 900px) {
	.op-pagina-cabecera__rejilla {
		grid-template-columns: 1fr;
	}
}

/* Canales de contacto (contacto y página de error): filas con filete, como un directorio */
.op-canales {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(24px, 4vw, 56px);
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--op-dorado);
}

.op-canal {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	column-gap: 16px;
	align-items: start;
	padding: 22px 0;
	border-bottom: var(--op-filete);
}

.op-canal__icono {
	grid-row: span 3;
	width: 44px;
	height: 44px;
	padding: 11px;
	border: 1px solid var(--op-dorado-claro);
	color: var(--op-verde-imagotipo);
}

.op-canal__nombre {
	margin: 0 0 2px;
	color: var(--op-tinta-suave);
	font: 600 var(--op-t-etiqueta) / 1.3 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.op-canal__dato {
	justify-self: start;
	color: var(--op-verde-oscuro);
	font-size: var(--op-t-tarjeta);
	line-height: 1.35;
	text-decoration-color: var(--op-dorado);
	overflow-wrap: anywhere;
}

.op-canal__uso {
	margin: 6px 0 0;
	color: var(--op-tinta-suave);
	font-size: var(--op-t-pequeno);
}

.op-canales--compacto .op-canal__dato {
	font-size: var(--op-t-cuerpo);
}

@media (max-width: 760px) {
	.op-canales {
		grid-template-columns: 1fr;
	}
}

/* Contenido que se posa al llegar: solo lo que está por debajo de la primera pantalla y con JavaScript */
@media (prefers-reduced-motion: no-preference) {
	.op-js .op-por-ver {
		opacity: 0;
		transform: translateY(14px);
	}

	.op-js .op-visto {
		opacity: 1;
		transform: none;
		transition: opacity 520ms var(--op-ease-salida), transform 520ms var(--op-ease-salida);
	}
}


/* Al imprimir (y por si algo no llega a verse al pasar), todo a la vista */
@media print {
	.op-por-ver {
		opacity: 1 !important;
		transform: none !important;
	}
}
/* Cabecera: barra de contacto, fila principal fija y menú del móvil. */

.op-cabecera__barra {
	background: var(--op-verde-oscuro);
	color: var(--op-crema-clara);
	font: 500 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.02em;
}

.op-cabecera__barra-dentro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 42px;
}

.op-cabecera__contacto,
.op-redes {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.op-cabecera__contacto a,
.op-cabecera__barra .op-redes a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	color: var(--op-crema-clara);
	text-decoration: none;
}

.op-cabecera__contacto .op-icono {
	width: 15px;
	height: 15px;
	color: var(--op-dorado);
}

.op-cabecera__barra-derecha {
	display: flex;
	align-items: center;
	gap: 22px;
}

.op-redes {
	gap: 4px;
}

.op-redes a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: inherit;
}

.op-redes .op-icono {
	width: 17px;
	height: 17px;
}

.op-cabecera__socios {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border: 1px solid var(--op-dorado);
	color: var(--op-dorado-claro);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color var(--op-d-estado) ease, color var(--op-d-estado) ease;
}

.op-cabecera__socios .op-icono {
	width: 14px;
	height: 14px;
}

@media (hover: hover) and (pointer: fine) {
	.op-cabecera__contacto a:hover span,
	.op-cabecera__barra .op-redes a:hover {
		color: var(--op-dorado-claro);
	}

	.op-cabecera__socios:hover {
		background: var(--op-dorado);
		color: var(--op-verde-muy-oscuro);
	}
}

/* Fila principal: se queda arriba al desplazarse */
.op-cabecera__principal {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--op-blanco);
	border-bottom: 1px solid var(--op-dorado-claro);
	transition: box-shadow var(--op-d-estado) ease;
}

.admin-bar .op-cabecera__principal {
	top: 32px;
}

.op-cabecera__principal[data-op-pegada] {
	box-shadow: 0 10px 28px -18px rgba(36, 42, 0, 0.45);
}

.op-cabecera__fila {
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 40px);
	min-height: 88px;
}

.op-cabecera__logo {
	flex: none;
	display: block;
	width: 150px;
	border-radius: 2px;
}

.op-cabecera__logo img {
	width: 100%;
	height: auto;
}

/* Menú principal */
.op-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.op-nav__lista {
	display: flex;
	align-items: center;
	gap: clamp(8px, 1.6vw, 26px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.op-nav__item {
	position: relative;
}

.op-nav__enlace {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 44px;
	padding: 6px 2px;
	border: 0;
	background: linear-gradient(var(--op-dorado), var(--op-dorado)) no-repeat 0 calc(100% - 6px) / 0 1px;
	color: var(--op-verde-oscuro);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-size var(--op-d-menu) var(--op-ease-salida), color var(--op-d-estado) ease;
}

.op-nav__enlace[aria-current="page"] {
	background-size: 100% 1px;
	color: var(--op-verde-imagotipo);
}

.op-nav__flecha {
	width: 18px;
	height: 18px;
	transition: transform var(--op-d-menu) var(--op-ease-salida);
}

@media (hover: hover) and (pointer: fine) {
	.op-nav__enlace:hover {
		background-size: 100% 1px;
	}
}

/* Desplegable de "Nosotros": crece desde su botón */
.op-nav__sub {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	z-index: 60;
	width: 320px;
	padding: 10px;
	background: var(--op-blanco);
	border: 1px solid var(--op-dorado-claro);
	box-shadow: var(--op-sombra-menu);
	transform-origin: top center;
	transform: translateX(-50%) scale(0.97);
	opacity: 0;
	visibility: hidden;
	transition: opacity 120ms ease, transform 120ms ease, visibility 0s linear 120ms;
}

.op-nav__sub::before {
	content: "";
	position: absolute;
	inset: -13px 0 auto;
	height: 13px;
}

.op-nav__sub ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.op-nav__sub a {
	display: grid;
	gap: 3px;
	padding: 12px 14px;
	text-decoration: none;
	transition: background-color var(--op-d-estado) ease;
}

.op-nav__sub-titulo {
	font: 400 var(--op-t-cuerpo) / 1.3 var(--op-serifa);
	color: var(--op-verde-oscuro);
}

.op-nav__sub-texto {
	font: 500 var(--op-t-etiqueta) / 1.4 var(--op-sans);
	color: var(--op-tinta-suave);
}

.op-nav__sub a[aria-current="page"] .op-nav__sub-titulo {
	color: var(--op-verde-imagotipo);
}

@media (hover: hover) and (pointer: fine) {
	.op-nav__sub a:hover {
		background: var(--op-crema-clara);
	}
}

.op-nav__item--grupo[data-op-abierto] .op-nav__sub,
.op-nav__item--grupo:not([data-op-cerrado]):hover .op-nav__sub {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) scale(1);
	transition: opacity var(--op-d-menu) var(--op-ease-salida), transform var(--op-d-menu) var(--op-ease-salida), visibility 0s;
}

.op-nav__item--grupo[data-op-abierto] .op-nav__flecha {
	transform: rotate(180deg);
}

@media (hover: none), (pointer: coarse) {
	.op-nav__item--grupo:hover .op-nav__sub {
		opacity: 0;
		visibility: hidden;
	}

	.op-nav__item--grupo[data-op-abierto]:hover .op-nav__sub {
		opacity: 1;
		visibility: visible;
	}
}

/* Cuenta, carrito y botón del menú */
.op-cabecera__acciones {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.op-cabecera__icono {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--op-dorado-claro);
	background: var(--op-blanco);
	color: var(--op-verde-oscuro);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: border-color var(--op-d-estado) ease, background-color var(--op-d-estado) ease, transform var(--op-d-pulsar) var(--op-ease-salida);
}

.op-cabecera__icono .op-icono {
	width: 20px;
	height: 20px;
}

.op-cabecera__icono:active {
	transform: scale(0.96);
}

@media (hover: hover) and (pointer: fine) {
	.op-cabecera__icono:hover {
		border-color: var(--op-verde-imagotipo);
		background: var(--op-crema-clara);
	}
}

.op-cabecera__contador {
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--op-verde-imagotipo);
	color: var(--op-blanco);
	font: 700 var(--op-t-etiqueta) / 20px var(--op-sans);
	letter-spacing: 0;
	text-align: center;
	font-variant-numeric: tabular-nums;
	box-shadow: 0 0 0 2px var(--op-blanco);
}

.op-cabecera__contador[data-op-salto] {
	animation: op-salto 360ms var(--op-ease-salida);
}

@keyframes op-salto {
	0% {
		transform: scale(0.8);
	}

	55% {
		transform: scale(1.12);
	}

	100% {
		transform: scale(1);
	}
}

.op-cabecera__menu {
	display: none;
}

/* Menú del móvil: un <dialog> lateral que entra con curva de cajón */
.op-panel {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(360px, 88vw);
	max-width: none;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 18px 22px 28px;
	border: 0;
	background: var(--op-blanco);
	color: var(--op-tinta);
	box-shadow: var(--op-sombra-panel);
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: translateX(100%);
	transition: transform var(--op-d-panel) var(--op-ease-cajon), display var(--op-d-panel) allow-discrete, overlay var(--op-d-panel) allow-discrete;
}

.op-panel[open] {
	transform: translateX(0);
}

@starting-style {
	.op-panel[open] {
		transform: translateX(100%);
	}
}

.op-panel::backdrop {
	background: rgba(36, 42, 0, 0.42);
	opacity: 0;
	transition: opacity var(--op-d-panel) ease, display var(--op-d-panel) allow-discrete, overlay var(--op-d-panel) allow-discrete;
}

.op-panel[open]::backdrop {
	opacity: 1;
}

@starting-style {
	.op-panel[open]::backdrop {
		opacity: 0;
	}
}

.op-panel__cabeza {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--op-dorado-claro);
}

.op-panel__cabeza img {
	width: 116px;
}

.op-panel__cerrar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--op-dorado-claro);
	background: var(--op-blanco);
	color: var(--op-verde-oscuro);
	cursor: pointer;
}

.op-panel__lista,
.op-panel__sub,
.op-panel__contacto {
	margin: 0;
	padding: 0;
	list-style: none;
}

.op-panel__lista > li {
	border-bottom: 1px solid var(--op-dorado-claro);
}

.op-panel__enlace {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 56px;
	padding: 0 2px;
	border: 0;
	background: none;
	color: var(--op-verde-oscuro);
	font: 400 var(--op-t-tarjeta) / 1.2 var(--op-serifa);
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

.op-panel__enlace[aria-current="page"] {
	color: var(--op-verde-imagotipo);
}

.op-panel__enlace .op-icono {
	width: 24px;
	height: 24px;
	color: var(--op-verde-imagotipo);
	transition: transform var(--op-d-menu) var(--op-ease-salida);
}

.op-panel__enlace[aria-expanded="true"] .op-icono {
	transform: rotate(180deg);
}

.op-panel__sub {
	padding: 0 0 12px 14px;
}

.op-panel__sub a {
	display: block;
	padding: 10px 0;
	color: var(--op-tinta-suave);
	font-size: var(--op-t-cuerpo);
	text-decoration: none;
}

.op-panel__acciones {
	display: grid;
	gap: 10px;
	margin: 24px 0;
}

.op-panel__acciones .op-boton {
	justify-content: flex-start;
}

.op-panel__contacto {
	display: grid;
	gap: 4px;
	font: 500 var(--op-t-pequeno) / 1.4 var(--op-sans);
}

.op-panel__contacto a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	color: var(--op-tinta);
	text-decoration: none;
}

.op-panel__contacto .op-icono {
	width: 18px;
	height: 18px;
	color: var(--op-verde-imagotipo);
}

.op-redes--panel {
	margin-top: 16px;
	color: var(--op-verde-oscuro);
}

.op-redes--panel a {
	width: 44px;
	height: 44px;
	border: 1px solid var(--op-dorado-claro);
}

/* Anchos */
@media (max-width: 1180px) {
	.op-cabecera__icono-texto {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	.op-cabecera__icono {
		padding: 0;
		width: 44px;
	}
}

@media (max-width: 1024px) {
	.op-nav,
	.op-cabecera__cuenta {
		display: none;
	}

	.op-cabecera__menu {
		display: inline-flex;
	}

	.op-cabecera__lugar {
		display: none;
	}
}

@media (max-width: 768px) {
	.op-cabecera__barra {
		display: none;
	}

	.op-cabecera__fila {
		min-height: 68px;
	}

	.op-cabecera__logo {
		width: 116px;
	}

	html {
		scroll-padding-top: 80px;
	}
}

@media (max-width: 782px) {
	.admin-bar .op-cabecera__principal {
		top: 0;
	}
}

/* Sin JavaScript: el desplegable se abre al llegar con el teclado */
html:not(.op-js) .op-nav__item--grupo:focus-within .op-nav__sub {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) scale(1);
}

/* Con el menú del móvil abierto, la página de detrás no se desplaza */
html:has(.op-panel[open]) {
	overflow: hidden;
}
/* Pie: reseñas de Google, columnas sobre el patrón de olivos y banda legal. */

/* Reseñas de Google: la valoración y sus enlaces a un lado, tres reseñas reales entre filetes al otro */
.op-resenas {
	padding-block: clamp(52px, 6vw, 84px);
	background: var(--op-crema-clara);
	border-top: var(--op-filete);
}

.op-resenas__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

.op-resenas__titulo {
	max-width: 16ch;
	margin: 0 0 20px;
	font-size: var(--op-t-subtitular);
	text-wrap: balance;
}

.op-resenas__valoracion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin: 0 0 18px;
	color: var(--op-verde-oscuro);
	font: 600 var(--op-t-subtitulo) / 1.3 var(--op-sans);
}

.op-resenas__enlaces {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 24px;
	margin: 0;
}

.op-resenas__lista {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.op-resena {
	padding: 4px clamp(20px, 2.4vw, 32px) 4px;
	border-left: 1px solid var(--op-dorado);
}

.op-resena figure {
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
	margin: 0;
}

.op-resena__texto {
	flex: 1;
	margin: 0;
	padding: 0;
	border: 0;
}

.op-resena__texto p {
	margin: 0;
	color: var(--op-verde-oscuro);
	font: 400 var(--op-t-subtitulo) / 1.5 var(--op-serifa);
}

.op-resena__autor {
	display: flex;
	flex-wrap: wrap;
	color: var(--op-tinta-suave);
	font: 500 var(--op-t-etiqueta) / 1.4 var(--op-sans);
}

.op-resena__autor span:first-child {
	color: var(--op-verde-imagotipo);
}

.op-resena__autor > :not(:last-child)::after {
	content: "/";
	margin: 0 8px;
	color: var(--op-dorado-oscuro);
}

/* Al llegar, el dorado de la valoración se rellena de izquierda a derecha (con la llegada del bloque) */
@media (prefers-reduced-motion: no-preference) {
	.op-js .op-por-ver .op-estrellas__nota {
		clip-path: inset(0 100% 0 0);
	}

	.op-js .op-visto .op-estrellas__nota {
		clip-path: inset(0 0 0 0);
		transition: clip-path 640ms var(--op-ease-salida) 180ms;
	}
}

.op-pie__principal {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(56px, 7vw, 84px) clamp(44px, 5vw, 60px);
	background: var(--op-verde-oscuro);
	color: var(--op-crema);
}

/* El patrón de ramas de olivo de la web anterior, como textura apenas visible */
.op-pie__principal::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23ACB24E' stroke-width='0.8' opacity='.18'%3E%3Cpath d='M0 120 Q60 60 120 120 T240 120'/%3E%3Cpath d='M0 120 Q60 180 120 120 T240 120'/%3E%3Cellipse cx='60' cy='95' rx='2.5' ry='4' fill='%23ACB24E'/%3E%3Cellipse cx='120' cy='120' rx='3' ry='5' fill='%23ACB24E'/%3E%3Cellipse cx='180' cy='95' rx='2.5' ry='4' fill='%23ACB24E'/%3E%3Cellipse cx='90' cy='150' rx='2' ry='3' fill='%23ACB24E'/%3E%3Cellipse cx='150' cy='150' rx='2' ry='3' fill='%23ACB24E'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 320px 320px;
	opacity: 0.55;
}

.op-pie__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr);
	gap: clamp(32px, 4vw, 56px);
}

.op-pie__logo {
	display: inline-block;
	width: 180px;
	margin-bottom: 22px;
}

.op-pie__razon {
	margin: 0 0 6px;
	font: 600 var(--op-t-pequeno) / 1.4 var(--op-sans);
	letter-spacing: 0.02em;
	color: var(--op-blanco);
}

.op-pie__lema {
	max-width: 22rem;
	margin: 0 0 22px;
	font-size: var(--op-t-pequeno);
	line-height: 1.6;
}

.op-redes--pie {
	gap: 8px;
}

.op-redes--pie a {
	width: 44px;
	height: 44px;
	border: 1px solid rgba(232, 217, 184, 0.45);
	color: var(--op-crema-clara);
	transition: border-color var(--op-d-estado) ease, background-color var(--op-d-estado) ease;
}

.op-redes--pie .op-icono {
	width: 18px;
	height: 18px;
}

@media (hover: hover) and (pointer: fine) {
	.op-redes--pie a:hover {
		border-color: var(--op-dorado);
		background: rgba(232, 217, 184, 0.08);
	}
}

.op-pie__titulo {
	margin: 0 0 16px;
	padding-bottom: 12px;
	background: linear-gradient(var(--op-dorado), var(--op-dorado)) no-repeat 0 100% / 28px 1px;
	color: var(--op-blanco);
	font: 600 var(--op-t-etiqueta) / 1.3 var(--op-sans);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.op-pie__lista {
	display: grid;
	justify-items: start;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-style: normal;
}

.op-pie__lista a,
.op-pie__horario {
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	padding-block: 7px;
	color: var(--op-crema);
	font-size: var(--op-t-pequeno);
	line-height: 1.5;
	text-decoration: none;
}

.op-pie__principal .op-pie__lista a {
	color: var(--op-crema);
}

.op-pie__contacto .op-icono {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--op-dorado);
}

@media (hover: hover) and (pointer: fine) {
	.op-pie__principal .op-pie__lista a:hover {
		color: var(--op-blanco);
		text-decoration: underline;
		text-decoration-color: var(--op-dorado);
	}
}

/* Banda legal */
.op-pie__legal {
	background: var(--op-verde-muy-oscuro);
	color: var(--op-crema);
	font: 500 var(--op-t-etiqueta) / 1.5 var(--op-sans);
	letter-spacing: 0.02em;
}

.op-pie__legal-dentro {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 32px;
	padding-block: 16px;
}

.op-pie__legal p {
	margin: 0;
}

.op-pie__legales {
	display: flex;
	flex-wrap: wrap;
	gap: 0 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.op-pie__legales a,
.op-pie__cookies {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--op-crema);
	font: inherit;
	letter-spacing: inherit;
	text-decoration: none;
	cursor: pointer;
}

.op-pie__credito {
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.op-pie__credito a {
	color: var(--op-blanco);
	text-decoration-color: var(--op-dorado);
}

@media (hover: hover) and (pointer: fine) {
	.op-pie__legales a:hover,
	.op-pie__cookies:hover {
		color: var(--op-blanco);
		text-decoration: underline;
		text-decoration-color: var(--op-dorado);
		text-underline-offset: 0.25em;
	}
}

/* La pestaña flotante de Complianz se quita: "Gestionar cookies" está en el pie de todas las páginas. */
#cmplz-manage-consent .cmplz-manage-consent {
	display: none !important;
}

/* Anchos */
@media (max-width: 1100px) {
	.op-pie__rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.op-resenas__rejilla {
		grid-template-columns: minmax(0, 1fr);
	}

	.op-resenas__titulo {
		max-width: none;
	}
}

@media (max-width: 760px) {
	.op-resenas__lista {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}

	.op-resena {
		padding: 22px 0 0;
		border-left: 0;
		border-top: 1px solid var(--op-dorado);
	}
}

@media (max-width: 768px) {
	/* Aire al final para que el botón del chat (fijo abajo a la derecha) no tape la banda legal */
	.op-pie__legal-dentro {
		flex-direction: column;
		align-items: flex-start;
		padding-block: 20px 92px;
	}
}

@media (max-width: 600px) {
	.op-pie__rejilla {
		gap: 36px 20px;
	}

	.op-pie__marca,
	.op-pie__contacto {
		grid-column: 1 / -1;
	}

	.op-pie__logo {
		width: 156px;
	}
}
/* Tarjeta de producto: la misma en la tienda, la portada, los relacionados, las recetas y la página de error.
   El marcado es el del listado de WooCommerce (enlace, foto, nombre, precio y botón) con los ganchos del tema. */

ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--op-hueco);
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.products::before,
ul.products::after {
	display: none;
}

ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto;
	margin: 0;
	padding: 0;
	background: var(--op-blanco);
	border: var(--op-filete);
	transition: border-color var(--op-d-estado) ease, box-shadow var(--op-d-estado) ease;
}

ul.products li.product .woocommerce-loop-product__link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.op-tarjeta__foto {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--op-crema-clara);
}

.op-tarjeta__foto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 600ms var(--op-ease-salida);
}

.op-sellos {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.op-sello {
	padding: 5px 9px;
	border: 1px solid var(--op-dorado);
	background: var(--op-crema-clara);
	color: var(--op-verde-oscuro);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.op-sello--agotado {
	border-color: var(--op-verde-oscuro);
	background: var(--op-verde-oscuro);
	color: var(--op-crema-clara);
}

.op-sello--oferta {
	border-color: var(--op-verde-imagotipo);
	background: var(--op-verde-imagotipo);
	color: var(--op-blanco);
}

.op-tarjeta__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: 18px 20px 14px;
}

.op-tarjeta__datos {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 0;
	margin: 0;
	color: var(--op-tinta-suave);
	font: 500 var(--op-t-etiqueta) / 1.4 var(--op-sans);
}

/* El separador va detrás del dato anterior: al partirse la línea, nunca la abre */
.op-tarjeta__datos span:not(:last-child)::after {
	content: "/";
	margin: 0 8px;
	color: var(--op-dorado-oscuro);
}

.op-tarjeta__nombre {
	margin: 0;
	color: var(--op-verde-oscuro);
	font-size: var(--op-t-cuerpo);
	line-height: 1.35;
	text-wrap: pretty;
}

ul.products li.product .price {
	display: block;
	margin-top: auto;
	padding-top: 6px;
	font-size: var(--op-t-subtitulo);
	line-height: 1.2;
}

.op-desde {
	margin-right: 4px;
	color: var(--op-tinta-suave);
	font-weight: 500;
	font-size: var(--op-t-etiqueta);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Botón de compra recto a lo ancho */
ul.products li.product .op-tarjeta__boton {
	margin: 0 20px 20px;
	padding: 12px 16px;
	min-height: 46px;
	text-align: center;
}

ul.products li.product .op-tarjeta__boton.loading {
	opacity: 0.7;
	cursor: progress;
}

ul.products li.product .op-tarjeta__boton.added::after {
	content: "";
	width: 14px;
	height: 8px;
	margin-left: 6px;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg) translateY(-2px);
}

/* "Ver carrito" que añade WooCommerce después de añadir sin recargar */
ul.products li.product .added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	margin: -10px 20px 18px;
	color: var(--op-verde-imagotipo);
	font: 600 var(--op-t-etiqueta) / 1 var(--op-sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
	ul.products li.product:hover {
		border-color: var(--op-dorado);
		box-shadow: var(--op-sombra-tarjeta);
	}

	ul.products li.product:hover .op-tarjeta__foto img {
		transform: scale(1.04);
	}

	ul.products li.product:hover .op-tarjeta__nombre {
		color: var(--op-verde-imagotipo);
	}
}

/* Sobre bandas oscuras, la tarjeta sigue siendo papel */
.op-seccion--oscura ul.products li.product {
	border-color: transparent;
}

@media (max-width: 1100px) {
	ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* En el móvil, tarjeta horizontal: foto a la izquierda y la compra a mano, sin una pantalla por producto */
@media (max-width: 559px) {
	ul.products {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	ul.products li.product {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		/* La columna de la foto, papel crema hasta abajo (el botón va solo en la columna del texto) */
		background: linear-gradient(90deg, var(--op-crema-clara) 112px, var(--op-blanco) 112px) !important;
		grid-template-areas:
			"enlace enlace"
			"boton boton";
	}

	ul.products li.product .woocommerce-loop-product__link {
		grid-area: enlace;
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		align-items: stretch;
	}

	.op-tarjeta__foto {
		aspect-ratio: auto;
		min-height: 128px;
	}

	.op-sellos {
		top: 6px;
		left: 6px;
	}

	.op-sello {
		padding: 4px 6px;
		letter-spacing: 0.04em;
	}

	.op-tarjeta__cuerpo {
		padding: 14px 14px 10px;
		gap: 6px;
	}

	ul.products li.product .op-tarjeta__boton {
		grid-area: boton;
		margin: 0 14px 14px 126px;
	}

	ul.products li.product .added_to_cart {
		grid-column: 1 / -1;
		margin: -6px 14px 12px 126px;
	}
}
/* Portada: bienvenida con la foto del olivar, productos, la cooperativa, premios, almazara, preguntas,
   recetas, noticias y ayudas. */

/* Bienvenida: la foto a sangre, el texto abajo a la izquierda sobre un degradado de tinta */
.op-portada-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(460px, 74svh, 720px);
	overflow: hidden;
	background: var(--op-verde-muy-oscuro);
	color: var(--op-crema-clara);
}

.op-portada-hero__foto {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 40%;
}

.op-portada-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(0deg, rgba(36, 42, 0, 0.88) 0%, rgba(36, 42, 0, 0.55) 38%, rgba(36, 42, 0, 0.12) 72%, rgba(36, 42, 0, 0) 100%),
		linear-gradient(90deg, rgba(36, 42, 0, 0.45) 0%, rgba(36, 42, 0, 0) 60%);
}

.op-portada-hero__dentro {
	padding-block: clamp(48px, 7vw, 96px);
}

.op-portada-hero h1 {
	max-width: 15ch;
	margin-bottom: 18px;
	color: var(--op-blanco);
	font-size: var(--op-t-display);
}

.op-portada-hero .op-firma {
	color: var(--op-dorado);
}

.op-portada-hero__texto {
	max-width: 36rem;
	margin: 0 0 28px;
	color: var(--op-crema);
	font-size: var(--op-t-entradilla);
	line-height: 1.6;
}

.op-portada-hero__acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Llegada de la bienvenida: el titular y la entradilla se posan (el único movimiento al cargar) */
@media (prefers-reduced-motion: no-preference) {
	.op-portada-hero__dentro > * {
		animation: op-posar 700ms var(--op-ease-salida) both;
	}

	.op-portada-hero__dentro > :nth-child(2) {
		animation-delay: 80ms;
	}

	.op-portada-hero__dentro > :nth-child(3) {
		animation-delay: 160ms;
	}

	.op-portada-hero__foto {
		animation: op-acercar 1600ms var(--op-ease-salida) both;
	}
}

@keyframes op-posar {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
}

@keyframes op-acercar {
	from {
		transform: scale(1.06);
	}
}

/* Productos */
.op-portada-productos .op-encabezado {
	margin-bottom: clamp(28px, 3.5vw, 40px);
}

/* La cooperativa: texto y etiqueta de datos */
.op-portada-intro__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}

.op-portada-intro__texto p {
	max-width: 38rem;
	color: var(--op-tinta-suave);
}

.op-portada-intro__datos {
	align-self: center;
}

/* Premios: tres etiquetas sobre la banda oscura */
.op-portada-premios {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.op-portada-premios::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23ACB24E' stroke-width='0.8' opacity='.18'%3E%3Cpath d='M0 120 Q60 60 120 120 T240 120'/%3E%3Cpath d='M0 120 Q60 180 120 120 T240 120'/%3E%3Cellipse cx='60' cy='95' rx='2.5' ry='4' fill='%23ACB24E'/%3E%3Cellipse cx='120' cy='120' rx='3' ry='5' fill='%23ACB24E'/%3E%3Cellipse cx='180' cy='95' rx='2.5' ry='4' fill='%23ACB24E'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 320px 320px;
	opacity: 0.5;
}

.op-portada-premios__lista {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.5vw, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.op-premio-etiqueta {
	padding: 26px 26px 22px;
	color: var(--op-verde-oscuro);
}

.op-premio-etiqueta__certamen {
	margin: 0 0 14px;
	padding-bottom: 12px;
	border-bottom: var(--op-filete);
	color: var(--op-verde-oscuro);
	font-size: var(--op-t-tarjeta);
	line-height: 1.3;
}

.op-premio-etiqueta ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.op-premio-etiqueta li {
	padding: 6px 0;
	color: var(--op-verde-oscuro);
	font: 600 var(--op-t-pequeno) / 1.4 var(--op-sans);
}

.op-premio-etiqueta li span {
	color: var(--op-tinta-suave);
	font-weight: 500;
}

/* Almazara */
.op-portada-almazara__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}

.op-portada-almazara__foto {
	position: relative;
	margin: 0;
}

.op-portada-almazara__foto::after {
	content: "";
	position: absolute;
	inset: 14px -14px -14px 14px;
	z-index: -1;
	border: 1px solid var(--op-dorado);
}

.op-portada-almazara__foto img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.op-portada-almazara__texto p {
	color: var(--op-tinta-suave);
}

.op-portada-almazara__texto .op-boton {
	margin-top: 8px;
}

.op-portada-almazara {
	isolation: isolate;
}

/* Ayudas públicas */
.op-ayudas__lista {
	display: grid;
	gap: clamp(20px, 3vw, 32px);
}

.op-ayuda {
	padding: clamp(22px, 3vw, 32px);
	background: var(--op-blanco);
	border: var(--op-filete);
}

.op-ayuda__titulo {
	margin: 0 0 12px;
	color: var(--op-tinta-suave);
	font: 600 var(--op-t-etiqueta) / 1.4 var(--op-sans);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.op-ayuda p {
	margin: 0 0 20px;
	color: var(--op-tinta-suave);
	font-size: var(--op-t-pequeno);
	line-height: 1.6;
}

.op-ayuda__logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin: 0;
	padding: 16px 0 0;
	list-style: none;
	border-top: var(--op-filete);
}

.op-ayuda__logos img {
	width: 96px;
	height: 96px;
	object-fit: contain;
}

@media (max-width: 1000px) {
	.op-portada-premios__lista {
		grid-template-columns: 1fr;
		max-width: 40rem;
		margin-inline: auto;
	}
}

@media (max-width: 900px) {
	.op-portada-intro__rejilla,
	.op-portada-almazara__rejilla {
		grid-template-columns: 1fr;
	}

	.op-portada-almazara__foto {
		margin-right: 14px;
	}
}

@media (max-width: 600px) {
	.op-portada-hero {
		min-height: 520px;
	}

	.op-portada-hero__acciones .op-boton {
		flex: 1 1 100%;
	}

	.op-ayuda__logos img {
		width: 72px;
		height: 72px;
	}
}
input[type="checkbox"].cmplz-category { width: initial; -webkit-appearance: checkbox;}input[type="checkbox"].cmplz-category:checked::before { content: '';}.cmplz-cookiebanner { box-sizing: border-box;}:root { --cmplz_banner_width: 526px; --cmplz_banner_background_color: #ffffff; --cmplz_banner_border_color: #f2f2f2; --cmplz_banner_border_width: 0px 0px 0px 0px ; --cmplz_banner_border_radius: 12px 12px 12px 12px; --cmplz_banner_margin: 10px; --cmplz_categories-height: 216px; --cmplz_title_font_size: 15px; --cmplz_text_line_height: calc(var(--cmplz_text_font_size) * 1.5); --cmplz_text_color: #222222; --cmplz_hyperlink_color: #566214; --cmplz_text_font_size: 12px; --cmplz_link_font_size: 12px; --cmplz_category_body_font_size: 12px; --cmplz_button_accept_background_color: #566214; --cmplz_button_accept_border_color: #566214; --cmplz_button_accept_text_color: #ffffff; --cmplz_button_deny_background_color: #f9f9f9; --cmplz_button_deny_border_color: #f2f2f2; --cmplz_button_deny_text_color: #222222; --cmplz_button_settings_background_color: #f9f9f9; --cmplz_button_settings_border_color: #f2f2f2; --cmplz_button_settings_text_color: #333333; --cmplz_button_border_radius: 6px 6px 6px 6px; --cmplz_button_font_size: 15px; --cmplz_category_header_always_active_color: green; --cmplz_category_header_title_font_size: 14px; --cmplz_category_header_active_font_size: 12px; --cmplz-manage-consent-height: 50px; --cmplz-manage-consent-offset: -35px; --cmplz_slider_active_color: #566214; --cmplz_slider_inactive_color: #555; --cmplz_slider_bullet_color: #ffffff;}body.cmplz-banner-active *:not(.cmplz-cookiebanner):not(.cmplz-cookiebanner *) { pointer-events: none !important; user-select: none !important;}.cmplz-cookiebanner * { pointer-events: auto !important; user-select: auto !important;}#cmplz-manage-consent .cmplz-manage-consent { margin: unset; z-index: 9998; color: var(--cmplz_text_color); background-color: var(--cmplz_banner_background_color); border-style: solid; border-color: var(--cmplz_banner_border_color); border-width: var(--cmplz_banner_border_width); border-radius: var(--cmplz_banner_border_radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; line-height: initial; position: fixed; bottom: var(--cmplz-manage-consent-offset); min-width: 100px; height: var(--cmplz-manage-consent-height); right: 40px; padding: 15px; cursor: pointer; animation: mc_slideOut 0.5s forwards;}#cmplz-manage-consent .cmplz-manage-consent:active { outline: none; border: none;}#cmplz-manage-consent .cmplz-manage-consent.cmplz-dismissed { display: none;}#cmplz-manage-consent .cmplz-manage-consent:hover,#cmplz-manage-consent .cmplz-manage-consent:focus { animation: mc_slideIn 0.5s forwards; animation-delay: 0;}@-webkit-keyframes mc_slideIn { 100% { bottom: 0; }}@keyframes mc_slideIn { 100% { bottom: 0; }}@-webkit-keyframes mc_slideOut { 100% { bottom: var(--cmplz-manage-consent-offset); }}@keyframes mc_slideOut { 100% { bottom: var(--cmplz-manage-consent-offset); }}@media (max-width: 425px) { .cmplz-cookiebanner .cmplz-header .cmplz-title { display: none; }}.cmplz-cookiebanner { max-height: calc(100vh - 20px); overflow-y: auto; position: fixed; height: auto; left: 50%; top: 50%; -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); grid-template-rows: minmax(0, 1fr); z-index: 99999; background: var(--cmplz_banner_background_color);}.cmplz-cookiebanner a { transition: initial;}.cmplz-cookiebanner .cmplz-buttons a.cmplz-btn.tcf { display: none;}.cmplz-cookiebanner.cmplz-dismissed { display: none;}.cmplz-cookiebanner .cmplz-body { width: 100%; grid-column: span 3; overflow-y: auto; overflow-x: hidden; max-height: 55vh;}.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-track { border-radius: 10px; -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0); background-color: transparent;}.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar { width: 5px; background-color: transparent;}.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-thumb { background-color: var(--cmplz_button_accept_background_color); border-radius: 10px;}@media (min-width: 350px) { .cmplz-cookiebanner .cmplz-body { min-width: 300px; }}@media (max-height: 400px) { .cmplz-cookiebanner { height: calc(100vh - 20px); display: flex; flex-direction: column; overflow: hidden; gap: 1px; grid-row-gap: 1px; padding: 7px 12px !important; zoom: 0.6; } .cmplz-cookiebanner .cmplz-body { flex: 1; min-height: 0; overflow-y: auto; max-height: none; margin-top: 15px !important; } .cmplz-cookiebanner .cmplz-header, .cmplz-cookiebanner .cmplz-divider, .cmplz-cookiebanner .cmplz-links, .cmplz-cookiebanner .cmplz-buttons, .cmplz-cookiebanner .cmplz-documents { flex-shrink: 0; } .cmplz-cookiebanner .cmplz-header { margin-bottom: 15px !important; max-height: 10px; } .cmplz-close { zoom: 0.6 !important; } .cmplz-cookiebanner .cmplz-buttons { gap: 1px !important; } .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { height: 15vh !important; min-height: unset !important; padding: 0 !important; white-space: nowrap !important; font-size: 1.1rem !important; line-height: 14px !important; zoom: 0.5 !important; } .cmplz-cookiebanner .cmplz-documents, .cmplz-cookiebanner .cmplz-information { zoom: 0.5 !important; }}@media (max-height: 400px) and (max-width: 768px) { .cmplz-cookiebanner { gap: 1px; }}.cmplz-cookiebanner { border-style: solid; border-color: var(--cmplz_banner_border_color); border-width: var(--cmplz_banner_border_width); border-radius: var(--cmplz_banner_border_radius); padding: 15px 20px; display: grid; grid-gap: 10px;}.cmplz-cookiebanner .cmplz-divider { margin-left: -20px; margin-right: -20px;}.cmplz-cookiebanner .cmplz-header { grid-template-columns: 100px 1fr 100px; align-items: center; display: grid; grid-column: span 3;}@media (max-width: 399px) { .cmplz-cookiebanner .cmplz-header { grid-template-columns: auto 1fr auto; }}.cmplz-cookiebanner .cmplz-logo svg { max-height: 35px; width: inherit;}.cmplz-cookiebanner .cmplz-logo img { max-height: 40px; width: inherit;}.cmplz-cookiebanner .cmplz-title { justify-self: center; grid-column-start: 2; font-size: var(--cmplz_title_font_size); color: var(--cmplz_text_color); font-weight: 500;}.cmplz-cookiebanner .cmplz-close { line-height: 20px; justify-self: end; grid-column-start: 3; font-size: 20px; cursor: pointer; width: 20px; height: 20px; color: var(--cmplz_text_color);}.cmplz-cookiebanner .cmplz-close svg { width: 20px; height: 20px;}.cmplz-cookiebanner .cmplz-close:hover { text-decoration: none; line-height: initial; font-size: 18px;}.cmplz-cookiebanner .cmplz-message { word-wrap: break-word; font-size: var(--cmplz_text_font_size); line-height: var(--cmplz_text_line_height); color: var(--cmplz_text_color); margin-bottom: 5px;}.cmplz-cookiebanner .cmplz-message a { color: var(--cmplz_hyperlink_color);}.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-categories,.cmplz-cookiebanner .cmplz-links,.cmplz-cookiebanner .cmplz-buttons,.cmplz-cookiebanner .cmplz-divider { grid-column: span 3;}.cmplz-cookiebanner .cmplz-categories.cmplz-tcf .cmplz-category .cmplz-category-header { grid-template-columns: 1fr auto;}.cmplz-cookiebanner .cmplz-categories .cmplz-category { background-color: rgba(239, 239, 239, 0.5);}.cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) { margin-bottom: 10px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { display: grid; grid-template-columns: 1fr auto 15px; grid-template-rows: minmax(0, 1fr); align-items: center; grid-gap: 10px; padding: 10px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { font-weight: 500; grid-column-start: 1; justify-self: start; font-size: var(--cmplz_category_header_title_font_size); color: var(--cmplz_text_color); margin: 0;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active { font-size: var(--cmplz_category_header_active_font_size); font-weight: 500; color: var(--cmplz_category_header_always_active_color);}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active label { display: none;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-banner-checkbox { display: flex; align-items: center; margin: 0;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-banner-checkbox input[data-category=cmplz_functional] { display: none;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle { background: none; border: none; padding: 0; margin: 0; cursor: pointer; grid-column-start: 3; display: flex; align-items: center; justify-content: center; color: inherit;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open { cursor: pointer; content: ''; transform: rotate(0deg); -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; background-size: cover; height: 18px; width: 18px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description { font-size: var(--cmplz_category_body_font_size); color: var(--cmplz_text_color); margin: 0; max-width: 100%; padding: 10px;}@media (max-width: 425px) { .cmplz-cookiebanner .cmplz-category .cmplz-category-header { grid-template-columns: 1fr!important; }}@media (max-width: 425px) { .cmplz-cookiebanner .cmplz-message { margin-right: 5px; }}.cmplz-cookiebanner .cmplz-buttons { display: flex; gap: var(--cmplz_banner_margin);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { min-height: 45px; padding: 10px; margin: initial; width: 100%; white-space: nowrap; border-radius: var(--cmplz_button_border_radius); cursor: pointer; font-size: var(--cmplz_button_font_size); font-weight: 500; text-decoration: none; line-height: 20px; text-align: center; flex: initial;}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover { text-decoration: none;}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept { background-color: var(--cmplz_button_accept_background_color); border: 1px solid var(--cmplz_button_accept_border_color); color: var(--cmplz_button_accept_text_color);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny { background-color: var(--cmplz_button_deny_background_color); border: 1px solid var(--cmplz_button_deny_border_color); color: var(--cmplz_button_deny_text_color);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color);}.cmplz-cookiebanner .cmplz-buttons a.cmplz-btn { display: flex; align-items: center; justify-content: center; padding: initial;}@media (max-width: 425px) { .cmplz-cookiebanner .cmplz-links.cmplz-information { display: initial; text-align: center; }}.cmplz-cookiebanner .cmplz-links { display: flex; gap: var(--cmplz_banner_margin);}.cmplz-cookiebanner .cmplz-links.cmplz-information { justify-content: space-between;}.cmplz-cookiebanner .cmplz-links.cmplz-documents { justify-content: center;}.cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--cmplz_hyperlink_color); font-size: var(--cmplz_link_font_size); text-decoration: underline; margin: 0;}.cmplz-cookiebanner .cmplz-links .cmplz-link.cmplz-read-more-purposes { display: none;}.cmplz-cookiebanner .cmplz-links ul { margin: 0; padding: 0; list-style: none; display: flex; gap: var(--cmplz_banner_margin); justify-content: center;}.cmplz-categories .cmplz-category .cmplz-description-statistics-anonymous { display: none;}.cmplz-categories .cmplz-category .cmplz-description-statistics { display: block;}.cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle { background: none; border: none; padding: 0; margin: 0; cursor: pointer; grid-column-start: 3; display: flex; align-items: center; justify-content: center; color: inherit;}.cmplz-categories .cmplz-category .cmplz-category-toggle[aria-expanded="true"] .cmplz-icon.cmplz-open { transform: rotate(180deg);}.cmplz-cookiebanner { top: initial; left: initial; right: 10px; bottom: 10px; transform: initial;}@media (min-width: 768px) { .cmplz-cookiebanner { min-width: var(--cmplz_banner_width); max-width: 100%; display: grid; grid-row-gap: 10px; }}@media (max-width: 768px) { .cmplz-cookiebanner { left: initial; right: initial; bottom: 0; width: 100%; } .cmplz-cookiebanner .cmplz-buttons { flex-direction: column; }}@media (min-width: 768px) { .cmplz-message, .cmplz-categories { width: calc(var(--cmplz_banner_width) - 42px); }}.cmplz-cookiebanner .cmplz-categories,.cmplz-cookiebanner .cmplz-save-preferences,.cmplz-cookiebanner .cmplz-link.cmplz-manage-options,.cmplz-cookiebanner .cmplz-manage-vendors,.cmplz-cookiebanner .cmplz-read-more,.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options { display: none;}.cmplz-cookiebanner .cmplz-categories.cmplz-fade-in { animation: fadeIn 1s; -webkit-animation: fadeIn 1s; -moz-animation: fadeIn 1s; -o-animation: fadeIn 1s; -ms-animation: fadeIn 1s; display: block;}@keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; }}@-moz-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; }}@-webkit-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; }}@-o-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; }}@-ms-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; }}.cmplz-cookiebanner .cmplz-links.cmplz-information { display: none;}@media (max-width: 768px) { #cmplz-manage-consent .cmplz-manage-consent { display: none; }}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox { position: relative;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox { opacity: 0; margin: 0; margin-top: -10px; cursor: pointer; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); -moz-opacity: 0; -khtml-opacity: 0; position: absolute; z-index: 1; top: 0px; left: 0px; width: 40px; height: 20px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label:before { box-shadow: 0 0 0 2px #245fcc;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before { display: block; background-color: var(--cmplz_slider_active_color); content: ""; padding-left: 6px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label:after { left: 14px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label { position: relative; padding-left: 30px; margin: 0;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before,.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after { box-sizing: border-box; position: absolute; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; transition: background-color 0.3s, left 0.3s;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before { display: block; content: ""; color: #fff; box-sizing: border-box; font-family: 'FontAwesome', sans-serif; padding-left: 23px; font-size: 12px; line-height: 20px; background-color: var(--cmplz_slider_inactive_color); left: 0px; top: -7px; height: 15px; width: 28px; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after { display: block; content: ""; letter-spacing: 20px; background: var(--cmplz_slider_bullet_color); left: 4px; top: -5px; height: 11px; width: 11px;}.cmplz-cookiebanner { box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;}#cmplz-manage-consent .cmplz-manage-consent { box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;}.cmplz-cookiebanner.cmplz-show { box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;}.cmplz-cookiebanner.cmplz-show:hover { transition-duration: 1s; box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;} .cmplz-placeholder-element > blockquote.fb-xfbml-parse-ignore { margin: 0 20px; }