/**
 * EVO tablet — 701–1100 (tri-cards etc.) + 1021–1439 (GTM compare/flow scaled).
 * Expert Steps desktop scaling only ≥1101 (≤1100 = mobile accordion).
 * Phone ≤700 = widget mobile CSS. Desktop ≥1101 uses widget + evo-expert-steps-desktop.css.
 */

/* Expert Steps — desktop scaled layout only ≥1101 (≤1100 stays mobile accordion) */
@media (min-width: 1101px) and (max-width: 1439px) {
	.elementor-widget-evoport-expert-steps .evo-expert-steps {
		--evo-expert-inset: clamp(24px, calc(104 * 100vw / 1440), 104px);
		--evo-expert-header-top: clamp(32px, calc(80 * 100vw / 1440), 80px);
		--evo-expert-intro-top: clamp(32px, calc(84 * 100vw / 1440), 84px);
		--evo-expert-stage-top: clamp(180px, calc(309 * 100vw / 1440), 309px);
		--evo-expert-panel-width: min(720px, calc(720 * 100vw / 1440));
		--evo-expert-panel-height: clamp(320px, calc(437 * 100vw / 1440), 437px);
	}

	.elementor-widget-evoport-expert-steps .evo-expert-steps__inner {
		min-height: clamp(520px, calc(826 * 100vw / 1440), 826px) !important;
	}

	.elementor-widget-evoport-expert-steps .evo-expert-steps__header {
		width: min(656px, calc(656 * 100vw / 1440)) !important;
		max-width: calc(100% - var(--evo-expert-x0) * 2) !important;
	}

	.elementor-widget-evoport-expert-steps .evo-expert-steps__intro-col {
		left: calc(var(--evo-expert-x0) + min(736px, calc(736 * 100vw / 1440))) !important;
		width: min(496px, calc(496 * 100vw / 1440)) !important;
		max-width: calc(100% - var(--evo-expert-x0) - min(736px, calc(736 * 100vw / 1440)) - 16px) !important;
	}

	.elementor-widget-evoport-expert-steps .evo-expert-steps__nav {
		width: min(456px, calc(456 * 100vw / 1440)) !important;
	}

	.elementor-widget-evoport-expert-steps .evo-expert-steps__panel-row {
		left: calc(var(--evo-expert-x0) + min(512px, calc(512 * 100vw / 1440))) !important;
		width: var(--evo-expert-panel-width) !important;
		height: var(--evo-expert-panel-height) !important;
	}

	.elementor-widget-evoport-expert-steps .evo-expert-steps__title,
	.elementor-widget-evoport-expert-steps .evo-expert-steps__intro {
		max-width: 100% !important;
		overflow-wrap: break-word !important;
	}

	.evo-gtm-expert-stack .evo-expert-steps__inner {
		--evo-expert-header-top: clamp(20px, calc(40 * 100vw / 1440), 40px) !important;
		--evo-expert-intro-top: clamp(24px, calc(44 * 100vw / 1440), 44px) !important;
		--evo-expert-stage-top: clamp(200px, calc(280 * 100vw / 1440), 300px) !important;
		min-height: clamp(540px, calc(700 * 100vw / 1440), 700px) !important;
	}
}

