/* Banner 100vh no inicio da homepage */
.home .hero-section,
.home .ct-page-title,
.home .entry-header {
	display: none;
}

.home .ct-header {
	animation: none;
}

.home .ligarena-home-hero {
	position: relative;
	z-index: 1;
	margin-top: 0 !important;
}

.home .ligarena-home-hero-group {
	display: contents;
}

.home .entry-content > .ligarena-home-banner,
.home article .ligarena-home-banner,
.home .ct-container .ligarena-home-banner {
	max-width: none !important;
}

/* SecÃƒÂ§ÃƒÂµes Ligarena sem margem do layout constrained do tema */
.home .entry-content > .ligarena-home-hero,
.home .entry-content.is-layout-constrained > .ligarena-home-hero {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	margin-block-end: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
}

.home .entry-content > :is(
	.ligarena-home-hero,
	.ligarena-home-banner,
	.ligarena-home-visual,
	.ligarena-event-showcase-section,
	.ligarena-solucao-section,
	.ligarena-capacidades-section,
	.ligarena-capacidades-porto-section
),
.home .entry-content.is-layout-constrained > :is(
	.ligarena-home-hero,
	.ligarena-home-banner,
	.ligarena-home-visual,
	.ligarena-event-showcase-section,
	.ligarena-solucao-section,
	.ligarena-capacidades-section,
	.ligarena-capacidades-porto-section
) {
	margin-block-end: 0 !important;
	margin-bottom: 0 !important;
}

/* Testemunhos: junção com CTA cyan (margin-bottom gerido em testemunhos-section.css) */
.home .entry-content > .ligarena-testemunhos,
.home .entry-content.is-layout-constrained > .ligarena-testemunhos {
	margin-block-end: 0 !important;
	margin-bottom: 0 !important;
}

.home .entry-content:has(.ligarena-capacidades-section) > .ligarena-testemunhos,
.home .entry-content:has(.ligarena-capacidades-porto-section) > .ligarena-testemunhos,
.home .entry-content.is-layout-constrained:has(.ligarena-capacidades-section) > .ligarena-testemunhos,
.home .entry-content.is-layout-constrained:has(.ligarena-capacidades-porto-section) > .ligarena-testemunhos {
	margin-block-end: 0 !important;
	margin-bottom: 0 !important;
}

