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

Text Domain:        lbb
*/

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

html,
body {
	margin: 0px;
	padding: 0px;
	overflow-x: hidden;
	/* user-select: none;  */
}


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;
}

@font-face {
  font-family: 'PP Editorial Old';
  src: url('fonts/PPEditorialOld-Ultralight.woff2') format('woff2');
  font-style: normal;
  font-weight: 200;
}
@font-face {
  font-family: 'PP Editorial Old';
  src: url('fonts/PPEditorialOld-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
}


@font-face {
  font-family: 'ABC Diatype Semi-Mono';
  src: url('fonts/ABCDiatypeSemi-Mono-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'ABC Diatype Light';
  src: url('fonts/ABCDiatype-Light.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

/* Fonts default */
p,
a,
label,
input,
select,
textarea,
option {
	font-family: "'Satoshi', sans-serif";
	font-style: normal;
	font-size: 16px;
	resize: none;
}

/* Variáveis p/ reutilizar */
:root {
	/* Cores */
	--black: #000000;
	--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;
}

/* 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;
}

.custom-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 50px 40px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    /* transform: translate(10px, 10px); */
    /* margin-top: 100px; */
    padding: 50px 50px 0px 50px; 
}
.ato1_section .vc_col-sm-7 {
    width: 100%;
}
.hero-overlay {
    margin-top: 14px !important;
    margin-right: 30px !important;
    margin-bottom: 9px !important;
    margin-left: 30px !important;
    max-height: calc(100vh - 30px);
}
.tras_text{
	margin-top: 150px;
}
.tras_text.tras_azeite{
	margin-top: 150px;
	margin-bottom: 50px;
}
.ato1_title, .ato1_text {
    max-width: 360px;
    margin: auto;
}
#sec-sustentabilidade{
	padding: 150px 0px;
}
.menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: center; /* centraliza verticalmente */
  gap: 6px; /* ajusta distância entre os traços */
  width: 70px;
  height: 78px;
  text-align: center;
  font: normal normal 900 55px/69px 'PP Editorial Old', serif;
  letter-spacing: 1.1px;
  color: #FFFFFF;
  opacity: 1;
  cursor: pointer;
  z-index: 1000;
  position: relative;
  margin: 9px !important;
}

/* animação do ícone hambúrguer -> X */
.menu-icon {
  position: relative;            /* já tens, mas reforço */
}
.menu-icon span {
  height: 2px;
  width: 100%;                   /* usa a largura do .menu-icon (70px) */
  background-color: #fff;
  display: block;
  border-radius: 2px;
  transition: transform .28s ease, opacity .2s ease;
  transform-origin: center;      /* roda no centro */
}


/* Quando o menu abre (body ganha .menu-open), fazemos o X */
body.menu-open .menu-icon span:nth-child(1) {
  /* gap(6px) + altura da barra(2px) = 8px para chegar ao centro */
  transform: translateY(8px) rotate(45deg);
}
body.menu-open .menu-icon span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.6);        /* opcional: encolhe um bocadinho */
}
body.menu-open .menu-icon span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* (opcional) evita “salto” ao focar com teclado */
.menu-icon:focus { outline: none; }
.menu-icon:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

.logo-center:hover{
  color: white;
}
.class-background{
  background-color: #f8f6f2;
  margin-bottom: 15px;
}
/* aplica na tua faixa horizontal */
#sec-produtos-pin .pin-wrap{
  /* esconder a scrollbar em todos os browsers */
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* IE/Edge legacy */
}
#sec-produtos-pin .pin-wrap::-webkit-scrollbar{
  width: 0;
  height: 0;                      /* Chrome/Safari/Edge (Chromium) */
}
/* container com 3 colunas e 2 linhas */
.logo-center{
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto;  /* 1ª linha = topo, 2ª = L·B */
  justify-content: center;
  column-gap: 10px;
  row-gap: 6px;
  color:#fff;
  font-family: 'PP Editorial Old', serif;
  font-weight: 200;
  font-size: 60px;
  line-height: 60px;
}
/* a faixa tem de rolar só na horizontal */
#sec-produtos-pin .pin-wrap{
  display:flex;
  flex-wrap: nowrap;          /* tudo numa linha */
  gap: 16px;                  /* opcional */
  -webkit-overflow-scrolling: touch; /* iOS suave */
}

/* os filhos NÃO podem encolher, senão desaparece o overflow */
#sec-produtos-pin .pin-wrap > *{
  flex: 0 0 auto;             /* sem shrink, largura pela própria medida */
}


/* B de cima — coluna do ponto (centro), 1ª linha */
.logo-top{
  grid-row: 1;
  grid-column: 2;
  text-align: center;
}

.sustentabilidade_image1 {
    width: 70%;
    margin: auto;
}
/* linha de baixo com L · B distribuídos em 3 colunas */
.logo-bottom{
  grid-row: 2;
  grid-column: 1 / -1;                 /* ocupa as 3 colunas */
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  justify-items: center;
  column-gap: 20px;
}
.class-figure figure, 
.class-figure figure div,
.class-figure figure div img{
	width: 100%;
}
.logo-left  { grid-column: 1; justify-self: end;   }
.logo-dot   { grid-column: 2; position: relative; top: -4px; } /* ajusta o “ponto” */
.logo-right { grid-column: 3; justify-self: start; }

