/*
Theme Name:         morfil
Description:        morfil Theme
Version:            1.0
Author:             wevolved

Text Domain:        morfil
*/

/* Configurações BASE */
* {
	box-sizing: border-box;
}

html,
body {
    margin: 0px;
    padding: 0px;
    
    font-family: 'Poppins', sans-serif;
}


/* desativar scroll quando adicionada a classe disableScroll ao HTML */
html.disableScroll {
	overflow-y: hidden;
}

img {
	max-width: 100%;
}

/********* Alterar o scroll bar **********/
html {
	scrollbar-width: thin; /* Adjust the width of the scrollbar */
	/*scrollbar-color: #888 transparent; /* Adjust the color of the scrollbar */
}

/* Define the style for the scrollbar track */
html::-webkit-scrollbar {
	width: 4px; /* Adjust the width of the scrollbar */
}

/* Define the style for the scrollbar thumb */
html::-webkit-scrollbar-thumb {
	background-color: #888; /* Adjust the color of the scrollbar thumb */
	border-radius: 4px; /* Adjust the border radius of the scrollbar thumb */
}

/* Style for scrollbar track (background) */
html::-webkit-scrollbar-track {
	background-color: var(--white); /* Background color of the scrollbar track */
}
/********* FIM DE Alterar o scroll bar **********/

/* Reset comportamento de links */
a,
a:hover,
a:focus,
a:active {
	text-decoration: none;
	color: var(--black);
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
input {
	margin: 0px;
	/* para que as fonts fiquem com linha mais fina */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    
}

a,
span {
	/* para que as fonts fiquem com linha mais fina */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a {
	overflow-wrap: anywhere;
}

/**************** COMPONENTES DE FORMULARIOS **************/
/* Colocar os placeholders dos inputs com cor normal, remover o cinzento */
input::placeholder {
	color: var(--white);
	opacity: 1; /* Firefox */
}

/* Change the white to any color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px var(--black) inset !important;
	-webkit-text-fill-color: var(--white) !important;
}

/* Change the white to any color */
.white input:-webkit-autofill,
.white input:-webkit-autofill:hover,
.white input:-webkit-autofill:focus,
.white input:-webkit-autofill:active,
.white select:-webkit-autofill,
.white select:-webkit-autofill:hover,
.white select:-webkit-autofill:focus,
.white select:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px var(--white) inset !important;
	-webkit-text-fill-color: var(--black) !important;
}

input:focus,
select:focus {
	outline: none !important;
}

/* Remover incremento de número - Chrome, Safari, Edge, Opera  */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* remover espaçamentos */
.wpb_button,
.wpb_content_element,
ul.wpb_thumbnails-fluid > li,
.vc_btn3-container {
	margin-bottom: 0px !important;
}

ul {
	list-style: none;
	padding: 0px;
	margin: 0px;
}

/******** SELECT IGUAL EM TODO O LADO ********* */
/* select {
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 0 !important;

	color: #fff;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	font-size: 14px;
	padding: 10px;
	width: 35%;
	cursor: pointer;

	background: #0d98e8
		url(https://cdn1.iconfinder.com/data/icons/universal-icons-set-for-web-and-mobile/100/controls_0-12-512.png)
		no-repeat right center;
	background-size: 40px 37px;
}

select option {
	background-color: #fff;
	color: black;
}
select::-ms-expand {
	display: none;
} */
/******** SELECT IGUAL EM TODO O LADO ********* */

/**************** FONTS ****************/
/* Fonts default */
p,
a,
label,
input,
select,
textarea,
option,
h1, h2, h3, h4, h5, h6,
span,
button {
	font-family: 'Poppins', sans-serif;
}
.hamburger-menu{
    display: none;
}
/* Variáveis p/ reutilizar */
:root {
	/* Cores */
	--black: #111000;
	--white: #ffffff;
	--grey: #222222;
	--header-height: 50px;
	--page-margin: 25px;
	--border-radius: 4px;
	--page-top-space: 180px;
	--page-bottom-margin: 128px;
}

/* Remover paddings */
.noPadding {
	padding-left: 0px;
	padding-right: 0px;
}

/* REGRAS PARA PROJETO */
body {
	/* margin:0px */
	overflow-x: hidden;
	font-family: 'Poppins', sans-serif;
}

/* esconder badge do recaptcha */
.grecaptcha-badge {
	visibility: hidden !important;
}

/* esconder WPML no footer */
.otgs-development-site-front-end {
	display: none;
}

/* ----------------------------------- BOTÃO TELETRANSPORTE TOPO PÁGINA  ----------------------------------- */
.goUp {
	cursor: pointer;
	position: fixed;
	top: 90%;
	right: 30px;
	z-index: 9995;
	opacity: 0;
	transition: 300ms opacity linear;
}
.goUp.show {
	opacity: 1;
	transition: 300ms opacity linear;
}

/****************************** MEDIA QUERIES ************************************/
footer{
    background-color: black;
}

.footer-bottom a{
    color: unset;
}

.main-header {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
   /* ainda por cima do vídeo, mas abaixo do overlay */
    background: transparent; /* ← aqui está a chave */
    color: #fff;
	transition: background-color 0.3s ease;
}

.main-header .main-menu a {
  color: white;
  transition: color 0.3s ease;
}

.site-logo.logo-alt {
  display: none;
}

body.menu-open .main-header {
  background-color: white;
}

body.menu-open .main-menu a {
  color: #111;
}

body.menu-open .site-logo.logo-default {
  display: none;
}

body.menu-open .site-logo.logo-alt {
  display: inline-block;
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;  /* obrigatório */


}

.main-nav .wpml-ls-menu-item{
	display: none;
}
.logo {
    flex: 1;
	
}

.logo img {
    width: 98px;
    height: 96px;
    object-fit: contain;
}

.main-nav {
    flex: 2;
    text-align: center;
}

.main-menu {
    display: flex;
    justify-content: center;
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-menu li a {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -1px;
    color: white;
    text-decoration: none;
    transition: 0.3s;
    position: relative;
}

.main-menu li a::after {
  content: '';
  position: absolute;
  bottom: -8px; /* distância da bolinha ao texto */
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  background-color: currentColor; /* usa a cor do texto */
  border-radius: 50%;
  opacity: 0; /* invisível por padrão */
  transition: opacity 0.3s ease;
}

.main-menu li a:hover::after,
.main-menu li.current-menu-item a::after,
.main-menu li.current_page_item a::after {
  opacity: 1; /* mostra a bolinha quando hover ou item ativo */
}

#menu-linguagens li + li::before {
  content: "/";
  padding: 0 10px;
  color: inherit;
}


.main-menu li a:hover {
    opacity: 1;
}
ul#menu-linguagens li{
    display: flex;
}
.language-switcher {
    flex: 1;
    text-align: right;
    display: flex;
    justify-content: end;
    font-size: 14px;
}
ul#menu-linguagens {
    display: flex;
}

.language-switcher a {
    color: white;
    opacity: 0.8;
    text-decoration: none; 
}
.language-switcher .wpml-ls-current-language a, .language-switcher a:hover {
    color: white;
    opacity: 1;
}
.coluna-img .vc_column-inner > .wpb_wrapper:first-of-type {
    display: flex;
    gap: 20px;
    justify-content: flex-end;
}

.language-switcher a.active {
    opacity: 1;
    font-weight: bold;
}


.main-footer {
    background: #111;
    color: white;
    z-index: 2;
    padding: 80px 20px 40px;
    position: relative;
    font-family: 'Poppins', sans-serif;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
}

.footer-intro {
    flex: 1 1 40%;
}

.footer-small-title {
    font-size: 16px;
    opacity: 0.8;
}

.footer-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 40px;
    letter-spacing: -2px;
    vertical-align: middle;
    color: #fff;
    margin: 20px 0;
}

.footer-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    color: #111;
    width: 259px;
    height: 52px;
    padding: 10px 10px 10px 20px;
    border-radius: 1000px;
    gap: 20px;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: hidden;
}

.footer-button .button-text {
    z-index: 2;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -0.2px; /* corresponde aproximadamente a -1% */
    vertical-align: middle;
    color: #111;
}


.footer-button .button-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #111;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.footer-button .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    transition: transform 0.3s ease;
}

.footer-button .arrow-dark {
    z-index: 2;
    transform: translateX(0);
}

.footer-button .arrow-red {
    z-index: 1;
    transform: translateX(-100%);
}

.footer-button:hover .arrow-dark {
    transform: translateX(100%);
}

.footer-button:hover .arrow-red {
    transform: translateX(0);
}

.footer-button:hover {
    opacity: 0.8;
}

.footer-menus {
    display: flex;
    gap: 20px;
    flex: 1 1 50%;
    justify-content: space-between;
}


.footer-column h4 {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -1px;
    color: #fff;
    margin-bottom: 15px;
}


.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu li {
    margin-bottom: 10px;
}

.footer-menu a {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0;
    color: white;
    text-decoration: none;
    opacity: 0.8;
    transition: 0.3s;
}


.footer-menu a:hover {
    opacity: 1;
}

.footer-bottom {
    border-top: none;
    margin-top: 40px;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: -0.2px;
    color: white;
    
}


.footer-subtitle {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -1px;
    color: #fff; /* ou a cor que estiveres a usar para texto */
}

.footer-column {
    width: 217px;
    flex-shrink: 0;
}


.hero-section {
  position: relative;
  width: 100%;
  height: 100vh; /* altura total do scroll da hero */
  overflow: hidden;
}

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: -1;
  pointer-events: none;
}

.hero-overlay {
  position: sticky;
  top: 0;
  height: 100vh;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  padding: 0 20px;
}

.hero-subtitle {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -0.02em; /* -2% → -0.02em */
    text-align: center;
    vertical-align: middle;
    margin-bottom: 10px;
}

