/* Página Contactos — fundo navy full-bleed, corte inferior para o footer */
:root {
	--ligarena-contact-footer-slope: clamp(4rem, 8vw, 7rem);
}

@media (max-width: 900px) {
	:root {
		--ligarena-contact-footer-slope: clamp(2.5rem, 6.5vw, 3.5rem);
	}
}

.ligarena-contacto-section {
	--contacto-slope: var(--ligarena-contact-footer-slope);
	--contacto-bottom-slope: var(--ligarena-contact-footer-slope);
	--contacto-header-gap: calc(
		var(--header-height, var(--ligarena-header-height, 6rem))
		+ clamp(2.5rem, 5vw, 4.5rem)
	);
	position: relative;
	z-index: 2;
	width: 100vw;
	max-width: 100vw;
	min-height: 100vh;
	min-height: 100dvh;
	margin: 0 calc(50% - 50vw);
	padding: var(--contacto-header-gap) var(--ligarena-site-pad-x, 10vw)
		calc(var(--contacto-bottom-slope) + clamp(2.5rem, 5vw, 4rem));
	background: #001c48;
	color: #ffffff;
	box-sizing: border-box;
	clip-path: polygon(
		0 0,
		100% 0,
		100% calc(100% - var(--contacto-bottom-slope)),
		0 100%
	);
	overflow: hidden;
}

body.admin-bar .ligarena-contacto-section {
	--contacto-header-gap: calc(
		var(--header-height, var(--ligarena-header-height, 6rem))
		+ 32px
		+ clamp(2.5rem, 5vw, 4.5rem)
	);
}

.ligarena-contacto-section__container {
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
}

.ligarena-contacto-section__vector {
	position: absolute;
	z-index: 0;
	display: block;
	pointer-events: none;
	color: #5bc8e1;
	opacity: 1;
}

.ligarena-contacto-section__vector svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.ligarena-contacto-section__vector path {
	stroke-width: 1.75px;
	vector-effect: non-scaling-stroke;
}

.ligarena-contacto-section__vector--1 {
	left: 0;
	bottom: 0;
	width: clamp(12rem, 28vw, 22rem);
}

.ligarena-contacto-section__vector--2 {
	right: 0;
	top: var(--contacto-header-gap, 8rem);
	width: clamp(5rem, 12vw, 10rem);
	max-height: clamp(16rem, 40vw, 32rem);
}

.ligarena-contacto-section__form-wrap {
	padding-bottom: clamp(0.5rem, 2vw, 1rem);
}

.ligarena-contacto-section__header {
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.ligarena-contacto-section__title {
	margin: 0 0 clamp(1rem, 2.2vw, 1.75rem);
	color: #ffffff;
	max-width: min(100%, 22ch);
	line-height: clamp(1.02, 1.05 + 0.08vw, 1.12);
}

.ligarena-contacto-section__lead {
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
	max-width: min(100%, 72ch);
}

.ligarena-contacto-section__form-fallback {
	margin: 0;
	padding: 1rem 1.25rem;
	border: 1px dashed rgba(255, 255, 255, 0.35);
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.95rem;
}

/* —— Formidable dentro da secção —— */
.ligarena-contacto-form .frm_forms,
.ligarena-contacto-form .frm_show_form,
.ligarena-contacto-form form {
	margin: 0;
}

.ligarena-contacto-form .with_frm_style {
	--form-width: 100%;
	--form-align: left;
	--direction: ltr;
	--position: none;
	--width: auto;
	--align: left;
	--label-color: #ffffff;
	--text-color: #ffffff;
	--description-color: rgba(255, 255, 255, 0.7);
	--required-color: #ff8a8a;
	--field-font-size: clamp(1rem, 1.2vw, 1.125rem);
	--field-height: auto;
	--line-height: 1.45;
	--field-pad: 0.65rem 0 0.55rem;
	--field-margin: 0;
	--field-width: 100%;
	--border-color: rgba(255, 255, 255, 0.85);
	--field-border-width: 0 0 1px 0;
	--field-border-style: solid;
	--bg-color: transparent;
	--bg-color-active: transparent;
	--bg-color-disabled: transparent;
	--border-color-active: #ffffff;
	--border-color-error: #ff8a8a;
	--submit-bg-color: #ffffff;
	--submit-color: #001c48;
	--submit-font-size: 0.82rem;
	--submit-height: auto;
	--submit-pad: 0.95rem 1.75rem;
	--submit-margin: 0;
	--submit-border-width: 0;
	--submit-border-color: #ffffff;
	--submit-shadow-color: transparent;
	--font-size: clamp(1rem, 1.2vw, 1.125rem);
	--success-bg-color: rgba(255, 255, 255, 0.12);
	--success-border-color: rgba(255, 255, 255, 0.35);
	--success-text-color: #ffffff;
	--error-bg-color: rgba(179, 45, 46, 0.25);
	--error-border-color: #ff8a8a;
	--error-text-color: #ffffff;
}

/* Mantém a grelha de 12 colunas do Formidable — não substituir por grid próprio */
.ligarena-contacto-form .frm_fields_container,
.ligarena-contacto-form .frm_combo_inputs_container,
.ligarena-contacto-form .frm_form_fields > fieldset {
	grid-gap: clamp(1.35rem, 2.8vw, 2rem) clamp(1.5rem, 4vw, 2.5%);
	border: 0;
	margin: 0;
	padding: 0;
}

.ligarena-contacto-form .frm_form_field,
.ligarena-contacto-form .frm_submit {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.ligarena-contacto-form .frm_combo_inputs_container > .frm_form_field {
	width: 100%;
}

.ligarena-contacto-form .frm_primary_label {
	display: block;
	width: 100%;
	font-family: var(--ligarena-font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #ffffff;
	white-space: normal;
	word-break: normal;
}

.ligarena-contacto-form .frm_screen_reader {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.ligarena-contacto-form .frm_description {
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.65);
}

.ligarena-contacto-form input[type="text"],
.ligarena-contacto-form input[type="email"],
.ligarena-contacto-form input[type="tel"],
.ligarena-contacto-form input[type="number"],
.ligarena-contacto-form input[type="url"],
.ligarena-contacto-form input[type="password"],
.ligarena-contacto-form select,
.ligarena-contacto-form textarea {
	width: 100% !important;
	max-width: 100%;
	border-radius: 0;
	box-shadow: none;
	background: transparent !important;
	color: #ffffff !important;
}

.ligarena-contacto-form input::placeholder,
.ligarena-contacto-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.45);
	opacity: 1;
}

.ligarena-contacto-form select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%);
	background-position: calc(100% - 18px) calc(50% + 2px), calc(100% - 12px) calc(50% + 2px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-right: 2rem !important;
	cursor: pointer;
}

