/*
 * VR Group Ideas - capa visual 0.6.0.
 * Se imprime despues del CSS adicional del personalizador para poder ajustarlo sin editarlo.
 * Contenido: menu en pestanas (movil y tableta), imagen primero, tarjetas de categoria con
 * imagen protagonista, bloque Diseno + Bordado, tarjetas desplegables, WhatsApp con pais,
 * aviso de cookies, redes sociales del pie.
 * Colores e identidad: tokens de vrgi-design-tokens.css (crema, carbon, rojo #C81E1E).
 */

/* 1. Cabecera: menu en pestanas desplazables por debajo de 75rem ------------------------ */
@media (max-width: 74.99rem) {
	body.vrgi-v6 .vrgi-header {
		position: sticky;
		top: var(--wp-admin--admin-bar--height, 0px);
		z-index: 60;
	}

	body.vrgi-v6 .vrgi-header__inner {
		flex-wrap: wrap;
		row-gap: 0.25rem;
		padding-block: 0.5rem 0;
	}

	.vrgi-js body.vrgi-v6 .vrgi-nav-toggle,
	body.vrgi-v6 .vrgi-nav-toggle {
		display: none !important;
	}

	.vrgi-js body.vrgi-v6 .vrgi-nav,
	body.vrgi-v6 .vrgi-nav {
		display: block !important;
		position: relative;
		order: 5;
		/* min-width:0 y ancho fijo: sin ellos la barra crece hasta medir lo mismo que todas las pestañas y no se puede deslizar (árbitro, ciclo 1, ALTO-1). */
		flex: 0 0 auto;
		min-width: 0;
		width: calc(100% + 2 * var(--vrgi-gutter));
		max-width: 100vw;
		margin: 0 calc(var(--vrgi-gutter) * -1);
		margin-left: calc(var(--vrgi-gutter) * -1) !important;
	}

	body.vrgi-v6 .vrgi-header__inner {
		min-width: 0;
	}

	body.vrgi-v6 .vrgi-nav__list {
		display: flex;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0.5rem;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		padding: 0.5rem var(--vrgi-gutter) 0.75rem;
		margin: 0;
	}

	body.vrgi-v6 .vrgi-nav__list::-webkit-scrollbar {
		display: none;
	}

	body.vrgi-v6 .vrgi-nav__list > li {
		flex: 0 0 auto;
		border: 0;
		scroll-snap-align: center;
	}

	body.vrgi-v6 .vrgi-nav__list a,
	body.vrgi-v6 .vrgi-nav__list a:hover,
	body.vrgi-v6 .vrgi-nav__list a:focus,
	body.vrgi-v6 .vrgi-nav__list a:active {
		display: inline-flex;
		align-items: center;
		min-height: 2.5rem;
		padding: 0 1rem;
		border: 1.5px solid rgba(21, 21, 21, 0.14);
		border-radius: var(--vrgi-radius-pill);
		background: var(--vrgi-color-white);
		color: var(--vrgi-text);
		font-size: 0.9375rem;
		font-weight: var(--vrgi-fw-medium);
		text-decoration: none;
		white-space: nowrap;
	}

	body.vrgi-v6 .vrgi-header nav.vrgi-nav a::after {
		display: none;
	}

	body.vrgi-v6 .vrgi-nav__list .current-menu-item > a,
	body.vrgi-v6 .vrgi-nav__list .current_page_item > a,
	body.vrgi-v6 .vrgi-nav__list a[aria-current="page"] {
		border-color: var(--vrgi-accent);
		background: var(--vrgi-accent);
		color: var(--vrgi-on-accent);
	}

	body.vrgi-v6 .vrgi-nav__list .vrgi-nav-tech > a {
		border-color: rgba(29, 78, 216, 0.35);
		color: var(--vrgi-tech);
	}

	body.vrgi-v6 .vrgi-nav__list .vrgi-nav-tech.current-menu-item > a {
		border-color: var(--vrgi-tech);
		background: var(--vrgi-tech);
		color: var(--vrgi-color-white);
	}

	/* Indicadores de que hay mas pestanas a los lados */
	body.vrgi-v6 .vrgi-nav.is-scrollable::before,
	body.vrgi-v6 .vrgi-nav.is-scrollable::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0.25rem;
		width: 2rem;
		pointer-events: none;
		transition: opacity 0.2s;
		z-index: 1;
	}

	body.vrgi-v6 .vrgi-nav.is-scrollable::before {
		left: 0;
		background: linear-gradient(90deg, rgba(247, 243, 238, 1), rgba(247, 243, 238, 0));
	}

	body.vrgi-v6 .vrgi-nav.is-scrollable::after {
		right: 0;
		background: linear-gradient(270deg, rgba(247, 243, 238, 1), rgba(247, 243, 238, 0));
	}

	body.vrgi-v6 .vrgi-nav.at-start::before,
	body.vrgi-v6 .vrgi-nav.at-end::after {
		opacity: 0;
	}

	/* Logotipo en movil: ancho fijado por el CSS adicional (116 px); la altura SIEMPRE proporcional (0.6.1: antes se deformaba) */
	body.vrgi-v6 .vrgi-header .custom-logo-link img,
	body.vrgi-v6 .vrgi-header a:has(> img[src*="logo-vr-group-ideas"]) img {
		height: auto !important;
		max-height: none !important;
		aspect-ratio: auto;
		object-fit: contain;
	}
}

