/**
 * Custom Styles for Flyware Labs Theme
 * Exportados desde el sitio Next.js (Flyware Labs).
 * Incluye tipografía, layout, componentes y utilidades.
 *
 * @package FlywareLabs
 */

/* ========== FUENTES (alineado al sitio original) ========== */
/* Body y copia: Inter (sans). Títulos y display: Lexend. */
body {
	font-family: var(--font-sans);
}

h1, h2, h3, h4, h5, h6,
.font-display {
	font-family: var(--font-display);
}

p, span, a, li, td, th,
.font-sans {
	font-family: var(--font-sans);
}

/* Enlaces: sin subrayado (ni normal ni hover) */
a,
a:hover,
a:focus {
	text-decoration: none;
}

.font-mono {
	font-family: var(--font-mono);
}

/* Colores de texto semánticos (usan variables de variables.css) */
.text-text-100 { color: var(--color-text-100); }
.text-text-200 { color: var(--color-text-200); }
.text-text-300 { color: var(--color-text-300); }
.text-text-100-alt { color: var(--color-text-100-alt); }
.text-text-200-alt { color: var(--color-text-200-alt); }
.text-text-300-alt { color: var(--color-text-300-alt); }

/* ========== TIPOGRAFÍA (exportada de components.css Next) ========== */
h1, .h1 {
	font-size: var(--text-3xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	text-wrap: balance;
	line-height: 1.25;
}
@media (min-width: 768px) {
	h1, .h1 { font-size: var(--text-5xl); }
}

h2, .h2 {
	font-size: var(--text-2xl);
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-text-100);
	text-wrap: balance;
	line-height: 1.25;
}
@media (min-width: 768px) {
	h2, .h2 { font-size: var(--text-4xl); }
}

h3, .h3 {
	font-size: var(--text-xl);
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-text-100);
	text-wrap: balance;
	line-height: 1.25;
}
@media (min-width: 768px) {
	h3, .h3 { font-size: var(--text-3xl); }
}

h4, .h4 {
	font-size: var(--text-lg);
	font-family: var(--font-display);
	font-weight: 500;
	color: var(--color-text-100);
	text-wrap: balance;
	line-height: 1.25;
}
@media (min-width: 768px) {
	h4, .h4 { font-size: var(--text-2xl); }
}

h5, .h5 {
	font-size: var(--text-lg);
	font-family: var(--font-display);
	font-weight: 500;
	color: var(--color-text-100);
	text-wrap: balance;
	line-height: 1.25;
}

p, .p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.625;
}
@media (min-width: 768px) {
	p, .p { font-size: var(--text-md); }
}

/* Etiquetas pequeñas (header "= flyware labs", abbr PSS/IBE en grid): mono, xs, semibold */
.caps {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: inherit;
}

small, .small {
	font-size: var(--text-sm);
	font-family: var(--font-sans);
	color: var(--color-text-300);
	text-wrap: balance;
}

/* ========== LAYOUT (exportado de components.css Next) ========== */
.flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

.shared-page {
	width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100dvh;
	background-color: var(--color-bg-200);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: calc(var(--spacing, 0.25rem) * 8) calc(var(--spacing, 0.25rem) * 6);
}

.section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 80rem;
}

.content-sm {
	display: flex;
	flex-direction: column;
	padding: 1rem;
	gap: 0.25rem;
}

.content {
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
	gap: 0.5rem;
}

.content-lg {
	display: flex;
	flex-direction: column;
	padding: 2rem;
	gap: 1.5rem;
}

.content-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-border-200);
}

.content-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid var(--color-border-200);
}

.card {
	border-radius: var(--radius-lg);
	border-top-left-radius: 0;
	border: 1px solid var(--color-border-200);
}

.absolute-full {
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
}

/* ========== EFECTOS (glass, hover) ========== */
.glass-100 {
	border-style: var(--tw-border-style, solid);
	border-width: 1px;
	border-color: var(--color-glass-border-100);
	background-color: var(--color-glass-bg-100);
	--tw-backdrop-blur: blur(var(--blur-xl));
	-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
	backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}

.glass-200 {
	border-style: var(--tw-border-style, solid);
	border-width: 1px;
	border-color: var(--color-glass-border-200);
	background-color: var(--color-glass-bg-200);
	--tw-backdrop-blur: blur(var(--blur-xs));
	-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
	backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}

.hover-effect-100 {
	mix-blend-mode: color;
	background: linear-gradient(to top right, var(--color-violet-900), var(--color-neutral-900));
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}
.hover-effect-100:hover {
	opacity: 1;
}

/* ========== LÍNEAS DECORATIVAS (line-t, line-b, line-l, line-r) ========== */
.line-t {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
}
.line-t::before {
	content: '';
	position: absolute;
	height: var(--line-width);
	width: calc(100% + var(--line-offset-start) + var(--line-offset-end));
	left: calc(var(--line-offset-start) * -1);
	background: linear-gradient(to right, var(--color-border-100), var(--color-border-100) 50%, transparent 0, transparent);
	background-size: var(--line-gap) var(--line-width);
}
.line-t::after {
	content: '';
	position: absolute;
	height: var(--line-width);
	width: calc(100% + var(--line-offset-start) + var(--line-offset-end));
	left: calc(var(--line-offset-start) * -1);
	background: linear-gradient(to right, var(--color-bg-100), transparent calc(100% - (100% - var(--line-fade-start))), transparent calc(100% - var(--line-fade-end)), var(--color-bg-100));
}

.line-b {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
}
.line-b::before {
	content: '';
	position: absolute;
	height: var(--line-width);
	width: calc(100% + var(--line-offset-start) + var(--line-offset-end));
	left: calc(var(--line-offset-start) * -1);
	background: linear-gradient(to right, var(--color-border-100), var(--color-border-100) 50%, transparent 0, transparent);
	background-size: var(--line-gap) var(--line-width);
}
.line-b::after {
	content: '';
	position: absolute;
	height: var(--line-width);
	width: calc(100% + var(--line-offset-start) + var(--line-offset-end));
	left: calc(var(--line-offset-start) * -1);
	background: linear-gradient(to right, var(--color-bg-100), transparent calc(100% - (100% - var(--line-fade-start))), transparent calc(100% - var(--line-fade-end)), var(--color-bg-100));
}

.line-l {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 1px;
}
.line-l::before {
	content: '';
	position: absolute;
	width: var(--line-width);
	height: calc(100% + var(--line-offset-start) + var(--line-offset-end));
	top: calc(var(--line-offset-start) * -1);
	background: linear-gradient(to bottom, var(--color-border-100), var(--color-border-100) 50%, transparent 0, transparent);
	background-size: var(--line-width) var(--line-gap);
}
.line-l::after {
	content: '';
	position: absolute;
	width: var(--line-width);
	height: calc(100% + var(--line-offset-start) + var(--line-offset-end));
	top: calc(var(--line-offset-start) * -1);
	background: linear-gradient(to bottom, var(--color-bg-100), transparent calc(100% - (100% - var(--line-fade-start))), transparent calc(100% - var(--line-fade-end)), var(--color-bg-100));
}

.line-r {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 1px;
}
.line-r::before {
	content: '';
	position: absolute;
	width: var(--line-width);
	height: calc(100% + var(--line-offset-start) + var(--line-offset-end));
	top: calc(var(--line-offset-start) * -1);
	background: linear-gradient(to bottom, var(--color-border-100), var(--color-border-100) 50%, transparent 0, transparent);
	background-size: var(--line-width) var(--line-gap);
}
.line-r::after {
	content: '';
	position: absolute;
	width: var(--line-width);
	height: calc(100% + var(--line-offset-start) + var(--line-offset-end));
	top: calc(var(--line-offset-start) * -1);
	background: linear-gradient(to bottom, var(--color-bg-100), transparent calc(100% - (100% - var(--line-fade-start))), transparent calc(100% - var(--line-fade-end)), var(--color-bg-100));
}

/* ========== UTILIDADES (autofill, scrollbar, text-balance) ========== */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
	box-shadow: 0 0 0 1000px var(--color-bg-300) inset !important;
	-webkit-text-fill-color: var(--color-text-200) !important;
	transition: background-color 9999s ease-in-out 0s;
}

.scrollbar-stable {
	scrollbar-gutter: stable both-edges;
}

.text-balance {
	text-wrap: balance;
}

/* ========== SEPARADORES (bloque core) ========== */
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	width: 100px;
	margin: 30px auto;
}

/* ========== CONTENIDO DE ARTÍCULOS (entry-content, flyware-single-content) ========== */
/* Meta de post (fecha, autor) - tamaño más pequeño */
.flyware-post-meta {
	font-size: 13px;
}
.fw-blog-hero-section {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	height: min(550px, 70vh);
	min-height: 260px;
	max-height: 550px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}
.fw-blog-hero-bg {
	position: absolute;
	inset: -30% 0 -30% 0;
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	transform: translate3d(0, var(--fw-hero-parallax-y, 0px), 0) scale(1.2);
	will-change: transform;
}
.fw-blog-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(2, 6, 23, 0.84) 0%, rgba(2, 6, 23, 0.35) 62%, rgba(2, 6, 23, 0.12) 100%);
}
.fw-case-hero-section .fw-blog-hero-overlay {
	background: linear-gradient(to top, rgba(9, 44, 88, 0.9) 0%, rgba(9, 44, 88, 0.38) 58%, rgba(9, 44, 88, 0.12) 100%);
}
.fw-blog-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-top: clamp(3rem, 8vw, 5rem);
	padding-bottom: clamp(1.25rem, 2.8vw, 2rem);
    margin: 0 auto;
}
.fw-blog-hero-meta {
	color: rgba(226, 232, 240, 0.95);
}
.fw-case-hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-bottom: 0.9rem;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	font-weight: 700;
	color: #93c5fd;
	background-color: rgba(30, 58, 138, 0.45);
	border: 1px solid rgba(147, 197, 253, 0.35);
}
.fw-case-hero-kickers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.9rem;
}
.fw-case-hero-section h1 {
	max-width: 30ch;
	text-wrap: balance;
}
.fw-case-hero-section .fw-blog-hero-meta {
	color: rgba(191, 219, 254, 0.98);
}
.dark .fw-blog-hero-bg,
html.dark .fw-blog-hero-bg,
body.dark .fw-blog-hero-bg {
	filter: brightness(0.72) saturate(0.88) contrast(1.05);
}
.dark .fw-blog-hero-overlay,
html.dark .fw-blog-hero-overlay,
body.dark .fw-blog-hero-overlay {
	background: linear-gradient(to top, rgba(2, 6, 23, 0.94) 0%, rgba(2, 6, 23, 0.6) 58%, rgba(2, 6, 23, 0.32) 100%);
}
.dark .fw-case-hero-section .fw-blog-hero-overlay,
html.dark .fw-case-hero-section .fw-blog-hero-overlay,
body.dark .fw-case-hero-section .fw-blog-hero-overlay {
	background: linear-gradient(to top, rgba(2, 14, 38, 0.95) 0%, rgba(2, 14, 38, 0.66) 58%, rgba(2, 14, 38, 0.34) 100%);
}
.dark .fw-case-hero-kicker,
html.dark .fw-case-hero-kicker,
body.dark .fw-case-hero-kicker {
	color: #bfdbfe;
	background-color: rgba(30, 58, 138, 0.36);
	border-color: rgba(147, 197, 253, 0.28);
}
.single-post .site-main .section-content,
.blog .fw-archive-posts .section-content,
.archive .fw-archive-posts .section-content {
	padding-left: clamp(1rem, 4vw, 1.5rem);
	padding-right: clamp(1rem, 4vw, 1.5rem);
}
.single-case .site-main .section-content,
.post-type-archive-case .section-content {
	padding-left: clamp(1rem, 4vw, 1.5rem);
	padding-right: clamp(1rem, 4vw, 1.5rem);
}
@media (max-width: 767px) {
	.fw-blog-hero-section {
		height: 320px;
		max-height: 320px;
	}
	.fw-blog-hero-content {
		padding-top: 2.25rem;
		padding-bottom: 1rem;
	}
}

/* Listas, párrafos y texto en posts, casos de estudio y páginas - Inter */
.flyware-single-post .entry-content,
.flyware-case-single .entry-content,
.flyware-single-post .flyware-single-content,
.flyware-case-single .flyware-single-content,
.flyware-page .entry-content {
	color: var(--color-text-200);
	font-family: 'Inter', var(--font-sans), sans-serif !important;
}

.entry-content ul,
.flyware-single-content ul,
.flyware-page .entry-content ul {
	list-style-type: disc;
	margin: 0 0 1em 0;
	padding-left: 2em;
	font-size: 18px;
}

.entry-content ol,
.flyware-single-content ol,
.flyware-page .entry-content ol {
	list-style-type: decimal;
	margin: 0 0 1em 0;
	padding-left: 2em;
	font-size: 18px;
}

.entry-content li,
.flyware-single-content li,
.flyware-page .entry-content li {
	margin-bottom: 0.5em;
	line-height: 1.625;
	font-size: 18px;
	font-family: 'Inter', var(--font-sans), sans-serif;
}

.entry-content ul ul,
.entry-content ol ul,
.entry-content ul ol,
.entry-content ol ol,
.flyware-single-content ul ul,
.flyware-single-content ol ul,
.flyware-single-content ul ol,
.flyware-single-content ol ol,
.flyware-page .entry-content ul ul,
.flyware-page .entry-content ol ul,
.flyware-page .entry-content ul ol,
.flyware-page .entry-content ol ol {
	margin: 0.5em 0;
}

.entry-content p,
.flyware-single-content p,
.flyware-page .entry-content p {
	margin: 0 0 1em 0;
	line-height: 1.625;
	font-family: 'Inter', var(--font-sans), sans-serif;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.flyware-single-content h1,
.flyware-single-content h2,
.flyware-single-content h3,
.flyware-single-content h4,
.flyware-single-content h5,
.flyware-single-content h6,
.flyware-page .entry-content h1,
.flyware-page .entry-content h2,
.flyware-page .entry-content h3,
.flyware-page .entry-content h4,
.flyware-page .entry-content h5,
.flyware-page .entry-content h6 {
	margin: 1.5em 0 0.5em 0;
	color: var(--color-text-100);
	font-family: var(--font-display);
}

.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.flyware-single-content h1:first-child,
.flyware-single-content h2:first-child,
.flyware-single-content h3:first-child,
.flyware-page .entry-content h1:first-child,
.flyware-page .entry-content h2:first-child,
.flyware-page .entry-content h3:first-child {
	margin-top: 0;
}

.entry-content a,
.flyware-single-content a,
.flyware-page .entry-content a {
	color: var(--color-accent-100, #2F3DF4);
	text-decoration: none;
	font-family: 'Inter', var(--font-sans), sans-serif;
}

.entry-content blockquote,
.flyware-single-content blockquote,
.flyware-page .entry-content blockquote {
	margin: 1em 0;
	padding-left: 1em;
	border-left: 4px solid var(--color-border-200);
	color: var(--color-text-300);
	font-style: italic;
	font-family: 'Inter', var(--font-sans), sans-serif;
}

.entry-content strong,
.flyware-single-content strong,
.flyware-page .entry-content strong {
	font-weight: 600;
	color: var(--color-text-100);
	font-family: 'Inter', var(--font-sans), sans-serif;
}

/* ========== ANIMACIONES DE APARICIÓN AL SCROLL ========== */
/* Solo en frontend: en el editor (block-editor-page) no aplicamos opacity 0 */
body:not(.block-editor-page) .fw-animate-on-scroll {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
	transition-delay: var(--fw-animate-delay, 0ms);
}
body:not(.block-editor-page) .fw-animate-on-scroll.fw-animate-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ========== PÁGINA 404 - BLOQUE COMING SOON ========== */
.fw-404-coming-soon.section-container {
	padding: var(--space-xl) var(--space-lg);
}
.fw-404-coming-soon-inner {
	min-height: 540px;
	padding: var(--space-xl) var(--space-md);
}
.fw-404-coming-soon-inner .flex.flex-col {
	gap: var(--space-md);
}

/* ========== BLOQUES ANCHO COMPLETO (frontend: hero, labs, services) ========== */
.wp-block-flyware-labs-fw-hero-home.alignfull,
.wp-block-flyware-labs-fw-hero-full.alignfull,
.wp-block-flyware-labs-fw-special-case.alignfull,
.wp-block-flyware-labs-fw-labs-home.alignfull,
.wp-block-flyware-labs-fw-services-home.alignfull,
.wp-block-flyware-labs-fw-content-block.alignfull,
.wp-block-flyware-labs-fw-map.alignfull,
.wp-block-flyware-labs-fw-steps-block.alignfull,
.wp-block-flyware-labs-fw-gallery-block.alignfull,
.wp-block-flyware-labs-fw-full-cases-block.alignfull,
.wp-block-flyware-labs-fw-related-posts.alignfull {
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* ========== BLOQUE FW HERO HOME ========== */
.wp-block-flyware-labs-fw-hero-home.section-container,
.flyware-labs-fw-hero-home.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 10px;
	background-color: var(--color-bg-200);
}

/* ========== BLOQUE FW HERO FULL ========== */
.wp-block-flyware-labs-fw-hero-full.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}

.wp-block-flyware-labs-fw-hero-full .fw-hero-full-inner {
	max-width: 83rem;
	margin: 0 auto;
	padding: 0 var(--space-md);
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}

.fw-hero-full-title {
	font-size: clamp(3rem, 6vw, 5.5rem);
	line-height: 1.1;
	font-weight: 800;
	color: #002060;
	margin: 0 0 var(--space-md);
}

.fw-hero-full-emphasis-wrapper {
	position: relative;
	display: inline-block;
}

.fw-hero-full-emphasis {
	color: #2E4BFF;
}

.fw-hero-full-underline {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.35rem;
	height: 0.22rem;
	background-color: #2E4BFF;
	opacity: 0.3;
	border-radius: 9999px;
}

.fw-hero-full-description {
	font-size: clamp(1.1rem, 2vw, 1.5rem);
	line-height: 1.7;
	color: #555;
	max-width: 48rem;
	margin: 0 auto var(--space-xl);
}

.dark .fw-hero-full-title,
html.dark .fw-hero-full-title,
body.dark .fw-hero-full-title {
	color: #f8fafc;
}

.dark .fw-hero-full-emphasis,
html.dark .fw-hero-full-emphasis,
body.dark .fw-hero-full-emphasis {
	color: #ffffff;
}

.dark .fw-hero-full-description,
html.dark .fw-hero-full-description,
body.dark .fw-hero-full-description {
	color: #cbd5e1;
}

.fw-hero-full-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	border-radius: 9999px;
	border: 2px solid #2E4BFF;
	background-color: #f0f4ff;
}

.fw-hero-full-badge-text {
	color: #002060;
	font-weight: 600;
}

.fw-hero-full-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.9rem 2.5rem;
	border-radius: 0.5rem;
	font-size: 1.1rem;
	font-weight: 500;
}

.fw-hero-full-btn-primary {
	background-color: #2E4BFF;
	color: #fff;
	box-shadow: 0 18px 45px rgba(46, 75, 255, 0.4);
}

.fw-hero-full-btn-secondary {
	background-color: transparent;
	color: #002060;
	border: 2px solid #002060;
	box-shadow: 0 12px 30px rgba(0, 32, 96, 0.18);
}

.dark .fw-hero-full-btn-secondary,
html.dark .fw-hero-full-btn-secondary,
body.dark .fw-hero-full-btn-secondary {
	background-color: rgba(30, 64, 175, 0.14);
	color: #bfdbfe;
	border-color: #60a5fa;
	box-shadow: 0 12px 30px rgba(37, 99, 235, 0.28);
}

.dark .fw-hero-full-btn-secondary:hover,
html.dark .fw-hero-full-btn-secondary:hover,
body.dark .fw-hero-full-btn-secondary:hover {
	background-color: rgba(37, 99, 235, 0.24);
	color: #dbeafe;
	border-color: #93c5fd;
}