/* responsivo (opcional) */
@media (max-width: 768px){
  .logo-center{ font-size: 40px; line-height: 44px; column-gap: 8px; row-gap: 4px; }
  .logo-dot{ top: -3px; }
  .sustentabilidade_image1 {
    width: 100%;
    margin: auto;
}
}
.lbb-legal-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.lbb-legal-popup.is-open {
    display: flex;
}

.lbb-legal-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.lbb-legal-popup__box {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 820px;
    max-height: 82vh;
    overflow: auto;
    background: #f8f6f2;
    color: #1b1b1b;
    padding: 42px;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.25);
}

.lbb-legal-popup__close {
    position: absolute;
    top: 18px;
    right: 22px;
    border: 0;
    background: transparent;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    color: #1b1b1b;
    padding: 0;
}

.lbb-legal-popup__box h2 {
    margin: 0 0 26px;
    font-size: 28px;
    line-height: 1.15;
    font-weight: 500;
}

.lbb-legal-popup__box h3 {
    margin: 28px 0 10px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
}

.lbb-legal-popup__content p {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.65;
}

body.lbb-popup-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .lbb-legal-popup {
        padding: 16px;
    }

    .lbb-legal-popup__box {
        padding: 34px 24px 28px;
        max-height: 86vh;
    }

    .lbb-legal-popup__box h2 {
        font-size: 24px;
    }

    .lbb-legal-popup__content p {
        font-size: 14px;
    }
}


.lang-switch {
  color: #ffffff !important;
  font-family: 'ABC Diatype Semi-Mono', monospace;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1.56px;
  text-align: center;
}

.azeite_section {
  position: relative;
}
.produto-info, .produto-media {
    width: 50%;
}
.azeite_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 402px;
  max-width: 100%;
  text-align: center;
  z-index: 10; /* garantir que aparece acima da imagem */
  pointer-events: none; /* opcional, impede clique */
}

.azeite_text p {
  font-family: 'PP Editorial Old', serif;
  font-weight: 200;
  font-size: 55px;
  line-height: 69px;
  letter-spacing: 1.1px;
  color: #FFFFFF;
  text-align: center;
  margin: 0;
}

.azeite_fundo {
  position: absolute;
  bottom: 170px; /* espaçamento do fundo */
  width: 100%;
  text-align: center;
  z-index: 2;
}

.azeite_fundo h6 {
  font-family: 'ABC Diatype Semi-Mono', monospace;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 1.8px;
  color: #ffffff;
  text-transform: uppercase;
  margin: 0;
  opacity: 1;
}

.linha-final {
    width: 1px;
    height: 119px;
    top: -128px !important;
    background-color: #ffffff;
    margin: 0px auto 0 auto;
    opacity: 1;
    position: relative;
    z-index: 800;
}

.tras_text {
    position: relative;
    width: 100%;
    text-align: center;
    margin-bottom: 44px !important;
}

.tras_text p {
  font-family: 'PP Editorial Old', serif;
  font-weight: 200;
  font-size: 70px;
  line-height: 100px;
  letter-spacing: 2px;
  color: #000000;
  text-align: center;
  opacity: 1;

}

.territorio {
  position: relative;
  bottom: 44px; /* espaçamento do fundo */
  width: 100%;
  text-align: center;
}

.territorio h6 {
  font-family: 'ABC Diatype Semi-Mono', monospace;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 2.4px;
  color: #000;
  text-transform: uppercase;
  opacity: 1;
}
/* secção inteira */
.produtos-hscroll{
  position: relative;
  overflow: hidden; /* importante para não aparecer scrollbars */
}

/* o contentor que vai “andar” */
.produtos-hscroll .pin-wrap{
  display: flex;
  gap: 40px;              /* ajusta */
  will-change: transform; /* performance */
}

/* cards com largura fixa (ajusta ao teu design) */
.produtos-hscroll .produto-card{
  flex: 0 0 80vw;         /* cada card ocupa ~80% do viewport */
  max-width: 900px;       /* opcional */
}


.wpb_raw_code.wpb_content_element.wpb_raw_html {
    height: 0px !important;
}


.vc_row.wpb_row.vc_row-fluid.serenidade_section.vc_custom_1754567758100.vc_row-has-fill.vc_row-no-padding.vc_row-o-full-height.vc_row-o-columns-middle.vc_row-flex {
    margin-top: 0px !important;
}


.serenidade_title p {

  font-family: 'PP Editorial Old', serif;
  font-weight: 200;
  font-size: 55px;
  line-height: 69px;
  letter-spacing: 1.1px;
  color: #000000;
  text-align: left;
  opacity: 1;
  margin-left: 100px !important;
  width: 80%;
 
}

.serenidade_text h6 {

  font-family: 'ABC Diatype Light', monospace; /* ou 'ABC Diatype' se for essa a fonte */
  font-weight: 300;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.4px;
  color: #000000;
  text-align: left;
  opacity: 1;
  margin-top: 44px;
  margin-left: 100px !important;
  width: 75%;
}

.serenidade_text h6:last-child{
	margin-top:0px
}


/* a row desta secção deve alinhar as colunas ao centro */
.serenidade_section.vc_row {
  display: flex;               /* garante flex na row */
  align-items: center;         /* centra verticalmente as colunas */
}