.home .entry-content > :is(
	.ligarena-home-visual,
	.ligarena-event-showcase-section,
	.ligarena-solucao-section,
	.ligarena-testemunhos,
	.ligarena-capacidades-section
),
.home .entry-content.is-layout-constrained > :is(
	.ligarena-home-visual,
	.ligarena-event-showcase-section,
	.ligarena-solucao-section,
	.ligarena-testemunhos,
	.ligarena-capacidades-section
) {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

.home main#main,
.home .site-main,
.home article,
.home .entry-content,
.home .ct-container,
.home .ct-container-full,
.home .ct-content-block {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.home main#main,
.home .site-main,
.home article,
.home .entry-content,
.home .ct-container-full {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.home [data-vertical-spacing*="bottom"],
.home .ct-container-full[data-vertical-spacing*="bottom"] {
	padding-bottom: 0 !important;
}

.home .site-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.home [data-vertical-spacing*="top"] {
	padding-top: 0 !important;
}

.home .entry-content {
	overflow-x: clip;
	position: relative;
}

.home .ligarena-solucao-section {
	overflow: hidden;
}

.home .ligarena-solucao-section__grid {
	overflow-x: auto;
	overflow-y: hidden;
}

.ligarena-home-hero-group {
	--ligarena-home-banner-h: 100vh;
	--ligarena-home-visual-image-h: 110vh;
	--ligarena-home-text-col: 40%;
	--ligarena-home-col-gap: 5%;
	--ligarena-home-visual-col: 55%;
	--ligarena-home-visual-start: calc(var(--ligarena-home-text-col) + var(--ligarena-home-col-gap));
	/* 80% da largura do PNG visivel (alinhada a direita) */
	--ligarena-home-visual-image-visible: 0.8;
}

.ligarena-home-hero {
	display: block;
	position: relative;
}

.ligarena-home-banner {
	--ligarena-banner-inner-max-w: clamp(19rem, 40vw, 46rem);
	--ligarena-banner-display-size: clamp(2.1rem, 1.5rem + 2.8vw, 7rem);
	--ligarena-banner-subtitle-size: clamp(0.85rem, 0.55rem + 0.92vw, 1.85rem);
	--ligarena-banner-desc-margin: clamp(0.85rem, 0.35rem + 1.55vw, 3rem);
	--ligarena-banner-actions-margin: clamp(1rem, 0.4rem + 2vw, 3.6rem);
	--ligarena-banner-btn-size: clamp(0.72rem, 0.48rem + 0.42vw, 1.05rem);
	--ligarena-banner-btn-pad-y: clamp(0.62rem, 0.35rem + 0.45vw, 0.9rem);
	--ligarena-banner-btn-pad-x: clamp(0.95rem, 0.5rem + 0.85vw, 1.6rem);
	--ligarena-font-size-display: var(--ligarena-banner-display-size);
	--ligarena-font-size-subtitle: var(--ligarena-banner-subtitle-size);
	--ligarena-font-size-body: var(--ligarena-font-size-lead);
	min-height: var(--ligarena-home-banner-h, 100vh);
	width: 100vw;
	max-width: 100vw;
	margin-top: 0;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: 0;
	padding-right: 0;
	display: block;
	position: relative;
	background: #ffffff;
	color: #05214d;
	overflow: hidden;
}

.ligarena-home-banner__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: url("../img/banners/banner-fundo.webp") center/cover no-repeat;
	transform-origin: center center;
}

@media (min-width: 1025px) {
	.ligarena-home-banner__bg[data-ligarena-home-banner-bg-parallax] {
		transform: scale(1.14);
		will-change: transform;
	}
}

.ligarena-home-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	z-index: 1;
	pointer-events: none;
}

.ligarena-home-banner__left {
	position: relative;
	z-index: 5;
	display: flex;
	align-items: center;
	min-height: var(--ligarena-home-banner-h, 100vh);
	padding: clamp(2rem, 5vw, 5rem) var(--ligarena-site-pad-x);
	width: 100%;
	box-sizing: border-box;
}

.ligarena-home-banner__inner {
	position: relative;
	z-index: 2;
	width: min(100%, var(--ligarena-banner-inner-max-w));
	max-width: 100%;
	padding-right: 0;
	animation: none;
}

.ligarena-home-banner__logo {
	display: inline-block;
	color: #03245a;
	font-size: clamp(0.72rem, 1vw, 1rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.06em;
	margin-bottom: clamp(1.5rem, 3vw, 2.7rem);
}

.ligarena-home-banner__kicker {
	margin: 0 0 clamp(0.08rem, 0.2vw, 0.2rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #001C48;
}

.ligarena-home-banner h1 {
	margin: 0;
	max-width: none;
	font-size: var(--ligarena-banner-display-size);
	font-weight: var(--ligarena-font-weight-display);
	letter-spacing: 0.01em;
	line-height: clamp(0.9, 0.86 + 0.06vw, 0.98);
	text-wrap: wrap;
}

.ligarena-home-banner__description {
	margin: var(--ligarena-banner-desc-margin) 0 0;
}

.ligarena-home-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0.5rem, 0.9vw, 0.75rem);
	margin-top: var(--ligarena-banner-actions-margin);
}

.ligarena-home-banner__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.95rem;
	text-transform: uppercase;
	text-decoration: none;
	font-size: var(--ligarena-banner-btn-size);
	letter-spacing: 0.08em;
	padding: var(--ligarena-banner-btn-pad-y) var(--ligarena-banner-btn-pad-x);
	border: 1px solid #05214d;
	transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease, color 220ms ease, border-color 220ms ease;
	will-change: transform;
}

.ligarena-home-banner__btn-icon {
	display: block;
	width: 1.25rem;
	height: auto;
	margin-left: 0.15rem;
	object-fit: contain;
	flex-shrink: 0;
}

.ligarena-home-banner__btn--primary .ligarena-home-banner__btn-icon {
	filter: brightness(0) invert(1);
	opacity: 1;
}