.fw-hero-full-stat-value {
	font-size: 2.5rem;
	font-weight: 800;
	color: #2E4BFF;
	line-height: 1;
}

.fw-hero-full-stat-label {
	font-size: 0.95rem;
	color: #555;
	margin-top: 0.5rem;
}

.fw-hero-full-logo-sparkle {
	position: absolute;
	top: -0.5rem;
	right: -0.5rem;
	color: #2E4BFF;
	transform-origin: center;
	opacity: 0;
	transform: scale(0.8) rotate(0deg);
}

body:not(.block-editor-page) .fw-animate-on-scroll.fw-hero-full.fw-animate-visible .fw-hero-full-logo-sparkle {
	animation: fw-hero-full-sparkle 900ms ease-out forwards;
}

@keyframes fw-hero-full-sparkle {
	0% {
		opacity: 0;
		transform: scale(0.6) rotate(-20deg);
	}
	60% {
		opacity: 1;
		transform: scale(1.15) rotate(150deg);
	}
	100% {
		opacity: 1;
		transform: scale(1) rotate(180deg);
	}
}

.wp-block-flyware-labs-fw-hero-home .section-content,
.flyware-labs-fw-hero-home .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin: 0 auto;
	gap: var(--space-md);
	min-height: 340px;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-hero-home .section-content,
	.flyware-labs-fw-hero-home .section-content {
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
	}
}

.wp-block-flyware-labs-fw-hero-home .section-content > main,
.flyware-labs-fw-hero-home .section-content > main {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-md);
	flex: 0 1 auto;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-hero-home .section-content > main,
	.flyware-labs-fw-hero-home .section-content > main {
		align-items: flex-start;
	}
}

/* "since 2019" — caps, naranja, padding izquierdo en desktop */
.wp-block-flyware-labs-fw-hero-home .caps.text-orange-500,
.flyware-labs-fw-hero-home .caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-hero-home .caps.text-orange-500.md\\:pl-90,
	.wp-block-flyware-labs-fw-hero-home .caps[class*="pl-90"],
	.flyware-labs-fw-hero-home .caps.text-orange-500.md\\:pl-90,
	.flyware-labs-fw-hero-home .caps[class*="pl-90"] {
		padding-left: 22.5rem;
	}
}

/* Título hero */
.wp-block-flyware-labs-fw-hero-home .section-content h1,
.flyware-labs-fw-hero-home .section-content h1 {
	font-size: var(--text-2xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	line-height: 1.25;
	text-wrap: balance;
	position: relative;
	z-index: 2;
	margin: 0;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-hero-home .section-content h1,
	.flyware-labs-fw-hero-home .section-content h1 {
		font-size: var(--text-5xl);
	}
}

/* Descripción */
.wp-block-flyware-labs-fw-hero-home .section-content > main > p,
.flyware-labs-fw-hero-home .section-content > main > p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.625;
	position: relative;
	z-index: 2;
	margin: 0;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-hero-home .section-content > main > p,
	.flyware-labs-fw-hero-home .section-content > main > p {
		font-size: var(--text-md);
	}
}

/* Contenedor botones + líneas decorativas */
.wp-block-flyware-labs-fw-hero-home .section-content > main > .flex.relative,
.flyware-labs-fw-hero-home .section-content > main > .flex.relative {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-md);
	padding: var(--space-md) var(--space-lg) var(--space-md) 0;
	position: relative;
}

/* Botón principal (Start here) */
.wp-block-flyware-labs-fw-hero-home .section-content a.bg-accent-100,
.flyware-labs-fw-hero-home .section-content a.bg-accent-100 {
	display: inline-flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	height: 3rem;
	padding: 0 1.25rem;
	font-size: var(--text-md);
	font-weight: 500;
	font-family: var(--font-sans);
	background-color: var(--color-accent-100) !important;
	color: var(--color-neutral-050) !important;
	border: 1px solid transparent;
	border-radius: var(--radius-md);
	border-top-left-radius: 0;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.wp-block-flyware-labs-fw-hero-home .section-content a.bg-accent-100:hover,
.flyware-labs-fw-hero-home .section-content a.bg-accent-100:focus,
.flyware-labs-fw-hero-home .section-content a.bg-accent-100:hover,
.flyware-labs-fw-hero-home .section-content a.bg-accent-100:focus {
	background-color: var(--color-accent-200) !important;
	color: var(--color-neutral-050) !important;
}

/* Botón secundario (Let's talk) */
.wp-block-flyware-labs-fw-hero-home .section-content a.bg-accent-bg-200,
.flyware-labs-fw-hero-home .section-content a.bg-accent-bg-200 {
	display: inline-flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	height: 3rem;
	padding: 0 1.25rem;
	font-size: var(--text-md);
	font-weight: 500;
	font-family: var(--font-sans);
	background-color: var(--color-accent-bg-200) !important;
	color: var(--color-text-100) !important;
	border: 1px solid var(--color-border-200);
	border-radius: var(--radius-md);
	border-top-left-radius: 0;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.wp-block-flyware-labs-fw-hero-home .section-content a.bg-accent-bg-200:hover,
.wp-block-flyware-labs-fw-hero-home .section-content a.bg-accent-bg-200:focus,
.flyware-labs-fw-hero-home .section-content a.bg-accent-bg-200:hover,
.flyware-labs-fw-hero-home .section-content a.bg-accent-bg-200:focus {
	background-color: var(--color-accent-bg-100) !important;
	border-color: var(--color-border-100);
	color: var(--color-text-100) !important;
}

/* Imagen hero (avión) — contenedor a la derecha de main, oculta en móvil */
.wp-block-flyware-labs-fw-hero-home .section-content > main + div,
.flyware-labs-fw-hero-home .section-content > main + div {
	display: none;
	position: relative;
	flex: 1;
	justify-content: center;
	align-items: center;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-hero-home .section-content > main + div,
	.flyware-labs-fw-hero-home .section-content > main + div {
		display: flex;
	}
}

.wp-block-flyware-labs-fw-hero-home .section-content img[width="420"],
.flyware-labs-fw-hero-home .section-content img[width="420"] {
	width: 420px;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

/* Líneas decorativas del hero: no bloquean clics y usan variables por defecto */
.wp-block-flyware-labs-fw-hero-home .line-t,
.wp-block-flyware-labs-fw-hero-home .line-b,
.wp-block-flyware-labs-fw-hero-home .line-r,
.wp-block-flyware-labs-fw-hero-home .line-l,
.flyware-labs-fw-hero-home .line-t,
.flyware-labs-fw-hero-home .line-b,
.flyware-labs-fw-hero-home .line-r,
.flyware-labs-fw-hero-home .line-l {
	pointer-events: none;
}
.wp-block-flyware-labs-fw-hero-home .line-l.-left-6,
.flyware-labs-fw-hero-home .line-l.-left-6 {
	left: -1.5rem;
}

/* Hero en single case: ancho completo y layout 50/50 desktop con imagen */
.single-case .wp-block-flyware-labs-fw-hero-home {
	max-width: none !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}
@media (min-width: 768px) {
	.single-case .wp-block-flyware-labs-fw-hero-home .section-content {
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: var(--space-xl) !important;
	}
	/* Texto: 50% del espacio, con min-width:0 para que el texto se ajuste y no desborde */
	.single-case .wp-block-flyware-labs-fw-hero-home .section-content > main {
		flex: 1 1 50% !important;
		min-width: 0 !important;
		max-width: 50% !important;
		align-items: flex-start !important;
	}
	/* Imagen: 50% del espacio, siempre visible en desktop */
	.single-case .wp-block-flyware-labs-fw-hero-home .section-content > main + div {
		display: flex !important;
		flex: 1 1 50% !important;
		min-width: 0 !important;
		justify-content: center !important;
		align-items: center !important;
	}
}

/* Hero en Cases: ocultar líneas decorativas (página cases/casos y casos individuales) */
.page-slug-cases .line-t,
.page-slug-cases .line-b,
.page-slug-cases .line-r,
.page-slug-cases .line-l,
.page-slug-casos .line-t,
.page-slug-casos .line-b,
.page-slug-casos .line-r,
.page-slug-casos .line-l,
.single-case .line-t,
.single-case .line-b,
.single-case .line-r,
.single-case .line-l {
	display: none !important;
}

/* ========== BLOQUE FW LABS HOME (How we work - The Labs) ========== */
/* Mismo fondo que Hero y Services: var(--color-bg-100) */
.wp-block-flyware-labs-fw-labs-home.section-container,
.wp-block-flyware-labs-fw-labs-home.section-container.bg-bg-100,
#labs.section-container,
#labs.section-container.bg-bg-100 {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
	background-color: var(--color-bg-100) !important;
}

.wp-block-flyware-labs-fw-labs-home .section-content,
#labs .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	gap: var(--space-md);
}
.fw-labs-home-header {
	padding: var(--space-xl) var(--space-md);
}
/* Header labs: "= flyware labs" en naranja y padding izquierdo en desktop */
.wp-block-flyware-labs-fw-labs-home header small.caps.text-orange-500,
#labs header small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500, #f97316) !important;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-labs-home header small.caps.text-orange-500.md\:pl-90,
	.wp-block-flyware-labs-fw-labs-home header small.caps[class*="pl-90"],
	#labs header small.caps.text-orange-500.md\:pl-90,
	#labs header small.caps[class*="pl-90"] {
		padding-left: 22.5rem;
	}
}

/* Título h3 */
.wp-block-flyware-labs-fw-labs-home header h3,
#labs header h3 {
	font-size: var(--text-xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	line-height: 1.25;
	margin: 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-labs-home header h3,
	#labs header h3 {
		font-size: var(--text-3xl);
	}
}

/* Pills (Ordering, Offering, Operations, Revenue): JetBrains Mono, text-xs, colores por pill, sin margin */
.wp-block-flyware-labs-fw-labs-home .flex.flex-row.flex-wrap.gap-2 span p,
.wp-block-flyware-labs-fw-labs-home .flex.flex-row.flex-wrap.gap-2 span span,
#labs .flex.flex-row.flex-wrap.gap-2 span p,
#labs .flex.flex-row.flex-wrap.gap-2 span span {
	font-family: var(--font-mono) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	line-height: 1.25;
	color: inherit !important;
	margin: 0 !important;
}

/* Párrafo del bloque labs */
.wp-block-flyware-labs-fw-labs-home .relative.flex.flex-col.items-start .flex.flex-col.flex-1.gap-6 p,
#labs .relative.flex.flex-col.items-start .flex.flex-col.flex-1.gap-6 p,
.wp-block-flyware-labs-fw-labs-home .flex.flex-col.flex-1.gap-6 pt-6.pb-6 p,
#labs .flex.flex-col.flex-1.gap-6.pt-6.pb-6 p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.625;
	margin: 0 0 1rem 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-labs-home .relative.flex.flex-col.items-start .flex.flex-col.flex-1.gap-6 p,
	#labs .relative.flex.flex-col.items-start .flex.flex-col.flex-1.gap-6 p,
	.wp-block-flyware-labs-fw-labs-home .flex.flex-col.flex-1.gap-6.pt-6.pb-6 p,
	#labs .flex.flex-col.flex-1.gap-6.pt-6.pb-6 p {
		font-size: var(--text-md);
	}
}

/* Botón primario (Schedule a meeting) en labs */
.wp-block-flyware-labs-fw-labs-home .section-content a.bg-accent-100,
.wp-block-flyware-labs-fw-labs-home .section-content button.bg-accent-100,
#labs .section-content a.bg-accent-100,
#labs .section-content button.bg-accent-100 {
	display: inline-flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	height: 3rem;
	padding: 0 1.25rem;
	font-size: var(--text-md);
	font-weight: 500;
	font-family: var(--font-sans);
	background-color: var(--color-accent-100) !important;
	color: var(--color-neutral-050) !important;
	border: 1px solid transparent;
	border-radius: var(--radius-md);
	border-top-left-radius: 0;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease;
}
.wp-block-flyware-labs-fw-labs-home .section-content a.bg-accent-100:hover,
.wp-block-flyware-labs-fw-labs-home .section-content button.bg-accent-100:hover,
#labs .section-content a.bg-accent-100:hover,
#labs .section-content button.bg-accent-100:hover {
	background-color: var(--color-accent-200) !important;
	color: var(--color-neutral-050) !important;
}

/* Botón secundario (The method) en labs */
.wp-block-flyware-labs-fw-labs-home .section-content a.bg-accent-bg-200,
#labs .section-content a.bg-accent-bg-200 {
	display: inline-flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	height: 3rem;
	padding: 0 1.25rem;
	font-size: var(--text-md);
	font-weight: 500;
	font-family: var(--font-sans);
	background-color: var(--color-accent-bg-200) !important;
	color: var(--color-text-100) !important;
	border: 1px solid var(--color-border-200);
	border-radius: var(--radius-md);
	border-top-left-radius: 0;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.wp-block-flyware-labs-fw-labs-home .section-content a.bg-accent-bg-200:hover,
#labs .section-content a.bg-accent-bg-200:hover {
	background-color: var(--color-accent-bg-100) !important;
	border-color: var(--color-border-100);
	color: var(--color-text-100) !important;
}

/* Contenedor dos columnas (texto | card) */
.wp-block-flyware-labs-fw-labs-home .relative.flex.flex-col.items-start.md\:gap-12.md\:flex-row,
.wp-block-flyware-labs-fw-labs-home .relative.flex.flex-col.items-start[class*="md:gap-12"][class*="md:flex-row"],
#labs .relative.flex.flex-col.items-start {
	position: relative;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-labs-home .relative.flex.flex-col.items-start.md\:gap-12.md\:flex-row,
	#labs .relative.flex.flex-col.items-start[class*="md:flex-row"] {
		display: flex;
		flex-direction: row;
		gap: 3rem;
		align-items: flex-start;
		padding: var(--space-xl) var(--space-md);
	}
}

/* Líneas decorativas en el bloque labs */
.wp-block-flyware-labs-fw-labs-home .line-t,
.wp-block-flyware-labs-fw-labs-home .line-b,
.wp-block-flyware-labs-fw-labs-home .line-r,
.wp-block-flyware-labs-fw-labs-home .line-l,
#labs .line-t,
#labs .line-b,
#labs .line-r,
#labs .line-l {
	pointer-events: none;
}

.wp-block-flyware-labs-fw-labs-home .line-l.-left-6,
#labs .line-l.-left-6 {
	left: 0;
}
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-labs-home .line-l.-left-6,
	#labs .line-l.-left-6 {
		left: -1.5rem;
	}
}

/* Card de la imagen (glass, borde, esquina recortada) */
.wp-block-flyware-labs-fw-labs-home .card.glass-200,
#labs .card.glass-200 {
	position: relative;
	z-index: 6;
	border: 1px solid var(--color-border-200);
	border-top-left-radius: 0;
}

.wp-block-flyware-labs-fw-labs-home .card .rounded-md.rounded-tl-none,
.wp-block-flyware-labs-fw-labs-home .card img.rounded-md,
#labs .card .rounded-md.rounded-tl-none,
#labs .card img.rounded-md {
	border-top-left-radius: 0;
}

/* Botones: esquina superior izquierda recta */
.wp-block-flyware-labs-fw-labs-home a.rounded-md.rounded-tl-none,
#labs a.rounded-md.rounded-tl-none {
	border-top-left-radius: 0;
}

/* Grid inferior: 4 columnas, ocupa todo el ancho del contenedor */
.wp-block-flyware-labs-fw-labs-home .section-content .grid,
#labs .section-content .grid {
	position: relative;
	width: 100%;
}

.wp-block-flyware-labs-fw-labs-home .section-content .grid > div.relative.flex,
#labs .section-content .grid > div.relative.flex {
	min-width: 0;
}

/* La sección del grid ocupa todo el ancho disponible */
.wp-block-flyware-labs-fw-labs-home .section-content.fw-labs-grid-section,
#labs .section-content.fw-labs-grid-section {
	width: 100%;
	box-sizing: border-box;
}
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-labs-home .section-content.fw-labs-grid-section,
	#labs .section-content.fw-labs-grid-section {
		padding-left: 0;
		padding-right: 0;
	}
}

.wp-block-flyware-labs-fw-labs-home .section-content .grid small.caps.text-orange-500,
#labs .section-content .grid small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}

.wp-block-flyware-labs-fw-labs-home .section-content .grid h5,
#labs .section-content .grid h5 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-text-100);
	margin: 0;
}

/* Tarjetas del grid: borde sutil por defecto, hover con borde y fondo */
.wp-block-flyware-labs-fw-labs-home .section-content .grid .flex-1.overflow-hidden,
#labs .section-content .grid .flex-1.overflow-hidden {
	background-color: transparent;
	border-radius: var(--radius-lg);
	border-top-left-radius: 0;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.wp-block-flyware-labs-fw-labs-home .section-content .grid .flex-1.overflow-hidden:hover,
#labs .section-content .grid .flex-1.overflow-hidden:hover {
	background-color: var(--color-accent-bg-100);
	border-color: var(--color-border-100);
}

/* ========== BLOQUE FW MAP (tarjetas + mapa fondo) ========== */
.wp-block-flyware-labs-fw-map.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}
.wp-block-flyware-labs-fw-map .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}
.wp-block-flyware-labs-fw-map .section-content > div:last-of-type {
	position: relative;
	min-height: 400px;
	width: 100%;
}
/* Panel glass del FW Map: altura fija (fallback si h-[720px] no se genera) */
.wp-block-flyware-labs-fw-map .section-content div.absolute.glass-100 {
	height: 720px;
}
.wp-block-flyware-labs-fw-map .section-content header small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-map .section-content header small.caps.text-orange-500.md\:pl-90,
	.wp-block-flyware-labs-fw-map .section-content header small.caps[class*="pl-90"] {
		padding-left: 22.5rem;
	}
}
.wp-block-flyware-labs-fw-map .section-content header h3 {
	font-size: var(--text-xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	line-height: 1.25;
	margin: 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-map .section-content header h3 {
		font-size: var(--text-3xl);
	}
}
/* Alineación del encabezado del mapa para que small y h3
 * se comporten como en el diseño original (=small | h3)   */
.wp-block-flyware-labs-fw-map .section-content header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.wp-block-flyware-labs-fw-map .section-content header > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
}
@media (min-width: 768px) {

	.wp-block-flyware-labs-fw-map .section-content header > div {
		flex-direction: row;
		align-items: baseline;
		justify-content: flex-end;
		gap: 1rem;
	}
}
.wp-block-flyware-labs-fw-map .section-content header p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.5;
	margin: 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-map .section-content header p {
		font-size: var(--text-md);
	}
}
.wp-block-flyware-labs-fw-map .card,
.wp-block-flyware-labs-fw-map .card.glass-200 {
	border: 1px dotted var(--color-border-200);
}
.wp-block-flyware-labs-fw-map .card:hover {
	border-color: var(--color-border-100);
}
.wp-block-flyware-labs-fw-map .card h4 {
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: 600;
	color: var(--color-text-100);
	margin: 0;
}
.wp-block-flyware-labs-fw-map .fw-map-text-content .line-l.-left-6,
.wp-block-flyware-labs-fw-map .fw-map-text-content .line-l[class*="-left-6"] {
	position: absolute;
	left: -1.5rem;
	pointer-events: none;
}
.wp-block-flyware-labs-fw-map .card p.whitespace-pre-line {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.5;
	margin: 0.5em 0 0 0;
}
.wp-block-flyware-labs-fw-map .fw-map-text-content p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.5;
	margin: 0 0 1em 0;
}
.wp-block-flyware-labs-fw-map .fw-map-text-content p:last-child {
	margin-bottom: 0;
}
.wp-block-flyware-labs-fw-map .fw-map-text-content p .font-mono .text-orange-500,
.wp-block-flyware-labs-fw-map .fw-map-text-content p span.text-orange-500 {
	color: var(--color-orange-500) !important;
	font-family: var(--font-mono);
}
.wp-block-flyware-labs-fw-map .fw-map-text-content p .font-mono .text-blue-500,
.wp-block-flyware-labs-fw-map .fw-map-text-content p span.text-blue-500 {
	color: var(--color-blue-500) !important;
	font-family: var(--font-mono);
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-map .fw-map-text-content p {
		font-size: var(--text-md);
	}
}
.wp-block-flyware-labs-fw-map .card small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}
.wp-block-flyware-labs-fw-map .fw-map-bg img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: right center;
}

