/* General */
:root {
	--border-radius: 4px;
	--border-radius2x: 8px;
	--default: #666; /* era #777 - contraste mínimo WCAG AA (4.5:1) */
}
/* Skin Colors */
:root {
	--primary: #1c5fa8;
	--primary-100: #185392;
	--primary-200: #174c87;
	--primary-300: #15467c;
	--primary--100: #206bbe;
	--primary--200: #2172c9;
	--primary--300: #2378d4;
	--primary-rgba-0: rgba(28, 95, 168, 0);
	--primary-rgba-10: rgba(28, 95, 168, 0.1);
	--primary-rgba-20: rgba(28, 95, 168, 0.2);
	--primary-rgba-30: rgba(28, 95, 168, 0.3);
	--primary-rgba-40: rgba(28, 95, 168, 0.4);
	--primary-rgba-50: rgba(28, 95, 168, 0.5);
	--primary-rgba-60: rgba(28, 95, 168, 0.6);
	--primary-rgba-70: rgba(28, 95, 168, 0.7);
	--primary-rgba-80: rgba(28, 95, 168, 0.8);
	--primary-rgba-90: rgba(28, 95, 168, 0.9);
	--secondary: #3073BC;
	--secondary-100: #2b67a8;
	--secondary-200: #28609e;
	--secondary-300: #265a93;
	--secondary--100: #3980cc;
	--secondary--200: #4386cf;
	--secondary--300: #4d8dd2;
	--secondary-rgba-0: rgba(48, 115, 188, 0);
	--secondary-rgba-10: rgba(48, 115, 188, 0.1);
	--secondary-rgba-20: rgba(48, 115, 188, 0.2);
	--secondary-rgba-30: rgba(48, 115, 188, 0.3);
	--secondary-rgba-40: rgba(48, 115, 188, 0.4);
	--secondary-rgba-50: rgba(48, 115, 188, 0.5);
	--secondary-rgba-60: rgba(48, 115, 188, 0.6);
	--secondary-rgba-70: rgba(48, 115, 188, 0.7);
	--secondary-rgba-80: rgba(48, 115, 188, 0.8);
	--secondary-rgba-90: rgba(48, 115, 188, 0.9);
	--tertiary: #084B94;
	--tertiary-100: #073f7c;
	--tertiary-200: #063970;
	--tertiary-300: #053264;
	--tertiary--100: #0957ac;
	--tertiary--200: #0a5db8;
	--tertiary--300: #0b64c4;
	--tertiary-rgba-0: rgba(8, 75, 148, 0);
	--tertiary-rgba-10: rgba(8, 75, 148, 0.1);
	--tertiary-rgba-20: rgba(8, 75, 148, 0.2);
	--tertiary-rgba-30: rgba(8, 75, 148, 0.3);
	--tertiary-rgba-40: rgba(8, 75, 148, 0.4);
	--tertiary-rgba-50: rgba(8, 75, 148, 0.5);
	--tertiary-rgba-60: rgba(8, 75, 148, 0.6);
	--tertiary-rgba-70: rgba(8, 75, 148, 0.7);
	--tertiary-rgba-80: rgba(8, 75, 148, 0.8);
	--tertiary-rgba-90: rgba(8, 75, 148, 0.9);
	--quaternary: #383f48;
	--quaternary-100: #2d323a;
	--quaternary-200: #272c32;
	--quaternary-300: #22262b;
	--quaternary--100: #434c56;
	--quaternary--200: #49525e;
	--quaternary--300: #4e5865;
	--quaternary-rgba-0: rgba(56, 63, 72, 0);
	--quaternary-rgba-10: rgba(56, 63, 72, 0.1);
	--quaternary-rgba-20: rgba(56, 63, 72, 0.2);
	--quaternary-rgba-30: rgba(56, 63, 72, 0.3);
	--quaternary-rgba-40: rgba(56, 63, 72, 0.4);
	--quaternary-rgba-50: rgba(56, 63, 72, 0.5);
	--quaternary-rgba-60: rgba(56, 63, 72, 0.6);
	--quaternary-rgba-70: rgba(56, 63, 72, 0.7);
	--quaternary-rgba-80: rgba(56, 63, 72, 0.8);
	--quaternary-rgba-90: rgba(56, 63, 72, 0.9);
	--dark: #212529;
	--dark-100: #16181b;
	--dark-200: #101214;
	--dark-300: #0a0c0d;
	--dark--100: #2c3237;
	--dark--200: #32383e;
	--dark--300: #383f45;
	--dark-rgba-0: rgba(33, 37, 41, 0);
	--dark-rgba-10: rgba(33, 37, 41, 0.1);
	--dark-rgba-20: rgba(33, 37, 41, 0.2);
	--dark-rgba-30: rgba(33, 37, 41, 0.3);
	--dark-rgba-40: rgba(33, 37, 41, 0.4);
	--dark-rgba-50: rgba(33, 37, 41, 0.5);
	--dark-rgba-60: rgba(33, 37, 41, 0.6);
	--dark-rgba-70: rgba(33, 37, 41, 0.7);
	--dark-rgba-80: rgba(33, 37, 41, 0.8);
	--dark-rgba-90: rgba(33, 37, 41, 0.9);
	--light: #FFF;
	--light-100: #f2f2f2;
	--light-200: #ececec;
	--light-300: #e6e6e6;
	--light--100: #ffffff;
	--light--200: #ffffff;
	--light--300: #ffffff;
	--light-rgba-0: rgba(255, 255, 255, 0);
	--light-rgba-10: rgba(255, 255, 255, 0.1);
	--light-rgba-20: rgba(255, 255, 255, 0.2);
	--light-rgba-30: rgba(255, 255, 255, 0.3);
	--light-rgba-40: rgba(255, 255, 255, 0.4);
	--light-rgba-50: rgba(255, 255, 255, 0.5);
	--light-rgba-60: rgba(255, 255, 255, 0.6);
	--light-rgba-70: rgba(255, 255, 255, 0.7);
	--light-rgba-80: rgba(255, 255, 255, 0.8);
	--light-rgba-90: rgba(255, 255, 255, 0.9);
}
/* Skin Colors - Inverse */
:root {
	--primary-inverse: #FFF;
	--secondary-inverse: #FFF;
	--tertiary-inverse: #FFF;
	--quaternary-inverse: #FFF;
	--dark-inverse: #FFF;
	--light-inverse: #777;
}
/* Grey Colors */
:root {
	--grey: #969696;
	--grey-100: #f4f4f4;
	--grey-200: #eaeaea;
	--grey-300: #e5e5e5;
	--grey-400: #e0e0e0;
	--grey-500: #dbdbdb;
	--grey-600: #cecece;
	--grey-700: #c1c1c1;
	--grey-800: #a8a8a8;
	--grey-900: #8e8e8e;
	--grey-1000: #757575;
}