/* 2. Imagen primero en la cabecera de cada pagina (movil) ------------------------------ */
@media (max-width: 47.99rem) {
	body.vrgi-v6 .entry-content > :first-child .vrgi-grid--2 .vrgi-hero__media,
	body.vrgi-v6 .entry-content > :first-child .vrgi-grid .vrgi-hero__media {
		order: -1;
		margin-bottom: 0.5rem;
	}

	body.vrgi-v6 .entry-content > :first-child .vrgi-hero__media img.vrgi-photo--hero,
	body.vrgi-v6 .entry-content > :first-child .vrgi-hero__media .vrgi-photo--hero {
		aspect-ratio: 4 / 3;
		max-height: 46vh;
		width: 100%;
		object-fit: cover;
	}

	body.vrgi-v6 .entry-content > :first-child .vrgi-heading--hero {
		font-size: clamp(1.9rem, 1.2rem + 3.6vw, 2.4rem);
	}

	body.vrgi-v6 .entry-content > :first-child .vrgi-section,
	body.vrgi-v6 .entry-content > section:first-child {
		padding-top: 1.25rem;
	}
}

/* 3. Inicio: tarjetas de categoria con la imagen como protagonista --------------------- */
body.vrgi-v6.home #catalogo .vrgi-card--link {
	position: relative;
	isolation: isolate;
}

body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
}

body.vrgi-v6.home #catalogo .vrgi-card--link:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(21, 21, 21, 0.14);
}

body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-photo img {
	transition: transform 0.5s ease;
}

body.vrgi-v6.home #catalogo .vrgi-card--link:hover .vrgi-photo img {
	transform: scale(1.05);
}