/* a coluna "serenidade" e o seu inner têm de ser flex e ocupar 100% */
.serenidade {
  display: flex;
}

.serenidade > .vc_column-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;     /* centra os dois blocos verticalmente */
  height: 100%;
  padding-top: 0 !important;   /* remove espaçamentos que desalinham */
  padding-bottom: 0 !important;
}

/* opcional: espaço entre título e texto (se precisares) */
.serenidade .wpb_wrapper {
  display: flex;
  flex-direction: column;
  gap: 27px;                   /* ajusta ao gosto */
}

/* remove este limite que te pode estar a estragar o layout */
.serenidade {
  max-width: 100vh; 
}




.ato1_title p {

  font-family: 'PP Editorial Old', serif;
  font-weight: 200;
  font-size: 35px;
  line-height: 45px;
  letter-spacing: 1.1px;
  color: #000000;
  text-align: left;
  opacity: 1;
  margin-top:50px;
	width:65%;
	max-width:100%;
}

.ato1_text h6 {

  font-family: 'ABC Diatype Light', monospace; /* ou 'ABC Diatype' se for essa a fonte */
  font-weight: 300;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0.4px;
  color: #000000;
  text-align: left;
  opacity: 1;
  margin-top: 27px;
}


.menu-drawer .lbb-footer__social {
    position: absolute;
    bottom: 25px;
}

.ato1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%; /* ocupa toda a altura da row */
  max-width: 55vh;
}

.ato1_image {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: left;
}

.ato1_image img {
  max-width: 100%;
  height: auto;
}

.ato1_section {
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 100px;
    /* padding: 100px 0; */
    /* padding-left: 197px; */
    padding-bottom: 100px;
}

/* Secção completa com espaçamento à esquerda */
.familia_section {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 150px;
    padding-top: 150px;
}

/* Coluna da esquerda com "Família" e "(Chaves Barroso)" */
.familia_intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

/* Título principal "Família" */
.familia_title p {
    text-align: center;
    font: normal normal 200 80px/100px 'PP Editorial Old', serif;
    letter-spacing: 2.48px;
    color: #000000;
    opacity: 1;
    margin: 0;
}

/* Subtítulo "(CHAVES BARROSO)" */
.familia_subtitle p {
    text-align: center;
    font: normal normal normal 16px/20px 'ABC Diatype Semi-Mono', monospace;
    letter-spacing: 2.4px;
    color: #000000;
    text-transform: uppercase;
    opacity: 1;
    margin-top: 15px;
}

/* Imagem ao centro */
.familia_image img {
    max-width: 100%;
    height: auto;
}

/* Coluna da direita com o título e parágrafo */
.familia_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}



/* Título à direita: "A semente de um sonho..." */
.familia1_title p {
    text-align: left;
    font: normal normal 200 50px/59px 'PP Editorial Old', serif;
    letter-spacing: 1.1px;
    color: #000000;
    opacity: 1;
    margin-bottom: 44px !important;
    margin-left: 100px;
}
.familia_content_new > .vc_column-inner {
    max-width: 475px;
}
.familia1_text {
    margin-right: 50px;
}

/* Parágrafo: "Na pitoresca aldeia de..." */
.familia1_text p {
    text-align: left;
    font: normal normal 300 16px/26px 'ABC Diatype Light', sans-serif;
    letter-spacing: 0.4px;
    color: #000000;
    opacity: 1;
    margin-left: 100px;
}

.sustentabilidade_section {
  background-color: #A3AD91; /* Cor de fundo conforme imagem */
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 120px 20px; /* Espaçamento superior/inferior + respiro lateral */
  text-align: center;
}

.sustentabilidade-title p {
  font-family: 'PP Editorial Old', serif;
  font-style: normal;
  font-weight: 200;
  font-size: 70px;
  line-height: 100px;
  letter-spacing: 2px;
  color: #000000;
  opacity: 1;
  margin-bottom: 20px !important;
}

.sustentabilidade_subtitle p {
  font-family: 'ABC Diatype Semi-Mono', monospace;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 2.4px;
  color: #000000;
  text-transform: uppercase;
  opacity: 1;
  margin-bottom: 60px !important;
}


.sustentabilidade_image,
.sustentabilidade_image2 {
  text-align: center;
  width: 100%;
}

.sustentabilidade_image img,
.sustentabilidade_image2 img {
  display: block;
  margin: 0 auto 60px auto;
  max-width: 100%;
  height: auto;
}

.sustentabilidade_image2 img {
  margin-top: 60px;
}

.sustentabilidade_text p {
  font-family: 'PP Editorial Old', serif;
  font-weight: 200;
  font-size: 50px;
  line-height: 65px;
  letter-spacing: 1.1px;
  color: #000000;
  margin-bottom: 40px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
}

.sustentabilidade_subtext p {
  font-family: 'ABC Diatype Light', sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0.4px;
  color: #000000;
  opacity: 1;
  max-width: 800px;
  margin: 0 auto 60px auto;
  margin-top: 40px;
}

.imagens-section { overflow: hidden; }

/* layout do slide (2 cards por vista) */
/* o teu layout do card */
.produtos-duo .produto-card{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  /* min-height: 520px;  <-- podes manter ou remover */
  align-items: start;          /* <— em vez de center */
}

/* garante o alinhamento ao topo mesmo que algo force */
.produto-media,
.produto-info{
  align-self: start;
}