body {
		font-family: "Poppins", sans-serif;
}

@media (min-width: 1200px) {
		.container:not(.container-bs):not(.container-xl-custom):not(.container-xxl-custom) {
				max-width: 1200px;
		}
}

.custom-border-radius-1 {
		border-radius: 7px !important;
}

.custom-text-underline-1 {
		border-bottom: 1px solid rgba(255, 255, 255, 0.7);
}

.custom-btn-border-radius {
		border-radius: var(--border-radius2x);
}

.custom-btn-arrow-effect-1 > svg {
		transition: ease transform 300ms;
}

.custom-btn-arrow-effect-1:hover > svg {
		transform: translate3d(8px, 0, 0);
}

.custom-select-1.custom-select-1-arrow-position:before {
		right: 30px;
}

.custom-svg-1 {
		position: absolute;
		left: 0;
		top: -100px;
		width: 640px;
}

.custom-svg-2 {
		position: absolute;
		top: 43%;
		left: -260px;
		width: 190px;
		transform: translate3d(0, -50%, 0);
}

.custom-svg-3 {
		display: none;
		position: absolute;
		right: 0;
}

@media (min-width: 576px) {
		.custom-svg-3 {
				display: block;
				bottom: -80px;
				width: 80px;
		}
}

@media (min-width: 1440px) {
		.custom-svg-3 {
				bottom: -150px;
				width: 150px;
		}
}

