/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.1.0
Text Domain:  Avada
*/

/* =========================================================================
   Burnout Garage - capa de diseño (What! Marketing)
   ========================================================================= */

:root {
	--bg-red: #e73121;
	--bg-ink: #111111;
	--bg-ease: cubic-bezier(.19, 1, .22, 1);
}

/* ---------- Tipografía con más peso ---------- */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.fusion-text p,
.fusion-text li {
	font-weight: 500;
}

.fusion-text b,
.fusion-text strong {
	font-weight: 800;
}

.fusion-title .fusion-title-heading {
	letter-spacing: -0.015em;
}

/* ---------- Header blanco y fijo ---------- */
.fusion-tb-header {
	position: sticky;
	top: 0;
	z-index: 10000;
	background: #fff;
	transition: box-shadow .3s ease;
}

body.admin-bar .fusion-tb-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .fusion-tb-header {
		top: 0;
	}
}

.fusion-tb-header > .fusion-fullwidth {
	background-color: #fff !important;
	background-image: none !important;
}

.bg-scrolled .fusion-tb-header {
	box-shadow: 0 6px 24px rgba(0, 0, 0, .08);
}

.fusion-tb-header .awb-menu__main-a {
	font-weight: 800;
	letter-spacing: .06em;
	position: relative;
}

@media (min-width: 1025px) {
	.fusion-tb-header .awb-menu__main-a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -6px;
		height: 3px;
		background: var(--bg-red);
		transform: scaleX(0);
		transform-origin: right;
		transition: transform .45s var(--bg-ease);
	}

	.fusion-tb-header .awb-menu__main-a:hover::after,
	.fusion-tb-header .current-menu-item > .awb-menu__main-a::after {
		transform: scaleX(1);
		transform-origin: left;
	}
}

/* ---------- Botones más contundentes ---------- */
.fusion-button {
	border-radius: 0 !important;
	transition: background-color .3s ease, color .3s ease, transform .3s var(--bg-ease), box-shadow .3s ease !important;
}

.fusion-button .fusion-button-text {
	font-weight: 800;
	letter-spacing: .06em;
}

.fusion-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(231, 49, 33, .28);
}

/* ---------- Portada de la home ---------- */
.home #main .fusion-fullwidth:first-child {
	min-height: min(88vh, 820px);
	display: flex;
	align-items: center;
	overflow: hidden;
}

.home #main .fusion-fullwidth:first-child > .fusion-builder-row {
	width: 100%;
	position: relative;
	z-index: 2;
}

.home #main .fusion-fullwidth:first-child::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .55) 100%);
	pointer-events: none;
}

.bg-kicker .fusion-title-heading,
h1.bg-kicker,
.bg-kicker h1 {
	font-size: clamp(13px, 1.1vw, 16px) !important;
	letter-spacing: .28em !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}

.bg-kicker .fusion-title-heading::before {
	content: "";
	display: inline-block;
	width: 36px;
	height: 3px;
	background: var(--bg-red);
	vertical-align: middle;
	margin: -3px 14px 0 0;
}

.home #main .fusion-fullwidth:first-child h2 {
	font-size: clamp(40px, 6.2vw, 92px) !important;
	line-height: .95 !important;
	letter-spacing: -0.02em;
	text-shadow: 0 6px 30px rgba(0, 0, 0, .35);
}

/* ---------- Texto largo plegable ---------- */
.bg-leer-mas.bg-clamp {
	position: relative;
	max-height: var(--bg-clamp, 210px);
	overflow: hidden;
	transition: max-height .8s var(--bg-ease);
}

.bg-leer-mas.bg-clamp::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 90px;
	background: linear-gradient(rgba(255, 255, 255, 0), var(--bg-fade, #fff));
	pointer-events: none;
	transition: opacity .4s ease;
}

.bg-leer-mas.bg-open::after {
	opacity: 0;
}

.bg-dark-fade {
	--bg-fade: #1d1d1d;
}

.bg-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bg-red);
	cursor: pointer;
}

.bg-toggle::after {
	content: "+";
	font-size: 18px;
	line-height: 1;
	transition: transform .4s var(--bg-ease);
}

