



/* --------------------------------------------------  MENU EM CIMA  -------------------------------------------------- */


/* 1. Contentor do menu (Pai) */
.navbar-collapse {
    text-align: center !important;
    width: 100%;
}

/* 2. O Menu propriamente dito */
.navbar-center-custom {
    display: inline-block !important;
    float: none !important;
    margin: 0 auto !important;
}

/* 3. O Logo (Liberta o espaço para o menu centrar) */
.navbar-brand {
    position: absolute !important;
    left: 50px !important;
    top: 43% !important;
    transform: translateY(-50%) !important; /* Centra o logo verticalmente */
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
}

/* 4. Tamanho do Logo */
.logo-nav {
    max-height: 18px; /* Altera aqui para diminuir ou aumentar */
    width: auto;
}

/* 5. Ajuste para Mobile (Desativa o centro no telemóvel) */
@media (max-width: 767px) {
    .navbar-brand {
        position: relative !important;
        left: 0 !important;
        transform: none !important;
        top: 0 !important;
    }
    .navbar-center-custom {
        display: block !important;
        width: 100%;
    }
}


.navbar-nav > li {
	font-family: 'Inter', sans-serif; /* Mantém a coerência */
    font-size: 14px !important;      /* Ajusta este valor para o tamanho que quiseres */
    margin-left: 20px !important;  /* Espaço à esquerda de cada item */
    margin-right: 20px !important; /* Espaço à direita de cada item */
    float: none !important;        /* Garante que o alinhamento central não quebra */
    display: inline-block !important; /* Mantém-nos na mesma linha */
	text-transform: none !important;  /* Isto remove o Caps Lock e deixa a escrita normal */
	letter-spacing: 0.7px; /* O toque mais fino e invisível */

}









/* --------------------------------------------------  PARTE DA COVER PRINCIPAL -------------------------------------------------- */



.hero-logo-img {
    max-width: 300px;   /* ajusta se quiseres */
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}


.home-hero-section {
    background-color: #f9f9f9; /* A cor cinza clara que gostavas */
    padding-top: 145px;        /* Espaço livre no topo */
    padding-bottom: 0px;
}

.hero-content {
    margin-bottom: 60px;       /* Espaço entre o texto/botão e a imagem */
}

.hero-main-title {
	font-family: 'Inter', sans-serif; /* Mantém a coerência */
    font-size: 36px; 
    font-weight: 600; /* Agora o peso vai funcionar a sério */
    margin-bottom: 20px;
	text-transform: none !important; /* ISTO REMOVE O CAPS LOCK */
	letter-spacing: 0.7px; /* O toque mais fino e invisível */
}



.hero-subtitle {
    font-family: 'Inter', sans-serif; /* Mantém a coerência */
    font-size: 12px;
    font-weight: 500; /* Mais leve que o título */
    color: #666;      /* Um cinza suave para dar elegância */
	letter-spacing: 2px; /* O toque mais fino e invisível */
    margin-bottom: 40px;
}



/* O BOTÃO: Só ajustamos o tamanho interno para ser generoso */
.hero-action .btn-lg {
    padding: 15px 45px;
    text-transform: uppercase;
}


.hero-img-fluid {
    /* Agora podes controlar o tamanho real que queres que ela ocupe no ecrã */
    width: 100%; 
    max-width: 1250px; /* Aumenta este número para o tamanho que desejares */
    height: auto;
    display: block;
    margin: 0 auto; /* Centra a imagem profissionalmente */
}


/* Mobile: Apenas diminuímos o tamanho da letra para não quebrar */
@media (max-width: 767px) {
    .hero-main-title { font-size: 32px; }
}



/* ALTERAR A COR DO BOTÃO DO HERO */
.hero-action .btn-success {
    background-color: #1abc9d; /* COR NORMAL: Muda aqui o verde */
    color: #ffffff;            /* COR DO TEXTO: Geralmente branco */
}

.hero-action .btn-success:hover {
    background-color: #51a392; /* COR AO PASSAR O RATO: Um pouco mais escura */
    border-color: #51a392;
}