@media (max-width: 47.99rem) {
	body.vrgi-v6.home #catalogo .vrgi-grid--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link {
		min-height: 15rem;
		overflow: hidden;
		border-radius: var(--vrgi-radius-md);
		background: var(--vrgi-color-charcoal);
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-photo {
		position: absolute !important;
		inset: 0;
		z-index: -1;
		height: 100% !important;
		aspect-ratio: auto !important;
		border-radius: 0;
		margin: 0;
	}

	/* El cuerpo NO se posiciona: asi el enlace del titulo (::after) cubre toda la tarjeta, foto incluida. */
	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-card__body {
		position: static;
		display: block;
		flex: 0 0 auto;
		margin-top: auto;
		width: 100%;
		box-sizing: border-box;
		padding: 3rem 0.875rem 0.875rem;
		background: linear-gradient(180deg, rgba(21, 21, 21, 0) 0%, rgba(21, 21, 21, 0.72) 30%, rgba(21, 21, 21, 0.94) 100%);
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-card__title,
	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-card__title a {
		margin: 0;
		color: var(--vrgi-color-white) !important;
		font-size: 1rem;
		line-height: 1.2;
		hyphens: none;
		overflow-wrap: normal;
		word-break: normal;
		text-decoration: none;
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-card__text,
	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-link,
	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-cat-more,
	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-pq-more {
		display: none;
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-card__title::after {
		content: "Ver productos →";
		display: block;
		margin-top: 0.375rem;
		color: #FFD5D5;
		font-family: var(--vrgi-font-body);
		font-size: 0.8125rem;
		font-weight: var(--vrgi-fw-bold);
	}

	/* La tarjeta grande de Diseno grafico ocupa las dos columnas */
	/* Tarjeta grande de Diseno grafico («¿Aun no sabes que producto necesitas?») */
	body.vrgi-v6.home #catalogo .vrgi-card--link:has(.vrgi-eyebrow) {
		min-height: 14rem;
		margin-top: 0.75rem;
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link:has(.vrgi-eyebrow) .vrgi-card__title::after {
		content: "Ver diseño gráfico →";
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-eyebrow {
		color: #FFD5D5;
		margin-bottom: 0.25rem;
	}
}

/* 4. Inicio: Diseno y bordado con imagen ------------------------------------------------ */
.vrgi-split {
	display: grid;
	gap: var(--vrgi-gap-lg);
	align-items: center;
}

@media (min-width: 48rem) {
	.vrgi-split {
		grid-template-columns: 1.05fr 1fr;
	}
}

.vrgi-split__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--vrgi-radius-lg);
	aspect-ratio: 4 / 3;
	background: var(--vrgi-placeholder-a);
}

.vrgi-split__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vrgi-jump {
	display: grid;
	gap: 0.75rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.vrgi-jump a {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-radius: var(--vrgi-radius-md);
	background: var(--vrgi-color-white);
	color: var(--vrgi-text);
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(21, 21, 21, 0.06), 0 8px 22px rgba(21, 21, 21, 0.06);
	transition: transform 0.2s, box-shadow 0.2s;
}

.vrgi-jump a:hover,
.vrgi-jump a:focus-visible {
	transform: translateX(4px);
	box-shadow: 0 1px 0 rgba(21, 21, 21, 0.06), 0 12px 26px rgba(200, 30, 30, 0.14);
}

.vrgi-jump strong {
	display: block;
	font-family: var(--vrgi-font-heading);
	font-size: 1.125rem;
}

.vrgi-jump small {
	display: block;
	margin-top: 0.125rem;
	color: var(--vrgi-text-secondary);
	font-size: 0.9375rem;
}

.vrgi-jump__go {
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--vrgi-accent);
	color: var(--vrgi-on-accent);
	font-weight: var(--vrgi-fw-bold);
}

/* Listas propias sin la sangria de las listas del tema padre */
body.vrgi-v6 .vrgi-jump,
body.vrgi-v6 .vrgi-pq-areas,
body.vrgi-v6 .vrgi-social {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* Inicio: las tres tarjetas de Impulsa IA se deslizan en horizontal en movil */
@media (max-width: 47.99rem) {
	body.vrgi-v6.home .vrgi-grid:has(> .wp-block-group__inner-container > .vrgi-card--dark),
	body.vrgi-v6.home .vrgi-grid:has(> .vrgi-card--dark) {
		display: flex !important;
		gap: 0.75rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: calc(var(--vrgi-gutter) * -1);
		padding: 0.25rem var(--vrgi-gutter) 1rem;
	}

	body.vrgi-v6.home .vrgi-grid:has(.vrgi-card--dark)::-webkit-scrollbar {
		display: none;
	}

	body.vrgi-v6.home .vrgi-grid .vrgi-card--dark {
		flex: 0 0 82%;
		scroll-snap-align: start;
	}
}

/* Soluciones (movil): boton para ver la solucion de cada caso */
.vrgi-case__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	margin-top: 0.75rem;
	padding: 0 1.125rem;
	border: 2px solid var(--vrgi-accent);
	border-radius: var(--vrgi-radius-pill);
	background: transparent;
	color: var(--vrgi-accent);
	font: inherit;
	font-weight: var(--vrgi-fw-bold);
	cursor: pointer;
}

.vrgi-case__toggle[aria-expanded="true"] {
	background: var(--vrgi-accent);
	color: var(--vrgi-on-accent);
}

.vrgi-case__toggle:focus-visible {
	outline: 3px solid var(--vrgi-text);
	outline-offset: 2px;
}

.vrgi-case__more:not([hidden]) {
	margin-top: 1rem;
	animation: vrgi-acc-in 0.25s ease;
}

/* Catalogo (movil): las areas con foto aparecen antes; el texto repetido del bloque se oculta */
@media (max-width: 47.99rem) {
	body.vrgi-v6 .vrgi-pq-catalog__head .vrgi-lead {
		display: none;
	}
}

/* 5. Tarjetas desplegables (movil) ------------------------------------------------------ */
.vrgi-acc-grid {
	gap: 0.625rem !important;
}

.vrgi-acc {
	padding: 0 !important;
	overflow: hidden;
}

.vrgi-acc .vrgi-card__body {
	padding: 0;
}

.vrgi-acc .vrgi-card__title {
	margin: 0;
	font-size: 1.0625rem;
}

.vrgi-acc__btn {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 0.875rem;
	width: 100%;
	min-height: 3.5rem;
	padding: 0.875rem 1.125rem;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

/* 0.6.1: Kadence pinta los <button> en azul al pulsar o enfocar; aqui se mantiene el color de la marca */
.vrgi-acc__btn:hover,
.vrgi-acc__btn:focus,
.vrgi-acc__btn:active {
	background: transparent !important;
	color: inherit !important;
	box-shadow: none !important;
}

.vrgi-acc__btn:focus-visible {
	outline: 3px solid var(--vrgi-accent);
	outline-offset: -3px;
}

/* Enlaces de accion dentro de las tarjetas («Cómo te ayudamos») */
.vrgi-help {
	margin: 0.75rem 0 0;
	padding: 0.75rem 0.875rem;
	border-radius: var(--vrgi-radius-sm);
	background: rgba(200, 30, 30, 0.06);
	font-size: 0.9375rem;
}

.vrgi-help strong {
	display: block;
	margin-bottom: 0.125rem;
	color: var(--vrgi-accent);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.page-id-24 .vrgi-help {
	background: rgba(29, 78, 216, 0.08);
}

.page-id-24 .vrgi-help strong {
	color: var(--vrgi-tech);
}

.vrgi-go {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.vrgi-go a,
.vrgi-section .vrgi-go a:is(:link, :visited) {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	min-height: 2.75rem;
	padding: 0 1rem;
	border-radius: var(--vrgi-radius-pill);
	background: var(--vrgi-accent);
	color: var(--vrgi-on-accent);
	font-weight: var(--vrgi-fw-bold);
	font-size: 0.9375rem;
	text-decoration: none;
}

.vrgi-go a.is-alt,
.vrgi-section .vrgi-go a.is-alt:is(:link, :visited) {
	background: transparent;
	color: var(--vrgi-text);
	box-shadow: inset 0 0 0 2px currentColor;
}

.page-id-24 .vrgi-go a:not(.is-alt) {
	background: var(--vrgi-tech);
}

.vrgi-section .vrgi-go a:hover,
.vrgi-section .vrgi-go a:focus-visible {
	filter: brightness(1.08);
	text-decoration: none;
}

/* Boton al final de cada proceso («Pide tu bordado», «Pide tu diseño», ...) */
.vrgi-proc-cta {
	display: flex;
	justify-content: center;
	margin-top: 1.25rem;
}

.vrgi-acc__n {
	color: var(--vrgi-accent);
	font-family: var(--vrgi-font-body);
	font-size: 0.8125rem;
	font-weight: var(--vrgi-fw-bold);
	letter-spacing: 0.06em;
}

.vrgi-acc__ico {
	position: relative;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: rgba(200, 30, 30, 0.1);
	transition: transform 0.25s ease, background 0.25s;
}

.vrgi-acc__ico::before,
.vrgi-acc__ico::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.75rem;
	height: 2px;
	margin: -1px 0 0 -0.375rem;
	background: var(--vrgi-accent);
}

.vrgi-acc__ico::after {
	transform: rotate(90deg);
	transition: transform 0.25s ease;
}

.vrgi-acc.is-open .vrgi-acc__ico {
	background: var(--vrgi-accent);
	transform: rotate(180deg);
}

.vrgi-acc.is-open .vrgi-acc__ico::before,
.vrgi-acc.is-open .vrgi-acc__ico::after {
	background: var(--vrgi-on-accent);
}

.vrgi-acc.is-open .vrgi-acc__ico::after {
	transform: rotate(0deg);
}

.vrgi-acc__body {
	display: none;
	padding: 0 1.125rem 1.125rem 3.25rem;
}

.vrgi-acc.is-open .vrgi-acc__body {
	display: block;
	animation: vrgi-acc-in 0.25s ease;
}

.vrgi-acc.is-open {
	box-shadow: inset 4px 0 0 var(--vrgi-accent), 0 8px 22px rgba(21, 21, 21, 0.06);
}

@keyframes vrgi-acc-in {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}

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

/* 7. Aviso de cookies (solo si hay Google Analytics configurado) ------------------------ */
.vrgi-consent {
	position: fixed;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	z-index: 9995;
	display: grid;
	gap: 0.75rem;
	max-width: 40rem;
	padding: 1.125rem 1.25rem;
	border-radius: var(--vrgi-radius-lg);
	background: var(--vrgi-color-charcoal);
	color: var(--vrgi-text-on-dark);
	box-shadow: 0 18px 44px rgba(21, 21, 21, 0.3);
	font-family: var(--vrgi-font-body);
}

.vrgi-consent__text {
	margin: 0;
	font-size: 0.9375rem;
}

.vrgi-consent__text a {
	color: #FFD5D5;
}

.vrgi-consent__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: flex-end;
}

.vrgi-consent .vrgi-btn--outline {
	border-color: var(--vrgi-text-on-dark);
	color: var(--vrgi-text-on-dark);
	background: transparent;
}

/* 8. Redes sociales del pie ------------------------------------------------------------ */
.vrgi-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.vrgi-social a {
	display: inline-flex !important;
	align-items: center;
	min-height: 2.75rem;
	padding: 0 0.875rem;
	border: 1px solid rgba(246, 244, 241, 0.3);
	border-radius: var(--vrgi-radius-pill);
	line-height: 1 !important;
}

/* 9. Aplicaciones en Inicio (catalogo dinamico) ---------------------------------------- */
body.vrgi-v6.home #aplicaciones .vrgi-apps {
	margin-top: 1.5rem;
}

/* 10. Accesibilidad y movimiento ------------------------------------------------------- */
.vrgi-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	.vrgi-acc.is-open .vrgi-acc__body,
	.vrgi-case__more:not([hidden]),
	.vrgi-acc__ico,
	.vrgi-acc__ico::after,
	.vrgi-jump a,
	body.vrgi-v6.home #catalogo .vrgi-card--link,
	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-photo img {
		animation: none !important;
		transition: none !important;
	}

	body.vrgi-v6.home #catalogo .vrgi-card--link:hover,
	body.vrgi-v6.home #catalogo .vrgi-card--link:hover .vrgi-photo img,
	.vrgi-jump a:hover {
		transform: none;
	}
}

/* 11. Casillas de consentimiento: la casilla y su texto en la misma linea (arbitro, ciclo 1, BAJO-6) */
body.vrgi-v6 .vrgi-dl-check .vrgi-dl-checklabel {
	display: flex !important;
	gap: 0.75rem;
	align-items: flex-start;
}

body.vrgi-v6 .vrgi-dl-check .vrgi-dl-checklabel input {
	flex: 0 0 auto;
	margin-top: 0.2rem;
}

/* 12. Imagen primero tambien en cabeceras sin rejilla (Soluciones) */
@media (max-width: 47.99rem) {
	body.vrgi-v6 .entry-content > :first-child .vrgi-container > .wp-block-group__inner-container:has(> .vrgi-photo--hero) {
		display: flex;
		flex-direction: column;
	}

	body.vrgi-v6 .entry-content > :first-child .vrgi-container > .wp-block-group__inner-container > .vrgi-photo--hero {
		order: -1;
		margin-top: 0 !important;
		margin-bottom: 1.25rem;
	}
}

/* 0.6.1: redes sociales con icono, en el pie (oscuro) y en la ficha de contacto (claro) */
.vrgi-social a {
	gap: 0.5rem;
	text-decoration: none !important;
}

.vrgi-social__ico {
	flex: 0 0 auto;
}

.vrgi-contact__hours {
	margin: 1rem 0 0;
	font-size: 1rem;
}

.vrgi-contact__hours ~ .vrgi-social a,
.vrgi-contact__hours ~ .vrgi-social a:is(:link, :visited) {
	border: 1.5px solid rgba(21, 21, 21, 0.16);
	background: var(--vrgi-color-white);
	color: var(--vrgi-text);
	font-weight: var(--vrgi-fw-medium);
}

.vrgi-contact__hours ~ .vrgi-social a:hover,
.vrgi-contact__hours ~ .vrgi-social a:focus-visible {
	border-color: var(--vrgi-accent);
	color: var(--vrgi-accent);
}

.vrgi-footer .vrgi-contact__hours ~ .vrgi-social a,
.vrgi-footer .vrgi-contact__hours ~ .vrgi-social a:is(:link, :visited) {
	border-color: rgba(246, 244, 241, 0.3);
	background: transparent;
	color: var(--vrgi-text-on-dark);
}

/* 0.6.1 (ciclo 4 del árbitro): alineación, contraste y respiración de las acciones */
.vrgi-section ul.vrgi-go,
.entry-content ul.vrgi-go {
	padding-left: 0 !important;
	margin-left: 0 !important;
	list-style: none !important;
}

.vrgi-go li {
	margin: 0 !important;
	padding: 0 !important;
}

.vrgi-go li::before,
.vrgi-go li::marker {
	content: none !important;
}

.vrgi-go a,
.vrgi-section .vrgi-go a:is(:link, :visited) {
	max-width: 100%;
	box-sizing: border-box;
	white-space: normal;
	text-align: center;
	line-height: 1.25;
	padding: 0.5rem 1rem;
}

@media (max-width: 24rem) {
	.vrgi-go a,
	.vrgi-section .vrgi-go a:is(:link, :visited) {
		font-size: 0.875rem;
		padding: 0.5rem 0.875rem;
	}
}

#casos-exito .vrgi-case .vrgi-go,
.vrgi-case .vrgi-go {
	margin-top: 1rem !important;
}

/* Impulsa IA (fondo oscuro): texto blanco sobre el azul y etiqueta en azul claro legible */
.page-id-24 .vrgi-go a:not(.is-alt),
.page-id-24 .vrgi-section .vrgi-go a:not(.is-alt):is(:link, :visited, :hover, :focus) {
	background: #1D4ED8 !important;
	color: #FFFFFF !important;
}

.page-id-24 .vrgi-go a.is-alt,
.page-id-24 .vrgi-section .vrgi-go a.is-alt:is(:link, :visited, :hover, :focus) {
	color: #FFFFFF !important;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.85);
}

.page-id-24 .vrgi-help {
	background: rgba(143, 176, 255, 0.12);
}

.page-id-24 .vrgi-help strong {
	color: #BFD2FF;
}

@media (max-width: 47.99rem) {
	body.vrgi-v6.home #catalogo .vrgi-card--link .vrgi-card__title[data-more]::after {
		content: attr(data-more);
	}
}
.page-id-24 .vrgi-acc__n{color:#FFB3B3 !important}
.vrgi-ct-limit{margin:.4rem 0 0;color:#B91C1C;font-size:.9rem;font-weight:600}

/* 0.7.0 -------------------------------------------------------------------------------- */
/* WhatsApp en la cabecera fija: siempre visible y sin tapar contenido (sustituye al flotante). */
body.vrgi-v6 .vrgi-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:60}
body.vrgi-v6 .vrgi-wa-head{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:44px;min-height:44px;padding:.5rem .7rem;border-radius:999px;background:#0B6B3A;color:#fff;font-weight:600;font-size:.95rem;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px rgba(11,107,58,.25);transition:background-color .2s}
body.vrgi-v6 .vrgi-wa-head:hover,body.vrgi-v6 .vrgi-wa-head:focus-visible{background:#08552E;color:#fff}
body.vrgi-v6 .vrgi-wa-head:focus-visible{outline:3px solid #151515;outline-offset:2px}
body.vrgi-v6 .vrgi-wa-head .vrgi-ico{width:22px;height:22px;color:#fff;flex:0 0 auto}
body.vrgi-v6 .vrgi-wa-head + .vrgi-cart-btn,body.vrgi-v6 .vrgi-wa-head ~ .vrgi-cart-btn{margin-left:.5rem}
@media (max-width:29.99rem){body.vrgi-v6 .vrgi-wa-head__text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body.vrgi-v6 .vrgi-wa-head{padding:.55rem}}
.vrgi-wa-float{display:none !important}

/* Fotos de los perfiles «para quién trabajamos»: foto arriba; en el móvil el texto se abre al tocar. */
.vrgi-card--media{overflow:hidden;padding:0 !important}
.vrgi-card--media .vrgi-card__media{margin:0;aspect-ratio:4/3;overflow:hidden;background:#EDE9E3}
.vrgi-card--media .vrgi-card__media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;margin:0}
.vrgi-card--media .vrgi-card__body{padding:1.25rem 1.4rem 1.5rem}
@media (max-width:47.99rem){
	.vrgi-card--media .vrgi-card__media{aspect-ratio:16/9}
	.vrgi-card--media .vrgi-card__body{padding:.25rem .9rem .9rem}
	.vrgi-card--media.vrgi-acc .vrgi-card__body{padding:0}
}
/* Impulsa IA: el icono del perfil pasa a la esquina de la foto (no deja un hueco entre foto y título). */
.vrgi-card--media{position:relative}
.vrgi-card--media .vrgi-card__title::before{position:absolute;top:.75rem;left:.75rem;margin:0 !important;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.35)}

/* 0.7.0 · ciclo 7 del árbitro ----------------------------------------------------------- */
/* MEDIO-B: los teléfonos no se parten en dos líneas. */
.vrgi-contact__link[href^="tel:"]{white-space:nowrap}
body .vrgi-contact .vrgi-contact__item,body .vrgi-contact .vrgi-contact__item:nth-child(n+2){flex-wrap:wrap !important;row-gap:.35rem}
/* MEDIO-C: 4 perfiles con foto siempre en 2 columnas (nunca 3 + 1 suelta). */
@media (min-width:48rem){
	.vrgi-grid--2:has(> .vrgi-card--media),
	.vrgi-grid--2:has(> .wp-block-group__inner-container > .vrgi-card--media){grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* BAJO-C: palabras largas con guion en lugar de cortarse sin él. */
.vrgi-card__title,.vrgi-case__name,.vrgi-case h3,.vrgi-pq-card__title,.vrgi-pq-tile__name,.vrgi-pq-tile strong{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
/* BAJO-F: en el móvil, el icono de las tarjetas desplegables va en la misma fila que el título (sin hueco). */
@media (max-width:47.99rem){
	.vrgi-acc:not(.vrgi-card--media) .vrgi-card__title{display:flex;align-items:center;gap:.55rem}
	.vrgi-acc:not(.vrgi-card--media) .vrgi-card__title::before{flex:0 0 auto;margin:0 0 0 .75rem !important}
	.vrgi-acc:not(.vrgi-card--media) .vrgi-card__title .vrgi-acc__btn{flex:1 1 auto;min-width:0}
}
/* BAJO-B: los destinos #ancla quedan por debajo de la cabecera fija (el script ajusta la altura exacta). */
html{scroll-padding-top:10rem}
@media (min-width:75rem){html{scroll-padding-top:8rem}}
.vrgi-pq-catalog{scroll-margin-top:0 !important}
.entry-content ul.vrgi-contact,.vrgi-section ul.vrgi-contact{padding-left:0 !important;margin-left:0 !important;list-style:none !important}
/* BAJO-F: ficha de aplicación en el móvil sin márgenes dobles de Kadence (el texto ocupa el ancho útil). */
@media (max-width:47.99rem){
	body.single-vrgi_aplicacion .content-container{padding-left:0 !important;padding-right:0 !important}
	body.single-vrgi_aplicacion .entry-content-wrap{padding-left:0 !important;padding-right:0 !important}
	body.single-vrgi_aplicacion article.entry{margin-left:0 !important;margin-right:0 !important;box-shadow:none}
}

/* MEDIO-D (ciclo 8): rejillas sin tarjeta suelta en la última fila. 3 tarjetas: 3 columnas; 4 u 8: 2 columnas
 * (4 columnas en pantallas anchas si no llevan foto). */
@media (min-width:48rem){
	.vrgi-grid--2:has(> :nth-child(3):last-child),
	.vrgi-grid--2:has(> .wp-block-group__inner-container > :nth-child(3):last-child),
	.vrgi-grid--3:has(> :nth-child(3):last-child),
	.vrgi-grid--3:has(> .wp-block-group__inner-container > :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
	.vrgi-grid--2:has(> :nth-child(4):last-child),
	.vrgi-grid--2:has(> .wp-block-group__inner-container > :nth-child(4):last-child),
	.vrgi-grid--3:has(> :nth-child(4):last-child),
	.vrgi-grid--3:has(> .wp-block-group__inner-container > :nth-child(4):last-child),
	.vrgi-grid--2:has(> :nth-child(8):last-child),
	.vrgi-grid--2:has(> .wp-block-group__inner-container > :nth-child(8):last-child),
	.vrgi-grid--3:has(> :nth-child(8):last-child),
	.vrgi-grid--3:has(> .wp-block-group__inner-container > :nth-child(8):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:75rem){
	.vrgi-grid--2:has(> :nth-child(4):last-child):not(:has(.vrgi-card--media)),
	.vrgi-grid--2:has(> .wp-block-group__inner-container > :nth-child(4):last-child):not(:has(.vrgi-card--media)),
	.vrgi-grid--3:has(> :nth-child(4):last-child):not(:has(.vrgi-card--media)),
	.vrgi-grid--3:has(> .wp-block-group__inner-container > :nth-child(4):last-child):not(:has(.vrgi-card--media)){grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* BAJO-H: los títulos no se cortan a mitad de palabra (sin diccionario de guiones, la palabra pasa entera a la línea siguiente). */
.vrgi-card__title,.vrgi-case__name,.vrgi-case h3,.vrgi-pq-card__title,.vrgi-pq-tile__name,.vrgi-pq-tile strong,.woocommerce-loop-product__title{word-break:normal !important}
@media (max-width:29.99rem){
	.vrgi-pq-card__title,.woocommerce-loop-product__title{font-size:.95rem;line-height:1.25}
	/* BAJO-M: en el móvil, cada teléfono va en su propia línea, igual en los dos. */
	.vrgi-contact .vrgi-contact__item .vrgi-contact__link[href^="tel:"]{flex-basis:100%;order:5;border-bottom:0 !important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
}
/* BAJO-J (ciclo 8): los 8 casos de Soluciones en 2 columnas en escritorio (no 3 + 3 + 2). */
@media (min-width:48rem){#casos-exito .vrgi-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
/* Rejilla de productos con 4: 2 columnas en tableta, 4 en escritorio. */
@media (min-width:48rem) and (max-width:74.99rem){.vrgi-pq-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* El correo solo se corta tras la @ y los nombres de caso caben a 320 px. */
.vrgi-contact__link--mail{word-break:normal !important;overflow-wrap:normal !important}
@media (max-width:22.49rem){.vrgi-case__name{font-size:.9rem}}
@media (max-width:22.49rem){.vrgi-pq-area__name,.vrgi-pq-card__cat,.vrgi-pq-card__title,.woocommerce-loop-product__title{font-size:.85rem;word-break:normal !important}}
@media (max-width:22.49rem){body #casos-exito .vrgi-case .vrgi-case__name{font-size:.82rem !important;letter-spacing:0}}

/* 0.7.1 · ciclo 9 del árbitro ----------------------------------------------------------- */
/* MEDIO-E, MEDIO-F y BAJO-P: columnas fijas según el ancho (sin auto-fit), para que nunca quede
 * una columna vacía ni una tarjeta suelta. Las reglas por número de elementos (más específicas) mandan. */
@media (max-width:47.99rem){
	body .vrgi-grid--2,body .vrgi-grid--3{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:48rem){
	body .vrgi-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
	body .vrgi-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
	body .vrgi-grid--compact,body.vrgi-v6.home #catalogo .vrgi-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:62.5rem){
	body .vrgi-grid--compact:has(> :nth-child(4):last-child),
	body .vrgi-grid--compact:has(> .wp-block-group__inner-container > :nth-child(4):last-child),
	body.vrgi-v6.home #catalogo .vrgi-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* MEDIO-F: Contacto. Formulario a todo el ancho en tableta; desde 1024 px, formulario ancho + datos de contacto. */
@media (min-width:48rem){
	body .vrgi-grid--2:has(#vrgi-ct-form){grid-template-columns:minmax(0,1fr) !important}
}
@media (min-width:64rem){
	body .vrgi-grid--2:has(#vrgi-ct-form){grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) !important}
}
/* BAJO-Q: pie en 2 × 2 en tableta y en 4 columnas desde 1024 px. */
@media (min-width:36rem){.vrgi-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64rem){.vrgi-footer__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* BAJO-Q: botones de redes uno debajo de otro (nunca 2 + 1). */
body .vrgi-social{display:flex;flex-direction:column;align-items:flex-start;flex-wrap:nowrap}
/* Contacto: los campos ocupan toda la columna del formulario (la clase compartida con la descarga del PDF los limitaba a 512 px). */
body .vrgi-grid--2 .vrgi-ct-form{max-width:none}
/* Solicitar presupuesto: la cesta acompaña al formulario al desplazarse (sin un hueco vacío a la izquierda). */
@media (min-width:62rem){
	body .vrgi-pq-req__grid>:first-child{position:sticky;align-self:start}
	/* MEDIO-G (ciclo 10): la cesta y el formulario se pegan justo debajo de la cabecera real (que mide distinto según el ancho). */
	body .vrgi-pq-req__grid>:first-child{top:calc(var(--vrgi-head-h,160px) + 16px) !important;max-height:calc(100vh - var(--vrgi-head-h,160px) - 32px);overflow-y:auto}
	/* MEDIO-H (ciclo 11): el formulario nunca se pega; si es más alto que la ventana, se recorre con el scroll normal. */
	body .vrgi-pq-req__form{position:static !important}
}
#vrgi-pdf-pages:focus-visible{outline:3px solid #151515;outline-offset:3px}
/* BAJO-Y (ciclo 10): misma separación entre las categorías y la tarjeta de diseño gráfico que entre filas. */
@media (min-width:48rem){body.vrgi-v6.home #catalogo .vrgi-grid--compact + .vrgi-card--link{margin-top:1.25rem !important}}
/* BAJO-AD (ciclo 11): el botón de envío no se parte de forma incómoda en pantallas estrechas. */
body .vrgi-pq-submit{width:100%;white-space:normal;line-height:1.25;padding-inline:1rem;text-wrap:balance}