.hero-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 64px;
    line-height: 70px;
    letter-spacing: -4px;
    text-align: center;
    vertical-align: middle;
	max-width: 690px; /* Limitar a largura máxima do título */
	margin: 0 auto 30px auto; /* Centralizar o título */
}


.hero-button {
    display: inline-flex;
    align-items: center;
    background: #fff;
    color: #111;
    padding: 10px 10px 10px 20px;
    border-radius: 1000px;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: visible; /* ← ALTERA isto */
    gap: 20px;
    cursor: pointer; /* distância entre texto e seta */
}

.hero-button .button-text {
   
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.2px;
    color: #111;
}

.hero-button .button-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #111;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;

    pointer-events: none; 
}

.hero-button .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    transition: transform 0.3s ease;

    pointer-events: none;
}

.hero-button .arrow-dark {
    
    transform: translateX(0);
}
.hero-button .arrow-red {
    
    transform: translateX(-100%);
}

servico-wrapper {

    display: flex;
    align-items: stretch;
    position: relative;
}

.hero-button:hover .arrow-dark {
    transform: translateX(100%);
}
.hero-button:hover .arrow-red {
    transform: translateX(0);
}

.see-more {
    position: absolute;
    bottom: 20px;
    right: 20px; /* margem lateral */
    width: 110px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -1px;
    color: white;
    text-decoration: none;
    opacity: 1;
    background: none;
    border: none;
    cursor: default;
    pointer-events: none; /* para impedir clique, se necessário */
}

.see-more-icon img {
    width: 32px;
    height: 32px;
    display: block;
}

.services-section {
    padding: 80px 20px;
    max-width: 1280px;
    margin: 0 auto;
	margin: 0 auto 80px auto;
}

.text-servicos {
	padding-top: 80px;

}

.services-intro {
    text-align: left;
    margin-bottom: 40px;
}

.services h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -1px;
    vertical-align: middle;
    color: #111;
    opacity: 1; /* Isto garante que o preto não está esbatido */
	max-width: 690px;
}

.container {
    width: calc(100% - 10px);
    margin: auto;
}

.services p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 40px;
    letter-spacing: -2px;
    color: #111;
    margin-top: 10px;
    max-width: 690px;
    margin-bottom: 20px;
    vertical-align: middle;
}


.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 colunas fixas */
    gap: 40px 20px;
    width: 100%;
}

.service-item {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    border-radius: 0; /* mantemos o arredondamento só no wrapper */
}

.service-image-wrapper {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.service-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
    transform-origin: center center;
}

.service-image-wrapper:hover img {
    transform: scale(1.1);
}
.service-item img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
    transform-origin: center center;
    border-radius: 16px;
    /* remove border-radius daqui */
}

.service-item:hover img {
    transform: scale(1.1); /* aumenta 10% */
}




.services-wrapper {
	margin-top: 40px !important;
    margin-bottom: 80px !important;
}


.carousel-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;	
}

.carousel-inner {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

/* .carousel-slide {
    position: relative;
    flex: 0 0 100%;
    background-size: cover;
    background-position: center;
    height: 100vh;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 0px;
} */

.carousel-overlay {
    background: rgba(255, 255, 255, 0.9);
    padding: 20px;
    width: 335px;
    height: 92px;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 20px; /* margem à direita */
	margin-bottom: 20px !important;
}

.overlay-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.overlay-text {
    display: flex;
    flex-direction: column;
}

.overlay-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.overlay-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -1px;
    margin: 0;
    color: #111;
}

.overlay-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 4px;
}

.overlay-company {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -1px;
    margin: 0;
    color: #444;
}




/* Nome do projeto */
.carousel-overlay h3 {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -1px;
    vertical-align: middle;
    margin: 0;
    color: #111;
}

.carousel-overlay p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -1px;
    vertical-align: middle;
    margin: 0;
    color: #444;
}

.carousel-link {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -1px;
    color: #111;
    vertical-align: middle;
    margin-top: 4px;

    position: relative;
    display: inline-block;
    padding-bottom: 2px;
    text-decoration: none; /* tira sublinhado fixo */
    transition: color 0.3s ease;
}

.carousel-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 100%;
    background: #111;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.carousel-link:hover::after {
    transform: scaleX(1);
}

.carousel-wrapper {
    width: 100vw; /* largura da viewport */
    margin-left: calc(-50vw + 50%); /* remove margens do container centralizado */
}

.carousel-nav {
    position: absolute;
    bottom: 142px; /* 92px (overlay) + 20px (margem inferior) + 20px (espaço desejado) */
    right: 20px;
    display: flex;
    gap: 10px;
    z-index: 1;
	margin-right: 15px;
}

.carousel-arrow-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 1000px;
    background: transparent;
    padding: 10px 10px 10px 10px;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: background-color 0.3s ease;
}

 .back-to-menu-mobile {
    display: none;
  }

.carousel-arrow-button .button-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.carousel-arrow-button .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 48px;
    height: 48px;
    transition: transform 0.3s ease;
}

.carousel-arrow-button .arrow-dark {
    z-index: 2;
    transform: translateX(0);
}

.carousel-arrow-button .arrow-red {
    z-index: 1;
    transform: translateX(-100%);
}

.carousel-arrow-button:hover .arrow-dark {
    transform: translateX(100%);
}

.carousel-arrow-button:hover .arrow-red {
    transform: translateX(0);
}


.slick-prev {
    left: 20px;
    z-index: 8;
}
.slick-next {
    right: 20px;
	z-index: 8;
}

.projetos-carousel {
    position: relative;
}
.carousel-slide {
    height: 100vh;
    background-position: center;
    position: relative;
    background-size: cover;
    margin-top: -1px;
    background-color: rgba(17,17,17,0.20);
    background-blend-mode: multiply;
}

.carousel-overlay {
    position: absolute;
    bottom: 10px;
    right: 10px; 
}

.services {
    max-width: 690px;
    margin-bottom: 20px !important;
}

.vc_row.conheca-morfil {
  display: flex;
 /* permite que se adaptem em ecrãs pequenos */
  gap: 20px;
}

.conheca-morfil figure {
    overflow: hidden;         /* Esconde o "zoom extra" fora da borda */
    border-radius: 16px;      /* Garante cantos arredondados também no container */
    position: relative;
}

.conheca-morfil figure img {
    height: 487px !important;
    
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    display: block;
    transition: transform 0.5s ease; /* Animação suave */
}

.conheca-morfil figure:hover img {
    transform: scale(1.1); /* Aumenta ligeiramente no hover */
}



.por-cima .hero-button{
    bottom: 15px;
    position: absolute;
    right: 30px;
}

.conheca-morfil{
	padding-bottom: 80px;
}

.marcas-section {
    text-align: center;
    margin: 60px auto;

}

.marcas-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;              /* Regular */
    font-style: normal;            /* "Regular" em CSS é 'normal' */
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -1px;
    text-align: center;
    margin-bottom: 30px;
	margin-top: 101px; 
}


.carousel {
    direction: ltr;
}

.carousel-cell {
    width: 150px;
    margin: 0 20px;
}

.carousel-cell img {
    max-height: 60px;
    width: auto;
    transition: transform 0.3s ease;
    opacity: 0.7;
}

.carousel-cell img:hover {
    opacity: 1;
    transform: scale(1.1);
}


.owl-carousel .item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    width: auto; /* deixa a largura ser baseada no conteúdo */
}

.owl-marcas img {
    height: 40px;
    width: auto;
    margin: 0;
    transition: transform 0.3s ease;
}


.owl-marcas img:hover {
    transform: scale(1.1);
}

.instagram p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 24px;
	letter-spacing: -1px;
	text-align: center;
	margin-top: 100px;
	margin-bottom: 40px !important;
}

.instagram p a {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 24px;
	letter-spacing: -1px;
	text-align: center;
	margin-top: 100px;
	margin-bottom: 40px !important;
	color: #B7271C;

}

.instagram {
	text-align: center;
}

#sb_instagram #sbi_images {
    box-sizing: border-box;
    display: grid;
    width: 100%;
    padding: 0px 0;
	margin-bottom:60px;
}

#sb_instagram .sbi_photo img {
	border-radius: 16px;
}

p.service-label {
    margin-top: 10px;
    font-size: 14px;
    line-height: 18px;
    font-weight: 400;
    font-family: 'Poppins';
}


.hero-sticky-wrapper {
  position: relative;
  width: 100%;
  height: 100vh; /* o suficiente para testar o scroll sobre o vídeo */
}

.hero-sticky-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  
  pointer-events: none;
}

.hero-sticky-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* FIX CRUCIAL – sticky */
.hero-sticky-content {
  position: fixed; /* de sticky para fixed */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  text-align: center;
  color: white;
  padding: 0 20px;
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}


.after-hero-content {
  background: #fff;
  z-index: 1;
  position: relative;
}


.services-section,
.marcas-section,
.conheca-morfil,
.conheca_melhor
.instagram,
.footer-section,
.after-hero-content {
  background-color: #fff;
  position: relative;
  z-index: 1;
}

.sobre-nos-modal .modal-content {
  position: relative;
  border-bottom: 10px solid #B7271C; /* vermelho Morfil */
}


.sobre-nos-modal {
  position: absolute;
  inset: 0;
  background-color: transparent;
  z-index: 9;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-y: auto;
  top: 136px;
}

#sb_instagram {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.sobre-nos-modal.hidden {
  display: none;
}

.modal-content {
  background: white;
  padding: 40px;
  width: 100%;
  position: relative;

  border-radius:0px !important;
  border: none;
}

.close-button {
  position: absolute;
  top: 20px;
  right: 30px;
  background: none;
  border: none;
  font-size: 30px;
  cursor: pointer;
}

.conheca-sobre-nos .container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: top;
  justify-content: space-between;
}

.conheca-sobre-nos .left {
  flex: 1;
  min-width: 250px;
}