.btn.btn-round {
	font-family: 'Inter', sans-serif;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 14px 35px !important;
    text-transform: none !important; /* ISTO REMOVE O CAPS LOCK */
    letter-spacing: -0.1px; /* O toque mais fino e invisível */

}



/* TIRAR SETAS DO SLIDE E COVER */

.flex-direction-nav {
	display: none !important;
}
.hero-slider {
	pointer-events: none;
}













/* --------------------------------------------------  FOOTER ----------------------------------------------------------------------- */


.footer.footer-dark {
    background-color: #191918;
    padding: 70px 0 60px 0; /* Diminuí de 100px para 70px no topo e 60px na base */
    color: #ffffff;
}

/* Contentor principal com as tuas margens laterais */
.footer-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 190px !important;
    padding-right: 40px !important;
}

/* LOGO */
.footer-brand {
    font-size: 20px !important;
    letter-spacing: 6px !important;
    margin-bottom: 30px;
    display: block;
    font-weight: 400;
}

/* TEXTO BIO */
.footer-text {
    font-size: 13px;
    line-height: 1.8;
    opacity: 0.7;
    max-width: 450px;
    margin-bottom: 40px;
}

/* ESTRUTURA DAS COLUNAS DA DIREITA */
.footer-right-section {
    display: flex;
    justify-content: flex-end;
    padding-right: 250px; /* O valor que estavas a usar para afastar da borda */
}

.footer-column {
    margin-right: 110px; /* Espaço entre colunas */
    white-space: nowrap;
}

.footer-column:last-child {
    margin-right: 0;
}

/* TÍTULOS */
.footer-title {
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 1px;
    margin-bottom: 12px !important;
    color: #ffffff;
    text-transform: none !important;
}

/* LINKS */
.footer-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links li a {
    color: #bfbfbf !important;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.2px; /* O toque "intermédio" que procuras */
    text-decoration: none;
    opacity: 1 !important;
}

.footer-links li a:hover {
    color: #ffffff !important;
}

/* COPYRIGHT */
.footer-copy {
    font-size: 12px !important;
	color: #bfbfbf !important;
	letter-spacing: 0.2px; /* O toque "intermédio" que procuras */
    margin-top: 80px;
}

/* AJUSTE PARA MOBILE (IMPORTANTE) */
@media (max-width: 991px) {
    .footer-container { padding-left: 30px !important; padding-right: 30px !important; }
    .footer-right-section { 
        display: block; 
        padding-right: 0; 
        margin-top: 40px;
    }
    .footer-column { 
        margin-right: 0; 
        margin-bottom: 30px; 
    }
}



/* ESTILO DO LOGO NO FOOTER */
.footer-logo-img {
    height: 18px;    /* Ajusta a altura conforme o teu logo (Pixieset usa entre 25px a 35px) */
    width: auto;     /* Mantém a proporção */
    margin-bottom: 30px;
    display: block;
    transition: opacity 0.3s ease;
}

.footer-logo-img:hover {
    opacity: 0.8;    /* Efeito suave ao passar o rato no logo */
}



/* ESTILO REDES SOCIAIS */
.footer-social {
    display: flex;
    gap: 40px;       /* Espaço entre os ícones */
    margin-top: 60px; /* Distância do texto acima */
}

.footer-social a {
    color: #ffffff;
    font-size: 19px; /* Tamanho equilibrado dos ícones */
    opacity: 0.7;
    text-decoration: none;
}

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

/* COPYRIGHT */
.footer-copy {
    font-size: 11px !important;
	color: #bfbfbf !important;
	letter-spacing: 0.2px; /* O toque "intermédio" que procuras */
    margin-top: 50px;
}














/* ---------------------------------------------------------------  SECÇÃO GALERIA ---------------------------------------------------------------- */


.module-small.prot-ptb.gallery-header {
  padding-top: 20px;
  padding-bottom: 5px;
  padding-left: clamp(16px, 4vw, 48px);
  padding-right: clamp(16px, 4vw, 48px);
}

.gallery-bar {
  display: flex;
  align-items: center;
  gap: 50px;
}

