/*
 * Oskupack · Funciones — estilos de lo que arma el plugin: catálogo, fichas técnicas, blog,
 * miga de pan, barra de lectura y botón flotante de WhatsApp (estos dos, tal como estaban).
 *
 * Las reglas de componentes vienen del tema anterior (extraídas el 22-sep-2026 con
 * scripts/kadence/extraer_css.py, en el mismo orden). Esas reglas usan los colores y fuentes del
 * tema anterior por su nombre (--wp--preset--color--verde…): se definen aquí con los valores de
 * la marca, para que el catálogo se vea igual con cualquier tema.
 */

:root {
	--wp--preset--color--verde: #2e9e3a;
	--wp--preset--color--verde-tx: #1c7526;
	--wp--preset--color--rojo: #c92e24;
	--wp--preset--color--tinta: #121315;
	--wp--preset--color--gris: #55595b;
	--wp--preset--color--papel: #f6f6f4;
	--wp--preset--color--blanco: #ffffff;
	--wp--preset--font-family--titulos: "Poppins", system-ui, sans-serif;
	--wp--preset--font-family--texto: "Mulish", system-ui, sans-serif;
	--wp--preset--font-size--small: 15px;
	--wp--preset--font-size--medium: 17px;
	--wp--preset--font-size--large: clamp(18px, 0.5vw + 16px, 21px);
	--osku-borde: #e8e8e4;
	--osku-transicion: 0.22s cubic-bezier(0.33, 1, 0.68, 1);
}