.conheca-sobre-nos .left .label {
  font-size: 14px;
  font-weight: 500;
  color: #444;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: inline-block;
}

.conheca-sobre-nos .left h2 {
  font-size: 32px;
  font-weight: 400;
  line-height: 1.4;
}

.conheca-sobre-nos .right {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  flex: 2;
  justify-content: flex-end;
}

.conheca-sobre-nos .card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
 
  max-width: 100%;
}

.conheca-sobre-nos .card img {
  display: block;
  width: 100%;
  height: 453px !important;
  border-radius: 12px;
  object-fit: cover;
  width: 453px;

}


 


.cta-button {
    display: inline-flex;
    align-items: center;
    background: #fff;
    color: #111;
    padding: 12px 24px;
    border-radius: 1000px;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: hidden;
    gap: 20px; /* distância entre texto e seta */
}

.cta-button .button-text {
    z-index: 2;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.2px;
    color: #111;
}

.cta-button .button-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #111;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.cta-button .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    transition: transform 0.3s ease;
}

.cta-button .arrow-dark {
    z-index: 2;
    transform: translateX(0);
}
.cta-button .arrow-red {
    z-index: 1;
    transform: translateX(-100%);
}

.cta-button:hover .arrow-dark {
    transform: translateX(100%);
}
.cta-button:hover .arrow-red {
    transform: translateX(0);
}

.por-cima .hero-button {
    bottom: 15px;
    position: absolute;
    right: 30px;
}


body.menu-open .language-switcher a {
  color: #111;
}

body.menu-open .language-switcher a.active {
  font-weight: bold;
  opacity: 1;
}

body.menu-open .language-switcher a:not(.active) {
  opacity: 0.8;
}

.hero-quemsomos-wrapper {
  position: relative;
  overflow: hidden;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-video-background video,
.hero-image-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.hero-overlay-layer {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4); /* Camada escura por cima da imagem/vídeo */
  z-index: 1;
}

.hero-quemsomos-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  color: white;
  padding: 0 5vw;
}

.hero-title,
.hero-subtitle {
  color: white;
}


.hero-button .arrow-red {
  transition: opacity 0.3s ease;
  opacity: 0;
}

.hero-button:hover .arrow-red {
  opacity: 1;
}

.hero-button:hover .arrow-dark {
  opacity: 0;
}

.quemsomos {
    height: 100%;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;       /* Centraliza verticalmente */
    justify-content: center;   /* Centraliza horizontalmente */
    padding: 0 5vw;
    text-align: center;
    margin: 0 !important;
    left: 0 !important;
    position: fixed !important;
}







.quemsomos-inner {
    max-width: 800px;
    color: white;
}


.quemsomos h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -0.02em;
    color: white;
    max-width: 453px;
    max-height: 144px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 25;
    -webkit-box-orient: vertical;
    text-align: left;
    margin: 0 auto;

	/*margin-right: 300px;*/
}


.quemsomos p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 64px;
    line-height: 70px;
    letter-spacing: -4px;
    max-width: 690px;
    margin: 0 auto 30px auto;
    color: white;
    margin-bottom: 40px !important;
}


.hero-saiba-mais {
  position: absolute;
  bottom: 30px;
  right: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 10;
}

.saiba-text {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: white;
}

.saiba-arrow {
  width: 24px;
  height: 24px;
}


.see-more1 {
    position: fixed;
    bottom: 20px;
    right: 30px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: white;
    text-decoration: none;
    pointer-events: auto;
    
   
}


.see-more1-icon img {
    width: 32px;
    height: 32px;
    display: block;
}

/* Ajuste base */
.historia-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background-color: #f8f3ea;
  padding: 100px 5vw;
  gap: 40px;
  flex-wrap: wrap;
  position: relative;
}

/* Texto à esquerda */
.historia {
  flex: 1;
  width: 570px;
  max-width: 100%;
  z-index: 2;
  margin: 5vw;
}

/* Título */
.historia p {
  position: relative;
  font-family: 'Poppins', sans-serif;
  font-size: 64px;
  line-height: 70px;
  font-weight: 400;
  letter-spacing: -4px;
  color: #111;
  margin-bottom: 50px;
  margin-top:177px;
  z-index: 3;

}

/* Descrição */
.historia h6 {
  position: relative;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  line-height: 24px;
  font-weight: 400;
  color: #111;
  max-width: 350px;
  margin-bottom: 20px;
  z-index: 9;
}
.historia_img  .vc_column_container>.vc_column-inner {
    padding-top: 0px !important; 
}
.historia_img .vc_col-sm-6{
	min-height: 100vh;
}
.historia_img {
	overflow: visible !important;
    position: relative;      
    top: 100vh;
    padding-bottom: 100vh;
}

.historia_rectangle {
    position: absolute;
    top: 0px;
    /* margin-top: 0px; */
    overflow: visible;
    z-index: 1;
    width: 100% !important;
    height: auto;
}

.img1 {
    position: absolute;
    width: 50%;
    height: auto;
    bottom: 0;
    z-index: 3;
    right: 269px;
    transform: translateY(0%);
}

.img2 {
    position: absolute;
    z-index: 2;
    right: 15px;
    width: 63.5%;
    bottom: 0;
    /* margin-top: 105px; */
    height: auto;
	transform: translateY(-12%);
   
}





/* Linha com bolinha */
.img1::after {
  content: '';
  position: absolute;
  top: 100px; /* ajuste vertical */
  left: calc(-37%); /* afastado da imagem à direita */
  width: 130px;
  height: 32px;
  background-image: url('/wp-content/uploads/2025/07/linha-bola-Photoroom.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

/* Texto "O Fundador da MORFIL" */
.img1::before {
  content: 'Fundador da MORFIL';
  position: absolute;
  top: 100px; /* ajuste vertical */
  left: calc(-65%); /* mais à direita da linha */
  width: 120px;
  height: 36px;
}

html[lang="fr-FR"] .img1::before {
  content: 'Fondateur de Morfil';
}


/* Ajuste base */
.modernizacao-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background-color: #f8f3ea;
  padding: 100px 5vw;
  gap: 40px;
  flex-wrap: wrap;
  position: relative;
}

/* Texto à esquerda */
.modernizacao {
  flex: 1;
  width: 300px;
  max-width: 100%;
  z-index: 2;
  margin: 5vw;
}

/* Título */
.modernizacao p {
  position: relative;
  font-family: 'Poppins', sans-serif;
  font-size: 64px;
  line-height: 70px;
  font-weight: 400;
  letter-spacing: -4px;
  color: #111;
  margin-bottom: 40px;
  z-index: 3;
}

/* Descrição */
.modernizacao h6 {
  position: relative;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #111;
  max-width: 470px;
  margin-bottom: 20px;
  z-index: 9;
}
.modernizacao_img  .vc_column_container>.vc_column-inner {
    padding-top: 0px !important; 
}

.modernizacao_img {
	overflow: visible !important;
    padding: 150px 0px;
    position: relative;
}
.modernizacao_rectangle figure {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    width: 60%;
}
.modernizacao_rectangle figure img, .modernizacao_rectangle figure .vc_single_image-wrapper{
    width: 100%;
}

.modernizacao_rectangle {
    position: relative;
    overflow: visible;
    z-index: -1;
    width: 100% !important;
    height: auto !important;
    bottom:100px;
}
.modernizacao_img .vc_custom_1752236823412 {
    background-position: bottom !important;
    background-repeat: no-repeat !important;
    background-size: 100% 80% !important;
    padding-bottom: 100px;
}


.imagem1 {
    width: 45%;
    height: auto;
}

.imagem2 {
    width: 45%;
    height: auto;
}


/* Ajuste base */
.presenca-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background-color: #f8f3ea;
  padding: 100px 5vw;
  gap: 40px;
  flex-wrap: wrap;
  position: relative;
}
.presenca {
    margin-top: unset;
    width: 550px;
    margin-left: auto;
    margin-right: 150px;
}

/* Título */
.presenca p {
  font-family: 'Poppins', sans-serif;
  font-size: 64px;
  line-height: 70px;
  font-weight: 400;
  letter-spacing: -4px;
  color: #111;
  margin-bottom: 40px;
}

/* Descrição */
.presenca h6 {
  align-content:center;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #111;
  max-width: 470px;
  margin-bottom: 20px;
}

.presenca h5 {
    position: relative;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    margin-bottom: 20px;
    z-index: 9;
    color: #B7271C;
    max-width: 470px;
}


.foto1 {
    width: 100%;
    height: 100%;
    transform: translateY(0%);
}

.presenca_rectangle {
    margin-left: 118px;
    transform: translateY(30%);
}
.presenca_img {
    padding-bottom: 100px;
    overflow: visible !IMPORTANT;
}
/* Linha com bolinha */
.foto1::after {
  content: '';
  position: absolute;
  bottom: 10%; /* ajuste vertical */
  left: calc(-30%); /* afastado da imagem à direita */
  width: 130px;
  height: 32px;
  background-image: url('/wp-content/uploads/2025/07/linha-bola2-1-Photoroom.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

/* Texto "O Fundador da MORFIL" */
.foto1::before {
  content: 'Paris, França';
  position: absolute;
  bottom: 8.5%; /* ajuste vertical */
  left: calc(-50%); /* mais à direita da linha */
  width: 120px;
  height: 36px;
}

html[lang="fr-FR"] .foto1::before {
  content: 'Paris, France';
}


/* Ajuste base */
.construcao-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background-color: #f8f3ea;
  padding: 100px 5vw;
  gap: 40px;
  flex-wrap: wrap;
  position: relative;
}

.construcao {
    flex: 1;
    /* min-width: 600px; */
    max-width: 100%;
    z-index: 2;
    position: relative;
    margin: 10% 5vw 0px;
}

.construcao p {
  position: relative;
  font-family: 'Poppins', sans-serif;
  font-size: 64px;
  line-height: 70px;
  font-weight: 400;
  letter-spacing: -4px;
  color: #111;
  margin-bottom: 40px;
  margin-top:285px;
  z-index: 3;
}

/* Descrição */
.construcao h6 {
  position: relative;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #111;
  max-width: 470px;
  margin-bottom: 20px;
  z-index: 9;
  margin-right: 138px;
}



.photo1 {
    position: relative;
    width: 100%;
    height: 100%;
    bottom: 0;
    z-index: 3;
    transform: translateY(0%);
    /*right: -24%;*/
    /* margin-top: 40%; */
    /* margin-bottom: 30% !important; */
}

.construcao_rectangle {
    position: absolute;
    width: 200%;
    height: 100%;
    bottom: 0;
    z-index: 1;
    /* right: 0%; */
    transform: translateY(30%);
    /* margin-top: 40%; */
    /* margin-bottom: 30% !important; */
}


.brief-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background-color: #f8f3ea;
  padding: 100px 5vw;
  gap: 40px;
  flex-wrap: wrap;
  position: relative;
}