.custom-bg-color-grey-1 {
		background-color: #f4f4f4 !important;
}

.custom-alert-bg-color-1 {
		background-color: var(--light) cd6 !important;
}

@media (max-width: 575px) {
		.custom-section-background {
				background-color: var(--light) !important;
		}
}

.custom-section-background .container:before {
		content: '';
		position: absolute;
		top: 50%;
		right: 85%;
		width: 100vw;
		height: calc( 100% + 150px);
		background: var(--light);
		z-index: 0;
		transform: translate3d(0, -50%, 0);
}

@media (max-width: 575px) {
		.custom-section-background .container:before {
				opacity: 0;
		}
}

@media (min-width: 1920px) {
		.custom-background-style-1 {
				background-size: cover;
		}
}

@media (max-width: 575px) {
		.custom-background-style-1 {
				background-image: none !important;
				background-color: var(--light);
		}
}

@media (min-width: 2050px), (max-width: 991px) {
		.custom-background-size-1 {
				background-size: cover !important;
		}
}

@media (min-width: 2050px) {
		.custom-background-size-1 {
				background-position: 14vw 50% !important;
		}
}

.custom-svg-background-1 {
		position: absolute;
		width: 1000%;
		top: 0;
		left: 50%;
		height: 100.2%;
		transform: translate3d(-50%, 0, 0);
}

@media (max-width: 991px) {
		.custom-svg-background-1 {
				left: 77%;
		}
}

@media (max-width: 575px) {
		.custom-svg-background-1 {
				left: 82%;
		}
}

@media (max-width: 991px) {
		.custom-remove-mobile-border-left {
				border-left: 0 !important;
		}
}

@media (max-width: 575px) {
		.custom-remove-mobile-xs-border-left {
				border-left: 0 !important;
		}
}

.custom-divider > hr {
		height: 4px !important;
}

@keyframes customLineAnim {
		from {
				stroke-dasharray: 1600;
				stroke-dashoffset: 1600;
		}
		to {
				stroke-dasharray: 2500;
				stroke-dashoffset: 1600;
		}
}

.customLineAnim {
		animation-name: customLineAnim;
}

@keyframes customLineAnim2 {
		from {
				stroke-dasharray: 2650;
				stroke-dashoffset: 2650;
		}
		to {
				stroke-dasharray: 2650;
				stroke-dashoffset: 0;
		}
}

.customLineAnim2 {
		animation-name: customLineAnim2;
}

@keyframes customLineProgressAnim {
		from {
				width: 0;
		}
		to {
				width: 60px;
		}
}

.customLineProgressAnim {
		animation-name: customLineProgressAnim;
}

/*
 * Social Icons
 */
.custom-social-icons-divider > li + li {
		position: relative;
		margin-left: 20px;
}

.custom-social-icons-divider > li + li:before {
		content: '';
		border-left: 1px solid #dadcdd;
		height: 80%;
		position: absolute;
		left: -13px;
		top: 50%;
		transform: translate3d(0, -50%, 0);
}

/*
 * Header
 */
#header .header-container {
		height: 110px;
}

#header .header-nav-main nav > ul > li.dropdown .dropdown-menu {
		border-radius: 5px !important;
}

#header .header-nav-features .header-nav-feature.px-4 .header-nav-features-dropdown.show {
		right: calc( 100% - 30px) !important;
}

.custom-left-border-1 {
		position: relative;
}

.custom-left-border-1:before {
		content: '';
		position: absolute;
		top: 50%;
		left: -22px;
		height: 60%;
		border-left: 1px solid var(--grey-500);
		transform: translate3d(0, -50%, 0);
}

/*
* Icon Style
*/
.custom-icon-style-1 {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 95px;
		height: 95px;
}

