/* 
Theme Name: Neve Child
Theme URI: https://www.tecnologeeks.com/
Description: Neve-theme
Theme Author: Juan Dávila
Author URI: https://www.tecnologeeks.com/
Template: neve
Version: 4.1.4
Text Domain: neve
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
*/

/**
 * Estilos consolidados del tema hijo de Tecnologeeks.
 *
 * La portada editorial y las plantillas TGX administran sus estilos propios.
 * Aquí permanecen únicamente los ajustes globales y los diseños definitivos
 * del encabezado y del footer de Neve.
 */

/* Ocultar el título actual y su separador final en breadcrumbs de entradas. */
.single .nv--yoast-breadcrumb .breadcrumb_last {
	display: none;
}

.single .nv--yoast-breadcrumb .tg-sep:last-of-type {
	display: none;
}

@supports selector(.a:has(+ .b)) {
	.single .nv--yoast-breadcrumb .tg-sep:has(+ .breadcrumb_last) {
		display: none;
	}
}

/* Logotipo alternativo en móviles y tablets. */
@media (max-width: 1024px) {
	.hfg-slot .builder-item--logo .site-logo img.neve-site-logo[data-variant="logo"] {
		content: url("https://www.tecnologeeks.com/wp-content/uploads/2024/12/1.1.webp");
		width: 180px;
		height: auto;
		max-height: 60px;
		object-fit: contain;
	}

	.nv-navbar .builder-item--logo .site-logo img.neve-site-logo[data-variant="logo"] {
		content: url("https://www.tecnologeeks.com/wp-content/uploads/2024/12/1.1.webp");
	}
}

/* =========================================================
   TECNOLOGEEKS — SEGUNDA FILA DEL ENCABEZADO
   ========================================================= */

#header-grid {
	--tgx-header-cyan: #01c1cc;
	--tgx-header-cyan-dark: #087c84;
	--tgx-header-ink: #07131f;
	--tgx-header-line: #d9e5e9;
	--tgx-header-soft: #f5fafb;
}

/* Fondo, línea inferior y separación del contenido */
#header-grid .header-main-inner {
	min-height: 52px;
	background: #ffffff !important;
	border-bottom: 2px solid var(--tgx-header-cyan);
	box-shadow: 0 5px 16px rgba(5, 15, 24, 0.065);
}

#header-grid .header-main .row--wrapper {
	align-items: center;
}

/* =========================================================
   BUSCADOR
   ========================================================= */

#header-grid .header-main .builder-item--header_search_responsive {
	margin: 0 10px 0 0 !important;
	padding: 0 !important;
}

#header-grid .header-main .menu-item-nav-search > a.nv-search {
	display: inline-flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: var(--tgx-header-ink);
	border: 1px solid var(--tgx-header-line);
	border-radius: 50%;
	background: var(--tgx-header-soft);
	text-decoration: none;
	transition:
		color 0.2s ease,
		border-color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
}

#header-grid .header-main .menu-item-nav-search > a.nv-search svg {
	display: block;
	width: 17px;
	height: 17px;
	fill: currentColor;
}

#header-grid .header-main .menu-item-nav-search > a.nv-search:hover,
#header-grid .header-main .menu-item-nav-search > a.nv-search:focus-visible {
	color: var(--tgx-header-cyan-dark);
	border-color: var(--tgx-header-cyan);
	background: rgba(1, 193, 204, 0.09);
	transform: translateY(-1px);
}

/* =========================================================
   MENÚ PRINCIPAL
   ========================================================= */

#header-grid .header-main .builder-item--primary-menu {
	margin: 0 !important;
	padding: 0 !important;
}

#header-grid .header-main .primary-menu-ul > li > .wrap {
	padding: 0;
}

#header-grid .header-main .primary-menu-ul > li > .wrap > a {
	position: relative;
	display: flex;
	min-height: 50px;
	align-items: center;
	padding: 0 14px;
	color: var(--tgx-header-ink);
	font-size: 15px;
	line-height: 1;
	font-weight: 650;
	text-decoration: none;
	transition: color 0.2s ease;
}

/* Indicador cian inferior */
#header-grid .header-main .primary-menu-ul > li > .wrap > a::after {
	position: absolute;
	right: 50%;
	bottom: 6px;
	left: 50%;
	height: 2px;
	content: "";
	background: var(--tgx-header-cyan);
	transition:
		right 0.2s ease,
		left 0.2s ease;
}