/* ========== BLOQUE FW STEPS BLOCK (How to start with labs) ========== */
.wp-block-flyware-labs-fw-steps-block.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}
.wp-block-flyware-labs-fw-steps-block .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}
.wp-block-flyware-labs-fw-steps-block .section-content header small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-steps-block .section-content header small.caps.text-orange-500.md\:pl-90,
	.wp-block-flyware-labs-fw-steps-block .section-content header small.caps[class*="pl-90"] {
		padding-left: 22.5rem;
	}
}
.wp-block-flyware-labs-fw-steps-block .section-content header h3 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-text-100);
	margin: 0;
}
.wp-block-flyware-labs-fw-steps-block .line-t,
.wp-block-flyware-labs-fw-steps-block .line-b,
.wp-block-flyware-labs-fw-steps-block .line-r,
.wp-block-flyware-labs-fw-steps-block .line-l {
	pointer-events: none;
}
.wp-block-flyware-labs-fw-steps-block .section-content .grid,
.wp-block-flyware-labs-fw-steps-block .section-content .fw-steps-block-track {
	position: relative;
	width: 100%;
}
.wp-block-flyware-labs-fw-steps-block .section-content .grid > div.relative.flex,
.wp-block-flyware-labs-fw-steps-block .section-content .fw-steps-block-track > .fw-steps-block-step {
	min-width: 0;
}

/* Mobile: scroll horizontal de pasos */
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-steps-block .fw-steps-block-track {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		gap: 0;
		margin-left: calc(-1 * var(--space-md));
		margin-right: calc(-1 * var(--space-md));
		padding-left: var(--space-md);
		padding-right: var(--space-md);
	}
	.wp-block-flyware-labs-fw-steps-block .fw-steps-block-track > .fw-steps-block-step {
		flex: 0 0 auto;
		min-width: 85vw;
		max-width: 85vw;
		scroll-snap-align: start;
	}
}

/* Desktop con más de 3 pasos: scroll horizontal */
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-steps-block.fw-steps-block--scrollable .fw-steps-block-track {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}
	.wp-block-flyware-labs-fw-steps-block.fw-steps-block--scrollable .fw-steps-block-track > .fw-steps-block-step {
		flex: 0 0 auto;
		min-width: min(22rem, 33%);
		scroll-snap-align: start;
	}
}
.wp-block-flyware-labs-fw-steps-block .section-content .grid small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}
.wp-block-flyware-labs-fw-steps-block .section-content .grid h5 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-text-100);
	margin: 0;
}
.wp-block-flyware-labs-fw-steps-block .section-content .grid .flex-1.overflow-hidden {
	background-color: transparent;
	border: none;
}
.wp-block-flyware-labs-fw-steps-block .section-content .grid .flex-1.overflow-hidden:hover {
	background-color: var(--color-accent-bg-100);
}
.wp-block-flyware-labs-fw-steps-block .section-content .grid small.whitespace-pre-wrap {
	font-size: var(--text-sm);
	color: var(--color-text-100);
	white-space: pre-wrap;
}

/* ========== BLOQUE FW RELATED POSTS (3 últimos al final de single-case y single post) ========== */
.wp-block-flyware-labs-fw-related-posts.section-container,
.fw-related-posts-block.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
	margin: 0 auto;
	background-color: var(--color-bg-200);
}
.wp-block-flyware-labs-fw-related-posts .section-content,
.fw-related-posts-block .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}
.wp-block-flyware-labs-fw-related-posts .section-content .grid,
.fw-related-posts-block .section-content .grid {
	position: relative;
	width: 100%;
	align-items: stretch;
}
/* Cards con altura uniforme */
.wp-block-flyware-labs-fw-related-posts .section-content .grid > .relative.flex,
.fw-related-posts-block .section-content .grid > .relative.flex {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}
.wp-block-flyware-labs-fw-related-posts .section-content .grid > .relative.flex > .relative.flex-1,
.fw-related-posts-block .section-content .grid > .relative.flex > .relative.flex-1 {
	flex: 1;
	min-height: 0;
}
.wp-block-flyware-labs-fw-related-posts .section-content header,
.fw-related-posts-block .section-content header {
	width: 100%;
}
.wp-block-flyware-labs-fw-related-posts .section-content h3,
.fw-related-posts-block .section-content h3 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-text-100);
	margin: 0;
}
.wp-block-flyware-labs-fw-related-posts .section-content header p,
.fw-related-posts-block .section-content header p {
	margin: 0;
	color: var(--color-text-200);
	font-size: var(--text-bs);
}
.wp-block-flyware-labs-fw-related-posts .section-content h5 a,
.fw-related-posts-block .section-content h5 a {
	color: var(--color-text-100) !important;
	text-decoration: none;
}
.wp-block-flyware-labs-fw-related-posts .section-content h5 a:hover,
.fw-related-posts-block .section-content h5 a:hover {
	text-decoration: underline;
	color: var(--color-text-100) !important;
}
.wp-block-flyware-labs-fw-related-posts .section-content h5,
.fw-related-posts-block .section-content h5 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-text-100);
	margin: 0;
}
.wp-block-flyware-labs-fw-related-posts .section-content small.whitespace-pre-wrap,
.fw-related-posts-block .section-content small.whitespace-pre-wrap {
	font-size: var(--text-sm);
	color: var(--color-text-200);
	white-space: pre-wrap;
}
.wp-block-flyware-labs-fw-related-posts .line-t,
.wp-block-flyware-labs-fw-related-posts .line-b,
.wp-block-flyware-labs-fw-related-posts .line-r,
.wp-block-flyware-labs-fw-related-posts .line-l,
.fw-related-posts-block .line-t,
.fw-related-posts-block .line-b,
.fw-related-posts-block .line-r,
.fw-related-posts-block .line-l {
	pointer-events: none;
}
/* Línea superior: ancho completo */
.wp-block-flyware-labs-fw-related-posts .section-content .grid > .line-t,
.fw-related-posts-block .section-content .grid > .line-t {
	grid-column: 1 / -1;
}
/* Mostrar líneas en el bloque related (aunque single-case las oculte en hero) */
.single-case .wp-block-flyware-labs-fw-related-posts .line-t,
.single-case .wp-block-flyware-labs-fw-related-posts .line-b,
.single-case .wp-block-flyware-labs-fw-related-posts .line-r,
.single-case .wp-block-flyware-labs-fw-related-posts .line-l,
.single-case .fw-related-posts-block .line-t,
.single-case .fw-related-posts-block .line-b,
.single-case .fw-related-posts-block .line-r,
.single-case .fw-related-posts-block .line-l {
	display: block !important;
}

/* Etiquetas uniformes (neutral gris) - override entry-content y prose */
.wp-block-flyware-labs-fw-related-posts .fw-cases-tag,
.fw-related-posts-block .fw-cases-tag {
	color: var(--color-text-300) !important;
	background-color: var(--color-bg-300) !important;
}
.wp-block-flyware-labs-fw-related-posts .fw-cases-tag .caps,
.fw-related-posts-block .fw-cases-tag .caps {
	color: inherit !important;
	background-color: transparent !important;
	margin: 0;
}

/* ========== BLOQUE FW CASES SMAL (3 casos dinámicos, look related) ========== */
.wp-block-flyware-labs-fw-cases-small.section-container,
.fw-cases-small-block.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
	margin: 0 auto;
	background-color: var(--color-bg-100);
}
.wp-block-flyware-labs-fw-cases-small .section-content,
.fw-cases-small-block .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}
.wp-block-flyware-labs-fw-cases-small .section-content .grid,
.fw-cases-small-block .section-content .grid {
	position: relative;
	width: 100%;
	align-items: stretch;
}
.wp-block-flyware-labs-fw-cases-small .section-content h3,
.fw-cases-small-block .section-content h3 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-text-100);
	margin: 0;
}
.wp-block-flyware-labs-fw-cases-small .section-content header p,
.fw-cases-small-block .section-content header p {
	margin: 0;
	color: var(--color-text-200);
	font-size: var(--text-bs);
}
.wp-block-flyware-labs-fw-cases-small .section-content h5 a,
.fw-cases-small-block .section-content h5 a {
	color: var(--color-text-100) !important;
	text-decoration: none;
}
.wp-block-flyware-labs-fw-cases-small .section-content h5 a:hover,
.fw-cases-small-block .section-content h5 a:hover {
	text-decoration: underline;
}
.wp-block-flyware-labs-fw-cases-small .section-content small.whitespace-pre-wrap,
.fw-cases-small-block .section-content small.whitespace-pre-wrap {
	font-size: var(--text-sm);
	color: var(--color-text-200);
	white-space: pre-wrap;
}
.wp-block-flyware-labs-fw-cases-small .line-t,
.wp-block-flyware-labs-fw-cases-small .line-b,
.wp-block-flyware-labs-fw-cases-small .line-r,
.wp-block-flyware-labs-fw-cases-small .line-l,
.fw-cases-small-block .line-t,
.fw-cases-small-block .line-b,
.fw-cases-small-block .line-r,
.fw-cases-small-block .line-l {
	pointer-events: none;
}

/* Tags en cases-small: gris por defecto, color solo en hover (igual a cases) */
.wp-block-flyware-labs-fw-cases-small .fw-cases-tag,
.fw-cases-small-block .fw-cases-tag {
	color: var(--color-text-300) !important;
	background-color: var(--color-bg-300) !important;
}
.wp-block-flyware-labs-fw-cases-small .fw-cases-tag .caps,
.fw-cases-small-block .fw-cases-tag .caps {
	color: inherit !important;
	background-color: transparent !important;
	margin-bottom: 0;
}
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="orange"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="orange"],
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="naranja"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="naranja"] {
	color: var(--color-orange-500) !important;
	background-color: var(--color-orange-100) !important;
}
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="blue"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="blue"],
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="azul"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="azul"] {
	color: var(--color-blue-600) !important;
	background-color: var(--color-blue-100) !important;
}
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="green"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="green"],
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="verde"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="verde"] {
	color: var(--color-green-600) !important;
	background-color: var(--color-green-100) !important;
}
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="pink"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="pink"],
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="rosa"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="rosa"] {
	color: var(--color-pink-600) !important;
	background-color: var(--color-pink-100) !important;
}
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="red"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="red"] {
	color: var(--color-red-600) !important;
	background-color: var(--color-red-100) !important;
}
.wp-block-flyware-labs-fw-cases-small .relative.flex:hover .fw-cases-tag[data-tag-color="violet"],
.fw-cases-small-block .relative.flex:hover .fw-cases-tag[data-tag-color="violet"] {
	color: var(--color-violet-600) !important;
	background-color: var(--color-violet-100) !important;
}

/* ========== BLOQUE FW BLOGS SMALL (3 posts, tarjetas + CTA hover) ========== */
.wp-block-flyware-labs-fw-blogs-small.section-container.fw-blogs-small-block,
.fw-blogs-small-block.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
	margin: 0 auto;
}
.wp-block-flyware-labs-fw-blogs-small.section-container.fw-blogs-small-block.bg-bg-100,
.fw-blogs-small-block.section-container.bg-bg-100 {
	background-color: var(--color-bg-100);
}
.wp-block-flyware-labs-fw-blogs-small.section-container.fw-blogs-small-block.bg-bg-200,
.fw-blogs-small-block.section-container.bg-bg-200 {
	background-color: var(--color-bg-200);
}
.wp-block-flyware-labs-fw-blogs-small .fw-blogs-small__inner,
.fw-blogs-small-block .fw-blogs-small__inner {
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}
.wp-block-flyware-labs-fw-blogs-small .fw-blogs-small__header,
.fw-blogs-small-block .fw-blogs-small__header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1.25rem;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blogs-small__title,
.fw-blogs-small-block .fw-blogs-small__title {
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 1.2rem + 1.5vw, 2.5rem);
	font-weight: 700;
	color: var(--color-text-100);
	margin: 0;
	line-height: 1.15;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blogs-small__subtitle,