/* INFO DO CASAMENTO */
.gallery-info {
  white-space: nowrap;
}

.gallery-title {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; /* Mantém a coerência */
  margin: 0;
  font-size: 15.5px;
  letter-spacing: 2px;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-block;
  transform: scaleX(1.02);
}



.gallery-author {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; /* Mantém a coerência */
  display: block;
  margin-top: 1px;
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #777;
}

/* FILTROS */
.gallery-filters ul {
  display: flex;
  align-items: center;
  gap: 30px;
}

.gallery-filters li {
  list-style: none;
}

.gallery-filters a {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; /* Mantém a coerência */
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #7A7A7A !important;
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-block;
  transform: scaleX(1.01);
}

.gallery-filters a:hover,
.gallery-filters a.current {
  color: #000 !important;
}


.gallery-filters li::before {
  display: none !important;
}


.filter li {
  margin: 0 !important;
}
.filter a {
  padding: 0 !important;
}




.gallery-filters {
  display: flex;
  align-items: center;
}

.gallery-filters ul {
  margin: 0;
}


/* =============================
   GALERIA (MASONRY + ESPAÇOS)
============================= */

.module-small.prot-ptb.portfolio-gallery {
  padding-top: 8px;
  padding-left: clamp(16px, 4vw, 48px);
  padding-right: clamp(16px, 4vw, 48px);
}

#works-grid {
  margin-left: -6px;
  margin-right: -6px;
}

#works-grid .work-item {
  padding: 6px;
  box-sizing: border-box;
}

.work-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* =============================
   MOBILE
============================= */

@media (max-width: 768px) {

  .gallery-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .gallery-filters ul {
    flex-wrap: wrap;
    gap: 16px;
  }

}




.filter li::before,
.filter li::after,
.filter a::before,
.filter a::after {
  content: none !important;
  display: none !important;
}







/* ---------------------------------------------------------------  SECÇÃO PREÇOS ---------------------------------------------------------------- */






.pricing-box {
    border: 1px solid #eee;
    padding: 40px 30px;
    text-align: center;
    margin-bottom: 30px;
    background: #fff;
}

.pricing-box h4 {
    margin-bottom: 10px;
}

.price {
    font-size: 42px;
    margin: 15px 0;
}

.pricing-features {
    list-style: none;
    padding: 0;
    margin: 30px 0;
}

.pricing-features li {
    margin-bottom: 10px;
}

.pricing-featured {
    border: 2px solid #1abc9c;
    position: relative;
}

.pricing-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #1abc9c;
    color: #fff;
    padding: 5px 15px;
    font-size: 12px;
    border-radius: 20px;
}

.btn-success {
    background-color: #1abc9e;
    border-color: #1abc9e;
    color: #fff;
}

.btn-success:hover,
.btn-success:focus {
    background-color: #17a589;
    border-color: #17a589;
    color: #fff;
}


.pricing-section {
    padding-top: 180px;
    padding-bottom: 120px;
}









































/* ==========================================================
   1. CONTROLAR LATERAIS DO SITE (Largura da secção)
   ========================================================== */
@media (min-width: 1200px) {
    .testimonials-area .container {
        max-width: 1270px; /* Diminui para 1000px se quiseres os cartões mais ao centro */
        width: 95%;
    }
}

/* ==========================================================
   2. CONTROLAR TAMANHOS DOS CARTÕES EXTERIORMENTE
   ========================================================== */
.testimonial-card {
    min-height: 330px;  /* ALTURA: Aumenta ou diminui aqui */
    
    max-width: 430px;   /* LARGURA: Se quiseres mais estreito, baixa este valor */
    width: 100%;
    margin: 0 auto;     /* Mantém o cartão centrado na sua coluna */
}

/* ==========================================================
   3. CONTROLAR TAMANHOS DO ESPAÇO INTERIOR (Padding)
   ========================================================== */
.testimonial-card {
    padding: 60px 40px; /* O primeiro valor é topo/fundo, o segundo é esquerda/direita */
}

/* ==========================================================
   4. CONTROLAR ESPAÇOS ENTRE OS CARTÕES (Gutter)
   ========================================================== */