#header-grid .header-main .primary-menu-ul > li:hover > .wrap > a,
#header-grid .header-main .primary-menu-ul > li.current-menu-item > .wrap > a,
#header-grid .header-main .primary-menu-ul > li.current-menu-ancestor > .wrap > a,
#header-grid .header-main .primary-menu-ul > li > .wrap > a:focus-visible {
	color: var(--tgx-header-cyan-dark);
}

#header-grid .header-main .primary-menu-ul > li:hover > .wrap > a::after,
#header-grid .header-main .primary-menu-ul > li.current-menu-item > .wrap > a::after,
#header-grid .header-main .primary-menu-ul > li.current-menu-ancestor > .wrap > a::after,
#header-grid .header-main .primary-menu-ul > li > .wrap > a:focus-visible::after {
	right: 14px;
	left: 14px;
}

/* =========================================================
   REDES SOCIALES
   ========================================================= */

#header-grid .header-main .builder-item--custom_html {
	margin: 0 !important;
	padding: 0 !important;
}

#header-grid .header-main .builder-item--custom_html .item--inner,
#header-grid .header-main .nv-html-content {
	line-height: 0;
}

#header-grid .tgx-header-social {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin: 0;
	padding: 0;
	line-height: 0;
	white-space: nowrap;
}

#header-grid .tgx-header-social a {
	display: inline-flex;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 1px solid var(--tgx-header-line);
	border-radius: 50%;
	background: var(--tgx-header-soft);
	line-height: 0;
	text-decoration: none;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

#header-grid .tgx-header-social img {
	display: block;
	width: 17px;
	height: 17px;
	margin: 0;
	padding: 0;
	object-fit: contain;
}

#header-grid .tgx-header-social a:hover,
#header-grid .tgx-header-social a:focus-visible {
	border-color: var(--tgx-header-cyan);
	background: rgba(1, 193, 204, 0.1);
	box-shadow: 0 4px 10px rgba(1, 193, 204, 0.12);
	transform: translateY(-2px);
}

/* Enfoque accesible */
#header-grid .header-main a:focus-visible {
	outline: 2px solid var(--tgx-header-cyan);
	outline-offset: 3px;
}

/* =========================================================
   ESCRITORIO
   ========================================================= */

@media (min-width: 960px) {
	#header-grid .header-main .hfg-slot.left {
		display: flex;
		align-items: center;
	}

	#header-grid .header-main .hfg-slot.left .hfg-is-group {
		display: flex;
		align-items: center;
	}

	#header-grid .header-main .hfg-slot.right {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
}

/* =========================================================
   TABLETA Y MÓVIL
   ========================================================= */

@media (max-width: 959px) {
	#header-grid .header-main-inner {
		min-height: 56px;
	}

	/* Botón del menú móvil */
	#header-grid .header-main .navbar-toggle {
		display: inline-flex;
		width: 38px;
		height: 38px;
		align-items: center;
		justify-content: center;
		padding: 9px;
		color: var(--tgx-header-ink);
		border: 1px solid var(--tgx-header-line);
		border-radius: 50%;
		background: var(--tgx-header-soft);
		transition:
			color 0.2s ease,
			border-color 0.2s ease,
			background-color 0.2s ease;
	}

	#header-grid .header-main .navbar-toggle:hover,
	#header-grid .header-main .navbar-toggle:focus-visible {
		color: var(--tgx-header-cyan-dark);
		border-color: var(--tgx-header-cyan);
		background: rgba(1, 193, 204, 0.09);
	}

	/* Redes dentro del menú desplegable móvil */
	#header-grid .header-menu-sidebar .builder-item--custom_html,
	#header-grid .header-menu-sidebar .builder-item--custom_html .item--inner,
	#header-grid .header-menu-sidebar .builder-item--custom_html .nv-html-content {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}

	#header-grid .header-menu-sidebar .tgx-header-social {
		display: grid;
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		grid-template-columns: repeat(5, 34px);
		justify-content: start !important;
		justify-items: start;
		column-gap: 9px;
		row-gap: 11px;
		margin: 18px 0 0 !important;
		padding: 18px 12px 4px;
		border-top: 1px solid var(--tgx-header-line);
		white-space: normal;
	}

	#header-grid .header-menu-sidebar .tgx-header-social::before {
		display: block;
		grid-column: 1 / -1;
		justify-self: start;
		content: "Síguenos";
		color: var(--tgx-header-cyan-dark);
		font-size: 10px;
		line-height: 1;
		font-weight: 850;
		letter-spacing: 0.15em;
		text-transform: uppercase;
	}

	#header-grid .header-menu-sidebar .tgx-header-social a {
		width: 34px;
		height: 34px;
		flex-basis: 34px;
	}
}