.brief {
    max-width: 500px;
    margin-left: 118px;
}

.brief p {
  
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  line-height: 40px;
  font-weight: 400;
  letter-spacing: -2px;
  color: #111;
  margin-bottom: 40px;
  margin-top:177px;
}

/* Descrição */
.brief h6 {
  
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
  color: #111;
  max-width: 350px;
  margin-bottom: 20px;
}

.brief_imagem1 {
    position: relative;
    width: 100%;
    height: 100%;
    bottom: 0;
    z-index: 3;
    transform: translateY(0%);
    margin-top: -35px;
    /* margin-bottom: 30% !important; */
}

.brief_img {
	overflow: visible !important;
    position: relative;      
    top: 100vh;
    padding-bottom: 100vh;
}


.brief p::before {
  content: '01';
  color: #B7271C;
  font-weight: 500;
  margin-right: 12px; /* espaço entre o número e o texto */
  display: inline-block; /* garante alinhamento inline */
}


.concecao-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background-color: #f8f3ea;
  padding: 100px 5vw;
  gap: 40px;
  flex-wrap: wrap;
  position: relative;
}



.concecao {
    max-width: 500px;
    margin-left: 118px;
}

.concecao p {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  line-height: 40px;
  font-weight: 400;
  letter-spacing: -2px;
  color: #fff;
  margin-bottom: 40px;
  margin-top:120px;
}



/* Descrição */
.concecao h6 {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
  color: #fff;
  max-width: 350px;
  margin-bottom: 20px;
}

.concecao_imagem1 {
    position: relative;
    width: 200%;
    height: 100vh !important;
    object-fit: cover;
    bottom: 0;
    left: -100%;
    z-index: -1;
    transform: translateY(0%);
    margin-top: -35px;
    margin-bottom: 30% !important;
}


.concecao p::before {
  content: '02';
  color: #B7271C;
  font-weight: 500;
  margin-right: 12px; /* espaço entre o número e o texto */
  display: inline-block; /* garante alinhamento inline */
}


.materiais-thumbs, .materiais {
    margin-left: 5%;
}

.materias-align {
    display: flex !important;
    padding-top: 10% !important;
    justify-content: center !important;
}
.materiais p {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  line-height: 40px;
  font-weight: 400;
  letter-spacing: -2px;
  color: #111;
  margin-bottom: 40px;
  
}
.materiais {
    max-width: 500px;
}
/* Descrição */
.materiais h6 {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
  color: #111;
  max-width: 350px;
  margin-bottom: 20px;
  
}
.materiais_imagem1 figure, .materiais_imagem1 div, .materiais_imagem1 img {
    width: 100%;
    border-radius: 14px !important;
} 
.materiais_imagem1 {
    margin-top: 10%;
    margin-bottom: 10% !important;
    border-radius: 14px !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
}

.materiais-thumbs.materias_img {
    position: absolute;
    bottom: 7%;
    width: 100%;
    border-radius:14px !important;
}

.materiais p::before {
  content: '03';
  color: #B7271C;
  font-weight: 500;
  margin-right: 12px; /* espaço entre o número e o texto */
  display: inline-block; /* garante alinhamento inline */
}

.materiais-thumb img {
    width: 100%;
    padding: 5px;
    opacity: 0.4;
    transition: opacity 0.2s ease;
    cursor: pointer;
    border-radius: 23px !important;
    height: 174px !important;
}

.materiais-thumb img.imagem-ativo {
    opacity: 1;
    border-radius:14px;
}

.entrega p::before {
  content: '04';
  color: #B7271C;
  font-weight: 500;
  margin-right: 12px; /* espaço entre o número e o texto */
  display: inline-block; /* garante alinhamento inline */
}

.entrega h6 {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
  color: #111;
  max-width: 350px;
  margin-bottom: 20px;
}

.entrega p {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  line-height: 40px;
  font-weight: 400;
  letter-spacing: -2px;
  color: #111;
  margin-bottom: 40px;
}

.entrega_imagem1 figure, .entrega_imagem1 div, .entrega_imagem1 img {
    width: calc(100% - 40px);
    border-radius: 14px !important;
    margin-right: 10px;
}

.entrega_imagem1 {
    margin-top: 10%;
    margin-bottom: 10% !important;
    border-radius:14px !important;
  
}

.entrega {
    max-width: 500px;
    margin-left: 118px;
}



.hero-button1 {
    display: inline-flex;
    align-items: center;
    background: #111;
    color: #fff;
    padding: 10px 10px 10px 20px;
    border-radius: 1000px;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    overflow: hidden;
    gap: 20px;
    margin-top: 10% !important;
    margin-left: 118px;
}


.hero-button1 .button-text {
    z-index: 2;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.2px;
    color: #fff;
}

.hero-button1 .button-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #111;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.hero-button1 .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    transition: transform 0.3s ease;
}

.hero-button1 .arrow-white {
    z-index: 2;
    transform: translateX(0);
}
.hero-button1 .arrow-red {
    z-index: 1;
    transform: translateX(-100%);
}

.hero-button1:hover .arrow-white {
    transform: translateX(100%);
}
.hero-button1:hover .arrow-red {
    transform: translateX(0);
}


/* Esconde o logo branco */
.dark-header .logo-default {
    display: none !important;
}

/* Mostra o logo preto */
.dark-header .logo-alt {
    display: block !important;
}

/* Torna os links do menu pretos */
.dark-header .main-menu a {
    color: #111 !important;
}


.dark-header .language-switcher a {
    color: #111 !important;
}

.dark-header .lang-separator {
    color: #111;
}




.pos-sti {
    display: flex;
    position: relative;
    gap: 50px;
    margin-bottom: 100px !important
}

.bloco-titulo-grande {

    padding: 20px 0px;
}
.bloco-titulo-grande-texto{
    position: sticky; 
    top: 160px; 
    padding: 10px;
}

.bloco-titulo-grande-texto {
    margin: 0;
    font-family: Poppins, sans-serif;
    font-size: 64px;
    font-weight: 400;
    color: #111;
    line-height: 1.2;
    max-width:500px;
}


.servico-lista {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 120px;

    flex: 1; 
    padding: 0px;
}

.servico-linha {
    display: flex;
    align-items: top;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 64px;
    padding: 24px;
    border-radius: 20px;
    background: linear-gradient(101deg, rgba(238, 241, 251, 0.40) 0%, rgba(238, 241, 251, 0.80) 128.12%);
    backdrop-filter: blur(12px);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.servico-linha:hover {
    border: 1px solid rgba(17, 17, 17, 0.04);
    background: linear-gradient(101deg, rgba(222, 225, 234, 0.70) 55.36%, rgba(238, 238, 238, 0.40) 128.12%);
    box-shadow: 0px 2px 4px 0px rgba(17, 17, 17, 0.04);
}

.servico-imagem-wrapper {
 
    overflow: hidden;
    border-radius: 14px;
}


/* Imagem com zoom suave */
.servico-imagem-wrapper img {
    width: 100%;
    height: 434px !important;
    object-fit: cover;
    transition: transform 0.4s ease;
    transform-origin: center center;
    border-radius: 14px;
    display: block;
}

/* Aplica zoom ao passar o rato */
.servico-linha:hover .servico-imagem-wrapper img {
    transform: scale(1.1);
}



.servico-texto {
    flex: 1;
}

.servico-texto h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height:40px;
    letter-spacing: -2px;
    margin-bottom: 20px;
    color: #111;
}

.servico-texto p {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #111;
    font-weight: 400;
    font-style: normal;
    margin: 0;
    max-width: 500px;
    line-height: 18px;
}

.servico-imagem {
    flex: 1;
}

.servico-sticky-titulo .wpb_wrapper {
  position: sticky;
  top: 120px;
  z-index: 2;
  max-width: 500px;
  font-size: 64px;
  font-weight: 400;
  color: #111;
  line-height: 1.2;
  margin-top: 20%;
}



.servico-sticky-titulo {
    font-family: 'Poppins', sans-serif;
    font-size: 64px;
    font-weight: 400;
    color: #111;
    line-height: 1.2;
    position: -webkit-sticky;
    position: sticky;
    top: 120px;
    z-index: 2;
    max-width: 500px;
    margin-top: 20%;
}

.hero-projeto-wrapper {
  position: relative;
  overflow: hidden;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-projeto-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  color: white;
  padding: 0 5vw;
}

.materiais-thumb {
  text-align: center;
  position: relative;
}

.dot-indicator {
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #111;
  border-radius: 50%;
  margin-top: 6px;
  opacity: 0.3;
  transition: opacity 0.2s ease;
}

.materiais-thumb .dot-indicator {
  opacity: 0;
  transition: opacity 0.2s ease;
}

.materiais-thumb img.imagem-ativo ~ .dot-indicator {
  opacity: 1;
}