.ligarena-home-banner__btn--mobile {
	display: none;
}

.ligarena-home-banner__btn--primary {
	background: #05214d;
	color: #fff;
}

.ligarena-home-banner__btn--outline {
	background: #fff;
	color: #05214d;
}

.ligarena-home-banner__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(5, 33, 77, 0.2);
}

.ligarena-home-banner__btn--primary:hover {
	background: #0b3170;
	border-color: #0b3170;
	color: #ffffff;
}

.ligarena-home-banner__btn--outline:hover {
	background: #05214d;
	border-color: #05214d;
	color: #ffffff;
}

.ligarena-home-visual {
	position: relative;
	z-index: 6;
	width: 100vw;
	max-width: 100vw;
	height: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: visible;
	isolation: isolate;
	pointer-events: none;
}

.ligarena-home-visual__hexagons,
.ligarena-home-visual__image-frame {
	position: absolute;
	top: 0;
	right: 0;
	width: min(64vw, 1280px);
	pointer-events: none;
}

.ligarena-home-visual__hexagons {
	left: calc(50% - 50vw);
	right: auto;
	width: 100vw;
	z-index: 0;
	overflow: visible;
	opacity: 0;
	visibility: hidden;
}

.ligarena-home-visual__hexagons.is-visible {
	opacity: 1;
	visibility: visible;
}

.ligarena-home-visual__hex {
	position: absolute;
	display: block;
	width: clamp(240px, 28vw, 460px);
	max-width: none;
	height: auto;
	transform-origin: center center;
	will-change: transform;
}

.ligarena-home-visual__hex--top {
	top: -14vh;
	left: clamp(58%, 62vw, 72%);
}

.ligarena-home-visual__hex--bottom {
	bottom: -14vh;
	left: clamp(54%, 58vw, 68%);
}

.ligarena-home-visual__image-frame {
	z-index: 2;
	overflow: hidden;
}

.ligarena-home-visual__image {
	display: block;
	width: calc(100% / var(--ligarena-home-visual-image-visible, 0.8));
	max-width: none;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: right top;
	animation: none;
}

@media (min-width: 1025px) {
	.ligarena-home-hero {
		min-height: var(--ligarena-home-banner-h, 100vh);
		overflow: visible;
	}

	.ligarena-home-banner__left {
		width: var(--ligarena-home-text-col);
		padding-right: 0;
	}

	.ligarena-home-banner__inner {
		width: 100%;
		max-width: 100%;
	}

	/* Ancorado ao topo da homepage — full-bleed até à borda direita do ecrã */
	.home .entry-content > .ligarena-home-visual {
		position: absolute;
		top: 0;
		right: 0;
		left: 50%;
		width: 100vw;
		max-width: 100vw;
		height: var(--ligarena-home-visual-image-h);
		min-height: var(--ligarena-home-visual-image-h);
		margin: 0;
		margin-left: -50vw;
		z-index: 2;
	}

	.ligarena-home-visual__image-frame {
		top: 0;
		right: 0;
		left: var(--ligarena-home-visual-start);
		width: var(--ligarena-home-visual-col);
		height: var(--ligarena-home-visual-image-h);
		min-height: var(--ligarena-home-visual-image-h);
		max-height: none;
		z-index: 3;
		transform: none;
		clip-path: inset(0 0 0 0);
	}

	.ligarena-home-visual__image {
		width: 100%;
		height: var(--ligarena-home-visual-image-h);
		min-height: var(--ligarena-home-visual-image-h);
		max-height: none;
		object-fit: cover;
		object-position: left top;
	}

	.ligarena-home-visual__hexagons {
		top: 0;
		height: var(--ligarena-home-visual-image-h);
		min-height: var(--ligarena-home-visual-image-h);
		max-height: none;
		transform: none;
	}

	.home .ligarena-home-banner__left {
		padding-top: calc(var(--header-height, var(--ligarena-header-height, 6rem)) + clamp(1rem, 2vw, 1.75rem));
	}

	.home .ligarena-home-banner,
	.ligarena-home-header-overlay .ligarena-home-banner {
		background: transparent;
	}

	.ligarena-home-banner {
		overflow: visible;
	}

	.ligarena-home-visual__image:not(.is-visible) {
		opacity: 0;
		will-change: transform, opacity;
	}

	.ligarena-home-visual__image.is-visible {
		opacity: 1;
		will-change: auto;
	}
}