/* Teléfonos especialmente estrechos */
@media (max-width: 380px) {
	#header-grid .header-menu-sidebar .tgx-header-social {
		grid-template-columns: repeat(5, 32px);
		column-gap: 7px;
		row-gap: 10px;
		padding-right: 8px;
		padding-left: 8px;
	}

	#header-grid .header-menu-sidebar .tgx-header-social a {
		width: 32px;
		height: 32px;
		flex-basis: 32px;
	}

	#header-grid .header-menu-sidebar .tgx-header-social img {
		width: 16px;
		height: 16px;
	}
}

/* Respeta la configuración de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
	#header-grid .header-main a,
	#header-grid .header-main button,
	#header-grid .tgx-header-social a {
		transition: none !important;
	}
}









/* =========================================================
   TECNOLOGEEKS — FOOTER COMPLETO
   FILAS SUPERIOR Y CENTRAL
   ========================================================= */

.site-footer {
	--tgx-footer-cyan: #01c1cc;
	--tgx-footer-white: #f3f7fa;
	--tgx-footer-muted: #aebbc3;
	--tgx-footer-dark: #050f18;
	--tgx-footer-blue: #0a2634;
}

/* =========================================================
   FILA SUPERIOR
   ========================================================= */

.site-footer .footer-top-inner {
	position: relative;
	overflow: hidden;
	padding: 52px 0 50px;
	color: var(--tgx-footer-white);
	border-top: 3px solid var(--tgx-footer-cyan);
	background:
		radial-gradient(
			circle at 84% 15%,
			rgba(1, 193, 204, 0.12),
			transparent 30%
		),
		linear-gradient(
			120deg,
			var(--tgx-footer-dark) 0%,
			#071b28 56%,
			var(--tgx-footer-blue) 100%
		) !important;
}

/* Mantiene el contenido por encima del efecto de fondo */
.site-footer .footer-top-inner > .container {
	position: relative;
	z-index: 1;
}

/* Separación entre las tres columnas */
.site-footer .footer-top .nv-footer-content {
	align-items: center;
	gap: clamp(30px, 4vw, 64px);
}

/* Elimina espacios predeterminados de Neve */
.site-footer .footer-top .builder-item,
.site-footer .footer-top .widget,
.site-footer .footer-top .widget-area {
	margin: 0;
	padding: 0;
}

.site-footer .footer-top p {
	margin-top: 0;
}

/* =========================================================
   COLUMNA 1 — MARCA
   ========================================================= */

.site-footer .footer-top .tgx-footer-brand {
	max-width: 480px;
}

.site-footer .footer-top .tgx-footer-logo {
	display: inline-flex;
	line-height: 0;
	text-decoration: none;
}

.site-footer .footer-top .tgx-footer-logo img {
	display: block;
	width: 195px;
	max-width: 100%;
	height: auto;
	margin: 0;
}

.site-footer .footer-top .tgx-footer-description {
	max-width: 470px;
	margin: 14px 0 0;
	color: var(--tgx-footer-muted);
	font-size: 14px;
	line-height: 1.65;
}

/* =========================================================
   TÍTULOS DE COLUMNAS
   ========================================================= */

.site-footer .footer-top .tgx-footer-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 17px;
	color: var(--tgx-footer-white);
	font-size: 11px;
	line-height: 1.2;
	font-weight: 850;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.site-footer .footer-top .tgx-footer-title::before {
	flex: 0 0 24px;
	width: 24px;
	height: 2px;
	content: "";
	background: var(--tgx-footer-cyan);
}

/* =========================================================
   COLUMNA 2 — EXPLORAR
   ========================================================= */

.site-footer .footer-top .tgx-footer-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .footer-top .tgx-footer-links li {
	margin: 0;
	padding: 0;
}

.site-footer .footer-top .tgx-footer-links a {
	display: inline-block;
	color: #dce7ec !important;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 650;
	text-decoration: none !important;
	transition:
		color 0.2s ease,
		transform 0.2s ease;
}

.site-footer .footer-top .tgx-footer-links a:hover,
.site-footer .footer-top .tgx-footer-links a:focus-visible {
	color: var(--tgx-footer-cyan) !important;
	transform: translateX(3px);
}

