/*!
Theme Name: Ohio-Child
Theme URI: http://ohio.colabr.io/
Author: Colabrio
Author URI: http://colabr.io/
Description: Ohio is a WordPress theme bundled with premium plugins to build a modern and functional website.
Version: 1.0.11
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: ohio
Text Domain: ohio-child
Tags: ajax, customizer, ecommerce, portfolio, minimal, page builder, responsive, multipurpose, shop, store, woocommerce, wpml

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

/*
 * Blog posts: heading scale
 * h2: half then −2px (25 / 18)
 * h3–h6: same size and weight as h3 (20 / 18, bold)
 */
.single-post .entry-content h2 {
	font-size: calc(18px + 7 * ((100vw - 576px) / 1024));
	line-height: 1.2;
}

.single-post .entry-content h3,
.single-post .entry-content h4,
.single-post .entry-content h5,
.single-post .entry-content h6 {
	font-size: calc(18px + 2 * ((100vw - 576px) / 1024));
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

@media screen and (max-width: 576px) {
	.single-post .entry-content h2 { font-size: 18px; }
	.single-post .entry-content h3,
	.single-post .entry-content h4,
	.single-post .entry-content h5,
	.single-post .entry-content h6 { font-size: 18px; }
}

@media screen and (min-width: 1600px) {
	.single-post .entry-content h2 { font-size: 25px; }
	.single-post .entry-content h3,
	.single-post .entry-content h4,
	.single-post .entry-content h5,
	.single-post .entry-content h6 { font-size: 20px; }
}

/* In-content glossary tooltip (no link) */
.single-post .entry-content .glossary-term {
	position: relative;
	display: inline;
	border-bottom: 1px dotted currentColor;
	cursor: help;
	font-weight: 500;
}

.single-post .entry-content .glossary-term__tooltip {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 0.55rem);
	z-index: 20;
	width: max-content;
	max-width: min(280px, 70vw);
	padding: 0.55rem 0.7rem;
	border-radius: 4px;
	background: #1a1a1a;
	color: #fff;
	font-size: 0.85em;
	font-weight: 400;
	line-height: 1.35;
	text-align: left;
	white-space: normal;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(4px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}

.single-post .entry-content .glossary-term__tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border: 5px solid transparent;
	border-top-color: #1a1a1a;
}

.single-post .entry-content .glossary-term:hover .glossary-term__tooltip,
.single-post .entry-content .glossary-term:focus .glossary-term__tooltip,
.single-post .entry-content .glossary-term:focus-visible .glossary-term__tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