@media (max-width: 1280px) and (min-width: 1025px) {
	.ligarena-home-banner {
		--ligarena-banner-inner-max-w: clamp(18rem, 38vw, 42rem);
		--ligarena-banner-display-size: clamp(1.8rem, 1.15rem + 2.6vw, 5.1rem);
		--ligarena-banner-subtitle-size: clamp(0.8rem, 0.48rem + 0.78vw, 1.58rem);
	}
}

@media (max-width: 1024px) {
	.ligarena-home-banner__btn--desktop {
		display: none;
	}

	.ligarena-home-banner__btn--mobile {
		display: inline-flex;
	}

	.home .entry-content > .ligarena-home-hero-group,
	.home .entry-content.is-layout-constrained > .ligarena-home-hero-group {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}

	.home .ligarena-home-hero-group > .ligarena-home-visual,
	.home .ligarena-home-hero-group > .ligarena-home-hero {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.home .entry-content > .ligarena-home-visual,
	.home .entry-content > .ligarena-home-hero,
	.home .entry-content.is-layout-constrained > .ligarena-home-visual,
	.home .entry-content.is-layout-constrained > .ligarena-home-hero {
		width: 100vw !important;
		max-width: 100vw !important;
		gap: 40px;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}

	.home .ligarena-home-hero-group {
		--ligarena-home-hero-h: auto;
		--ligarena-home-visual-image-h: clamp(18rem, 52svh, 30rem);
		--ligarena-home-visual-left-gap: 0;
		--ligarena-home-mobile-stack-gap: clamp(1.5rem, 6vw, 2.75rem);
		display: flex;
		flex-direction: column;
		gap: var(--ligarena-home-mobile-stack-gap);
	}

	.home .ligarena-home-hero {
		position: relative;
		display: block;
		min-height: 0;
		height: auto;
		max-height: none;
		margin-bottom: 0 !important;
		overflow: hidden;
		isolation: isolate;
		background: #fafcff;
	}

	.ligarena-home-banner {
		position: relative;
		z-index: 3;
		flex: 0 0 auto;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		min-height: 0;
		height: auto;
		margin: 0;
		overflow: visible;
		width: 100%;
		max-width: 100%;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.84) 18%,
			rgba(255, 255, 255, 0.96) 42%
		);
		box-sizing: border-box;
	}

	.ligarena-home-banner__bg {
		position: absolute;
		inset: 0;
		z-index: 0;
		width: 100%;
		height: 100%;
		opacity: 0.4;
		background: url("../img/banners/banner-fundo.webp") center 18% / cover no-repeat;
		transform: none;
		display: none;
	}

	.ligarena-home-banner__bg[data-ligarena-home-banner-bg-parallax] {
		transform: none;
		will-change: auto;
	}

	.ligarena-home-banner::after {
		display: none;
	}

	.ligarena-home-banner__left {
		position: relative;
		z-index: 2;
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		min-height: auto;
		height: auto;
		width: 100%;
		padding: 1.25rem clamp(0.85rem, 4vw, 1.35rem) clamp(1rem, 4vw, 1.35rem);
		box-sizing: border-box;
		overflow: visible;
		touch-action: manipulation;
	}

	.ligarena-home-banner {
		--ligarena-banner-display-size: clamp(1.75rem, 6.5vw + 0.55rem, 3.1rem);
		--ligarena-banner-subtitle-size: clamp(0.88rem, 3.1vw + 0.4rem, 1.32rem);
		--ligarena-banner-desc-margin: clamp(0.65rem, 2.5vw, 0.95rem);
		--ligarena-banner-actions-margin: clamp(0.85rem, 3vw, 1.15rem);
		--ligarena-banner-btn-size: clamp(0.74rem, 2.2vw + 0.4rem, 0.9rem);
		--ligarena-banner-btn-pad-y: clamp(0.72rem, 2.2vw, 0.95rem);
		--ligarena-banner-btn-pad-x: clamp(0.9rem, 3vw, 1.25rem);
	}

	.ligarena-home-banner__inner {
		width: 100%;
		max-width: none;
		padding-right: 0;
	}

	.ligarena-home-banner__kicker {
		margin-bottom: clamp(0.35rem, 1.5vw, 0.65rem);
	}

	.ligarena-home-banner h1 {
		max-width: none;
	}

	.ligarena-home-banner__description {
		max-width: none;
	}

	.ligarena-home-banner__actions {
		gap: 0.65rem;
	}

	.ligarena-home-visual {
		position: relative;
		inset: auto;
		z-index: 1;
		display: block;
		width: 100%;
		height: var(--ligarena-home-visual-image-h);
		min-height: var(--ligarena-home-visual-image-h);
		max-height: none;
		margin: 0;
		overflow: hidden;
		isolation: isolate;
	}

	.ligarena-home-visual__hexagons {
		display: none !important;
	}

	.ligarena-home-visual__image-frame {
		position: relative;
		top: 0;
		right: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		max-width: 100%;
		height: var(--ligarena-home-visual-image-h);
		max-height: none;
		min-height: var(--ligarena-home-visual-image-h);
		margin: 0;
		transform: none;
		overflow: hidden;
	}

	.ligarena-home-visual__image {
		display: block;
		width: 100%;
		height: 100%;
		max-height: none;
		opacity: 1;
		object-fit: cover;
		object-position: 50% 88%;
		border-radius: 0;
		animation: none;
	}

	body.admin-bar.home .ligarena-home-visual__image-frame { top: 0; }
}