.row-small-gutter > [class*='col-'] {
    padding-left: 10px;  /* Distância horizontal: total entre cartões será 20px */
    padding-right: 10px;
    margin-bottom: 20px; /* Distância vertical entre linhas */
}

/* ==========================================================
   ESTRUTURA FIXA (NÃO MEXER - Garante o alinhamento)
   ========================================================== */
.display-flex-row { display: flex; flex-wrap: wrap; }
.row-small-gutter { margin-left: -10px; margin-right: -10px; }
.row-small-gutter > [class*='col-'] { display: flex; }

.testimonial-card {
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 2px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.03);
}

.client-header { display: flex; align-items: center; margin-bottom: 20px; }
.client-img { width: 45px; height: 45px; border-radius: 50%; margin-right: 15px; object-fit: cover; }
.client-info h5 { margin: 0; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; }
.client-info p { margin: 0; font-size: 11px; color: #999; }
.client-quote p { font-size: 15px; line-height: 1.6; color: #555; margin: 0; }

@media (max-width: 991px) {
    .testimonial-card { max-width: 100%; min-height: auto; padding: 40px 30px; }
}


















/* ==========================================================
   PAINEL DE CONTROLO: HIGHLIGHTS
   ========================================================== */



/* ==========================================================
   0. ESPAÇAMENTO VERTICAL DA SECÇÃO (Altura da Secção)
   ========================================================== */
.highlights-section {
    background-color: #fff;
    padding-top: 120px;    /* Espaço no topo - Altera este valor */
    padding-bottom: 120px; /* Espaço no fundo - Altera este valor */
}




/* 1. CORES E TIPOGRAFIA PRINCIPAL */
.highlight-subtitle {
    color: #4ca1af; /* Verde menta da imagem */
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px;
}

.highlight-title {
    font-family: 'font-alt', sans-serif; /* Usa a fonte do teu site */
    font-size: 35px;
    line-height: 1.2;
    color: #1a1a1a;
    margin-bottom: 30px;
    font-weight: 600;
}

.highlight-description {
    font-size: 16px;
    line-height: 1.8;
    color: #666;
    max-width: 90%;
}

/* 2. ESTILO DOS NÚMEROS (Direita) */
.stat-number {
    font-family: 'font-alt', sans-serif;
    font-size:25px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 5px;
}

.stat-text {
    font-size: 14px;
    color: #666;
    line-height: 1.4;
    margin-bottom: 40px; /* Espaço entre as linhas de números */
}

/* 3. ALINHAMENTO E RESPONSIVIDADE */
.display-flex-row { 
    display: flex; 
    align-items: center; /* Centra verticalmente o conteúdo esquerdo com o direito */
    flex-wrap: wrap; 
}

@media (max-width: 991px) {
    .highlight-title { font-size: 32px; }
    .highlight-main-content { margin-bottom: 60px; }
    .stat-number { font-size: 28px; }
}









#password-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.password-box {
  background: rgba(0,0,0,0.75);
  padding: 40px;
  text-align: center;
  max-width: 400px;
  width: 100%;
  color: #fff;
  pointer-events: auto;
}

.password-box h3 {
  margin-bottom: 10px;
}

.password-box p {
  opacity: 0.8;
  margin-bottom: 20px;
}

.password-box input {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: none;
  color: #000;     !important;         
  background: #fff;
}


.password-box button {
  width: 100%;
  padding: 12px;
  background: #fff;
  color: #000;
  border: none;
  cursor: pointer;
}

#password-error {
  color: #ffb3b3;
  margin-top: 10px;
}

#password-overlay,
#password-overlay * {
  pointer-events: auto;
}











/* ALTURA IGUAL ÀS IMAGENS DE CIMA */
.team-item.team-full .team-image {
	height: 470px;        /* 👈 ajusta 1x e acabou */
	overflow: hidden;
}

/* CROP PROFISSIONAL */
.team-item.team-full .team-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}


/* AJUSTE FINO DO CROP VERTICAL */
.team-item.team-full .team-image img {
	object-position: center 40%;
}