.fw-blogs-small-block .fw-blogs-small__subtitle {
	margin: 0;
	font-size: var(--text-bs, 1rem);
	color: var(--color-text-200);
	font-weight: 400;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blogs-small__grid,
.fw-blogs-small-block .fw-blogs-small__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	width: 100%;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-blogs-small .fw-blogs-small__grid,
	.fw-blogs-small-block .fw-blogs-small__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.5rem;
	}
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card,
.fw-blogs-small-block .fw-blog-small-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	min-height: 100%;
	padding: 1.75rem 1.5rem;
	border-radius: 1.25rem;
	background-color: var(--color-bg-100);
	border: 1px solid rgba(15, 23, 42, 0.06);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.35s ease, border-color 0.35s ease, transform 0.25s ease;
}
.wp-block-flyware-labs-fw-blogs-small.section-container.bg-bg-100 .fw-blog-small-card,
.fw-blogs-small-block.section-container.bg-bg-100 .fw-blog-small-card {
	background-color: #fff;
	box-shadow: 0 6px 20px rgba(15, 23, 42, 0.07);
}
.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card,
.dark .fw-blogs-small-block .fw-blog-small-card {
	background-color: var(--color-bg-300);
	border-color: rgba(255, 255, 255, 0.08);
}
/* bg-bg-100 fuerza #fff con más especificidad que la regla .dark anterior */
.dark .wp-block-flyware-labs-fw-blogs-small.section-container.bg-bg-100 .fw-blog-small-card,
.dark .fw-blogs-small-block.section-container.bg-bg-100 .fw-blog-small-card,
html.dark .wp-block-flyware-labs-fw-blogs-small.section-container.bg-bg-100 .fw-blog-small-card,
html.dark .fw-blogs-small-block.section-container.bg-bg-100 .fw-blog-small-card,
body.dark .wp-block-flyware-labs-fw-blogs-small.section-container.bg-bg-100 .fw-blog-small-card,
body.dark .fw-blogs-small-block.section-container.bg-bg-100 .fw-blog-small-card {
	background-color: var(--color-bg-300);
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}
.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__cta-label,
.dark .fw-blogs-small-block .fw-blog-small-card__cta-label,
html.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__cta-label,
html.dark .fw-blogs-small-block .fw-blog-small-card__cta-label,
body.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__cta-label,
body.dark .fw-blogs-small-block .fw-blog-small-card__cta-label {
	color: var(--color-blue-400, #60a5fa);
}
.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__arrow-pill,
.dark .fw-blogs-small-block .fw-blog-small-card__arrow-pill,
html.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__arrow-pill,
html.dark .fw-blogs-small-block .fw-blog-small-card__arrow-pill,
body.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__arrow-pill,
body.dark .fw-blogs-small-block .fw-blog-small-card__arrow-pill {
	background-color: rgba(96, 165, 250, 0.18);
	color: var(--color-blue-400, #60a5fa);
}
.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill,
.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:focus-visible .fw-blog-small-card__arrow-pill,
.dark .fw-blogs-small-block .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill,
.dark .fw-blogs-small-block .fw-blog-small-card:focus-visible .fw-blog-small-card__arrow-pill,
html.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill,
html.dark .fw-blogs-small-block .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill,
body.dark .wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill,
body.dark .fw-blogs-small-block .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill {
	background-color: rgba(96, 165, 250, 0.26);
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:hover,
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:focus-visible,
.fw-blogs-small-block .fw-blog-small-card:hover,
.fw-blogs-small-block .fw-blog-small-card:focus-visible {
	transform: translateY(-2px);
	outline: none;
}
.wp-block-flyware-labs-fw-blogs-small[data-hover-glow="violet"] .fw-blog-small-card:hover,
.wp-block-flyware-labs-fw-blogs-small[data-hover-glow="violet"] .fw-blog-small-card:focus-visible,
.fw-blogs-small-block[data-hover-glow="violet"] .fw-blog-small-card:hover,
.fw-blogs-small-block[data-hover-glow="violet"] .fw-blog-small-card:focus-visible {
	border-color: rgba(99, 102, 241, 0.35);
	box-shadow:
		0 0 0 1px rgba(129, 140, 248, 0.25),
		0 12px 40px rgba(99, 102, 241, 0.22),
		0 20px 50px rgba(59, 130, 246, 0.12);
}
.wp-block-flyware-labs-fw-blogs-small[data-hover-glow="blue"] .fw-blog-small-card:hover,
.wp-block-flyware-labs-fw-blogs-small[data-hover-glow="blue"] .fw-blog-small-card:focus-visible,
.fw-blogs-small-block[data-hover-glow="blue"] .fw-blog-small-card:hover,
.fw-blogs-small-block[data-hover-glow="blue"] .fw-blog-small-card:focus-visible {
	border-color: rgba(37, 99, 235, 0.4);
	box-shadow:
		0 0 0 1px rgba(59, 130, 246, 0.3),
		0 12px 36px rgba(37, 99, 235, 0.2);
}
.wp-block-flyware-labs-fw-blogs-small[data-hover-glow="neutral"] .fw-blog-small-card:hover,
.wp-block-flyware-labs-fw-blogs-small[data-hover-glow="neutral"] .fw-blog-small-card:focus-visible,
.fw-blogs-small-block[data-hover-glow="neutral"] .fw-blog-small-card:hover,
.fw-blogs-small-block[data-hover-glow="neutral"] .fw-blog-small-card:focus-visible {
	border-color: rgba(15, 23, 42, 0.12);
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.1);
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__body,
.fw-blogs-small-block .fw-blog-small-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__heading,
.fw-blogs-small-block .fw-blog-small-card__heading {
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 1rem + 0.35vw, 1.35rem);
	font-weight: 700;
	color: var(--color-text-100);
	margin: 0;
	line-height: 1.25;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__excerpt,
.fw-blogs-small-block .fw-blog-small-card__excerpt {
	margin: 0;
	font-size: var(--text-sm, 0.9375rem);
	line-height: 1.5;
	color: var(--color-text-200);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__tags,
.fw-blogs-small-block .fw-blog-small-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.35rem;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__tag,
.fw-blogs-small-block .fw-blog-small-card__tag {
	font-size: 0.75rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background-color: var(--color-bg-300);
	color: var(--color-text-300);
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__cta,
.fw-blogs-small-block .fw-blog-small-card__cta {
	display: inline-flex;
	align-items: center;
	margin-top: 1.25rem;
	gap: 0;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__cta-label,
.fw-blogs-small-block .fw-blog-small-card__cta-label {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--color-blue-600, #2563eb);
	max-width: 0;
	opacity: 0;
	overflow: hidden;
	white-space: nowrap;
	transition: max-width 0.4s ease, opacity 0.3s ease, margin 0.35s ease;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:hover .fw-blog-small-card__cta-label,
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:focus-visible .fw-blog-small-card__cta-label,
.fw-blogs-small-block .fw-blog-small-card:hover .fw-blog-small-card__cta-label,
.fw-blogs-small-block .fw-blog-small-card:focus-visible .fw-blog-small-card__cta-label {
	max-width: 11rem;
	opacity: 1;
	margin-right: 0.5rem;
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__arrow-pill,
.fw-blogs-small-block .fw-blog-small-card__arrow-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background-color: rgba(37, 99, 235, 0.12);
	color: var(--color-blue-600, #2563eb);
	flex-shrink: 0;
	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill,
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:focus-visible .fw-blog-small-card__arrow-pill,
.fw-blogs-small-block .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill,
.fw-blogs-small-block .fw-blog-small-card:focus-visible .fw-blog-small-card__arrow-pill {
	background-color: rgba(37, 99, 235, 0.18);
	transform: translateX(5px);
}
.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__arrow-icon,
.fw-blogs-small-block .fw-blog-small-card__arrow-icon {
	display: block;
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	flex-shrink: 0;
	overflow: visible;
	vector-effect: non-scaling-stroke;
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card,
	.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__cta-label,
	.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card__arrow-pill,
	.fw-blogs-small-block .fw-blog-small-card,
	.fw-blogs-small-block .fw-blog-small-card__cta-label,
	.fw-blogs-small-block .fw-blog-small-card__arrow-pill {
		transition: none;
	}
	.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:hover,
	.fw-blogs-small-block .fw-blog-small-card:hover {
		transform: none;
	}
	.wp-block-flyware-labs-fw-blogs-small .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill,
	.fw-blogs-small-block .fw-blog-small-card:hover .fw-blog-small-card__arrow-pill {
		transform: none;
	}
}

/* ========== BLOQUE FW FULL CASES BLOCK (todos los casos, scroll infinito) ========== */
.wp-block-flyware-labs-fw-full-cases-block.section-container,
.fw-full-cases-block.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}
.wp-block-flyware-labs-fw-full-cases-block .section-content,
.fw-full-cases-block .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}

/* ========== BLOQUE FW SPECIAL CASE ========== */
.wp-block-flyware-labs-fw-special-case.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}

.wp-block-flyware-labs-fw-special-case .fw-special-case-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-lg);
}

.fw-special-case-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-sm);
}

.fw-special-case-kicker {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 1.5rem;
	border-radius: 9999px;
	font-size: var(--text-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.fw-special-case-title {
	font-size: clamp(2.25rem, 4vw, 3rem);
	font-family: var(--font-display);
	font-weight: 800;
	color: var(--color-text-100);
	margin: 0;
}

.fw-special-case-top .fw-special-case-card {
	background-color: var(--color-bg-100);
	border-radius: var(--radius-xl);
	border: 2px solid rgba(46, 75, 255, 0.18);
	padding: 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-height: 100%;
}

.fw-special-case-card-icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	background-color: rgba(46, 75, 255, 0.06);
	color: #2E4BFF;
}

.fw-special-case-card-icon svg {
	width: 1.5rem;
	height: 1.5rem;
}

.fw-special-case-card-title {
	font-size: 1.05rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #2E4BFF;
}

.fw-special-case-card-body {
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--color-text-200);
	margin: 0;
}

.fw-special-case-bottom {
	align-items: stretch;
}

.fw-special-case-main-inner {
	position: relative;
	background-color: #ffffff;
	border-radius: var(--radius-xl);
	border: 2px solid rgba(46, 75, 255, 0.25);
	padding: 2.5rem;
	box-shadow: 0 24px 60px rgba(0, 32, 96, 0.10);
	overflow: hidden;
	min-height: 100%;
}

/* Dark mode para card principal del case */
body.dark .fw-special-case-main-inner,
html.dark .fw-special-case-main-inner {
	background-color: #020617;
	border-color: rgba(148, 163, 184, 0.45);
	box-shadow: 0 26px 60px rgba(15, 23, 42, 0.7);
}
body.dark .fw-special-case-main-title,
html.dark .fw-special-case-main-title {
	color: #e5e7eb;
}
body.dark .fw-special-case-main-body,
html.dark .fw-special-case-main-body,
body.dark .fw-special-case-stat-label,
html.dark .fw-special-case-stat-label {
	color: #9ca3af;
}

.fw-special-case-main-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 1rem;
	border-radius: 9999px;
	font-size: var(--text-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.75rem;
	background-color: rgba(46, 75, 255, 0.08);
	color: #2E4BFF;
}

.fw-special-case-main-title {
	font-size: 1.75rem;
	font-weight: 800;
	color: #002060;
	margin: 0 0 1rem;
}

.fw-special-case-main-body {
	font-size: 1.05rem;
	line-height: 1.8;
	color: var(--color-text-200);
	margin: 0 0 1.5rem;
}

.fw-special-case-main-stats {
	border-top: 2px solid rgba(46, 75, 255, 0.12);
	padding-top: 1.5rem;
	margin-top: 1.5rem;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.fw-special-case-stat-value {
	font-size: 2rem;
	font-weight: 800;
	color: #2E4BFF;
	line-height: 1;
}

.fw-special-case-stat-label {
	font-size: 0.95rem;
	color: var(--color-text-200);
	margin-top: 0.25rem;
}

.fw-special-case-main-cta {
	display: inline-flex;
	margin-top: 1.5rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #2E4BFF;
}

.fw-special-case-experts-inner {
	background-color: #002060;
	border-radius: var(--radius-xl);
	border: 2px solid #002060;
	padding: 2rem 2.25rem;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	box-shadow: 0 26px 60px rgba(0, 16, 96, 0.35);
	min-height: 100%;
}

.fw-special-case-experts-header {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.fw-special-case-experts-icon {
	width: 3rem;
	height: 3rem;
	border-radius: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #8b5cf6;
	color: #fff;
}

.fw-special-case-experts-icon svg {
	width: 1.5rem;
	height: 1.5rem;
}

.fw-special-case-experts-title {
	font-size: 1.25rem;
	font-weight: 800;
	margin: 0;
	color: #ffffff;
}

.fw-special-case-experts-list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.fw-special-case-expert {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 0.9rem 0.4rem;
	border-radius: var(--radius-lg);
	transition: background-color 0.15s ease-out;
}

.fw-special-case-expert:hover {
	background-color: rgba(255, 255, 255, 0.06);
}

.fw-special-case-expert-avatar {
	width: 3rem;
	height: 3rem;
	border-radius: 0.9rem;
	background-color: #8b5cf6;
	flex-shrink: 0;
}

.fw-special-case-expert-avatar svg {
	width: 1.5rem;
	height: 1.5rem;
	margin: 11px;
}

.fw-special-case-expert-name {
	font-weight: 700;
	margin-bottom: 0.15rem;
	font-size: 1.02rem;
}

.fw-special-case-expert-role {
	font-size: 0.9rem;
	font-weight: 600;
	opacity: 0.85;
	margin-bottom: 0.15rem;
}

.fw-special-case-expert-summary {
	font-size: 0.8rem;
	opacity: 0.7;
}

@media (max-width: 767px) {
	.fw-special-case-main-inner {
		padding: 1.75rem;
	}
}

/* Theming por data-theme-color (azul, verde, violeta, rojo) */
.wp-block-flyware-labs-fw-special-case[data-theme-color="green"] .fw-special-case-kicker,
.wp-block-flyware-labs-fw-special-case[data-theme-color="green"] .fw-special-case-main-pill {
	background-color: rgba(34, 197, 94, 0.1);
	color: #16a34a;
}

.wp-block-flyware-labs-fw-special-case[data-theme-color="violet"] .fw-special-case-kicker,
.wp-block-flyware-labs-fw-special-case[data-theme-color="violet"] .fw-special-case-main-pill {
	background-color: rgba(139, 92, 246, 0.12);
	color: #7c3aed;
}

.wp-block-flyware-labs-fw-special-case[data-theme-color="red"] .fw-special-case-kicker,
.wp-block-flyware-labs-fw-special-case[data-theme-color="red"] .fw-special-case-main-pill {
	background-color: rgba(239, 68, 68, 0.12);
	color: #ef4444;
}

/* Tema aplicado a cards superiores y stats según colorTheme */
.wp-block-flyware-labs-fw-special-case[data-theme-color="green"] .fw-special-case-top .fw-special-case-card,
.wp-block-flyware-labs-fw-special-case[data-theme-color="green"] .fw-special-case-main-inner {
	border-color: rgba(34, 197, 94, 0.25);
}
.wp-block-flyware-labs-fw-special-case[data-theme-color="green"] .fw-special-case-card-title,
.wp-block-flyware-labs-fw-special-case[data-theme-color="green"] .fw-special-case-card-icon,
.wp-block-flyware-labs-fw-special-case[data-theme-color="green"] .fw-special-case-stat-value {
	color: #16a34a;
}
.wp-block-flyware-labs-fw-special-case[data-theme-color="green"] .fw-special-case-card-icon {
	background-color: rgba(34, 197, 94, 0.08);
}

.wp-block-flyware-labs-fw-special-case[data-theme-color="violet"] .fw-special-case-top .fw-special-case-card,
.wp-block-flyware-labs-fw-special-case[data-theme-color="violet"] .fw-special-case-main-inner {
	border-color: rgba(139, 92, 246, 0.28);
}
.wp-block-flyware-labs-fw-special-case[data-theme-color="violet"] .fw-special-case-card-title,
.wp-block-flyware-labs-fw-special-case[data-theme-color="violet"] .fw-special-case-card-icon,
.wp-block-flyware-labs-fw-special-case[data-theme-color="violet"] .fw-special-case-stat-value {
	color: #7c3aed;
}
.wp-block-flyware-labs-fw-special-case[data-theme-color="violet"] .fw-special-case-card-icon {
	background-color: rgba(139, 92, 246, 0.08);
}

.wp-block-flyware-labs-fw-special-case[data-theme-color="red"] .fw-special-case-top .fw-special-case-card,
.wp-block-flyware-labs-fw-special-case[data-theme-color="red"] .fw-special-case-main-inner {
	border-color: rgba(239, 68, 68, 0.28);
}
.wp-block-flyware-labs-fw-special-case[data-theme-color="red"] .fw-special-case-card-title,
.wp-block-flyware-labs-fw-special-case[data-theme-color="red"] .fw-special-case-card-icon,
.wp-block-flyware-labs-fw-special-case[data-theme-color="red"] .fw-special-case-stat-value {
	color: #ef4444;
}
.wp-block-flyware-labs-fw-special-case[data-theme-color="red"] .fw-special-case-card-icon {
	background-color: rgba(239, 68, 68, 0.08);
}
.wp-block-flyware-labs-fw-full-cases-block .fw-full-cases-grid,
.fw-full-cases-block .fw-full-cases-grid {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-md);
}
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-full-cases-block .fw-full-cases-grid,
	.fw-full-cases-block .fw-full-cases-grid {
		grid-template-columns: 1fr;
	}
}
/* ========== ARCHIVE POSTS (category, tag, author, index) ========== */
.fw-archive-posts.section-container,
.fw-archive-posts .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}
.fw-archive-posts .fw-archive-posts-grid {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-md);
}
@media (max-width: 767px) {
	.fw-archive-posts .fw-archive-posts-grid {
		grid-template-columns: 1fr;
	}
}
/* ========== BLOQUE FW CASES BLOCK (casos de estudio dinámicos) ========== */
.wp-block-flyware-labs-fw-cases-block.section-container,
.fw-cases-block.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}
.wp-block-flyware-labs-fw-cases-block .section-content,
.fw-cases-block .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}
.wp-block-flyware-labs-fw-cases-block .fw-cases-grid,
.fw-cases-block .fw-cases-grid {
	display: grid;
	width: 100%;
}
.wp-block-flyware-labs-fw-cases-block .fw-cases-grid > div.col-span-full,
.fw-cases-block .fw-cases-grid > div.col-span-full {
	grid-column: 1 / -1;
	width: 100%;
}
/* Mobile: col-span-full debe usar el mismo ancho que el resto de cards */
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid > div.col-span-full,
	.fw-cases-block .fw-cases-grid > div.col-span-full {
		width: 85vw !important;
		min-width: 85vw !important;
		max-width: 85vw !important;
	}
}
/* Flechas de navegación: centradas en los costados del bloque */
.wp-block-flyware-labs-fw-cases-block .fw-cases-nav-btn,
.fw-cases-block .fw-cases-nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-bg-200);
	border: 1px solid var(--color-border-200);
	color: var(--color-text-100);
	cursor: pointer;
	transition: background-color 0.2s, opacity 0.2s;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.dark .wp-block-flyware-labs-fw-cases-block .fw-cases-nav-btn,
.dark .fw-cases-block .fw-cases-nav-btn,
html.dark .wp-block-flyware-labs-fw-cases-block .fw-cases-nav-btn,
html.dark .fw-cases-block .fw-cases-nav-btn {
	background-color: var(--color-bg-300);
	border-color: var(--color-border-200);
}
.wp-block-flyware-labs-fw-cases-block .fw-cases-nav-prev,
.fw-cases-block .fw-cases-nav-prev {
	left: 0.5rem;
}
.wp-block-flyware-labs-fw-cases-block .fw-cases-nav-next,
.fw-cases-block .fw-cases-nav-next {
	right: 0.5rem;
}
.wp-block-flyware-labs-fw-cases-block .fw-cases-nav-btn:hover,
.fw-cases-block .fw-cases-nav-btn:hover {
	background-color: var(--color-accent-bg-200) !important;
}
.wp-block-flyware-labs-fw-cases-block .fw-cases-nav-btn.fw-cases-nav-hidden,
.fw-cases-block .fw-cases-nav-btn.fw-cases-nav-hidden {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
/* Ocultar flechas en desktop (grid 2 columnas, no hay scroll) */
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-cases-block .fw-cases-nav-btn,
	.fw-cases-block .fw-cases-nav-btn {
		display: none !important;
	}
}
/* Mobile: cards con scroll horizontal (solo fw-cases-block, no fw-full-cases-block) */
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-cases-block .fw-cases-nav-wrapper,
	.fw-cases-block:not(.fw-full-cases-block):not(.fw-archive-posts) .fw-cases-nav-wrapper {
		position: relative;
	}
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid,
	.fw-cases-block:not(.fw-full-cases-block):not(.fw-archive-posts) .fw-cases-grid {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		gap: var(--space-md);
		margin-left: calc(-1 * var(--space-md));
		margin-right: calc(-1 * var(--space-md));
		padding-left: var(--space-md);
		padding-right: var(--space-md);
	}
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid > div,
	.fw-cases-block:not(.fw-full-cases-block):not(.fw-archive-posts) .fw-cases-grid > div {
		flex: 0 0 auto;
		min-width: 85vw;
		max-width: 85vw;
		scroll-snap-align: start;
		grid-column: unset;
		width: 85vw;
	}
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid .card,
	.fw-cases-block .fw-cases-grid .card {
		min-height: 100%;
	}
}
/* Hasta 540px: reducir ancho de cards para que el borde derecho se vea completo */
@media (max-width: 540px) {
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid > div,
	.fw-cases-block .fw-cases-grid > div,
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid > div.col-span-full,
	.fw-cases-block .fw-cases-grid > div.col-span-full {
		min-width: min(84vw, calc(100vw - 3rem)) !important;
		max-width: min(84vw, calc(100vw - 3rem)) !important;
		width: min(84vw, calc(100vw - 3rem)) !important;
	}
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid,
	.fw-cases-block .fw-cases-grid {
		scroll-padding-right: var(--space-md);
	}
}
/* Pantallas muy pequeñas (< 380px): aún más margen */
@media (max-width: 380px) {
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid > div,
	.fw-cases-block .fw-cases-grid > div,
	.wp-block-flyware-labs-fw-cases-block .fw-cases-grid > div.col-span-full,
	.fw-cases-block .fw-cases-grid > div.col-span-full {
		min-width: min(82vw, calc(100vw - 2.5rem)) !important;
		max-width: min(82vw, calc(100vw - 2.5rem)) !important;
		width: min(82vw, calc(100vw - 2.5rem)) !important;
	}
}
/* Cards: borde y fondo glass visibles (como localhost:3000) */
.wp-block-flyware-labs-fw-cases-block .card,
.wp-block-flyware-labs-fw-cases-block .card.glass-200,
.fw-cases-block .card,
.fw-cases-block .card.glass-200 {
	border-width: 1px !important;
	border-style: solid !important;
	border-color: var(--color-border-200) !important;
	background-color: var(--color-glass-bg-200) !important;
}
.wp-block-flyware-labs-fw-cases-block .card:hover,
.fw-cases-block .card:hover {
	border-color: var(--color-border-100) !important;
	background-color: var(--color-accent-bg-200) !important;
}
/* Tags: estado normal siempre gris; color solo en hover de la card */
.wp-block-flyware-labs-fw-full-cases-block .fw-cases-tag,
.wp-block-flyware-labs-fw-cases-block .fw-cases-tag,
.fw-full-cases-block .fw-cases-tag,
.fw-cases-block .fw-cases-tag,
.fw-archive-posts .fw-cases-tag {
	color: var(--color-text-300) !important;
	background-color: var(--color-bg-300) !important;
}
.wp-block-flyware-labs-fw-full-cases-block .fw-cases-tag .caps,
.wp-block-flyware-labs-fw-cases-block .fw-cases-tag .caps,
.fw-full-cases-block .fw-cases-tag .caps,
.fw-cases-block .fw-cases-tag .caps,
.fw-archive-posts .fw-cases-tag .caps {
	color: inherit !important;
	background-color: transparent !important;
	margin-bottom: 0;
}
.dark .wp-block-flyware-labs-fw-full-cases-block .fw-cases-tag,
.dark .wp-block-flyware-labs-fw-cases-block .fw-cases-tag,
.dark .fw-full-cases-block .fw-cases-tag,
.dark .fw-cases-block .fw-cases-tag,
.dark .fw-archive-posts .fw-cases-tag,
body.dark .wp-block-flyware-labs-fw-full-cases-block .fw-cases-tag,
body.dark .wp-block-flyware-labs-fw-cases-block .fw-cases-tag,
body.dark .fw-cases-block .fw-cases-tag,
body.dark .fw-archive-posts .fw-cases-tag {
	color: var(--color-text-300) !important;
	background-color: var(--color-bg-300) !important;
}
/* Hover: color solo cuando la card está en hover */
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="orange"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="orange"],
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="naranja"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="naranja"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="orange"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="orange"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="naranja"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="naranja"] {
	color: var(--color-orange-500) !important;
	background-color: var(--color-orange-100) !important;
}
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="blue"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="blue"],
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="azul"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="azul"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="blue"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="blue"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="azul"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="azul"] {
	color: var(--color-blue-600) !important;
	background-color: var(--color-blue-100) !important;
}
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="green"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="green"],
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="verde"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="verde"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="green"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="green"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="verde"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="verde"] {
	color: var(--color-green-600) !important;
	background-color: var(--color-green-100) !important;
}
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="pink"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="pink"],
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="rosa"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="rosa"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="pink"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="pink"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="rosa"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="rosa"] {
	color: var(--color-pink-600) !important;
	background-color: var(--color-pink-100) !important;
}
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="red"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="red"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="red"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="red"] {
	color: var(--color-red-600) !important;
	background-color: var(--color-red-100) !important;
}
.wp-block-flyware-labs-fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="violet"],
.wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="violet"],
.fw-full-cases-block .card:hover .fw-cases-tag[data-tag-color="violet"],
.fw-cases-block .card:hover .fw-cases-tag[data-tag-color="violet"] {
	color: var(--color-violet-600) !important;
	background-color: var(--color-violet-100) !important;
}

/* ========== BLOQUE FW CARDS (Knowledge Hub) ========== */
.wp-block-flyware-labs-fw-cards.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}

.wp-block-flyware-labs-fw-cards .section-content.fw-cards {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-lg);
}

.fw-cards-header {
	text-align: center;
}

.fw-cards-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
	padding: 0.75rem 1.5rem;
	border-radius: 999px;
	border: 2px solid #2E4BFF;
	background-color: #f0f4ff;
}

.fw-cards-kicker-icon svg {
	width: 1.3rem;
	height: 1.3rem;
	color: #2E4BFF;
}

.fw-cards-kicker-label {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2E4BFF;
}

.fw-cards-title {
	font-size: clamp(2.5rem, 5vw, 3.5rem);
	font-weight: 800;
	color: #002060;
	margin: 0 0 0.75rem;
}

.fw-cards-description {
	max-width: 44rem;
	margin: 0 auto;
	font-size: 1.05rem;
	line-height: 1.8;
	color: #555;
}

.fw-cards-grid {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-top: 30px;
}

.fw-cards-mobile-nav {
	display: none;
}