/* Tablet: imagem em faixa no topo + texto em baixo, sem “buraco” no meio */
@media (min-width: 769px) and (max-width: 1024px) {
	.home .entry-content > .ligarena-home-visual,
	.home .entry-content > .ligarena-home-hero,
	.home .entry-content.is-layout-constrained > .ligarena-home-visual,
	.home .entry-content.is-layout-constrained > .ligarena-home-hero {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.home .ligarena-home-hero-group {
		--ligarena-home-visual-image-h: clamp(20rem, 40vh, 28rem);
		--ligarena-home-visual-left-gap: 0;
	}

	.ligarena-home-visual {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.ligarena-home-visual__image-frame {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
	}

	.ligarena-home-visual__image {
		width: 100%;
		max-width: 100%;
		object-fit: cover;
		object-position: 50% 88%;
	}

	.ligarena-home-banner {
		flex: 0 0 auto;
		justify-content: flex-start;
		margin-top: 0;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.9) 14%,
			#ffffff 32%
		);
		--ligarena-banner-display-size: clamp(1.9rem, 4.3vw + 0.45rem, 2.95rem);
		--ligarena-banner-subtitle-size: clamp(0.92rem, 1.8vw + 0.35rem, 1.2rem);
	}

	.ligarena-home-banner__left {
		align-items: flex-start;
		justify-content: flex-end;
		min-height: auto;
		height: auto;
		padding: 1rem clamp(1.25rem, 5vw, 2.5rem) clamp(2rem, 5vw, 2.75rem);
	}

	.ligarena-home-banner__description {
		max-width: 38ch;
	}

	.ligarena-home-banner__actions {
		flex-wrap: nowrap;
	}
}

@media (max-width: 640px) {
	.home .ligarena-home-hero-group {
		--ligarena-home-visual-image-h: clamp(17rem, 58svh, 32rem);
		--ligarena-home-mobile-stack-gap: clamp(1.75rem, 7vw, 3rem);
	}

	.home .ligarena-home-hero {
	}

	.ligarena-home-banner {
		--ligarena-banner-display-size: clamp(1.65rem, 7.6vw, 2.8rem);
		--ligarena-banner-subtitle-size: clamp(0.84rem, 3.7vw, 1.15rem);
		--ligarena-banner-desc-margin: 0.65rem;
		--ligarena-banner-actions-margin: 0.85rem;
	}

	.ligarena-home-banner__actions {
		flex-direction: column;
		width: 100%;
	}

	.ligarena-home-banner__btn {
		width: 100%;
	}
}