.projeto {
    height: 100vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;       /* Centraliza verticalmente */
    justify-content: center;   /* Centraliza horizontalmente */
    padding: 0 5vw;
    text-align: center;
    position: relative;
    margin-top:100px;
}

.projeto-inner {
    max-width: 800px;
    color: white;
}


.projeto p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 64px;
    line-height: 70px;
    letter-spacing: -4px;
    max-width: 690px;
    margin: 0 auto 30px auto;
    color: white;
}



.hero-button2 {
    display: inline-flex;
    align-items: center;
    background: transparent;
    color: #111;
    padding: 0px;
    border-radius: 1000px;
    font-weight: 400;
    font-size: 14px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    overflow: hidden;
    gap: 20px;
    margin-top: 25%;
}


.hero-button2 .button-text {
    z-index: 2;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: -0.2px;
    color: #111;
}

.hero-button2 .button-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #111;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.hero-button2 .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    transition: transform 0.3s ease;
}

.hero-button2 .arrow-dark {
    z-index: 2;
    transform: translateX(0);
}
.hero-button2 .arrow-red {
    z-index: 1;
    transform: translateX(-100%);
}

.hero-button2:hover .arrow-dark {
    transform: translateX(100%);
}
.hero-button2:hover .arrow-red {
    transform: translateX(0);
}

/* Portefólio */
/* Portefólio - Estilo inspirado na imagem da direita */

#morfil-projeto-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 80px 0px;
    background: #fff;
    margin-bottom: 120px !important;
}

.morfil-projeto-header {
    margin-bottom: 40px;
    text-align: left;
    margin-top:10%;
}

.morfil-projeto-header h1 {
    font-size: 32px;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    margin: 0;
    color: #111;
}

.morfil-projeto-cliente {
    font-size: 18px;
    font-family: 'Poppins', sans-serif;
    color: #111;
    margin-top: 10px;
    display: block;
    margin-bottom: 10px;
    line-height:18px;
}

.morfil-projeto-info {
    text-align: left;
    font-size: 16px;
    color: #111;
    max-width: 900px;
    margin: 30px auto 50px;
    line-height: 1.7;
}

.morfil-projeto-info p {
    margin: 10px 0;
}

.morfil-projeto-imagem img{
    width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 40px 0;
    display: block;
    box-shadow: none;
}

.morfil-img-grande {
    width: 100vw;              /* Ocupa toda a largura da janela */
    margin: 0px 0;            /* Espaço acima e abaixo */
    position: relative;        /* Para controlar posicionamento interno se necessário */
    left: 50%;
    transform: translateX(-50%);
}

.morfil-img-grande img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
}

.morfil-material {
    position: relative;
    perspective: 1000px;
    overflow: hidden;
}

.morfil-material img {
    max-width: 450px;
    height: auto;
    border-radius: 10px;
    transition: transform 0.2s ease-out;
    will-change: transform;
}

.morfil-galeria {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2 colunas fixas */
  gap: 20px;
  margin: 0 auto;
  max-width: 100%;
}


.morfil-galeria img {
    width: 100%;
    border-radius: 10px;
    object-fit: cover;
    height: 679px !important;
}

.projeto-nav {
    display: flex;
    justify-content: space-between;
    max-width: 900px;
    margin: 60px auto 0;
    padding: 0 10px;
}

.projeto-nav button {
    background: none;
    border: none;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    color: #111;
    transition: color 0.3s;
}

.projeto-nav button:hover {
    color: #c60000;
}

.morfil-projeto-top {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 60px;
}
.carousel-nav.carousel-nav-projetos {
    bottom: unset;
    top: 0;
    z-index: 0;
    right: 0;
}
.morfil-projeto-esquerda {
    flex: 1 1 45%;
    margin-top:100px;
    position: relative;
}
.carousel-nav.carousel-nav-projetos {
    top: 50px;
}
.morfil-projeto-esquerda h1 {
    font-size: 40px;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 10px;
    font-weight: 400;
    color: #111;
    width: 86% !important;
}

.morfil-info-label {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    line-height: 18px;
    letter-spacing: -1px;
    vertical-align: middle;
    margin-bottom: 10px;
    color: #111;
}


.morfil-info-desc {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    line-height: 20px;
    letter-spacing: -1px;
    vertical-align: middle;
    margin-bottom: 15px;
    max-width: 335px;
    margin-top:30px;
    color: #111;
}

.morfil-projeto-direita {
    flex: 1 1 45%;
    text-align: right;
}

.morfil-projeto-direita img {
    width: 100%;
    /* max-width: 500px; */
    /* height: auto; */
    border-radius: 10px;
    object-fit: cover;
    margin-top: 100px;
}

.morfil-projeto-bloco-texto-img {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    max-width: 100%;
    margin: 50px 0px 20px 0px;
}

.morfil-projeto-bloco-texto-img .texto-esquerda h2{
    font-family: 'Poppins', sans-serif;
    font-size: 64px;
    font-weight: 400;
    line-height: 1.3;
    color: #111;
}
.morfil-projeto-bloco-texto-img .texto-esquerda{
    flex: 1 1 45%;
}
.morfil-projeto-bloco-texto-img .imagem-direita {
    flex: 1 1 45%;
    text-align: right;
}

.morfil-projeto-bloco-texto-img .imagem-direita img {
    width: 100%;
    /* max-width: 500px; */
    /* height: auto; */
    border-radius: 10px;
    object-fit: cover;
}


/* Contactos */ 

.formulario-morfil {
    max-width: 500px;
    font-family: 'Poppins', sans-serif;
    max-width: 713px;
    margin-top: 100px;
}

.formulario-morfil .form-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 64px;
    line-height: 70px;
    letter-spacing: -4px;
    vertical-align: middle;
    margin-bottom: 40px;
    color: #111;
}


.formulario-morfil input,
.formulario-morfil textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #111;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    padding: 12px 10px;
    margin-bottom: 20px;
    background: transparent;
}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus, select:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #ffffff inset !important;
    -webkit-text-fill-color: #000000 !important;
}
.formulario-morfil textarea {
  resize: none;
  overflow-y: hidden;
  min-height: 45px;
  height: auto;
  line-height: 1.5;
}


.formulario-morfil .form-botao {
    text-align: right;
}

.formulario-morfil input[type="submit"] {
    background: none;
    border: none;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    position: relative;
    padding-right: 30px;
    color: #111;
    padding-left: 500px;
}

.formulario-morfil input[type="submit"]::after {
    content: "→";
    position: absolute;
    left: 100px;
    top: 0;
}

.direcoes {
    max-width: 400px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -1px;
    color: #111;
    width: 400px;
    margin-left: 80px;
    margin-top: 190px;
    /* align-content: center; */
}

/* h6 - Encontre-nos */
.direcoes h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -1px;
    vertical-align: middle;
    color: #111;
    text-transform: none;
    margin-bottom: 12px;
}


/* Parágrafo com morada */
.direcoes p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    line-height: 40px;
    letter-spacing: -2px;
    vertical-align: middle;
    color: #111;
    margin: 0 0 12px 0;
}


/* Número com ::before vermelho */
.direcoes p::after {
    content: '255 878 772';
    display: block;              /* força a quebra de linha */
    font-size: 32px;
    font-weight: 400;
    color: #B7271C;
    margin-top: 10px;
}

.formulario-morfil ::placeholder {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -1px;
    vertical-align: middle;
    color: #111; /* cor suave para distinguir do texto normal */
    opacity: 1;  /* garante visibilidade em todos os browsers */
}

/* Para melhor compatibilidade com browsers antigos */
.formulario-morfil :-ms-input-placeholder { color: #111; }
.formulario-morfil ::-ms-input-placeholder { color: #111; }


.direcoes-content {
    margin-top: 100px;
}



.hero-button4 {
    display: inline-flex;
    align-items: center;
    background: #fff;
    color: #111;
    padding: 10px 10px 10px 20px;
    border-radius: 1000px;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: hidden;
    gap: 20px; /* distância entre texto e seta */
    margin-left: 400px;
    margin-bottom: 100px;
}

.hero-button4 .button-text {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.2px;
    color: #111;
}

.hero-button4 .button-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #111;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.hero-button4 .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    transition: transform 0.3s ease;
}

.hero-button4 .arrow-dark {
    transform: translateX(0);
}
.hero-button4 .arrow-red {
    transform: translateX(-100%);
}

.hero-button4:hover .arrow-dark {
    transform: translateX(100%);
}
.hero-button4:hover .arrow-red {
    transform: translateX(0);
}


.botao-sobreposto {
    position: relative;
    margin-top: -80px;
    display: flex;
    justify-content: flex-start;
    z-index: 10;
    margin-left: 40px;
}

.servico-linha:last-child {
    position: relative; /* garante contexto para o botão sobreposto */
 /* espaço para o botão não colar ao fim */
}

.carousel-nav.next-bottom {
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
    padding-right: 20px;
}


.button-icon {
    display: flex;
    align-items: center;
    gap: 10px;
}


.button-text {
    font-size: 14px;
    color: #111;
}

.carousel-nav.carousel-nav-projetos1 {
    bottom: 130px;
    right: 0px;
}



.hero-button5 {
    display: inline-flex;
    align-items: center;
    background: #fff;
    color: #111;
    padding: 10px 10px 10px 20px;
    border-radius: 1000px;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    bottom: 10px;
    right: 10px;
    position: absolute;
    overflow: hidden;
    gap: 20px; /* distância entre texto e seta */
    z-index:2 !important;
}



.hero-button5 .button-text {
    z-index: 2;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.2px;
    color: #111;
}

.hero-button5 .button-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #111;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.hero-button5 .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px !important;
    transition: transform 0.3s ease;
}

.hero-button5 .arrow-dark {
    z-index: 2;
    transform: translateX(0);
}
.hero-button5 .arrow-red {
    z-index: 1;
    transform: translateX(-100%);
}