/* Colores de los bloques guardados con la paleta del tema anterior (fichas y páginas viejas). */
.has-verde-background-color { background-color: #2e9e3a; }
.has-verde-tx-background-color { background-color: #1c7526; }
.has-rojo-background-color { background-color: #c92e24; }
.has-tinta-background-color { background-color: #121315; }
.has-papel-background-color { background-color: #f6f6f4; }
.has-blanco-background-color { background-color: #ffffff; }
.has-verde-color { color: #2e9e3a; }
.has-verde-tx-color { color: #1c7526; }
.has-rojo-color { color: #c92e24; }
.has-tinta-color { color: #121315; }
.has-gris-color { color: #55595b; }
.has-blanco-color { color: #ffffff; }
.wp-block-button__link.has-verde-tx-background-color:hover { background-color: #155c1d; }

/* ================================================================ componentes del tema anterior */

.osku-progreso {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	z-index: 101;
	pointer-events: none;
}
.osku-progreso__barra {
	display: block;
	height: 100%;
	background: var(--wp--preset--color--rojo, #c92e24);
	transform: scaleX(0);
	transform-origin: 0 50%;
}
.osku-fabs {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 90;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}
.osku-fab {
	width: 56px;
	height: 56px;
	flex: 0 0 auto;
	border: 0;
	border-radius: 50%;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: transform var(--osku-transicion), opacity var(--osku-transicion),
		color var(--osku-transicion), border-color var(--osku-transicion);
}
.osku-fab svg {
	width: 26px;
	height: 26px;
	display: block;
}
.osku-fab--wsp {
	background: #25d366;
	color: #fff;
	box-shadow: 0 10px 26px -8px rgba(18, 19, 21, 0.4);
}
.osku-fab--wsp svg {
	width: 29px;
	height: 29px;
}
.osku-fab--wsp:hover,
.osku-fab--wsp:focus-visible {
	transform: scale(1.07);
}
.osku-fab--arriba {
	background: #fff;
	color: var(--wp--preset--color--tinta, #121315);
	border: 1px solid var(--osku-borde);
	box-shadow: 0 10px 26px -10px rgba(18, 19, 21, 0.32);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
}
.osku-fab--arriba.osku-fab--visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.osku-fab--arriba.osku-fab--visible:hover,
.osku-fab--arriba.osku-fab--visible:focus-visible {
	transform: scale(1.07);
	color: var(--wp--preset--color--rojo, #c92e24);
	border-color: var(--wp--preset--color--rojo, #c92e24);
}
@media (max-width: 640px) {
.osku-fabs {
		right: 14px;
		bottom: 14px;
		gap: 10px;
	}
.osku-fab {
		width: 50px;
		height: 50px;
	}
.osku-fab--wsp svg {
		width: 26px;
		height: 26px;
	}
}
@media print {
.osku-fabs,
.osku-progreso {
		display: none !important;
	}
}
@media (prefers-reduced-motion: reduce) {
.osku-fab {
		transition: none !important;
	}
}
.osku-ficha {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 40px;
	margin: 28px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--osku-borde);
}
.osku-ficha dt {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris);
	margin-bottom: 3px;
}
.osku-ficha dd {
	margin: 0;
	font-family: var(--wp--preset--font-family--titulos);
	font-weight: 600;
	font-size: 15.5px;
	color: var(--wp--preset--color--tinta);
}
.osku-ficha-form {
	margin-top: 48px;
	border: 1px solid var(--osku-borde);
}
.osku-ficha-form h2 {
	margin-top: 0;
}
.osku-ficha-form .wpcf7 {
	margin-top: 22px;
}
.osku-o-wsp {
	margin-top: 18px;
	color: var(--wp--preset--color--gris);
}
.osku-o-wsp a {
	color: #1c7526;
	font-weight: 700;
}
.osku-ficha-form .wpcf7-response-output {
	margin: 18px 0 0 !important;
	padding: 14px 18px !important;
	border-radius: 10px;
	border-width: 1px !important;
	font-size: 15px;
}
.osku-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.osku-migas {
	font-size: 14px;
	margin-bottom: 14px;
}
.osku-migas ol {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 8px;
	margin: 0;
	padding: 0;
}
.osku-migas li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.osku-migas li + li::before {
	content: "›";
	color: rgba(28, 37, 40, 0.4);
}
.osku-migas a {
	color: var(--wp--preset--color--verde-tx);
	text-decoration: none;
	padding-block: 8px; 
	display: inline-block;
}
.osku-migas a:hover,
.osku-migas a:focus-visible {
	text-decoration: underline;
}
.osku-migas span[aria-current] {
	color: #55595b;
}
.osku-filtros {
	position: sticky;
	
	top: 81px;
	z-index: 40;
	background: var(--wp--preset--color--blanco, #fff);
	padding-block: 8px;
	box-shadow: 0 10px 14px -14px rgba(18, 19, 21, 0.35);
}
.osku-filtros a {
	display: inline-block;
	padding-block: 8px;
	text-decoration: none;
}
.osku-filtros a:hover,
.osku-filtros a:focus-visible {
	text-decoration: underline;
}
@media (min-width: 1024px) {
.wp-block-group.osku-ficha {
		display: grid;
		grid-template-columns: minmax(360px, 440px) 1fr;
		column-gap: 56px;
		align-content: start;
		
		width: 100%;
		max-width: 1200px;
		margin-inline: auto;
		padding-inline: 24px;
		box-sizing: border-box;
	}
.wp-block-group.osku-ficha.is-layout-constrained > * {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}
.wp-block-group.osku-ficha > .osku-migas {
		grid-column: 1 / -1;
		grid-row: 1;
	}
.wp-block-group.osku-ficha > .wp-block-post-terms {
		grid-column: 2;
		grid-row: 2;
	}
.wp-block-group.osku-ficha > .wp-block-post-title {
		grid-column: 2;
		grid-row: 3;
		margin-top: 0;
	}
.wp-block-group.osku-ficha > .wp-block-post-featured-image {
		grid-column: 1;
		grid-row: 2 / span 3;
		align-self: start;
		width: 100%;
	}
.wp-block-group.osku-ficha > .wp-block-post-featured-image img {
		width: 100%;
		height: auto;
	}
.wp-block-group.osku-ficha > .wp-block-post-content {
		grid-column: 2;
		grid-row: 4;
	}
.wp-block-group.osku-ficha > .wp-block-separator {
		grid-column: 1 / -1;
		grid-row: 5;
		width: 100%;
	}
.wp-block-group.osku-ficha > .osku-ficha-form {
		grid-column: 1 / -1;
		grid-row: 6;
		width: 100%;
		max-width: 900px;
		justify-self: center;
	}
}
.osku-ficha-barra {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	display: flex;
	gap: 1px;
	box-shadow: 0 -6px 18px rgba(18, 19, 21, 0.16);
	padding-bottom: env(safe-area-inset-bottom);
	background: var(--wp--preset--color--tinta);
}
.osku-ficha-barra a {
	flex: 1;
	text-align: center;
	padding: 14px 10px;
	font-family: var(--wp--preset--font-family--titulos);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	color: #fff;
}
.osku-ficha-barra__pdf {
	background: var(--wp--preset--color--tinta);
}
.osku-ficha-barra__wsp {
	background: var(--wp--preset--color--verde-tx);
}
@media (min-width: 782px) {
.osku-ficha-barra {
		display: none;
	}
}
@media (max-width: 781px) {
.single-ficha_tecnica .osku-fabs {
		bottom: 84px;
	}
}
.osku-confianza-linea {
	color: #55595b;
}
.osku-filtros {
	margin: 20px 0 28px;
}
.osku-filtros ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
}
.osku-filtros li {
	margin: 0;
}
.osku-filtros a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	box-sizing: border-box;
	min-height: 40px;
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid var(--osku-borde);
	background: #fff;
	color: var(--wp--preset--color--tinta);
	font-family: var(--wp--preset--font-family--titulos);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background var(--osku-transicion), border-color var(--osku-transicion), color var(--osku-transicion);
}
.osku-filtros a:hover,
.osku-filtros a:focus-visible {
	text-decoration: none;
	border-color: var(--wp--preset--color--verde-tx);
	color: var(--wp--preset--color--verde-tx);
}
.osku-filtros a[aria-current="page"] {
	background: var(--wp--preset--color--verde-tx);
	border-color: var(--wp--preset--color--verde-tx);
	color: #fff;
}
.osku-filtro-n {
	font-size: 12px;
	font-weight: 600;
	padding: 2px 7px;
	border-radius: 999px;
	background: rgba(28, 37, 40, 0.08);
	color: rgba(28, 37, 40, 0.72);
}
.osku-filtros a[aria-current="page"] .osku-filtro-n {
	background: rgba(255, 255, 255, 0.22);
	color: #fff;
}
@media (max-width: 781px) {
.osku-filtros {
		margin-inline: calc(-1 * var(--wp--style--root--padding-right, 20px));
		padding-inline: var(--wp--style--root--padding-right, 20px);
	}
.osku-filtros ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 2px;
	}
.osku-filtros ul::-webkit-scrollbar {
		display: none;
	}
}
@media (min-width: 1024px) {
.wp-block-group.osku-ficha.is-layout-constrained > * {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
.wp-block-group.osku-ficha > .osku-migas {
		width: 100%;
		justify-self: start;
	}
.wp-block-group.osku-ficha > .wp-block-post-featured-image {
		position: sticky;
		top: 105px;
	}
.wp-block-group.osku-ficha > .wp-block-post-content h2 {
		font-size: var(--wp--preset--font-size--large);
		margin-top: 28px;
	}
}
.wp-site-blocks > .wp-block-group.osku-ficha {
	
	background-image: none !important;
}
.osku-chip {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
	padding: 5px 10px;
	border: 1px solid var(--osku-borde, #e3e6e4);
	border-radius: 6px;
	background: #fff;
	color: #55595B;
	font: 500 13px/1.2 var(--wp--preset--font-family--texto);
	text-decoration: none;
	transition: border-color 0.2s, color 0.2s;
}
.osku-chip b { color: #121315; font-weight: 700; }
.osku-chip:hover { border-color: #2E9E3A; color: #1C7526; }
.osku-chip--texto { border-style: dashed; }
.osku-cat2 { --c2-tinta:#121315; --c2-gris:#55595B; --c2-linea:#E3E6E4; --c2-papel:#F6F6F4; --c2-verde:#2E9E3A; --c2-verde-tx:#1C7526; --c2-rojo:#C92E24; font-family: var(--wp--preset--font-family--texto); color: var(--c2-tinta); }
.c2-wrap { max-width: 1220px; margin: 0 auto; padding: 0 24px; }
.c2-cab { background: var(--c2-tinta); color: #fff; padding: 36px 0 40px; }
.c2-migas { font-size: 13px; color: rgba(255,255,255,.6); display: flex; gap: 8px; margin-bottom: 26px; }
.c2-migas a { color: rgba(255,255,255,.85); text-decoration: none; }
.c2-cab-grid { display: grid; grid-template-columns: minmax(0,1fr) 420px; gap: 40px; align-items: end; }
.c2-kicker { font-family: var(--wp--preset--font-family--titulos); font-weight: 600; font-size: 17px; color: #6FD37A; margin: 0 0 10px; }
.c2-h1 { font-family: var(--wp--preset--font-family--titulos); font-weight: 700; font-size: clamp(30px, 2.6vw, 44px); line-height: 1.06; letter-spacing: -.02em; margin: 0 0 14px; color: #fff; }
.c2-intro { margin: 0; max-width: 60ch; font-size: 16.5px; line-height: 1.55; color: rgba(255,255,255,.78); }
.c2-intro a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.c2-buscar { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 10px; padding: 0 12px 0 14px; height: 54px; color: var(--c2-gris); }
.c2-buscar input { flex: 1; border: 0; outline: 0; font: 15.5px/1 var(--wp--preset--font-family--texto); color: var(--c2-tinta); background: transparent; min-width: 0; }
.c2-buscar input::placeholder { color: #8a9094; }
.c2-buscar-x { font-size: 12px; font-weight: 700; color: var(--c2-verde-tx); cursor: pointer; }
.c2-filtros { position: sticky; top: 0; z-index: 20; background: #fff; border-bottom: 1px solid var(--c2-linea); }
.c2-fila1 { display: flex; align-items: stretch; justify-content: space-between; gap: 18px; }
.c2-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.c2-tabs::-webkit-scrollbar { display: none; }
.c2-tab { appearance: none; background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; padding: 18px 16px 15px; font: 600 15px/1 var(--wp--preset--font-family--titulos); color: var(--c2-gris); cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; transition: color .2s, border-color .2s; }
.c2-tab i { font-style: normal; font-size: 11.5px; font-weight: 700; padding: 3px 7px; border-radius: 999px; background: var(--c2-papel); color: var(--c2-gris); }
.c2-tab:hover { color: var(--c2-tinta); }
.c2-tab.is-activo { color: var(--c2-tinta); border-bottom-color: var(--c2-verde); }
.c2-tab.is-activo i { background: var(--c2-verde-tx); color: #fff; }
.c2-tab--enlace { color: var(--c2-verde-tx); }
.c2-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 0 12px; border-top: 1px solid var(--c2-linea); }
.c2-chip { appearance: none; border: 1px solid var(--c2-linea); background: #fff; border-radius: 999px; padding: 8px 12px; font: 500 13.5px/1 var(--wp--preset--font-family--texto); color: var(--c2-tinta); cursor: pointer; display: inline-flex; align-items: center; gap: 7px; transition: border-color .2s, background-color .2s, color .2s; }
.c2-chip i { font-style: normal; font-size: 11.5px; color: var(--c2-gris); }
.c2-chip:hover { border-color: var(--c2-verde); }
.c2-chip.is-activo { background: var(--c2-tinta); border-color: var(--c2-tinta); color: #fff; }
.c2-chip.is-activo i { color: #9be3a5; }
.c2-herr { display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.c2-n { font-size: 13.5px; color: var(--c2-gris); }
.c2-orden { font-size: 13.5px; color: var(--c2-gris); display: inline-flex; align-items: center; gap: 6px; }
.c2-orden select { border: 1px solid var(--c2-linea); border-radius: 8px; padding: 7px 10px; font: 500 13.5px var(--wp--preset--font-family--texto); color: var(--c2-tinta); background: #fff; }
.c2-vista { display: inline-flex; border: 1px solid var(--c2-linea); border-radius: 8px; overflow: hidden; }
.c2-vista button { appearance: none; border: 0; background: #fff; width: 38px; height: 34px; cursor: pointer; color: var(--c2-gris); display: inline-flex; align-items: center; justify-content: center; }
.c2-vista button.is-activo { background: var(--c2-tinta); color: #fff; }
.c2-contenido { padding: 34px 24px 80px; }
.c2-grupo { margin: 0 0 44px; }
.c2-grupo-cab { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 16px; padding-bottom: 10px; border-bottom: 1px solid var(--c2-linea); }
.c2-grupo-titulo { font-family: var(--wp--preset--font-family--titulos); font-weight: 700; font-size: 21px; letter-spacing: -.01em; margin: 0; display: flex; align-items: center; gap: 10px; }
.c2-grupo-sub { margin: 0; font-size: 13.5px; color: var(--c2-gris); }
.c2-grupo-n { font-size: 14px; font-weight: 700; color: var(--c2-gris); background: var(--c2-papel); border-radius: 999px; padding: 3px 8px; }
.c2-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); gap: 18px; }
.c2-card { display: flex; flex-direction: column; background: var(--c2-papel); border: 1px solid transparent; border-radius: 14px; overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.c2-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(18,19,21,.10); border-color: #cfd5d1; }
.c2-foto { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--c2-papel); overflow: hidden; }
.c2-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.c2-card:hover .c2-foto img { transform: scale(1.04); }
.c2-tag { position: absolute; left: 12px; top: 12px; background: rgba(255,255,255,.94); color: var(--c2-tinta); font: 700 13px/1 var(--wp--preset--font-family--titulos); padding: 6px 9px; border-radius: 6px; }
.c2-mat { display: inline-block; margin-left: 10px; vertical-align: 3px; background: var(--c2-papel); color: var(--c2-verde-tx); font: 700 13px/1 var(--wp--preset--font-family--titulos); padding: 5px 7px; border-radius: 5px; }
.c2-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.c2-titulo { margin: 0; font-family: var(--wp--preset--font-family--titulos); font-weight: 700; font-size: 20px; line-height: 1.2; letter-spacing: -.015em; }
.c2-titulo a { color: var(--c2-tinta); text-decoration: none; }
.c2-titulo a:hover { color: var(--c2-verde-tx); }
.c2-specs { margin: 4px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.c2-specs div { background: var(--c2-papel); border-radius: 8px; padding: 8px 10px; min-width: 0; }
.c2-specs dt { font-size: 14px; color: var(--c2-gris); margin: 0 0 3px; }
.c2-specs dd { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--c2-tinta); }
.c2-specs .c2-ancho { grid-column: 1 / -1; }
/* Catálogo (no los «otros formatos» de cada ficha): los datos en filas finas, versión B que eligió
   Carlos el 1-oct. Revisión «sin IA» del 15-oct: tarjetas sobre gris papel y rótulos en minúscula. */
.osku-cat2:not(.c2-relacionados) .c2-specs { gap: 0 16px; }
.osku-cat2:not(.c2-relacionados) .c2-specs div { background: transparent; border-radius: 0; border-top: 1px solid var(--c2-linea, #E8E8E4); padding: 9px 0 8px; }
.osku-cat2:not(.c2-relacionados) .c2-specs dt { font-size: 13.5px; margin-bottom: 2px; }
.osku-cat2:not(.c2-relacionados) .c2-specs dd { font-size: 15px; }
.osku-cat2 [hidden] { display: none !important; }
.c2-acciones { margin-top: auto; padding-top: 6px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.c2-btn { display: inline-flex; align-items: center; gap: 6px; background: var(--c2-verde-tx); color: #fff; font: 600 14px/1 var(--wp--preset--font-family--titulos); padding: 12px 16px; border-radius: 8px; text-decoration: none; transition: background-color .2s, transform .2s; }
.c2-btn:hover { background: #155c1d; color: #fff; transform: translateY(-1px); }
.c2-btn--grande { padding: 16px 22px; font-size: 15.5px; }
.c2-pdf { display: inline-flex; align-items: center; gap: 6px; color: var(--c2-gris); font: 600 13px/1 var(--wp--preset--font-family--titulos); text-decoration: none; padding: 10px 8px; border-radius: 8px; }
.c2-pdf:hover { color: var(--c2-verde-tx); background: var(--c2-papel); }
.c2-tabla-wrap { overflow-x: auto; border: 1px solid var(--c2-linea); border-radius: 12px; }
.c2-tabla { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 980px; }
.c2-tabla th { text-align: left; font: 600 11.5px/1 var(--wp--preset--font-family--titulos); letter-spacing: .08em; text-transform: uppercase; color: var(--c2-gris); background: var(--c2-papel); padding: 12px 14px; }
.c2-tabla td { padding: 12px 14px; border-top: 1px solid var(--c2-linea); vertical-align: middle; }
.c2-tabla tr:hover td { background: #FAFBF9; }
.c2-tabla td a { color: var(--c2-tinta); text-decoration: none; display: flex; flex-direction: column; gap: 2px; }
.c2-tabla td a b { font-family: var(--wp--preset--font-family--titulos); }
.c2-tabla td a span { font-size: 12px; color: var(--c2-gris); }
.c2-pdf--tabla { padding: 6px 8px; border: 1px solid var(--c2-linea); display: inline-flex; }
.c2-vacio { text-align: center; padding: 60px 20px; color: var(--c2-gris); }
.c2-vacio b { color: var(--c2-tinta); }
.c2-ayuda { margin-top: 56px; background: var(--c2-tinta); color: #fff; border-radius: 16px; padding: 36px 40px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: center; }
.c2-ayuda h2 { font-family: var(--wp--preset--font-family--titulos); font-size: clamp(22px, 2vw, 30px); line-height: 1.12; margin: 0 0 10px; color: #fff; letter-spacing: -.02em; }
.c2-ayuda p { margin: 0; color: rgba(255,255,255,.75); max-width: 560px; }
.c2-ayuda-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.c2-enlace { color: #fff; font: 600 14px var(--wp--preset--font-family--titulos); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
.c2-cab { padding: 24px 0 26px; }
.c2-cab-grid { grid-template-columns: 1fr; gap: 20px; }
.c2-buscar { height: 50px; }
.c2-tab { padding: 14px 12px 12px; font-size: 14px; }
.c2-tab--enlace { margin-left: 0; }
.c2-fila1 { flex-direction: column; gap: 0; }
.c2-herr { padding: 8px 0; border-top: 1px solid var(--c2-linea); }
.c2-orden span { display: none; }
.c2-chips { overflow-x: auto; flex-wrap: nowrap; padding: 8px 0 10px; scrollbar-width: none; }
.c2-chips::-webkit-scrollbar { display: none; }
.c2-chip { flex: none; }
.c2-herr { justify-content: space-between; }
.c2-orden { font-size: 12.5px; }
.c2-contenido { padding: 22px 18px 60px; }
.c2-grid { grid-template-columns: 1fr; }
.c2-ayuda { grid-template-columns: 1fr; padding: 28px 22px; }
}
@media (prefers-reduced-motion: reduce) {
.c2-card,
.c2-foto img,
.c2-btn { transition: none; }
.c2-card:hover .c2-foto img { transform: none; }
}
.wp-block-group.osku-ficha > .wp-block-post-featured-image { position: static !important; top: auto; }
@media (max-width: 781px) {
.wp-block-group.alignwide.osku-ficha {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.c2-linea-titulo { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 22px; padding-bottom: 12px; border-bottom: 2px solid var(--c2-tinta); }
.c2-linea-titulo ~ .c2-linea-titulo { margin-top: 28px; }
.c2-linea-titulo h2 { margin: 0; display: flex; align-items: baseline; gap: 12px; font-family: var(--wp--preset--font-family--titulos); font-weight: 700; font-size: clamp(24px, 2vw, 30px); letter-spacing: -.02em; color: var(--c2-tinta); }
.c2-linea-titulo h2 i { font-style: normal; font-size: 13.5px; font-weight: 600; letter-spacing: 0; color: var(--c2-gris); }
.c2-linea-titulo a { margin-left: auto; font: 600 14px var(--wp--preset--font-family--titulos); color: var(--c2-verde-tx); text-decoration: none; }
.c2-linea-titulo a:hover { text-decoration: underline; text-underline-offset: 3px; }
.c2-linea-nota { margin: 0; max-width: 62ch; font-size: 15px; line-height: 1.6; color: var(--c2-gris); }
.c2-laminas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
/* Desde el 22-sep-2026 las tres estructuras van seguidas de las fichas de cada lámina. */
.c2-laminas + .c2-tarjetas { margin-top: 64px; }
.c2-laminas-foto { position: relative; margin: 0; border-radius: 14px; overflow: hidden; background: var(--c2-papel); }
.c2-laminas-foto img { display: block; width: 100%; height: auto; }
.c2-laminas-txt h2 { margin: 0 0 18px; font-family: var(--wp--preset--font-family--titulos); font-weight: 700; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.15; letter-spacing: -.02em; color: var(--c2-tinta); }
.c2-laminas-tipos { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 10px; }
.c2-laminas-tipos li { display: flex; align-items: baseline; gap: 16px; padding: 14px 18px; border: 1px solid var(--c2-linea); border-radius: 12px; background: #fff; }
.c2-laminas-tipos b { flex: none; min-width: 124px; font-family: var(--wp--preset--font-family--titulos); font-weight: 700; font-size: 15px; color: var(--c2-verde-tx); }
.c2-laminas-tipos span { font-size: 15px; line-height: 1.5; color: var(--c2-gris); }
.c2-laminas-txt p { margin: 0 0 24px; max-width: 60ch; font-size: 15.5px; line-height: 1.6; color: var(--c2-gris); }
.c2-laminas-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.c2-enlace-osc { color: var(--c2-verde-tx); font: 600 14px var(--wp--preset--font-family--titulos); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
.c2-laminas { grid-template-columns: 1fr; gap: 28px; }
.c2-laminas + .c2-tarjetas { margin-top: 44px; }
.c2-laminas-tipos li { flex-direction: column; gap: 4px; }
.c2-laminas-tipos b { min-width: 0; }
}
.osku-ficha-linea { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 12px; font-size: 14px; color: #55595B; }
.osku-ficha-linea .osku-chip { font-weight: 600; color: #1C7526; }
.c2-relacionados { background: var(--c2-papel); padding: 56px 0 64px; }
.c2-relacionados .c2-grupo-cab { border-bottom-color: #DADFDB; }
.c2-rel-todos { margin-left: auto; font: 600 14px var(--wp--preset--font-family--titulos); color: var(--c2-verde-tx); text-decoration: none; }
.c2-rel-todos:hover { text-decoration: underline; text-underline-offset: 3px; }
.osku-nowrap { white-space: nowrap; }
.osku-ficha-form > p.wp-block-paragraph:not(.has-text-align-center) {
	margin-left: 0 !important;
}
.osku-ficha > .wp-block-separator {
	display: none;
}
.osku-emp2 .osku-migas {
	margin: 0 0 30px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
}
.osku-emp2 .osku-migas li + li::before {
	color: rgba(255, 255, 255, 0.6);
}
.osku-emp2 .osku-migas a {
	color: rgba(255, 255, 255, 0.85);
	padding-block: 0;
}
.osku-emp2 .osku-migas span[aria-current] {
	color: rgba(255, 255, 255, 0.6);
}
@media (max-width: 900px) {
.osku-emp2 .osku-migas {
		margin-bottom: 16px;
	}
}
.blog-listado,
.blog-articulo {
	
	width: 100%;
	max-width: 720px;
	margin-inline: auto;
	box-sizing: border-box;
}
.blog-listado__bajada {
	margin: 0 0 8px;
	max-width: 60ch;
	font-size: 16.5px;
	color: var(--wp--preset--color--gris);
}
.blog-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px 28px;
	margin-top: 12px;
}
.blog-card__enlace {
	display: block;
	color: inherit;
	text-decoration: none;
}
.blog-card__img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 12px;
	margin: 0 0 16px;
	display: block;
}
.blog-card__fecha {
	display: block;
	font-size: 12.5px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--verde-tx);
	margin-bottom: 6px;
}
.blog-card__titulo {
	margin: 0 0 8px;
	font-family: var(--wp--preset--font-family--titulos);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--tinta);
}
.blog-card__enlace:hover .blog-card__titulo,
.blog-card__enlace:focus-visible .blog-card__titulo {
	color: var(--wp--preset--color--verde-tx);
}
.blog-card__extracto {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--gris);
}
.blog-articulo__fecha {
	display: block;
	margin: 10px 0 0;
	font-size: 13px;
	color: var(--wp--preset--color--gris);
}
.blog-articulo .wp-block-post-featured-image {
	margin: 28px 0;
}
.blog-articulo__cuerpo :where(h2, h3) {
	margin-top: 1.6em;
}
.blog-articulo__cuerpo p {
	max-width: none;
}
@media (max-width: 700px) {
.blog-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Aparición de las secciones al hacer scroll (interacciones.js) ---------- */

.osku-revelar {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.6s cubic-bezier(0.33, 1, 0.68, 1), transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}

.osku-revelar.osku-revelar--visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.osku-revelar {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ---------- Ajustes para convivir con Kadence ----------
   Kadence mide las cajas con border-box y da estilo propio a todo <button>, <select> e <input>.
   El catálogo se diseñó sin eso: aquí se devuelve cada control a su diseño. */

.osku-cat2 .c2-wrap,
.c2-relacionados .c2-wrap {
	box-sizing: content-box;
}

.osku-cat2 .c2-vista button,
.osku-cat2 .c2-vista button:hover,
.osku-cat2 .c2-vista button:focus {
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	background: #fff;
	color: var(--c2-gris);
	font-size: inherit;
	line-height: 1;
}

.osku-cat2 .c2-vista button.is-activo,
.osku-cat2 .c2-vista button.is-activo:hover,
.osku-cat2 .c2-vista button.is-activo:focus {
	background: var(--c2-tinta);
	color: #fff;
}

.osku-cat2 .c2-chip,
.osku-cat2 .c2-chip:focus {
	background: #fff;
	color: var(--c2-tinta);
	box-shadow: none;
	line-height: 1;
}

.osku-cat2 .c2-chip:hover {
	background: #fff;
	color: var(--c2-tinta);
	border-color: var(--c2-verde);
}

.osku-cat2 .c2-chip.is-activo,
.osku-cat2 .c2-chip.is-activo:hover,
.osku-cat2 .c2-chip[aria-pressed="true"] {
	background: var(--c2-tinta);
	border-color: var(--c2-tinta);
	color: #fff;
}

.osku-cat2 .c2-orden select {
	width: auto;
	height: auto;
	min-height: 0;
	line-height: 1.2;
	box-shadow: none;
}

.osku-cat2 .c2-buscar input[type="search"],
.osku-cat2 .c2-buscar input[type="search"]:focus {
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	outline: 0;
	height: auto;
}

.osku-cat2 .c2-btn,
.osku-cat2 .c2-btn:hover {
	text-decoration: none;
}

/* Ficha técnica: Kadence le quita el ancho máximo a todo bloque «ancho» en páginas a todo el
   ancho; la ficha vuelve a sus 1200 px centrados, como en la maqueta. */
@media (min-width: 1024px) {
	.wp-site-blocks .wp-block-group.alignwide.osku-ficha {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* La regla genérica .osku-ficha (pensada para la lista de datos de las tarjetas) también toca el
   contenedor de la ficha: con Kadence, la cabecera ya trae su línea inferior. */
.wp-site-blocks .wp-block-group.osku-ficha {
	margin-top: 0;
	border-top: 0;
}

/* Tabla de especificaciones: filas alternadas sin bordes, como en la maqueta (Kadence pone borde a
   cada celda). */
.osku-ficha .wp-block-table td,
.osku-ficha .wp-block-table th {
	border: 0;
}

.osku-ficha .wp-block-table table {
	margin: 0;
	border-collapse: collapse;
}

.osku-ficha .wp-block-table td {
	padding: 13px 18px;
	color: var(--wp--preset--color--tinta);
}

.osku-ficha .wp-block-table tr:nth-child(odd) td {
	background: #f6f6f4;
}

.osku-ficha .wp-block-post-content ul {
	padding-left: 40px;
}

.osku-ficha .osku-ficha-form {
	margin-top: 48px;
}

.wp-site-blocks .osku-ficha > .wp-block-post-featured-image {
	margin: 24px 0 0;
}

/* Botón «volver arriba»: ahora lo pone Kadence. Queda donde estaba el del tema anterior (abajo a
   la derecha, círculo blanco) y el de WhatsApp sube a su lugar de siempre, justo encima. */
#kt-scroll-up.scroll-up-wrap {
	right: 22px;
	bottom: 22px;
	width: 56px;
	height: 56px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #121315;
	border: 1px solid #e8e8e4;
	border-radius: 50%;
	box-shadow: 0 10px 26px -10px rgba(18, 19, 21, 0.32);
}

#kt-scroll-up.scroll-up-wrap:hover {
	background: #fff;
	color: #1c7526;
}

.osku-fabs {
	bottom: 90px;
}

@media (max-width: 781px) {
	#kt-scroll-up.scroll-up-wrap {
		right: 14px;
		bottom: 14px;
		width: 50px;
		height: 50px;
	}

	.osku-fabs {
		bottom: 74px;
	}
}

/* ---------- Mapa de Google diferido (assets/js/interacciones.js) ----------
   Hasta que alguien lo pide, un botón ocupa el lugar del mapa. Kadence da estilo a todo
   <button>: aquí se le devuelve el aspecto propio, también al pasar el mouse. */

button.osku-mapa-boton {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 260px;
	max-height: 400px;
	margin: 0;
	padding: 0;
	background: #f6f6f4;
	border: 1px solid var(--osku-borde);
	border-radius: 12px;
	box-shadow: none;
	cursor: pointer;
	font-family: "Poppins", system-ui, sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	color: #1c7526;
	transition: background-color var(--osku-transicion);
}

button.osku-mapa-boton:hover,
button.osku-mapa-boton:focus-visible {
	background: #edf3ee;
	color: #1c7526;
	box-shadow: none;
}

button.osku-mapa-boton span::after {
	content: " →";
}

@media (max-width: 781px) {
	button.osku-mapa-boton {
		min-height: 220px;
		max-height: 300px;
	}
}

/* Ficha: el tema anterior ponía 24 px entre bloques (blockGap de su theme.json). Kadence no lo trae y
   aplicaba sus propios márgenes: la lista con sangría (bajaba a dos líneas), la tabla y los botones
   más juntos, párrafos con margen abajo. Se devuelven los de la maqueta, solo dentro de la ficha. */
.osku-ficha > .wp-block-post-content {
	margin-top: 24px;
}

.osku-ficha > .wp-block-post-content > * {
	margin: 24px 0 0;
}

.osku-ficha > .wp-block-post-content > h2 {
	margin-top: 28px;
}

.osku-ficha > .wp-block-post-content > .wp-block-buttons {
	gap: 24px;
}

.osku-ficha-form > p {
	margin-bottom: 0;
}

.osku-ficha-form > h2 + p,
.osku-ficha-form > .osku-confianza-linea {
	margin-top: 24px;
}

.osku-ficha-form > p.wp-block-paragraph:not(.has-text-align-center) {
	max-width: 72ch;
}

/* Ficha en tablet y teléfono (una sola columna): 24 px sobre el título y sobre «Especificaciones»,
   como en la maqueta. */
@media (max-width: 1023px) {
	.wp-block-group.osku-ficha > .wp-block-post-title,
	.osku-ficha > .wp-block-post-content > h2 {
		margin-top: 24px;
	}
}

/* En el teléfono, la barra fija de la ficha (PDF y WhatsApp) mide 54 px: la página reserva ese
   espacio abajo para que la barra no tape el final del pie, y los botones flotantes suben sobre
   ella. */
@media (max-width: 781px) {
	.single-ficha_tecnica {
		padding-bottom: 54px;
	}

	.single-ficha_tecnica #kt-scroll-up.scroll-up-wrap {
		bottom: 68px;
	}

	.single-ficha_tecnica .osku-fabs {
		bottom: 128px;
	}
}

/* Anti-spam: el campo trampa va fuera de pantalla (un humano no lo ve; un robot lo llena). */
.osku-trampa {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Aviso de privacidad junto al botón del formulario. */
.osku-aviso-privacidad {
	margin: 4px 0 14px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--wp--preset--color--gris);
}
.osku-aviso-privacidad a {
	color: var(--wp--preset--color--verde-tx);
	text-decoration: underline;
}

/* Aviso de cookies: barra pequeña abajo a la izquierda (computador) o a todo el ancho (teléfono). */
.osku-cookies {
	position: fixed;
	left: 22px;
	bottom: 22px;
	z-index: 91;
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: 600px;
	padding: 12px 14px 12px 18px;
	border-radius: 12px;
	background: var(--wp--preset--color--tinta);
	color: #fff;
	box-shadow: 0 10px 30px -10px rgba(18, 19, 21, 0.5);
}
.osku-cookies[hidden] {
	display: none;
}
.osku-cookies__texto {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
}
.osku-cookies__texto a {
	color: #fff;
	text-decoration: underline;
}
.osku-cookies__boton {
	flex: 0 0 auto;
	min-height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--wp--preset--color--tinta);
	font: 600 14px/1 var(--wp--preset--font-family--titulos);
	cursor: pointer;
}
.osku-cookies__boton:hover,
.osku-cookies__boton:focus-visible {
	background: var(--osku-borde);
}
@media (max-width: 640px) {
	.osku-cookies {
		left: 14px;
		right: 14px;
		bottom: 14px;
		max-width: none;
		padding: 10px 12px 10px 14px;
		gap: 10px;
	}
	.osku-cookies__texto {
		font-size: 13px;
		line-height: 1.4;
	}
	.osku-cookies__boton {
		padding: 0 14px;
	}
	/* Con la barra visible, el botón de WhatsApp se sube por encima de ella. */
	.osku-cookies-visible .osku-fabs {
		bottom: calc(var(--osku-cookies-alto, 0px) + 28px);
	}
}
@media (max-width: 781px) {
	/* En las fichas, la barra de «Ficha PDF / WhatsApp» ocupa el borde de abajo: el aviso va encima. */
	.single-ficha_tecnica .osku-cookies {
		bottom: 70px;
	}
	html.osku-cookies-visible body.single-ficha_tecnica .osku-fabs {
		bottom: calc(var(--osku-cookies-alto, 0px) + 84px);
	}
}
@media print {
	.osku-cookies {
		display: none;
	}
}