.custom-icon-style-1:before {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		border: 2px solid var(--grey-500);
		border-radius: 7px;
		transform: rotate(45deg);
		z-index: 0;
		transition: ease background 300ms;
}

.custom-icon-style-1 svg {
		position: relative;
		z-index: 1;
}

.custom-icon-box-style-1 h3 {
		transition: ease color 300ms;
}

/*
* Thumb Info
*/
.custom-thumb-info-style-1 .thumb-info-wrapper {
		border-radius: 25px !important;
		border: 5px solid transparent !important;
		transition: ease border 300ms;
}

.custom-thumb-info-style-1 h3 {
		transition: ease color 300ms;
}

.custom-img-thumbnail-style-1.img-thumbnail.img-thumbnail-hover-icon:before {
		border-radius: 0 !important;
}

/*
* Testimonial
*/
.custom-testimonial-style-1 blockquote {
		padding: 5px 28px !important;
}

.custom-testimonial-style-1 blockquote p {
		font-family: "Poppins", sans-serif;
}

.custom-testimonial-style-1.testimonial-with-quotes blockquote:before {
		content: "\f10d";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		font-size: 20px;
		left: 0;
}

@media (min-width: 1200px) {
		.custom-carousel-box-shadow-1 {
				position: relative;
		}
		.custom-carousel-box-shadow-1:before {
				content: '';
				position: absolute;
				top: 50%;
				left: 50%;
				width: 65%;
				height: 0px;
				box-shadow: 0 0 40px 120px rgba(0, 0, 0, 0.07);
				transform: translate3d(-50%, -50%, 0);
				z-index: 0;
		}
}

/*
* Accordion
*/
.custom-accordion-style-1 > .card {
		border: 1px solid transparent !important;
		transition: ease border-color 300ms;
}

.custom-accordion-style-1 > .card .card-header a {
		position: relative;
		padding: 23px 30px;
		background-color: #f4f4f4;
		transition: ease background-color 300ms, ease color 300ms;
}

.custom-accordion-style-1 > .card .card-header a:after {
		content: '+';
		position: absolute;
		top: 50%;
		right: 25px;
		font-size: inherit;
		font-weight: inherit;
		transform: translate3d(0, -50%, 0) rotate(45deg);
		transform-origin: 50% 50%;
		transition: ease transform 300ms;
}

.custom-accordion-style-1 > .card .card-header a.collapsed:after {
		transform: translate3d(0, -50%, 0) rotate(0deg);
}

.custom-accordion-style-1 > .card .card-header + .collapse.show,
.custom-accordion-style-1 > .card .card-header + .collapsing {
		border: 1px solid var(--grey-500);
		border-top: 0;
}

.custom-accordion-style-1 > .card + .card {
		margin-top: 17px;
}

/*
* Services Detail
*/
.custom-nav-list-effect-1 > li > a {
		position: relative;
		transition: ease padding 300ms, ease color 300ms;
}

.custom-nav-list-effect-1 > li > a:before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		width: 0;
		height: 0;
		border-top: 4px solid var(--grey-500);
		opacity: 0;
		visibility: hidden;
		transform: translate3d(0, -50%, 0);
		transition: ease opacity 300ms, ease width 300ms;
}

.custom-nav-list-effect-1 > li.active > a, .custom-nav-list-effect-1 > li.open > a, .custom-nav-list-effect-1 > li:hover > a {
		padding-left: 45px;
		font-weight: 700;
}

.custom-nav-list-effect-1 > li.active > a:before, .custom-nav-list-effect-1 > li.open > a:before, .custom-nav-list-effect-1 > li:hover > a:before {
		width: 30px;
		opacity: 1;
		visibility: visible;
}

.custom-feature-box-justify-center {
		justify-content: center;
}

.custom-feature-box-justify-center .feature-box-icon,
.custom-feature-box-justify-center .feature-box-info {
		flex: 0 0 auto;
}