/* (opcional) tira espaço extra no topo do texto, se houver */
.produto-title{ margin-top: 0; }


/* alterna posições */


.produto-media{
  text-align:center;
  background-color: #f8f6f2;
}
.produto-media img{
  width:auto;  /* afina para bater certo com o design */
  height:auto;
  display:block;
  margin: 0 auto;
}


/* Drawer do menu (metade do ecrã) */
.menu-drawer{
  position: fixed;
  top: 0;
  left: 0;
  width: 25vw;             /* metade do ecrã */
  height: 100vh;
  background: #F8F6F2;
  z-index: 900;           /* acima do header (que está a 1000) */
  transform: translateX(-100%);
  transition: transform 360ms ease;
  box-shadow: 8px 0 30px rgba(0,0,0,.08);

}

/* quando aberto */
.menu-open .menu-drawer{
  transform: translateX(0);
}

/* conteúdo do drawer */
.drawer-nav{
  display: flex;
  flex-direction: column;
  gap: 16px;               /* espaço entre links */
  padding: 300px 88px;     /* acompanha o teu header */
}

.drawer-nav a {
    font-family: 'PP Editorial Old', serif;
    font-weight: 300;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: 0.4px;
    color: #000000;
    text-align: left;
    text-decoration: none;
}

.drawer-nav a:hover{ text-decoration: underline; }

/* barras do hamburger ficam pretas quando o menu está aberto */
.menu-open .menu-icon span{
  background-color: #000000;
}

.flex{
	   display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 50vw;
}

@media (max-width: 2500px) and (min-width: 1400px) {
  .logo-bottom {
    column-gap: 30px;
  }
}



/* mobile: ocupa a largura toda para melhor usabilidade */
@media (max-width: 768px){
  .menu-drawer{ width: 100vw; }
  .drawer-nav{ padding: 120px 44px; }
}

.produto-info{
  max-width: 520px;
}

.produto-numero{
  font-family: 'ABC Diatype Semi-Mono', monospace;
  font-size: 14px;
  letter-spacing: 2px;
  color:#000;
  margin-bottom: 12px;
}

.produto-title{
  font-family: 'PP Editorial Old', serif;
  font-weight: 200;
  font-size: 48px;
  line-height: 1.1;
  margin: 0 0 8px;
}
.produto-title em{
  font-style: italic;
}

.produto-variante {
    text-align: left;
    font: normal normal 200 50px/64px 'PP Editorial Old', serif;
    letter-spacing: 1.1px;
    color: #A8B28D;
    margin: 6px 0 18px;
}


.produto-text p{
    text-align: left;
    font: normal normal 300 16px/26px 'ABC Diatype Light', sans-serif;
    letter-spacing: 0.34px;
    color: #000000;
    opacity: 1;
    margin-bottom: 24px;
    max-width: 300px;
}


.produto-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    font: normal normal normal 15px/19px 'ABC Diatype Semi-Mono', sans-serif;
    letter-spacing: 0.3px;
    color: #000000;
    opacity: 1;
    text-decoration: none;
    margin-top: 150px;
}



.produto-link:before{
  content:'';
  width:40px;
  height:2px;
  background:#111;
  display:inline-block;
}

.owl-produtos .owl-nav { display:none; } /* usa só o wheel/drag, ou liga navText */



.owl-carousel .owl-item img {
    display: block;
    width: auto !important; 
}

.owl-carousel {
    
    width: 100%;
    z-index: 1;
}
/* ===== Footer ===== */
.lbb-footer{
  background:#C9C1B7; /* aproximação do beige do mock */
  color:#111;
}
.lbb-footer a{ color:inherit; }

.lbb-footer__inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 40px 150px;
    display: grid;
    grid-template-columns: 1.1fr 1.3fr 1fr 1.3fr;
    gap: 40px 40px;
}

.lbb-footer__label {
    text-align: left;
    font: normal normal normal 12px/10px 'ABC Diatype Semi-Mono', monospace;
    letter-spacing: 1.8px;
    color: #000000;
    text-transform: uppercase;
    opacity: 1;
    margin-bottom: 16px; /* mantém o espaçamento original */
}

.lbb-footer__list{ list-style:none; padding:0; margin:0; }
.lbb-footer__list li + li{ margin-top: 10px; }
.lbb-footer__list a{
  font-family:'PP Editorial Old', serif;
  font-weight: 200;
  font-size: 25px;       /* parecido com a imagem */
  line-height: 1.2;
  text-decoration:none;
}

.lbb-footer__big {
    text-align: left;
    font: normal normal 200 25px/33px 'PP Editorial Old', serif;
    letter-spacing: 0.56px;
    color: #000000;
    opacity: 1;
}

.lbb-footer__big a{
    text-align: left;
    font: normal normal 200 25px/25px 'PP Editorial Old', serif;
    letter-spacing: 0.56px;
    color: #000000;
    opacity: 1;
}



.lbb-footer__link {
    display: inline-block;
    margin-top: 8px;
    text-align: left;
    text-decoration: underline;
    font: normal normal 300 20px/28px "ABC Diatype Light", sans-serif;
    letter-spacing: 0.4px;
    color: #F8F6F2 !important;
    opacity: 1;
}


.u-mt-24{ margin-top:24px; }

