/* Reserved for isolated compatibility fixes. Keep reusable system rules in the
 * token, base, component, layout, or responsive files instead. */

/*
 * Astra's alignfull calculation uses the layout viewport, which includes the
 * scrollbar width. Clip that fractional gutter so full-bleed pattern sections
 * reach the visible viewport without creating a horizontal scroll track.
 */
html,
body {
	overflow-x: clip;
}

/* Home 460 hero context. The semantic hook is stored on the Gutenberg group,
 * so the approved treatment survives block reordering. */
.vitamina-home-hero > .wp-block-columns,
.page-id-4 #casos-de-exito > .wp-block-columns,
.page-id-4 #soluciones > .wp-block-columns,
.page-id-4 .entry-content > .wp-block-group:nth-child(5) > .wp-block-columns,
.page-id-4 #trayectoria > .wp-block-columns,
.page-id-4 .entry-content > .wp-block-group:nth-child(9) > .wp-block-columns,
.page-id-4 #blog > .wp-block-columns,
.page-id-4 .entry-content > .wp-block-group:nth-child(12) > .wp-block-columns {
	width: min(100%, var(--vitamina-astra-content-width));
	margin-inline: auto;
}
.vitamina-home-hero > .wp-block-columns { align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.vitamina-home-hero .hero-stats small { display: inline-block; max-width: 10rem; color: rgba(255,255,255,.78); font-size: .8rem; line-height: 1.35; }
.vitamina-home-hero > .wp-block-columns > .wp-block-column:last-child > .wp-block-group { position: relative; border: 1px solid rgba(255,255,255,.42); background: #fff !important; box-shadow: 0 24px 48px rgba(2,14,48,.28) !important; }
.page-id-4 .entry-content > .wp-block-group:nth-child(2) > p { margin-bottom: 1.5rem; font-weight: 700; }
.page-id-4 .entry-content > .wp-block-group:nth-child(2) .is-style-vitamina-logo-contain img { filter: grayscale(1); opacity: .82; }
.page-id-4 #casos-de-exito .wp-block-column > .wp-block-group,
.page-id-4 #soluciones .wp-block-column > .wp-block-group,
.page-id-4 #blog .home-resource-card { height: 100%; border: 1px solid rgba(15,26,48,.06); box-shadow: 0 14px 34px rgba(15,26,48,.1) !important; }
.page-id-4 #casos-de-exito .wp-block-column > .wp-block-group { padding: .75rem .75rem 1.2rem !important; }
.page-id-4 #casos-de-exito .wp-block-image img,
.page-id-4 #blog .home-resource-card .wp-block-image img { aspect-ratio: 1.55; border-radius: 14px; object-fit: cover; }
.page-id-4 #soluciones > .wp-block-columns { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 2rem); }
.page-id-4 #soluciones > .wp-block-columns > .wp-block-column { width: auto !important; flex-basis: auto !important; min-width: 0; }
.page-id-4 #soluciones > .wp-block-columns > .wp-block-column > .wp-block-group { position: relative; min-height: 100%; padding: 3.2rem 1.25rem 1.25rem !important; background: #fff; }
.page-id-4 #soluciones > .wp-block-columns > .wp-block-column > .wp-block-group::after { position: absolute; top: 1.1rem; right: 1.1rem; color: #cdd6ea; content: counter(solution-card, decimal-leading-zero); counter-increment: solution-card; font-family: Kanit, sans-serif; font-size: 1.35rem; font-weight: 700; }
.page-id-4 #soluciones > .wp-block-columns { counter-reset: solution-card; }
.page-id-4 .home-solution-icon { width: 2.9rem; height: 2.9rem; margin: 0 0 1.25rem; padding: .62rem; border-radius: 12px; background: #eef6ff; }
.page-id-4 #soluciones > .home-solutions-extra,
.page-id-4 #soluciones > .wp-block-group.home-solutions-extra { width: min(100%, var(--vitamina-astra-content-width)); margin: 1.5rem auto 0; border: 1px solid rgba(0,98,255,.08); box-shadow: var(--vitamina-astra-shadow-subtle); }
.page-id-4 .entry-content > .wp-block-group:nth-child(5) > .wp-block-columns { align-items: center; }
.page-id-4 .home-partner-visual { max-width: 24rem; margin-top: 1.5rem; border-radius: 20px; box-shadow: 0 18px 35px rgba(2,14,48,.24); }
.page-id-4 .home-partner-visual img { aspect-ratio: 1.75; border-radius: 20px; object-fit: cover; }
.page-id-4 #proceso > .wp-block-columns { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)); gap: clamp(1rem,2.2vw,2rem); }
.page-id-4 #proceso .wp-block-column { min-width: 0; }
.page-id-4 #proceso .wp-block-column > .wp-block-group { position: relative; min-height: 100%; padding-top: 2rem !important; border-top: 5px solid #09b4e8; box-shadow: 0 10px 24px rgba(15,26,48,.07) !important; }
.page-id-4 #proceso .wp-block-column:nth-child(2) > .wp-block-group { border-top-color: #904994; }
.page-id-4 #proceso .wp-block-column:nth-child(3) > .wp-block-group { border-top-color: #ff5722; }
.page-id-4 #proceso .wp-block-column:nth-child(4) > .wp-block-group { border-top-color: #9fc335; }
.page-id-4 #paid-media { background: #081225 !important; background-image: radial-gradient(circle at 94% 16%, rgba(0,98,255,.24), transparent 38%) !important; }
.page-id-4 #paid-media > .wp-block-columns { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(1rem,2.2vw,2rem); margin-top: 2.5rem; }
.page-id-4 #paid-media > .wp-block-columns > .wp-block-column { padding: clamp(1.25rem,2vw,2rem); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(41,62,99,.55); }
.page-id-4 #trayectoria > .wp-block-columns { align-items: center; }
.page-id-4 .home-trajectory-photo img { aspect-ratio: 1.5; border-radius: 20px; object-fit: cover; }
.page-id-4 #trayectoria .home-trajectory-partners { width: min(100%, var(--vitamina-astra-content-width)); margin: 2rem auto 0; }
.page-id-4 .home-partner-ecosystem img { width: 100%; max-height: 8rem; object-fit: contain; object-position: left center; }
.page-id-4 #trayectoria > .wp-block-columns > .wp-block-column:last-child > .wp-block-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.page-id-4 #trayectoria > .wp-block-columns > .wp-block-column:last-child > .wp-block-group > p { margin: 0; color: #475569 !important; font-family: "Reddit Sans", sans-serif; font-size: .82rem !important; line-height: 1.35 !important; text-align: center; }
.page-id-4 #trayectoria > .wp-block-columns > .wp-block-column:last-child > .wp-block-group > p strong { display: block; margin-bottom: .3rem; color: #0062ff; font-family: Kanit, sans-serif; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1; }
.page-id-4 .entry-content > .wp-block-group:nth-child(9) > .wp-block-columns { align-items: stretch; }
.page-id-4 .entry-content > .wp-block-group:nth-child(9) > .wp-block-columns > .wp-block-column { padding: clamp(1.5rem,3vw,2.75rem); border-radius: 20px; }
.page-id-4 .entry-content > .wp-block-group:nth-child(9) > .wp-block-columns > .wp-block-column:first-child { background: #fff; box-shadow: 0 10px 24px rgba(15,26,48,.08); }
.page-id-4 .entry-content > .wp-block-group:nth-child(9) > .wp-block-columns > .wp-block-column:last-child { background: #081225; color: #fff; }
.page-id-4 .entry-content > .wp-block-group:nth-child(9) > .wp-block-columns > .wp-block-column:last-child p { color: rgba(255,255,255,.86) !important; }
.page-id-4 #blog > .wp-block-columns { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(1rem,2.2vw,2rem); }
.page-id-4 #blog .home-resource-card { padding: .75rem 1rem 1.35rem !important; }
.page-id-4 #contacto-preparacion > .wp-block-details { display: inline-flex; width: calc(33.333% - 1.2rem); margin: 1.5rem .5rem 0; padding: 1.35rem; vertical-align: top; border: 1px solid rgba(0,98,255,.08); border-radius: 16px; background: #fff; box-shadow: var(--vitamina-astra-shadow-card); }

/* The final CTA already owns its internal spacing; remove only Astra's
 * outer primary-column gap before the global footer on Home 460. */
body.page-id-4.ast-plain-container.ast-no-sidebar #primary {
	margin-bottom: 0;
}

/* Header 462: keep the approved glass header aligned to the same content
 * measure as the site while using the child theme's locally loaded type. */
@font-face {
	font-family: "Material Symbols Outlined";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("/wp-content/themes/vitamina-astra-clean/assets/fonts/MaterialSymbolsOutlined-500.ttf") format("truetype");
}

.vo[data-vo-root],
.vo[data-vo-root] button,
.vo[data-vo-root] a,
.vo[data-vo-drawer-root],
.vo[data-vo-drawer-root] button,
.vo[data-vo-drawer-root] a {
	font-family: "Reddit Sans", system-ui, sans-serif;
}

.vo[data-vo-root] .material-symbols-outlined,
.vo[data-vo-drawer-root] .material-symbols-outlined {
	font-family: "Material Symbols Outlined";
}

@media (min-width: 1024px) {
	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] {
		position: relative;
		width: 100%;
		justify-content: center;
	}

	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] > a[href="/contacto.html"] {
		position: absolute;
		right: 0;
	}

	/* The mega menu follows the nav's content edge at every desktop width;
	 * the smaller flyout panels remain positioned by their own parent item. */
	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] > .vo-mm-wrap {
		position: static;
	}

	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] > .vo-mm-wrap > .vo-mm-panel {
		left: 0;
		transform: translate(0, 4px);
	}

	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] > .vo-mm-wrap:hover > .vo-mm-panel,
	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] > .vo-mm-wrap > .vo-mm-trigger[aria-expanded="true"] + .vo-mm-panel {
		transform: translate(0, 0);
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] {
		gap: 1rem;
	}

	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] > .vo-mm-wrap > button,
	.vo[data-vo-root] > .vo-bar > .vo-max-w-6xl > nav[aria-label="Principal"] > .vo-sm-wrap > button {
		padding-inline: .5rem;
	}
}