/*
* Contact
*/
.custom-form-style-1 .form-control {
		border: 0;
		background: #f4f4f4;
		border-radius: 35px;
		height: auto;
		padding: 20px 25px;
}

/*
* Datepicker
*/
.datepicker {
		padding: 10px;
		margin: 0 auto;
		line-height: 1.1em;
}

.datepicker.datepicker-inline {
		line-height: 1.7em;
		width: 100%;
}

.datepicker table {
		width: 100%;
}

.datepicker table tr td {
		border-radius: 0;
}

.datepicker table thead tr th {
		cursor: pointer;
		font-size: 12.8px;
		font-size: 0.8rem;
		text-align: center;
		font-weight: normal;
}

.datepicker table thead tr th.prev {
		content: '\f0d9';
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
}

.datepicker table thead tr th.next {
		content: '\f0da';
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
}

.datepicker table thead tr th:hover {
		color: var(--light);
}

.datepicker table thead tr:last-child th {
		font-weight: 600;
}

.datepicker table thead tr:last-child th:hover {
		color: var(--grey-500);
}

.datepicker table td {
		text-align: center;
		font-size: 12px;
		font-size: 0.75rem;
}

.datepicker table td.day {
		transition: background-color .1s ease-in .1s, color .1s ease-in .1s;
		cursor: pointer;
}

/*
* Footer
*/
#footer {
		background: #333333;
}

#footer a:not(.btn):not(.no-footer-css), #footer li, #footer span, #footer p {
		color: #888888;
}

.custom-list-style-1 > li {
		margin-bottom: 0;
		padding-top: 10px;
		padding-bottom: 10px;
}

.custom-list-style-1 > li + li {
		border-top: 1px solid #46474a;
}

.custom-list-style-1 > li:first-child {
		padding-top: 0;
}

.custom-list-style-1 > li:last-child {
		padding-bottom: 0;
}

/* Skin */
/*
* Icon Style
*/
.custom-icon-style-1:before {
		border-color: var(--primary);
}

.custom-icon-box-style-1:hover .custom-icon-style-1:before {
		background: var(--primary);
}

.custom-icon-box-style-1:hover .custom-icon-style-1 svg path {
		fill: var(--primary-inverse) !important;
}

.custom-icon-box-style-1:hover h3 {
		color: var(--primary) !important;
}

/*
* Thumb Info
*/
.custom-thumb-info-style-1:hover .thumb-info-wrapper {
		border-color: var(--primary) !important;
}

.custom-thumb-info-style-1:hover h3 {
		color: var(--primary) !important;
}

/*
* Testimonial
*/
.custom-testimonial-style-1.testimonial-with-quotes blockquote:before {
		color: var(--primary);
}

/*
* Accordion
*/
.custom-accordion-style-1 > .card .card-header a:not(.collapsed) {
		background-color: var(--primary);
		color: var(--primary-inverse) !important;
}

.custom-accordion-style-1 > .card:hover .card-header a.collapsed {
		color: var(--primary) !important;
}

/*
* Services Detail - Nav List
*/
.custom-nav-list-effect-1 > li > a:before {
		border-top-color: var(--primary);
}

.custom-nav-list-effect-1 > li.active > a, .custom-nav-list-effect-1 > li.open > a, .custom-nav-list-effect-1 > li:hover > a {
		color: var(--primary) !important;
}

/*
* Datepicker
*/
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover,
.datepicker table tr td span:hover {
		background: var(--primary);
}

.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover {
		background: var(--primary);
}

.datepicker table thead tr:last-child th:hover {
		color: var(--primary);
}

.datepicker table tbody tr td.day:hover {
		background: var(--primary);
}

.datepicker table tbody tr td.day.active {
		background: var(--primary-300);
}


.header-nav-top li.active{
    color: #FFFFFF;
    background: #1c5fa8;
}
.header-nav-top li.active a{
    color: #FFFFFF !important;
    font-weight: bold;
    text-decoration: none;
}
.header-nav-top li.active a:hover , .header-nav-top li a:hover{
    color: #FFFFFF !important;
    font-weight: bold;
    text-decoration: none;
    background: #1c5fa8 !important;
}

