.elementor-30744 .elementor-element.elementor-element-50de36b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-30744 .elementor-element.elementor-element-a715a56{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-30744 .elementor-element.elementor-element-8fec78d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:6px 6px;--row-gap:6px;--column-gap:6px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-30744 .elementor-element.elementor-element-b3234c3{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--padding-top:56px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-30744 .elementor-element.elementor-element-7edbe29{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-30744 .elementor-element.elementor-element-3a858a4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-30744 .elementor-element.elementor-element-001ba2a{--grid-columns:1;--grid-row-gap:32px;}.elementor-30744 .elementor-element.elementor-element-fa9cbc1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-30744 .elementor-element.elementor-element-83ac4e5 .elementor-button-content-wrapper{flex-direction:row;}.elementor-30744 .elementor-element.elementor-element-83ac4e5 .elementor-button .elementor-button-content-wrapper{gap:16px;}.elementor-30744 .elementor-element.elementor-element-998a6ad{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-30744 .elementor-element.elementor-element-c319b06{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:24px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-30744 .elementor-element.elementor-element-94d1402{--grid-columns:3;--grid-row-gap:40px;}@media(max-width:1024px){.elementor-widget-theme-post-featured-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-30744 .elementor-element.elementor-element-001ba2a{--grid-columns:1;}.elementor-widget-theme-post-content{font-size:var( --e-global-typography-text-font-size );}.elementor-30744 .elementor-element.elementor-element-94d1402{--grid-columns:2;}}@media(max-width:767px){.elementor-30744 .elementor-element.elementor-element-50de36b{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-30744 .elementor-element.elementor-element-a715a56{--width:100%;}.elementor-widget-theme-post-featured-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-30744 .elementor-element.elementor-element-8fec78d{--width:100%;}.elementor-30744 .elementor-element.elementor-element-b3234c3{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-30744 .elementor-element.elementor-element-7edbe29{--width:100%;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-30744 .elementor-element.elementor-element-001ba2a{--grid-columns:1;}.elementor-30744 .elementor-element.elementor-element-fa9cbc1{--width:100%;}.elementor-widget-theme-post-content{font-size:var( --e-global-typography-text-font-size );}.elementor-30744 .elementor-element.elementor-element-94d1402{--grid-columns:1;}}@media(min-width:768px){.elementor-30744 .elementor-element.elementor-element-a715a56{--width:50%;}.elementor-30744 .elementor-element.elementor-element-8fec78d{--width:50%;}.elementor-30744 .elementor-element.elementor-element-7edbe29{--width:30%;}.elementor-30744 .elementor-element.elementor-element-fa9cbc1{--width:70%;}}/* Start custom CSS *//* Template de case study (Single Case Study 2026) — mismo lenguaje visual que
   Single Post 2026. Clases tfw-case-* se asignan en Avanzado > Clases CSS; los
   bloques PROJECT DETAILS y "Solution used" los genera el tema (inc/case-study.php).
   Los textos usan el prefijo .elementor para ganarle al color global del Kit. */

/* ---------- Hero ---------- */
.tfw-case-hero,
.tfw-case-hero__media {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
}

.tfw-case-hero {
	align-items: stretch;
}

.tfw-case-hero__media,
.tfw-case-hero__media .elementor-widget,
.tfw-case-hero__media .elementor-widget-container {
	height: 100%;
}

.tfw-case-hero__media {
	min-height: 480px;
	background-color: #d9dce0;
}

.tfw-case-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 480px;
	object-fit: cover;
}

.tfw-case-hero__panel {
	justify-content: center;
	padding: 140px clamp(1.5rem, 4vw, 4rem) 56px;
	background-color: #fff;
}

.elementor .tfw-case-eyebrow {
	margin: 0 0 0.5rem;
	color: #231f20;
	font-size: clamp(0.95rem, 1.3vw, 1.2rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

.elementor .tfw-case-title .elementor-heading-title {
	margin: 0;
	color: #231f20;
	font-size: clamp(2rem, 3.6vw, 3.4rem);
	font-weight: 800;
	letter-spacing: 0.005em;
	line-height: 1.02;
	text-transform: uppercase;
}

/* ---------- Layout ---------- */
.tfw-case-layout {
	align-items: flex-start;
}

.tfw-case-sidebar {
	flex: 0 0 30%;
	min-width: 0;
}

.tfw-case-main {
	flex: 1 1 0;
	min-width: 0;
}

/* ---------- Project details ---------- */
.tfw-case-details {
	padding: 4px 0 4px 20px;
	border-left: 2px solid #dc272d;
}

.elementor .tfw-case-details__title {
	margin: 0 0 1.25rem;
	color: #231f20;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tfw-case-details dl {
	margin: 0;
}

.elementor .tfw-case-details dt {
	margin: 0 0 0.45rem;
	color: #231f20;
	font-size: 0.85rem;
	font-weight: 400;
	line-height: 1.3;
}

.elementor .tfw-case-details dd {
	margin: 0 0 1.4rem;
	color: #231f20;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.45;
}

.elementor .tfw-case-details dd:last-child {
	margin-bottom: 0.25rem;
}

/* ---------- CTA del lateral ---------- */
.tfw-case-cta-card {
	padding: 28px 24px 26px;
	background-color: #22262b;
	text-align: center;
}

.elementor .tfw-case-cta-card__title .elementor-heading-title {
	margin: 0 0 1rem;
	color: #fff;
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	font-weight: 800;
	line-height: 1.12;
	text-transform: uppercase;
}

.elementor .tfw-case-cta-card__text,
.elementor .tfw-case-cta-card__text p {
	margin: 0 0 1rem;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
}

.elementor .tfw-case-side-title .elementor-heading-title {
	margin: 0;
	color: #231f20;
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	font-weight: 800;
	line-height: 1.08;
	text-transform: uppercase;
}

/* ---------- Tarjetas del lateral ---------- */
.tfw-case-related-grid .elementor-loop-container {
	gap: 2rem;
}

.tfw-case-related-card__media,
.tfw-case-related-card__media .elementor-widget-container,
.tfw-case-related-card__media a {
	display: block;
	width: 100%;
}

.tfw-case-related-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 12 / 5;
	object-fit: cover;
	background-color: #d9dce0;
}

.elementor .tfw-case-related-card__title .elementor-heading-title,
.elementor .tfw-case-related-card__title .elementor-heading-title a,
.elementor .tfw-case-more-card__title .elementor-heading-title,
.elementor .tfw-case-more-card__title .elementor-heading-title a {
	margin: 0;
	color: #231f20;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
}

/* ---------- Contenido ---------- */
.elementor .tfw-case-back .elementor-button {
	padding: 0;
	border: 0;
	background: none;
	color: #231f20;
	font-size: 1.05rem;
	font-weight: 400;
	text-transform: none;
	box-shadow: none;
}

.elementor .tfw-case-back .elementor-button-icon {
	font-size: 0.8em;
}

.elementor .tfw-case-back .elementor-button:hover {
	background: none;
	color: #128ccd;
}

.tfw-case-panel {
	padding: 28px clamp(1.25rem, 2.5vw, 1.5rem) 32px;
	background-color: #f4f4f4;
}

.elementor .tfw-case-content {
	color: #2f3133;
	font-size: 0.9rem;
	line-height: 1.55;
}

.tfw-case-content p {
	margin: 0 0 1rem;
}

/* El contenido viejo mezcla h1..h6 para los mismos titulos (Overview, Challenge...);
   todos se ven igual que en el diseno. */
.elementor .tfw-case-content h1,
.elementor .tfw-case-content h2,
.elementor .tfw-case-content h3,
.elementor .tfw-case-content h4,
.elementor .tfw-case-content h5,
.elementor .tfw-case-content h6 {
	margin: 2rem 0 0.6rem;
	color: #231f20;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
	text-transform: none;
}

.elementor .tfw-case-content h5,
.elementor .tfw-case-content h6 {
	font-size: 1rem;
}

.elementor .tfw-case-content > :first-child,
.elementor .tfw-case-content .postcontent > :first-child {
	margin-top: 0;
}

.tfw-case-content ul,
.tfw-case-content ol {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.tfw-case-content a {
	color: #128ccd;
}

.tfw-case-content img,
.tfw-case-content iframe,
.tfw-case-content video {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 1.5rem 0;
}

.tfw-case-content iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.tfw-case-content .wp-caption {
	max-width: 100%;
}

/* Las imagenes viejas vienen con alignleft/alignright y el texto se envolvia mal
   (listas partidas). En el panel van a bloque completo, como en el diseno. */
.tfw-case-content .alignleft,
.tfw-case-content .alignright,
.tfw-case-content .aligncenter,
.tfw-case-content img[align] {
	float: none;
	display: block;
	margin: 1.5rem 0;
}

/* ---------- Solution used ---------- */
.tfw-case-solutions {
	padding: 20px clamp(1.25rem, 2.5vw, 1.5rem) 24px;
	background-color: #f4f4f4;
}

.elementor .tfw-case-solutions__title {
	margin: 0 0 0.75rem;
	color: #231f20;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
	text-transform: none;
}

.tfw-case-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.elementor .tfw-case-pill {
	display: inline-block;
	padding: 0.65rem 1.1rem;
	border: 1px solid #128ccd;
	border-radius: 2px;
	background-color: rgb(18 140 205 / 0.06);
	color: #128ccd;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 160ms ease, color 160ms ease;
}

.elementor a.tfw-case-pill:hover,
.elementor a.tfw-case-pill:focus-visible {
	background-color: #128ccd;
	color: #fff;
}

/* ---------- More case studies ---------- */
.tfw-case-more {
	align-items: flex-start;
}

.elementor .tfw-case-more__title .elementor-heading-title {
	margin: 0;
	color: #231f20;
	font-size: var(--tw-h2-size, clamp(28px, 3.4vw, 42px));
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
}

.elementor .tfw-case-more__sub .elementor-heading-title {
	margin: 0 0 1.5rem;
	color: #231f20;
	font-size: 0.95rem;
	font-weight: 400;
}

.tfw-case-more-grid {
	width: 100%;
}

.tfw-case-more-card {
	height: 100%;
	padding-left: 20px;
	border-left: 1px solid #128ccd;
}

.tfw-case-more-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background-color: #d9dce0;
}

.elementor .tfw-case-industry {
	margin: 0.25rem 0 0;
	color: #231f20;
	font-size: 0.85rem;
	font-style: italic;
	line-height: 1.2;
}

.elementor .tfw-case-excerpt {
	margin: 0.5rem 0 0;
	color: #231f20;
	font-size: 0.85rem;
	line-height: 1.3;
}

.tfw-case-more-card__link {
	margin-top: auto;
}

.elementor .tfw-case-more-card__link .elementor-button {
	padding: 0;
	border: 0;
	background: none;
	color: #128ccd;
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: none;
	box-shadow: none;
}

.elementor .tfw-case-more-card__link .elementor-button:hover {
	background: none;
	color: #0b6a9c;
}

/* ---------- Botones (sistema .tfw-btn sobre a.elementor-button) ---------- */
.elementor .tfw-case-btn-blue .elementor-button,
.elementor .tfw-case-btn-red .elementor-button {
	--tfw-btn-rgb: var(--tfw-blue-rgb, 18 140 205);
	--tfw-btn-fill-alpha: 0.06;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 28px;
	border: 1px solid rgb(var(--tfw-btn-rgb));
	border-radius: 2px;
	background-color: rgb(var(--tfw-btn-rgb) / var(--tfw-btn-fill-alpha));
	color: rgb(var(--tfw-btn-rgb));
	font-family: "azo-sans-web", "Helvetica Neue", Arial, sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.elementor .tfw-case-related-card__button .elementor-button {
	min-width: 160px;
}

.elementor .tfw-case-btn-red .elementor-button {
	--tfw-btn-rgb: var(--tfw-red-rgb, 220 39 45);
	--tfw-btn-fill-alpha: 0.4;
	color: #fff;
}

.elementor .tfw-case-btn-blue .elementor-button:hover,
.elementor .tfw-case-btn-blue .elementor-button:focus-visible,
.elementor .tfw-case-btn-red .elementor-button:hover,
.elementor .tfw-case-btn-red .elementor-button:focus-visible {
	background-color: rgb(var(--tfw-btn-rgb));
	border-color: rgb(var(--tfw-btn-rgb));
	color: #fff;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.tfw-case-sidebar {
		flex-basis: 34%;
	}
}

@media (max-width: 767px) {
	.tfw-case-hero__media,
	.tfw-case-hero__media img {
		min-height: 260px;
	}

	.tfw-case-hero__panel {
		padding: 2rem 1.5rem;
	}

	/* En movil: detalles, contenido y despues CTA y relacionados. El lateral se
	   "disuelve" para que sus piezas se ordenen junto al contenido. */
	.tfw-case-sidebar {
		display: contents;
	}

	.tfw-case-sidebar__details { order: 1; }
	.tfw-case-main { order: 2; width: 100%; }
	.tfw-case-cta-card { order: 3; width: 100%; }
	.tfw-case-side-title { order: 4; }
	.tfw-case-related-grid { order: 5; width: 100%; }

	.tfw-case-panel {
		padding: 24px 16px;
	}

	.tfw-case-more-card {
		padding-left: 14px;
	}
}/* End custom CSS */