/* =========================================================
   COLUMNA 3 — CONTACTO Y REDES
   ========================================================= */

.site-footer .footer-top .tgx-footer-connect-text {
	max-width: 275px;
	margin: 0 0 15px;
	color: var(--tgx-footer-muted);
	font-size: 13px;
	line-height: 1.55;
}

.site-footer .footer-top .tgx-footer-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 15px;
	color: var(--tgx-footer-white) !important;
	border: 1px solid rgba(1, 193, 204, 0.72);
	border-radius: 3px;
	background: rgba(1, 193, 204, 0.06);
	font-size: 12px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.site-footer .footer-top .tgx-footer-contact:hover,
.site-footer .footer-top .tgx-footer-contact:focus-visible {
	color: #04131b !important;
	border-color: var(--tgx-footer-cyan);
	background: var(--tgx-footer-cyan);
	transform: translateY(-1px);
}

/* Redes sociales */
.site-footer .footer-top .tgx-footer-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	margin-top: 18px;
}

.site-footer .footer-top .tgx-footer-social a {
	display: inline-flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(1, 193, 204, 0.24);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.035);
	text-decoration: none !important;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
}

.site-footer .footer-top .tgx-footer-social img {
	display: block;
	width: 18px;
	height: 18px;
	margin: 0;
	object-fit: contain;
}

.site-footer .footer-top .tgx-footer-social a:hover,
.site-footer .footer-top .tgx-footer-social a:focus-visible {
	border-color: var(--tgx-footer-cyan);
	background: rgba(1, 193, 204, 0.12);
	transform: translateY(-2px);
}

/* Enfoque accesible con teclado */
.site-footer .footer-top a:focus-visible {
	outline: 2px solid var(--tgx-footer-cyan);
	outline-offset: 4px;
}

/* =========================================================
   FILA CENTRAL — MENÚ LEGAL
   ========================================================= */

.site-footer .footer-main-inner {
	padding: 17px 0;
	color: #b8c5cc;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	background: #06131b !important;
}

/* Centra el único componente de la fila */
.site-footer .footer-main .nv-footer-content {
	grid-template-columns: 1fr !important;
	align-items: center;
}

.site-footer .footer-main .hfg-slot,
.site-footer .footer-main .builder-item--footer-menu,
.site-footer .footer-main .builder-item--footer-menu .item--inner,
.site-footer .footer-main .component-wrap,
.site-footer .footer-main .nav-menu-footer {
	width: 100%;
}

.site-footer .footer-main .builder-item--footer-menu {
	margin: 0;
	padding: 0;
}