.hero-button5:hover .arrow-dark {
    transform: translateX(100%);
}
.hero-button5:hover .arrow-red {
    transform: translateX(0);
}

/* Container da secção */
.sustentabilidade-sec {
  background-color: #fff;
  padding: 60px 20px;
}

/* Título */
.sustentabilidade-sec h2 {
    color: #111;
    font-family: 'Poppins', sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 400;
    line-height: 52px;
    letter-spacing: -4px;
    max-width: 690px;
}
.como-fazemos-row{
    margin-bottom: 80px;
}
/* Wrapper dos cards */
.sustentabilidade-cards {
  display: flex;
  flex-wrap: wrap;
}

/* Card individual */
.sustentabilidade-card {
  background-color: #EAEDF6;
  border-radius: 10px;
  padding: 30px 20px;
  padding-left: 20px !important;
  height: 331px;
  flex-direction: column;
  margin-right:20px;
  transition: transform 0.3s ease;
}

.sustentabilidade-card:hover {
  transform: translateY(-5px);
}

/* Imagem no topo */
.sustentabilidade-card img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

/* Texto do card */
.sustentabilidade-card p {
    color: #111;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 40px;
    letter-spacing: -2px;
    width: 197px;
    position: relative;
}
.sustentabilidade-card .vc_column-inner, .sustentabilidade-card .vc_column-inner .wpb_wrapper:first-of-type{
    height: 100%;
}
.sustentabilidade-card .vc_column-inner .wpb_wrapper:first-of-type{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    height: 100%;
}

/* Card individual */
.sustentabilidade-cardlarge {
  background-color: #EAEDF6;
  border-radius: 10px;
  padding: 20px !important;
  flex: 1;
  height: 335px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: transform 0.3s ease;
}
.sustentabilidade-cardlarge .vc_column-inner, .sustentabilidade-cardlarge .vc_column-inner .wpb_wrapper:first-of-type{
    height: 100%;
}
.sustentabilidade-cardlarge .vc_column-inner .wpb_wrapper:first-of-type{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    height: 100%;
}
.sustentabilidade-cardlarge:hover {
  transform: translateY(-5px);
}

/* Imagem no topo */
.sustentabilidade-cardlarge img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

/* Texto do card */
.sustentabilidade-cardlarge p {
    color: #111;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 40px;
    letter-spacing: -2px;
    width: 197px;
    max-width: 100%;
}

.btn-right-wrap .vc_column-inner{
    display:flex;          /* passa a ser flex */
    justify-content:flex-end; /* empurra o conteúdo para a direita */
    align-items:flex-end;   /* (opcional) topo */
    padding: 0 !important;
}


.hero-button6 {
    display: inline-flex;
    align-items: center;
    background: #111;
    color: #fff;
    padding: 10px 10px 10px 20px;
    border-radius: 1000px;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: hidden;
    gap: 20px;
}



.hero-button6 .button-text {
    z-index: 2;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.2px;
    color: #fff;
}

.hero-button6 .button-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #111;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.hero-button6 .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    transition: transform 0.3s ease;
}

.hero-button6 .arrow-white {
    z-index: 2;
    transform: translateX(0);
}
.hero-button6 .arrow-red {
    z-index: 1;
    transform: translateX(-100%);
}

.hero-button6:hover .arrow-white {
    transform: translateX(100%);
}
.hero-button6:hover .arrow-red {
    transform: translateX(0);
}


.card.por-cima {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}

.vc_custom_1751987381978 {
  position: relative;
  z-index: 0; /* necessário para manter o contexto do overlay */
}

.vc_custom_1751987381978::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #111;
  opacity: 0.6; /* ajusta a transparência conforme necessário */
  z-index: 1;
  pointer-events: none; /* para não bloquear cliques nos elementos */
}

/* Garante que o conteúdo dentro esteja acima do overlay */
.vc_custom_1751987381978 > * {
  position: relative;
  z-index: 2;
}



a.hero-button_ {
    display: none !important;
}

.wpb_single_image.wpb_content_element.vc_align_left.photo1 img {
    height: 845px !important;
    object-fit: cover !important;
}

.quemsomos{
  background-color: rgba(17,17,17,0.40); /* 40% #111 */
  background-blend-mode: multiply;        /* mistura com a imagem */
}

.wpb_single_image.wpb_content_element.vc_align_left.brief_imagem1 img {
    height: 100vh !important;
    object-fit: cover;
}

.projeto {
    background-color: rgba(17,17,17,0.40); /* 40% #111 */
    background-blend-mode: multiply; 

}

/* Overlay (gradiente) na imagem do bloco "conheça" */
.wpb_single_image.vc_align_left.conheca1 .vc_single_image-wrapper{
  position: relative;          /* para o ::after posicionar-se sobre a imagem */
  display: block;
}

/* o gradiente */
.wpb_single_image.vc_align_left.conheca1 .vc_single_image-wrapper::after{
  content: "";
  position: absolute;
  inset: 0;                    /* top/right/bottom/left: 0 */
  pointer-events: none;        /* não bloqueia cliques */
  border-radius: inherit;      /* segue o mesmo arredondamento da imagem/border */
  
  /* #111111 a 40% por toda a imagem (muda se quiseres) */
  background: linear-gradient(
    0deg,
    rgba(17, 17, 17, 0.40) 0%,
    rgba(17, 17, 17, 0.40) 100%
  );
}

/* (opcional) se precisares de um desvanecer de cima para baixo: */
/*
.wpb_single_image.vc_align_left.conheca1 .vc_single_image-wrapper::after{
  background: linear-gradient(180deg, rgba(17,17,17,.40) 0%, rgba(17,17,17,0) 100%);
}
*/


.pol{
    margin-top: 10%;
    margin-bottom:10% ;
}

.intro,.intro2,.pol1,.pol2,.pol3{
    margin-bottom: 2% !important;
}

.intro2 {
    width: 36%;
    max-width: 100%;
    margin: auto;
}


@media (max-width: 1024px) and (min-width: 768px) {
    .pol {
        margin-top: 20%;
        margin-bottom: 20%;
    }

    .intro2 {
        width: 65%; /* ocupa mais espaço em telas médias */
    }

    .intro, .intro2, .pol1, .pol2, .pol3 {
        margin-bottom: 5% !important; /* aumenta espaço para leitura */
    }
}

/* Mobile (até 767px) */
@media (max-width: 767px) {
    .pol {
        margin-top: 35%;
        margin-bottom: 35%;
        padding: 0 10px; /* adiciona espaçamento lateral */
    }

    .intro2 {
        width: 90%; /* quase toda a largura da tela */
    }

    .intro, .intro2, .pol1, .pol2, .pol3 {
        margin-bottom: 5% !important; /* aumenta espaço para leitura */
        text-align: center; /* centraliza o conteúdo para telas pequenas */
    }
}

/* overlay/gradiente acima da imagem */
#sobre-nos-menu .card::after {
  content: "";
  position: absolute;
  inset: 0;                          /* top/right/bottom/left: 0 */
  border-radius: 12px;               /* igual ao da imagem */
  pointer-events: none;              /* não bloqueia cliques no link */
  z-index: 1;
  /* se queres apenas escurecer de forma uniforme (40%): */
  background: rgba(17, 17, 17, .40);

  
}

/* Contacto – “row” de fundo a ocupar o ecrã todo */
.contact1.vc_row,
.contact1.vc_row[data-vc-full-width] {
  min-height: 100vh !important;      /* força altura do ecrã */
  background-size: cover;            /* cobre toda a área */
  background-position: center center; /* centra a imagem */
  background-repeat: no-repeat;
}

/* se o fundo estiver aplicado à coluna interior, herdamos a altura */
.contact1 .vc_column-inner {
  min-height: inherit;
}

/* opcional: usar a nova unidade que corrige a barra de endereço no mobile */
@supports (height: 100svh) {
  .contact1.vc_row,
  .contact1.vc_row[data-vc-full-width] {
    min-height: 100svh !important;
  }
}



/* Zoom nas imagens dos cards da secção "Conheça sobre nós" */
.conheca-sobre-nos .card {
  overflow: hidden;          /* garante que o zoom não “sangra” para fora */
        /* igual ao que já tens */
}

.conheca-sobre-nos .card img {
  display: block;
    /* mantém a tua altura atual */
  object-fit: cover;
  
  transition: transform 0.5s ease;   /* animação suave como na .conheca-morfil */
  transform-origin: center center;
}

.conheca-sobre-nos .card:hover img {
  transform: scale(1.1);     /* mesmo efeito de zoom */
}

.materiais-thumbs {
  display: flex;
  gap: 0px !important;
  align-items: center;
  overflow-x: auto;
  padding: 8px 0;
}

.materiais-thumb img {
  width: 120px;              /* ajusta ao teu gosto */
  max-width: 22vw;           /* ajuda em mobile */
  display: block;
  border-radius: 14px;
  transition: opacity .2s ease, transform .2s ease;
  opacity: .4;
  cursor: pointer;
}

.materiais-thumb img.imagem-ativo {
  opacity: 1;
  transform: scale(1.0);
}

.materiais_imagem1 figure, .materiais_imagem1 div, .materiais_imagem1 img {
    height: 694px !important;
}

.materiais-thumbs {
  display: flex;
  gap: 0px !important;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;     /* Firefox */
  -ms-overflow-style: none;  /* IE e Edge */
}

.materiais-thumbs::-webkit-scrollbar {
  display: none;  /* Chrome, Safari */
}


.servicos-section{
  display:grid;
  grid-template-columns:minmax(260px,520px) 1fr;
  gap:48px;
  align-items:start;
}
.pos-sti{ position:sticky; top:120px; } /* ajusta o top ao teu header */
.bloco-titulo-grande-texto{ line-height:1.05; }