.bg-toggle[aria-expanded="true"]::after {
	transform: rotate(45deg);
}

/* ---------- Acordeón de proyectos ---------- */
.bg-proj {
	padding: clamp(56px, 7vw, 96px) 0;
}

.bg-proj__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px 40px;
	margin-bottom: clamp(28px, 4vw, 48px);
}

.bg-proj__kicker {
	display: block;
	margin-bottom: 14px;
	color: var(--bg-red);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .28em;
	text-transform: uppercase;
}

.bg-proj__title {
	margin: 0 !important;
	font-size: clamp(36px, 5.4vw, 76px) !important;
	line-height: .95 !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase;
	color: var(--bg-ink);
}

.bg-proj__all {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--bg-ink);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	border-bottom: 3px solid var(--bg-red);
	padding-bottom: 6px;
	transition: gap .4s var(--bg-ease), color .3s ease;
}

.bg-proj__all:hover {
	gap: 20px;
	color: var(--bg-red);
}

.bg-acc {
	display: flex;
	gap: 10px;
	height: clamp(460px, 62vh, 620px);
}

.bg-acc__item {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	background: var(--bg-ink);
	color: #fff !important;
	text-decoration: none !important;
	transition: flex-grow .8s var(--bg-ease);
	outline-offset: -4px;
}

.bg-acc__item.is-active {
	flex-grow: 5;
}

.bg-acc__img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	filter: grayscale(.85) brightness(.55);
	transform: scale(1.12);
	transition: transform 1.4s var(--bg-ease), filter .8s ease;
}

.bg-acc__item.is-active .bg-acc__img {
	filter: none;
	transform: scale(1.02);
}

.bg-acc__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, .85) 100%);
}

.bg-acc__num {
	position: absolute;
	top: 22px;
	left: 22px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .2em;
	color: #fff;
}

.bg-acc__num::after {
	content: "";
	display: block;
	width: 26px;
	height: 3px;
	margin-top: 10px;
	background: var(--bg-red);
}

.bg-acc__vtitle {
	position: absolute;
	left: 50%;
	bottom: 28px;
	writing-mode: vertical-rl;
	transform: translateX(-50%) rotate(180deg);
	white-space: nowrap;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: opacity .4s ease;
}

.bg-acc__item.is-active .bg-acc__vtitle {
	opacity: 0;
}

.bg-acc__body {
	position: absolute;
	left: clamp(22px, 3vw, 44px);
	right: clamp(22px, 3vw, 44px);
	bottom: clamp(22px, 3vw, 40px);
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .5s ease, transform .8s var(--bg-ease);
	pointer-events: none;
}

.bg-acc__item.is-active .bg-acc__body {
	opacity: 1;
	transform: none;
	transition-delay: .25s;
}

.bg-acc__sub {
	display: block;
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--bg-red);
}

.bg-acc__name {
	display: block;
	font-size: clamp(28px, 3.4vw, 54px);
	line-height: .95;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.bg-acc__cta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding: 14px 22px;
	background: var(--bg-red);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: gap .4s var(--bg-ease);
}

.bg-acc__item:hover .bg-acc__cta {
	gap: 20px;
}

@media (max-width: 800px) {
	.bg-acc {
		flex-direction: column;
		height: auto;
		gap: 8px;
	}

	.bg-acc__item {
		flex: none;
		height: 84px;
		transition: height .8s var(--bg-ease);
	}

	.bg-acc__item.is-active {
		height: 420px;
	}

	.bg-acc__vtitle {
		writing-mode: horizontal-tb;
		transform: translateY(-50%);
		top: 50%;
		bottom: auto;
		left: 76px;
	}

	.bg-acc__num {
		top: 50%;
		transform: translateY(-50%);
	}

	.bg-acc__num::after {
		display: none;
	}

	.bg-acc__item.is-active .bg-acc__num {
		top: 22px;
		transform: none;
	}
}

/* ---------- Footer más fino ---------- */
.fusion-tb-footer .fusion-fullwidth {
	padding-top: 22px !important;
	padding-bottom: 22px !important;
}

.fusion-tb-footer .fusion-imageframe img {
	max-width: 130px !important;
	height: auto;
}