.lbb-footer__social{
  display:flex; gap:12px; align-items:center;
  margin-top: 8px;
}


.lbb-footer__social-btn{
  width: 40px; height: 40px; border-radius: 50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:#000; color:#C9C2B7 !important; text-decoration:none;
  transition: background-color .3s ease, color .3s ease;
}
.lbb-footer__social-btn i{ font-size:18px; line-height:1; }
.lbb-footer__social-btn:hover{ background:#222; }


/* Instagram: ícone ligeiramente maior para reduzir o “padding” interno */
.lbb-footer__social-btn[href*="instagram.com"] i{
  font-size: 26px; /* estava 18px */
}


.lbb-footer__col--certs .lbb-footer__certs{
  display:flex; align-items:center; gap:32px; flex-wrap:wrap;
}
.lbb-footer__certs img{
  height:72px; width:auto; object-fit:contain; display:block;
}

.lbb-footer__bottom{
  margin-top: 24px;
  padding: 16px 24px;
  display:flex; align-items:center; justify-content:space-between;
  gap:20px;
  max-width:100%; margin-left:auto; margin-right:auto;
}

.lbb-footer__legal-list{
  list-style:none; display:flex; gap:0px; padding:0; margin:0; flex-wrap:wrap;
}
.lbb-footer__legal-list li{ position:relative; }
.lbb-footer__legal-list li + li::before{
  content:"|"; margin:0 8px; opacity:.5;
}

.lbb-footer__copy {
    text-align: left;
    font: normal normal 300 15px/30px 'ABC Diatype Light', sans-serif;
    letter-spacing: 0.36px;
    color: #000000;
    opacity: 1;
    width: 50%;
}

.lbb-footer__legal-list a {
    text-align: left;
    font: normal normal 300 15px/30px 'ABC Diatype Light', sans-serif;
    letter-spacing: 0.36px;
    color: #000000;
    opacity: 1;
    text-decoration: none; /* opcional, remove o sublinhado */
}

.lbb-footer__legal-list li {
    text-align: left;
    font: normal normal 300 15px/30px 'ABC Diatype', sans-serif;
    letter-spacing: 0.36px;
    color: #000000;
    opacity: 1;
}
.hero-overlay {
    max-height: calc(100vh - 70px);
}
body {
    background-color: #f8f6f2;
}
/* quando o título SIGA-NOS vem logo a seguir a um .lbb-footer__big (email) */
.lbb-footer__col .lbb-footer__big + .lbb-footer__label {
  margin-top: 44px;
}


.home-gallery-owl .item {
  display: flex;
  justify-content: center;
  align-items: center;
}

.home-gallery-owl img {
  height: 500px; /* ou o que quiseres */
  width: auto;
  object-fit: cover;
  display: block;
}

.home-gallery-owl .owl-stage {
  transition-timing-function: linear !important;
  will-change: transform;
}

.galeria-morfil .owl-galeria img { 
  height: 60vh !important; 
  width: auto; 
}
.sustentabilidade_image2 img{
  width: 100px !important;
  height: auto !important;
}

/* opcional: pequeno ajuste visual como no carrossel das marcas */
.galeria-morfil .owl-galeria .item { display: inline-block; }



/* Aplica ao container da hero */
.hero-overlay {
  position: relative; /* para posicionar o overlay em relação a este elemento */
}

.hero-overlay::after {
  content: "";
  position: absolute;
  inset: 0; /* top, right, bottom, left = 0 */
  background-color: rgba(57, 50, 45, 0.18);
  pointer-events: none; /* deixa cliques passarem para baixo */
}

.pin-wrap{
  margin: 150px 0px !important;
}
#sec-produtos-pin .produto-card {
    display: flex;
    gap: 75px;
    min-width: 50%;
    margin: 0px 50px 0px 50px;
    flex: 0 0 50% !important;   
    justify-content: center;
}

.vc_col-has-fill>.vc_column-inner, .vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner, .vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner, .vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 16px !important;
}

.hero-overlay figure, .hero-overlay div, .hero-overlay img {
    width: 100%;
} 

.sustentabilidade_image figure, .sustentabilidade_image div, .sustentabilidade_image img {
  width: 100%;
}

.wpb_single_image img {
  width: 100%;
    
}

.fil-title h3{
 font-family: 'PP Editorial Old', serif;
 font-size:70px;
 color:#000000 ;
 letter-spacing: 2px;
 margin-top: 50px;
 max-width: 360px;
 margin: auto;
 font-weight: 200;
 line-height: 100px;
}


.fil-subtitle p{
  font-family:'ABC Diatype Semi-Mono', serif;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 2.4px;
  color: #000;
  max-width: 360px;
  margin: auto;
}

.ato1_section.v2{
  padding: 150px 0px 150px 0px;
}

.ato1_image.v2 {
width: 57.4vw;
max-width: 100%;
}


.solo-mobile{
  display: none;
}

/* animação contínua (move metade da largura porque duplicámos a sequência) */
@keyframes gallery-scroll{
  from{ transform: translateX(0); }
  to  { transform: translateX(-50%); }
}

