/*
Theme Name: Vecturex
Theme URI: https://vecturex.local/
Author: Vecturex
Author URI: https://vecturex.local/
Description: Child theme de Twenty Twenty-Five para Vecturex.
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.2
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vecturex
Template: twentytwentyfive
*/

:root {
	--vtx-brand: #3e3a5f;
	--vtx-brand-2: #4b466f;
	--vtx-accent: #6c63d6;
	--vtx-accent-2: #8f87f0;
	--vtx-positive: #34c7a8;
	--vtx-paper: #f4f5fb;
	--vtx-cloud: #ffffff;
	--vtx-mist: #e5e4f1;
	--vtx-mist-2: #eeedf7;
	--vtx-slate: #6c6b86;
	--vtx-slate-dark: #4a4966;
	--vtx-text: #2c2a44;
	--vtx-maxw: 1440px;
	--vtx-ease: cubic-bezier(.22, .61, .36, 1);
	--vtx-font-display: "Space Grotesk", "Segoe UI", sans-serif;
	--vtx-font-body: "Inter", "Segoe UI", sans-serif;
	--vtx-font-mono: "Space Mono", "Consolas", monospace;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--vtx-paper);
	color: var(--vtx-text);
	font-family: var(--vtx-font-body);
	line-height: 1.62;
}

/* Language visibility for shared ES/EN blocks.
   Hide the inactive language instead of overriding display on the active one,
   so the theme's own flex/block layout rules keep applying. */
html:not([lang^="en"]) .vtx-i18n-en {
	display: none !important;
}

html[lang^="en"] .vtx-i18n-es {
	display: none !important;
}

.wp-site-blocks {
	overflow-x: clip;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--vtx-brand);
	font-family: var(--vtx-font-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.12;
}