.fusion-tb-footer .fusion-text p {
	margin-bottom: 4px;
}

.fusion-tb-footer .fusion-social-links a {
	transition: color .3s ease, transform .3s var(--bg-ease);
}

.fusion-tb-footer .fusion-social-links a:hover {
	color: var(--bg-red) !important;
	transform: translateY(-2px);
}

/* ---------- Animaciones de aparición ---------- */
.bg-anim .bg-rv {
	opacity: 0;
	transform: translate3d(0, 46px, 0);
	transition: opacity .9s ease, transform 1.1s var(--bg-ease);
	transition-delay: var(--bg-d, 0s);
	will-change: opacity, transform;
}

.bg-anim .bg-rv.bg-rv--title {
	transform: translate3d(0, 50px, 0);
	transition: opacity .6s ease, transform 1.1s var(--bg-ease);
	transition-delay: var(--bg-d, 0s);
}

.bg-anim .bg-rv--title .fusion-title-heading {
	clip-path: inset(0 0 100% 0);
	transition: clip-path 1.1s var(--bg-ease);
	transition-delay: var(--bg-d, 0s);
}

.bg-anim .bg-rv--title.is-in .fusion-title-heading {
	clip-path: inset(-10% -5% -15% -5%);
}

.bg-anim .bg-rv.bg-rv--img {
	transform: none;
	clip-path: inset(12% 0 12% 0);
	transition: opacity .8s ease, clip-path 1.3s var(--bg-ease);
	transition-delay: var(--bg-d, 0s);
}

.bg-anim .bg-rv.bg-rv--img img {
	transform: scale(1.18);
	transition: transform 1.6s var(--bg-ease);
	transition-delay: var(--bg-d, 0s);
}

.bg-anim .bg-rv.is-in {
	opacity: 1;
	transform: none;
}

.bg-anim .bg-rv--img.is-in {
	clip-path: inset(0 0 0 0);
}

.bg-anim .bg-rv.bg-rv--img.is-in img {
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.bg-acc__item,
	.bg-acc__img,
	.bg-acc__body {
		transition: none !important;
	}
}

/* ---------- Cabecera de cada proyecto ---------- */
.bg-phero-wrap,
.bg-phero-wrap > .fusion-builder-row,
.bg-phero-wrap .fusion-layout-column,
.bg-phero-wrap .fusion-column-wrapper {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.bg-phero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(78vh, 760px);
	overflow: hidden;
	background: var(--bg-ink);
}

.bg-phero__img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	animation: bgHeroZoom 2.4s var(--bg-ease) both;
}

.bg-phero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .05) 30%, rgba(0, 0, 0, .8) 100%);
}

.bg-phero__in {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1248px;
	margin: 0 auto;
	padding: 0 30px clamp(36px, 6vw, 80px);
	color: #fff;
}

.bg-phero__back {
	display: inline-flex;
	gap: 10px;
	margin-bottom: 18px;
	color: #fff !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
	border-bottom: 3px solid var(--bg-red);
	padding-bottom: 6px;
}

.bg-phero__title {
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(44px, 8vw, 128px) !important;
	line-height: .9 !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em !important;
	text-transform: uppercase;
	animation: bgRise 1.2s var(--bg-ease) .15s both;
}

@keyframes bgHeroZoom {
	from { transform: scale(1.15); }
	to { transform: scale(1); }
}

@keyframes bgRise {
	from { opacity: 0; transform: translateY(60px); }
	to { opacity: 1; transform: none; }
}

/* ---------- Cabecera del listado de proyectos ---------- */
.bg-portfolio-hero {
	position: relative;
	min-height: min(56vh, 520px) !important;
}

.bg-portfolio-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .65));
}

.bg-portfolio-hero > .fusion-builder-row {
	position: relative;
	z-index: 2;
}

html body .bg-portfolio-hero h1 {
	font-size: clamp(48px, 7vw, 110px) !important;
}

@media (prefers-reduced-motion: reduce) {
	.bg-phero__img,
	.bg-phero__title {
		animation: none;
	}
}

html body .bg-phero-wrap.fusion-fullwidth {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: 0 !important;
}