@media (max-width: 1500px){

  .logo-center {
    font-size: 40px;
    line-height: 40px;
}

.azeite_text p {
    font-size: 49px;
    line-height: 69px;
}

.familia1_title p {
   
    width: 70%;
}
.serenidade_title p {
    font-size: 48px;
}

.serenidade .wpb_wrapper {

    gap: 0px; 
}

.familia1_text p {
   
    width: 70%;
}

.lbb-footer__big {
    
    width: 100%;
}

}


@media (max-width: 1300px){ 
.serenidade_title p {
    font-size: 41px;
}
	.menu-drawer{
		width:31vw;
	}
}

@media (max-width: 1250px){ 
.tras_text p {
    font-size: 60px;
}
}

@media (max-width: 1200px){ 

.logo-center {
    top: 60%;
}

.azeite_text p {
    font-size: 30px;
    line-height: 37px;
}

.logo-center {
    font-size: 40px;
    line-height: 40px;
}

.azeite_fundo {
    bottom: 140px;
}

.serenidade_title p {
    font-size: 30px;
    line-height: 40px;
}

.serenidade_text h6 {
    font-size: 15px;
    line-height: 20px;
}

.ato1_title p {
    font-size: 45px;
    line-height: 60px;
}

.ato1_text h6 {
    font-size: 18px;
    line-height: 25px;
    
}

.produto-link {
    margin-top: 20px;
}

.produtos-duo .produto-card {
    margin-left: 20px;
}

.owl-carousel .owl-item {
    margin-right: 100px !important;
}

.familia1_title p {
    font: normal normal 200 35px/40px 'PP Editorial Old', serif;
  
}
.familia1_text p {
    font: normal normal 300 15px/25px 'ABC Diatype Light', sans-serif;
   
}

.lbb-footer__big a {
 
    font: normal normal 200 26px/33px 'PP Editorial Old', serif;
    
}

.lbb-footer__big {
    font: normal normal 200 26px/33px 'PP Editorial Old', serif;
    
}


.lbb-footer__col--certs .lbb-footer__certs {
   
    gap: 10px;
    flex-wrap: nowrap;
}

.lbb-footer__copy {
    font: normal normal 300 10px/20px 'ABC Diatype Light', sans-serif;
    
}

.lbb-footer__legal-list a {
 
    font: normal normal 300 10px/20px 'ABC Diatype Light', sans-serif;

}

}


@media (max-width: 1024px){ 
	.drawer-nav {
    padding: 178px 89px;
}
	
	.menu-drawer{
		width:47vw;
	}
	.sustentabilidade_text p{
		font-size:45px;
	}
	.sustentabilidade-title p,.fil-title h3{
		font-size:60px;
	}
.owl-carousel .owl-item {
    margin-right: 100px !important;
}

.produtos-duo .produto-card {
    margin-left: 40px;
}

.produto-text {
    max-width: 100%;
}

.produto-title {
    font-size: 40px;
}

.produto-link {
    margin-top: 20px;
}

.serenidade_title p {
    font-size: 25px;
    line-height: 30px;
}
.serenidade_text h6 {
    margin-top: 20px;
}

.serenidade_image {
    margin-left: 100px !important;
}

.logo-center {
    top: 60%;
}



.azeite_text p {
    font-size: 30px;
    line-height: 37px;
}

.logo-center {
    font-size: 40px;
    line-height: 40px;
}

.azeite_fundo {
    bottom: 140px;
}

.serenidade_text h6 {
    font-size: 12px;
    line-height: 16px;
}

.ato1_section {
    gap: 50px;
  
}

.ato1_title p {
    font-size: 35px;
    line-height: 40px;
}

.ato1_text h6 {
    font-size: 16px;
    line-height: 20px;
}

.familia_title p {
    font: normal normal 200 60px/102px 'PP Editorial Old', serif;
  
}

.familia_subtitle p {
   
    font: normal normal normal 15px/14px 'ABC Diatype Semi-Mono', monospace;
   
}

.familia1_title p {
    
    margin-left: 30px;
    margin-bottom: 20px !important;
}


.familia1_text p {
    
    margin-left: 30px;
}


}


@media (max-width: 900px){ 

  

  .sustentabilidade_subtext p {
    
    font-size: 15px;

   }

.sustentabilidade-title p {
    
    font-size: 50px;
  
}

.sustentabilidade_subtitle p {
    
    font-size: 15px;
    
}

.sustentabilidade_text p {
   
    font-size: 35px;
 
}


  .logo-center {
    top: 60%;
}

.azeite_text p {
    font-size: 36px;
    line-height: 46px;
}

.logo-center {
    font-size: 25px;
    line-height: 30px;
}

.azeite_fundo {
    bottom: 140px;
}

.produto-title {
    font-size: 35px;
}

.owl-carousel .owl-item {
    margin-right: 0px !important;
}

.p {
 
    font-size: 12px;
}

.familia1_title p {
    font: normal normal 200 25px/30px 'PP Editorial Old', serif;
}

.familia1_text p {
    font: normal normal 300 10px/15px 'ABC Diatype Light', sans-serif;
    margin-bottom: 30px !important;
  }

.familia_subtitle p {
    font: normal normal normal 7px/6px 'ABC Diatype Semi-Mono', monospace;
}
.familia_title p {
    font: normal normal 200 44px/62px 'PP Editorial Old', serif;
}

.lbb-footer__legal-list {
   
    gap: 0px;
   
}

.serenidade_title p {

  margin-left: 0px !important;
 
}

.serenidade_text h6 {

  margin-left: 0px !important;
 
}

.lbb-footer__big {
    
    width: 80%;
}


}