/* Força o comutador de idioma a ficar na horizontal em qualquer markup */
.language-switcher { 
  display: flex; 
  justify-content: flex-end; 
  white-space: nowrap;          /* impede quebra de linha */
  gap: 0; 
}

/* teu menu por ID (já existe, mas garantimos) */
ul#menu-linguagens { 
  display: flex; 
  align-items: center; 
}
ul#menu-linguagens li { 
  display: inline-flex; 
  align-items: center; 
}

/* WPML – qualquer lista de idiomas (horizontaliza mesmo que venha “legacy vertical”) */
.language-switcher .wpml-ls, 
.language-switcher .wpml-ls ul {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 0;
}
.language-switcher .wpml-ls-item { 
  display: inline-flex; 
  align-items: center; 
}

/* separador “/” entre itens (serve para ambas as estruturas) */
#menu-linguagens li + li::before,
.language-switcher .wpml-ls-item + .wpml-ls-item::before {
  content: "/";
  margin: 0 5px;
  color: inherit;
}

.marcas-section h3 {
    margin-bottom: 40px !important;
}

/* Barra PT / FR preta nas páginas com fundo claro */
body.page-id-18 .language-switcher .wpml-ls-item:before, 
body.page-id-16 .language-switcher .wpml-ls-item:before, 
body.page-id-14 .language-switcher .wpml-ls-item:before { 
  color: #111 !important;
}

/* Barra PT / FR preta nas páginas com fundo claro */
body.page-id-1709 .language-switcher .wpml-ls-item:before, 
body.page-id-1713 .language-switcher .wpml-ls-item:before, 
body.page-id-1715 .language-switcher .wpml-ls-item:before { 
  color: #111 !important;
}




@media only screen and (max-width: 1440px) {
.presenca {
    margin-left: 25%;
    margin-right: 50px;
}
.conheca-sobre-nos .right {
   
    flex-wrap: nowrap !important;
    
}
}
@media only screen and (max-width: 1440px) {
.hero-button4 {
    
    margin-left: 0px;
    
}
}

@media print, screen and (max-width: 1200px) {
.presenca p {
    margin-top: 115px;
}

.vc_row.wpb_row.vc_row-fluid.presenca_img.vc_row-no-padding {
    overflow: visible;
}
.conheca-sobre-nos .right {
   
    flex-wrap: wrap !important;
    
}
}

@media print, screen and (max-width: 1100px) {
.carousel-nav {
    
    margin-right: 0px; 
}

.morfil-projeto-esquerda h1 {
    font-size: 32px;
    
}

.presenca {
    margin-left: 60px;
    margin-right: 50px;
}


}

@media print, screen and (max-width: 1024px) {
    .historia_img .vc_col-sm-6 {
    min-height: 70vh;
}
.historia p {
    margin-top: 110px;
    font-size: 50px;
    line-height: 60px;
}

.modernizacao p {

    font-size: 50px;
    line-height: 60px;
   
}

.presenca p {
    font-size: 50px;
    margin-top: 0px;
}

.vc_row.wpb_row.vc_row-fluid.presenca_img.vc_row-no-padding {
    overflow: visible;
}

.presenca {
    margin-top: 0%;
}


.photo1 {
    
    transform: translateY(30%);
    
}

.construcao p {
    font-size: 50px;
}

.materiais p {
    margin-bottom: 15px;
}

.materiais {
    margin-left: 60px;
}

.brief {
   
    margin-left: 60px;
}

.concecao {
    margin-left: 60px;
}

.entrega {
    margin-left: 60px;
}

.hero-button1 {
    margin-left: 60px;
}

.servico-sticky-titulo {
    margin-top: 120px;
}

.servico-lista {
    margin-top: 120px;
}

.servico-imagem-wrapper {
    height: 215px;
    width: auto;
    
}

.hero-button4 {
    display: inline-flex;
    align-items: center;
    background: #fff;
    color: #111;
    padding: 10px 10px 10px 20px;
    border-radius: 1000px;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: hidden;
    gap: 20px;
    /* margin-left: 400px; */
    margin-bottom: 100px;
}


}

@media only screen and (max-width: 970px) {
.hero-button4 {
    
    margin-left: 0px;
    
}

.direcoes {
    max-width: 300px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -1px;
    color: #111;
    width: 400px;
    margin-left: 20px;
    margin-top: 190px;
    /* align-content: center; */
}

}

@media only screen and (max-width: 900px) {
.img1::after {
  
    top: 80%;
   
}

.img1::before {
    top:75%;
    
}

}



@media only screen and (max-width: 860px) {
.pos-sti {
    display: block;
    position: relative;
    margin-top: 100px;
}

.hero-button5 {
    bottom: 5px;
    right: 5px;
    position: absolute;
}

}
@media only screen and (max-width: 800px) {
.foto1::after {
    
    bottom: 0%;
   
}

.foto1::before {
    
    bottom: -3%;
    left: calc(-70%);
   
}
}

@media only screen and (max-width: 750px) {

    .img2 {
    width: 50%;
    
    transform: translateY(0%);
}
.quemsomos p {
    font-size: 56px;
    line-height: 60px;
    margin-bottom: 50px !important;
}
.img1 {
    
    width: 35%;
    
    transform: translateY(12%);
}

.modernizacao {
    width: 100%;
    max-width: 100%;
    margin-bottom: 80px !important;
    margin: 0;
    padding: 20px;
}

.presenca_rectangle {
    
    transform: translateY(0%);
    /* margin-top: 40%; */
    margin-bottom: 30% !important;
}



.presenca h6 {

    font-size: 16px;
    line-height: 24px;
}

.presenca h5 {
    font-size: 15px;
    line-height: 24px;
}

.foto1 .wpb_wrapper, .foto1 .vc_single_image-wrapper, .foto1 .vc_single_image-wrapper img{
    display: inline-block;
    width: 100%;
    vertical-align: top;
    max-width: 100%;
}

.photo1 {
    position: relative;
    width: 100%;
    height: 100%;
    bottom: 0;
    z-index: 3;
    transform: translateY(0%);
    /* right: -24%; */
    /* margin-top: 40%; */
    /* margin-bottom: 30% !important; */
}
.morfil-galeria img {
    width: 100%;
    height: 200px !important;
}
.morfil-projeto-bloco-texto-img .texto-esquerda h2 {
    font-size: 30px;
}
.concecao p {

    color: #111;
    
}

.concecao h6 {
    color: #111;
    
}

.concecao {

    margin-bottom: 100px !important;
}
.materiais-thumbs.materias_img {
    position: relative;
    bottom: 0%;
}

.materias-order .materias-align-antes{
    order: 2;
}
.materias-order .materias-align{
    order: 1;
}


.wpb_single_image.vc_align_right {
    text-align: center;
}

.sustentabilidade-cards {
    gap: 20px;
}

.hero-button6 {
   
    margin-right: 20px;
}

.entrega_imagem1 {
    margin-top: 10%;
    margin-bottom: 10% !important;
    border-radius: 14px !important;
    width: 100%;
    margin-left: -40px !important;
}

.formulario-morfil .form-title {
   
    font-size: 50px;
    line-height: 55px;
    
}




}