/* Menú legal horizontal en escritorio */
.site-footer .footer-main .footer-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .footer-main .footer-menu > li {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.site-footer .footer-main .footer-menu > li > .wrap {
	padding: 0;
}

/* Separadores cian de escritorio */
.site-footer .footer-main .footer-menu > li:not(:last-child)::after {
	flex: 0 0 3px;
	width: 3px;
	height: 3px;
	margin: 0 2px;
	content: "";
	border-radius: 50%;
	background: rgba(1, 193, 204, 0.8);
}

/* Enlaces legales */
.site-footer .footer-main .footer-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 5px 15px;
	color: #b8c5cc !important;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 650;
	letter-spacing: 0.015em;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.site-footer .footer-main .footer-menu a:hover,
.site-footer .footer-main .footer-menu a:focus-visible,
.site-footer .footer-main .footer-menu .current-menu-item > .wrap > a {
	color: var(--tgx-footer-cyan) !important;
}

.site-footer .footer-main .footer-menu a:focus-visible {
	outline: 2px solid var(--tgx-footer-cyan);
	outline-offset: 2px;
}

/* =========================================================
   TABLETA Y MÓVIL
   ========================================================= */

@media (max-width: 959px) {

	/* Espacio general de la primera fila */
	.site-footer .footer-top-inner {
		padding: 34px 0 36px;
		border-top-width: 2px;
	}

	/* Márgenes laterales seguros */
	.site-footer .footer-top-inner > .container,
	.site-footer .footer-main-inner > .container {
		box-sizing: border-box;
		width: 100%;
		padding-right: 22px;
		padding-left: 22px;
	}

	/* Apila las tres columnas */
	.site-footer .footer-top .nv-footer-content {
		grid-template-columns: 1fr !important;
		gap: 30px;
		text-align: center;
	}

	.site-footer .footer-top .hfg-slot,
	.site-footer .footer-top .builder-item,
	.site-footer .footer-top .widget-area {
		width: 100%;
	}

	/* Marca centrada */
	.site-footer .footer-top .tgx-footer-brand {
		width: 100%;
		max-width: 340px;
		margin: 0 auto;
		text-align: center;
	}

	.site-footer .footer-top .tgx-footer-logo {
		display: flex;
		justify-content: center;
	}

	.site-footer .footer-top .tgx-footer-logo img {
		width: 165px;
		margin: 0 auto;
	}

	.site-footer .footer-top .tgx-footer-description {
		max-width: 330px;
		margin: 11px auto 0;
		font-size: 13px;
		line-height: 1.55;
		text-align: center;
		text-wrap: balance;
	}

	/* Títulos de Explorar y Conecta centrados */
	.site-footer .footer-top .tgx-footer-title {
		justify-content: center;
		margin-bottom: 14px;
		font-size: 10.5px;
	}

	/* Explorar en dos columnas centradas */
	.site-footer .footer-top .tgx-footer-navigation {
		width: 100%;
		text-align: center;
	}

	.site-footer .footer-top .tgx-footer-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: min(100%, 330px);
		margin: 0 auto;
		gap: 11px 18px;
		text-align: center;
	}

	.site-footer .footer-top .tgx-footer-links li {
		width: 100%;
		text-align: center;
	}

	.site-footer .footer-top .tgx-footer-links a {
		display: block;
		width: 100%;
		font-size: 12.5px;
		line-height: 1.4;
		text-align: center;
	}

	/* Contacto centrado */
	.site-footer .footer-top .tgx-footer-connect {
		width: 100%;
		max-width: 330px;
		margin: 0 auto;
		text-align: center;
	}

	.site-footer .footer-top .tgx-footer-connect-text {
		max-width: 290px;
		margin: 0 auto 13px;
		font-size: 12.5px;
		line-height: 1.5;
		text-align: center;
		text-wrap: balance;
	}

	.site-footer .footer-top .tgx-footer-contact {
		min-height: 36px;
		padding: 8px 14px;
	}

	.site-footer .footer-top .tgx-footer-social {
		justify-content: center;
		gap: 8px;
		margin-top: 16px;
	}

	.site-footer .footer-top .tgx-footer-social a {
		width: 32px;
		height: 32px;
	}

	.site-footer .footer-top .tgx-footer-social img {
		width: 17px;
		height: 17px;
	}

	/* Segunda fila sin cambios visuales */
	.site-footer .footer-main-inner {
		padding: 13px 0;
	}

	/* Menú legal vertical */
	.site-footer .footer-main .footer-menu {
		display: grid;
		grid-template-columns: 1fr;
		width: min(100%, 300px);
		margin: 0 auto;
		gap: 0;
	}

	.site-footer .footer-main .footer-menu > li {
		justify-content: center;
		width: 100%;
		text-align: center;
		border-top: 1px solid rgba(255, 255, 255, 0.06);
	}

	.site-footer .footer-main .footer-menu > li:first-child {
		border-top: 0;
	}

	.site-footer .footer-main .footer-menu > li::after {
		display: none;
	}

	.site-footer .footer-main .footer-menu a {
		justify-content: center;
		width: 100%;
		min-height: 36px;
		padding: 7px 8px;
		font-size: 11.5px;
		line-height: 1.35;
	}
}

/* Ajustes para teléfonos especialmente estrechos */
@media (max-width: 380px) {
	.site-footer .footer-top-inner > .container,
	.site-footer .footer-main-inner > .container {
		padding-right: 18px;
		padding-left: 18px;
	}

	.site-footer .footer-top .tgx-footer-logo img {
		width: 155px;
	}

	.site-footer .footer-top .tgx-footer-links {
		width: min(100%, 300px);
		column-gap: 14px;
	}

	.site-footer .footer-top .tgx-footer-links a {
		font-size: 12px;
	}

	.site-footer .footer-top .tgx-footer-description,
	.site-footer .footer-top .tgx-footer-connect-text {
		font-size: 12.5px;
	}

	.site-footer .footer-main .footer-menu {
		max-width: 280px;
	}
}

/* Respeta la configuración de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
	.site-footer .footer-top a,
	.site-footer .footer-main a {
		transition: none !important;
	}
}