@media (max-width: 900px){ 
.tras_text p {
    font-size: 40px;
    line-height: 82px;
}
.familia_section {
    padding-bottom: 150px;
    padding-top: 150px;
}
.owl-stage, .owl-item {
    white-space: nowrap;
}
.galeria-morfil .owl-galeria img {
    height: 30vh !important;
    width: auto;
}
.owl-carousel .owl-item img {
    margin-right: 10px;
}
#sec-sustentabilidade {
    padding: 150px 20px 50px 20px;
}

	.fil-title h3{
		font-size:50px;
	}
}



/* Responsivo: 2 por vista em tablets, 1 no mobile */



/* Responsivo */
@media (max-width:1100px){
  .lbb-footer__inner{
    grid-template-columns: 1fr 1fr;
  }
 
}

@media (max-width: 768px) {
  #sec-produtos-pin .pin-wrap{
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-snap-type: none;
  overflow-anchor: none;         /* <-- evita reset do scrollLeft */
}
#sec-produtos-pin .pin-wrap > *{
  scroll-snap-align: none;
  flex: 0 0 auto;                /* não deixar encolher */
  /* opcional: dá largura estável aos cards para não haver reflow */
  /* min-width: 80vw; */
}

.custom-header {
    padding: 35px 30px;
}
.menu-open .logo-bottom, .menu-open .logo-top, .menu-open .lang-switch {
    color: black;
}
#sec-produtos-pin .produto-card {
    flex-direction: column;
}
.produto-info, .produto-media {
    width: 100%;
}
  .logo-center {
    font-size: 40px;
    line-height: 44px;
  }

.menu-icon {
    width: 37px;
    height: 24px;
    margin: 0px 40px 0px 0px!important;
}
  .lang-switch {
    font-size: 11px;
    letter-spacing: 1px;
    width: 77px;
  }

.ato1.v2{
  margin: auto;
}



.fil-title{
  display: none;
}

.fil-subtitle{
  display: none;
}

.solo-mobile{
  display: block;
}

.solo-mobile .fil-title{
  display: block;
}

.solo-mobile .fil-subtitle{
  display: block;
}

 .ato1_image.v2 {
    width: 100%;
    margin: auto;
    padding-top: 30%;
}

.ato1.v2 p, .ato1.v2 h6{
   margin-left: auto; 
   width: 100%; 
}
.ato1_section.v2 {
     padding: 0px 0px 50px 0px;
}
}



@media (max-width:600px){

  #sec-sustentabilidade.vc_custom_1754921170039{
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }

  .sustentabilidade-title p {
    
    margin-bottom: 0px !important;
}

  .sustentabilidade_subtitle p {
    
    margin-bottom: 50px !important;
}

  .familia1_text p {
  
    margin-bottom: 0px !important;
}

.lbb-footer__copy {
    width: 100%;
}

.lbb-footer__legal-list li + li::before {
    margin: 0 4px;
}

.familia_section {
    flex-direction: column;
}

.familia1_title {
    margin-top: 100px;
}

.familia_subtitle p {
    margin-bottom: 50px !important;
}

.owl-carousel .owl-item img {
    margin-right: 16px;
}

.produto-text p {
    font: normal normal 300 16px/20px 'ABC Diatype Light', sans-serif;
    max-width: 100%;
}


.produto-info {
    height: 50vh;
}

.produto-media img {
    height: 30vh;
}

.produto-variante {
    font: normal normal 200 35px/40px 'PP Editorial Old', serif;
    

}
body.is-sticky .custom-header {
    padding: 10px 30px 10px 30px;
}


.ato1_section {
    display: flex;
    flex-direction: column-reverse;
   
}


.ato1_title p {
    margin-left: 0px;
    margin-top: 100px !important;
}


.ato1_text h6 {
    margin-left: 0px;
    width: 100%;
}

/* Serenidade image: margem à esquerda = 50px */
.wpb_single_image.serenidade_image{
  margin-left: 0px !important;
  width: 100% !important
}


.serenidade_text h6 {
    width: 100% !important;
    font-size: 16px;
    line-height: 20px;
}

.tras_text p {
    font-size: 35px;
    line-height: 40px;
}

.territorio h6 {
    font-size: 15px;
    line-height: 25px;
}

.logo-center {
    font-size: 25px;
    line-height: 30px;
    margin-top: 0px;
}

.wpb_single_image .vc_figure {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    width: 100%;
    max-width: 100%;
}

/* HERO overlay: 85vh, imagem "cover" centrada */
.hero-overlay{
  height: 85vh;                 /* altura do bloco */
  display: flex;                /* para poderes usar align-items */
  align-items: center;          /* centra o conteúdo verticalmente */
}


.hero-overlay .vc_figure,
.hero-overlay .vc_single_image-wrapper{
  width: 100%;
  height: 100%;
}

.hero-overlay img.vc_single_image-img{
  width: 100%;
  height: 100% !important;      /* força a ocupar os 85vh do pai */
  object-fit: cover;            /* recorta para preencher */
  object-position: center;      /* mantém o foco ao centro */
  display: block;
}
.produto-link {
    margin-top: 50px;
}
.azeite_text {
    width: 60%;
}
.azeite_fundo h6 {
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 1.2px;
}
.drawer-nav {
    padding: 180px 44px;
}
.tras_text {
    margin-top: 150px;
}
.sustentabilidade_image img {
    margin: 0 auto 0px auto;
}