@media only screen and (max-width: 600px) {
.main-nav .wpml-ls-menu-item {
    display: flex;
    justify-content: center;
}
.wpml-ls-menu-item .sub-menu li::before {
    content: "/";
    padding: 10px 0px;
    color: black;
}

.main-nav .wpml-ls-menu-item a{
    font-size: 16px;
	line-height: 20px;
}
.language-switcher{
	display: none;
}
.hero-title {
    font-size: 50px;
    line-height: 55px;
}
.materiais-thumbs.materias_img {
    padding: 0px 10px;
}
.entrega {
    margin-left: 0px;
    padding: 20px;
}
.hero-button1 {
    margin-left: 0px;
}
.hero-button {
    padding: 10px 15px;
}
.materiais h6 {
    max-width: 100%;
}
.materias-align {
    padding-top: 0% !important;
}
.servico-imagem-wrapper {
    height: 250px;
}
.servico-linha {
    gap: 10px;
}
.concecao {
    margin-left: 0px;
    padding: 20px;
}
.concecao {
    margin-bottom: 60px !important;
}
.materiais {
    margin-left: 0;
    padding: 20px;
}
.concecao p {
    margin-bottom: 20px;
    margin-top: 20px;
}
.brief {
    padding: 20px 20px 70px 20px !important;
}

.morfil-projeto-bloco-texto-img, .morfil-galeria {
    margin: 20px auto;
}
.carousel-nav.carousel-nav-projetos1 {
    right: 20px;
}
.projeto p {
    font-size: 50px;
    line-height: 55px;
    margin-bottom: 50px !important;
}
.morfil-projeto-direita img {
    margin-top: 0px;
}
.projeto, .vc_custom_1752225107453, .vc_custom_1752053982509{
    min-height: 70vh !important;
    height: 50vh !important;
}
.main-menu li a::after {
    display: none;
}
.hero-button2 {
    border-radius: 0px !important;
}
.servico-texto {
    width: 100% !important;
    margin-bottom: 20px;
}
.servico-lista {
    gap: 20px;
}
.servico-linha {
    display: block;
}
.formulario-morfil .form-title {
    font-size: 40px;
    line-height: 50px;
}
.morfil-material img {
    max-width: 100% !important;
}
.morfil-img-grande {
    width: 100%;
    margin: 0px 0;
    position: relative;
    left: 0;
    transform: unset;
}
.sustentabilidade-sec h2 {
    font-size: 40px;
    line-height: 50px;
}
.morfil-projeto-top {
    margin-bottom: 20px;
}
.carousel-nav.carousel-nav-projetos {
    right: 0px;
}
.hero-button6 {
    margin-right: 0px;
    margin-top: 50px !important;
}
.hero-button5 {
    bottom: 5px;
    right: 5px;
    position: absolute;
}
.direcoes {
    margin-top: 0px;
    /* align-content: center; */
}
.hero-button4 {
    /* margin-left: 53%; */
    float: right;
    padding: 0;
    gap: 10px;
}

.hero-button1 {
    margin-left: 20px !important;
}

.sustentabilidade-card {
    
    margin-right: 0px;
    
}

.sustentabilidade-cardlarge {
    
    flex: unset;
    
}

.direcoes {
    margin-bottom: 20px !important;
}
.historia {
    margin: 0;
    padding: 20px !important;
}
.historia p {
    margin-top: 50px;
    font-size: 40px;
    line-height: 50px;
}
.conheca-sobre-nos .right {
    gap: 40px;
}
.modernizacao h6 {
    max-width: 100%;
    font-size: 14px;
}
.modernizacao p {
    font-size: 40px;
    line-height: 50px;
}
.historia_img .vc_col-sm-6 {
    min-height: 30vh;
}
.modernizacao_img {
    padding: 100px 0px;
}
.bloco-titulo-grande-texto {
    font-size: 40px;
}
.servico-lista {
    margin-top: 0px;
}
.instagram p {
    margin-top: 50px;
}
.conheca-morfil figure img {
    height: 350px !important;
}
.conheca-morfil .vc_column-inner {
    padding-top: 0px !important;
}
.services-grid {
    grid-template-columns: repeat(1, 1fr);
}
.modal-content {
    padding-top: 10vh;
    padding-bottom: 10vh;
}

    .footer-column {
    width: 100px;
   
}
.historia {
    width: 100%;
    max-width: 100%;
    margin:0vw;
}

.direcoes {
   
    margin-left: 20px;
   
}

.hero-button4 {
  
    margin-left: 20px;
    
}

.morfil-info-desc {
    font-size: 14px;
    
    margin-top: 30px;
    
}

.morfil-info-label {

    font-size: 14px;
    
}

.morfil-projeto-cliente {
    font-size: 14px;
    
}

.morfil-projeto-esquerda h1 {
    font-size: 30px;
   
}

.entrega_imagem1 {
    margin-left: 0px !important;
}

.hero-button6 {
    
    margin-top: 100px !important;
}

/* Botão hamburguer escondido no desktop */
.hamburger-menu {
  display: none;
  flex-direction: column;
  cursor: pointer;
  z-index: 1000;
  background: none;
  border: none;
  padding: 10px;
}

.hamburger-menu .bar {
  width: 25px;
  height: 3px;
  background-color: #111;
  margin: 4px 0;
  transition: 0.4s;
}



  .hamburger-menu {
    display: flex;
    position: absolute;
    
    right: 20px;
  }

  .main-nav {
    position: absolute;
    right: 0;
    background: white;
    width: 100%;
    display: none;
    flex-direction: column;
    justify-content: center;
    top: 0;
    padding: 20px;
    height: 100dvh;
}
  

  .main-menu {
    flex-direction: column;
    gap: 10px;
  }

  .main-menu li {
    text-align: center;
  }

  .main-menu li a {
    font-size: 18px;
    padding: 10px;
  }

  .main-nav.active {
    display: flex;
  
}

.logo {
    flex: 1;
    z-index: 9;
}

/* Páginas com fundo escuro – barras brancas */
body.home .hamburger-menu .bar,
body.page-id-196 .hamburger-menu .bar,
body.page-id-264 .hamburger-menu .bar {
  background-color: white;
}

/* Força as barras pretas quando o menu está aberto */
.hamburger-menu.active .bar {
  background-color: #111 !important;
}

.hamburger-menu .bar {
  transition: 0.3s ease;
}

/* Animação para virar X */
.hamburger-menu.active .bar1 {
  transform: rotate(45deg) translate(8px, 8px);
}

.hamburger-menu.active .bar2 {
  opacity: 0;
}
.coluna-img .vc_column-inner > .wpb_wrapper:first-of-type {
    gap: 10px;
    justify-content: center;
}
.construcao p {
    font-size: 40px;
    line-height: 50px;
    margin-top: 0px;
    margin-bottom: 50px;
}
.construcao {
    margin: 0% 20px 0px;
}
.brief {
    margin: 0 !important;
}
.presenca p {
    font-size: 40px;
    line-height: 50px;
}
.presenca h6, .construcao h6 {
    font-size: 14px;
    line-height: 24px;
}
.presenca_rectangle {
    margin-bottom: 20px !important;
}
.hamburger-menu.active .bar3 {
  transform: rotate(-45deg) translate(8px, -8px);
}
.sobre-nos-modal {
    top: 0;
    z-index: 10;
}
.modal-content {
    margin-top: 0px;
}

.conheca-sobre-nos .left {
    flex: 1;
    min-width: 250px;
    display: none;
}
.hero-title {
    font-size: 50px;
    line-height: 55px;
}
.back-to-menu-mobile {
  display: block;
  background: none;
  border: none;
  font-size: 16px;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 20px;
  cursor: pointer;
  color:#111;
}


  .back-to-menu-mobile {
    display:block;
  }

  .pos-sti {
    display: block;  
    position: relative;
    margin-top:100px;
}

.wpb_single_image.vc_align_right {
    text-align: center !important;
}


}


@media only screen and (max-width: 500px) { 


.marcas-title {
    margin-top: 30px;
}
.direcoes p {

    font-size: 23px;
    
}

.morfil-projeto-esquerda h1 {
    font-size: 20px;
    width: 75% !important;
}

.morfil-material img {
    max-width: 380px;
   
}


.brief p {
    margin-top: 0px !important;
}

.brief h6 {
    
    max-width: 100%;
   


}

.concecao h6 {
    
    max-width: 100%;
   
}

.img1 {
    
    left: 150px;
}

.img1::after {
    
    bottom: 0px;
   
    width: 70px;
    
}

.img1::before {
    bottom: 0px;
    left: calc(-70%);
   
   
}


.presenca {
    margin:20px;
    width: 360px;
   
}


.morfil-info-desc {
   
    max-width: 320px;
   
}

.servico-sticky-titulo {
    margin-top:150px;
    font-size: 50px;
   
}

.modal-content {
    padding: 20px;
    
}


.menu-open{
    height: 100dvh;
    overflow: hidden;
}
.modal-content {
    height: 100dvh;
}

.carousel-overlay {
    bottom: 20px;
    right: 20px; 
}

.carousel-overlay {
   
    width: calc(100% - 40px);
    
    margin-right: 0px; 
    margin-bottom: 0px !important; 
}


.historia {
    
    margin-bottom: 80px !important;
}

.conheca-sobre-nos .container {
    display: flex;
    flex-wrap: wrap;
    padding: 0px !important;
    gap: 0px;
    align-items: center;
    justify-content: space-between;
}

.hero-button5 .button-icon img {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px !important;
    transition: transform 0.3s ease;
}

.conheca-sobre-nos .card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
    width: 453px;
    height: 220px ;
}

a.card.por-cima {
    height: 220px !important;
}


.main-menu li a {
    font-size: 32px;
    line-height: 42px;
}
.carousel-slide {
    height: 50vh;
}




.conheca-morfil figure img {
    
    margin-top: 20px;
}



.direcoes {
    margin-left: 0px;
}

.hero-button4 {
    margin-left: 0px;
}

.servico-linha {
    
    padding: 20px;
    
}


.servico-texto {
    
    width: 50%;
}

.servico-texto h3 {
    
    font-size: 22px;
   
}

.servico-linha {
    
    padding: 20px;
    
}

.construcao h6 {
   
    margin-right: 0px;
}



.presenca_rectangle {
    
    margin: 20px;
}

button.back-to-menu-mobile.hero-button {
    display: flex;
    /* justify-content: center; */
    /* align-content: stretch; */
}

.hero-button .button-text {
   
    order: 2;
    
}

.hero-button .button-icon {
   
    order: 1;
    
}

.vc_row.conheca-morfil {
  display: flex;
  flex-wrap: wrap; /* permite que se adaptem em ecrãs pequenos */
  gap: 20px;
  margin-bottom: -1px;
}

.pos-sti {
    display: block;  
    position: relative;
    margin-top:100px;
}

.hero-button2 {

    gap: 10px;
  
}

}


@media only screen and (max-width: 500px) { 
.materiais h6 {
    
    max-width: 100%;
 
}

.entrega p {
    
    max-width: 100%;
}


.entrega h6 {
    
    max-width: 100%;
   
}

.service-image-wrapper:hover img,
  .service-item:hover img {
    transform: none;
  }

.conheca-morfil figure:hover img {
    transform: none;

}

.servico-linha:hover .servico-imagem-wrapper img {
    transform: none;
}

.servico-linha:hover {
    border: none;
    background: linear-gradient(101deg, rgba(238, 241, 251, 0.40) 0%, rgba(238, 241, 251, 0.80) 128.12%);
    box-shadow: none;
}
.vc_empty_space {
    height: 30vh !important;
    object-fit: cover;
}

.entrega_imagem1 figure, .entrega_imagem1 div, .entrega_imagem1 img {
    width: calc(100% - 15px) !important;
   
    margin-right: 0px !important;
}

.servicos-section {
    
    grid-template-columns: auto !important;
}

.materiais-thumb img {
    
    max-width: 40vw !important;
    width: 200px;
    
}
.materiais-thumbs.materias_img {
    margin: 0px 10px 0px 5px;
}
.pos-sti {
    margin-top:  30px;
}
.formulario-morfil {
    max-width: 100%;
    margin-top: 70px;
}
.materiais_imagem1 {
    margin-top: 0%;
}
body.page-id-1714 .hamburger-menu .bar, 
body.page-id-1708 .hamburger-menu .bar   /* Notre méthode / Comment faisons-nous */ 
{ background-color: #fff !important; }


}



/*
@media (prefers-color-scheme: dark) {
    .logo img {

        background-color: rgba(255, 255, 255, 0.05) !important;

    }
}*/