@media (min-width: 1021px) and (max-width: 1439px) {
	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__diagram {
		gap: clamp(8px, calc(14 * 100vw / 1440), 14px) clamp(6px, calc(10 * 100vw / 1440), 10px) !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__col {
		gap: clamp(12px, calc(16 * 100vw / 1440), 16px) !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__box {
		font-size: clamp(9px, calc(11 * 100vw / 1440), 11px) !important;
		padding: clamp(8px, calc(12 * 100vw / 1440), 12px) clamp(6px, calc(10 * 100vw / 1440), 10px) !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__box--top {
		min-height: clamp(74px, calc(88 * 100vw / 1440), 88px) !important;
		padding-block: clamp(12px, calc(16 * 100vw / 1440), 16px) !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__box--center {
		font-size: clamp(11px, calc(13 * 100vw / 1440), 13px) !important;
		min-height: clamp(44px, calc(54 * 100vw / 1440), 54px) !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__copy {
		max-width: min(720px, calc(720 * 100vw / 1440)) !important;
		margin-bottom: clamp(48px, calc(56 * 100vw / 1440), 56px) !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__eyebrow {
		margin-bottom: clamp(24px, calc(32 * 100vw / 1440), 32px) !important;
	}

	.elementor-widget-evoport-gtm-flow .evo-gtm-flow__grid {
		gap: clamp(12px, calc(24 * 100vw / 1440), 24px) !important;
	}
}

/* Tablet — 701–1100px: split hero desktop grid + tri cards (header stays mobile ≤1100) */
@media (min-width: 701px) and (max-width: 1100px) {

	/* —— Split hero: desktop 2-column (beats mobile stack overrides) —— */
	.elementor-widget-evoport-split-hero .evo-split-hero {
		min-height: var(--evo-split-min-h-editor, var(--evo-split-hero-min-h)) !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero__inner {
		min-height: var(--evo-split-min-h-editor, var(--evo-split-hero-min-h)) !important;
		--evo-split-hero-pad-x: 20px;
		padding-left: 20px !important;
		padding-right: 20px !important;
		padding-inline: 20px !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero__grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
		flex-direction: unset !important;
		align-items: start !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero__copy {
		order: unset !important;
		align-self: start !important;
		padding: 0 !important;
		text-align: left !important;
		width: auto !important;
		max-width: var(--evo-split-hero-copy-max) !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero__media {
		order: unset !important;
		align-self: center !important;
		justify-content: flex-end !important;
		align-items: center !important;
		padding: 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero__media-card,
	.elementor-widget-evoport-split-hero .evo-split-hero__media-img,
	.elementor-widget-evoport-split-hero .evo-split-hero__media-video {
		max-width: min(520px, calc(520 * 100vw / 1440)) !important;
		width: 100% !important;
		height: auto !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero__title,
	.elementor-widget-evoport-split-hero h1.evo-split-hero__title {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: none !important;
		width: auto !important;
		text-align: left !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero__sub,
	.elementor-widget-evoport-split-hero p.evo-split-hero__sub {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: min(var(--evo-split-sub-max-editor, 513px), 100%) !important;
		width: auto !important;
		text-align: left !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero__actions,
	.elementor-widget-evoport-split-hero .evo-split-hero__social {
		justify-content: flex-start !important;
		padding: 0 !important;
		max-width: none !important;
		margin-inline: 0 !important;
	}

	.elementor-widget-evoport-split-hero .evo-split-hero .evo-btn {
		--evo-btn-h: 56px !important;
		--evo-btn-size: 14px !important;
		min-width: 177px !important;
		max-width: none !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__shell {
		width: 100% !important;
		max-width: none !important;
		align-items: stretch !important;
		padding-left: clamp(20px, calc(32 * 100vw / 1100), 32px) !important;
		padding-right: clamp(20px, calc(32 * 100vw / 1100), 32px) !important;
		gap: 16px !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__head-copy {
		align-items: flex-start !important;
		max-width: none !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__section-title {
		font-size: clamp(24px, calc(28 * 100vw / 1100), 28px) !important;
		font-weight: 500 !important;
		text-align: left !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__section-subtitle {
		font-size: 14px !important;
		line-height: 1.25 !important;
		text-align: left !important;
		max-width: 100% !important;
	}

	/* —— Evoport Cards: responsive column grid —— */
	.elementor-widget-evoport-tri-cards .evo-tri-cards__row {
		display: grid !important;
		grid-template-columns: repeat(var(--evo-tri-cols, 3), minmax(0, 1fr)) !important;
		flex-direction: unset !important;
		align-items: stretch !important;
		gap: clamp(8px, calc(12 * 100vw / 1100), 12px) !important;
		min-height: clamp(280px, calc(330 * 100vw / 1100), 330px) !important;
		width: 100% !important;
		max-width: none !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__card {
		flex: unset !important;
		min-width: 0 !important;
		max-width: none !important;
		width: auto !important;
		height: 100% !important;
		min-height: clamp(280px, calc(330 * 100vw / 1100), 330px) !important;
		align-self: stretch !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: stretch !important;
		padding: clamp(20px, calc(32 * 100vw / 1100), 32px) clamp(12px, calc(20 * 100vw / 1100), 20px) !important;
		gap: clamp(16px, calc(24 * 100vw / 1100), 24px) !important;
		box-sizing: border-box !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__card-copy {
		width: 100% !important;
		max-width: none !important;
		flex: 0 0 auto !important;
		min-width: 0 !important;
		gap: 16px !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__card-head {
		min-width: 0 !important;
		width: 100% !important;
		gap: clamp(6px, calc(16 * 100vw / 1440), 16px) !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__title,
	.elementor-widget-evoport-tri-cards .evo-tri-cards__desc {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-wrap: break-word !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__title {
		flex: 1 1 auto !important;
		font-size: clamp(20px, calc(24 * 100vw / 1100), 24px) !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__desc {
		font-size: 12px !important;
		line-height: 1.25 !important;
		letter-spacing: 0.04em !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__arrow {
		flex: 0 0 auto !important;
		width: clamp(24px, calc(29 * 100vw / 1100), 29px) !important;
		height: clamp(24px, calc(29 * 100vw / 1100), 29px) !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__arrow svg {
		width: 100% !important;
		height: 100% !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__card {
		overflow: hidden !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__lottie {
		width: 100% !important;
		max-width: 100% !important;
		height: clamp(90px, calc(167 * 100vw / 1100), 167px) !important;
		min-height: clamp(90px, calc(167 * 100vw / 1100), 167px) !important;
		margin-top: auto !important;
		flex: 0 0 auto !important;
		overflow: hidden !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__lottie svg {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
	}

	.elementor-widget-evoport-tri-cards .evo-tri-cards__lottie--empty {
		min-height: clamp(90px, calc(167 * 100vw / 1100), 167px) !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__diagram {
		gap: clamp(8px, calc(14 * 100vw / 1440), 14px) clamp(6px, calc(10 * 100vw / 1440), 10px) !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__box {
		font-size: clamp(9px, calc(11 * 100vw / 1440), 11px) !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__copy {
		max-width: min(720px, calc(720 * 100vw / 1440)) !important;
	}

	.elementor-widget-evoport-gtm-flow .evo-gtm-flow__grid {
		gap: clamp(12px, calc(24 * 100vw / 1440), 24px) !important;
	}

	/* Elementor Heading — evo-h2-wrap (Figma tablet ~2 lines) */
	html body .elementor-element.evo-h2-wrap.elementor-widget-heading .elementor-heading-title,
	html body .elementor-element.evo-h2-wrap h2.elementor-heading-title {
		max-width: min(560px, 92%) !important;
		font-size: clamp(32px, calc(40 * 100vw / 1440), 40px) !important;
		font-weight: var(--evo-h2-weight, 600) !important;
		line-height: 1.2 !important;
		letter-spacing: -0.01em !important;
		text-align: center !important;
		margin-inline: auto !important;
	}
}

/* Tablet — 701–1020px: desktop footer scaled (widget footer-mobile.css would
   otherwise apply its ≤1020 phone layout here). ≥1021 = desktop inline
   CSS, ≤700 = phone mobile. Loads after footer-mobile.css so equal-specificity
   !important rules win. */
@media (min-width: 701px) and (max-width: 1020px) {
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer {
		--evo-footer-ink: #1a1814;
		--evo-footer-muted: #a58c71;
		--evo-footer-pad-x: 8px;
		--evo-footer-deco-right-bleed: 8px;
		--evo-footer-top-pad: calc(120 * 100vw / 1440);
		--evo-footer-scene-lift: calc(200 * 100vw / 1440);
		--evo-footer-branch-top: 0;
		--evo-footer-branch-bleed: calc(280 * 100vw / 1440);
		--evo-footer-scene-w: calc(1518 * 100vw / 1440);
		--evo-footer-scene-left: calc(-78 * 100vw / 1440);
		--evo-footer-nav-start: 44%;
		--evo-footer-nav-col-gap: clamp(24px, calc(70 * 100vw / 1440), 70px);
		--evo-footer-nav-cols: repeat(3, max-content);
		--evo-footer-logo-w: calc(500 * 100vw / 1440);
		--evo-footer-logo-h: calc(134 * 100vw / 1440);
		--evo-footer-logo-cut: calc(34 * 100vw / 1440);
		--evo-footer-line-bottom: calc(118 * 100vw / 1440);
		--evo-footer-shell-pad-bottom: 24px;
		--evo-footer-divider: #a58c71;
	}

	/* Stage back to desktop block flow; drop mobile side guides */
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__stage {
		display: block !important;
		padding-bottom: var(--evo-footer-scene-lift) !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__stage::before,
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__stage::after {
		content: none !important;
		display: none !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__shell {
		padding: var(--evo-footer-top-pad) var(--evo-footer-pad-x) var(--evo-footer-shell-pad-bottom) !important;
	}

	/* Desktop 4-col grid — brand left, nav at 44% */
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__top {
		display: grid !important;
		grid-template-columns:
			var(--evo-footer-logo-w)
			minmax(0, calc(var(--evo-footer-nav-start) - var(--evo-footer-logo-w)))
			auto
			1fr !important;
		column-gap: 0 !important;
		row-gap: 0 !important;
		align-items: start !important;
		margin: 0 !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__brand {
		order: 0 !important;
		grid-column: 1 !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__nav {
		order: 0 !important;
		grid-column: 3 !important;
		display: grid !important;
		grid-template-columns: var(--evo-footer-nav-cols) !important;
		column-gap: var(--evo-footer-nav-col-gap) !important;
		row-gap: 24px !important;
		justify-self: start !important;
		width: max-content !important;
		max-width: calc(100% - var(--evo-footer-nav-start)) !important;
		padding: 0 !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__col {
		gap: 16px !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__col-links {
		gap: 12px !important;
	}

	/* Undo mobile display:contents split of 3rd column */
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__col:nth-child(3) {
		display: flex !important;
		flex-direction: column !important;
		gap: 16px !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__col:nth-child(3) > .evo-footer__col-title,
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__col:nth-child(3) > .evo-footer__col-links {
		grid-column: auto !important;
		grid-row: auto !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__col:nth-child(3) .evo-footer__col-links > li:first-child {
		margin-bottom: 0 !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__col-title {
		color: var(--evo-footer-ink) !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__link {
		color: var(--evo-footer-muted) !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__link--subheading,
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__col:last-child .evo-footer__col-links > li:first-child > .evo-footer__link {
		color: var(--evo-footer-ink) !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__tagline {
		margin: 0 !important;
		max-width: 280px !important;
		color: var(--evo-footer-muted) !important;
	}

	/* Logo — absolute above divider line (desktop), scaled */
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__logo-row {
		order: 0 !important;
		position: absolute !important;
		left: var(--evo-footer-pad-x) !important;
		right: auto !important;
		top: auto !important;
		bottom: calc(var(--evo-footer-line-bottom) - var(--evo-footer-logo-cut)) !important;
		z-index: 7 !important;
		width: var(--evo-footer-logo-w) !important;
		max-width: calc(100% - (2 * var(--evo-footer-pad-x))) !important;
		height: var(--evo-footer-logo-h) !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__logo {
		align-items: center !important;
		gap: 12px !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__logo-mark {
		width: clamp(24px, calc(48 * 100vw / 1440), 48px) !important;
		height: clamp(24px, calc(48 * 100vw / 1440), 48px) !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__logo-text {
		font-size: clamp(21px, calc(42 * 100vw / 1440), 42px) !important;
		line-height: 1.1 !important;
		letter-spacing: -0.03em !important;
		color: var(--evo-footer-ink) !important;
	}

	/* Divider — absolute desktop line */
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__rule {
		order: 0 !important;
		display: block !important;
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		bottom: var(--evo-footer-line-bottom) !important;
		width: auto !important;
		height: 1px !important;
		margin: 0 !important;
		background: var(--evo-footer-divider) !important;
		z-index: 4 !important;
	}

	/* Moss scene — desktop left-bleed, scaled width.
	   Same poisoned-var issue: edge-fix sets --evo-footer-scene-w / bleed with
	   !important (unitless 0) — use literal scaled values, not the vars. */
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__scene-wrap {
		order: 0 !important;
		position: absolute !important;
		left: calc(-78 * 100vw / 1440) !important;
		right: auto !important;
		bottom: 0 !important;
		width: calc((1518 * 100vw / 1440) + 8px) !important;
		max-width: none !important;
		z-index: 5 !important;
	}

	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__scene {
		width: 100% !important;
		max-height: none !important;
		object-fit: contain !important;
		object-position: left bottom !important;
	}

	/* Willow branch — desktop top-right rotation, scaled bleed.
	   NOTE: edge-fix forces --evo-footer-deco-right-bleed to unitless 0 !important,
	   which poisons calc(-44px - var(...)) → right:auto → branch jumps left.
	   Hardcode desktop value (-44px - 8px bleed) instead of the var. */
	:is(.elementor-widget-evoport-footer, #evo-global-footer) .evo-footer__branch-wrap {
		position: absolute !important;
		top: 0 !important;
		right: -52px !important;
		left: auto !important;
		width: 24% !important;
		max-width: none !important;
		margin: calc(-1 * var(--evo-footer-branch-bleed)) 0 0 !important;
		transform: rotate(336deg) !important;
		z-index: 30 !important;
	}
}

/* Hero H1 — padding-top 50px on full desktop (≥1440; 1101–1439 block above) */
@media (min-width: 1440px) {
	.elementor-widget-evoport-hero .evo-hero__title,
	.elementor-widget-evoport-hero h1.evo-hero__title,
	.evo-hero h1.evo-hero__title,
	.evo-hero .evo-hero__title {
		padding-top: 50px !important;
	}

	/* GTM Compare — lock Figma vertical rhythm on wide laptops (columns hit full 1236px width). */
	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__copy {
		margin-bottom: 56px !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__eyebrow {
		margin-bottom: 32px !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__diagram {
		--evo-gtm-compare-col-gap: 18px;
		--evo-gtm-compare-connector: 18px;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__col {
		gap: 18px !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__box--top {
		min-height: 88px !important;
		padding-block: 16px !important;
	}

	.elementor-widget-evoport-gtm-compare .evo-gtm-compare__label--bottom {
		min-height: 68px !important;
		padding-top: 10px !important;
	}
}