/* ------------------------------------------------------------------
   Melhorias de acessibilidade e conversão (mobile)
   ------------------------------------------------------------------ */
.wf-skip-link {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 10000;
	padding: 10px 16px;
	background: var(--primary);
	color: #fff !important;
	border-radius: var(--border-radius);
}

/* Botão flutuante de chamada (só telemóvel/tablet) */
.wf-mobile-call {
	position: fixed;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 1040;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border-radius: 50px;
	background: var(--primary);
	color: #fff !important;
	font-weight: 600;
	font-size: 15px;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
	opacity: 0;
	transform: translateY(16px);
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease;
}
.wf-mobile-call.is-visible {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}
.wf-mobile-call:hover,
.wf-mobile-call:focus {
	background: var(--primary-100);
	color: #fff;
}
@media (max-width: 991.98px) {
	/* espaço para o botão flutuante não tapar o rodapé */
	.footer-copyright { padding-bottom: 72px !important; }
}

/* Perguntas frequentes (homepage) - mais espaço em baixo para a seta azul (.custom-svg-3) não tapar o conteúdo */
.wf-faq-section {
	padding: 70px 0 60px;
}
@media (min-width: 576px) {
	.wf-faq-section { padding-bottom: 110px; }
}
@media (min-width: 1440px) {
	.wf-faq-section { padding-bottom: 150px; }
}
.wf-faq-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	row-gap: 40px;
}
@media (min-width: 992px) {
	.wf-faq-layout {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		grid-template-rows: auto 1fr;
		column-gap: 50px;
		row-gap: 30px;
	}
	.wf-faq-list { grid-column: 2; grid-row: 1 / span 2; }
	.wf-faq-help { align-self: start; }
}
@media (min-width: 1200px) {
	.wf-faq-layout {
		grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
		column-gap: 70px;
	}
}
.wf-faq-help {
	padding: 30px;
	border: 1px solid var(--grey-500);
	border-radius: var(--border-radius2x);
}
#faq .custom-accordion-style-1 > .card {
	background: transparent;
}
#faq .custom-accordion-style-1 > .card + .card {
	margin-top: 12px;
}
#faq .custom-accordion-style-1 .card-header {
	margin: 0;
}
#faq .custom-accordion-style-1 > .card .card-header a {
	padding: 20px 60px 20px 25px;
	border-radius: var(--border-radius2x);
	font-size: 1.05rem;
	line-height: 1.4;
	letter-spacing: -0.02em;
	text-transform: none;
}
#faq .custom-accordion-style-1 > .card .card-header a:after {
	font-size: 1.6rem;
	font-weight: 400;
}
#faq .custom-accordion-style-1 > .card .card-header a:not(.collapsed) {
	border-radius: var(--border-radius2x) var(--border-radius2x) 0 0;
}
#faq .custom-accordion-style-1 > .card .card-header + .collapse.show,
#faq .custom-accordion-style-1 > .card .card-header + .collapsing {
	border-radius: 0 0 var(--border-radius2x) var(--border-radius2x);
}
#faq .custom-accordion-style-1 .card-body {
	padding: 20px 25px 22px;
}
@media (max-width: 575.98px) {
	.wf-faq-help { padding: 22px; }
	#faq .custom-accordion-style-1 > .card .card-header a { padding: 18px 50px 18px 20px; font-size: 1rem; }
	#faq .custom-accordion-style-1 > .card .card-header a:after { right: 18px; }
	#faq .custom-accordion-style-1 .card-body { padding: 18px 20px; }
}

/* Setas do carrossel de testemunhos: só ficam fora do carrossel quando há margem lateral (evita scroll horizontal entre 992 e 1279px) */
@media (min-width: 992px) and (max-width: 1279.98px) {
	.owl-carousel.nav-outside .owl-nav button.owl-prev { left: 0; }
	.owl-carousel.nav-outside .owl-nav button.owl-next { right: 0; }
}