@media (min-width: 768px) {
	.fw-cards-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.fw-cards-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.fw-card {
	position: relative;
	background-color: var(--color-bg-100);
	color: var(--color-text-100);
	border-radius: 1rem;
	padding: 1.5rem;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	cursor: pointer;
	border-width: 2px;
	border-style: solid;
	border-color: #e5e7eb;
	transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
	overflow: hidden;
}

.fw-card:hover {
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16);
	transform: translateY(-3px);
}

.fw-card-top-bar {
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 0.25rem;
	background-color: #2E4BFF;
}

.fw-card-icon-large {
	position: absolute;
	top: 1rem;
	right: 1rem;
	opacity: 0.08;
	color: #2E4BFF;
	transition: opacity 0.2s ease;
}

.fw-card:hover .fw-card-icon-large {
	opacity: 0.14;
}

.fw-card-inner {
	position: relative;
	z-index: 1;
}

.fw-card-icon-pill {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	height: 2.4rem;
	padding: 10px 15px;
	background-color: rgba(46, 75, 255, 0.08);
	color: #2E4BFF;
	border-radius: 999px;
}

.fw-card-icon-pill svg {
	width: 1.35rem;
	height: 1.35rem;
}

.fw-card-category {
	display: inline-flex;
	align-items: center;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	border-radius: 999px;
	padding: 0.45rem 1.2rem;
	width: fit-content;
	justify-content: flex-start;
	margin-top: 0.55rem;
}

.fw-card-title {
	font-size: 1.2rem;
	font-weight: 800;
	color: #002060;
	line-height: 1.35;
	min-height: 3.4rem;
	margin: 1rem 0;
}

.fw-card-summary {
	font-size: 0.95rem;
	line-height: 1.7;
	color: #666666;
}

.dark .fw-cards-title,
html.dark .fw-cards-title,
body.dark .fw-cards-title {
	color: #f8fafc;
}

.dark .fw-cards-description,
html.dark .fw-cards-description,
body.dark .fw-cards-description {
	color: #cbd5e1;
}

.dark .fw-card-title,
html.dark .fw-card-title,
body.dark .fw-card-title {
	color: #e2e8f0;
}

.fw-card-footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: auto;
	border-top: 2px solid rgba(46, 75, 255, 0.12);
	padding-top: 1rem;
}

.fw-card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: #2E4BFF;
	text-decoration: none;
	transition: gap 0.2s ease;
}

.fw-card-link svg {
	width: 1rem;
	height: 1rem;
}

.fw-card-link:hover {
	gap: 0.4rem;
}

/* FW Cards: fondo y texto en modo oscuro (solo para este bloque) */
.dark .wp-block-flyware-labs-fw-cards .fw-card,
html.dark .wp-block-flyware-labs-fw-cards .fw-card,
body.dark .wp-block-flyware-labs-fw-cards .fw-card {
	background-color: var(--color-bg-300);
	color: var(--color-text-050);
}

.dark .wp-block-flyware-labs-fw-cards .fw-card-summary,
.dark .wp-block-flyware-labs-fw-cards .fw-cards-description,
html.dark .wp-block-flyware-labs-fw-cards .fw-card-summary,
html.dark .wp-block-flyware-labs-fw-cards .fw-cards-description,
body.dark .wp-block-flyware-labs-fw-cards .fw-card-summary,
body.dark .wp-block-flyware-labs-fw-cards .fw-cards-description {
	color: var(--color-text-200);
}

.fw-cards-cta {
	margin-top: 50px;
	margin-bottom: 30px;
}

.fw-cards-cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 1.2rem 2.5rem;
	border-radius: 1rem;
	border: 2px solid #2E4BFF;
	background-color: #ffffff;
	color: #2E4BFF;
	font-weight: 700;
	font-size: 1.02rem;
	text-decoration: none;
	box-shadow: 0 16px 40px rgba(37, 99, 235, 0.25);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.fw-cards-cta-button:hover {
	box-shadow: 0 24px 60px rgba(37, 99, 235, 0.35);
	transform: translateY(-1px);
}

.fw-cards-cta-button svg {
	width: 1.15rem;
	height: 1.15rem;
}

.dark .fw-cards-cta-button,
html.dark .fw-cards-cta-button,
body.dark .fw-cards-cta-button {
	background-color: rgba(30, 41, 59, 0.9);
	color: #dbeafe;
	border-color: #60a5fa;
	box-shadow: 0 16px 42px rgba(37, 99, 235, 0.35);
}

.dark .fw-cards-cta-button:hover,
html.dark .fw-cards-cta-button:hover,
body.dark .fw-cards-cta-button:hover {
	background-color: rgba(37, 99, 235, 0.2);
	color: #eff6ff;
	border-color: #93c5fd;
}

/* Theming por categoría (violeta, azul, verde, naranja) */
.fw-card[data-card-theme="blue"] .fw-card-top-bar,
.fw-card[data-card-theme="blue"] .fw-card-icon-pill,
.fw-card[data-card-theme="blue"] .fw-card-link {
	color: #2E4BFF;
}

.fw-card[data-card-theme="blue"] .fw-card-top-bar {
	background-color: #2E4BFF;
}

.fw-card[data-card-theme="blue"] .fw-card-category,
.fw-card[data-card-theme="blue"] .fw-card-icon-pill {
	background-color: rgba(46, 75, 255, 0.08);
	color: #2E4BFF;
}

.fw-card[data-card-theme="violet"] .fw-card-top-bar,
.fw-card[data-card-theme="violet"] .fw-card-icon-pill,
.fw-card[data-card-theme="violet"] .fw-card-link {
	color: #6d28d9;
}

.fw-card[data-card-theme="violet"] .fw-card-top-bar {
	background-color: #6d28d9;
}

.fw-card[data-card-theme="violet"] .fw-card-category,
.fw-card[data-card-theme="violet"] .fw-card-icon-pill {
	background-color: rgba(109, 40, 217, 0.08);
	color: #6d28d9;
}

.fw-card[data-card-theme="green"] .fw-card-top-bar,
.fw-card[data-card-theme="green"] .fw-card-icon-pill,
.fw-card[data-card-theme="green"] .fw-card-link {
	color: #10b981;
}

.fw-card[data-card-theme="green"] .fw-card-top-bar {
	background-color: #10b981;
}

.fw-card[data-card-theme="green"] .fw-card-category,
.fw-card[data-card-theme="green"] .fw-card-icon-pill {
	background-color: rgba(16, 185, 129, 0.08);
	color: #10b981;
}

.fw-card[data-card-theme="orange"] .fw-card-top-bar,
.fw-card[data-card-theme="orange"] .fw-card-icon-pill,
.fw-card[data-card-theme="orange"] .fw-card-link {
	color: #f59e0b;
}

.fw-card[data-card-theme="orange"] .fw-card-top-bar {
	background-color: #f59e0b;
}

.fw-card[data-card-theme="orange"] .fw-card-category,
.fw-card[data-card-theme="orange"] .fw-card-icon-pill {
	background-color: rgba(245, 158, 11, 0.08);
	color: #f59e0b;
}

/* Theming en modo oscuro para pills de icono y categoría (similar a tags de cases) */
.dark .fw-card[data-card-theme="blue"],
html.dark .fw-card[data-card-theme="blue"],
body.dark .fw-card[data-card-theme="blue"] {
	border-color: rgba(59, 130, 246, 0.6);
}
.dark .fw-card[data-card-theme="blue"] .fw-card-top-bar,
html.dark .fw-card[data-card-theme="blue"] .fw-card-top-bar,
body.dark .fw-card[data-card-theme="blue"] .fw-card-top-bar {
	background-color: #3b82f6;
}
.dark .fw-card[data-card-theme="blue"] .fw-card-icon-pill,
.dark .fw-card[data-card-theme="blue"] .fw-card-category,
html.dark .fw-card[data-card-theme="blue"] .fw-card-icon-pill,
html.dark .fw-card[data-card-theme="blue"] .fw-card-category,
body.dark .fw-card[data-card-theme="blue"] .fw-card-icon-pill,
body.dark .fw-card[data-card-theme="blue"] .fw-card-category {
	background-color: rgba(37, 99, 235, 0.18);
	color: #bfdbfe;
}
.dark .fw-card[data-card-theme="blue"] .fw-card-link,
html.dark .fw-card[data-card-theme="blue"] .fw-card-link,
body.dark .fw-card[data-card-theme="blue"] .fw-card-link {
	color: #93c5fd;
}

.dark .fw-card[data-card-theme="violet"],
html.dark .fw-card[data-card-theme="violet"],
body.dark .fw-card[data-card-theme="violet"] {
	border-color: rgba(139, 92, 246, 0.6);
}
.dark .fw-card[data-card-theme="violet"] .fw-card-top-bar,
html.dark .fw-card[data-card-theme="violet"] .fw-card-top-bar,
body.dark .fw-card[data-card-theme="violet"] .fw-card-top-bar {
	background-color: #a855f7;
}
.dark .fw-card[data-card-theme="violet"] .fw-card-icon-pill,
.dark .fw-card[data-card-theme="violet"] .fw-card-category,
html.dark .fw-card[data-card-theme="violet"] .fw-card-icon-pill,
html.dark .fw-card[data-card-theme="violet"] .fw-card-category,
body.dark .fw-card[data-card-theme="violet"] .fw-card-icon-pill,
body.dark .fw-card[data-card-theme="violet"] .fw-card-category {
	background-color: rgba(139, 92, 246, 0.2);
	color: #e9d5ff;
}
.dark .fw-card[data-card-theme="violet"] .fw-card-link,
html.dark .fw-card[data-card-theme="violet"] .fw-card-link,
body.dark .fw-card[data-card-theme="violet"] .fw-card-link {
	color: #c4b5fd;
}

.dark .fw-card[data-card-theme="green"],
html.dark .fw-card[data-card-theme="green"],
body.dark .fw-card[data-card-theme="green"] {
	border-color: rgba(16, 185, 129, 0.6);
}
.dark .fw-card[data-card-theme="green"] .fw-card-top-bar,
html.dark .fw-card[data-card-theme="green"] .fw-card-top-bar,
body.dark .fw-card[data-card-theme="green"] .fw-card-top-bar {
	background-color: #22c55e;
}
.dark .fw-card[data-card-theme="green"] .fw-card-icon-pill,
.dark .fw-card[data-card-theme="green"] .fw-card-category,
html.dark .fw-card[data-card-theme="green"] .fw-card-icon-pill,
html.dark .fw-card[data-card-theme="green"] .fw-card-category,
body.dark .fw-card[data-card-theme="green"] .fw-card-icon-pill,
body.dark .fw-card[data-card-theme="green"] .fw-card-category {
	background-color: rgba(16, 185, 129, 0.22);
	color: #bbf7d0;
}
.dark .fw-card[data-card-theme="green"] .fw-card-link,
html.dark .fw-card[data-card-theme="green"] .fw-card-link,
body.dark .fw-card[data-card-theme="green"] .fw-card-link {
	color: #86efac;
}

.dark .fw-card[data-card-theme="orange"],
html.dark .fw-card[data-card-theme="orange"],
body.dark .fw-card[data-card-theme="orange"] {
	border-color: rgba(245, 158, 11, 0.6);
}
.dark .fw-card[data-card-theme="orange"] .fw-card-top-bar,
html.dark .fw-card[data-card-theme="orange"] .fw-card-top-bar,
body.dark .fw-card[data-card-theme="orange"] .fw-card-top-bar {
	background-color: #f97316;
}
.dark .fw-card[data-card-theme="orange"] .fw-card-icon-pill,
.dark .fw-card[data-card-theme="orange"] .fw-card-category,
html.dark .fw-card[data-card-theme="orange"] .fw-card-icon-pill,
html.dark .fw-card[data-card-theme="orange"] .fw-card-category,
body.dark .fw-card[data-card-theme="orange"] .fw-card-icon-pill,
body.dark .fw-card[data-card-theme="orange"] .fw-card-category {
	background-color: rgba(248, 171, 36, 0.20);
	color: #fed7aa;
}
.dark .fw-card[data-card-theme="orange"] .fw-card-link,
html.dark .fw-card[data-card-theme="orange"] .fw-card-link,
body.dark .fw-card[data-card-theme="orange"] .fw-card-link {
	color: #fed7aa;
}

@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-cards.section-container {
		padding-inline: var(--space-md);
	}

	.wp-block-flyware-labs-fw-cards .section-content.fw-cards {
		padding-inline: 0;
	}

	.fw-cards-mobile-nav {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 0.55rem;
		margin: 0.25rem 0 0.8rem;
	}

	.fw-cards-arrow {
		width: 2.2rem;
		height: 2.2rem;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(148, 163, 184, 0.45);
		background: var(--color-bg-100);
		color: var(--color-text-100);
		cursor: pointer;
		transition: all 0.2s ease;
	}

	.fw-cards-arrow:hover:not(:disabled) {
		transform: translateY(-1px);
		border-color: rgba(46, 75, 255, 0.45);
		color: #2E4BFF;
	}

	.fw-cards-arrow:disabled {
		opacity: 0.45;
		cursor: not-allowed;
	}

	.fw-cards-grid-wrapper {
		overflow: hidden;
	}

	.fw-cards-grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 1rem;
		margin-top: 0;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 0.2rem 0.15rem 0.35rem;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.fw-cards-grid::-webkit-scrollbar {
		display: none;
	}

	.fw-cards-grid .fw-card {
		flex: 0 0 86%;
		min-width: 86%;
		scroll-snap-align: start;
	}

	.dark .fw-cards-arrow,
	html.dark .fw-cards-arrow,
	body.dark .fw-cards-arrow {
		background: var(--color-bg-300);
		color: var(--color-text-050);
		border-color: rgba(148, 163, 184, 0.35);
	}

	.dark .fw-cards-arrow:hover:not(:disabled),
	html.dark .fw-cards-arrow:hover:not(:disabled),
	body.dark .fw-cards-arrow:hover:not(:disabled) {
		border-color: rgba(96, 165, 250, 0.55);
		color: #93c5fd;
	}
}
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="orange"],
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="naranja"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="orange"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="naranja"],
html.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="orange"],
html.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="naranja"],
body.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="orange"],
body.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="naranja"] {
	color: var(--color-orange-400) !important;
	background-color: var(--color-orange-900) !important;
}
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="blue"],
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="azul"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="blue"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="azul"],
html.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="blue"],
body.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="azul"] {
	color: var(--color-blue-400) !important;
	background-color: var(--color-blue-900) !important;
}
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="green"],
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="verde"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="green"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="verde"],
body.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="green"],
body.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="verde"] {
	color: var(--color-green-400) !important;
	background-color: var(--color-green-900) !important;
}
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="pink"],
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="rosa"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="pink"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="rosa"],
body.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="pink"],
body.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="rosa"] {
	color: var(--color-pink-400) !important;
	background-color: var(--color-pink-900) !important;
}
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="red"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="red"],
body.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="red"] {
	color: var(--color-red-400) !important;
	background-color: var(--color-red-900) !important;
}
.dark .wp-block-flyware-labs-fw-cases-block .card:hover .fw-cases-tag[data-tag-color="violet"],
.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="violet"],
body.dark .fw-cases-block .card:hover .fw-cases-tag[data-tag-color="violet"] {
	color: var(--color-violet-400) !important;
	background-color: var(--color-violet-900) !important;
}
/* Títulos en cards (aunque sean links): color #000, sin subrayado */
.wp-block-flyware-labs-fw-full-cases-block .card h4 a,
.wp-block-flyware-labs-fw-cases-block .card h4 a,
.fw-full-cases-block .card h4 a,
.fw-cases-block .card h4 a,
.fw-archive-posts .card h4 a {
	color: #000 !important;
	text-decoration: none !important;
}
.dark .wp-block-flyware-labs-fw-full-cases-block .card h4 a,
.dark .wp-block-flyware-labs-fw-cases-block .card h4 a,
.dark .fw-full-cases-block .card h4 a,
.dark .fw-cases-block .card h4 a,
.dark .fw-archive-posts .card h4 a,
.dark .fw-archive-posts .card h5 a,
html.dark .fw-archive-posts .card h4 a,
html.dark .fw-archive-posts .card h5 a,
body.dark .wp-block-flyware-labs-fw-full-cases-block .card h4 a,
body.dark .fw-cases-block .card h4 a,
body.dark .fw-archive-posts .card h4 a,
body.dark .fw-archive-posts .card h5 a,
body.dark .fw-full-cases-block .card h4 a {
	color: #fff !important;
}

/* Botón CTA de las cards de casos: azul #2F3DF4, sin subrayado */
.wp-block-flyware-labs-fw-full-cases-block .fw-cases-cta,
.wp-block-flyware-labs-fw-cases-block .fw-cases-cta,
.fw-full-cases-block .fw-cases-cta,
.fw-cases-block .fw-cases-cta {
	background-color: transparent !important;
	color: #2F3DF4 !important;
	border: 1px solid #2F3DF4 !important;
	text-decoration: none !important;
}
.wp-block-flyware-labs-fw-full-cases-block .fw-cases-cta:hover,
.wp-block-flyware-labs-fw-cases-block .fw-cases-cta:hover,
.fw-full-cases-block .fw-cases-cta:hover,
.fw-cases-block .fw-cases-cta:hover {
	background-color: #2F3DF4 !important;
	color: #fff !important;
	border-color: #2F3DF4 !important;
}
.wp-block-flyware-labs-fw-full-cases-block .fw-cases-cta:active,
.wp-block-flyware-labs-fw-cases-block .fw-cases-cta:active,
.fw-full-cases-block .fw-cases-cta:active,
.fw-cases-block .fw-cases-cta:active {
	background-color: #2F3DF4 !important;
	color: #fff !important;
	border-color: #2F3DF4 !important;
}
.wp-block-flyware-labs-fw-cases-block header h3,
.fw-cases-block header h3 {
	font-size: var(--text-xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	line-height: 1.25;
	margin: 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-cases-block header h3,
	.fw-cases-block header h3 {
		font-size: var(--text-3xl);
	}
}
.wp-block-flyware-labs-fw-cases-block header p,
.fw-cases-block header p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.5;
	margin: 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-cases-block header p,
	.fw-cases-block header p {
		font-size: var(--text-md);
	}
}

/* ========== BLOQUE FW GALLERY BLOCK (galería con scroll horizontal en móvil) ========== */
.wp-block-flyware-labs-fw-gallery-block.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}
.wp-block-flyware-labs-fw-gallery-block .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}
.wp-block-flyware-labs-fw-gallery-block header h3 {
	font-size: var(--text-xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	line-height: 1.25;
	margin: 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-gallery-block header h3 {
		font-size: var(--text-3xl);
	}
}
.wp-block-flyware-labs-fw-gallery-block header p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.5;
	margin: 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-gallery-block header p {
		font-size: var(--text-md);
	}
}
/* Flechas de navegación en Gallery (solo móvil) */
.wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-bg-200);
	border: 1px solid var(--color-border-200);
	color: var(--color-text-100);
	cursor: pointer;
	transition: background-color 0.2s, opacity 0.2s;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-prev {
	left: 0.5rem;
}
.wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-next {
	right: 0.5rem;
}
.wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-btn:hover {
	background-color: var(--color-accent-bg-200) !important;
}
.wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-btn.fw-gallery-nav-hidden {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-btn {
		display: none !important;
	}
}
.dark .wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-btn,
html.dark .wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-btn {
	background-color: var(--color-bg-300);
	border-color: var(--color-border-200);
}
/* Galería: scroll horizontal, 4 imágenes visibles (~25% cada una) */
.wp-block-flyware-labs-fw-gallery-block .fw-gallery-cards {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	gap: var(--space-md);
}
.wp-block-flyware-labs-fw-gallery-block .fw-gallery-cards > div {
	flex: 0 0 auto;
	width: calc((100% - 3 * var(--space-md, 1rem)) / 4);
	min-width: calc((100% - 3 * var(--space-md, 1rem)) / 4);
	scroll-snap-align: start;
}
/* Mobile: una imagen a la vez (ocupa ~84% del viewport) */
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-gallery-block .fw-gallery-nav-wrapper {
		position: relative;
		width: 100%;
	}
	.wp-block-flyware-labs-fw-gallery-block .fw-gallery-cards {
		margin-left: calc(-1 * var(--space-md));
		margin-right: calc(-1 * var(--space-md));
		padding-left: var(--space-md);
		padding-right: var(--space-md);
	}
	.wp-block-flyware-labs-fw-gallery-block .fw-gallery-cards > div {
		width: 84vw !important;
		min-width: 84vw !important;
		max-width: 84vw !important;
	}
}
@media (max-width: 540px) {
	.wp-block-flyware-labs-fw-gallery-block .fw-gallery-cards > div {
		min-width: min(84vw, calc(100vw - 3rem)) !important;
		max-width: min(84vw, calc(100vw - 3rem)) !important;
		width: min(84vw, calc(100vw - 3rem)) !important;
	}
	.wp-block-flyware-labs-fw-gallery-block .fw-gallery-cards {
		scroll-padding-right: var(--space-md);
	}
}
.wp-block-flyware-labs-fw-gallery-block .card.glass-200 {
	border-radius: var(--radius-lg);
	border-top-left-radius: 0;
}
.wp-block-flyware-labs-fw-gallery-block .card img.rounded-md.rounded-tl-none {
	border-top-left-radius: 0;
}