@media (max-width: 800px) {
	.fusion-tb-footer .fusion-text p,
	.fusion-tb-footer .fusion-text {
		text-align: center !important;
	}

	.fusion-tb-footer .fusion-button-wrapper,
	.fusion-tb-footer .fusion-social-links {
		text-align: center !important;
		justify-content: center !important;
	}
}

@media (max-width: 800px) {
	.fusion-tb-footer .fusion-column-wrapper {
		align-items: center !important;
	}
}

.fusion-tb-header .awb-menu {
	--awb-gap: clamp(20px, 2.4vw, 40px) !important;
}

.fusion-tb-header .awb-menu__main-ul {
	flex-wrap: nowrap !important;
	white-space: nowrap;
}

/* =========================================================================
   Diseño v2 - más contundente (titulares condensados, franjas, manifiesto)
   ========================================================================= */

:root {
	--bg-display: "Anton", "Impact", "Arial Narrow", sans-serif;
}

/* ---------- Titulares condensados ---------- */
#main :is(h1, h2, h3):not(.ti-widget *),
.bg-proj__title,
.bg-acc__name,
.bg-phero__title {
	font-family: var(--bg-display) !important;
	font-weight: 400 !important;
	letter-spacing: .005em !important;
	line-height: .98 !important;
}

#main h2:not(.ti-widget *) {
	font-size: clamp(38px, 4.6vw, 72px) !important;
}

#main h3:not(.ti-widget *) {
	font-size: clamp(24px, 2.2vw, 34px) !important;
}

.bg-kicker .fusion-title-heading,
.bg-kicker h1 {
	font-family: "Rethink Sans", sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: .28em !important;
}

/* ---------- Portada de la home, estilo editorial ---------- */
.home #main .fusion-fullwidth:first-child {
	min-height: min(92vh, 900px);
	align-items: flex-end;
	padding-bottom: clamp(48px, 7vw, 96px) !important;
}

.home #main .fusion-fullwidth:first-child::before {
	background:
		linear-gradient(90deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .25) 70%),
		linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .55) 100%);
}

.home #main .fusion-fullwidth:first-child .fusion-title,
.home #main .fusion-fullwidth:first-child .fusion-title-heading {
	text-align: left !important;
	justify-content: flex-start !important;
}

.home #main .fusion-fullwidth:first-child h2 {
	font-size: clamp(52px, 7.4vw, 124px) !important;
	line-height: .9 !important;
	max-width: 15ch;
}

.home #main .fusion-fullwidth:first-child h2 span[style*="Carter"] {
	color: var(--bg-red) !important;
}

.home #main .fusion-fullwidth:first-child .fusion-button {
	margin-left: 0 !important;
}

.home #main .fusion-fullwidth:first-child .fusion-column-wrapper {
	align-items: flex-start !important;
}

/* ---------- Palabras que suben ---------- */
.bg-anim .bg-split .bg-w {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	padding: .16em 0 .08em;
	margin: -.16em 0 -.08em;
}

.bg-anim .bg-split .bg-wi {
	display: inline-block;
	transform: translateY(110%) rotate(4deg);
	transform-origin: left bottom;
	transition: transform 1s var(--bg-ease);
	transition-delay: calc(var(--bg-d, 0s) + var(--wi, 0) * 55ms);
}

.bg-anim .bg-split.bg-words-in .bg-wi {
	transform: none;
}

.bg-anim .bg-rv--title .fusion-title-heading.bg-split {
	clip-path: none !important;
}

/* ---------- Barra superior en movimiento ---------- */
.bg-ticker {
	display: block;
	position: relative;
	z-index: 10001;
	background: var(--bg-red);
	color: #fff !important;
	text-decoration: none !important;
}

/* ---------- Franjas en movimiento ---------- */
.bg-mq {
	overflow: hidden;
	white-space: nowrap;
	user-select: none;
}

.bg-mq__track {
	display: inline-flex;
	animation: bgMarquee 38s linear infinite;
}

.bg-mq:hover .bg-mq__track {
	animation-play-state: paused;
}