a {
	color: var(--vtx-accent);
	text-decoration-color: color-mix(in srgb, var(--vtx-accent) 46%, transparent);
	text-underline-offset: 3px;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a:hover,
a:focus-visible {
	color: var(--vtx-brand);
	text-decoration-color: var(--vtx-accent);
}

/* Header and native WP navigation */
.wp-site-blocks > header.wp-block-template-part,
.vtx-header-shell {
	background: rgba(244, 245, 251, 0.92);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid transparent;
	position: sticky;
	top: 0;
	z-index: 60;
	transition: border-color 0.22s ease, background 0.22s ease;
}

.wp-site-blocks > header.wp-block-template-part.vtx-scrolled,
.vtx-header-shell.vtx-scrolled {
	background: rgba(244, 245, 251, 0.98);
	border-bottom-color: var(--vtx-mist);
}

/*
 * El menu movil del header es position:fixed a pantalla completa,
 * asi que el scroll del body queda cubierto visualmente. Aun asi,
 * marcamos el body para que el :root::before o overlays externos
 * (modales de Elementor, etc.) no se rendericen por encima.
 */
body.vtx-mmenu-open {
	/* Sin reglas por ahora; el menu cubre toda la pantalla. */
}

.vtx-header-shell .alignwide,
.wp-site-blocks > header.wp-block-template-part .alignwide {
	margin-inline: auto;
	max-width: var(--vtx-maxw);
	padding-inline: clamp(16px, 2.6vw, 38px);
	padding-right: 92px;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-site-title,
.vtx-header-shell .wp-block-site-title {
	font-family: var(--vtx-font-display);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	margin: 0;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-site-title a,
.vtx-header-shell .wp-block-site-title a {
	color: var(--vtx-brand);
	text-decoration: none;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-navigation-item__content,
.vtx-header-shell .wp-block-navigation-item__content {
	color: var(--vtx-slate-dark);
	font-size: 0.95rem;
	font-weight: 500;
	padding-bottom: 4px;
	position: relative;
	text-decoration: none;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-navigation-item__content::after,
.vtx-header-shell .wp-block-navigation-item__content::after {
	background: var(--vtx-accent);
	bottom: -4px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transition: width 0.26s var(--vtx-ease);
	width: 0;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-navigation-item__content:hover::after,
.wp-site-blocks > header.wp-block-template-part .current-menu-item .wp-block-navigation-item__content::after,
.vtx-header-shell .wp-block-navigation-item__content:hover::after,
.vtx-header-shell .current-menu-item .wp-block-navigation-item__content::after {
	width: 100%;
}

/* Floating language switcher */
.vtx-lang-switch {
	align-items: center;
	background: #fff;
	border: 1px solid var(--vtx-mist);
	box-shadow: 0 10px 24px -18px rgba(43, 40, 70, 0.75);
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	position: fixed;
	right: 16px;
	top: 14px;
	z-index: 120;
}

.vtx-lang {
	color: var(--vtx-slate);
	font-family: var(--vtx-font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	padding: 0.45rem 0.65rem;
	text-decoration: none;
}

.vtx-lang.is-active {
	background: var(--vtx-brand);
	color: #fff;
}

/* Full width wrappers */
.vtx-main {
	margin-top: 0 !important;
	max-width: none !important;
	padding-top: 0 !important;
	width: 100% !important;
}

.vtx-front-page,
.vtx-front-page > .wp-block-post-content,
.vtx-front-page .entry-content {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.vtx-front-page > .wp-block-post-content.has-global-padding,
.vtx-front-page .entry-content.has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.vtx-wrap {
	margin-inline: auto;
	max-width: none;
	padding-inline: clamp(16px, 3.2vw, 52px);
	width: 100%;
}

.vtx-band {
	padding: clamp(52px, 8vw, 84px) 0;
	position: relative;
	width: 100%;
}

.vtx-band-soft {
	background: var(--vtx-mist-2);
	border-top: 1px solid var(--vtx-mist);
	border-bottom: 1px solid var(--vtx-mist);
}

/* Hero */
.vtx-hero {
	background:
		radial-gradient(1000px 520px at 82% -6%, rgba(143, 135, 240, 0.28), transparent 60%),
		radial-gradient(760px 420px at 4% 112%, rgba(108, 99, 214, 0.2), transparent 60%),
		linear-gradient(180deg, var(--vtx-brand) 0%, #332f50 100%);
	color: #edecf8;
	padding: clamp(52px, 10vw, 88px) 0 clamp(42px, 8vw, 74px);
	position: relative;
}

.vtx-hero::after {
	background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 58px 58px;
	content: "";
	inset: 0;
	opacity: 0.45;
	pointer-events: none;
	position: absolute;
	mask-image: radial-gradient(1000px 520px at 50% 16%, #000, transparent 82%);
}

.vtx-hero-grid {
	align-items: center;
	display: grid;
	gap: clamp(24px, 3vw, 46px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	position: relative;
	z-index: 2;
}

.vtx-tagline {
	color: var(--vtx-accent-2);
	font-family: var(--vtx-font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.vtx-hero h1 {
	color: #fff;
	font-size: clamp(2rem, 5.2vw, 3.9rem);
	margin: 0 0 16px;
}

.vtx-hero h1 .hl {
	color: var(--vtx-accent-2);
}

.vtx-lead {
	color: #cbc8e8;
	font-size: clamp(1rem, 1.9vw, 1.16rem);
	margin-bottom: 18px;
	max-width: 58ch;
}

.vtx-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.vtx-btn {
	align-items: center;
	border: 1px solid transparent;
	display: inline-flex;
	font-family: var(--vtx-font-display);
	font-size: 0.96rem;
	font-weight: 600;
	justify-content: center;
	line-height: 1;
	padding: 0.82rem 1.2rem;
	text-decoration: none;
	transition: transform 0.2s var(--vtx-ease), box-shadow 0.2s var(--vtx-ease), background-color 0.2s ease, border-color 0.2s ease;
	white-space: nowrap;
}

.vtx-btn:hover {
	transform: translateY(-1px);
}

.vtx-btn-primary {
	background: linear-gradient(135deg, var(--vtx-accent), #584fc6);
	box-shadow: 0 10px 26px -14px rgba(108, 99, 214, 0.82);
	color: #fff;
}

.vtx-btn-primary:hover {
	box-shadow: 0 14px 30px -16px rgba(108, 99, 214, 0.95);
	color: #fff;
}

.vtx-btn-ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.34);
	color: #efeeff;
}

.vtx-btn-ghost:hover {
	border-color: var(--vtx-accent-2);
	color: #fff;
}

.vtx-btn-light {
	background: #fff;
	color: var(--vtx-brand);
}

.vtx-btn-light:hover {
	color: var(--vtx-brand);
}

.vtx-btn-ghost.on-dark {
	color: #e9e7ff;
}

.vtx-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vtx-trust li {
	align-items: baseline;
	color: #a29ec8;
	display: inline-flex;
	font-family: var(--vtx-font-mono);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vtx-trust li + li::before {
	color: #807ab4;
	content: "/";
	font-weight: 700;
	margin-right: 8px;
}

.vtx-hero-visual {
	position: relative;
}

.vtx-browser {
	background: #2b2846;
	border: 1px solid rgba(255, 255, 255, 0.14);
	overflow: hidden;
}

.vtx-browser-bar {
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	gap: 8px;
	padding: 10px 12px;
}

.vtx-browser-bar span {
	background: rgba(255, 255, 255, 0.24);
	border-radius: 50%;
	height: 11px;
	width: 11px;
}

.vtx-browser-bar p {
	background: rgba(255, 255, 255, 0.07);
	color: #ada9d3;
	font-family: var(--vtx-font-mono);
	font-size: 0.69rem;
	margin: 0 0 0 8px;
	padding: 4px 10px;
}

.vtx-browser img {
	background: #fff;
	display: block;
	width: 100%;
}

.vtx-kpi {
	align-items: flex-start;
	background: #fff;
	bottom: -12px;
	box-shadow: 0 22px 40px -26px rgba(0, 0, 0, 0.5);
	color: var(--vtx-brand);
	display: grid;
	gap: 4px;
	max-width: 260px;
	padding: 11px 12px;
	position: absolute;
	right: -10px;
}

.vtx-kpi strong {
	color: var(--vtx-positive);
	font-family: var(--vtx-font-display);
	font-size: 1.45rem;
	line-height: 1;
}

.vtx-kpi span {
	color: var(--vtx-slate);
	font-family: var(--vtx-font-mono);
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Content sections */
.vtx-section-head {
	margin: 0 0 36px;
	max-width: 980px;
}

.vtx-section-head h2 {
	font-size: clamp(1.7rem, 3.4vw, 2.65rem);
	margin: 0 0 10px;
}

.vtx-section-head p {
	color: var(--vtx-slate);
	font-size: 1.05rem;
	margin: 0;
}

.vtx-pillars,
.vtx-features {
	display: grid;
	gap: 16px;
}

.vtx-pillars {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vtx-card,
.vtx-feature {
	background: transparent;
	border: 0;
	border-left: 3px solid color-mix(in srgb, var(--vtx-accent) 52%, #b9b6d8);
	box-shadow: none;
	min-height: 0;
	padding: 12px 0 12px 14px;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.vtx-card:hover,
.vtx-feature:hover {
	border-left-color: var(--vtx-accent);
	transform: translateY(-1px);
}

.vtx-card h3,
.vtx-feature h3 {
	font-size: 1.1rem;
	margin: 0 0 6px;
}

.vtx-card p,
.vtx-feature p {
	color: var(--vtx-slate);
	font-size: 0.95rem;
	margin: 0;
}

.vtx-features {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vtx-feature::before {
	display: none;
}

.vtx-feature-cat {
	color: var(--vtx-accent);
	font-family: var(--vtx-font-mono);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.vtx-ecosystem {
	background: transparent;
	border: 0;
	padding: 0;
}

.vtx-ecosystem img {
	display: block;
	width: 100%;
}

.vtx-pricing-band {
	background: linear-gradient(180deg, #342f51 0%, #2d2947 100%);
	color: #e6e4fb;
}

.vtx-pricing-card {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.vtx-pricing-head h2 {
	color: #fff;
	font-size: clamp(1.8rem, 3vw, 2.35rem);
	margin: 0 0 10px;
}

.vtx-pricing-head p {
	color: #c7c4e5;
	margin: 0 0 18px;
}

.vtx-price-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 20px;
}

.vtx-price-tile {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.18);
	padding: 16px;
}

.vtx-price-tile small {
	color: #aaa6cf;
	font-family: var(--vtx-font-mono);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.vtx-price-tile strong {
	color: #fff;
	display: block;
	font-family: var(--vtx-font-display);
	font-size: 1.85rem;
	font-weight: 700;
	line-height: 1.05;
	margin-top: 8px;
}

.vtx-pricing-note {
	color: #bcb8de;
	font-size: 0.9rem;
	margin: 8px 0 0;
}

.vtx-links-grid {
	align-items: center;
	border-top: 1px solid var(--vtx-mist);
	display: flex;
	flex-wrap: wrap;
	gap: 9px 20px;
	padding-top: 20px;
}

.vtx-links-grid a {
	color: var(--vtx-slate-dark);
	font-family: var(--vtx-font-body);
	font-size: 0.98rem;
	font-weight: 600;
	padding: 0;
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--vtx-accent) 34%, transparent);
	text-underline-offset: 4px;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.vtx-links-grid a:hover {
	color: var(--vtx-accent);
	text-decoration-color: var(--vtx-accent);
}

/* Interior pages: full width, no boxed card */
.vtx-page-shell {
	padding: clamp(30px, 5.2vw, 54px) clamp(12px, 2vw, 24px) clamp(44px, 8vw, 78px);
	width: 100%;
}

.vtx-page-shell .vtx-page-head,
.vtx-page-shell .vtx-page-content {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

.vtx-page-shell .wp-block-post-content,
.vtx-page-shell .wp-block-post-content > *,
.vtx-page-shell .wp-block-post-content .wp-block-group,
.vtx-page-shell .wp-block-post-content .wp-block-columns,
.vtx-page-shell .wp-block-post-content .wp-block-column,
.vtx-page-shell .wp-block-post-content .wp-block-cover,
.vtx-page-shell .wp-block-post-content .wp-block-media-text {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100%;
}

.vtx-page-shell .vtx-page-head {
	margin-bottom: 14px;
}

.vtx-page-shell .vtx-page-head .wp-block-post-title {
	font-size: clamp(2rem, 4vw, 3rem);
	margin: 0;
}

.vtx-page-shell .vtx-page-content {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.vtx-page-shell .entry-content > *:first-child {
	margin-top: 0;
}

.vtx-page-shell .entry-content h2 {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	margin-top: 30px;
}

.vtx-page-shell .entry-content h3 {
	font-size: 1.2rem;
	margin-top: 20px;
}

.vtx-page-shell .entry-content p,
.vtx-page-shell .entry-content li {
	color: var(--vtx-slate-dark);
	font-size: 1.03rem;
}

.vtx-page-shell .entry-content ul,
.vtx-page-shell .entry-content ol {
	padding-left: 1.2rem;
}

.vtx-page-shell .entry-content a {
	font-weight: 600;
}

/* Elementor compatibility: full width with short lateral text margins. */
body.vtx-elementor .vtx-page-head {
	display: none;
}

body.vtx-elementor .vtx-page-shell {
	padding: 0;
}

body.vtx-elementor .vtx-page-shell .vtx-page-content {
	padding: 0;
}

/*
 * El layout de flujo de WordPress aplica `--wp--style--block-gap` (19.2px)
 * entre bloques hermanos. Como `.vtx-page-head` sigue en el DOM aunque este
 * oculto, `.vtx-page-content` deja de ser `:first-child` y recibe un
 * margin-top que abre un hueco sobre la landing. Lo anulamos.
 */
body.vtx-elementor .vtx-page-shell .vtx-page-content,
body.vtx-elementor .vtx-page-shell .vtx-page-content > *,
body.vtx-elementor .vtx-page-shell .wp-block-post-content > *:first-child {
	margin-top: 0 !important;
}

body.vtx-elementor .vtx-page-shell .elementor,
body.vtx-elementor .vtx-page-shell .elementor-section,
body.vtx-elementor .vtx-page-shell .elementor-container,
body.vtx-elementor .vtx-page-shell .e-con,
body.vtx-elementor .vtx-page-shell .e-con-inner {
	max-width: none;
	width: 100%;
}

body.vtx-elementor .vtx-page-shell .elementor-section.elementor-section-boxed > .elementor-container,
body.vtx-elementor .vtx-page-shell .e-con-boxed > .e-con-inner {
	max-width: none;
	padding-inline: clamp(12px, 2vw, 24px);
	width: 100%;
}

body.vtx-elementor .vtx-page-shell .elementor-section.elementor-section-full_width > .elementor-container,
body.vtx-elementor .vtx-page-shell .e-con-full > .e-con-inner {
	max-width: none;
	padding-inline: 0;
	width: 100%;
}

/* Footer component */
.vtx-footer-shell {
	background: var(--vtx-brand);
	color: #cbc8e8;
	margin-top: 0;
}

.vtx-footer-shell a {
	color: #f4f3ff;
	text-decoration-color: rgba(255, 255, 255, 0.35);
}

.vtx-footer-main {
	padding-top: clamp(42px, 7vw, 64px);
}

.vtx-footer-grid {
	display: grid;
	gap: 30px;
	grid-template-columns: 1.3fr 1fr 1fr 1fr;
	padding-bottom: 30px;
}

.vtx-footer-brand {
	max-width: none;
}

.vtx-footer-logo,
.vtx-footer-shell .wp-block-site-title {
	color: #fff;
	font-family: var(--vtx-font-display);
	font-size: 1.9rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 12px;
	text-decoration: none;
}

.vtx-footer-brand p {
	color: #b9b6d8;
	font-size: 1rem;
	margin: 0 0 12px;
}

.vtx-footer-brand .vtx-footer-logo {
	color: #fff;
	display: inline-flex;
	align-items: center;
	font-family: var(--vtx-font-display);
	font-size: 1.55rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
	margin: 0 0 14px;
}

.vtx-footer-brand .vtx-footer-logo::before {
	content: "";
	background: #fff;
	display: inline-block;
	height: 22px;
	margin-right: 10px;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path fill='black' d='M3 27V5h4l9 14V5h4v22h-4L7 13v14H3zm21-22h4v22h-4V5z'/></svg>") no-repeat center / contain;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path fill='black' d='M3 27V5h4l9 14V5h4v22h-4L7 13v14H3zm21-22h4v22h-4V5z'/></svg>") no-repeat center / contain;
	width: 22px;
}

.vtx-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
}

.vtx-footer-social a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.32);
	color: #fff;
	display: inline-flex;
	height: 38px;
	justify-content: center;
	text-decoration: none;
	width: 38px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.vtx-footer-social a:hover,
.vtx-footer-social a:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	border-color: var(--vtx-accent-2);
	color: #fff;
}

.vtx-footer-social svg {
	display: block;
	fill: currentColor;
	height: 16px;
	width: 16px;
}

.vtx-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.vtx-footer-col ul li + li {
	margin-top: 8px;
}

.vtx-footer-mail {
	color: #fff;
	font-family: var(--vtx-font-mono);
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-underline-offset: 4px;
}

.vtx-footer-col h3 {
	color: #bcb8dd;
	font-family: var(--vtx-font-mono);
	font-size: 0.71rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.vtx-footer-col .wp-block-navigation,
.vtx-footer-col .wp-block-page-list,
.vtx-footer-col .wp-block-navigation__container {
	display: block;
	padding-left: 0;
}

.vtx-footer-col .wp-block-navigation-item,
.vtx-footer-col .wp-block-pages-list__item {
	margin-bottom: 8px;
	list-style: none;
}

.vtx-footer-col .wp-block-navigation-item__content,
.vtx-footer-col .wp-block-pages-list__item__link {
	color: #f4f3ff;
	display: inline;
	font-size: 0.96rem;
	font-weight: 600;
	line-height: 1.5;
	padding: 0;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.2);
	text-underline-offset: 4px;
}

.vtx-footer-bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: #b1add2;
	display: flex;
	font-size: 0.84rem;
	gap: 12px;
	justify-content: space-between;
	padding: 14px 0 18px;
}

.vtx-footer-bottom p {
	margin: 0;
}

.vtx-footer-shell a:hover,
.vtx-footer-shell a:focus-visible {
	color: #fff;
	text-decoration-color: rgba(255, 255, 255, 0.58);
}

/* Reveal animation */
.vtx-reveal {
	opacity: 1;
	transform: none;
}

.vtx-js .vtx-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.5s var(--vtx-ease), transform 0.5s var(--vtx-ease);
}

.vtx-js .vtx-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 1200px) {
	.vtx-header-shell .alignwide,
	.wp-site-blocks > header.wp-block-template-part .alignwide {
		padding-right: 0;
	}

	.vtx-features {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vtx-footer-grid {
		grid-template-columns: 1.2fr 1fr 1fr;
	}
}

@media (max-width: 992px) {
	.vtx-lang-switch {
		top: 76px;
	}

	.vtx-hero-grid {
		grid-template-columns: 1fr;
	}

	.vtx-pillars,
	.vtx-features {
		grid-template-columns: 1fr 1fr;
	}

	.vtx-price-grid {
		grid-template-columns: 1fr;
	}

	.vtx-kpi {
		bottom: auto;
		margin-top: 12px;
		max-width: 260px;
		position: static;
		right: auto;
	}

	.vtx-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 782px) {
	.vtx-wrap,
	.vtx-header-shell .alignwide,
	.wp-site-blocks > header.wp-block-template-part .alignwide {
		padding-inline: 16px;
	}

	.vtx-band {
		padding: 58px 0;
	}

	.vtx-hero {
		padding: 56px 0 44px;
	}

	.vtx-hero h1 {
		font-size: clamp(1.9rem, 9vw, 2.8rem);
	}

	.vtx-lead {
		font-size: 1.02rem;
	}

	.vtx-btn {
		flex: 1 1 100%;
	}

	.vtx-pillars,
	.vtx-features,
	.vtx-price-grid,
	.vtx-footer-grid {
		grid-template-columns: 1fr;
	}

	.vtx-links-grid {
		gap: 8px 14px;
		padding-top: 16px;
	}

	.vtx-page-shell {
		padding: 38px 14px 56px;
	}

	.vtx-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		font-size: 0.8rem;
	}

	.vtx-lang-switch {
		bottom: 10px;
		right: 10px;
		top: auto;
	}

	.vtx-lang {
		font-size: 0.7rem;
		padding: 0.4rem 0.62rem;
	}
}