/* ========== BLOQUE FW CONTENT BLOCK (Who we are) ========== */
.wp-block-flyware-labs-fw-content-block.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
}
.wp-block-flyware-labs-fw-content-block .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}
.wp-block-flyware-labs-fw-content-block header small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}
.wp-block-flyware-labs-fw-content-block header small.caps.md\:pl-44,
.wp-block-flyware-labs-fw-content-block header small[class*="pl-44"] {
	padding-left: 11rem;
}
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-content-block header small.caps.md\:pl-44,
	.wp-block-flyware-labs-fw-content-block header small[class*="pl-44"] {
		padding-left: 0;
	}
}
.wp-block-flyware-labs-fw-content-block header h3 {
	font-size: var(--text-xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	line-height: 1.25;
	margin: 0;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-content-block header h3 {
		font-size: var(--text-3xl);
	}
}
.wp-block-flyware-labs-fw-content-block .section-content p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.5;
	margin: 0 0 1em 0;
}
.wp-block-flyware-labs-fw-content-block .section-content p:last-child {
	margin-bottom: 0;
}
/* Intro (naranja) y cierre (azul): como localhost:3000/about */
.wp-block-flyware-labs-fw-content-block .section-content p .font-mono .text-orange-500,
.wp-block-flyware-labs-fw-content-block .section-content p span.text-orange-500 {
	color: var(--color-orange-500) !important;
	font-family: var(--font-mono);
}
.wp-block-flyware-labs-fw-content-block .section-content p .font-mono .text-blue-500,
.wp-block-flyware-labs-fw-content-block .section-content p span.text-blue-500 {
	color: var(--color-blue-500) !important;
	font-family: var(--font-mono);
}
.wp-block-flyware-labs-fw-content-block .line-l.-left-6,
.wp-block-flyware-labs-fw-content-block .line-l[class*="-left-6"] {
	position: absolute;
	left: -1.5rem;
}
/* Texto: mismo ancho con o sin imagen */
.wp-block-flyware-labs-fw-content-block .fw-content-block-text-col {
	max-width: 42rem;
}
/* Filas texto + imagen: layout lg (1024px) como referencia */
.wp-block-flyware-labs-fw-content-block .section-content > div:last-child {
	display: flex;
	flex-direction: column;
}
@media (min-width: 1024px) {
	.wp-block-flyware-labs-fw-content-block .section-content > div:last-child {
		flex-direction: row;
		align-items: flex-end;
	}
}

/* ========== BLOQUE FW SERVICES HOME (Engagement models) ========== */
.wp-block-flyware-labs-fw-services-home.section-container,
#services.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
	background-color: var(--color-bg-200);
	background-repeat: no-repeat;
	/* Patrón w.svg más pequeño que en el original (no cover) */
	background-size: 38% auto;
	background-position: 0% 0%;
}

.wp-block-flyware-labs-fw-services-home .section-content,
#services .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
	gap: var(--space-md);
}

/* Desktop: asegurar grid de 3 columnas y ancho completo */
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-services-home .fw-services-nav-wrapper,
	#services .fw-services-nav-wrapper {
		width: 100%;
	}
	.wp-block-flyware-labs-fw-services-home .fw-services-cards,
	#services .fw-services-cards {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr);
		overflow: visible;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	.wp-block-flyware-labs-fw-services-home .fw-services-cards > div,
	#services .fw-services-cards > div {
		width: auto !important;
		min-width: unset !important;
		max-width: unset !important;
		flex: unset !important;
	}
}
/* Flechas de navegación en Services (solo móvil) */
.wp-block-flyware-labs-fw-services-home .fw-services-nav-btn,
#services .fw-services-nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-bg-200);
	border: 1px solid var(--color-border-200);
	color: var(--color-text-100);
	cursor: pointer;
	transition: background-color 0.2s, opacity 0.2s;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.wp-block-flyware-labs-fw-services-home .fw-services-nav-prev,
#services .fw-services-nav-prev {
	left: 0.5rem;
}
.wp-block-flyware-labs-fw-services-home .fw-services-nav-next,
#services .fw-services-nav-next {
	right: 0.5rem;
}
.wp-block-flyware-labs-fw-services-home .fw-services-nav-btn:hover,
#services .fw-services-nav-btn:hover {
	background-color: var(--color-accent-bg-200) !important;
}
.wp-block-flyware-labs-fw-services-home .fw-services-nav-btn.fw-services-nav-hidden,
#services .fw-services-nav-btn.fw-services-nav-hidden {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-services-home .fw-services-nav-btn,
	#services .fw-services-nav-btn {
		display: none !important;
	}
}
.dark .wp-block-flyware-labs-fw-services-home .fw-services-nav-btn,
.dark #services .fw-services-nav-btn,
html.dark .wp-block-flyware-labs-fw-services-home .fw-services-nav-btn,
html.dark #services .fw-services-nav-btn {
	background-color: var(--color-bg-300);
	border-color: var(--color-border-200);
}
/* Mobile: scroll horizontal de tarjetas de servicios */
@media (max-width: 767px) {
	.wp-block-flyware-labs-fw-services-home .fw-services-nav-wrapper,
	#services .fw-services-nav-wrapper {
		position: relative;
		width: 100%;
	}
	.wp-block-flyware-labs-fw-services-home .fw-services-cards,
	#services .fw-services-cards {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		gap: var(--space-md);
		grid-template-columns: unset !important;
		margin-left: calc(-1 * var(--space-md));
		margin-right: calc(-1 * var(--space-md));
		padding-left: var(--space-md);
		padding-right: var(--space-md);
	}
	.wp-block-flyware-labs-fw-services-home .fw-services-cards > div,
	#services .fw-services-cards > div {
		flex: 0 0 auto !important;
		width: 88vw !important;
		min-width: 88vw !important;
		max-width: 88vw !important;
		scroll-snap-align: start;
	}
}
/* Hasta 540px: cards de servicios para que el borde derecho se vea */
@media (max-width: 540px) {
	.wp-block-flyware-labs-fw-services-home .fw-services-cards > div,
	#services .fw-services-cards > div {
		min-width: min(88vw, calc(100vw - 3rem)) !important;
		max-width: min(88vw, calc(100vw - 3rem)) !important;
		width: min(88vw, calc(100vw - 3rem)) !important;
	}
	.wp-block-flyware-labs-fw-services-home .fw-services-cards,
	#services .fw-services-cards {
		scroll-padding-right: var(--space-md);
	}
}
@media (max-width: 380px) {
	.wp-block-flyware-labs-fw-services-home .fw-services-cards > div,
	#services .fw-services-cards > div {
		min-width: min(82vw, calc(100vw - 2.5rem)) !important;
		max-width: min(82vw, calc(100vw - 2.5rem)) !important;
		width: min(82vw, calc(100vw - 2.5rem)) !important;
	}
}

.wp-block-flyware-labs-fw-services-home header small.caps.text-orange-500,
#services header small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}

.wp-block-flyware-labs-fw-services-home header small.caps.pl-22,
#services header small.caps.pl-22 {
	padding-left: 5.5rem;
}

.wp-block-flyware-labs-fw-services-home header h3,
#services header h3 {
	font-size: var(--text-xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	line-height: 1.25;
	margin: 0;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-services-home header h3,
	#services header h3 {
		font-size: var(--text-3xl);
	}
}

.wp-block-flyware-labs-fw-services-home header .flex.flex-col.md\:flex-row p,
#services header .flex.flex-col.md\:flex-row p,
.wp-block-flyware-labs-fw-services-home header .flex.flex-col p,
#services header .flex.flex-col p {
	font-size: var(--text-bs);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.5;
	margin: 0;
}

.wp-block-flyware-labs-fw-services-home .card.glass-200,
#services .card.glass-200 {
	border-radius: var(--radius-lg);
	border-top-left-radius: 0;
}

.wp-block-flyware-labs-fw-services-home .card img.rounded-md.rounded-tl-none,
#services .card img.rounded-md.rounded-tl-none {
	border-top-left-radius: 0;
}

.wp-block-flyware-labs-fw-services-home .card .text-text-300.bg-bg-300,
#services .card .text-text-300.bg-bg-300 {
	background-color: var(--color-bg-300);
	color: var(--color-text-300);
}

/* Abreviatura (PSS, IBE, etc.) en tarjetas de servicio: JetBrains Mono, naranja */
.wp-block-flyware-labs-fw-services-home .fw-services-card .caps.text-orange-500,
#services .fw-services-card .caps.text-orange-500 {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
	margin: 0 0 0.25rem 0;
}

/* Títulos de las tarjetas de servicio (Ordering, Offering, etc.): JetBrains Mono, color texto principal */
.wp-block-flyware-labs-fw-services-home .fw-services-card h4,
.wp-block-flyware-labs-fw-services-home .card h4,
#services .fw-services-card h4,
#services .card h4 {
	font-family: var(--font-mono);
	font-size: var(--text-lg);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-text-100);
	margin: 0;
}

.wp-block-flyware-labs-fw-services-home .card p.whitespace-pre-line,
#services .card p.whitespace-pre-line {
	font-size: var(--text-sm);
	font-family: var(--font-sans);
	color: var(--color-text-200);
	line-height: 1.625;
	margin: 0.5rem 0 0 0;
}

/* Imagen del bloque Services: min-height 320px; al hacer hover la imagen se amplía (zoom in) */
.wp-block-flyware-labs-fw-services-home .fw-services-card-image,
#services .fw-services-card-image {
	overflow: hidden;
	min-height: 320px;
}


.wp-block-flyware-labs-fw-services-home .fw-services-card-img,
#services .fw-services-card-img {
	transition: transform 0.35s ease;
	transform: scale(1);
}

.wp-block-flyware-labs-fw-services-home .fw-services-card:hover .fw-services-card-img,
#services .fw-services-card:hover .fw-services-card-img {
	transform: scale(1.08);
}

/* Iconos de servicios: escala de grises por defecto, color en hover de la tarjeta */
.wp-block-flyware-labs-fw-services-home .fw-services-icon,
#services .fw-services-icon {
	transition: color 0.25s ease, background-color 0.25s ease;
}

/* Estado normal: escala de grises */
.wp-block-flyware-labs-fw-services-home .fw-services-icon-violet,
.wp-block-flyware-labs-fw-services-home .fw-services-icon-blue,
.wp-block-flyware-labs-fw-services-home .fw-services-icon-green,
#services .fw-services-icon-violet,
#services .fw-services-icon-blue,
#services .fw-services-icon-green {
	color: var(--color-neutral-500);
	background-color: var(--color-neutral-200);
}
.dark .fw-services-icon-violet,
.dark .fw-services-icon-blue,
.dark .fw-services-icon-green,
html.dark .fw-services-icon-violet,
html.dark .fw-services-icon-blue,
html.dark .fw-services-icon-green,
body.dark .fw-services-icon-violet,
body.dark .fw-services-icon-blue,
body.dark .fw-services-icon-green {
	color: var(--color-neutral-400);
	background-color: var(--color-neutral-700);
}

/* Hover de la tarjeta: colores por posición (1 violeta, 2 azul, 3 verde) */
.wp-block-flyware-labs-fw-services-home .fw-services-card:hover .fw-services-icon-violet,
#services .fw-services-card:hover .fw-services-icon-violet {
	color: var(--color-violet-700);
	background-color: var(--color-violet-200);
}
.dark .fw-services-card:hover .fw-services-icon-violet,
body.dark .fw-services-card:hover .fw-services-icon-violet {
	color: var(--color-violet-300);
	background-color: var(--color-violet-800);
}

.wp-block-flyware-labs-fw-services-home .fw-services-card:hover .fw-services-icon-blue,
#services .fw-services-card:hover .fw-services-icon-blue {
	color: var(--color-blue-700);
	background-color: var(--color-blue-200);
}
.dark .fw-services-card:hover .fw-services-icon-blue,
body.dark .fw-services-card:hover .fw-services-icon-blue {
	color: var(--color-blue-300);
	background-color: var(--color-blue-800);
}

.wp-block-flyware-labs-fw-services-home .fw-services-card:hover .fw-services-icon-green,
#services .fw-services-card:hover .fw-services-icon-green {
	color: var(--color-green-700);
	background-color: var(--color-green-200);
}
.dark .fw-services-card:hover .fw-services-icon-green,
body.dark .fw-services-card:hover .fw-services-icon-green {
	color: var(--color-green-300);
	background-color: var(--color-green-800);
}

/* ========== BLOQUE FW CONTACT FORM (Let's talk - original localhost:3000) ========== */
.wp-block-flyware-labs-fw-contact-form.section-container,
#contact.section-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-xl) var(--space-lg);
	background-color: var(--color-bg-200);
}

.wp-block-flyware-labs-fw-contact-form .section-content,
#contact .section-content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	gap: 3rem;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-contact-form .section-content,
	#contact .section-content {
		flex-direction: row;
		align-items: center;
		gap: 3rem;
	}
}

/* Aside: título, subtítulo, CTA */
.wp-block-flyware-labs-fw-contact-form aside,
#contact aside {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 1.5rem;
}

.wp-block-flyware-labs-fw-contact-form aside h2,
#contact aside h2 {
	font-size: var(--text-2xl);
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-text-100);
	margin: 0;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-contact-form aside h2,
	#contact aside h2 {
		font-size: var(--text-4xl);
	}
}

.wp-block-flyware-labs-fw-contact-form aside h4,
#contact aside h4 {
	font-size: var(--text-lg);
	font-family: var(--font-display);
	font-weight: 500;
	color: var(--color-text-100);
	line-height: 1.25;
	margin: 0;
}

@media (min-width: 768px) {
	.wp-block-flyware-labs-fw-contact-form aside h4,
	#contact aside h4 {
		font-size: var(--text-2xl);
	}
}

/* CTA naranja (caps) */
.wp-block-flyware-labs-fw-contact-form aside .caps.text-orange-500,
.wp-block-flyware-labs-fw-contact-form aside small.caps.text-orange-500,
#contact aside .caps.text-orange-500,
#contact aside small.caps.text-orange-500 {
	font-size: var(--text-xs);
	font-family: var(--font-mono);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-orange-500) !important;
}

/* Formulario: campos con bordes y fondos correctos */
.wp-block-flyware-labs-fw-contact-form .fw-contact-form label,
#contact .fw-contact-form label {
	color: var(--color-text-200);
	font-weight: 500;
	font-size: var(--text-sm);
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-form input[type="text"],
.wp-block-flyware-labs-fw-contact-form .fw-contact-form input[type="email"],
.wp-block-flyware-labs-fw-contact-form .fw-contact-form textarea,
#contact .fw-contact-form input[type="text"],
#contact .fw-contact-form input[type="email"],
#contact .fw-contact-form textarea {
	background-color: var(--color-bg-100) !important;
	color: var(--color-text-200) !important;
	border-radius: var(--radius-md);
	padding: 0.75rem 1rem;
	width: 100%;
	font-family: var(--font-sans);
	font-size: var(--text-sm);
}

/* Botón Send message */
.wp-block-flyware-labs-fw-contact-form .fw-contact-form button[type="submit"],
#contact .fw-contact-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 2.25rem;
	padding: 0 0.75rem;
	font-size: var(--text-sm);
	font-weight: 500;
	font-family: var(--font-sans);
	background-color: var(--color-accent-bg-200) !important;
	color: var(--color-text-100) !important;
	border: 1px solid var(--color-border-200);
	border-radius: var(--radius-md);
	border-top-left-radius: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-form button[type="submit"]:hover,
.wp-block-flyware-labs-fw-contact-form .fw-contact-form button[type="submit"]:focus,
#contact .fw-contact-form button[type="submit"]:hover,
#contact .fw-contact-form button[type="submit"]:focus {
	background-color: var(--color-accent-bg-100) !important;
	border-color: var(--color-border-100);
	color: var(--color-text-100) !important;
}

/* Footer del formulario: texto y enlace de email */
.wp-block-flyware-labs-fw-contact-form .fw-contact-form footer small,
#contact .fw-contact-form footer small {
	color: var(--color-text-300);
	font-size: var(--text-sm);
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-form footer a.text-orange-500,
#contact .fw-contact-form footer a.text-orange-500 {
	color: var(--color-orange-500) !important;
}

/* Errores del formulario: posición absoluta para no expandir el form */
.wp-block-flyware-labs-fw-contact-form .fw-contact-form [data-field],
#contact .fw-contact-form [data-field] {
	position: relative;
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-error,
#contact .fw-contact-error {
	position: absolute !important;
	left: 0;
	top: 100%;
	padding-left: 0.5rem;
	padding-top: 0.5rem;
	font-size: var(--text-xs);
	font-family: var(--font-sans);
	color: var(--color-negative-100);
	pointer-events: none;
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-error.hidden,
#contact .fw-contact-error.hidden {
	visibility: hidden;
	height: 0;
	overflow: hidden;
	margin: 0;
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-error:not(.hidden),
#contact .fw-contact-error:not(.hidden) {
	display: block;
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-form-messages,
#contact .fw-contact-form-messages {
	font-size: var(--text-sm);
	font-family: var(--font-sans);
	margin-bottom: var(--space-md);
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-form-messages.fw-contact-error-msg,
#contact .fw-contact-form-messages.fw-contact-error-msg {
	color: var(--color-negative-100);
}

.wp-block-flyware-labs-fw-contact-form .fw-contact-form-messages.fw-contact-success-msg,
#contact .fw-contact-form-messages.fw-contact-success-msg {
	color: var(--color-positive-100);
}

/* Campo con error: borde rojo y ring como el original */
.wp-block-flyware-labs-fw-contact-form .fw-contact-form [data-field].fw-field-error [role="status"] > div,
#contact .fw-contact-form [data-field].fw-field-error [role="status"] > div {
	border-color: var(--color-negative-100) !important;
	box-shadow: 0 0 0 2px rgba(240, 100, 85, 0.5); /* ring rojo 50% opacidad */
}

/* Honeypot: siempre oculto (no depender de Tailwind) */
.fw-contact-honeypot {
	position: absolute !important;
	left: -9999px !important;
	top: 0 !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	clip: rect(0, 0, 0, 0) !important;
}

/* ========== GLASS-100 (header y footer: fondo que cambia con dark) ========== */
/* Solo header y footer: override del .glass-100 base; el resto (p.ej. FW Map) usa el original */
.site-header nav.glass-100,
.site-header .glass-100,
#colophon.site-footer.glass-100,
#colophon .glass-100 {
	background-color: var(--color-glass-bg-700);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* ========== FOOTER (estilos del original localhost:3000) ========== */