/* Definitions block at end of posts */
.post-glossary {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.post-glossary__title {
	margin: 0 0 1.25rem;
	font-size: 20px;
	line-height: 1.25;
}

.post-glossary__list {
	margin: 0;
	padding: 0;
}

.post-glossary__item {
	margin: 0 0 1.25rem;
}

.post-glossary__item:last-child {
	margin-bottom: 0;
}

.post-glossary__term {
	margin: 0 0 0.35rem;
	font-weight: 700;
}

.post-glossary__definition {
	margin: 0;
	opacity: 0.9;
}

.post-glossary__more {
	display: inline-block;
	margin-left: 0.35em;
	font-weight: 500;
	white-space: nowrap;
}

/* Glossary archive / single */
.glossary-archive {
	list-style: none;
	margin: 0;
	padding: 0;
}

.glossary-archive__item {
	margin: 0 0 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.glossary-archive__title {
	font-weight: 700;
	font-size: 1.15em;
}

.glossary-archive__summary {
	margin: 0.4rem 0 0;
}

.glossary-term__back {
	margin-top: 2rem;
}

/*
 * Blog featured images: 9:6 (same as 3:2) instead of square 1:1.
 * Ohio uses padding-top/bottom: 100% for metro/grid placeholders.
 */
.blog-grid .blog-metro-image,
.clb-slider .blog-metro-image,
.blog-grid-type-2 .blog-grid-image .slider .blog-image,
.blog-grid-type-4 .blog-grid-image .slider .blog-image {
	padding-top: 66.6667%;
}

.blog-grid-type-2.without-media .blog-grid-image,
.blog-grid-type-4.without-media .blog-grid-image,
.single-post .entry-content .blog-slider .blog-metro-image {
	padding-bottom: 66.6667%;
}

@media screen and (max-width: 768px) {
	.blog-grid .blog-metro-image,
	.clb-slider .blog-metro-image {
		padding-top: 66.6667% !important;
		padding-bottom: 0 !important;
	}
}


/* === Página Servicios (.jn-servicios) — ver también assets/css/jn-servicios.css === */
/**
 * Estilos locales de la página Servicios.
 * Solo afectan a elementos dentro de .jn-servicios.
 */

.jn-servicios {
	--jn-servicios-gap: 2.5rem;
	--jn-servicios-gap-lg: 4rem;
	--jn-servicios-border: rgba(0, 0, 0, 0.12);
	--jn-servicios-muted: rgba(0, 0, 0, 0.72);
}

.jn-servicios > .wp-block-group__inner-container,
.jn-servicios.wp-block-group {
	display: block;
}

.jn-servicios .jn-servicios__eyebrow {
	margin: 0 0 0.75rem;
	font-size: 0.875em;
	letter-spacing: 0.02em;
	opacity: 0.75;
}

.jn-servicios .jn-servicios__lead {
	max-width: none;
}

/*
 * Hero: columna del botón = ancho intrínseco;
 * columna del texto = el espacio restante (sin % fijos).
 */
@media screen and (min-width: 782px) {
	.jn-servicios .jn-servicios__hero .wp-block-columns {
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 5em;
	}

	.jn-servicios .jn-servicios__hero .wp-block-columns > .wp-block-column:first-child {
		flex: 0 0 auto !important;
		flex-basis: auto !important;
		flex-grow: 0 !important;
		width: auto !important;
		min-width: 0;
	}

	.jn-servicios .jn-servicios__hero .wp-block-columns > .wp-block-column:last-child {
		flex: 1 1 0 !important;
		flex-basis: 0 !important;
		flex-grow: 1 !important;
		min-width: 0;
	}
}

.jn-servicios .jn-servicios__section {
	margin-top: var(--jn-servicios-gap-lg);
	padding-top: var(--jn-servicios-gap);
	scroll-margin-top: 6rem;
}

.jn-servicios .jn-servicios__section + .jn-servicios__section {
	border-top: 1px solid var(--jn-servicios-border);
}

.jn-servicios .jn-servicios__entradilla {
	font-size: 1.15em;
	line-height: 1.45;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	text-align: left;
}

.jn-servicios .jn-servicios__nota {
	margin: 1.75rem 0;
	padding: 1rem 0 1rem 1.1rem;
	border-left: 3px solid #000;
}

.jn-servicios .jn-servicios__nota p {
	margin: 0;
}

.jn-servicios .jn-servicios__capacidades {
	margin: var(--jn-servicios-gap-lg) 0;
	padding: 1.25rem 0;
	border-top: 1px solid var(--jn-servicios-border);
	border-bottom: 1px solid var(--jn-servicios-border);
}

.jn-servicios .jn-servicios__capacidades p {
	margin: 0;
	max-width: 40rem;
	color: var(--jn-servicios-muted);
	font-size: 0.95em;
}

/*
 * Tres opciones de colaboración: alinear h3, texto y enlace
 * en la misma fila horizontal (escritorio / tablet ancha).
 */
.jn-servicios .wp-block-columns.jn-servicios__opciones {
	align-items: stretch;
}

.jn-servicios .jn-servicios__opcion {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
}

.jn-servicios .jn-servicios__opcion > h3,
.jn-servicios .jn-servicios__opcion > .wp-block-heading {
	margin-top: 0;
	margin-bottom: 0.75rem;
}

.jn-servicios .jn-servicios__opcion > p:not(.jn-servicios__opcion-link) {
	margin-top: 0;
	margin-bottom: 0;
	flex: 1 1 auto;
}

.jn-servicios .jn-servicios__opcion .jn-servicios__opcion-link {
	margin-top: auto;
	margin-bottom: 0;
	padding-top: 1rem;
}

@supports (grid-template-rows: subgrid) {
	@media screen and (min-width: 769px) {
		.jn-servicios .wp-block-columns.jn-servicios__opciones {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			grid-template-rows: auto auto auto;
			gap: 2em;
			align-items: stretch;
		}

		.jn-servicios .wp-block-columns.jn-servicios__opciones > .wp-block-column.jn-servicios__opcion {
			display: grid;
			grid-template-rows: subgrid;
			grid-row: span 3;
			gap: 0.75rem;
			height: auto;
			flex-basis: auto;
			width: auto;
			max-width: none;
		}

		.jn-servicios .jn-servicios__opcion > h3,
		.jn-servicios .jn-servicios__opcion > .wp-block-heading,
		.jn-servicios .jn-servicios__opcion > p:not(.jn-servicios__opcion-link),
		.jn-servicios .jn-servicios__opcion .jn-servicios__opcion-link {
			margin-top: 0;
			margin-bottom: 0;
			padding-top: 0;
			flex: unset;
		}
	}
}

.jn-servicios .jn-servicios__pasos .wp-block-column {
	margin-bottom: 1.5rem;
}

.jn-servicios .jn-servicios__pasos .jn-servicios__paso-num {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.8em;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.6;
}

.jn-servicios .jn-servicios__cierre {
	margin-top: var(--jn-servicios-gap-lg);
	padding-top: var(--jn-servicios-gap);
	border-top: 1px solid var(--jn-servicios-border);
}

.jn-servicios .wp-block-buttons {
	gap: 0.75rem 1.25rem;
}

.jn-servicios .wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: #17161a;
}

.jn-servicios .wp-block-button.is-style-outline .wp-block-button__link:hover,
.jn-servicios .wp-block-button.is-style-outline .wp-block-button__link:focus {
	background-color: #000;
	border-color: #000;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.jn-servicios {
		--jn-servicios-gap: 2rem;
		--jn-servicios-gap-lg: 2.75rem;
	}

	.jn-servicios .jn-servicios__section {
		scroll-margin-top: 5rem;
	}

	.jn-servicios .wp-block-columns.jn-servicios__opciones,
	.jn-servicios .wp-block-columns.jn-servicios__pasos {
		flex-wrap: wrap !important;
	}

	.jn-servicios .wp-block-columns.jn-servicios__opciones > .wp-block-column,
	.jn-servicios .wp-block-columns.jn-servicios__pasos > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}