.bg-mq__group {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.bg-mq__item,
.bg-mq__sep {
	display: inline-block;
	padding: 0 .5em;
}

@keyframes bgMarquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.bg-mq--ticker {
	padding: 9px 0;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.bg-mq--ticker .bg-mq__track {
	animation-duration: 45s;
}

.bg-mq--rojo,
.bg-mq--negro,
.bg-mq--outline {
	font-family: var(--bg-display);
	text-transform: uppercase;
	line-height: 1;
}

.bg-mq--rojo {
	background: var(--bg-red);
	color: #fff;
	padding: 22px 0;
	font-size: clamp(30px, 4vw, 56px);
	transform: rotate(-1.5deg) scale(1.03);
	margin: 18px 0;
}

.bg-mq--negro {
	background: var(--bg-ink);
	color: #fff;
	padding: 20px 0;
	font-size: clamp(22px, 2.6vw, 36px);
}

.bg-mq--negro .bg-mq__sep {
	color: var(--bg-red);
}

.bg-mq--outline {
	padding: 10px 0;
	font-size: clamp(80px, 13vw, 220px);
	color: transparent;
	-webkit-text-stroke: 2px var(--bg-ink);
}

.bg-mq--outline .bg-mq__track {
	animation-duration: 60s;
	animation-direction: reverse;
}

.bg-mq--outline .bg-mq__sep {
	color: var(--bg-red);
	-webkit-text-stroke: 0;
}

.bg-mq-wrap,
.bg-mq-wrap > .fusion-builder-row,
.bg-mq-wrap .fusion-layout-column,
.bg-mq-wrap .fusion-column-wrapper,
.bg-mq-wrap .fusion-text {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
	overflow: visible;
}

.bg-mq-wrap {
	overflow: hidden !important;
}

/* ---------- Proyectos sobre negro ---------- */
.bg-proj-wrap {
	background: #0e0e0e !important;
}

.bg-proj-wrap .bg-proj__title,
.bg-proj-wrap .bg-proj__all {
	color: #fff !important;
}

.bg-proj-wrap .bg-acc__item {
	background: #1a1a1a;
}

/* ---------- Manifiesto ---------- */
.bg-manifiesto {
	padding: clamp(70px, 10vw, 150px) 0;
	color: #fff;
}

.bg-manifiesto-wrap {
	background: #0e0e0e !important;
}

.bg-manifiesto__kicker {
	display: block;
	margin-bottom: 26px;
	color: var(--bg-red);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .28em;
	text-transform: uppercase;
}

.bg-manifiesto__txt {
	margin: 0 0 40px !important;
	font-family: var(--bg-display) !important;
	font-weight: 400 !important;
	font-size: clamp(38px, 5.2vw, 86px) !important;
	line-height: 1 !important;
	text-transform: uppercase;
	color: #fff !important;
	max-width: 24ch;
}

.bg-manifiesto__txt mark {
	background: var(--bg-red);
	color: #fff;
	padding: 0 .12em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.bg-manifiesto__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.bg-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 18px 28px;
	background: var(--bg-red);
	color: #fff !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: gap .4s var(--bg-ease), background-color .3s ease, color .3s ease;
}

.bg-btn:hover {
	gap: 20px;
	background: #fff;
	color: var(--bg-ink) !important;
}

.bg-btn--ghost {
	background: transparent;
	box-shadow: inset 0 0 0 2px #fff;
}

/* ---------- Tarjetas e imágenes con más carácter ---------- */
.wmib-carousel-card,
.bg-project-grid .bg-project-card > .fusion-column-wrapper {
	border-radius: 14px !important;
	overflow: hidden;
}

.bg-acc__item {
	border-radius: 14px;
}

.wmib-carousel-media img,
.bg-project-grid img {
	transition: transform 1.2s var(--bg-ease) !important;
}

.wmib-carousel-card:hover .wmib-carousel-media img,
.bg-project-grid .bg-project-card:hover img {
	transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
	.bg-mq__track {
		animation: none;
	}
}

.bg-mq-wrap:has(.bg-mq--rojo) {
	background: #1d1d1d !important;
}

.bg-mq--outline .bg-mq__sep {
	font-size: .45em;
	vertical-align: middle;
}

#main .fusion-fullwidth:first-child .fusion-title-size-one:not(.bg-kicker) h1,
html body .bg-portfolio-hero h1 {
	font-size: clamp(64px, 10vw, 170px) !important;
	line-height: .88 !important;
}

/* =========================================================================
   v3 - esquinas rectas y menos adornos
   ========================================================================= */
#main img,
#main .fusion-imageframe,
#main .fusion-gallery-image,
.wmib-carousel-card,
.wmib-carousel-media,
.bg-acc__item,
.bg-project-grid .bg-project-card > .fusion-column-wrapper,
.fusion-button,
.bg-btn,
.bg-acc__cta,
.ti-widget .ti-review-item,
.ti-widget .ti-inner,
.fusion-tb-footer .fusion-button {
	border-radius: 0 !important;
}

.bg-kicker .fusion-title-heading::before,
.bg-acc__num,
.bg-proj__kicker,
.bg-manifiesto__kicker {
	display: none !important;
}

.bg-mq--rojo {
	transform: none;
	margin: 0;
}

.fusion-button:hover,
.bg-btn:hover {
	transform: none;
	box-shadow: none;
}

.home #main .fusion-fullwidth:first-child h2 {
	text-shadow: none;
}

.home #main .fusion-fullwidth:first-child::before,
.bg-portfolio-hero::before {
	background: rgba(0, 0, 0, .5);
}

.bg-phero::after {
	background: rgba(0, 0, 0, .4);
}

.bg-anim .bg-split .bg-wi {
	transform: translateY(105%);
}

.bg-acc__img {
	filter: brightness(.45);
}

.bg-acc__shade {
	background: rgba(0, 0, 0, .35);
}

.bg-proj__all,
.bg-phero__back {
	border-bottom-width: 2px;
}

@media (max-width: 800px) {
	.bg-acc__vtitle {
		left: 22px;
	}
}

.bg-manifiesto__txt {
	line-height: 1.08 !important;
}

/* Franjas a sangre: ocupan todo el ancho de la ventana */
html body #main .bg-mq-wrap.fusion-fullwidth {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.bg-mq--negro {
	background: #0e0e0e;
	border-top: 1px solid #262626;
	border-bottom: 1px solid #262626;
}