.wpb_single_image.hero-overlay{
    margin-left: 22px !important;
    margin-right: 22px !important;
    margin-top: 7px !important;
  }

.tras_text {
    position: relative;
    width: 100%; 
    text-align: center;
    margin-bottom: 44px !important;
}

.serenidade_title p {
    font-size: 30px;
    line-height: 35px;
	width:100%;
}

.sustentabilidade-title p {
    font-size: 35px;
    line-height: 40px;
}

.sustentabilidade_subtitle p {
    line-height: 25px;
}

.sustentabilidade_text p {
    
    line-height: 40px;
   
}
.drawer-nav {
    height: 100%;
    justify-content: center;
}

.familia_subtitle p {
    font: normal normal normal 15px/25px 'ABC Diatype Semi-Mono', monospace;
}

.familia_title p {
    font: normal normal 200 35px/40px 'PP Editorial Old', serif;
}

.familia1_title p {
    font: normal normal 200 30px/35px 'PP Editorial Old', serif;
}

.familia1_text p {
    font: normal normal 300 16px/20px 'ABC Diatype Light', sans-serif;
}

.familia1_title p {
    width: 80%;
}

.familia1_text p {
    width: 80%;
}


.sustentabilidade_image img {
    height: 300px !important;
    object-fit: cover;
}

.sustentabilidade_image2 img {
    height: auto !important;
    object-fit: cover;
}


  .wpb_text_column.vc_custom_1754566859996{
    margin-top: 100px !important;
  }

  .wpb_text_column.vc_custom_1754575709902 {
    margin-top: 100px !important;
}


.territorio h6 {
    margin-bottom: 0px !important;
}


.ato1_section {

    gap: 0px !important;
    padding: 0px 0px 100px 0px;
    
}
.ato1_title p {
    width: 100%;
}



















}


@media (max-width: 768px){
  #sec-produtos-pin{ overflow: hidden; }

  /* onde o slick inicializa */
  #sec-produtos-pin .pin-wrap{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #sec-produtos-pin .slick-list{
    width: 100%;
    overflow: hidden;
    padding: 0 !important; /* sem “peek” */
  }

  #sec-produtos-pin .slick-slide{
    padding: 0 !important;
  }

  /* o teu card ocupa o slide */
  #sec-produtos-pin .produto-card{
    max-width: 100% !important;
    margin: 0 auto !important;
    min-width: 0 !important;
    flex: none !important;
    box-sizing: border-box;
    padding: 30px !important;
  }

  #sec-produtos-pin img{
    max-width: 130px;
    height: auto;
    display: block;
  }
  .produto-info {
    max-width: 100%;
    display: block;
    width: 100% !important;
}
.fil-title h3 {
    font-size: 35px;
    line-height: 40px;
    margin-top: 140px;
}
.fil-subtitle p {
    font-size: 15px;
    line-height: 23px;
    margin-bottom: 50px !important;
}





}





/* Header fica fixo e muda para fundo #f8f6f2 + texto preto após 100vh */
.custom-header{
  transition: background-color .25s ease, color .25s ease, box-shadow .25s ease;
}

body.is-sticky .custom-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 10px 50px;
    background: #f8f6f2;
    color: #000;
    box-shadow: none;
    z-index: 1000;
}
body.is-sticky .logo-center{
	scale: 0.6;
}
/* garantir que tudo dentro do header fica preto */
body.is-sticky .custom-header .logo-center,
body.is-sticky .custom-header .lang-switch{
  color: #000 !important;
}

/* barras do hambúrguer a preto quando sticky */
body.is-sticky .custom-header .menu-icon span{
  background-color: #000 !important;
}
.menu-icon span {
    width: 80%;;
}



#smooth-wrapper {
    overflow: visible !important;
    height: auto !important;
}

#smooth-content {
    overflow: visible !important;
}







@media (max-width:680px){
  .lbb-footer__inner{
    grid-template-columns: 1fr;
  }
  .lbb-footer__bottom{
    flex-direction:column; align-items:flex-start;
  }
  body.is-sticky .custom-header {
    padding: 10px 30px;
}
.serenidade .vc_custom_1754900981598 {
    margin-right: 30px !important;
    margin-left: 30px !important;
}
  .ato1_section.v2.v2{
    gap: 0px !important;
    padding: 0px 0px 100px 0px !important;
  }

.fil-title{
  display: none;
}

.fil-subtitle{
  display: none;
}

.solo-mobile{
  display: block;
}

.solo-mobile .fil-title{
  display: block;
}

.solo-mobile .fil-subtitle{
  display: block;
}

 .ato1_image.v2 {
    width: 100%;
    margin: auto;
    padding: 2%;
}

.ato1.v2 p, .ato1.v2 h6{
   margin-left: auto; 
   width: 100%; 


}
.pin-wrap {
    margin: 100px 0px !important;
}
}




@media(max-width:460px){

	product-gallery-slide{
		margin-left:62px;
	}

.drawer-nav a {
    font-size: 13px;
    line-height: 21px;
}
	
	.lbb-footer__social-btn {
    width: 34px;
    height: 34px;
}
	
}