#colophon.site-footer {
	padding: 0;
	margin-top: 0;
}

#colophon.site-footer.glass-100 {
	background-color: var(--color-bg-200);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-top: 1px solid var(--color-border-300);
	border-bottom: 1px solid var(--color-border-300);
}

#colophon.site-footer.section-container {
	padding: 0;
	align-items: stretch;
}

#colophon.site-footer nav.section-content {
	max-width: 83rem;
}

/* Footer: orden como original localhost:3000 — fila 1: Logo | Main | About | More | Legal | Contact; fila 2: Redes | Copyright | Tema */
#colophon.site-footer nav.footer-nav {
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding: var(--space-xl) var(--space-md);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-xl) var(--space-lg);
	align-items: start;
}

@media (min-width: 768px) {
	#colophon.site-footer nav.footer-nav {
		grid-template-columns: repeat(6, 1fr);
		grid-template-rows: auto auto;
		gap: var(--space-xl) var(--space-lg);
		align-items: start;
	}
}

/* Títulos de columna del footer (Main, About, More, Legal, Contact) */
#colophon.site-footer nav small.font-bold {
	display: block;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--text-xs);
	color: var(--color-text-100);
	letter-spacing: 0.02em;
	margin-bottom: var(--space-xs);
	padding-top: 0;
	padding-bottom: var(--space-sm);
}

/* Enlaces del footer */
#colophon.site-footer nav a,
#colophon.site-footer nav .menu a {
	color: var(--color-text-200);
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	text-decoration: none;
	transition: color 0.2s ease;
}

#colophon.site-footer nav a:hover,
#colophon.site-footer nav .menu a:hover {
	color: var(--color-text-100);
}

#colophon.site-footer nav .menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
}

#colophon.site-footer nav .menu li {
	margin: 0;
}

/* Logo en footer */
/* Fila 1: logo arriba izquierda; fila 2: redes (izq) | copyright (centro) | tema (der) */
#colophon.site-footer .footer-logo {
	align-self: center;
}

/* Copyright ocupa columnas 2-4: centrado en su área */
#colophon.site-footer .footer-copyright {
	justify-self: stretch;
	align-self: center;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

#colophon.site-footer .footer-social {
	justify-self: start;
	align-self: center;
}

#colophon.site-footer .footer-theme {
	justify-self: end;
	align-self: center;
}

@media (min-width: 1024px) {
	#colophon.site-footer .footer-logo,
	#colophon.site-footer .footer-copyright,
	#colophon.site-footer .footer-social,
	#colophon.site-footer .footer-theme {
		min-height: 2.5rem;
		align-self: start;
	}
}

.dark #colophon.site-footer a svg {
	fill: var(--color-text-100-alt);
}

/* Copyright */
#colophon.site-footer small.text-text-300 {
	color: var(--color-text-300);
	font-family: var(--font-sans);
	font-size: var(--text-sm);
}

/* Iconos sociales footer */
#colophon.site-footer a[target="_blank"] svg {
	width: 1.25rem;
	height: 1.25rem;
}

#colophon.site-footer a[target="_blank"] {
	color: var(--color-text-200);
	transition: color 0.2s ease;
}

#colophon.site-footer a[target="_blank"]:hover {
	color: var(--color-text-100);
}

/* Separador entre iconos sociales */
#colophon.site-footer hr.bg-border-200 {
	background-color: var(--color-border-200);
	width: 1px;
	height: 1.5rem;
	border: none;
	margin: 0;
}

/* Botones theme switcher en footer */
#colophon.site-footer .theme-toggle-light,
#colophon.site-footer .theme-toggle-dark,
#colophon.site-footer .theme-toggle-system {
	color: var(--color-text-200);
	background: transparent;
	border: 1px solid transparent;
	border-radius: 9999px;
	padding: var(--space-sm);
	transition: background-color 0.2s ease, color 0.2s ease;
}

#colophon.site-footer .theme-toggle-light:hover,
#colophon.site-footer .theme-toggle-dark:hover,
#colophon.site-footer .theme-toggle-system:hover {
	background-color: var(--color-accent-bg-200);
	color: var(--color-text-100);
}

/* ========== SECCIÓN GET IN TOUCH (front-page / contacto) ========== */
.flyware-contact#contact,
section.flyware-contact {
	background-color: var(--color-bg-100);
	border-top: 1px solid var(--color-border-200);
	padding: var(--space-xl) var(--space-md);
}

.flyware-contact#contact .flyware-container,
section.flyware-contact .flyware-container {
	max-width: 83rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--space-md);
	padding-right: var(--space-md);
}

.flyware-contact#contact h2,
section.flyware-contact h2 {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--text-2xl);
	color: var(--color-text-100);
	margin: 0 0 var(--space-md) 0;
}

@media (min-width: 768px) {
	.flyware-contact#contact h2,
	section.flyware-contact h2 {
		font-size: var(--text-4xl);
	}
}

/* ========== LOGO FLYWARE (header y footer) ========== */
.flyware-logo-svg {
	fill: var(--color-text-100);
	transition: fill 0.2s ease;
}

.dark .flyware-logo-svg,
body.dark .flyware-logo-svg {
	fill: var(--color-text-100-alt);
}

.site-header .site-branding a:hover .flyware-logo-svg,
#colophon.site-footer .footer-logo a:hover .flyware-logo-svg {
	opacity: 0.85;
}

/* ========== HEADER: arriba = normal (centrado); al hacer scroll = barra con sombra y transform ========== */
.site-header.section-container {
	padding: 0;
	align-items: center;
	justify-content: center;
}

.site-header nav.section-content {
	max-width: 83rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease, padding 0.2s ease, background-color 0.2s ease;
}

/* Estado inicial (scroll arriba): centrado, sin sombra, sin transform, borde transparente */
.site-header nav.glass-100 {
	background-color: var(--color-glass-bg-100);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid transparent;
	box-shadow: 0 0 0 var(--color-bg-900);
	padding: 0 0.5rem;
	transform: none;
}

/* Estado al hacer scroll: barra con sombra, borde y ligero desplazamiento */
.site-header.is-scrolled nav.glass-100 {
	background-color: var(--color-glass-bg-700);
	border-color: var(--color-border-300);
	box-shadow: 0 4px 6px -5px var(--color-bg-900), 0 2px 4px -2px var(--color-bg-900);
	padding: 0.5rem 0.75rem 0.5rem 1.25rem;
	transform: translateY(16px);
}

/* Header en modo oscuro: fondo visible (glass-bg-200 inicial, glass-bg-700 al scroll) igual que localhost:3000 */
.dark .site-header nav.glass-100,
html.dark .site-header nav.glass-100,
body.dark .site-header nav.glass-100 {
	background-color: var(--color-glass-bg-200) !important;
	border-color: var(--color-glass-border-200) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.dark .site-header.is-scrolled nav.glass-100,
html.dark .site-header.is-scrolled nav.glass-100,
body.dark .site-header.is-scrolled nav.glass-100 {
	background-color: var(--color-glass-bg-700) !important;
	border-color: var(--color-border-300) !important;
}

.site-header,
#masthead {
	position: sticky;
	top: 0;
	z-index: 9999;
	background-color: transparent;
}

/* Ocultar menú desktop en móvil (respaldo por si Tailwind falla) */
@media (max-width: 767px) {
	.site-header .header-desktop {
		display: none !important;
	}
}

/* ========== Menú móvil dropdown ========== */
.mobile-menu-panel {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 0.5rem;
	margin-left: var(--space-md);
	margin-right: var(--space-md);
	background-color: var(--color-glass-bg-700);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid var(--color-border-300);
	border-radius: var(--radius-lg);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}
.mobile-menu-panel.is-open {
	display: block;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.mobile-menu-panel .mobile-menu-links a {
	display: block;
	padding: 0.75rem 0;
	color: var(--color-text-300);
	font-size: var(--text-bs);
	font-weight: 400;
	text-decoration: none;
	transition: color 0.2s;
}
.mobile-menu-panel .mobile-menu-links a:hover {
	color: var(--color-text-100);
}
body.mobile-menu-open {
	overflow: hidden;
}
@media (min-width: 768px) {
	.mobile-menu-panel {
		display: none !important;
	}
}

/* En modo oscuro el header usa el mismo fondo negro que los bloques (bg-100) */
.dark .site-header,
.dark #masthead,
html.dark .site-header,
html.dark #masthead,
body.dark .site-header,
body.dark #masthead {
	background-color: var(--color-bg-100) !important;
}

/* Logo del header: tipografía destacada (Lexend, bold) */
.site-header .site-branding a,
.site-header .flyware-logo-link {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--text-lg);
	color: var(--color-text-100);
	text-decoration: none;
}
.site-header .flyware-logo-svg {
	height: 1.75rem;
	width: auto;
}

/* CTAs del header (Contact, Labs): light mode = fondo oscuro, texto blanco, bordes muy redondeados */
.site-header .btn-second,
.site-header a.btn-second,
.site-header button.btn-second {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	min-height: 2.5rem;
	height: 2.5rem;
	padding: 0 1rem;
	font-size: var(--text-sm);
	font-weight: 500;
	font-family: var(--font-sans);
	line-height: 1.25;
	color: var(--color-text-100-alt);
	background-color: var(--color-bg-100-alt);
	border: 1px solid transparent;
	border-radius: 9999px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.site-header .btn-second svg {
	flex-shrink: 0;
}

.site-header .btn-second:hover,
.site-header a.btn-second:hover,
.site-header button.btn-second:hover {
	background-color: var(--color-bg-200-alt);
	color: var(--color-text-100-alt);
	opacity: 0.95;
}

/* Dark mode: CTAs del header con estilo “second” (fondo oscuro, texto claro) */
.dark .site-header .btn-second,
.dark .site-header a.btn-second,
.dark .site-header button.btn-second,
html.dark .site-header .btn-second,
html.dark .site-header a.btn-second,
html.dark .site-header button.btn-second,
body.dark .site-header .btn-second,
body.dark .site-header a.btn-second,
body.dark .site-header button.btn-second {
	color: var(--color-text-100-alt);
	background-color: var(--color-bg-100);
	border: 1px solid var(--color-border-300);
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: var(--text-sm);
}
.dark .site-header .btn-second:hover,
.dark .site-header a.btn-second:hover,
.dark .site-header button.btn-second:hover,
html.dark .site-header .btn-second:hover,
html.dark .site-header a.btn-second:hover,
html.dark .site-header button.btn-second:hover,
body.dark .site-header .btn-second:hover,
body.dark .site-header a.btn-second:hover,
body.dark .site-header button.btn-second:hover {
	background-color: var(--color-bg-200);
	border-color: var(--color-border-200);
	color: var(--color-text-100-alt);
}

/* Enlaces del menú (About, Cases, Careers): sans-serif regular, gris medio, tamaño medio */
.site-header nav a[href]:not(.btn-second) {
	color: var(--color-text-300);
	font-size: var(--text-bs);
	font-weight: 400;
	font-family: var(--font-sans);
	line-height: 1.5;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-header nav a[href]:not(.btn-second):hover {
	color: var(--color-text-100);
}

/* Logo del header: en dark mode debe verse claro (fill según tema) */
.dark .site-header .flyware-logo-svg,
html.dark .site-header .flyware-logo-svg,
body.dark .site-header .flyware-logo-svg {
	fill: var(--color-text-100);
}

/* Enlaces del menú en dark mode (About, Cases, Careers): gris claro, hover blanco */
.dark .site-header nav a[href]:not(.btn-second),
html.dark .site-header nav a[href]:not(.btn-second),
body.dark .site-header nav a[href]:not(.btn-second) {
	color: var(--color-text-300);
}
.dark .site-header nav a[href]:not(.btn-second):hover,
html.dark .site-header nav a[href]:not(.btn-second):hover,
body.dark .site-header nav a[href]:not(.btn-second):hover {
	color: var(--color-text-100);
}

/* Selector de idioma en el header: dark mode — fondo y borde del pill */
.dark .site-header .bg-accent-bg-200,
html.dark .site-header .bg-accent-bg-200,
body.dark .site-header .bg-accent-bg-200,
.dark .site-header [class*="bg-accent-bg-200"],
html.dark .site-header [class*="bg-accent-bg-200"],
body.dark .site-header [class*="bg-accent-bg-200"] {
	background-color: var(--color-accent-bg-200) !important;
	border-color: var(--color-border-200) !important;
}
.dark .site-header .rounded-full a,
html.dark .site-header .rounded-full a,
body.dark .site-header .rounded-full a {
	color: inherit;
}

/* Selector de idioma (ES/EN): tipografía consistente con el menú */
.site-header .rounded-full,
.site-header [class*="bg-accent-bg-200"] {
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: 500;
}
.site-header .rounded-full a {
	line-height: 1.25;
}

/* Opción activa del selector de idioma (EN/ES seleccionado): fondo claro, texto oscuro en dark */
.dark .site-header .rounded-full .bg-white,
.dark .site-header .rounded-full .dark\:bg-neutral-800,
html.dark .site-header .rounded-full .bg-white,
html.dark .site-header .rounded-full .dark\:bg-neutral-800,
body.dark .site-header .rounded-full .bg-white,
body.dark .site-header .rounded-full .dark\:bg-neutral-800 {
	background-color: var(--color-bg-100) !important;
	color: var(--color-text-100-alt) !important;
}

/* ========== MODAL CONTACT HEADER ========== */
.fw-contact-modal {
	position: fixed;
	inset: 0;
	display: none;
	z-index: 11000;
}
.fw-contact-modal.is-open {
	display: flex;
	align-items: center;
	justify-content: center;
}
.fw-contact-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.18);
	backdrop-filter: blur(5px);
}
.fw-contact-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(92vw, 600px);
	background: var(--color-bg-100);
	border: 1px solid var(--color-border-100);
	border-radius: 14px;
	box-shadow: 0 18px 50px rgba(2, 6, 23, 0.22);
}
.fw-contact-modal-header,
.fw-contact-modal-main,
.fw-contact-modal-footer {
	padding: 1.45rem 1.55rem;
}
.fw-contact-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-border-100);
}
.fw-contact-modal-header h5 {
	margin: 0;
	font-size: 2rem;
	font-family: var(--font-display);
	font-weight: 700;
}
.fw-contact-modal-close {
	border: 0;
	background: transparent;
	color: var(--color-text-300);
	line-height: 1;
	cursor: pointer;
	padding: 0.1rem;
}
.fw-contact-modal-close svg {
	width: 1.7rem;
	height: 1.7rem;
}
.fw-contact-modal-main {
	display: flex;
	flex-direction: column;
	gap: 1.3rem;
	border-bottom: 1px solid var(--color-border-100);
	padding-top: 1.8rem;
	padding-bottom: 2rem;
}
.fw-contact-field {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}
.fw-contact-field label {
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--color-text-200);
}
.fw-contact-field input,
.fw-contact-field textarea {
	width: 100%;
	border: 1px solid var(--color-border-200);
	border-radius: 0.5rem;
	padding: 0.85rem 0.95rem;
	background: var(--color-bg-100);
	color: var(--color-text-100);
	font-size: 1rem;
}
.fw-contact-field input.is-invalid,
.fw-contact-field textarea.is-invalid {
	border-color: var(--color-negative-100, #ef4444);
	box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
}
.fw-contact-field input {
	height: 3.1rem;
}
.fw-contact-field-error {
	font-size: 0.78rem;
	color: #ef4444;
	padding-left: 0.4rem;
	min-height: 1rem;
	opacity: 0;
	transition: opacity 0.15s ease;
}
.fw-contact-field-error.is-visible {
	opacity: 1;
}
.fw-contact-modal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}
.fw-contact-mail {
	font-size: 1rem;
	line-height: 1.35;
	color: var(--color-text-200);
}
.fw-contact-submit {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	border-radius: 0.5rem;
	border-top-left-radius: 0;
	font-weight: 500;
	gap: 0.25rem;
	cursor: pointer;
	height: 2.4rem;
	padding: 0 1rem;
	font-size: 1rem;
	background: var(--color-accent-bg-200);
	border: 1px solid var(--color-border-200);
	color: var(--color-text-100);
}
.fw-contact-submit:disabled {
	opacity: 0.6;
	cursor: wait;
}
.fw-contact-feedback {
	font-size: 0.8rem;
	color: var(--color-text-300);
}
.fw-contact-feedback.is-error {
	color: #ef4444;
}
.fw-contact-feedback.is-success {
	color: #16a34a;
}
.fw-contact-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
body.fw-modal-open {
	overflow: hidden;
}
body.fw-modal-open .site-header,
body.fw-modal-open #masthead {
	pointer-events: none;
}

/* En pantallas chicas, mantener siempre visible el botón de cierre del modal. */
@media (max-width: 767px), (max-height: 760px) {
	.fw-contact-modal {
		padding: max(0.75rem, env(safe-area-inset-top)) 0.75rem max(0.75rem, env(safe-area-inset-bottom));
		overflow-y: auto;
	}
	.fw-contact-modal.is-open {
		align-items: flex-start;
	}
	.fw-contact-modal-dialog {
		width: min(100%, 600px);
		max-height: calc(100dvh - 1.5rem);
		overflow: hidden;
	}
	#fw-contact-modal-form {
		display: flex;
		flex-direction: column;
		max-height: inherit;
	}
	.fw-contact-modal-header {
		position: sticky;
		top: 0;
		z-index: 2;
		background: var(--color-bg-100);
	}
	.fw-contact-modal-main {
		overflow-y: auto;
	}
}