@media (max-width: 800px) {
	.bg-mucho .fusion-layout-column,
	.bg-mucho .fusion-column-wrapper {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

/* Móvil: columnas con márgenes laterales en % que estrechaban demasiado el texto */
@media (max-width: 800px) {
	#main .fusion-layout-column[style*="--awb-padding-right:25%"],
	#main .fusion-layout-column[style*="--awb-padding-right:50%"],
	#main .fusion-layout-column[style*="--awb-padding-left:25%"] {
		--awb-padding-left: 24px !important;
		--awb-padding-right: 24px !important;
		--awb-padding-top: 48px !important;
		--awb-padding-bottom: 48px !important;
	}
}

/* ---------- Servicios: imagen alternativa al pasar el ratón ---------- */
.bg-has-hover {
	position: relative;
	overflow: hidden;
}

.bg-has-hover > img.bg-hover-img {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	z-index: 1;
	opacity: 0;
	transform: scale(1.08);
	transition: opacity .55s ease, transform 1.2s var(--bg-ease) !important;
	pointer-events: none;
}

.bg-has-hover .wmib-carousel-overlay,
.bg-has-hover .wmib-overlay {
	z-index: 2;
}

.wmib-carousel-card:hover .bg-hover-img,
.wmib-carousel-card:focus-within .bg-hover-img,
.wmib-item:hover .bg-hover-img,
.wmib-item:focus-within .bg-hover-img {
	opacity: 1;
	transform: scale(1);
}

/* Fotos de fondo con texto encima: oscurecido para que se lea */
.bg-mucho .fusion-column-wrapper,
.bg-cta .fusion-column-wrapper {
	position: relative !important;
	isolation: isolate;
}

.bg-mucho .fusion-column-wrapper::before,
.bg-cta .fusion-column-wrapper::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(0, 0, 0, .62);
	pointer-events: none;
}

.bg-mucho .fusion-column-wrapper::before {
	background: linear-gradient(90deg, rgba(0, 0, 0, .85) 0%, rgba(0, 0, 0, .55) 55%, rgba(0, 0, 0, .25) 100%);
}
