.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ================================
   FONTES DO GOOGLE
   Carrega as 3 fontes usadas no site
================================ */
@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Jost:wght@300;400;500;600&family=Tenor+Sans&display=swap');

/* ================================
   VARIÁVEIS DE COR
   Define as cores do site num só lugar
   Para mudar uma cor, mudas só aqui
================================ */
:root {
  --white: #FFFFFF;        /* branco puro */
  --off: #F9F7F5;          /* branco amanteigado (fundo hero) */
  --light: #F2EDE8;        /* bege claro */
  --nude: #E8DDD5;         /* nude (fundo da letra DS) */
  --rose: #C8967E;         /* rosa principal (destaques) */
  --rosedark: #A87060;     /* rosa escuro (hover dos botões) */
  --text: #1A1210;         /* castanho muito escuro (texto) */
  --muted: #9A8880;        /* cinza rosado (texto secundário) */
  --line: #E5DDD8;         /* linha divisória suave */
}

/* ================================
   BASE DO SITE
================================ */
html { scroll-behavior: smooth; } /* scroll suave ao clicar nos links */

body {
  font-family: 'Jost', sans-serif; /* fonte padrão de todo o site */
  background: var(--white);
  color: var(--text);
}

/* ================================
   NAVBAR — links do menu
================================ */
.elementor-nav-menu a {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important; /* tudo em maiúsculas */
  color: #9A8880 !important;            /* cor cinza rosado */
  text-decoration: none !important;    /* sem sublinhado */
  transition: color 0.3s !important;   /* animação suave no hover */
}

/* cor dos links ao passar o rato */
.elementor-nav-menu a:hover {
  color: #1A1210 !important;
}

/* botão especial "Contacto" — fundo escuro */
.elementor-nav-menu a[href*="contacto"] {
  font-size: 10px !important;
  letter-spacing: 2px !important;
  color: #FFFFFF !important;
  background: #1A1210 !important;
  padding: 10px 22px !important;
  line-height: 1 !important;
}

/* botão Contacto ao passar o rato — fica rose */
.elementor-nav-menu a[href*="contacto"]:hover {
  background: #C8967E !important;
}

/* alinha o menu na altura da navbar */
.elementor-nav-menu--main {
  align-items: center !important;
  height: 72px !important;
}

.elementor-nav-menu--main .elementor-nav-menu {
  height: 100% !important;
  align-items: center !important;
  display: flex !important;
}

/* ================================
   MENU MOBILE — dropdown ao clicar hamburguer
================================ */
.elementor-nav-menu--dropdown {
  width: 100% !important;       /* ocupa toda a largura */
  left: 0 !important;
  right: 0 !important;
  top: 72px !important;         /* aparece logo abaixo da navbar */
  position: fixed !important;   /* fica fixo no topo */
  background: #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
  z-index: 9999 !important;     /* fica por cima de tudo */
}

/* links dentro do menu mobile */
.elementor-nav-menu--dropdown a {
  color: #1A1210 !important;
  padding: 16px 32px !important;
  border-bottom: 1px solid #E5DDD8 !important; /* linha entre links */
}

/* ================================
   MARQUEE — faixa animada
================================ */
.marquee-wrap {
  background: #1A1210;    /* fundo escuro */
  padding: 18px 0;
  overflow: hidden;       /* esconde o que sai fora */
  white-space: nowrap;    /* não quebra linha */
}

.marquee-track {
  display: inline-flex;
  animation: marquee 20s linear infinite; /* animação contínua */
}

/* texto dentro da faixa */
.marquee-track span {
  color: #E8DDD5 !important;       /* nude claro */
  font-size: 10px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  padding: 0 24px !important;
}

/* animação que move o texto da direita para a esquerda */
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ================================
   RESPONSIVO — tablet (até 1024px)
================================ */
@media (max-width: 1024px) {
  .hero {
    grid-template-columns: 1fr !important; /* passa de 2 colunas para 1 */
    overflow: hidden !important;
  }
  .hero-left {
    padding: 60px 32px !important;
    overflow: hidden !important;
    max-width: 100vw !important;   /* não sai fora do ecrã */
  }
  .hero-left::after {
    display: none !important;      /* esconde a letra DS grande */
  }
  .hero-right {
    display: none !important;      /* esconde a imagem no tablet */
  }
  .e-con-inner {
    flex-direction: row !important;          /* logo e menu lado a lado */
    align-items: center !important;
    justify-content: space-between !important;
  }
}

/* ================================
   RESPONSIVO — mobile (até 767px)
================================ */
@media (max-width: 767px) {
  .hero-title {
    font-size: 42px !important;    /* título menor no mobile */
  }
  .hero-left {
    padding: 40px 24px !important; /* menos espaço nas margens */
  }
  .hero-actions {
    flex-direction: column !important;      /* botões em coluna */
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .hero-stats {
    gap: 24px !important;          /* menos espaço entre estatísticas */
  }
}
/* SERVIÇOS */
.services {
  padding: 120px 80px;
  background: var(--white);
}

.section-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 72px;
}

.section-label {
  font-size: 10px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--rose);
  margin-bottom: 16px;
}

.section-title {
  font-family: 'Italiana', serif;
  font-size: 56px;
  line-height: 1;
  color: var(--text);
}

.section-link {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color 0.3s, gap 0.3s;
  white-space: nowrap;
}

.section-link:hover { color: var(--text); gap: 14px; }
.section-link::after { content: '→'; }

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}

.service-card {
  background: var(--off);
  padding: 48px 40px;
  transition: background 0.4s ease;
  position: relative;
  overflow: hidden;
}

.service-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 2px;
  background: var(--rose);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.service-card:hover { background: var(--light); }
.service-card:hover::before { transform: scaleX(1); }

.service-num {
  font-family: 'Italiana', serif;
  font-size: 14px;
  color: var(--rose);
  margin-bottom: 32px;
  letter-spacing: 2px;
}

.service-icon {
  font-size: 32px;
  margin-bottom: 24px;
  display: block;
}

.service-name {
  font-family: 'Tenor Sans', serif;
  font-size: 20px;
  color: var(--text);
  margin-bottom: 16px;
  line-height: 1.2;
}

.service-desc {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.8;
}

/* RESPONSIVO SERVIÇOS */
@media (max-width: 1024px) {
  .services {
    padding: 80px 32px !important;
  }
  .services-grid {
    grid-template-columns: 1fr !important;
  }
  .section-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
}/* End custom CSS */