.ligarena-contacto-form select option {
	color: #001c48;
	background: #ffffff;
}

.ligarena-contacto-form textarea {
	min-height: 7rem;
	resize: vertical;
}

.ligarena-contacto-form input:focus,
.ligarena-contacto-form select:focus,
.ligarena-contacto-form textarea:focus {
	outline: none;
	border-bottom-color: #ffffff !important;
	box-shadow: 0 1px 0 0 #ffffff;
}

.ligarena-contacto-form .frm_submit {
	grid-column: span 12 / span 12;
	justify-self: start;
	width: auto;
	margin-top: clamp(0.75rem, 1.5vw, 1.25rem);
	margin-bottom: 0;
}

.ligarena-contacto-form .frm_submit .frm_button_submit,
.ligarena-contacto-form .frm_submit button,
.ligarena-contacto-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 11rem;
	border-radius: 0 !important;
	background: #ffffff !important;
	color: #001c48 !important;
	font-family: var(--ligarena-font-heading);
	font-size: 0.82rem !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.ligarena-contacto-form .frm_submit .frm_button_submit:hover,
.ligarena-contacto-form .frm_submit button:hover,
.ligarena-contacto-form input[type="submit"]:hover {
	background: transparent !important;
	color: #ffffff !important;
	box-shadow: inset 0 0 0 1px #ffffff;
}

.ligarena-contacto-form .frm_error_style,
.ligarena-contacto-form .frm_message {
	margin-bottom: 1.25rem;
	padding: 0.85rem 1rem;
	border-radius: 4px;
}

.ligarena-contacto-form .frm_error,
.ligarena-contacto-form .frm_blank_field input,
.ligarena-contacto-form .frm_blank_field select,
.ligarena-contacto-form .frm_blank_field textarea {
	border-bottom-color: #ff8a8a !important;
}

/* Sem padding inferior no content wrapper quando a secção contacto é a última */
.ct-container-full:has(.ligarena-contacto-section),
.ct-container-full[data-vertical-spacing*="bottom"]:has(.ligarena-contacto-section) {
	padding-bottom: 0 !important;
}

.entry-content:has(.ligarena-contacto-section) {
	padding-bottom: 0;
	margin-bottom: 0;
}

.page-contactos .ligarena-cta-banner {
	display: none !important;
}

.page-contactos #main-container,
.page-contactos main#main,
.page-contactos .site-main,
.page-contactos .site-content,
.page-contactos article,
.page-contactos .entry-content {
	background: #001c48;
}

.page-contactos .hero-section,
.page-contactos .ct-page-title,
.page-contactos .entry-header {
	display: none;
}

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

.page-contactos [data-vertical-spacing*="top"],
.page-contactos [data-vertical-spacing*="bottom"] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.page-contactos .entry-content > .ligarena-contacto-section,
.page-contactos .entry-content.is-layout-constrained > .ligarena-contacto-section {
	max-width: none !important;
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	margin-block-end: 0 !important;
	margin-bottom: 0 !important;
}

@media (max-width: 782px) {
	.ligarena-contacto-section {
		clip-path: polygon(
			0 0,
			100% 0,
			100% calc(100% - var(--contacto-bottom-slope) * 0.65),
			0 100%
		);
		padding-left: clamp(1rem, 6vw, 1.5rem);
		padding-right: clamp(1rem, 6vw, 1.5rem);
		padding-bottom: calc(var(--contacto-bottom-slope) * 0.75 + clamp(1.75rem, 5vw, 2.5rem));
	}

	.ligarena-contacto-section__title {
		max-width: none;
	}

	.ligarena-contacto-section__lead {
		max-width: none;
	}

	.ligarena-contacto-section__vector--1 {
		width: clamp(9rem, 42vw, 16rem);
	}

	.ligarena-contacto-form .frm_fields_container .frm_form_field,
	.ligarena-contacto-form .frm_fields_container > .frm_form_field,
	.ligarena-contacto-form .frm_fields_container .frm6,
	.ligarena-contacto-form .frm_fields_container .frm_half {
		grid-column: span 12 / span 12;
	}
}