/* ========== BLOQUE FW PLUS BLOCK ========== */
.section-container.fw-plus-block {
	padding: 0;
}
.fw-plus-block .section-content {
	max-width: 83rem;
	margin: 0 auto;
	padding: 40px 0 40px 0;
}
.fw-plus-block {
	--fw-plus-accent: #2563eb;
	--fw-plus-accent-soft: #dbeafe;
	--fw-plus-result-1: #2563eb;
	--fw-plus-result-2: #1d4ed8;
	--fw-plus-op-bg: #eaf1ff;
	--fw-plus-op-border: #d4e2ff;
	--fw-plus-op-text: #5b78c8;
}
.fw-plus-title {
	font-family: var(--font-display);
	font-size: clamp(1.8rem, 1.3rem + 2vw, 3rem);
	font-weight: 700;
	color: var(--color-text-100);
	text-align: left;
	margin: 0 0 clamp(2rem, 3vw, 3.5rem);
}
.fw-plus-kicker {
	display: inline-block;
	margin: 0 0 0.8rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-orange-500, #f97316);
	font-size: 0.95rem;
	letter-spacing: 0.12em;
	font-weight: 700;
	font-family: var(--font-mono), "JetBrains Mono", monospace;
	text-transform: lowercase;
}
.fw-plus-block .fw-plus-kicker {
	display: inline-block;
}
.fw-plus-description {
	max-width: 54ch;
	margin: -1rem 0 2rem;
	text-align: left;
	color: var(--color-text-200);
}
.fw-plus-equation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}
.fw-plus-card {
	flex: 1 1 280px;
	max-width: 340px;
	min-height: 220px;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.35rem;
	border-radius: 1rem;
	padding: 2rem;
	border: 1px solid var(--fw-plus-accent-soft);
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
}
.fw-plus-card.is-regular {
	background: linear-gradient(135deg, #f8fafc, #eff6ff);
}
.fw-plus-card.is-result {
	color: #fff;
	background: linear-gradient(135deg, var(--fw-plus-result-1), var(--fw-plus-result-2));
	border-color: var(--fw-plus-accent);
	box-shadow: 0 18px 34px rgba(37, 99, 235, 0.35);
}
.fw-plus-card-title {
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 1.2rem + 0.5vw, 1.9rem);
	line-height: 1.2;
	text-align: left;
	margin: 0 0 0.7rem;
	color: inherit;
	width: 100%;
}
.fw-plus-card.is-regular .fw-plus-card-title {
	color: var(--color-text-100);
}
.fw-plus-card-body {
	margin: 0;
	text-align: left;
	font-size: 1.05rem;
	color: var(--color-text-200);
	width: 100%;
	max-width: 26ch;
	flex-grow: 0;
}
.fw-plus-card .fw-plus-card-title,
.fw-plus-card .fw-plus-card-body {
	text-align: left !important;
}
.fw-plus-card.is-result .fw-plus-card-body {
	color: rgba(219, 234, 254, 0.95);
}
.fw-plus-operator {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	width: 2.55rem;
	height: 2.55rem;
	border-radius: 999px;
	background: var(--fw-plus-op-bg);
	border: 1px solid var(--fw-plus-op-border);
	color: var(--fw-plus-op-text);
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
}
.fw-plus-operator-char {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: translateY(-0.5px);
}
@media (max-width: 767px) {
	.fw-plus-equation {
		flex-direction: column;
		align-items: stretch;
		gap: 0.9rem;
	}
	.fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular,
	.fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result {
		background: #f8fafc;
		border-color: #e5e7eb;
		box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
		color: var(--color-text-100);
		width: 90%;
		margin: 0 auto;
	}
	.fw-plus-card {
		flex: 1 1 auto;
		max-width: 90%;
		min-height: 150px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 0.35rem;
		border-radius: 1rem;
		padding: 0 2rem;
		border: 1px solid var(--fw-plus-accent-soft);
		box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
		height: inherit;
	}
	.fw-plus-operator {
		display: inline-flex;
		margin: 0.15rem 0 0.35rem;
	}
}
.fw-plus-block[data-theme-color="orange"] { --fw-plus-accent:#f97316; --fw-plus-accent-soft:#fed7aa; --fw-plus-result-1:#f97316; --fw-plus-result-2:#ea580c; --fw-plus-op-bg:#fff0e6; --fw-plus-op-border:#ffd7bf; --fw-plus-op-text:#d97706; }
.fw-plus-block[data-theme-color="blue"] { --fw-plus-accent:#2563eb; --fw-plus-accent-soft:#bfdbfe; --fw-plus-result-1:#2563eb; --fw-plus-result-2:#1d4ed8; --fw-plus-op-bg:#eaf1ff; --fw-plus-op-border:#d4e2ff; --fw-plus-op-text:#5b78c8; }
.fw-plus-block[data-theme-color="green"] { --fw-plus-accent:#10b981; --fw-plus-accent-soft:#a7f3d0; --fw-plus-result-1:#10b981; --fw-plus-result-2:#059669; --fw-plus-op-bg:#e8fbf3; --fw-plus-op-border:#c7f3df; --fw-plus-op-text:#0f8f69; }
.fw-plus-block[data-theme-color="pink"] { --fw-plus-accent:#ec4899; --fw-plus-accent-soft:#fbcfe8; --fw-plus-result-1:#ec4899; --fw-plus-result-2:#db2777; --fw-plus-op-bg:#ffeaf4; --fw-plus-op-border:#ffd0e7; --fw-plus-op-text:#be2f78; }
.fw-plus-block[data-theme-color="red"] { --fw-plus-accent:#ef4444; --fw-plus-accent-soft:#fecaca; --fw-plus-result-1:#ef4444; --fw-plus-result-2:#dc2626; --fw-plus-op-bg:#ffeded; --fw-plus-op-border:#ffd0d0; --fw-plus-op-text:#c83b3b; }
.fw-plus-block[data-theme-color="violet"] { --fw-plus-accent:#8b5cf6; --fw-plus-accent-soft:#ddd6fe; --fw-plus-result-1:#8b5cf6; --fw-plus-result-2:#7c3aed; --fw-plus-op-bg:#f2ecff; --fw-plus-op-border:#e0d3ff; --fw-plus-op-text:#6d46ca; }
.fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular,
.fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result {
	background: #f8fafc;
	border-color: #e5e7eb;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
	color: var(--color-text-100);
}
.fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result .fw-plus-card-title {
	color: var(--color-text-100);
}
.fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result .fw-plus-card-body {
	color: var(--color-text-200);
}
.fw-plus-block[data-theme-color="original"] .fw-plus-operator {
	background: #f1f5f9;
	border-color: #e2e8f0;
	color: #60a5fa;
}
.dark .fw-plus-title {
	color: #fff;
}
.dark .fw-plus-kicker {
	background: transparent;
	border: 0;
	color: var(--color-orange-400, #fb923c);
}
.dark .fw-plus-description {
	color: var(--color-text-200);
}
.dark .fw-plus-card.is-regular {
	background: linear-gradient(135deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.95));
	border-color: rgba(148, 163, 184, 0.3);
}
.dark .fw-plus-card.is-regular .fw-plus-card-title {
	color: #fff;
}
.dark .fw-plus-card.is-regular .fw-plus-card-body {
	color: #cbd5e1;
}
.dark .fw-plus-operator {
	background: rgba(30, 41, 59, 0.95);
	border-color: rgba(100, 116, 139, 0.45);
	color: #dbeafe;
}

/*
 * Tema "original": los estilos en .fw-plus-block[data-theme-color="original"] ganan en
 * especificidad a .dark .fw-plus-card.*; sin esto el modo oscuro no aplica en front.
 */
.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular,
.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result,
html.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular,
html.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result,
body.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular,
body.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result {
	background: linear-gradient(135deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.95));
	border-color: rgba(148, 163, 184, 0.3);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
}
.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular .fw-plus-card-title,
.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result .fw-plus-card-title,
html.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular .fw-plus-card-title,
html.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result .fw-plus-card-title,
body.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular .fw-plus-card-title,
body.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result .fw-plus-card-title {
	color: #fff;
}
.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular .fw-plus-card-body,
.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result .fw-plus-card-body,
html.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular .fw-plus-card-body,
html.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result .fw-plus-card-body,
body.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-regular .fw-plus-card-body,
body.dark .fw-plus-block[data-theme-color="original"] .fw-plus-card.is-result .fw-plus-card-body {
	color: #cbd5e1;
}
.dark .fw-plus-block[data-theme-color="original"] .fw-plus-operator,
html.dark .fw-plus-block[data-theme-color="original"] .fw-plus-operator,
body.dark .fw-plus-block[data-theme-color="original"] .fw-plus-operator {
	background: rgba(30, 41, 59, 0.95);
	border-color: rgba(100, 116, 139, 0.45);
	color: #dbeafe;
}

/* Preview en editor */
.fw-plus-block-preview {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 16px;
}
.fw-plus-preview-row {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}
.fw-plus-preview-card {
	padding: 10px 14px;
	border-radius: 10px;
	background: linear-gradient(135deg, #f8fafc, #eff6ff);
	border: 1px solid var(--fw-plus-accent-soft);
}
.fw-plus-preview-card.is-result {
	background: linear-gradient(135deg, var(--fw-plus-result-1), var(--fw-plus-result-2));
	border-color: var(--fw-plus-accent);
	color: #fff;
}
.fw-plus-block-preview[data-theme-color="original"] .fw-plus-preview-card {
	background: #f8fafc;
	border-color: #e5e7eb;
	color: var(--color-text-100);
}
.fw-plus-block-preview[data-theme-color="original"] .fw-plus-preview-card.is-result {
	background: #f8fafc;
	border-color: #e5e7eb;
	color: var(--color-text-100);
}
.fw-plus-preview-op {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--fw-plus-op-bg);
	border: 1px solid var(--fw-plus-op-border);
	color: var(--fw-plus-op-text);
	font-size: 20px;
	font-weight: 700;
}
.fw-plus-block-preview[data-theme-color="original"] .fw-plus-preview-op {
	background: #f1f5f9;
	border-color: #e2e8f0;
	color: #60a5fa;
}

/* ========== BLOQUE FW NEW LABS ========== */
.fw-new-labs-block .section-content {
	max-width: 83rem;
	margin: 0 auto;
	padding: 40px 0 40px 0;
}
.fw-new-labs-block {
	--fw-labs-accent: #2563eb;
	--fw-labs-accent-soft: #bfdbfe;
}
.fw-new-labs-header {
	text-align: left;
	max-width: 58rem;
	margin: 0 0 clamp(2rem, 4vw, 3rem);
}
.fw-new-labs-kicker {
	color: var(--color-orange-500, #f97316);
	font-size: 0.9rem;
	letter-spacing: 0.12em;
	font-family: var(--font-mono), "JetBrains Mono", monospace;
	margin-bottom: 0.8rem;
	text-align: left;
}
.fw-new-labs-title {
	font-family: var(--font-display);
	font-size: clamp(2rem, 1.4rem + 2vw, 3.2rem);
	font-weight: 700;
	color: var(--color-text-100);
	margin: 0 0 0.9rem;
	text-align: left;
}
.fw-new-labs-description {
	margin: 0;
	color: var(--color-text-200);
	font-size: 1.05rem;
	text-align: left;
}
.fw-new-labs-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.75rem, 4vw, 2.5rem);
	align-items: stretch;
	position: relative;
}
.fw-new-labs-grid::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 6.55rem;
	border-top: 1px dotted #b8c2d1;
	pointer-events: none;
	z-index: 2;
}
.fw-new-labs-mobile-nav {
	display: none;
}
.fw-new-labs-grid.cards-1 {
	grid-template-columns: 1fr;
}
.fw-new-labs-card {
	background: #fff;
	border: 0;
	border-radius: 1rem;
	padding: clamp(2rem, 4vw, 2.75rem);
	box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
	transition: none;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 2rem);
}
.fw-new-labs-card:hover {
	border: 0;
	box-shadow: none;
	transform: none;
}
.fw-new-labs-card.span-full {
	grid-column: 1 / -1;
}
.fw-new-labs-card-title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.7rem, 1.3rem + 0.8vw, 2.1rem);
	color: var(--color-text-100);
	padding-bottom: 1.15rem;
	position: relative;
	z-index: 3;
}
.fw-new-labs-card-title a {
	color: inherit;
	text-decoration: none;
}
.fw-new-labs-card-title a:hover {
	text-decoration: underline;
}
.fw-new-labs-card-description {
	margin: 0;
	color: var(--color-text-200);
	font-size: 0.98rem;
	line-height: 1.6;
}
.fw-new-labs-section {
	margin-top: 0;
}
.fw-new-labs-section + .fw-new-labs-section {
	margin-top: 0;
}
.fw-new-labs-section-label {
	margin: 0 0 1rem;
	font-size: 0.74rem;
	letter-spacing: 0.12em;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--color-text-300);
}
.fw-new-labs-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.5rem;
}
.fw-new-labs-list li {
	position: relative;
	padding-left: 1rem;
	color: var(--color-text-200);
	font-size: 0.96rem;
	line-height: 1.45;
}
.fw-new-labs-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58rem;
	width: 0.28rem;
	height: 0.28rem;
	border-radius: 999px;
	background: var(--fw-labs-accent);
}
.fw-new-labs-success-cases {
	display: grid;
	gap: 0.65rem;
}
.fw-new-labs-success-case {
	border-radius: 0.68rem;
	border-top-left-radius: 0;
	border: 1px solid #e2e8f0;
	display: flex;
	align-items: center;
	padding: 0.88rem 1.05rem;
	background: #f8fafc;
	min-height: 2.5rem;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.fw-new-labs-success-case-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	width: 100%;
	color: #7c8da4;
	font-size: 0.82rem;
	line-height: 1.2;
	font-family: var(--font-mono), "JetBrains Mono", monospace;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
}
.fw-new-labs-success-more {
	opacity: 0;
	transform: translateX(-3px);
	transition: opacity 160ms ease, transform 160ms ease;
	font-size: 0.76rem;
	letter-spacing: 0.03em;
}
.fw-new-labs-success-case[data-case-color="neutral"] {
	background: #eef3f7;
	border-color: #e1e8ef;
	--fw-case-hover-bg: #d8e3ec;
	--fw-case-hover-border: #c8d6e2;
	--fw-case-hover-text: #ffffff;
}
.fw-new-labs-success-case[data-case-color="orange"] {
	background: #fff1e8;
	border-color: #ffd9c2;
	--fw-case-hover-bg: #f39a53;
	--fw-case-hover-border: #ec8740;
	--fw-case-hover-text: #ffffff;
}
.fw-new-labs-success-case[data-case-color="blue"] {
	background: #eaf1f7;
	border-color: #dbe6f3;
	--fw-case-hover-bg: #35a4e7;
	--fw-case-hover-border: #2b95d3;
	--fw-case-hover-text: #ffffff;
}
.fw-new-labs-success-case[data-case-color="green"] {
	background: #edf7f4;
	border-color: #dbeee8;
	--fw-case-hover-bg: #2dd4ab;
	--fw-case-hover-border: #20c49d;
	--fw-case-hover-text: #ffffff;
}
.fw-new-labs-success-case[data-case-color="pink"] {
	background: #ffeef7;
	border-color: #ffd7ea;
	--fw-case-hover-bg: #e17cb1;
	--fw-case-hover-border: #d86aa4;
	--fw-case-hover-text: #ffffff;
}
.fw-new-labs-success-case[data-case-color="red"] {
	background: #ffeef0;
	border-color: #ffd3d8;
	--fw-case-hover-bg: #e17584;
	--fw-case-hover-border: #d86676;
	--fw-case-hover-text: #ffffff;
}
.fw-new-labs-success-case[data-case-color="violet"] {
	background: #f3efff;
	border-color: #e1d7ff;
	--fw-case-hover-bg: #8a6ad8;
	--fw-case-hover-border: #7b59cb;
	--fw-case-hover-text: #ffffff;
}
.fw-new-labs-success-case[data-case-color="orange"] .fw-new-labs-success-case-label { color: #c26a2a; }
.fw-new-labs-success-case[data-case-color="blue"] .fw-new-labs-success-case-label { color: #4c79c7; }
.fw-new-labs-success-case[data-case-color="green"] .fw-new-labs-success-case-label { color: #1f9b79; }
.fw-new-labs-success-case[data-case-color="pink"] .fw-new-labs-success-case-label { color: #b94f88; }
.fw-new-labs-success-case[data-case-color="red"] .fw-new-labs-success-case-label { color: #c15a67; }
.fw-new-labs-success-case[data-case-color="violet"] .fw-new-labs-success-case-label { color: #7557bd; }
a.fw-new-labs-success-case-label:hover {
	text-decoration: underline;
}
.fw-new-labs-success-case.is-link:hover,
.fw-new-labs-success-case.is-link:focus-within {
	background: var(--fw-case-hover-bg);
	border-color: var(--fw-case-hover-border);
}
.fw-new-labs-success-case.is-link:hover .fw-new-labs-success-case-label,
.fw-new-labs-success-case.is-link:focus-within .fw-new-labs-success-case-label,
.fw-new-labs-success-case.is-link:hover .fw-new-labs-success-case-label span,
.fw-new-labs-success-case.is-link:focus-within .fw-new-labs-success-case-label span {
	color: var(--fw-case-hover-text);
	text-decoration: none;
}
.fw-new-labs-success-case.is-link:hover .fw-new-labs-success-more,
.fw-new-labs-success-case.is-link:focus-within .fw-new-labs-success-more {
	opacity: 1;
	transform: translateX(0);
}
.fw-new-labs-tech-card {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	border: 1px solid #f1dfbe;
	background: #fff;
	border-radius: 1rem;
	border-top-left-radius: 0;
	padding: 25px 1rem;
}
.fw-new-labs-tech-icon {
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	border: 1px solid #e7edf3;
	background: #f8fbff;
	color: #6b7f9c;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.fw-new-labs-tech-text {
	margin: 0;
	color: #22396c;
	font-size: 0.94rem;
	font-weight: 600;
	line-height: 1.35;
}
@media (max-width: 767px) {
	.fw-new-labs-grid::before {
		top: 6.1rem;
	}
	.fw-new-labs-success-cases {
		gap: 0.55rem;
	}
}
.fw-new-labs-block[data-theme-color="orange"] { --fw-labs-accent:#f97316; --fw-labs-accent-soft:#fed7aa; }
.fw-new-labs-block[data-theme-color="blue"] { --fw-labs-accent:#2563eb; --fw-labs-accent-soft:#bfdbfe; }
.fw-new-labs-block[data-theme-color="green"] { --fw-labs-accent:#059669; --fw-labs-accent-soft:#a7f3d0; }
.fw-new-labs-block[data-theme-color="pink"] { --fw-labs-accent:#db2777; --fw-labs-accent-soft:#fbcfe8; }
.fw-new-labs-block[data-theme-color="red"] { --fw-labs-accent:#dc2626; --fw-labs-accent-soft:#fecaca; }
.fw-new-labs-block[data-theme-color="violet"] { --fw-labs-accent:#7c3aed; --fw-labs-accent-soft:#ddd6fe; }
.dark .fw-new-labs-title {
	color: #fff;
}
.dark .fw-new-labs-description {
	color: var(--color-text-200);
}
.dark .fw-new-labs-card {
	background: rgba(15, 23, 42, 0.96);
	border: 0;
	box-shadow: 0 8px 32px rgba(2, 6, 23, 0.45);
}
.dark .fw-new-labs-card-title {
	color: #fff;
}
.dark .fw-new-labs-list li,
.dark .fw-new-labs-card-description,
.dark .fw-new-labs-success-case-label {
	color: #cbd5e1;
}
.dark .fw-new-labs-success-case {
	background: rgba(30, 41, 59, 0.75);
	border-color: rgba(148, 163, 184, 0.3);
}
.dark .fw-new-labs-tech-card {
	border-color: #f1dfbe;
	background: rgba(15, 23, 42, 0.6);
}
.dark .fw-new-labs-tech-icon {
	border-color: rgba(148, 163, 184, 0.35);
	background: rgba(15, 23, 42, 0.72);
	color: #cbd5e1;
}
.dark .fw-new-labs-tech-text {
	color: #dbeafe;
}
@media (max-width: 991px) {
	.fw-new-labs-grid {
		grid-template-columns: 1fr;
	}
	.fw-new-labs-card.span-full {
		grid-column: auto;
	}
}
@media (max-width: 767px) {
	.fw-new-labs-mobile-nav {
		display: none;
	}
	.fw-new-labs-arrow {
		width: 2.2rem;
		height: 2.2rem;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(148, 163, 184, 0.45);
		background: var(--color-bg-100);
		color: var(--color-text-100);
		cursor: pointer;
		transition: all 0.2s ease;
	}
	.fw-new-labs-arrow:hover:not(:disabled) {
		transform: translateY(-1px);
		border-color: color-mix(in srgb, var(--fw-labs-accent) 46%, #94a3b8 54%);
		color: var(--fw-labs-accent);
	}
	.fw-new-labs-arrow:disabled {
		opacity: 0.45;
		cursor: not-allowed;
	}
	.fw-new-labs-grid-wrapper {
		overflow: visible;
	}
	.fw-new-labs-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.5rem;
		overflow: visible;
		padding: 0;
		scroll-snap-type: none;
	}
	.fw-new-labs-grid::-webkit-scrollbar {
		display: none;
	}
	.fw-new-labs-grid .fw-new-labs-card,
	.fw-new-labs-grid .fw-new-labs-card.span-full {
		flex: initial;
		min-width: auto;
		max-width: none;
		scroll-snap-align: unset;
		grid-column: auto;
	}
	.dark .fw-new-labs-arrow,
	html.dark .fw-new-labs-arrow,
	body.dark .fw-new-labs-arrow {
		background: var(--color-bg-300);
		color: var(--color-text-050);
		border-color: rgba(148, 163, 184, 0.35);
	}
	.dark .fw-new-labs-arrow:hover:not(:disabled),
	html.dark .fw-new-labs-arrow:hover:not(:disabled),
	body.dark .fw-new-labs-arrow:hover:not(:disabled) {
		border-color: color-mix(in srgb, var(--fw-labs-accent) 55%, #94a3b8 45%);
		color: color-mix(in srgb, white 35%, var(--fw-labs-accent) 65%);
	}
}