@media (min-width: 768px) {
	.page-id-4 #trayectoria > .wp-block-columns { display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(1.5rem, 3vw, 3rem); }
	.page-id-4 #trayectoria > .wp-block-columns > .wp-block-column { width: auto !important; flex-basis: auto !important; min-width: 0; }
}

@media (max-width: 1023px) {
	.page-id-4 #soluciones > .wp-block-columns,
	.page-id-4 #proceso > .wp-block-columns { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.page-id-4 #contacto-preparacion > .wp-block-details { width: calc(33.333% - 1.3rem); }
}

@media (max-width: 767px) {
	.vitamina-home-hero > .wp-block-columns,
	.page-id-4 .entry-content > .wp-block-group:nth-child(5) > .wp-block-columns,
	.page-id-4 #trayectoria > .wp-block-columns,
	.page-id-4 .entry-content > .wp-block-group:nth-child(9) > .wp-block-columns,
	.page-id-4 .entry-content > .wp-block-group:nth-child(12) > .wp-block-columns { width: min(100% - 2rem, var(--vitamina-astra-content-width)); }
	.vitamina-home-hero > .wp-block-columns > .wp-block-column:first-child h1 { max-width: 15ch; font-size: clamp(2.35rem, 10vw, 3.2rem); }
	.page-id-4 #soluciones > .wp-block-columns,
	.page-id-4 #proceso > .wp-block-columns,
	.page-id-4 #paid-media > .wp-block-columns,
	.page-id-4 #blog > .wp-block-columns { grid-template-columns: 1fr; }
	.page-id-4 #soluciones > .home-solutions-extra,
	.page-id-4 #soluciones > .wp-block-group.home-solutions-extra { display: flex !important; flex-wrap: wrap !important; gap: 1rem; }
	.page-id-4 #soluciones .home-solutions-extra .wp-block-button,
	.page-id-4 #soluciones .home-solutions-extra .wp-block-button__link { width: 100%; text-align: center; }
	.page-id-4 #contacto-preparacion > .wp-block-details { display: block; width: auto; margin-inline: 0; }
	.page-id-4 .entry-content > .wp-block-group:nth-child(12) .wp-block-button__link { width: 100%; text-align: center; }
	.page-id-4 #trayectoria > .wp-block-columns > .wp-block-column:last-child > .wp-block-group { grid-template-columns: 1fr; gap: .75rem; }
	.page-id-4 #trayectoria > .wp-block-columns > .wp-block-column:last-child > .wp-block-group > p { text-align: left; }
	.page-id-4 #trayectoria > .wp-block-columns > .wp-block-column:last-child > .wp-block-group > p strong { display: inline; margin-right: .35rem; }
}

/* Ajuste puntual de padding vertical para dos secciones del Home, por
 * encima de la regla genérica !important de components.css que fuerza
 * --vo-section-y en todo full-width group de la página. Necesitan
 * selectores igual o más específicos para ganar esa cascada. */
body.page-id-4.vitamina-astra .entry-content > .wp-block-group.alignfull#trayectoria {
	padding-top: var(--wp--preset--spacing--space-2-xl) !important;
	padding-bottom: var(--wp--preset--spacing--space-l) !important;
}
body.page-id-4.vitamina-astra .entry-content > .wp-block-group.alignfull#alianzas {
	padding-top: var(--wp--preset--spacing--space-m) !important;
	padding-bottom: var(--wp--preset--spacing--space-xl) !important;
}

/* Centrar el icono de la flecha "volver arriba" (Astra) dentro de su
 * botón circular; por defecto queda pegado a la esquina superior
 * izquierda en vez de centrado. Afecta a todo el sitio (botón global). */
#ast-scroll-top {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