/* Foco visível para navegação por teclado */
a:focus-visible,
button:focus-visible,
.btn:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

/* Áreas de toque confortáveis em ecrãs táteis (mín. 24-48px) */
@media (max-width: 991.98px) {
	#footer .list li a,
	#footer address a,
	#footer .feature-box-info a,
	.breadcrumb li a,
	.list-icons li a {
		display: inline-block;
		padding-top: 8px;
		padding-bottom: 8px;
	}
	#footer .list li { margin-bottom: 0 !important; }
}

/* Texto do banner visível sem esperar pelo JavaScript (melhora o LCP / Core Web Vitals) */
.wf-hero-kicker {
	letter-spacing: -.05em;
	color: #6c757d !important;
}

/* Contraste mínimo WCAG AA no rodapé e cabeçalho */
#footer .text-color-grey { color: #a8a8a8 !important; }
#footer .list li,
#footer .list li a:not([class*="text-color-light"]) { color: #b5b5b5; }
#footer .list li a:not([class*="text-color-light"]):hover { color: #fff; }
.header-nav-top .header-social-icons li:not(.active) a { color: #555; }

/* Subtítulos do conteúdo (H2 com o aspeto dos antigos H5) */
h2.wf-content-heading {
	font-size: 14px;
	font-weight: 600;
	line-height: 18px;
	letter-spacing: -0.7px;
	text-transform: uppercase;
	margin: 0 0 14px;
	color: var(--dark);
}

/* Breadcrumb: item atual com contraste suficiente sobre o azul */
.breadcrumb.breadcrumb-light .active { opacity: 0.88; }

/* Animações de entrada: o animate.compat.css carrega em diferido, por isso a base (.animated)
   e o fadeIn ficam aqui - sem isto um elemento podia aparecer, desaparecer e voltar a entrar */
.animated {
	animation-duration: var(--animate-duration, 1s);
	animation-fill-mode: both;
}
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
.fadeIn { animation-name: fadeIn; }

/* Quem pede menos movimento no sistema vê o conteúdo logo, sem animações nem atrasos */
@media (prefers-reduced-motion: reduce) {
	.appear-animation,
	.animated {
		opacity: 1 !important;
		animation: none !important;
	}
}

/* Aviso de cookies (Google Analytics) - barra compacta; o texto completo abre em "Saber mais".
   "Aceitar" e "Recusar" com o mesmo destaque, como pede o RGPD */
.wf-cookies {
	position: fixed;
	left: 12px;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	z-index: 1050;
	width: calc(100% - 24px);
	max-width: 460px;
	padding: 8px 8px 8px 14px;
	background: #fff;
	color: var(--default);
	border-radius: var(--border-radius2x);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18);
	font-size: 13px;
	line-height: 1.45;
}
.wf-cookies[hidden] { display: none; }
.wf-cookies-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}
.wf-cookies-title {
	flex: 1 1 120px;
	margin: 0;
	color: #212529;
	font-weight: 600;
}
.wf-cookies-more {
	padding: 0;
	border: 0;
	background: none;
	color: var(--primary);
	font: inherit;
	font-weight: 400;
	text-decoration: underline;
	white-space: nowrap;
	cursor: pointer;
}
.wf-cookies-text { margin: 8px 6px 4px 0; }
.wf-cookies-actions {
	display: flex;
	flex: 0 0 auto;
	gap: 6px;
}
.wf-cookies-actions .btn {
	padding: 5px 14px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}
/* Telemóvel: barra encostada ao fundo, a toda a largura */
@media (max-width: 575px) {
	.wf-cookies {
		left: 0;
		bottom: 0;
		width: 100%;
		max-width: none;
		padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
		border-radius: 0;
	}
}
/* Enquanto o aviso está aberto, o botão de chamada não fica por cima dele */
.wf-cookies-open .wf-mobile-call {
	opacity: 0;
	pointer-events: none;
}
.wf-cookie-settings-link {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}
.wf-cookie-settings-link:hover,
.wf-cookie-settings-link:focus { color: var(--primary); }
