/* Importa a fonte Roboto Mono do Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Aleo&display=swap');

* {
  box-sizing: border-box;
}

html {
  font-size: 100%; /* O padrão é 100%, o que equivale a 16px. Você pode aumentá-lo aqui. */
}


/* Basic Reset & Body Styles */
body {
    margin: 0;
	/*font-family: 'Roboto Mono', monospace;*/
	/*font-family: 'Universal Sans Display', sans-serif;*/
	font-family: 'Inter', sans-serif;
    background-color: white;
    color: #333;
    /*background-color: #f5f5f5;*/
}

/* Prevents scrolling on the body when menu is open */
body.no-scroll {
    overflow: hidden;
}

.desktop { display: block; }
.mobile { display: none; }

.container {
    padding: 0 15px;
    box-sizing: border-box;
	width: 100%;
}

/* Header Styles */
.header {
    background-color: black;
    padding: 15px 20px; /* Increased padding to give more space */
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between; /* Aligns items to ends */
    align-items: center;
    position: relative; /* For z-index of toggle button */
    z-index: 1002; /* Ensure header is above menu */

    position: fixed;         /* fixa na tela */
    top: 0px;                  /* gruda no topo */
    left: 0;                 /* gruda à esquerda */
	width: 100%;
	box-sizing: border-box;
}

.header .logo a {
    font-size: 24px;
    font-weight: bold;
    color: #f2f2f2;
    text-decoration: none;
    line-height: 1; /* Helps vertical alignment */
}

/* Menu Toggle Button */
.menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001; /* Ensure it's above the menu when open */
    position: relative; /* For transform origin */
}

.menu-toggle .icon-bar {
    width: 100%;
    height: 3px;
    background-color: #f2f2f2;
    transition: all 0.3s ease;
    transform-origin: center center; /* Ensures rotation from the center */
}

/* Animation for toggle button (X icon) */
.menu-toggle.active .icon-bar:nth-child(1) {
    transform: translateY(11px) rotate(45deg);
}

.menu-toggle.active .icon-bar:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active .icon-bar:nth-child(3) {
    transform: translateY(-11px) rotate(-45deg);
}

/* Main Navigation Styles */
.main-nav {
    position: fixed;
    top: 80px; /* Adjust based on your header height */
    left: 0;
    width: 100%;
    height: calc(100% - 60px); /* Adjust based on your header height */
    background-color: #f5f5f5; /* Background of the menu when open */
    overflow-y: auto; /* Allows scrolling within the menu */
    transform: translateX(100%); /* Start off-screen */
    transition: transform 0.3s ease-in-out;
    z-index: 1000;
    box-sizing: border-box;
    display: flex; /* Use flexbox for vertical alignment */
    flex-direction: column;
}

.main-nav.active {
    transform: translateX(0); /* Slide into view */
}

.main-nav .nav-container {
    padding-top: 20px; /* Padding inside the open menu */
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Allow container to grow */
}

.main-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1; /* Allow ul to take available space */
}

.main-nav ul li {
    margin-bottom: 0; /* No margin between main list items by default */
    border-bottom: 1px solid #ddd; /* Separator for main items */
}

.main-nav ul li:last-child {
    border-bottom: none; /* No border for the last main item */
}

.main-nav ul li a {
    text-decoration: none;
    color: #333;
    font-size: 18px;
    display: block;
    padding: 15px 0; /* More padding for click area */
    position: relative; /* For arrow positioning */
}

.main-nav ul li a.external-link {
    font-size: 18px;
    color: #333;
    padding-left: 0; /* Ensure alignment */
}

/* Submenu Styles */
.main-nav .has-submenu .toggle-submenu {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-nav .submenu {
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #e8e8e8; /* Slightly different background for submenu */
    max-height: 0; /* Initially hidden */
    overflow: hidden; /* Hide overflow content */
    transition: max-height 0.3s ease-out; /* Smooth transition for expand/collapse */
}

.main-nav .submenu li a {
    font-size: 16px;
    padding: 10px 15px; /* Indent submenu items */
    color: #555;
}

.main-nav .has-submenu.open .submenu {
    /* max-height will be set by JS */
}

.main-nav .has-submenu .arrow {
    font-size: 12px;
    margin-left: 10px;
    transition: transform 0.3s ease;
}

/* Newsletter Signup */
.main-nav .newsletter-signup {
    margin-top: 20px; /* Space above button */
    padding-top: 15px;
    border-top: 1px solid #ddd;
}

.main-nav .newsletter-signup button {
    background-color: #333;
    color: #fff;
    border: none;
    padding: 12px 20px;
    font-size: 16px;
    cursor: pointer;
    width: 100%;
    text-align: center;
	font-family: 'Roboto Mono', monospace;	
}

/* Desktop styles - hide mobile menu elements */
@media (min-width: 768px) {
    .menu-toggle {
        display: none; /* Hide hamburger on desktop */
    }

    .header {
        justify-content: flex-start; /* Align logo to left on desktop */
    }

    .header-left, .header-right {
        display: flex; /* Ensure flex behavior */
        align-items: center;
    }

    .main-nav {
        position: static; /* No fixed positioning */
        transform: translateX(0); /* Always visible */
        height: auto;
        width: auto;
        background-color: transparent; /* No background */
        overflow-y: visible; /* No scrollbar */
        padding: 0;
        flex-direction: row; /* Horizontal on desktop */
        margin-left: auto; /* Push menu to the right */
        height: 100%; /* Match header height */
    }

    .main-nav .nav-container {
        display: flex;
        flex-direction: row;
        align-items: center;
        flex-grow: 0;
        padding: 0;
    }

    .main-nav ul {
        display: flex; /* Horizontal menu */
        align-items: center;
        flex-grow: 0;
    }

    .main-nav ul li {
        margin-right: 20px;
        margin-bottom: 0;
        border-bottom: none; /* No border on desktop */
        position: relative; /* For submenu positioning */
    }

    .main-nav ul li:last-child {
        margin-right: 0;
    }

    .main-nav ul li a {
        font-size: 16px;
        padding: 0;
    }

    .main-nav ul li a.external-link {
        font-size: 14px;
        padding: 0;
    }

    /* Desktop submenu styles */
    .main-nav .has-submenu .toggle-submenu .arrow {
        display: none; /* Hide arrow on desktop */
    }

    .main-nav .submenu {
        position: absolute;
        top: 100%; /* Position below parent link */
        left: 0;
        min-width: 180px; /* Example width */
        background-color: #fff;
        border: 1px solid #eee;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        z-index: 9999;
        max-height: none; /* Remove max-height constraint */
        overflow: visible; /* Show content */
        display: none; /* Hidden by default on desktop */
        padding: 10px 0;
    }

    .main-nav .has-submenu:hover .submenu {
        display: block; /* Show submenu on hover for desktop */
    }

    .main-nav .submenu li {
        border-bottom: none; /* No borders in desktop submenu */
    }

    .main-nav .submenu li a {
        padding: 8px 15px; /* Adjust padding for desktop submenu items */
        font-size: 15px;
        white-space: nowrap; /* Prevent text wrapping */
    }

    .main-nav .newsletter-signup {
        margin-left: 20px;
        margin-top: 0;
        border-top: none; /* No border for newsletter on desktop */
        padding-top: 0;
    }

    .main-nav .newsletter-signup button {
        width: auto;
    }
}

.container-desktop-main {
margin: 0px;
display: flex;
gap: 3px;

position: fixed;
top: 30px;
left: 20px;
right: 20px;
height: 60px; /* ajuste conforme necessário */
z-index: 10000; 
}

.container-desktop-esquerda {
  flex: 1; /* não cresce, não encolhe, base de 10% */
  justify-content: center;
  text-align: center;
  background-color: black;
  color: #f2f2f2;
  border-radius: 5px;
  display: flex;    
}

.container-desktop-meio {
  flex: 8; /* não cresce, não encolhe, base de 10% */
  justify-content: center;
  text-align: center;  
  background-color: black;
  color: #f2f2f2;
  border-radius: 5px;  
  display: flex;  
  gap: 44px;
  
}

.container-desktop-direita {
  flex: 1; /* não cresce, não encolhe, base de 10% */
  justify-content: center;
  text-align: center;  
  background-color: black;
  color: #f2f2f2;
  border-radius: 5px;
  display: flex;  
}  
  
.container-seccao {
margin: 120px 20px 20px 20px;
display: flex;
gap: 3px;
background-color: white;
border-radius: 5px;  
padding: 20px;
}  

@media (max-width: 768px) {
  .container-seccao {
    margin-top: 100px;
  }
}
  
.container-hero {
  background-image: url('images/principal.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  margin: 0px;
}

.container-hero.real_estate {
  background-image: url('images/banner5.jpg');
}

.container-hero.contact {
  background-image: url('images/banner8.jpg');
}

.container-hero.expertise {
  background-image: url('images/expertise.jpg');
}

.container-hero.queijo {
  background-image: url('images/queijomain.jpg');
}

.container-hero.pastelaria {
  background-image: url('images/pastrymain.jpg');
}

.container-hero.azeite {
  background-image: url('images/oliveoilmain.jpg');
}

.container-hero.vinho {
  background-image: url('images/winemain.jpg');
}

.container-hero.cafe {
  background-image: url('images/cafe6.jpg');
}

.container-hero.fmcg {
  background-image: url('images/fmcg.jpg');
}


@media (max-width: 768px) {
  .container-hero {
    background-image: url('images/principal.jpg');
    height: 50vh;
    border-bottom-right-radius: 10%;
  }
}
	
.hero-card {
  position: absolute;
  bottom: 30px;
  left: 30px;
  background-color: #f4f4f4;
  color: black;
  padding: 20px;
  border-radius: 8px;
  max-width: 600px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  font-family: 'Aleo', serif;
}

.hero-card p {
font-size: 30px;
}

.container-hero-services {
  background-image: url('images/hero1.jpeg');
  background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5)), url('images/hero1.jpeg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  margin: 0px;
}

.container-hero-industries {
  background-image: url('images/hero2.jpeg');
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('images/hero2.jpeg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  margin: 0px;
}

.container-hero-markets {
  background-image: url('images/hero3.jpeg');
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('images/hero3.jpeg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  margin: 0px;
}

.container-hero-products {
  background-image: url('images/hero4.jpeg');
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('images/hero4.jpeg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  margin: 0px;
}

.container-hero-aboutlgs {
  background-image: url('images/escritorio1.jpeg');
  background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5)), url('images/escritorio1.jpeg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  margin: 0px;
}

.container-hero-contact {
  background-image: url('images/escritorio2.jpeg');
  background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5)), url('images/escritorio2.jpeg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  margin: 0px;
}

.conteudo {
padding: 10px;
width: 70%;
}


.conteudo p {
font-size: 36px;
}

.conteudo h1 {
font-size: 50px;	
}

/* Telas médias (tablets e telas menores que 1024px) */
@media (max-width: 1024px) {
  .conteudo {
    width: 90%;
  }

  .conteudo p {
    font-size: 28px;
  }

  .conteudo h1 {
    font-size: 40px;
  }
}

/* Telas pequenas (celulares em modo retrato e até 768px) */
@media (max-width: 768px) {
  .conteudo {
    width: 95%;
    padding: 8px;
  }

  .conteudo p {
    font-size: 22px;
  }

  .conteudo h1 {
    font-size: 38px;
  }
}

/* Telas muito pequenas (até 480px) */
@media (max-width: 480px) {
  .conteudo {
    width: 100%;
    padding: 5px;
  }

  .conteudo p {
    font-size: 18px;
  }

  .conteudo h1 {
    font-size: 26px;
  }
} 
 
 
.container-conteudo-main {
display:flex;
flex-direction: column;
margin: 10px;
padding: 20px;
border-radius: 5px;
} 

.container-conteudo-main.fundo-branco {
background-color: white;
} 

.container-conteudo-main-linha {
display:flex;
gap: 10px;
} 
.container-conteudo-main-linha-item1 {
  display: flex;
  flex: 7;
  flex-direction: column;       /* importante para empilhar os textos verticalmente */
  flex-wrap: wrap;              /* permite que o conteúdo se ajuste */
  overflow-wrap: break-word;    /* quebra palavras longas */
  word-wrap: break-word;        /* suporte mais amplo */
  word-break: break-word;       /* força a quebra de palavras grandes */
  overflow: hidden;             /* oculta qualquer conteúdo que vaze */
  box-sizing: border-box;       /* inclui padding/border no tamanho total */
  max-width: 100%;              /* evita que ultrapasse o container pai */
  background-color: #f2f2f2;  
  padding: 20px;
  border-radius: 5px;
}

.container-titulo-background {
display: flex;
background-color: white;
color: 	#444444;
border-radius: 5px;
width: fit-content;
/*padding: 10px;*/
}


.container-conteudo-main-linha-item2 {
  display: flex;
  flex: 3;
  padding: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 5px;
}
.container-conteudo-main-linha-item2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.container-conteudo-main p,
.container-conteudo-main h2,
.container-conteudo-main h3 {
  margin: 10px 0;
  padding: 0;
}

/* Layout padrão (desktop) já definido acima */

/* Tablet (entre 768px e 1024px) */
@media (max-width: 1024px) {
  .container-conteudo-main-linha {
    flex-direction: column;
  }

  .container-conteudo-main-linha-item1,
  .container-conteudo-main-linha-item2 {
    flex: unset;
    width: 100%;
  }

  .container-conteudo-main-linha-item2 {
    margin-top: 10px;
  }

  .container-conteudo-main-linha-item2 img {
    height: auto;
    max-height: 400px;
  }
}

/* Mobile (até 767px) */
@media (max-width: 767px) {
  .container-conteudo-main {
    margin: 5px;
  }

.container-conteudo-main h2 {
    font-size: 1.25rem; /* ou 20px */
  }

  .container-conteudo-main h3 {
    font-size: 1.1rem;  /* ou 17.6px */
  }

  .container-conteudo-main p {
    font-size: 1rem;    /* ou 16px */
  }
  .container-conteudo-main-linha {
    flex-direction: column;
  }

  .container-conteudo-main-linha-item1,
  .container-conteudo-main-linha-item2 {
    width: 100%;
    flex: none;
  }

  .container-conteudo-main-linha-item2 img {
    max-height: 250px;
    object-fit: cover;
  }
}

.container-central-texto-botao {
display:flex;
flex-direction: column;
justify-content: center;
text-align: center;
/*margin: 20px 0 20px 0px;*/
padding: 10px;
margin: 20px;
border-radius: 5px;
}

.container-central-texto-botao p {
font-size: 24px;
}

.container-central-texto-botao.fundo-cinza {
background-color: #f2f2f2;
}

.container-central-texto-botao-item {
display:flex;
text-align: center;
justify-content: center;
gap: 30px;
}

.container-central-texto-botao-item button {
padding: 10px 20px;
background-color: #007BFF;
color: white;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
margin-bottom: 20px;
}

.container-central-texto-botao-item-esquerda {
display:flex;
text-align: center;
justify-content: left;
gap: 30px;
}

.container-central-texto-botao-item-esquerda button {
padding: 10px 20px;
background-color: #007BFF;
color: white;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
margin-bottom: 20px;
}



.stats-container {
  display: flex;
  background-color: #ffffff;
  padding: 30px 50px;
  border-radius: 10px; /* Optional: if you want a subtle rounded container */
  justify-content: center;
}

.stat-item {
  text-align: center;
  padding: 0 40px; /* Adjust spacing between items */
  position: relative;
}

.stat-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 80%; /* Adjust height of the separator line */
  background-color: #e0e0e0; /* Color of the separator line */
}

.stat-value {
  font-size: 3.5em; /* Adjust size to match the large numbers */
  font-weight: 600; /* Semi-bold */
  color: #1a1a1a;
  line-height: 1.2;
}

.stat-unit {
  font-size: 0.6em; /* Smaller for 'mi', 's', 'hp' */
  vertical-align: super; /* Slightly raises the unit */
  font-weight: 400; /* Lighter weight for the unit */
}

.stat-description {
  font-size: 1em; /* Adjust size for the description text */
  color: #666666;
  margin-top: 5px; /* Space between value and description */
  white-space: nowrap; /* Prevents description from wrapping */
}
/* Tablet (<= 1024px) */
@media (max-width: 1024px) {
  .stat-item {
    padding: 0 30px;
  }

  .stat-value {
    font-size: 3em;
  }
}

/* Mobile médio (<= 768px) */
@media (max-width: 768px) {
  .stats-container {
    flex-direction: column;
    align-items: center;
    padding: 20px 30px;
  }

  .stat-item {
    padding: 20px 0;
    text-align: center;
  }

  .stat-item:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background-color: #e0e0e0;
    top: auto;
    right: auto;
  }

  .stat-value {
    font-size: 2.5em;
  }

  .stat-description {
    white-space: normal; /* Permite quebra de linha em telas pequenas */
  }
}

/* Mobile pequeno (<= 480px) */
@media (max-width: 480px) {
  .stats-container {
    padding: 15px 20px;
  }

  .stat-value {
    font-size: 2em;
  }

  .stat-unit {
    font-size: 0.7em;
  }

  .stat-description {
    font-size: 0.9em;
  }
}


.search_trigger {
  color: #007bff;
  cursor: pointer;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 1rem;
}

.modal-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1000;
  justify-content: center;
  align-items: center;
}

.modal-overlay.active {
  display: flex;
}

.modal-box {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from { transform: translateY(-20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

#search_input {
  width: 100%;
  padding: 12px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 8px;
  margin-bottom: 10px;
}

#results {
  max-height: 300px;
  overflow-y: auto;
}

.result-item {
  padding: 10px;
  background-color: #f9f9f9;
  border-radius: 6px;
  margin-top: 5px;
  transition: background 0.2s;
}

.result-item:hover {
  background-color: #e6f0ff;
}

.result-item a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
}

.container-contact {
display: flex;
justify-content: center;
margin: 50px 200px 50px 200px;
}
.container-contact-item1 {
display: flex;
justify-content: left;
flex-direction: column;
flex: 7;
}
.container-contact-item2 {
display: flex;
justify-content: left;
flex-direction: column;
flex: 3;
}
/* Tablet (<= 1024px) */
@media (max-width: 1024px) {
  .container-contact {
    margin: 40px 100px;
  }
}

/* Dispositivos médios (<= 768px) */
@media (max-width: 768px) {
  .container-contact {
    flex-direction: column;
    margin: 30px 50px;
  }

  .container-contact-item1,
  .container-contact-item2 {
    flex: none;
    width: 100%;
    margin-bottom: 20px;
  }
}

/* Dispositivos pequenos / smartphones (<= 480px) */
@media (max-width: 480px) {
  .container-contact {
    margin: 20px 20px;
  }

  .container-contact-item1,
  .container-contact-item2 {
    margin-bottom: 15px;
  }
}

.container-footer {
  display: flex;
  flex-wrap: wrap;              /* Permite que os itens quebrem linha em telas pequenas */
  justify-content: center;
  align-items: center;
  gap: 10px;                    /* Reduz gap para telas pequenas */
  width: 100%;                  /* Use 100% para ocupar a tela toda sem overflow */
  max-width: 1200px;            /* Limita largura máxima em telas grandes */
  padding: 0 10px;              /* Pequeno padding para não encostar nas bordas */
  box-sizing: border-box;       /* Inclui padding na largura total */
  text-align: center;
  overflow-x: hidden;           /* Previne scroll horizontal */
  word-break: break-word;       /* Quebra textos longos, evitando overflow */
}

.container-footer-block {
  display: flex;
  flex-direction: column;
  justify-content: center;      /* Centraliza verticalmente */
  align-items: center;          /* Centraliza horizontalmente */
  margin: 0 auto;               /* Centraliza horizontalmente dentro do container pai (caso tenha largura definida) */
  text-align: center;
}

.margem-topo {
  display: flex;
  flex-direction: column;
  margin-top: 100px;            /* Centraliza horizontalmente dentro do container pai (caso tenha largura definida) */
}

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #222;
  color: white;
  padding: 15px;
  text-align: center;
  z-index: 1000;
}

.cookie-banner button {
  margin-left: 10px;
  padding: 8px 12px;
  background-color: #00c853;
  color: white;
  border: none;
  cursor: pointer;
  border-radius: 5px;
}

.container-chat-naook {
  display: flex;
  justify-content: center;      /* Centraliza verticalmente */
  align-items: center;          /* Centraliza horizontalmente */
  margin: 0 auto;               /* Centraliza horizontalmente dentro do container pai (caso tenha largura definida) */
  text-align: center;
  width: 70%;
}

.container-chat-naook p {
font-size: 36px;
}

.margem-topo-chat-naook {
  display: flex;
  flex-direction: column;
  margin-top: 160px;            /* Centraliza horizontalmente dentro do container pai (caso tenha largura definida) */
}

.modal_newsletter {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-color: rgba(0,0,0,0.6);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal_newsletter_conteudo {
  background: #fff;
  padding: 20px;
  border-radius: 5px;
  width: 90%;
  max-width: 700px;
  position: relative;
  text-align: center;
  font-family: 'Roboto Mono', monospace;  
}

.modal_newsletter_conteudo input {
border-radius: 5px;
padding: 10px;
width: 40%;
}

.modal_newsletter_conteudo button {
padding: 10px 20px;
background-color: #007BFF;
color: white;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
margin-bottom: 20px;
}

.modal_newsletter_fechar {
  position: absolute;
  top: 10px; right: 15px;
  font-size: 22px;
  cursor: pointer;
}

.blog-container {
    max-width: 800px;
    margin: 10px auto;
    padding: 20px;
}

.blog-container article {
    margin: 30px;
    padding: 20px;
    border-bottom: 1px solid #ccc;
    background-color: #f9f9f9;	
	border-radius: 12px;
}

/* Dispositivos até 768px (tablets e telemóveis em modo retrato) */
@media (max-width: 768px) {
  .hero-card {
    bottom: 20px;
    left: 20px;
    padding: 15px;
    max-width: 90%;
  }

  .hero-card p {
    font-size: 22px;
  }
}

/* Dispositivos até 480px (telemóveis pequenos) */
@media (max-width: 480px) {
  .hero-card {
    bottom: 15px;
    left: 15px;
    padding: 10px;
    max-width: 95%;
  }

  .hero-card p {
    font-size: 18px;
  }
}

/* Dispositivos grandes (acima de 1200px) */
@media (min-width: 1200px) {
  .hero-card {
    bottom: 40px;
    left: 40px;
    max-width: 700px;
  }

  .hero-card p {
    font-size: 32px;
  }
}

/* ======== Layout principal ======== */
.chat_container_global {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 600px;
  margin: 2rem auto;
  padding: 30px;
  border: 2px solid #000;
  border-radius: 10px;
  max-height: 700px;
  box-sizing: border-box;
  background-color: #fff;
}

/* ======== Área do chat ======== */
.chat_link_container {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
  gap: 0.5rem;
}

.chat_espaco {
  margin: 20px;
}

/* ======== Mensagens ======== */
.chat_link_message {
  padding: 0.75rem 1rem;
  margin: 0.5rem 0;
  border-radius: 10px;
  max-width: 85%;
  word-wrap: break-word;
  font-size: 1rem;
  line-height: 1.4;
}

.chat_link_user {
  align-self: flex-end;
  background-color: #d9eaf7;
}

.chat_link_bot {
  align-self: flex-start;
  background-color: #e9ecef;
}

/* ======== Formulário ======== */
.chat_link_form {
  display: flex;
  flex-direction: column; /* 👈 botão fica abaixo */
  width: 100%;
  gap: 0.75rem;
  margin-top: 1rem;
}

.chat_link_input {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  box-sizing: border-box;
}

.chat_link_button {
  padding: 0.9rem 1rem;
  background-color: #1976d2;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  transition: background-color 0.2s ease;
  width: 100%;
}

.chat_link_button:hover {
  background-color: #1565c0;
}

/* ======== Responsividade (até 768px) ======== */
@media (max-width: 768px) {
  .chat_container_global {
    max-width: 95%;
    height: auto;
    padding: 1rem;
  }

  .chat_link_container {
    max-height: 60vh;
    padding: 0.75rem;
  }

  .chat_link_message {
    max-width: 100%;
    font-size: 0.95rem;
  }

  .chat_link_form {
    flex-direction: column;
    gap: 0.75rem;
  }

  .chat_link_input,
  .chat_link_button {
    width: 100%;
  }
}



.lp_container {
	max-width: 600px;
	margin: auto;
}
.lp_search {
	width: 100%;
	padding: 10px;
	margin-bottom: 20px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
}
.lp_item {
	padding: 10px 0;
	cursor: pointer;
}
.lp_item:hover {
	background-color: #f0f0f0;
}
.lp_item h3 {
	margin: 0;
	font-size: 18px;
	color: #333;
}
.lp_item p {
	margin: 5px 0 0;
	color: #666;
	font-size: 14px;
}
.lp_hr {
	border: none;
	border-top: 1px solid #ddd;
	margin: 10px 0;
}

/* Modal styles */
.lp_modal_bg {
	display: none;
	position: fixed;
	z-index: 1003;
	left: 0; top: 0;
	width: 100%; height: 100%;
	background-color: rgba(0,0,0,0.5);
}
.lp_modal {
	background: white;
	max-width: 400px;
	margin: 95px auto;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0px 4px 8px rgba(0,0,0,0.2);
}
.lp_modal h2 {
	margin-top: 0;
}
.lp_modal input {
	width: 95%;
	padding: 8px;
	margin: 10px 0px;
	border-radius: 4px;
	border: 1px solid #ccc;
}
.lp_modal button {
	background-color: #007BFF;
	color: white;
	padding: 10px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}
.lp_modal button:hover {
	background-color: #0056b3;
}
.lp_modal_close {
	float: right;
	cursor: pointer;
	font-size: 18px;
	color: #aaa;
}
.lp_modal_close:hover {
	color: #333;
}
.lp_msg_success {
	color: green;
	font-size: 14px;
	margin-top: 10px;
}
.lp_msg_error {
	color: red;
	font-size: 14px;
	margin-top: 10px;
}

@media (max-width: 768px) {
  .lp_container {
    max-width: 100%;
    padding: 0 15px;
    margin: 0 auto;
  }

  .lp_search {
    font-size: 16px;
    padding: 12px;
  }

  .lp_item h3 {
    font-size: 16px;
  }

  .lp_item p {
    font-size: 13px;
  }

  .lp_modal {
    max-width: 80%;
    margin: 50px auto;
    padding: 15px;
  }

  .lp_modal input {
    width: 100%;
  }
}

/* ===== Layout Principal ===== */
.cont2_container {
  display: flex;
  flex-direction: row;
  width: 80%;
  /*height: 100vh;*/ /* ocupa a tela inteira de ponta a ponta */
  margin: 0 auto;              /* centraliza horizontalmente o container na tela */
  justify-content: center;     /* centraliza os itens filhos no eixo horizontal */
  align-items: stretch;;  
}

/* ===== Container de Texto ===== */
.cont2_texto {
  flex: 1;
  padding: 2rem;
  background-color: #f4f4f4;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ===== Container de Imagem ===== */
.cont2_imagem {
  flex: 1;
  overflow: hidden;
}

.cont2_imagem img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* imagem preenche sem distorcer */
  border-radius: 5px;
}
.premium_container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 50px 20px;
}

.premium_container {
  padding: 30px 10px;
}

.premium_title {
  font-size: 2.5em;
  font-weight: bold;
  text-align: center;
  color: #222222;
  margin-bottom: 15px;
}

.premium_subtitle {
  font-size: 1.3em;
  text-align: center;
  color: #777777;
  margin-bottom: 50px;
}

.premium_product {
  margin-bottom: 60px;
  padding-bottom: 40px;
  border-bottom: 1px solid #eaeaea;
}

.premium_product img {
  width: 60%;        /* 60% do tamanho original */
  height: auto;      /* mantém a proporção */
  border-radius: 5px; /* bordas arredondadas (pode ajustar o valor) */
  display: block;    /* permite centralizar com margin */
  margin: 0 auto;    /* centraliza horizontalmente */
}

@media (max-width: 768px) {
  .premium_product img {
    width: 90%;   /* ocupa quase toda a largura */
    border-radius: 8px; /* pode aumentar um pouco no mobile */
  }
}

.premium_product h2 {
  font-size: 1.8em;
  color: #444444;
  margin-bottom: 10px;
}

.premium_product h3 {
  font-size: 1.2em;
  color: #777777;
  margin-bottom: 20px;
}

.premium_intro {
  font-size: 1.1em;
  color: #555555;
  margin-bottom: 25px;
}

.premium_section h4 {
  font-size: 1.2em;
  color: #444444;
  margin-bottom: 10px;
}

.premium_section p {
  font-size: 1em;
  color: #555555;
  margin-bottom: 20px;
}

.premium_highlight {
  background-color: #f7f7f7;
  padding: 20px;
  border-left: 5px solid #c9a44c;
  margin-bottom: 30px;
}

.premium_cta {
  text-align: center;
  margin-top: 20px;
}

.premium_cta a {
  display: inline-block;
  padding: 12px 30px;
  background-color: #c9a44c;
  color: #ffffff;
  text-decoration: none;
  font-size: 1.1em;
  border-radius: 6px;
  transition: background-color 0.3s ease;
}

.premium_cta a:hover {
  background-color: #b28e3d;
}
    .tab_vinhos_container {
      max-width: 1000px;
      margin: 20px auto;
      padding: 15px;
      font-family: Arial, sans-serif;
    }
    .tab_vinhos_search {
      width: 100%;
      padding: 10px;
      font-size: 16px;
      border: 1px solid #ddd;
      border-radius: 8px;
      margin-bottom: 15px;
    }
    .tab_vinhos_table {
      width: 100%;
      border-collapse: collapse;
      background: #fff;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    }
    .tab_vinhos_table thead {
      background: #f4f4f4;
    }
    .tab_vinhos_table th, 
    .tab_vinhos_table td {
      padding: 12px;
      text-align: left;
      border-bottom: 1px solid #eee;
      font-size: 14px;
    }
    .tab_vinhos_table th {
      font-weight: bold;
      color: #333;
    }
    .tab_vinhos_table tr:hover {
      background-color: #fafafa;
    }
@media (max-width: 768px) {
  .tab_vinhos_table thead { display: none; }

  .tab_vinhos_table tr {
    display: block;
    margin-bottom: 10px;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 10px;
  }

  .tab_vinhos_table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: none;
    padding: 8px 5px;
  }

  .tab_vinhos_table td::before {
    content: attr(data-label);
    font-weight: bold;
    color: #555;
    margin-right: 10px;
    flex-shrink: 0;
  }

  /* Excepção para a descrição */
  .tab_vinhos_table td[data-label="Descrição"] {
    display: block;
  }

  .tab_vinhos_table td[data-label="Descrição"]::before {
    display: block;
    margin-bottom: 5px;
  }
}

.order_p_body {
margin: 0;
background: var(--order_p_bg);
color: var(--order_p_fg);
/*font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";*/
line-height: 1.6;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}


:root {
--order_p_space-1: 4px;
--order_p_space-2: 8px;
--order_p_space-3: 12px;
--order_p_space-4: 16px;
--order_p_space-5: 24px;
--order_p_space-6: 32px;
--order_p_text-sm: 0.95rem;
--order_p_text-base: 1.05rem;
--order_p_text-lg: 1.25rem;
--order_p_text-xl: 1.6rem;
--order_p_fg: #1a1a1a;
--order_p_fg-muted: #4b5563;
--order_p_border: #e5e7eb;
--order_p_bg: #ffffff;
--order_p_bg-soft: #f9fafb;
--order_p_link: #0f766e;
--order_p_link-hover: #115e59;
}

/* Layout */
.order_p_body {
margin: 0;
background: var(--order_p_bg);
color: var(--order_p_fg);
/*font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";*/
/*font-family: 'Roboto Mono', monospace;*/
line-height: 1.6;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}

.order_p_container {
max-width: 940px;
margin: 0 auto;
padding: var(--order_p_space-6) var(--order_p_space-5);
}

/* Header */
.order_p_header {
border-bottom: 1px solid var(--order_p_border);
padding-bottom: var(--order_p_space-4);
margin-bottom: var(--order_p_space-5);
}
.order_p_title {
margin: 0 0 var(--order_p_space-2) 0;
font-size: clamp(1.8rem, 2vw + 1.2rem, 2.2rem);
letter-spacing: -0.01em;
}
.order_p_subtitle {
margin: 0;
color: var(--order_p_fg-muted);
font-size: var(--order_p_text-sm);
}

/* Table of contents */
.order_p_toc {
background: var(--order_p_bg-soft);
border: 1px solid var(--order_p_border);
border-radius: 14px;
padding: var(--order_p_space-4);
margin-bottom: var(--order_p_space-6);
}
.order_p_toc h2 {
margin: 0 0 var(--order_p_space-2) 0;
font-size: var(--order_p_text-lg);
}
.order_p_toc ol {
margin: 0;
padding-left: var(--order_p_space-5);
}
.order_p_toc a {
text-decoration: none;
color: var(--order_p_link);
}
.order_p_toc a:hover,
.order_p_toc a:focus {
text-decoration: underline;
color: var(--order_p_link-hover);
}

/* Sections */
.order_p_section {
padding: var(--order_p_space-5) 0;
border-top: 1px solid var(--order_p_border);
}
.order_p_section:first-of-type {
border-top: 0;
}
.order_p_section h2 {
margin: 0 0 var(--order_p_space-2) 0;
font-size: var(--order_p_text-lg);
}
.order_p_section p,
.order_p_section li {
font-size: var(--order_p_text-base);
}

/* Utilities */
.order_p_muted { color: var(--order_p_fg-muted); }
.order_p_small { font-size: var(--order_p_text-sm); }
.order_p_list { padding-left: var(--order_p_space-5); }

/* Footer */
.order_p_footer {
margin-top: var(--order_p_space-6);
padding-top: var(--order_p_space-4);
border-top: 1px solid var(--order_p_border);
color: var(--order_p_fg-muted);
font-size: var(--order_p_text-sm);
}

/* Links inside content */
.order_p_content a {
color: var(--order_p_link);
text-decoration: underline;
}
.order_p_content a:hover { color: var(--order_p_link-hover); }

/* Print tweaks */
@media print {
.order_p_toc { break-inside: avoid; }
.order_p_container { padding: 0 12mm; }
}

#prod_info_chat_widget {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 1000;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#prod_info_chat_button {
width: 60px;
height: 60px;
background-color: #8B0000;
color: white;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
font-size: 24px;
transition: transform 0.3s ease;
}

#prod_info_chat_button:hover {
transform: scale(1.05);
}

#prod_info_chat_window {
display: none;
width: 350px;
height: 500px;
background-color: white;
border-radius: 10px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
flex-direction: column;
overflow: hidden;
margin-bottom: 10px;
}

#prod_info_chat_header {
background-color: #8B0000;
color: white;
padding: 15px;
font-weight: bold;
display: flex;
justify-content: space-between;
align-items: center;
}

#prod_info_chat_close {
cursor: pointer;
font-size: 20px;
transition: color 0.3s ease;
}

#prod_info_chat_close:hover {
color: #f0f0f0;
}

#prod_info_chat_messages {
flex: 1;
padding: 15px;
overflow-y: auto;
display: flex;
flex-direction: column;
gap: 10px;
background-color: #f9f9f9;
}

.prod_info_message {
max-width: 80%;
padding: 10px 15px;
border-radius: 18px;
word-wrap: break-word;
line-height: 1.4;
}

.prod_info_bot_message {
background-color: #e6e6e6;
align-self: flex-start;
border-bottom-left-radius: 5px;
}

.prod_info_user_message {
background-color: #8B0000;
color: white;
align-self: flex-end;
border-bottom-right-radius: 5px;
}

#prod_info_chat_input_area {
display: flex;
padding: 10px;
border-top: 1px solid #ddd;
background-color: white;
align-items: center;
}

#prod_info_chat_input {
flex: 1;
padding: 12px;
border: 1px solid #ddd;
border-radius: 20px;
outline: none;
font-size: 14px;
}

#prod_info_chat_input:focus {
border-color: #8B0000;
}

#prod_info_chat_send {
margin-left: 10px;
background-color: #8B0000;
color: white;
border: none;
border-radius: 20px;
padding: 10px 15px;
cursor: pointer;
transition: background-color 0.3s ease;
}

#prod_info_chat_send:hover {
background-color: #a52a2a;
}

#prod_info_suggestions {
max-height: 150px;
overflow-y: auto;
border: 1px solid #ddd;
border-top: none;
display: none;
background-color: white;
position: absolute;
bottom: 60px;
width: 100%;
z-index: 1001;
}

.prod_info_suggestion_item {
padding: 10px 15px;
cursor: pointer;
border-bottom: 1px solid #eee;
transition: background-color 0.2s ease;
}

.prod_info_suggestion_item:hover {
background-color: #f0f0f0;
}

#prod_info_loading {
text-align: center;
padding: 10px;
display: none;
color: #8B0000;
}

.prod_info_timestamp {
font-size: 0.7em;
opacity: 0.7;
margin-top: 5px;
text-align: right;
}

.prod_info_restart_button {
background-color: #8B0000;
color: white;
border: none;
border-radius: 20px;
padding: 8px 15px;
cursor: pointer;
margin-top: 10px;
font-size: 12px;
align-self: center;
}
.contatos_chatbox {
width: 400px;
margin: 10px auto;
border: 1px solid #ccc;
border-radius: 10px;
padding: 20px;
font-family: Arial, sans-serif;
background: #f9f9f9;
height: 400px;
overflow-y: auto;
}
.contatos_message {
margin: 10px 0;
padding: 10px;
border-radius: 8px;
max-width: 80%;
}
.contatos_bot {
background: #e0e0e0;
text-align: left;
}
.contatos_user {
background: #007bff;
color: white;
margin-left: auto;
text-align: right;
}
.contatos_inputbox {
display: flex;
/*margin-top: 15px;*/
margin: 15px auto;
width: 400px;
}
.contatos_input {
flex: 1;
padding: 10px;
border: 1px solid #aaa;
border-radius: 5px;
}
.contatos_button {
padding: 10px 15px;
border: none;
margin-left: 5px;
border-radius: 5px;
background: #007bff;
color: white;
cursor: pointer;
}
.contatos_button:hover {
background: #0056b3;
}

.container_slide_imagens {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}

.slide_img_container {
position: relative;
width: 100%;
overflow: hidden;
border-radius: 12px;
/*box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);*/
}

.slide_img_track {
display: flex;
transition: transform 0.5s ease-in-out;
width: 100%;
}

.slide_img_item {
flex: 0 0 75%;
position: relative;
padding-top: 45%; /* Proporção 4:3 */
}

.slide_img_image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 8px;
transition: transform 0.3s ease;
}

.slide_img_item:not(.slide_img_active) .slide_img_image {
transform: scale(0.95);
}

.slide_img_nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(255, 255, 255, 0.8);
border: none;
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
opacity: 0.7;
transition: opacity 0.3s ease, background 0.3s ease;
z-index: 10;
}

.slide_img_nav:hover {
opacity: 1;
background: rgba(255, 255, 255, 0.95);
}

.slide_img_nav_prev {
left: 15px;
}

.slide_img_nav_next {
right: 15px;
}

.slide_img_nav_arrow {
width: 15px;
height: 15px;
border-top: 2px solid #2c3e50;
border-right: 2px solid #2c3e50;
}

.slide_img_nav_prev .slide_img_nav_arrow {
transform: rotate(-135deg);
margin-left: 4px;
}

.slide_img_nav_next .slide_img_nav_arrow {
transform: rotate(45deg);
margin-right: 4px;
}

.slide_img_indicators {
display: flex;
justify-content: center;
margin-top: 20px;
gap: 10px;
}

.slide_img_indicator {
width: 12px;
height: 12px;
border-radius: 50%;
background: rgba(44, 62, 80, 0.3);
cursor: pointer;
transition: background 0.3s ease, transform 0.3s ease;
}

.slide_img_indicator_active {
background: rgba(44, 62, 80, 0.9);
transform: scale(1.2);
}

.slide_img_caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
color: white;
padding: 20px 15px 10px;
border-radius: 0 0 8px 8px;
}

.slide_img_title {
font-size: 1.2rem;
margin-bottom: 5px;
font-weight: 500;
}

.slide_img_description {
font-size: 0.9rem;
opacity: 0.9;
}

.code-container {
margin-top: 40px;
background: #2c3e50;
border-radius: 12px;
padding: 20px;
color: white;
width: 100%;
max-width: 800px;
}

.code-container h2 {
margin-bottom: 15px;
font-weight: 400;
text-align: center;
}

pre {
background: #1a2530;
padding: 15px;
border-radius: 8px;
overflow-x: auto;
font-size: 0.9rem;
line-height: 1.4;
}

@media (max-width: 768px) {
.slide_img_item {
	flex: 0 0 85%;
}

h1 {
	font-size: 1.8rem;
}
}

@media (max-width: 480px) {
.slide_img_item {
	flex: 0 0 100%;
}

.slide_img_nav {
	width: 35px;
	height: 35px;
}

.slide_img_caption {
	padding: 15px 10px 8px;
}

.slide_img_title {
	font-size: 1rem;
}

.slide_img_description {
	font-size: 0.8rem;
}
}

.premium_prod_container {
  width: 90%;
  margin: 0 auto;
  padding: 10px 20px;
}

/* Header */
.premium_prod_header {
  text-align: center;
  padding-bottom: 60px;
}

.premium_prod_header h1 {
  font-size: 3rem;
  color: #8b3a2b;
  font-weight: bold;
  letter-spacing: 2px;
}

.premium_prod_header p {
  font-size: 1.2rem;
  margin-top: 15px;
  color: #6e6e6e;
}

/* Sections */
.premium_prod_section {
  margin-bottom: 80px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}

.premium_prod_text {
  flex: 1;
  min-width: 300px;
}

.premium_prod_text h2 {
  font-size: 2rem;
  color: #8b3a2b;
  margin-bottom: 15px;
  border-left: 5px solid #8b3a2b;
  padding-left: 15px;
}

.premium_prod_text p {
  font-size: 1rem;
  color: #4a4a4a;
  margin-bottom: 15px;
}

.premium_prod_list {
  list-style: none;
  padding-left: 0;
}

.premium_prod_list li::before {
  content: '✔';
  color: #8b3a2b;
  margin-right: 10px;
  font-weight: bold;
}

/* Image */
.premium_prod_image {
  flex: 1;
  min-width: 300px;
}

.premium_prod_image img {
  width: 50%;
  border-radius: 15px;
  transition: transform 0.3s ease;
}

.premium_prod_image {
  flex: 1;
  min-width: 300px;
  aspect-ratio: 1 / 1;   /* força quadrado */
  overflow: hidden;      /* esconde o que passar */
}

.premium_prod_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;     /* preenche o quadrado sem distorcer */
}




@media (max-width: 768px) {
.premium_prod_image img {
  width: 100%;
}
}



.premium_prod_image img:hover {
}

/* Call to Action */
.premium_prod_cta {
  text-align: center;
  padding: 60px 20px;
  background-color: #8b3a2b;
  color: #fff;
  border-radius: 15px;
}

.premium_prod_cta h2 {
  font-size: 2rem;
  margin-bottom: 20px;
}

.premium_prod_cta a {
  display: inline-block;
  padding: 15px 35px;
  background-color: #fdfaf6;
  color: #8b3a2b;
  text-decoration: none;
  font-weight: bold;
  border-radius: 50px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.premium_prod_cta a:hover {
  background-color: #8b3a2b;
  color: #fdfaf6;
  border: 2px solid #fdfaf6;
}

/* Responsive */
@media (max-width: 768px) {
  .premium_prod_section {
    flex-direction: column-reverse;
    text-align: center;
  }
  .premium_prod_text h2 {
    border-left: none;
    padding-left: 0;
  }
}

.botao_quote_button {
  padding: 12px 24px;
background-color: #007BFF;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s;
}

/* Estilo do modal */
.botao_quote_modal {
  display: none; /* Escondido por padrão */
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.5);
}

/* Conteúdo do modal */
.botao_quote_modal_content {
  background-color: #fefefe;
  margin: 10% auto;
  padding: 20px;
  border-radius: 10px;
  width: 90%;
  max-width: 400px;
  text-align: center;
}

/* Inputs do modal */
.botao_quote_modal_content input[type="text"],
.botao_quote_modal_content input[type="email"] {
  width: 90%;
  padding: 10px;
  margin: 5px 0;
  border-radius: 5px;
  border: 1px solid #ccc;
  font-size: 14px;
}

/* Botão de enviar do modal */
.botao_quote_modal_content button {
  padding: 10px 20px;
  background-color: #007BFF;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 10px;
}

/* Botão de fechar */
.botao_quote_close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.botao_quote_close:hover {
  color: black;
}

@media (max-width: 768px) {
  .botao_quote_modal_content {
    margin: 20% auto; /* Aumenta a distância do topo */
    width: 100%;
  }
}

.container_bquote {
  margin-left: 70px;
}

.container_bquote.produtos {
  margin-left: 0px;
}

/*body, html {
  overflow-x: hidden !important;
}*/

/* Variáveis de cores e estilos */
:root {
  --azete_imp_primary: #3a5d3b;   /* Verde oliva profundo */
  --azete_imp_secondary: #6b8e23; /* Verde oliva médio */
  --azete_imp_accent: #cfa349;    /* Dourado premium */
  --azete_imp_light: #faf7f0;     /* Bege claro sofisticado */
  --azete_imp_dark: #2a2a2a;      /* Preto carvão elegante */
  --azete_imp_text: #3b3b3b;      /* Cinza grafite (bom p/ leitura) */
  --azete_imp_border: #e6e2d3;    /* Bege acinzentado suave */
  --azete_imp_shadow: rgba(0, 0, 0, 0.12); /* Sombra suave */
}

.azete_imp_container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

/* Navegação de seções */
.azete_imp_nav_sections {
background: linear-gradient(135deg, var(--azete_imp_primary) 0%, var(--azete_imp_dark) 100%);
padding: 15px 0;
position: sticky;
top: 0;
z-index: 100;
box-shadow: 0 4px 12px var(--azete_imp_shadow);
}

.azete_imp_nav_list {
display: flex;
justify-content: center;
list-style: none;
flex-wrap: wrap;
gap: 10px;
}

.azete_imp_nav_item {
margin: 0 10px;
}

.azete_imp_nav_link {
color: white;
text-decoration: none;
font-weight: 500;
font-size: 0.9rem;
padding: 8px 15px;
border-radius: 20px;
transition: all 0.3s ease;
}

.azete_imp_nav_link:hover {
background-color: rgba(255, 255, 255, 0.2);
}

/* Hero Section */

.azete_imp_hero {
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)),
              url('images/azeitehero.jpg') no-repeat center center/cover;
  color: white;
  text-align: center;
  padding: 0 20px; /* removi padding-top grande */
  margin-bottom: 50px;
  
  /* ocupa viewport inteiro */
  height: 100vh;
  width: 100%;
  
  /* centralizar conteúdo */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}


.azete_imp_hero_title {
font-size: 2.8rem;
margin-bottom: 20px;
font-weight: 300;
}

.azete_imp_hero_subtitle {
font-size: 1.2rem;
max-width: 700px;
margin: 0 auto 30px;
font-weight: 300;
}

.azete_imp_btn {
display: inline-block;
background: var(--azete_imp_accent);
color: white;
padding: 12px 30px;
text-decoration: none;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
}

.azete_imp_btn:hover {
background: #e67e22;
transform: translateY(-2px);
}

/* Seções de conteúdo */
.azete_imp_section {
background: white;
border-radius: 10px;
padding: 40px;
margin-bottom: 40px;
}

.azete_imp_section_title {
color: var(--azete_imp_primary);
font-size: 1.8rem;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid var(--azete_imp_border);
}

.azete_imp_section_text {
margin-bottom: 20px;
font-size: 1.05rem;
}

/* Value Proposition */
.azete_imp_features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
margin-top: 30px;
}

.azete_imp_feature {
text-align: center;
padding: 25px;
border-radius: 8px;
background: var(--azete_imp_light);
transition: transform 0.3s ease;
}

.azete_imp_feature:hover {
transform: translateY(-5px);
}

.azete_imp_feature_icon {
font-size: 2.5rem;
color: var(--azete_imp_secondary);
margin-bottom: 15px;
}

.azete_imp_feature_title {
font-size: 1.2rem;
margin-bottom: 10px;
color: var(--azete_imp_dark);
}

/* Tabela de Categorias */
.azete_imp_table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
border-radius: 8px;
overflow: hidden;
}

.azete_imp_table th {
background-color: var(--azete_imp_primary);
color: white;
padding: 15px;
text-align: left;
}

.azete_imp_table td {
padding: 12px 15px;
border-bottom: 1px solid var(--azete_imp_border);
}

.azete_imp_table tr:nth-child(even) {
background-color: #f5f5f5;
}

.azete_imp_table tr:last-child td {
border-bottom: none;
}

.azete_imp_highlight {
background-color: rgba(44, 106, 141, 0.1) !important;
font-weight: 600;
}

/* Lista de Parâmetros */
.azete_imp_params {
list-style: none;
}

.azete_imp_param {
padding: 10px 0;
border-bottom: 1px dashed var(--azete_imp_border);
}

.azete_imp_param:last-child {
border-bottom: none;
}

.azete_imp_param_icon {
color: var(--azete_imp_accent);
margin-right: 10px;
}

/* Callout Box */
.azete_imp_callout {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
border-left: 4px solid var(--azete_imp_accent);
padding: 25px;
margin: 30px 0;
border-radius: 0 8px 8px 0;
display: flex;
align-items: center;
}

.azete_imp_callout_icon {
font-size: 2rem;
color: var(--azete_imp_accent);
margin-right: 20px;
}

.azete_imp_callout_text {
font-size: 1.1rem;
font-weight: 500;
}

/* Processo */
.azete_imp_process {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 25px;
margin-top: 30px;
}

.azete_imp_step {
text-align: center;
padding: 25px 20px;
background: var(--azete_imp_light);
border-radius: 8px;
position: relative;
}

.azete_imp_step_number {
position: absolute;
top: -15px;
left: 50%;
transform: translateX(-50%);
background: var(--azete_imp_primary);
color: white;
width: 30px;
height: 30px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}

.azete_imp_step_title {
font-size: 1.2rem;
margin: 15px 0 10px;
color: var(--azete_imp_dark);
}

/* CTA Final */
.azete_imp_cta {
text-align: center;
padding: 60px 40px;
background: linear-gradient(135deg, var(--azete_imp_primary) 0%, var(--azete_imp_dark) 100%);
color: white;
border-radius: 10px;
margin-bottom: 40px;
}

.azete_imp_cta_title {
font-size: 2.2rem;
margin-bottom: 20px;
}

.azete_imp_cta_buttons {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 30px;
flex-wrap: wrap;
}

.azete_imp_cta_btn {
background: white;
color: var(--azete_imp_primary);
padding: 12px 30px;
text-decoration: none;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
}

.azete_imp_cta_btn:hover {
background: var(--azete_imp_accent);
color: white;
transform: translateY(-2px);
}

/* Rodapé */
.azete_imp_footer {
text-align: center;
padding: 30px;
background: var(--azete_imp_dark);
color: white;
border-radius: 0 0 10px 10px;
}

/* Responsividade */
@media (max-width: 768px) {
.azete_imp_hero_title {
	font-size: 2.2rem;
}

.azete_imp_nav_list {
	flex-direction: column;
	align-items: center;
	gap: 5px;
}

.azete_imp_nav_item {
	margin: 5px 0;
}

.azete_imp_features, .azete_imp_process {
	grid-template-columns: 1fr;
}

.azete_imp_cta_buttons {
	flex-direction: column;
	align-items: center;
}
}


@media (max-width: 768px) {
  .azete_imp_table,
  .azete_imp_table thead,
  .azete_imp_table tbody,
  .azete_imp_table th,
  .azete_imp_table td,
  .azete_imp_table tr {
    display: block;
    width: 100%;
  }

  .azete_imp_table thead {
    display: none; /* Esconde cabeçalho */
  }

  .azete_imp_table tr {
    margin-bottom: 15px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 4px var(--azete_imp_shadow);
    padding: 12px;
  }

  .azete_imp_table td {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border: none;
    font-size: 14px;
  }

  .azete_imp_table td::before {
    content: attr(data-label); /* pega o título da coluna */
    font-weight: bold;
    color: var(--azete_imp_primary);
    flex-basis: 40%;
    text-align: left;
  }
}

:root {
	--cheese_primary: #8B4513;
	--cheese_secondary: #D2B48C;
	--cheese_accent: #FFD700;
	--cheese_light: #F5F5DC;
	--cheese_dark: #654321;
	--cheese_text: #333333;
	--cheese_border: #DEB887;
	--cheese_shadow: rgba(139, 69, 19, 0.1);
}

.cheese_container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Navigation */
.cheese_nav_sections {
	background: linear-gradient(135deg, var(--cheese_primary) 0%, var(--cheese_dark) 100%);
	padding: 15px 0;
	position: sticky;
	top: 0;
	z-index: 100;
}

.cheese_nav_list {
	display: flex;
	justify-content: center;
	list-style: none;
	flex-wrap: wrap;
	gap: 10px;
}

.cheese_nav_item {
	margin: 0 10px;
}

.cheese_nav_link {
	color: white;
	text-decoration: none;
	font-weight: 500;
	font-size: 0.9rem;
	padding: 8px 15px;
	border-radius: 20px;
	transition: all 0.3s ease;
}

.cheese_nav_link:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

/* Hero Section */
.cheese_hero {
background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('images/b_queijo3.jpg') no-repeat center center/cover;
color: white;
text-align: center;
padding: 100px 20px;
margin-bottom: 50px;
/* ocupa viewport inteiro */
height: 100vh;
width: 100%;

/* centralizar conteúdo */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;

}

.cheese_hero_title {
	font-size: 2.8rem;
	margin-bottom: 20px;
	font-weight: 300;
}

.cheese_hero_subtitle {
	font-size: 1.2rem;
	max-width: 700px;
	margin: 0 auto 30px;
	font-weight: 300;
}

.cheese_btn {
	display: inline-block;
	background: var(--cheese_accent);
	color: var(--cheese_dark);
	padding: 12px 30px;
	text-decoration: none;
	border-radius: 30px;
	font-weight: 500;
	transition: all 0.3s ease;
}

.cheese_btn:hover {
	background: #FFC400;
	transform: translateY(-2px);
}

/* Content Sections */
.cheese_section {
	background: white;
	border-radius: 10px;
	padding: 40px;
	margin-bottom: 40px;
}

.cheese_section_title {
	color: var(--cheese_primary);
	font-size: 1.8rem;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--cheese_border);
}

.cheese_section_text {
	margin-bottom: 20px;
	font-size: 1.05rem;
}

/* Value Proposition */
.cheese_features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 30px;
	margin-top: 30px;
}

.cheese_feature {
	text-align: center;
	padding: 25px;
	border-radius: 8px;
	background: var(--cheese_light);
	transition: transform 0.3s ease;
}

.cheese_feature:hover {
	transform: translateY(-5px);
}

.cheese_feature_icon {
	font-size: 2.5rem;
	color: var(--cheese_primary);
	margin-bottom: 15px;
}

.cheese_feature_title {
	font-size: 1.2rem;
	margin-bottom: 10px;
	color: var(--cheese_dark);
}

/* Cheese Types Table */
.cheese_table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	border-radius: 8px;
	overflow: hidden;
}

.cheese_table th {
	background-color: var(--cheese_primary);
	color: white;
	padding: 15px;
	text-align: left;
}

.cheese_table td {
	padding: 12px 15px;
	border-bottom: 1px solid var(--cheese_border);
}

.cheese_table tr:nth-child(even) {
	background-color: #faf0e6;
}

.cheese_table tr:last-child td {
	border-bottom: none;
}

.cheese_highlight {
	background-color: rgba(139, 69, 19, 0.1) !important;
	font-weight: 600;
}

/* Parameters List */
.cheese_params {
	list-style: none;
}

.cheese_param {
	padding: 10px 0;
	border-bottom: 1px dashed var(--cheese_border);
}

.cheese_param:last-child {
	border-bottom: none;
}

.cheese_param_icon {
	color: var(--cheese_accent);
	margin-right: 10px;
}

/* Callout Box */
.cheese_callout {
	background: linear-gradient(135deg, #faf0e6 0%, #f5deb3 100%);
	border-left: 4px solid var(--cheese_accent);
	padding: 25px;
	margin: 30px 0;
	border-radius: 0 8px 8px 0;
	display: flex;
	align-items: center;
}

.cheese_callout_icon {
	font-size: 2rem;
	color: var(--cheese_accent);
	margin-right: 20px;
}

.cheese_callout_text {
	font-size: 1.1rem;
	font-weight: 500;
}

/* Process */
.cheese_process {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 25px;
	margin-top: 30px;
}

.cheese_step {
	text-align: center;
	padding: 25px 20px;
	background: var(--cheese_light);
	border-radius: 8px;
	position: relative;
}

.cheese_step_number {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--cheese_primary);
	color: white;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
}

.cheese_step_title {
	font-size: 1.2rem;
	margin: 15px 0 10px;
	color: var(--cheese_dark);
}

/* Final CTA */
.cheese_cta {
	text-align: center;
	padding: 60px 40px;
	background: linear-gradient(135deg, var(--cheese_primary) 0%, var(--cheese_dark) 100%);
	color: white;
	border-radius: 10px;
	margin-bottom: 40px;
}

.cheese_cta_title {
	font-size: 2.2rem;
	margin-bottom: 20px;
}

.cheese_cta_buttons {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 30px;
	flex-wrap: wrap;
}

.cheese_cta_btn {
	background: white;
	color: var(--cheese_primary);
	padding: 12px 30px;
	text-decoration: none;
	border-radius: 30px;
	font-weight: 500;
	transition: all 0.3s ease;
}

.cheese_cta_btn:hover {
	background: var(--cheese_accent);
	color: var(--cheese_dark);
	transform: translateY(-2px);
}

/* Footer */
.cheese_footer {
	text-align: center;
	padding: 30px;
	background: var(--cheese_dark);
	color: white;
	border-radius: 0 0 10px 10px;
}

/* Responsiveness */
@media (max-width: 768px) {
	.cheese_hero_title {
		font-size: 2.2rem;
	}
	
	.cheese_nav_list {
		flex-direction: column;
		align-items: center;
		gap: 5px;
	}
	
	.cheese_nav_item {
		margin: 5px 0;
	}
	
	.cheese_features, .cheese_process {
		grid-template-columns: 1fr;
	}
	
	.cheese_cta_buttons {
		flex-direction: column;
		align-items: center;
	}

	/* Responsive table */
	.cheese_table {
		display: block;
		overflow-x: auto;
	}
}

:root {
--wine_primary: #722f37;
--wine_secondary: #9d2933;
--wine_accent: #b36d6d;
--wine_light: #f9f3f3;
--wine_dark: #5a1a22;
--wine_text: #333333;
--wine_border: #d9b8b8;
--wine_shadow: rgba(114, 47, 55, 0.1);
}

.wine_container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

/* Navigation */
.wine_nav_sections {
background: linear-gradient(135deg, var(--wine_primary) 0%, var(--wine_dark) 100%);
padding: 15px 0;
position: sticky;
top: 0;
z-index: 100;
box-shadow: 0 4px 12px var(--wine_shadow);
}

.wine_nav_list {
display: flex;
justify-content: center;
list-style: none;
flex-wrap: wrap;
gap: 10px;
}

.wine_nav_item {
margin: 0 10px;
}

.wine_nav_link {
color: white;
text-decoration: none;
font-weight: 500;
font-size: 0.9rem;
padding: 8px 15px;
border-radius: 20px;
transition: all 0.3s ease;
}

.wine_nav_link:hover {
background-color: rgba(255, 255, 255, 0.2);
}

/* Hero Section */
.wine_hero {
background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('images/wine.jpg') no-repeat center center/cover;
color: white;
text-align: center;
padding: 100px 20px;
margin-bottom: 50px;

/* ocupa viewport inteiro */
height: 100vh;
width: 100%;

/* centralizar conteúdo */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;

}

.wine_hero_title {
font-size: 2.8rem;
margin-bottom: 20px;
font-weight: 300;
}

.wine_hero_subtitle {
font-size: 1.2rem;
max-width: 700px;
margin: 0 auto 30px;
font-weight: 300;
}

.wine_btn {
display: inline-block;
background: var(--wine_accent);
color: white;
padding: 12px 30px;
text-decoration: none;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
}

.wine_btn:hover {
background: #c28585;
transform: translateY(-2px);
}

/* Content Sections */
.wine_section {
background: white;
border-radius: 10px;
padding: 40px;
margin-bottom: 40px;
}

.wine_section_title {
color: var(--wine_primary);
font-size: 1.8rem;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid var(--wine_border);
}

.wine_section_text {
margin-bottom: 20px;
font-size: 1.05rem;
}

/* Value Proposition */
.wine_features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
margin-top: 30px;
}

.wine_feature {
text-align: center;
padding: 25px;
border-radius: 8px;
background: var(--wine_light);
transition: transform 0.3s ease;
}

.wine_feature:hover {
transform: translateY(-5px);
}

.wine_feature_icon {
font-size: 2.5rem;
color: var(--wine_primary);
margin-bottom: 15px;
}

.wine_feature_title {
font-size: 1.2rem;
margin-bottom: 10px;
color: var(--wine_dark);
}

/* Wine Types Table */
.wine_table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
border-radius: 8px;
overflow: hidden;
}

.wine_table th {
background-color: var(--wine_primary);
color: white;
padding: 15px;
text-align: left;
}

.wine_table td {
padding: 12px 15px;
border-bottom: 1px solid var(--wine_border);
}

.wine_table tr:nth-child(even) {
background-color: #faf0f0;
}

.wine_table tr:last-child td {
border-bottom: none;
}

.wine_highlight {
background-color: rgba(114, 47, 55, 0.1) !important;
font-weight: 600;
}

/* Parameters List */
.wine_params {
list-style: none;
}

.wine_param {
padding: 10px 0;
border-bottom: 1px dashed var(--wine_border);
}

.wine_param:last-child {
border-bottom: none;
}

.wine_param_icon {
color: var(--wine_accent);
margin-right: 10px;
}

/* Callout Box */
.wine_callout {
background: linear-gradient(135deg, #faf0f0 0%, #f5e3e3 100%);
border-left: 4px solid var(--wine_accent);
padding: 25px;
margin: 30px 0;
border-radius: 0 8px 8px 0;
display: flex;
align-items: center;
}

.wine_callout_icon {
font-size: 2rem;
color: var(--wine_accent);
margin-right: 20px;
}

.wine_callout_text {
font-size: 1.1rem;
font-weight: 500;
}

/* Process */
.wine_process {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 25px;
margin-top: 30px;
}

.wine_step {
text-align: center;
padding: 25px 20px;
background: var(--wine_light);
border-radius: 8px;
position: relative;
}

.wine_step_number {
position: absolute;
top: -15px;
left: 50%;
transform: translateX(-50%);
background: var(--wine_primary);
color: white;
width: 30px;
height: 30px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}

.wine_step_title {
font-size: 1.2rem;
margin: 15px 0 10px;
color: var(--wine_dark);
}

/* Final CTA */
.wine_cta {
text-align: center;
padding: 60px 40px;
background: linear-gradient(135deg, var(--wine_primary) 0%, var(--wine_dark) 100%);
color: white;
border-radius: 10px;
margin-bottom: 40px;
}

.wine_cta_title {
font-size: 2.2rem;
margin-bottom: 20px;
}

.wine_cta_buttons {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 30px;
flex-wrap: wrap;
}

.wine_cta_btn {
background: white;
color: var(--wine_primary);
padding: 12px 30px;
text-decoration: none;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
}

.wine_cta_btn:hover {
background: var(--wine_accent);
color: white;
transform: translateY(-2px);
}

/* Footer */
.wine_footer {
text-align: center;
padding: 30px;
background: var(--wine_dark);
color: white;
border-radius: 0 0 10px 10px;
}

/* Responsiveness */
@media (max-width: 768px) {
.wine_hero_title {
	font-size: 2.2rem;
}

.wine_nav_list {
	flex-direction: column;
	align-items: center;
	gap: 5px;
}

.wine_nav_item {
	margin: 5px 0;
}

.wine_features, .wine_process {
	grid-template-columns: 1fr;
}

.wine_cta_buttons {
	flex-direction: column;
	align-items: center;
}

/* Responsive table */
.wine_table {
	display: block;
	overflow-x: auto;
}
}

:root {
--coffee_primary: #4e3524;
--coffee_secondary: #795548;
--coffee_accent: #a86c42;
--coffee_light: #f9f5f2;
--coffee_dark: #3e2723;
--coffee_text: #333333;
--coffee_border: #d7ccc8;
--coffee_shadow: rgba(78, 53, 36, 0.1);
}

.coffee_container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

/* Navigation */
.coffee_nav_sections {
background: linear-gradient(135deg, var(--coffee_primary) 0%, var(--coffee_dark) 100%);
padding: 15px 0;
position: sticky;
top: 0;
z-index: 100;
}

.coffee_nav_list {
display: flex;
justify-content: center;
list-style: none;
flex-wrap: wrap;
gap: 10px;
}

.coffee_nav_item {
margin: 0 10px;
}

.coffee_nav_link {
color: white;
text-decoration: none;
font-weight: 500;
font-size: 0.9rem;
padding: 8px 15px;
border-radius: 20px;
transition: all 0.3s ease;
}

.coffee_nav_link:hover {
background-color: rgba(255, 255, 255, 0.2);
}

/* Hero Section */
.coffee_hero {
background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('images/coffeehero.jpg') no-repeat center center/cover;
color: white;
text-align: center;
padding: 100px 20px;
margin-bottom: 50px;

/* ocupa viewport inteiro */
height: 100vh;
width: 100%;

/* centralizar conteúdo */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;

}

.coffee_hero_title {
font-size: 2.8rem;
margin-bottom: 20px;
font-weight: 300;
}

.coffee_hero_subtitle {
font-size: 1.2rem;
max-width: 700px;
margin: 0 auto 30px;
font-weight: 300;
}

.coffee_btn {
display: inline-block;
background: var(--coffee_accent);
color: white;
padding: 12px 30px;
text-decoration: none;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
}

.coffee_btn:hover {
background: #bf8c60;
transform: translateY(-2px);
}

/* Content Sections */
.coffee_section {
background: white;
border-radius: 10px;
padding: 40px;
margin-bottom: 40px;
}

.coffee_section_title {
color: var(--coffee_primary);
font-size: 1.8rem;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid var(--coffee_border);
}

.coffee_section_text {
margin-bottom: 20px;
font-size: 1.05rem;
}

/* Value Proposition */
.coffee_features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
margin-top: 30px;
}

.coffee_feature {
text-align: center;
padding: 25px;
border-radius: 8px;
background: var(--coffee_light);
transition: transform 0.3s ease;
}

.coffee_feature:hover {
transform: translateY(-5px);
}

.coffee_feature_icon {
font-size: 2.5rem;
color: var(--coffee_primary);
margin-bottom: 15px;
}

.coffee_feature_title {
font-size: 1.2rem;
margin-bottom: 10px;
color: var(--coffee_dark);
}

/* Coffee Types Table */
.coffee_table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
border-radius: 8px;
overflow: hidden;
}

.coffee_table th {
background-color: var(--coffee_primary);
color: white;
padding: 15px;
text-align: left;
}

.coffee_table td {
padding: 12px 15px;
border-bottom: 1px solid var(--coffee_border);
}

.coffee_table tr:nth-child(even) {
background-color: #faf5f0;
}

.coffee_table tr:last-child td {
border-bottom: none;
}

.coffee_highlight {
background-color: rgba(78, 53, 36, 0.1) !important;
font-weight: 600;
}

/* Parameters List */
.coffee_params {
list-style: none;
}

.coffee_param {
padding: 10px 0;
border-bottom: 1px dashed var(--coffee_border);
}

.coffee_param:last-child {
border-bottom: none;
}

.coffee_param_icon {
color: var(--coffee_accent);
margin-right: 10px;
}

/* Callout Box */
.coffee_callout {
background: linear-gradient(135deg, #faf5f0 0%, #f5ebe0 100%);
border-left: 4px solid var(--coffee_accent);
padding: 25px;
margin: 30px 0;
border-radius: 0 8px 8px 0;
display: flex;
align-items: center;
}

.coffee_callout_icon {
font-size: 2rem;
color: var(--coffee_accent);
margin-right: 20px;
}

.coffee_callout_text {
font-size: 1.1rem;
font-weight: 500;
}

/* Process */
.coffee_process {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 25px;
margin-top: 30px;
}

.coffee_step {
text-align: center;
padding: 25px 20px;
background: var(--coffee_light);
border-radius: 8px;
position: relative;
}

.coffee_step_number {
position: absolute;
top: -15px;
left: 50%;
transform: translateX(-50%);
background: var(--coffee_primary);
color: white;
width: 30px;
height: 30px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}

.coffee_step_title {
font-size: 1.2rem;
margin: 15px 0 10px;
color: var(--coffee_dark);
}

/* Final CTA */
.coffee_cta {
text-align: center;
padding: 60px 40px;
background: linear-gradient(135deg, var(--coffee_primary) 0%, var(--coffee_dark) 100%);
color: white;
border-radius: 10px;
margin-bottom: 40px;
}

.coffee_cta_title {
font-size: 2.2rem;
margin-bottom: 20px;
}

.coffee_cta_buttons {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 30px;
flex-wrap: wrap;
}

.coffee_cta_btn {
background: white;
color: var(--coffee_primary);
padding: 12px 30px;
text-decoration: none;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
}

.coffee_cta_btn:hover {
background: var(--coffee_accent);
color: white;
transform: translateY(-2px);
}

/* Footer */
.coffee_footer {
text-align: center;
padding: 30px;
background: var(--coffee_dark);
color: white;
border-radius: 0 0 10px 10px;
}

/* Responsiveness */
@media (max-width: 768px) {
.coffee_hero_title {
	font-size: 2.2rem;
}

.coffee_nav_list {
	flex-direction: column;
	align-items: center;
	gap: 5px;
}

.coffee_nav_item {
	margin: 5px 0;
}

.coffee_features, .coffee_process {
	grid-template-columns: 1fr;
}

.coffee_cta_buttons {
	flex-direction: column;
	align-items: center;
}

/* Responsive table */
.coffee_table {
	display: block;
	overflow-x: auto;
}
}

/* Define a color palette for pastries */
:root {
--pastry-primary-brown: #5C3A21; /* Rich dark brown for main headings/accents */
--pastry-secondary-gold: #FFC04D; /* Golden yellow for highlights, buttons */
--pastry-light-cream: #FFF7EC; /* Light cream for backgrounds */
--pastry-accent-caramel: #D48C35; /* Caramel/tan for section borders/icons */
--pastry-text-dark: #333333; /* Standard dark text */
--pastry-text-light: #F8F8F8; /* Light text on dark backgrounds */
}


.pastry_container {
max-width: 900px;
margin: 0 auto;
padding: 20px;
}

/* Hero Section */
.pastry_hero {
background-color: var(--pastry-primary-brown);
color: var(--pastry-text-light);
text-align: center;
padding: 80px 20px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.pastry_hero_title {
	font-family: 'Roboto Mono', monospace;
font-size: 3em;
margin-bottom: 15px;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.pastry_hero_subtitle {
font-size: 1.3em;
margin-bottom: 40px;
}

.pastry_btn {
display: inline-block;
background-color: var(--pastry-secondary-gold);
color: var(--pastry-primary-brown);
padding: 15px 30px;
text-decoration: none;
border-radius: 8px;
font-weight: bold;
font-size: 1.1em;
transition: background-color 0.3s ease, transform 0.2s ease;
}

.pastry_btn:hover {
background-color: #e0ac4c; /* Slightly darker gold on hover */
transform: translateY(-2px);
}

/* Main Content Sections */
.pastry_section {
background-color: #ffffff;
padding: 40px;
margin-bottom: 20px;
border-radius: 10px;
}

.pastry_section_title {
	font-family: 'Roboto Mono', monospace;
color: var(--pastry-primary-brown);
border-bottom: 2px solid var(--pastry-accent-caramel);
padding-bottom: 15px;
margin-bottom: 25px;
font-size: 2em;
}

.pastry_section_text {
margin-bottom: 1em;
}

/* Feature Boxes (Curated Network, Quality, etc.) */
.pastry_features {
display: flex;
flex-wrap: wrap;
gap: 25px;
justify-content: center;
margin-top: 30px;
}

.pastry_feature {
background-color: #fcf6ed; /* Lighter cream for features */
border: 1px solid var(--pastry-secondary-gold);
border-radius: 10px;
padding: 25px;
flex: 1 1 calc(50% - 25px);
text-align: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pastry_feature:hover {
transform: translateY(-5px);
}

.pastry_feature_icon {
font-size: 2.5em;
color: var(--pastry-accent-caramel);
margin-bottom: 15px;
}

.pastry_feature_title {
color: var(--pastry-primary-brown);
font-size: 1.3em;
margin-bottom: 10px;
font-weight: bold;
}

/* Table Styles */
.pastry_table {
width: 100%;
border-collapse: collapse;
margin-top: 25px;
border-radius: 8px;
overflow: hidden; /* Ensures rounded corners apply to table */
}

.pastry_table th, .pastry_table td {
border: 1px solid #f0e0d0; /* Soft border color */
padding: 15px;
text-align: left;
}

.pastry_table th {
background-color: var(--pastry-primary-brown);
color: var(--pastry-text-light);
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.5px;
}

.pastry_table tr:nth-child(even) {
background-color: #fffaf5; /* Slightly different background for even rows */
}

.pastry_table tr:hover {
background-color: #fdf2e4; /* Light hover effect */
}

.pastry_highlight {
font-weight: bold;
color: var(--pastry-primary-brown); /* Highlight in a richer brown */
}

/* Technical Dossier List */
.pastry_params {
list-style: none;
padding: 0;
margin-top: 25px;
}

.pastry_param {
background-color: #fffaf5;
border-left: 5px solid var(--pastry-accent-caramel);
padding: 15px 20px;
margin-bottom: 12px;
border-radius: 8px;
}

.pastry_param_icon {
color: var(--pastry-accent-caramel);
margin-right: 12px;
font-size: 1.2em;
}

/* Process Steps */
.pastry_process {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
gap: 30px;
margin-top: 30px;
}

.pastry_step {
flex: 1 1 200px;
text-align: center;
position: relative;
padding-top: 50px; /* Space for the number */
background-color: #fffaf5;
border-radius: 10px;
padding-bottom: 20px;
}

.pastry_step_number {
position: absolute;
top: -15px; /* Position above the box */
left: 50%;
transform: translateX(-50%);
width: 40px;
height: 40px;
background-color: var(--pastry-secondary-gold);
color: var(--pastry-primary-brown);
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
font-size: 1.2em;
border: 3px solid #ffffff; /* White border to stand out */
}

.pastry_step .pastry_feature_icon { /* Reusing feature icon for steps */
font-size: 2.2em;
color: var(--pastry-accent-caramel);
margin-bottom: 10px;
margin-top: 15px;
}

.pastry_step_title {
color: var(--pastry-primary-brown);
margin-top: 10px;
font-size: 1.2em;
font-weight: bold;
}

/* CTA Section */
.pastry_cta {
text-align: center;
background-color: var(--pastry-primary-brown);
color: var(--pastry-text-light);
padding: 50px;
border-radius: 10px;
margin-top: 40px;
}

.pastry_cta_title {
	font-family: 'Roboto Mono', monospace;
font-size: 2.5em;
margin-bottom: 20px;
color: var(--pastry-secondary-gold);
}

.pastry_cta_buttons {
margin-top: 30px;
}

.pastry_cta_btn {
background-color: var(--pastry-secondary-gold);
color: var(--pastry-primary-brown);
padding: 18px 35px;
text-decoration: none;
border-radius: 8px;
font-weight: bold;
font-size: 1.2em;
transition: background-color 0.3s ease, transform 0.2s ease;
}

.pastry_cta_btn:hover {
background-color: #e0ac4c;
transform: translateY(-3px);
}

/* Responsive Design */
@media (max-width: 768px) {
.pastry_hero_title {
	font-size: 2.2em;
}
.pastry_features, .pastry_process {
	flex-direction: column;
}
.pastry_feature, .pastry_step {
	flex: 1 1 100%;
}
.pastry_table thead {
	display: none;
}
.pastry_table tr {
	display: block;
	margin-bottom: 20px;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 10px;
}
.pastry_table td {
	display: block;
	text-align: right;
	border: none;
	position: relative;
	padding-left: 50%;
}f
.pastry_table td:before {
	content: attr(data-label);
	position: absolute;
	left: 10px;
	width: 45%;
	font-weight: bold;
	text-align: left;
}
}

.pastry_hero {
background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('images/pastry.jpg') no-repeat center center/cover;
color: white;
text-align: center;
padding: 100px 20px;
margin-bottom: 50px;

/* ocupa viewport inteiro */
height: 100vh;
width: 100%;

/* centralizar conteúdo */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;

}

.pastry_hero_title {
font-size: 2.8rem;
margin-bottom: 20px;
font-weight: 300;
}

.pastry_hero_subtitle {
font-size: 1.2rem;
max-width: 700px;
margin: 0 auto 30px;
font-weight: 300;
}

.pastry_btn {
display: inline-block;
background: var(--pastry_accent);
color: white;
padding: 12px 30px;
text-decoration: none;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
background: #c28585;
}

.pastry_btn:hover {
background: #c28585;
transform: translateY(-2px);
}

.pastry_cta {
text-align: center;
padding: 60px 40px;
background: dark brown;
color: white;
border-radius: 10px;
margin-bottom: 40px;
}

.pastry_cta_title {
font-size: 2.2rem;
margin-bottom: 20px;
}

.pastry_cta_buttons {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 30px;
flex-wrap: wrap;
}

.pastry_cta_btn {
background: white;
color: var(--pastry_primary);
padding: 12px 30px;
text-decoration: none;
border-radius: 30px;
font-weight: 500;
transition: all 0.3s ease;
background: var(--pastry-secondary-gold);

}

.pastry_cta_btn:hover {
background: var(--pastry_accent);
color: white;
transform: translateY(-2px);
}


@media (max-width: 480px) {
.pastry_hero {
	padding: 60px 15px;
}
.pastry_hero_title {
	font-size: 1.8em;
}
.pastry_hero_subtitle {
	font-size: 1em;
}
.pastry_btn {
	padding: 10px 20px;
	font-size: 1em;
}
.pastry_section {
	padding: 25px;
}
.pastry_section_title {
	font-size: 1.6em;
}
.pastry_cta_title {
	font-size: 1.8em;
}
.pastry_cta_btn {
	padding: 15px 25px;
	font-size: 1.1em;
}
}

.container_avatar {
  display: flex;
  align-items: center;
  justify-content: center;
}

.container_avatar img {
  width: 30%;
  border-radius: 15px; /* bordas levemente arredondadas */
}
/* Media Query para telas até 760px */
@media (max-width: 760px) {
  .container_avatar img {
    width: 60%; /* Aumenta a imagem em telas menores */
  }
}
:root {
--lap_primary: #1a3a5f;
--lap_secondary: #c9a66b;
--lap_light: #f8f9fa;
--lap_dark: #2c3e50;
--lap_text: #333333;
--lap_shadow: rgba(0, 0, 0, 0.1);
}

.lap_container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

.lap_header {
background: linear-gradient(135deg, var(--lap_primary) 0%, var(--lap_dark) 100%);
color: white;
padding: 100px 0 60px;
text-align: center;
}

.lap_title {
	font-family: 'Roboto Mono', monospace;
font-size: 3.5rem;
margin-bottom: 20px;
font-weight: 700;
}

.lap_subtitle {
font-size: 1.5rem;
font-weight: 300;
max-width: 800px;
margin: 0 auto;
}

.lap_section {
padding: 80px 0;
}

.lap_section-dark {
background-color: var(--lap_primary);
color: white;
}

.lap_section-light {
background-color: white;
}

.lap_section-alt {
background-color: #f5f7fa;
}

.lap_content {
max-width: 900px;
margin: 0 auto;
padding: 0 20px;
}

.lap_section-title {
	font-family: 'Roboto Mono', monospace;
font-size: 2.5rem;
margin-bottom: 30px;
text-align: center;
color: var(--lap_primary);
}

.lap_section-dark .lap_section-title {
color: white;
}

.lap_text {
font-size: 1.1rem;
margin-bottom: 25px;
text-align: center;
}

.lap_highlight {
color: var(--lap_secondary);
font-weight: 700;
}

.lap_services {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 30px;
margin-top: 50px;
}

.lap_service-card {
background: white;
border-radius: 8px;
padding: 30px;
width: 100%;
max-width: 350px;
box-shadow: 0 5px 15px var(--lap_shadow);
text-align: center;
transition: transform 0.3s ease;
}

.lap_service-card:hover {
transform: translateY(-5px);
}

.lap_service-icon {
font-size: 2.5rem;
color: var(--lap_secondary);
margin-bottom: 20px;
}

.lap_service-title {
	font-family: 'Roboto Mono', monospace;
font-size: 1.5rem;
margin-bottom: 15px;
color: var(--lap_primary);
}

.lap_process {
display: flex;
flex-direction: column;
gap: 40px;
margin-top: 50px;
}

.lap_process-step {
display: flex;
align-items: flex-start;
gap: 20px;
}

.lap_step-number {
background-color: var(--lap_secondary);
color: white;
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
font-weight: bold;
flex-shrink: 0;
}

.lap_step-content {
flex: 1;
}

.lap_step-title {
	font-family: 'Roboto Mono', monospace;
font-size: 1.5rem;
margin-bottom: 10px;
color: var(--lap_primary);
}

.lap_cta {
text-align: center;
padding: 80px 0;
background: linear-gradient(135deg, var(--lap_secondary) 0%, #d4b87e 100%);
color: white;
}

.lap_cta-title {
	font-family: 'Roboto Mono', monospace;
font-size: 2.5rem;
margin-bottom: 20px;
}

.lap_button {
display: inline-block;
background-color: var(--lap_primary);
color: white;
padding: 15px 40px;
border-radius: 50px;
text-decoration: none;
font-weight: 700;
font-size: 1.1rem;
margin-top: 30px;
transition: all 0.3s ease;
border: 2px solid var(--lap_primary);
}

.lap_button:hover {
background-color: transparent;
color: var(--lap_primary);
}

@media (max-width: 768px) {
.lap_title {
	font-size: 2.5rem;
}

.lap_subtitle {
	font-size: 1.2rem;
}

.lap_section-title {
	font-size: 2rem;
}

.lap_service-card {
	max-width: 100%;
}

.lap_process-step {
	flex-direction: column;
	text-align: center;
}
}
.btn_dir_container {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1000;
}

.btn_dir_button {
  display: inline-block;
  text-decoration: none !important; /* remove o sublinhado */
  writing-mode: vertical-rl; /* texto na vertical */
  transform: rotate(180deg); /* texto de baixo para cima */
  background-color: #007bff;
  color: white;
  border: none;
  padding: 10px 15px;
  font-size: 16px;
  cursor: pointer;
  border-radius: 8px 0 0 8px;
  transition: background-color 0.3s ease;
  text-align: center; /* centraliza o texto no botão */
}

.btn_dir_button:hover {
  background-color: #0056b3;
}

:root{
--partner-bg:#f7f8fa;
--partner-card:#ffffff;
--partner-accent:#0b6b58;
--partner-muted:#6b7280;
--partner-border:#e6e9ee;
--partner-radius:12px;
--partner-maxw:980px;
--partner-font-system: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.partner_page{
display:flex;
align-items:flex-start;
justify-content:center;
padding:48px 20px;
}

.partner_container{
width:100%;
max-width:var(--partner-maxw);
background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.98));
border:1px solid var(--partner-border);
border-radius:var(--partner-radius);
box-shadow:0 6px 24px rgba(15,23,42,0.06);
padding:36px;
}

.partner_header{
display:flex;
align-items:center;
gap:16px;
margin-bottom:20px;
}

.partner_tag{
background:var(--partner-accent);
color:#fff;
padding:8px 12px;
border-radius:8px;
font-weight:600;
font-size:13px;
letter-spacing:0.2px;
}

.partner_title{
font-size:20px;
font-weight:700;
margin:0;
}

.partner_subtitle{
margin:6px 0 0 0;
color:var(--partner-muted);
font-size:14px;
}

.partner_grid{
display:grid;
grid-template-columns:1fr 320px;
gap:28px;
margin-top:22px;
}

/* Left column (main guide) */
.partner_main{
min-width:0;
}

.partner_card{
background:var(--partner-card);
border:1px solid var(--partner-border);
border-radius:12px;
padding:20px;
margin-bottom:16px;
}

.partner_h2{
font-size:16px;
margin:0 0 8px 0;
font-weight:700;
}

.partner_p{
margin:0 0 12px 0;
color:#111827;
line-height:1.45;
font-size:14px;
}

.partner_steps{
display:flex;
flex-direction:column;
gap:12px;
}

.partner_step{
border-left:4px solid var(--partner-accent);
padding:12px 14px;
border-radius:8px;
background:linear-gradient(180deg, rgba(11,107,88,0.02), transparent);
}

.partner_step h3{
margin:0 0 6px 0;
font-size:14px;
font-weight:700;
}

.partner_step p{
margin:0;
color:var(--partner-muted);
font-size:13.5px;
line-height:1.45;
}

.partner_checklist{
display:grid;
grid-template-columns:repeat(2, minmax(0,1fr));
gap:12px;
margin-top:12px;
}

.partner_listitem{
background:#fbfdff;
padding:10px;
border-radius:8px;
border:1px solid #eef3f6;
font-size:13.5px;
color:#0f1724;
}

/* Right column (quick info & CTA) */
.partner_aside{
position:relative;
}

.partner_cta{
display:flex;
flex-direction:column;
gap:12px;
}

.partner_btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:12px 14px;
border-radius:10px;
background:var(--partner-accent);
color:#fff;
font-weight:700;
text-decoration:none;
border:0;
cursor:pointer;
font-size:14px;
}

.partner_link{
display:inline-block;
font-size:13px;
color:var(--partner-accent);
text-decoration:none;
font-weight:600;
}

.partner_quick{
font-size:13px;
color:var(--partner-muted);
}

.partner_meta{
font-size:12px;
color:var(--partner-muted);
border-top:1px dashed #e9eef2;
margin-top:12px;
padding-top:12px;
}

.partner_resources{
display:flex;
flex-direction:column;
gap:8px;
margin-top:10px;
}

.partner_resource a{
color:#0b6b58;
text-decoration:none;
font-weight:600;
font-size:13px;
}

/* Footer */
.partner_footer{
margin-top:18px;
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;
flex-wrap:wrap;
}

.partner_small{
font-size:13px;
color:var(--partner-muted);
}

.partner_espaco{
margin: 100px;
}


/* Responsive */
@media (max-width:900px){
.partner_grid{
grid-template-columns:1fr;
}
.partner_aside{
order:2;
}
.partner_espaco{
margin: 60px;
}
}

/* All classes start with blog_post_ */
:root {
  --bg:#f7f8fb;
  --card:#ffffff;
  --muted:#69707a;
  --accent:#0b76ef;
  --radius:12px;
  --glass: rgba(255,255,255,0.6);
}

.blog_post_container {
  max-width:90%;
  margin:32px auto;
  padding:20px;
}

.blog_post_header {
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:20px;
}

.blog_post_brand {
  display:flex;
  align-items:center;
  gap:12px;
}

.blog_post_logo {
  width:52px;
  height:52px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--accent),#2ec4b6);
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-weight:700;
}

.blog_post_title {
  font-size:20px;
  font-weight:700;
}

.blog_post_sub {
  color:var(--muted);
  font-size:13px;
}

.blog_post_controls {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.blog_post_search input {
  border: 0;
  outline: 0;
  font-size: 14px;
  background: transparent;
  line-height: 1;      /* evita que o texto ocupe mais do que 1 linha */
  height: 20px;        /* altura fixa para manter o campo esguio */
  color: var(--muted); /* cor de texto */
}

.blog_post_search input::placeholder {
  color: #a0a7b3;      /* placeholder mais discreto */
}

#blog_post_search_input {
  background: none !important;  /* remove qualquer fundo */
  -webkit-appearance: none;      /* Chrome/Safari */
  -moz-appearance: none;         /* Firefox */
  appearance: none;              /* padrão */
}



.blog_post_select,
.blog_post_button {
  border:0;
  padding:8px 12px;
  border-radius:10px;
  background:var(--card);
  box-shadow:0 6px 18px rgba(0,0,0,0.04);
  cursor:pointer;
}

.blog_post_button[aria-pressed="true"] {
  box-shadow:0 8px 24px rgba(11,118,239,0.12);
  border:1px solid rgba(11,118,239,0.12);
}

.blog_post_layout {
  display:grid;
  grid-template-columns:320px 1fr;
  gap:20px;
}

/* Sidebar */
.blog_post_sidebar {
  position: sticky;
  top: 20px;
  align-self: start;
  z-index: -3; /* Sidebar fica acima do fundo mas abaixo de elementos com z-index mais alto */
}

.blog_post_card {
  background:var(--card);
  padding:14px;
  border-radius:var(--radius);
  box-shadow:0 6px 24px rgba(14,21,47,0.06);
  margin-bottom:14px;
}

.blog_post_filter_tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.blog_post_tag {
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  background:#f2f6fb;
  border:1px solid #eef4ff;
  cursor:pointer;
}

.blog_post_tag {
  background:#f2f6fb;
  border:1px solid #ccd6e6;      /* borda mais contrastante */
  color: var(--muted);           /* texto visível */
}



.blog_post_tag.active {
  background:var(--accent);
  color:white;
  border:1px solid rgba(11,118,239,0.2);
}

/* List */
.blog_post_list {
  display:grid;
  gap:12px;
}

.blog_post_item {
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:14px;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,0.8),var(--card));
  box-shadow:0 8px 28px rgba(15,20,30,0.04);
}

.blog_post_thumb {
  width:140px;
  height:96px;
  border-radius:10px;
  background:#ddd;
  flex-shrink:0;
  overflow:hidden;
}

.blog_post_thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.blog_post_meta {
  flex:1;
}

.blog_post_meta h3 {
  margin:0;
  font-size:16px;
}

.blog_post_meta p {
  margin:6px 0;
  color:var(--muted);
  font-size:14px;
}

.blog_post_meta .blog_post_info {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:13px;
  color:var(--muted);
}

.blog_post_chip {
  padding:6px 8px;
  border-radius:999px;
  font-size:12px;
  background:#f6fbff;
  border:1px solid #eef7ff;
}

/* Pagination */
.blog_post_pager {
  display:flex;
  gap:8px;
  justify-content:center;
  margin-top:18px;
}

.blog_post_pagebtn {
  padding:8px 12px;
  border-radius:8px;
  border:0;
  background:transparent;
  cursor:pointer;
  color: var(--muted); /* cor base visível */
  transition: background 0.2s ease, color 0.2s ease;
}

.blog_post_pagebtn:hover {
  background: rgba(11,118,239,0.1); /* ligeiro destaque ao passar o rato */
  color: var(--accent);
}

.blog_post_pagebtn.active {
  background: var(--accent);
  color: #fff;
}

.blog_post_pagebtn.active {
  background:var(--accent);
  color:white;
}

.blog_post_button {
  color: var(--muted); /* ou var(--accent), se quiseres dar mais destaque */
  transition: color 0.2s ease, background 0.2s ease;
}

.blog_post_button:hover {
  background: var(--accent);
  color: #fff; /* texto branco apenas quando o fundo é azul */
}

/*
  ### RESPONSIVE SECTION ###
  The entire responsive block has been re-written and re-structured for clarity and effectiveness.
*/

@media (max-width: 900px) {
  /* Main Layout */
  .blog_post_layout {
    grid-template-columns: 1fr;
    gap: 16px; /* Reduced gap for smaller screens */
  }

  /* Header */
  .blog_post_header {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  /* Controls (Search, Select, Button) */
  .blog_post_controls {
    flex-direction: column;
    width: 100%;
    gap: 12px; /* Uniform gap */
  }

  .blog_post_search,
  .blog_post_select,
  .blog_post_button {
    width: 100%; /* Make them fill the full width */
  }

  .blog_post_search {
    border-radius: 10px;
    background: var(--card);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
    padding: 8px 12px; /* Add padding to match other controls */
  }

  .blog_post_search input {
    width: 100%; /* Ensure input field takes full width of its container */
  }

  /* Sidebar and Main Content */
  .blog_post_sidebar {
    position: static; /* Remove sticky behavior on mobile */
    order: 2; /* Position the sidebar below the main blog list */
  }

  /* Blog Post Items */
  .blog_post_list {
    display: flex; /* Use flexbox for a single column */
    flex-direction: column;
    gap: 16px;
  }
  
  .blog_post_item {
    flex-direction: column; /* Stack image and text vertically */
    align-items: center;
    text-align: center;
    gap: 12px;
  }

  .blog_post_thumb {
    width: 100%;
    height: auto;
    max-height: 180px; /* Optional: limit max height for a better aspect ratio */
  }
  
  .blog_post_thumb img {
    border-radius: 8px;
  }
  
  /* Blog Post Meta */
  .blog_post_meta {
    flex: none; /* No need for flex: 1 */
    width: 100%;
  }

  .blog_post_info {
    justify-content: center; /* Center the chips on mobile */
  }
}

.send_rfp_container {
max-width: 700px;
margin: 0 auto;
background: #fff;
padding: 30px;
border-radius: 10px;
}

.send_rfp_container h2 {
margin-bottom: 25px;
font-size: 24px;
color: #071018;
}

input,
textarea,
select {
width: 100%;
padding: 12px;
margin-bottom: 18px;
border: 1px solid #ccc;
border-radius: 8px;
font-size: 15px;
}

textarea {
resize: vertical;
min-height: 100px;
}

button {
background: #071018;
color: #fff;
padding: 14px 25px;
border: none;
border-radius: 8px;
cursor: pointer;
font-size: 16px;
}

button:hover {
background: #0a1520;
}

.send_rfp_section {
margin-bottom: 30px;
}

.send_rfp_section h3 {
font-size: 18px;
margin-bottom: 15px;
color: #071018;
border-bottom: 1px solid #ccc;
padding-bottom: 5px;
}

.send_rfp_success {
padding: 15px;
background: #d4edda;
border: 1px solid #c3e6cb;
border-radius: 8px;
color: #155724;
margin-bottom: 20px;
}

.send_rfp_error {
padding: 15px;
background: #f8d7da;
border: 1px solid #f5c6cb;
border-radius: 8px;
color: #721c24;
margin-bottom: 20px;
}

.send_rfp_espaco {
margin: 100px;
}

@media (max-width: 768px) {
    .send_rfp_espaco {
        margin: 50px; /* reduz a margem para caber melhor em telas menores */
    }
}

.rfp2_wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 100vh;
}

.rfp2_left {
background: url('images/azeite1.jpg') no-repeat center center;
background-size: cover;
position: relative;
z-index: -3;
border-radius: 10px;
overflow: hidden;
margin-left: 10px;
}

.rfp2_left::after {
content: "";
position: absolute;
inset: 0;
background: rgba(0, 51, 102, 0.6);
}

.rfp2_left_content {
position: absolute;
bottom: 40px;
left: 30px;
color: #fff;
z-index: 2;
}

.rfp2_left_content h1 {
font-size: 32px;
margin: 0 0 10px 0;
}

.rfp2_left_content p {
font-size: 16px;
max-width: 300px;
line-height: 1.4;
}

.rfp2_right {
background: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 40px;
}

.rfp2_form_container {
width: 100%;
max-width: 500px;
}

.rfp2_form_container h2 {
color: #003366;
margin-bottom: 20px;
font-size: 22px;
text-align: center;
}

.rfp2_section {
margin-bottom: 20px;
}

.rfp2_section h3 {
margin-bottom: 10px;
color: #003366;
font-size: 15px;
border-left: 4px solid #0055aa;
padding-left: 8px;
}

.rfp2_section input,
.rfp2_section textarea {
width: 100%;
padding: 10px;
margin-top: 6px;
border: 1px solid #ccc;
border-radius: 6px;
font-size: 14px;
}

.rfp2_section textarea {
resize: vertical;
min-height: 70px;
}

.rfp2_button {
width: 100%;
background: #003366;
color: #fff;
padding: 14px;
font-size: 15px;
border: none;
border-radius: 6px;
cursor: pointer;
transition: all .3s ease;
}

.rfp2_button:hover {
background: #0055aa;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.rfp2_success {
background: #d4edda;
color: #155724;
padding: 12px;
border-radius: 6px;
margin-bottom: 15px;
}

.rfp2_error {
background: #f8d7da;
color: #721c24;
padding: 12px;
border-radius: 6px;
margin-bottom: 15px;
}

@media(max-width: 900px) {
.rfp2_wrapper {
	grid-template-columns: 1fr;
}
.rfp2_left {
	display: none;
}
.rfp2_right {
	padding: 20px;
}
}

.certification_espaco {
margin: 150px;
}

@media(max-width: 900px) {
.certification_espaco {
margin: 85px;
}
}

:root{
  --certification-accent:#00695c;
  --certification-muted:#6b7280;
  --certification-bg:#f7faf9;
  --certification-card:#ffffff;
  --certification-radius:14px;
  --certification-gap:16px;
}

/* Layout */
.certification_container{max-width:100%;margin:24px auto;padding:16px;overflow-x:hidden}
.certification_header{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.certification_brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.certification_logo{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--certification-accent),#004d40);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}
.certification_title{font-size:1.15rem;font-weight:700}
.certification_subtitle{font-size:0.85rem;color:var(--certification-muted)}

.certification_nav{display:flex;gap:10px;flex-wrap:wrap;width:100%}
.certification_button{background:transparent;border:1px solid transparent;padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer;white-space:nowrap}
.certification_button--primary{background:var(--certification-accent);color:#fff;border-color:rgba(0,0,0,0.04);box-shadow:0 6px 18px rgba(0,0,0,0.06)}

.certification_grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}

/* Main card */
.certification_card{background:var(--certification_card);border-radius:var(--certification-radius);padding:18px;box-shadow:0 6px 20px rgba(12,18,22,0.06);overflow-wrap:break-word}
.certification_hero{display:flex;flex-direction:column;gap:8px}
.certification_h1{font-size:1.5rem;margin:0}
.certification_p{color:var(--certification-muted);margin:0}

.certification_section{margin-top:14px}
.certification_section h3{margin:0 0 8px 0}
.certification_list{margin:0;padding-left:18px;color:var(--certification-muted)}

/* Cards list */
.certification_cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.certification_smallcard{padding:12px;border-radius:10px;background:linear-gradient(180deg,rgba(0,0,0,0.02),transparent)}
.certification_smallcard h4{margin:0 0 6px 0}
.certification_smallcard p{margin:0;color:var(--certification-muted);font-size:0.92rem}

/* Table */
.certification_table{width:100%;border-collapse:collapse;margin-top:12px;table-layout:fixed}
.certification_table th,.certification_table td{padding:12px;border-bottom:1px solid #e6eef0;text-align:left;font-size:0.95rem;word-wrap:break-word}
.certification_table th{background:transparent;color:var(--certification-muted);font-weight:700}

/* Right column */
.certification_aside h4{margin-top:0}
.certification_badge{display:inline-block;padding:6px 8px;border-radius:999px;background:#e6fff9;color:#004d40;font-weight:700;font-size:0.82rem}

/* Footer */
.certification_footer{margin-top:20px;text-align:center;color:var(--certification-muted);font-size:0.9rem}

/* Responsive */
@media (max-width:900px){
  .certification_grid{grid-template-columns:1fr;gap:16px}
  .certification_cards{grid-template-columns:1fr;gap:10px}
  .certification_table th,.certification_table td{padding:8px;font-size:0.9rem}
  .certification_header{align-items:flex-start}
}

/* Accessibility focus */
.certification_button:focus{outline:3px solid rgba(0,105,92,0.15)}

.menu_espaco{
margin: 100px;
}

@media (max-width:900px){
.partner_espaco{
margin: 60px;
}
}
.why_container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

/* Header Styles */
.why_header {
background-color: #fff;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
position: sticky;
top: 0;
z-index: 100;
}

.why_navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 0;
}

.why_logo {
font-size: 24px;
font-weight: 700;
color: #1a5276;
}

.why_logo span {
color: #e67e22;
}

.why_nav-links {
display: flex;
list-style: none;
}

.why_nav-links li {
margin-left: 30px;
}

.why_nav-links a {
text-decoration: none;
color: #333;
font-weight: 500;
transition: color 0.3s;
}

.why_nav-links a:hover {
color: #1a5276;
}

.why_cta-button {
background-color: #1a5276;
color: white;
border: none;
padding: 10px 20px;
border-radius: 4px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.3s;
}

.why_cta-button:hover {
background-color: #154360;
}

/* Hero Section */
.why_hero {
background: #1e2f3f;
color: white;
padding: 80px 0;
text-align: center;
}

.why_hero-title {
font-size: 42px;
margin-bottom: 20px;
font-weight: 700;
}

.why_hero-subtitle {
font-size: 20px;
max-width: 800px;
margin: 0 auto 30px;
font-weight: 300;
}

.why_highlight {
font-weight: 600;
color: #f1c40f;
}

.why_hero-cta {
background-color: #e67e22;
color: white;
border: none;
padding: 15px 30px;
border-radius: 4px;
font-size: 18px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.3s;
margin-top: 20px;
}

.why_hero-cta:hover {
background-color: #d35400;
}

/* Main Content */
.why_section {
padding: 80px 0;
background-color: white;
}

.why_section-alt {
background-color: #f8f9fa;
}

.why_section-title {
text-align: center;
font-size: 32px;
margin-bottom: 50px;
color: #1a5276;
position: relative;
}

.why_section-title:after {
content: '';
display: block;
width: 80px;
height: 4px;
background-color: #e67e22;
margin: 15px auto 0;
}

/* Benefits Section */
.why_benefits-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
margin-top: 40px;
}

.why_benefit-card {
background-color: white;
border-radius: 8px;
padding: 30px;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
transition: transform 0.3s, box-shadow 0.3s;
}

/*.why_benefit-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}*/

.why_benefit-icon {
font-size: 40px;
color: #1a5276;
margin-bottom: 20px;
}

.why_benefit-title {
font-size: 20px;
margin-bottom: 15px;
color: #1a5276;
}

.why_benefit-text {
color: #666;
margin-bottom: 15px;
}

.why_benefit-highlight {
font-weight: 600;
color: #e67e22;
}

/* Promise Section */
.why_promise-content {
max-width: 800px;
margin: 0 auto;
text-align: center;
}

.why_promise-text {
font-size: 18px;
margin-bottom: 30px;
line-height: 1.8;
}

.why_promise-list {
text-align: left;
max-width: 600px;
margin: 0 auto 40px;
}

.why_promise-list li {
margin-bottom: 15px;
position: relative;
padding-left: 30px;
}

.why_promise-list li:before {
content: '✓';
position: absolute;
left: 0;
color: #27ae60;
font-weight: bold;
}

/* CTA Section */
.why_cta-section {
background: #1e2f3f;
color: white;
text-align: center;
padding: 80px 0;
}

.why_cta-title {
font-size: 36px;
margin-bottom: 20px;
}

.why_cta-text {
font-size: 18px;
max-width: 700px;
margin: 0 auto 40px;
}

.why_cta-buttons {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}

.why_cta-primary {
background-color: #e67e22;
color: white;
border: none;
padding: 15px 30px;
border-radius: 4px;
font-size: 18px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.3s;
}

.why_cta-primary:hover {
background-color: #d35400;
}

.why_cta-secondary {
background-color: transparent;
color: white;
border: 2px solid white;
padding: 15px 30px;
border-radius: 4px;
font-size: 18px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.3s;
}

.why_cta-secondary:hover {
background-color: rgba(255,255,255,0.1);
}

/* Footer */
.why_footer {
background-color: #1a5276;
color: white;
padding: 60px 0 30px;
}

.why_footer-content {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 40px;
margin-bottom: 40px;
}

.why_footer-column h3 {
font-size: 20px;
margin-bottom: 20px;
position: relative;
padding-bottom: 10px;
}

.why_footer-column h3:after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 40px;
height: 2px;
background-color: #e67e22;
}

.why_footer-links {
list-style: none;
}

.why_footer-links li {
margin-bottom: 10px;
}

.why_footer-links a {
color: #ddd;
text-decoration: none;
transition: color 0.3s;
}

.why_footer-links a:hover {
color: white;
}

.why_footer-bottom {
text-align: center;
padding-top: 30px;
border-top: 1px solid rgba(255,255,255,0.1);
font-size: 14px;
color: #ddd;
}

/* Responsive Design */
@media (max-width: 768px) {
.why_navbar {
	flex-direction: column;
	text-align: center;
}

.why_nav-links {
	margin-top: 20px;
	flex-wrap: wrap;
	justify-content: center;
}

.why_nav-links li {
	margin: 5px 15px;
}

.why_hero-title {
	font-size: 32px;
}

.why_hero-subtitle {
	font-size: 18px;
}

.why_section-title {
	font-size: 28px;
}

.why_cta-buttons {
	flex-direction: column;
	align-items: center;
}

.why_cta-primary, .why_cta-secondary {
	width: 100%;
	max-width: 300px;
}
}

.crafts_espaco {
margin: 100px;
}

:root {
  --crafts_primary: #2c3e50;
  --crafts_secondary: #7f8c8d;
  --crafts_accent: #c19a6b;
  --crafts_light: #f5f5f5;
  --crafts_dark: #2c3e50;
  --crafts_shadow: rgba(0, 0, 0, 0.1);
}

/*.crafts_body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: var(--crafts_dark);
  line-height: 1.6;
  margin: 0;
  padding: 0;
  background-color: #f9f9f9;
}*/

.crafts_container {

  widht: 90%;
  margin: 0 auto;
  padding: 2rem;
}

.crafts_header {
  text-align: center;
  /*margin-bottom: 3rem;
  padding: 3rem 2rem;*/
  color: var(--crafts_primary);
  border-radius: 10px;
}

.crafts_title {
  font-size: 2.8rem;
  margin-bottom: 1rem;
}

.crafts_subtitle {
  font-size: 1.3rem;
  max-width: 800px;
  margin: 0 auto;
  opacity: 0.9;
}

.crafts_intro {
  text-align: center;
  margin-bottom: 3rem;
  font-size: 1.1rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  color: var(--crafts_primary);	  
}

.crafts_section {
  margin-bottom: 4rem;
  background: white;
  border-radius: 10px;
  overflow: hidden;

}

.crafts_section_header {
  padding: 2rem;
  background: var(--crafts_primary);
  color: white;
}

.crafts_section_title {
  font-size: 1.8rem;
  margin: 0;
}

.crafts_section_content {
  padding: 2rem;
  display: flex;
  flex-direction: column; /* força sempre coluna */
  gap: 2rem;
}

.crafts_section_text {
  flex: 1;
  min-width: 300px;
}

.crafts_section_image {
  flex: 1;
  min-width: 300px;
  border-radius: 8px;
  overflow: hidden;
  max-height: 600px;
}

.crafts_section_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
.crafts_section_image img {
width: 100%;
height: auto;
aspect-ratio: 1 / 1; /* mantém a imagem quadrada */
object-fit: cover;
}
}


.crafts_features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.crafts_feature {
  background: var(--crafts_light);
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid var(--crafts_accent);
}

.crafts_feature_title {
  font-size: 1.2rem;
  margin-top: 0;
  color: var(--crafts_primary);
}

.crafts_cta {
  text-align: center;
  margin-top: 3rem;
  padding: 2rem;
  background: var(--crafts_light);
  border-radius: 10px;
}

.crafts_cta_button {
  display: inline-block;
  background: var(--crafts_primary);
  color: white;
  padding: 1rem 2.5rem;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  margin-top: 1rem;
  transition: background 0.3s ease;
}

.crafts_cta_button:hover {
  background: var(--crafts_accent);
}

.crafts_section_button {
  text-align: center;
  margin: 1.5rem 0;
}

@media (max-width: 768px) {
  .crafts_title {
	font-size: 2.2rem;
  }
}

.crafts_prod_container {
width: 90%;
margin: 0 auto;
padding: 1rem;
}

.crafts_prod_header {
text-align: center;
padding: 2rem 0;
}

.crafts_prod_header h1 {
font-size: 2.5rem;
margin-bottom: 0.5rem;
color: #333;
}

.crafts_prod_header p {
font-size: 1.2rem;
color: #555;
}

.crafts_prod_section {
margin-bottom: 3rem;
}

.crafts_prod_section h2 {
font-size: 1.8rem;
margin-bottom: 1rem;
border-left: 4px solid #b8860b;
padding-left: 0.75rem;
color: #222;
}

.crafts_prod_section ul {
padding-left: 1.2rem;
}

.crafts_prod_section ul li {
margin-bottom: 0.5rem;
}

.crafts_prod_highlight {
background-color: #f4f4f4;
padding: 1.5rem;
border-radius: 8px;
box-shadow: 0 2px 6px rgba(0,0,0,0.08);
margin-bottom: 2rem;
}

.crafts_prod_footer {
text-align: center;
padding: 2rem 0;
background: #f2f2f2;
font-size: 0.9rem;
color: #555;
}

.crafts_prod_cta {
text-align: center;
margin-top: 2rem;
}

.crafts_prod_cta a {
display: inline-block;
padding: 0.75rem 1.5rem;
background-color: #b8860b;
color: #fff;
text-decoration: none;
font-weight: bold;
border-radius: 6px;
transition: background-color 0.3s ease;
}

.crafts_prod_cta a:hover {
background-color: #a0740a;
}

:root {
--textile_primary: #2c3e50;
--textile_secondary: #7f8c8d;
--textile_accent: #8b4513;
--textile_light: #f8f9fa;
--textile_dark: #2c3e50;
--textile_border: #e9ecef;
}

.textile_body {
color: var(--textile_dark);
line-height: 1.6;
margin: 0;
padding: 0;
background-color: #ffffff;
}

.textile_container {
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
}

.textile_header {
text-align: center;
margin-bottom: 3rem;
padding: 4rem 2rem;
background: linear-gradient(rgba(0, 0, 0, 0.3)), url('images/textil1.jpg') center/cover no-repeat;
color: white;
border-radius: 8px;
}

.textile_header.ghee {
background: linear-gradient(rgba(0, 0, 0, 0.3)), url('images/ghee.jpg') center/cover no-repeat;
}

.textile_header.paneer {
background: linear-gradient(rgba(0, 0, 0, 0.3)), url('images/paneer.jpg') center/cover no-repeat;
}


.textile_title {
font-size: 2.8rem;
margin-bottom: 1rem;
}

.textile_subtitle {
font-size: 1.3rem;
max-width: 800px;
margin: 0 auto;
opacity: 0.9;
}

.textile_section {
margin-bottom: 4rem;
}

.textile_section_title {
font-size: 2rem;
color: var(--textile_primary);
border-bottom: 2px solid var(--textile_accent);
padding-bottom: 0.5rem;
margin-bottom: 1.5rem;
}

.textile_features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin: 2rem 0;
}

.textile_feature {
background: var(--textile_light);
padding: 2rem;
border-radius: 8px;
border-left: 4px solid var(--textile_accent);
}

.textile_feature_title {
font-size: 1.3rem;
color: var(--textile_primary);
margin-top: 0;
}

.textile_table_wrapper {
position: relative;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
padding-bottom: 0.5rem;
}

.textile_table_wrapper::-webkit-scrollbar {
display: none; /* esconde barra no Chrome/Safari */
}
.textile_table_wrapper {
-ms-overflow-style: none;  /* IE/Edge */
scrollbar-width: none;     /* Firefox */
}

/* por padrão, sem seta */
.textile_table_wrapper::after {
display: none;
}

/* seta apenas em telas pequenas */
@media (max-width: 768px) {
.textile_table_wrapper::after {
	content: "➜";
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2rem;
	color: var(--textile_secondary);
	opacity: 0.5;
	pointer-events: none;
	transition: opacity 0.3s ease;
	display: block;
}

.textile_table_wrapper.scrolled::after {
	opacity: 0; /* some após scroll */
}
}

.textile_table {
width: 100%;
border-collapse: collapse;
margin: 2rem 0;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.textile_table th {
background-color: var(--textile_primary);
color: white;
padding: 1rem;
text-align: left;
}

.textile_table td {
padding: 1rem;
border-bottom: 1px solid var(--textile_border);
white-space: nowrap; /* força scroll se for estreito */
}

.textile_table tr:nth-child(even) {
background-color: var(--textile_light);
}

.textile_cta {
text-align: center;
margin-top: 3rem;
padding: 3rem;
background: var(--textile_light);
border-radius: 8px;
}

.textile_cta_button {
display: inline-block;
background: var(--textile_primary);
color: white;
padding: 1rem 2.5rem;
border-radius: 5px;
text-decoration: none;
font-weight: bold;
margin-top: 1rem;
transition: background 0.3s ease;
}

.textile_cta_button:hover {
background: var(--textile_accent);
}

.textile_highlight {
background-color: #fffaf0;
padding: 1.5rem;
border-left: 4px solid var(--textile_accent);
margin: 1.5rem 0;
}

@media (max-width: 768px) {
.textile_title {
	font-size: 2.2rem;
}

.textile_features {
	grid-template-columns: 1fr;
}
}

/* ----------------------------------- */
/* 1. CONTENTOR PRINCIPAL (Visor)      */
/* ----------------------------------- */
.slides_tt_container {
    position: relative;
    width: 1000px;
    max-width: 95%;
    height: 400px;
    margin: 40px auto 100px;
    background-color: white; 
    z-index: 1;
}

/* ----------------------------------- */
/* 2. PISTA (Track)                    */
/* ----------------------------------- */
.slides_tt_track {
    display: flex;
    width: 500%; /* 5 slides */
    transition: transform 0.6s ease-in-out;
}

/* ----------------------------------- */
/* 3. SLIDES (Items)                   */
/* ----------------------------------- */
.slides_tt_slide {
    position: relative;
    width: 20%; 
    height: 100%; 
    margin-right: 20px; 
}

/* Regra para remover a margem do ÚLTIMO slide */
.slides_tt_slide:last-child {
    margin-right: 0;
}

/* ----------------------------------- */
/* 4. Estilos dos Elementos Internos   */
/* ----------------------------------- */
.slides_tt_slide img {
    width: 100%;
    height: 100%;
    border-radius: 12px;
}

.slides_tt_content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    
    /* MUDANÇAS AQUI */
    flex-direction: column; 
    justify-content: flex-end; /* Move para a parte INFERIOR (fim) */
    align-items: flex-start; /* Move para a ESQUERDA (início) */
    
    color: white;
    text-align: left; /* Alinha o texto à esquerda */
    padding: 40px; /* Aumentar o padding para afastar dos cantos */
}

.slides_tt_content h2 {
    font-size: 28px;
    margin-bottom: 20px;
    /* text-shadow: 0 2px 4px rgba(0,0,0,0.6); <- Pode querer remover esta sombra também se quiser um design totalmente plano */
}

.slides_tt_button {
    background: #ff6b6b;
    color: white;
    border: none;
    padding: 12px 24px;
    font-size: 16px;
    border-radius: 30px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.slides_tt_button:hover {
    background: #ff5252;
}

/* ----------------------------------- */
/* 5. BOTÕES DE NAVEGAÇÃO (Solução Profissional 1) */
/* ----------------------------------- */
.slides_tt_prev,
.slides_tt_next {
    /* Posicionamento (manter) */
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;

    /* Estilo Profissional */
    background: rgba(0, 0, 0, 0.4); /* Fundo Preto Semi-Transparente */
    border: none;
    color: white; /* Cor da Seta Branca */
    
    /* Dimensões */
    width: 40px; /* Um pouco mais pequenos */
    height: 60px; /* Formato retangular alto */
    font-size: 20px; /* Tamanho da seta */
    
    /* Remover o hover */
    transition: none; 
}

/* Arredondamento das Bordas (ajuste fino) */
.slides_tt_prev {
    left: 0; /* Colar à esquerda */
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.slides_tt_next {
    right: 0; /* Colar à direita */
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

/* ----------------------------------- */
/* 6. MEDIA QUERIES (Mobile First Adjustments) */
/* ----------------------------------- */

/* Aplica estilos quando a largura do ecrã é 600px ou menos (Típico para Telemóveis) */
@media (max-width: 600px) {
    
    /* 1. CONTENTOR PRINCIPAL (Visor) - Reduzir Altura e Margens */
    .slides_tt_container {
        /* Reduzir a altura para um carrossel mais compacto */
        height: 250px; 
        /* Reduzir a margem superior/inferior para ocupar menos espaço */
        margin: 20px auto; 
    }

    /* 2. PISTA (Track) - Não precisa de alterações */

    /* 3. SLIDES (Items) - Não precisa de alterações no width/height relativos */

    /* 4. Estilos dos Elementos Internos - Otimizar Conteúdo */
    .slides_tt_content {
        /* Reduzir o padding para que o conteúdo não fique tão afastado dos cantos */
        padding: 20px; 
    }

    .slides_tt_content h2 {
        /* Reduzir o tamanho do título */
        font-size: 20px; 
        /* Menos margem entre o título e o botão */
        margin-bottom: 10px; 
    }

    .slides_tt_button {
        /* Reduzir o tamanho do botão */
        padding: 8px 16px; 
        font-size: 14px;
        /* Remover o botão pode ser uma opção para ecrãs muito pequenos 
           (Descomente a linha abaixo se preferir removê-lo completamente) */
        /* display: none; */ 
    }

    /* 5. BOTÕES DE NAVEGAÇÃO - Tornar mais discretos */
    .slides_tt_prev,
    .slides_tt_next {
        /* Reduzir a largura e altura */
        width: 30px; 
        height: 40px; 
        /* Reduzir o tamanho da seta */
        font-size: 16px; 
        /* Tornar mais transparente para ser menos intrusivo */
        background: rgba(0, 0, 0, 0.3); 
    }
}

:root {
--extended-primary: #1a365d;
--extended-secondary: #2c5282;
--extended-accent: #3182ce;
--extended-light: #f8fafc;
--extended-gray: #64748b;
--extended-dark: #0f172a;
--extended-border: #e2e8f0;
--extended-success: #22c55e;
}

/*body {
font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
line-height: 1.6;
color: var(--extended-dark);
background-color: var(--extended-light);
}*/

/* Typography */
.extended-h1 {
font-size: 2.5rem;
font-weight: 700;
line-height: 1.2;
margin-bottom: 1rem;
color: var(--extended-primary);
}

.extended-h2 {
font-size: 1.875rem;
font-weight: 700;
margin: 2.5rem 0 1.5rem;
color: var(--extended-secondary);
}

.extended-h3 {
font-size: 1.25rem;
font-weight: 600;
margin: 1.5rem 0 1rem;
color: var(--extended-primary);
}

.extended-lead {
font-size: 1.125rem;
color: var(--extended-gray);
margin-bottom: 2rem;
}

.extended-text {
margin-bottom: 1rem;
color: var(--extended-dark);
}

/* Layout */
.extended-container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}

.extended-section {
padding: 4rem 0;
}

.extended-section--light {
background-color: white;
}

.extended-section--gray {
background-color: #f1f5f9;
}

/* Header */
.extended-header {
padding: 2rem 0;
background-color: white;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.extended-header-content {
display: flex;
justify-content: space-between;
align-items: center;
}

.extended-logo {
font-size: 1.5rem;
font-weight: 700;
color: var(--extended-primary);
text-decoration: none;
}

/* Navigation */
.extended-nav {
display: flex;
gap: 2rem;
}

.extended-nav-link {
text-decoration: none;
color: var(--extended-gray);
font-weight: 500;
transition: color 0.2s;
}

.extended-nav-link:hover {
color: var(--extended-primary);
}

/* Hero Section */
.extended-hero {
text-align: center;
padding: 5rem 0;
}

.extended-hero-subtitle {
font-size: 1.25rem;
color: var(--extended-gray);
margin-bottom: 2rem;
max-width: 700px;
margin-left: auto;
margin-right: auto;
}

/* Service Pillars */
.extended-pillars-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-top: 2rem;
}

.extended-pillar-card {
background: white;
border: 1px solid var(--extended-border);
border-radius: 12px;
padding: 2rem;
transition: transform 0.2s, box-shadow 0.2s;
}

/*.extended-pillar-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}*/

.extended-pillar-number {
display: inline-block;
width: 32px;
height: 32px;
background: var(--extended-accent);
color: white;
border-radius: 50%;
text-align: center;
line-height: 32px;
font-weight: bold;
margin-bottom: 1rem;
}

.extended-pillar-list {
list-style: none;
margin-top: 1rem;
}

.extended-pillar-list li {
padding: 0.5rem 0;
padding-left: 1.5rem;
position: relative;
}

.extended-pillar-list li:before {
content: "•";
color: var(--extended-accent);
position: absolute;
left: 0;
font-size: 1.2rem;
}

/* Advantage Section */
.extended-advantage-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
margin-top: 2rem;
}

.extended-advantage-item {
text-align: center;
padding: 1.5rem;
}

.extended-advantage-icon {
width: 60px;
height: 60px;
background: rgba(49, 130, 206, 0.1);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1rem;
color: var(--extended-accent);
font-size: 1.5rem;
}

/* Who Benefits */
.extended-benefits-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
margin-top: 2rem;
}

.extended-benefit-item {
background: white;
padding: 1.5rem;
border-radius: 8px;
border-left: 4px solid var(--extended-accent);
}

/* CTA Section */
.extended-cta {
text-align: center;
padding: 4rem 0;
}

.extended-btn {
display: inline-block;
background: var(--extended-primary);
color: white;
padding: 0.75rem 2rem;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
transition: background 0.2s;
margin: 1rem 0;
}

.extended-btn:hover {
background: var(--extended-secondary);
}

.extended-btn--outline {
background: transparent;
border: 2px solid var(--extended-primary);
color: var(--extended-primary);
}

.extended-btn--outline:hover {
background: var(--extended-primary);
color: white;
}

.extended-links {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1.5rem;
margin-top: 2rem;
}

.extended-link-item {
text-align: center;
}

.extended-link-title {
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--extended-primary);
}

.extended-link {
color: var(--extended-accent);
text-decoration: none;
}

.extended-link:hover {
text-decoration: underline;
}

/* Footer */
.extended-footer {
background: var(--extended-dark);
color: white;
padding: 3rem 0;
text-align: center;
}

.extended-footer-text {
color: #94a3b8;
margin-top: 1rem;
}

/* Responsive */
@media (max-width: 768px) {
.extended-h1 {
font-size: 2rem;
}

.extended-h2 {
font-size: 1.5rem;
}

.extended-hero {
padding: 3rem 0;
}

.extended-section {
padding: 2rem 0;
}

.extended-nav {
display: none;
}
}

.insights_a_container {
max-width: 90%;
margin: 0 auto;
padding: 2rem;
}
.insights_a_header {
text-align: center;
margin-bottom: 2rem;
background: #f4f4f4;
padding: 1.5rem;
}
.insights_a_header h1 {
font-size: 2rem;
margin: 0;
color: white;
color: #004080;
}
.insights_a_article {
background: #f4f4f4;
border-radius: 5px;
box-shadow: 0 2px 6px rgba(0,0,0,0.08);
margin-bottom: 1.5rem;
padding: 1.5rem;
transition: transform 0.2s ease;
}

.insights_a_title {
font-size: 1.4rem;
margin: 0 0 0.5rem;
color: #004080;
}
.insights_a_subtitle {
font-size: 1rem;
color: #555;
margin: 0 0 0.5rem;
}
.insights_a_date {
font-size: 0.85rem;
color: #888;
margin-bottom: 1rem;
}
.insights_a_body {
font-size: 1rem;
line-height: 1.5;
color: #333;
}

.pagina_p_body{
/*font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;*/
margin: 0;
color: #14213d;
/*background: linear-gradient(180deg,#f7f9fb 0%, #ffffff 100%);*/
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 1.6;
}

.pagina_p_container{
max-width: 95%;
margin: 32px auto;
padding: 24px;
}

.pagina_p_header{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
margin-bottom:20px;
}

.pagina_p_logo{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
color:inherit;
}

.pagina_p_logo_mark{
width:48px;height:48px;border-radius:8px;background:#e9ecef;display:inline-grid;place-items:center;font-weight:700;color:#0b3d91
}

.pagina_p_nav{
display:flex;gap:12px;align-items:center;
}

.pagina_p_button{
padding:10px 16px;border-radius:8px;border:1px solid rgba(11,61,145,0.12);background:#0b3d91;color:#fff;text-decoration:none;font-weight:600;display:inline-block;
}

.pagina_p_hero{
background: linear-gradient(90deg, rgba(11,61,145,0.06), rgba(3,155,133,0.02));
padding:28px;border-radius:14px;margin-bottom:22px;display:flex;gap:20px;flex-wrap:wrap;align-items:center;
}

.pagina_p_hero_text{flex:1;min-width:260px}
.pagina_p_h1{font-size:22px;margin:0 0 6px;font-weight:800}
.pagina_p_lead{margin:0;color:#34495e}

.pagina_p_grid{
display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px;
}

.pagina_p_section{background:linear-gradient(90deg, rgba(11,61,145,0.06), rgba(3,155,133,0.02));;border-radius:12px;padding:18px}
.pagina_p_h2{font-size:18px;margin:0 0 10px}
.pagina_p_list{padding-left:18px;margin:6px 0}
.pagina_p_list_item{margin:6px 0}

.pagina_p_card{padding:14px;border-radius:10px;background:linear-gradient(180deg,#ffffff,#fbfdff);border:1px solid #eef5fb}

.pagina_p_process{display:flex;flex-direction:column;gap:10px}
.pagina_p_step{display:flex;gap:12px;align-items:flex-start}
.pagina_p_step_index{min-width:34px;height:34px;border-radius:8px;background:#eef6ff;color:#0b3d91;display:grid;place-items:center;font-weight:700}

.pagina_p_footer{margin-top:30px;padding:18px;border-radius:10px;background:linear-gradient(90deg,#f1f8f9,#ffffff);display:flex;justify-content:space-between;align-items:center;gap:12px}

.pagina_p_cta_group{display:flex;gap:10px;flex-wrap:wrap}

/* Responsivo */
@media (max-width:800px){
.pagina_p_grid{grid-template-columns:1fr}
.pagina_p_header{flex-direction:column;align-items:flex-start}
.pagina_p_hero{flex-direction:column;align-items:flex-start}
}

.contact-hero {
background: linear-gradient(135deg, #1a2a3a 0%, #2c3e50 100%);
color: white;
padding: 80px 20px;
text-align: center;
}

.contact-hero h1 {
font-size: 3em;
margin-bottom: 20px;
font-weight: 300;
}

.contact-hero p {
font-size: 1.2em;
max-width: 600px;
margin: 0 auto;
opacity: 0.9;
}

.container-contact {
max-width: 1200px;
margin: 60px auto;
padding: 0 20px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: start;
}

.contact-info-card {
background: #f8f9fa;
padding: 40px;
border-radius: 12px;
border-left: 5px solid #2c3e50;
}

.contact-method {
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 1px solid #e0e0e0;
}

.contact-method:last-child {
border-bottom: none;
margin-bottom: 0;
}

.contact-method h3 {
color: #2c3e50;
margin-bottom: 10px;
font-size: 1.3em;
}

.contact-method p {
margin: 5px 0;
font-size: 1.1em;
}

.contact-method a {
color: #2c3e50;
text-decoration: none;
transition: color 0.3s ease;
}

.contact-method a:hover {
color: #1a5276;
}

.messaging-apps {
display: flex;
gap: 15px;
margin-top: 15px;
}

.app-button {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 20px;
background: white;
border: 2px solid #e0e0e0;
border-radius: 8px;
text-decoration: none;
color: #333;
transition: all 0.3s ease;
font-weight: 500;
}

.app-button:hover {
border-color: #2c3e50;
transform: translateY(-2px);
}

.whatsapp-button:hover {
border-color: #25D366;
color: #25D366;
}

.telegram-button:hover {
border-color: #0088cc;
color: #0088cc;
}

.strategic-content {
padding: 20px 0;
}

.strategic-content h1 {
color: #2c3e50;
font-size: 2.5em;
margin-bottom: 25px;
font-weight: 300;
}

.strategic-content p {
font-size: 1.1em;
line-height: 1.7;
color: #555;
margin-bottom: 25px;
}

.services-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin: 30px 0;
}

.service-item {
padding: 15px;
background: white;
border: 1px solid #e0e0e0;
border-radius: 8px;
}

.service-item strong {
color: #2c3e50;
}

.next-steps {
background: #e8f4fd;
padding: 25px;
border-radius: 8px;
margin-top: 30px;
border-left: 4px solid #2c3e50;
}

.next-steps h4 {
color: #2c3e50;
margin-bottom: 15px;
}

@media (max-width: 768px) {
.container-contact {
	grid-template-columns: 1fr;
	gap: 40px;
}

.contact-hero h1 {
	font-size: 2.2em;
}

.services-grid {
	grid-template-columns: 1fr;
}
}

.fee_wrapper {
width: 100%;
padding: 20px 0;
}

.fee_container {
max-width: 720px;
max-width: 80%;
margin: 0 auto;
background-color: #ffffff;
padding: 40px;
/*border-radius: 12px;
box-shadow: 0 2px 12px rgba(0,0,0,0.08);*/
line-height: 1.6;
}

.fee_header {
text-align: center;
margin-bottom: 40px;
}

.fee_header h1 {
color: #0e4a7b;
margin-bottom: 10px;
}

.fee_section {
margin-bottom: 32px;
}

.fee_section h2 {
color: #0e4a7b;
border-bottom: 2px solid #0e4a7b;
padding-bottom: 6px;
margin-bottom: 12px;
font-size: 20px;
}

.fee_section h3 {
color: #184d8a;
margin-top: 20px;
margin-bottom: 6px;
font-size: 17px;
}

.fee_highlight {
font-weight: bold;
color: #184d8a;
}

.fee_list {
margin: 8px 0 12px 20px;
}

.fee_list li {
margin-bottom: 5px;
}

.fee_divider {
border-top: 1px solid #e0e0e0;
margin: 30px 0;
}

.fee_button {
display: inline-block;
background-color: #184d8a;
color: #ffffff;
padding: 12px 22px;
text-decoration: none;
border-radius: 8px;
font-weight: bold;
transition: background-color 0.3s;
}

.fee_button:hover {
background-color: #0e4a7b;
}

.fee_footer {
font-size: 13px;
color: #777;
text-align: center;
margin-top: 40px;
}

/* Mobile Responsive Adjustments */
@media (max-width: 600px) {
.fee_container {
  padding: 24px 20px;
  border-radius: 8px;
  box-shadow: none;
}

.fee_header h1 {
  font-size: 22px;
}

.fee_header h2 {
  font-size: 18px;
}

.fee_section h2 {
  font-size: 18px;
}

.fee_section h3 {
  font-size: 16px;
}

.fee_button {
  width: 100%;
  text-align: center;
  padding: 14px 0;
}

.fee_list {
  margin-left: 15px;
}
}

.produto_search {
  /* Mantém a margem superior e inferior de 20px */
  /* Define a margem esquerda e direita para 'auto' para centralizar */
  margin: 40px auto; 
  width: 50%;
}

.video_container {
max-width: 800px;
margin: 50px auto;
/*background: #1a1a1a;*/
border-radius: 12px;
/*overflow: hidden;*/
/*box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);*/
font-family: 'Segoe UI', system-ui, sans-serif;
}

.video_player {
width: 100%;
/*height: 450px;*/
/*background: #000;*/
display: block;
}

.video_controls {
padding: 20px;
background: #2d2d2d;
display: flex;
align-items: center;
gap: 15px;
}

.video_button {
background: none;
border: none;
color: #fff;
cursor: pointer;
padding: 8px;
border-radius: 50%;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}

.video_button:hover {
background: rgba(255, 255, 255, 0.1);
transform: scale(1.1);
}

.video_progress {
flex: 1;
height: 6px;
background: #404040;
border-radius: 3px;
overflow: hidden;
cursor: pointer;
position: relative;
}

.video_progressBar {
height: 100%;
background: #ff4757;
border-radius: 3px;
width: 0%;
transition: width 0.1s ease;
}

.video_time {
color: #ccc;
font-size: 14px;
font-weight: 500;
min-width: 100px;
text-align: center;
}

.video_volume {
display: flex;
align-items: center;
gap: 10px;
}

.video_volumeSlider {
width: 80px;
height: 4px;
background: #404040;
border-radius: 2px;
cursor: pointer;
position: relative;
}

.video_volumeLevel {
height: 100%;
background: #fff;
border-radius: 2px;
width: 100%;
}

.video_fullscreen {
margin-left: auto;
}

.video_title {
color: #fff;
font-size: 18px;
font-weight: 600;
padding: 15px 20px;
background: #252525;
border-bottom: 1px solid #404040;
}

.video_button.active {
color: #ff4757;
}

.video_container.fullscreen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
max-width: none;
margin: 0;
z-index: 1000;
}

.video_container.fullscreen .video_player {
height: calc(100vh - 80px);
}

@keyframes video_fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

.video_container {
animation: video_fadeIn 0.5s ease-out;
}

.video1_container-hero {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  overflow: hidden;
  margin: 0;
}

.video1_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.video1_container-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 0;
}

.video1_content {
  position: relative;
  z-index: 1;
}

.video1_content h1 {
  font-size: 60px;
}

.video1_bg {
  filter: brightness(0.6); /* 0.4 = mais escuro, 1 = normal */
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

/* Container principal do slider */
.sliderb_container {
  position: relative;
  width: 100%;
  height: 100vh; /* ocupa toda a altura da janela */
  overflow: hidden;
}

/* Slides individuais */
.sliderb_slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  background-size: cover;
  background-position: center;
}

.sliderb_slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  background-size: cover;
  background-position: center;
  background-color: rgba(0, 0, 0, 0.4); /* camada escura */
  background-blend-mode: darken; /* mistura a cor com a imagem */
}


/* Slide ativo visível */
.sliderb_slide.active {
  opacity: 1;
}

/* Indicadores (pontos) */
.sliderb_indicators {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.sliderb_dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background 0.3s;
}

.sliderb_dot.active {
  background: #fff;
}

.sliderb_title {
  position: absolute;
  top: 50%; /* centraliza verticalmente */
  left: 50%; /* centraliza horizontalmente */
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.5); /* deixa o texto legível sobre imagens */
  text-align: center;
  pointer-events: none; /* evita que o título interfira em cliques */
}



@media (max-width: 600px) {
  .sliderb_title h1{
	font-size: 4rem;
  }
}

.chatj_container {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
z-index: 10000;
}

.chatj_container.fixo {
position: fixed;
bottom: 20px;
right: 20px;
}

.chatj_container.botao {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
z-index: 10000;
margin: 10px;
}


/* Chat button */
.chatj_button {
background-color: #4a6ee0;
color: white;
border: none;
border-radius: 50px;
padding: 12px 20px;
cursor: pointer;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
font-size: 16px;
font-weight: 500;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.3s ease;
}

.chatj_button:hover {
background-color: #3a5ed0;
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* Chat window */
.chatj_window {
width: 700px;
height: 500px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
display: flex;
flex-direction: column;
overflow: hidden;
transition: all 0.3s ease;
opacity: 0;
transform: translateY(10px);
visibility: hidden;
position: fixed;
bottom: 80px; /* fica acima do botão */
right: 20px;
z-index: 10000;
}

.chatj_window--open {
opacity: 1;
transform: translateY(0);
visibility: visible;
}

/* Header */
.chatj_header {
background-color: #4a6ee0;
color: white;
padding: 16px;
display: flex;
justify-content: space-between;
align-items: center;
}

.chatj_title {
font-size: 18px;
font-weight: 600;
}

.chatj_close {
background: none;
border: none;
color: white;
font-size: 20px;
cursor: pointer;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: background-color 0.2s;
}

.chatj_close:hover {
background-color: rgba(255, 255, 255, 0.2);
}

/* Messages area */
.chatj_messages {
flex: 1;
padding: 16px;
overflow-y: auto;
display: flex;
flex-direction: column;
gap: 12px;
background-color: #f8f9fa;
}

.chatj_message {
max-width: 80%;
padding: 12px 16px;
border-radius: 18px;
line-height: 1.4;
word-wrap: break-word;
}

.chatj_message--bot {
background-color: #e9ecef;
color: #333;
border-bottom-left-radius: 4px;
align-self: flex-start;
}

.chatj_message--user {
background-color: #4a6ee0;
color: white;
border-bottom-right-radius: 4px;
align-self: flex-end;
}

/* Bot message content styling */
.chatj_message--bot .chatj_bold {
font-weight: 600;
color: #2c3e50;
}

.chatj_message--bot .chatj_list {
margin: 8px 0;
padding-left: 20px;
}

.chatj_message--bot .chatj_list-item {
margin-bottom: 6px;
position: relative;
}

.chatj_message--bot .chatj_list-item::before {
content: "•";
position: absolute;
left: -12px;
color: #4a6ee0;
}

.chatj_message--bot .chatj_contact {
margin-top: 12px;
padding: 8px 12px;
background-color: rgba(74, 110, 224, 0.1);
border-radius: 8px;
border-left: 3px solid #4a6ee0;
}

/* Input area */
.chatj_input-area {
padding: 16px;
border-top: 1px solid #e9ecef;
display: flex;
gap: 8px;
background-color: white;
}

.chatj_input {
flex: 1;
padding: 12px 16px;
border: 1px solid #e9ecef;
border-radius: 24px;
outline: none;
font-size: 14px;
transition: border-color 0.2s;
}

.chatj_input:focus {
border-color: #4a6ee0;
}

.chatj_send {
background-color: #4a6ee0;
color: white;
border: none;
border-radius: 50%;
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background-color 0.2s;
}

.chatj_send:hover {
background-color: #3a5ed0;
}

.chatj_send:disabled {
background-color: #a0aec0;
cursor: not-allowed;
}

/* Typing indicator */
.chatj_typing {
display: flex;
gap: 4px;
padding: 12px 16px;
background-color: #e9ecef;
border-radius: 18px;
border-bottom-left-radius: 4px;
align-self: flex-start;
max-width: 80px;
}

.chatj_typing-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background-color: #6c757d;
animation: chatj_typing-animation 1.4s infinite ease-in-out;
}

.chatj_typing-dot:nth-child(1) {
animation-delay: -0.32s;
}

.chatj_typing-dot:nth-child(2) {
animation-delay: -0.16s;
}

@keyframes chatj_typing-animation {
0%, 80%, 100% {
	transform: scale(0.8);
	opacity: 0.5;
}
40% {
	transform: scale(1);
	opacity: 1;
}
}

/* Mobile responsiveness */
@media (max-width: 760px) {
  .chatj_container {
    bottom: 10px;
    right: 10px;
    left: auto; /* Remove left positioning */
  }

  .chatj_window {
    width: 90vw; /* Use viewport width */
    height: 70vh;
    max-height: 500px;
    right: 5%; /* Center it or keep it on the right */
    bottom: 80px; /* Adjust based on button position */
  }

  .chatj_button {
    width: auto; /* Don't force full width */
    justify-content: center;
    padding: 12px 20px; /* Keep original padding */
  }
}

/* Blog Container */
        /* Blog Container */
        .bloga_container {
            /*max-width: 1200px;*/
            margin: 0 auto;
            padding: 0 20px;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
            line-height: 1.6;
            color: #333;
            background-color: #f8f9fa;			
        }

        /* Header */
        .bloga_header {
            padding: 40px 0;
            text-align: center;
            border-bottom: 1px solid #eaeaea;
            margin-bottom: 40px;
        }

        .bloga_title {
            font-size: 2.5rem;
            font-weight: 700;
            color: #1a1a1a;
            margin-bottom: 10px;
        }

        .bloga_subtitle {
            font-size: 1.1rem;
            color: #666;
            max-width: 600px;
            margin: 0 auto;
        }

        /* Search Bar */
        .bloga_search_container {
            margin-bottom: 40px;
            position: relative;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }

        .bloga_search_input {
            width: 100%;
            padding: 15px 20px;
            font-size: 1rem;
            border: 1px solid #ddd;
            border-radius: 8px;
            background-color: white;
            transition: all 0.3s ease;
        }

        .bloga_search_input:focus {
            outline: none;
            border-color: #4a90e2;
            box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
        }

        /* Posts Grid */
        .bloga_posts_grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
            gap: 30px;
            margin-bottom: 60px;
        }

        /* Post Card */
        .bloga_post_card {
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .bloga_post_card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }

        .bloga_post_image {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }

        .bloga_post_content {
            padding: 25px;
        }

        .bloga_post_category {
            display: inline-block;
            font-size: 0.8rem;
            font-weight: 600;
            color: #4a90e2;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 10px;
        }

        .bloga_post_title {
            font-size: 1.4rem;
            font-weight: 700;
            margin-bottom: 15px;
            color: #1a1a1a;
            line-height: 1.3;
        }

        .bloga_post_excerpt {
            color: #666;
            margin-bottom: 15px;
            line-height: 1.5;
            font-style: italic;
        }

        .bloga_post_full_content {
            color: #444;
            line-height: 1.6;
            margin-bottom: 20px;
        }

        .bloga_post_meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.85rem;
            color: #888;
            border-top: 1px solid #f0f0f0;
            padding-top: 15px;
        }

        .bloga_post_author {
            font-weight: 600;
        }

        .bloga_post_date {
            font-style: italic;
        }

        .bloga_post_tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 15px 0;
        }

        .bloga_post_tag {
            background: #f0f0f0;
            color: #666;
            padding: 4px 10px;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 500;
        }

        /* No Results Message */
        .bloga_no_results {
            text-align: center;
            padding: 40px 20px;
            color: #666;
            font-size: 1.1rem;
            grid-column: 1 / -1;
        }

        /* Footer */
        .bloga_footer {
            text-align: center;
            padding: 40px 0;
            color: #888;
            border-top: 1px solid #eaeaea;
            margin-top: 40px;
        }

        /* Responsive Adjustments */
        @media (max-width: 768px) {
            .bloga_posts_grid {
                grid-template-columns: 1fr;
            }
            
            .bloga_title {
                font-size: 2rem;
            }
            
            .bloga_header {
                padding: 30px 0;
            }
        }

        @media (max-width: 480px) {
            .bloga_container {
                padding: 0 15px;
            }
            
            .bloga_post_content {
                padding: 20px;
            }
        }
		
/* Container principal do grid */
.grida_container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 40px;
  background-color: #f4f4f4;
}

/* Cartão base */
.grida_card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  overflow: hidden;
  transition: transform 0.3s ease;
}

/* Imagem do cartão */
.grida_img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

/* Secção de texto */
.grida_texto {
  flex-grow: 1;
  padding: 20px;
}

.grida_titulo {
  margin: 0 0 10px;
  font-size: 1.4rem;
  color: #333;
}

.grida_titulo_r {
  margin: 0 0 10px;
  font-size: 1.4rem;
  color: #fff;               /* cor do texto dentro do círculo */
  background-color: #0b3d91; /* azul escuro */
  width: 50px;               /* largura do círculo */
  height: 50px;              /* altura do círculo */
  border-radius: 50%;        /* transforma em círculo */
  display: flex;             /* usar flex para centralizar o número */
  justify-content: center;   /* centraliza horizontalmente */
  align-items: center;       /* centraliza verticalmente */
  text-align: center;
}


.grida_descricao {
  color: #666;
  font-size: 1rem;
  line-height: 1.5;
}

/* Botão */

.grida_botao {
  display: inline-block;       /* faz o <a> se comportar como botão */
  text-decoration: none;       /* remove o sublinhado */
  text-align: center;          /* centraliza o texto */
  margin: 0 auto 30px auto;    /* mantém a margem inferior e centraliza horizontalmente */
  padding: 15px 16px;
  background-color: #0b3d91;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
  transition: background 0.3s;
  width: 50%;
}

.grida_botao:hover {
  background-color: #005fcc;
}

/* Responsivo */
@media (max-width: 900px) {
  .grida_container {
    grid-template-columns: 1fr;
  }
}

.destaque_a {
  display: flex;
  flex-direction: column;
  justify-content: center; /* centra verticalmente */
  align-items: center;     /* centra horizontalmente */
  padding: 40px;
  background-color: #f4f4f4;
  width: 90%;
  margin: 40px auto; /* cima, direita, baixo, esquerda */
  border-radius: 10px;
}

.destaque_b {
  display: flex;
  flex-direction: column;
  justify-content: center; /* centra verticalmente */
  align-items: center;     /* centra horizontalmente */
  padding: 40px;
  background-color: #f4f4f4;
  width: 60%;
  margin: 20px auto; /* cima, direita, baixo, esquerda */
  border-radius: 10px;
}

.destaque_c {
  display: flex;
  flex-direction: column;
  justify-content: center; /* centra verticalmente */
  align-items: center;     /* centra horizontalmente */
  padding: 40px;
  background-color: #f4f4f4;
  width: 60%;
  margin: 20px auto; /* cima, direita, baixo, esquerda */
  border-radius: 10px;
}

.destaque_d {
  display: flex;
  flex-direction: column;
  justify-content: center; /* centra verticalmente */
  align-items: center;     /* centra horizontalmente */
  padding: 40px;
  width: 77%;
  margin: 20px auto; /* cima, direita, baixo, esquerda */
  border-radius: 10px;
}

.destaque_d h1 {
	font-size: 60px;
}


.destaque_c h1 {
	font-size: 44px;
}

.destaque_a,
.destaque_b,
.destaque_c {
  display: flex;
  flex-direction: column;
  justify-content: center; /* centra verticalmente */
  align-items: center;     /* centra horizontalmente */
  padding: 40px;
  background-color: #f4f4f4;
  border-radius: 10px;
  margin: 20px auto;
}

/* Larguras específicas para desktop */
.destaque_a { width: 90%; margin: 40px auto; }
.destaque_b, 
.destaque_c { width: 60%; }

.destaque_b {
  padding: 10px;
  margin: 20px auto;
  background-color: white;
}



/* Tamanho do título */
.destaque_c h1 {
  font-size: 44px;
  text-align: left;
}

.destaque_a h1 {
  font-size: 44px;
  text-align: center;
}

.destaque_b h1 {
  font-size: 44px;
  text-align: center;
}

/* MOBILE-FRIENDLY */
@media (max-width: 768px) {
  .destaque_a,
  .destaque_b,
  .destaque_c {
    width: 90%;        /* ocupar quase toda a tela */
    padding: 20px;     /* reduzir padding em telas menores */
  }

  .destaque_c h1 {
    font-size: 44px;   /* ajustar tamanho do título */
  }

  .destaque_b h1 {
    font-size: 44px;   /* ajustar tamanho do título */
  }

  .destaque_a h1 {
    font-size: 44px;   /* ajustar tamanho do título */
  }

  .destaque_d h1 {
    font-size: 55px;   /* ajustar tamanho do título */
  }

}


.imagem_mapa img{
  display: flex;
  max-width: 60%;
  border-radius: 16px;
  margin: 0 auto;
}

@media (max-width: 760px) {
  .imagem_mapa img {
    max-width: 90%;
  }
}

/* Container principal */
.tabelav_container {
  padding: 40px 20px;
  color: #333;
  background-color: #f8f8f8;
  border-radius: 10px;
}

/* Header */
.tabelav_header h1 {
  font-size: 2.5rem;
  margin-bottom: 10px;
  color: #111;
}

.tabelav_header p {
  font-size: 1.1rem;
  margin-bottom: 30px;
  color: #555;
  line-height: 1.6;
}

/* Wrapper dos cards */
.tabelav_cards_wrapper {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 20px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding-left: 10px;
  padding-right: 10px;
}

.tabelav_cards_wrapper::-webkit-scrollbar {
  display: none; /* esconde scrollbar */
}

/* Card individual */
.tabelav_card {
  min-width: 320px;
  max-width: 90%;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  padding: 25px;
  flex: 0 0 auto;
  scroll-snap-align: start;
  /*transition: transform 0.3s, box-shadow 0.3s;*/
}

/*.tabelav_card:hover,
.tabelav_card:focus {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0,0,0,0.12);
}*/

/* Header interno do card */
.tabelav_card_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.tabelav_card_header h2 {
  font-family: 'Georgia', serif;
  font-size: 1.4rem;
  margin: 0;
  color: #111;
}

/* Badge de certificação */
.tabelav_badge {
  background-color: #cfa15f;
  color: #fff;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: bold;
  text-transform: uppercase;
}

/* Lista de atributos do card */
.tabelav_card_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tabelav_card_list li {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 8px;
  position: relative;
  padding-left: 12px;
}

.tabelav_card_list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #cfa15f;
}

/* Media query para mobile */
@media (max-width: 768px) {
  .tabelav_card {
    min-width: 260px;
    max-width: 95%;
    padding: 20px;
  }
}

/* Pequenos ajustes responsivos para tablets */
@media (max-width: 1024px) {
  .tabelav_cards_wrapper {
    gap: 15px;
  }
  .tabelav_card {
    min-width: 280px;
    max-width: 95%;
  }
}

.teste {
display: flex;
width: 80%;
flex-direction: column; /* força sempre coluna */
margin: 20px;
}

.destaque_seo {
  display: flex;
  flex-direction: column;
  justify-content: center; /* centra verticalmente */
  align-items: center;     /* centra horizontalmente */
  padding: 40px;
  background-color: #f4f4f4;
  width: 90%;
  margin: 40px auto; /* cima, direita, baixo, esquerda */
  border-radius: 10px;
}

.sitemap-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.sitemap-header {
    text-align: center;
    margin-bottom: 50px;
}

.sitemap-header h1 {
    font-size: 2.5rem;
    color: #2d3748;
    margin-bottom: 15px;
}

.sitemap-section {
    margin-bottom: 50px;
}

.sitemap-section h2 {
    font-size: 1.8rem;
    color: #4a5568;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 10px;
    margin-bottom: 25px;
}

.sitemap-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.sitemap-category h3 {
    font-size: 1.3rem;
    color: #2d3748;
    margin-bottom: 15px;
}

.sitemap-category ul {
    list-style: none;
    padding: 0;
}

.sitemap-category li {
    margin-bottom: 8px;
}

.sitemap-category a {
    color: #4a5568;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sitemap-category a:hover {
    color: #2b6cb0;
    text-decoration: underline;
}

.sitemap-cta {
    text-align: center;
    background: #f7fafc;
    padding: 40px;
    border-radius: 10px;
    margin-top: 50px;
}

/* Botão para abrir o modal */
.bot_previsao_open_btn {
    position: fixed;
    /*bottom: 30px;
    right: 30px;*/
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 50px;
    padding: 15px 25px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    z-index: 10000000;
    display: flex;
    align-items: center;
    gap: 8px;
}

.bot_previsao_open_btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

/* Modal */
.bot_previsao_modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100000;
    animation: bot_previsao_fadeIn 0.3s ease;
}

.bot_previsao_modal_content {
    position: absolute;
    bottom: 0;
    right: 30px;
    width: 400px;
    max-width: 90vw;
    height: 600px;
    max-height: 80vh;
    background: white;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: bot_previsao_slideUp 0.3s ease;
}

@keyframes bot_previsao_fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes bot_previsao_slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

/* Cabeçalho do modal */
.bot_previsao_modal_header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bot_previsao_modal_title {
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.bot_previsao_close_btn {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 5px;
    border-radius: 50%;
    transition: background-color 0.2s;
}

.bot_previsao_close_btn:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

/* Área de conversa */
.bot_previsao_chat_area {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
    background-color: #f8f9fa;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.bot_previsao_welcome_msg {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 20px 0;
}

/* Mensagens */
.bot_previsao_message {
    max-width: 80%;
    padding: 12px 16px;
    border-radius: 18px;
    margin-bottom: 10px;
    word-wrap: break-word;
    animation: bot_previsao_messageAppear 0.3s ease;
}

@keyframes bot_previsao_messageAppear {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bot_previsao_user_message {
    align-self: flex-end;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-bottom-right-radius: 5px;
}

.bot_previsao_bot_message {
    align-self: flex-start;
    background: white;
    color: #333;
    border: 1px solid #e1e5e9;
    border-bottom-left-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* Área de entrada */
.bot_previsao_input_area {
    padding: 20px;
    background: white;
    border-top: 1px solid #e1e5e9;
}

.bot_previsao_input_container {
    display: flex;
    gap: 10px;
    align-items: center;
}

.bot_previsao_message_input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid #e1e5e9;
    border-radius: 25px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s;
}

.bot_previsao_message_input:focus {
    border-color: #667eea;
}

.bot_previsao_send_btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    cursor: pointer;
    transition: transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bot_previsao_send_btn:hover {
    transform: scale(1.05);
}

.bot_previsao_send_btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Indicador de digitação */
.bot_previsao_typing_indicator {
    display: none;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    color: #666;
    font-size: 12px;
}

.bot_previsao_typing_dots {
    display: flex;
    gap: 3px;
}

.bot_previsao_typing_dots span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #667eea;
    animation: bot_previsao_typing 1.4s infinite ease-in-out;
}

.bot_previsao_typing_dots span:nth-child(1) { animation-delay: -0.32s; }
.bot_previsao_typing_dots span:nth-child(2) { animation-delay: -0.16s; }

@keyframes bot_previsao_typing {
    0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; }
    40% { transform: scale(1); opacity: 1; }
}

/* Responsividade */
@media (max-width: 768px) {
    .bot_previsao_modal_content {
        right: 0;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        border-radius: 0;
    }
    
    .bot_previsao_open_btn {
        bottom: 20px;
        right: 20px;
        padding: 12px 20px;
        font-size: 14px;
    }
    
    .bot_previsao_message {
        max-width: 90%;
    }
}

/* Scrollbar personalizada */
.bot_previsao_chat_area::-webkit-scrollbar {
    width: 6px;
}

.bot_previsao_chat_area::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.bot_previsao_chat_area::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.bot_previsao_chat_area::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

.pop_up_overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: none;
justify-content: center;
align-items: center;
z-index: 100000;
}

.pop_up_container {
background: white;
border-radius: 12px;
padding: 40px;
max-width: 500px;
width: 90%;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
position: relative;
font-family: 'Arial', sans-serif;
}

.pop_up_close_button {
position: absolute;
top: 15px;
right: 20px;
background: none;
border: none;
font-size: 24px;
cursor: pointer;
color: #666;
padding: 0;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
}

.pop_up_title {
font-size: 24px;
font-weight: 600;
color: #2c3e50;
margin-bottom: 20px;
text-align: center;
}

.pop_up_subtitle {
font-size: 16px;
color: #666;
margin-bottom: 30px;
text-align: center;
line-height: 1.5;
}

.pop_up_features {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
margin-bottom: 30px;
}

.pop_up_feature_item {
display: flex;
align-items: flex-start;
gap: 12px;
}

.pop_up_feature_icon {
width: 20px;
height: 20px;
background: #3498db;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
flex-shrink: 0;
margin-top: 2px;
}

.pop_up_feature_content {
flex: 1;
}

.pop_up_feature_title {
font-weight: 600;
color: #2c3e50;
margin-bottom: 4px;
font-size: 14px;
}

.pop_up_feature_description {
color: #666;
font-size: 13px;
line-height: 1.4;
}

.pop_up_cta_button {
width: 100%;
padding: 15px;
background: #e74c3c;
color: white;
border: none;
border-radius: 6px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.3s ease;
}

.pop_up_cta_button:hover {
background: #c0392b;
}

.pop_up_footer {
text-align: center;
margin-top: 15px;
color: #999;
font-size: 12px;
}

.doc_container {
max-width: 1200px;
margin: 0 auto;
padding: 40px 20px;
font-family: 'Arial', sans-serif;
}

.doc_header {
text-align: center;
margin-bottom: 50px;
}

.doc_title {
font-size: 2.5rem;
color: #2c3e50;
margin-bottom: 15px;
font-weight: 300;
}

.doc_subtitle {
font-size: 1.2rem;
color: #7f8c8d;
font-weight: 300;
}

.doc_grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 30px;
margin-bottom: 50px;
}

.doc_card {
background: #ffffff;
border-radius: 12px;
padding: 30px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
border: 1px solid #e9ecef;
}

/*.doc_card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}*/

.doc_card_header {
display: flex;
align-items: center;
margin-bottom: 20px;
}

.doc_icon {
width: 50px;
height: 50px;
background: #3498db;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
}

.doc_icon svg {
width: 24px;
height: 24px;
fill: white;
}

.doc_card_title {
font-size: 1.4rem;
color: #2c3e50;
margin: 0;
font-weight: 500;
}

.doc_card_description {
color: #5d6d7e;
line-height: 1.6;
margin-bottom: 25px;
}

.doc_meta {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding-top: 15px;
border-top: 1px solid #ecf0f1;
}

.doc_meta_item {
display: flex;
align-items: center;
color: #7f8c8d;
font-size: 0.9rem;
}

.doc_meta_icon {
margin-right: 5px;
}

.doc_button {
display: inline-flex;
align-items: center;
justify-content: center;
background: #3498db;
color: white;
text-decoration: none;
padding: 12px 25px;
border-radius: 6px;
font-weight: 500;
transition: background 0.3s ease;
width: 100%;
text-align: center;
}

.doc_button:hover {
background: #2980b9;
}

.doc_button_icon {
margin-left: 8px;
}

.doc_footer {
text-align: center;
padding-top: 30px;
border-top: 1px solid #ecf0f1;
color: #7f8c8d;
font-size: 0.9rem;
}

@media (max-width: 768px) {
.doc_grid {
	grid-template-columns: 1fr;
}

.doc_title {
	font-size: 2rem;
}
}

/* Navigation Container */
.newm_nav {
    background-color: #fff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 1000;
	position: fixed; 
    top: 0;	
	width: 100%;	
}

.newm_nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo */
.newm_logo {
    font-size: 24px;
    font-weight: 700;
    color: #2c3e50 !important;
    text-decoration: none;
    padding: 20px 0;
}

/* Desktop Menu */
.newm_menu-desktop {
    display: flex;
    align-items: center;
}

.newm_menu-item {
    position: relative;
    margin-left: 30px;
}

.newm_menu-trigger {
    background: none !important;
    border: none;
    font-size: 16px;
    color: #2c3e50 !important;
    cursor: pointer;
    padding: 20px 0;
    display: flex;
    align-items: center;
}

/* REMOVIDO: Setas */
.newm_menu-trigger::after {
    content: none !important;
}

.newm_menu-trigger.active::after {
    content: none !important;
}

/* REMOVIDO: Hover dos triggers */
.newm_menu-trigger:hover {
    background-color: transparent !important;
    color: #2c3e50 !important;
}

.newm_dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    min-width: 220px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1001;
}

.newm_menu-item:hover .newm_dropdown,
.newm_dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.newm_dropdown-link {
    display: block;
    padding: 12px 20px;
    color: #2c3e50 !important;
    text-decoration: none;
    border-bottom: 1px solid #f1f1f1;
    background-color: transparent !important;
}

.newm_dropdown-link:last-child {
    border-bottom: none;
}

/* REMOVIDO: Hover dos links dropdown */
.newm_dropdown-link:hover {
    background-color: transparent !important;
    color: #2c3e50 !important;
}

/* Mobile Menu Toggle */
.newm_menu-toggle {
    display: none;
    background: none !important;
    border: none;
    cursor: pointer;
    padding: 10px;
}

.newm_menu-toggle-bar {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #2c3e50;
    margin: 5px 0;
    transition: all 0.3s ease;
}

/* Mobile Menu */
.newm_menu-mobile {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #fff !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    z-index: 1001;
}

.newm_menu-mobile.active {
    display: block;
}

.newm_mobile-item {
    border-bottom: 1px solid #f1f1f1;
}

.newm_mobile-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    color: #2c3e50 !important;
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
    background-color: transparent !important;
}

.newm_mobile-trigger::after {
    content: '';
    font-size: 18px;
    transition: transform 0.3s;
}

.newm_mobile-trigger.active::after {
    transform: rotate(45deg);
}

.newm_mobile-dropdown {
    display: none;
    background-color: #f8f9fa !important;
    padding: 0;
}

.newm_mobile-dropdown.active {
    display: block;
}

.newm_mobile-link {
    display: block;
    padding: 12px 20px 12px 40px;
    color: #2c3e50 !important;
    text-decoration: none;
    border-bottom: 1px solid #e9ecef;
    background-color: transparent !important;
}

.newm_mobile-link:last-child {
    border-bottom: none;
}

/* REMOVIDO: Hover dos links mobile */
.newm_mobile-link:hover {
    background-color: transparent !important;
    color: #2c3e50 !important;
}

/* Responsive Styles */
@media (max-width: 992px) {
    .newm_menu-desktop {
        display: none;
    }

    .newm_menu-toggle {
        display: block;
    }
}

/* Active state for mobile menu toggle */
.newm_menu-toggle.active .newm_menu-toggle-bar:nth-child(1) {
    transform: rotate(-45deg) translate(-5px, 6px);
}

.newm_menu-toggle.active .newm_menu-toggle-bar:nth-child(2) {
    opacity: 0;
}

.newm_menu-toggle.active .newm_menu-toggle-bar:nth-child(3) {
    transform: rotate(45deg) translate(-5px, -6px);
}

/* Todos os elementos do menu desktop - mesmo estilo */
.newm_menu-desktop > .newm_menu-item,
.newm_menu-desktop > a.newm_menu-trigger {
    margin-left: 30px;
}

/* Remove sublinhado de tudo no menu */
.newm_menu-trigger,
.newm_dropdown-link,
.newm_mobile-trigger,
.newm_mobile-link {
    text-decoration: none !important;
}

/* Estilo específico para o Contact como link */
.newm_menu-desktop a.newm_menu-trigger {
    display: inline-block;
    padding: 20px 0;
    color: #2c3e50 !important;
    background: none !important;
    border: none;
    font-size: 16px;
    cursor: pointer;
}

.newm_contact_button {
    background-color: #007bff;
    color: white !important;
    padding: 8px 18px !important;
    border-radius: 50px; /* Borda arredondada para moderno */
    transition: background-color 0.3s ease, transform 0.2s ease;
    border: none; /* Remover a borda para mais clean */
	margin-left: 30px;
	text-decoration: none; /* Remove o underline do link */
}

/*.newm_contact_button:hover {
    background-color: var(--newm-hover);
    transform: translateY(-1px); /* Efeito ligeiro de "levantar" */
}*/

/* ------------------ BASE ------------------ */

/* Fundo claro */
.home_bg_primary {
    background-color: #ffffff;
}

/* Texto secundário (dourado) */
.home_text_secondary {
    color: #b8860b;
}

/* Padding das secções — versão compacta */
.home_section_padding {
    padding: 2.5rem 1.5rem;
}

@media (min-width: 768px) {
    .home_section_padding {
        padding: 1rem 2.5rem;
    }
}

/* Container geral */
.home_container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Título / frase de impacto */
.home_motto {
    font-size: 1.875rem; 
    font-weight: 600;
    margin-top: 0.75rem;
}

/* Linha divisória */
.home_divider {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

/* ------------------ GRID / CARDS ------------------ */

/* Grid mais apertado */
.home_regions_grid {
    display: grid;
    gap: 0.75rem !important; /* compacto */
}

/* 🖥️ Configuração para Ecrãs Maiores (Tablet/Desktop) */
@media (min-width: 768px) {
    .home_regions_grid {
        /* Cria 3 colunas de largura igual */
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Cartões com altura igual + estilo premium */
.home_region_card {
    padding: 0.9rem !important;
    border: 1px solid #d1d5db;
    border-radius: 0.65rem;
    background: #ffffff;
    min-height: 140px;           /* garante alturas iguais */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: all 0.25s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Hover premium */
/*.home_region_card:hover {
    border-color: #b8860b;
    box-shadow: 0 6px 18px rgba(184, 134, 11, 0.22);
    transform: translateY(-3px);
}*/

/* Títulos dos cards */
.home_region_title {
    font-size: 1.2rem;
    margin-bottom: 0.3rem;
    display: block;
}

/* Descrição */
.home_region_description {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.32;
}

/* ------------------ BOTÃO PREMIUM ------------------ */
.home_cta_button {
    background-color: #b8860b !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(184, 134, 11, 0.4);
    border-radius: 0.7rem;
    transition: all 0.28s ease !important;
	padding: 10px;
	text-decoration: none !important; /* remove o sublinhado */
}

.home_cta_button:hover {
    transform: scale(1.06) translateY(-2px);
    box-shadow: 0 6px 25px rgba(184, 134, 11, 0.55);
}

#bgVideo {
  transition: opacity 1s ease; /* duração do fade */
  opacity: 1; /* inicia visível */
}

:root {
--book_primary: #2563eb;
--book_primary-dark: #1d4ed8;
--book_secondary: #64748b;
--book_light: #f8fafc;
--book_dark: #1e293b;
--book_success: #10b981;
--book_error: #ef4444;
--book_border-radius: 8px;
--book_shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
--book_transition: all 0.3s ease;
}

/** {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
background-color: #f1f5f9;
color: var(--book_dark);
line-height: 1.6;
} */

.book_container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

.book_header {
background-color: white;
box-shadow: var(--book_shadow);
padding: 1rem 0;
position: sticky;
top: 0;
z-index: 100;
}

.book_header-content {
display: flex;
justify-content: space-between;
align-items: center;
}

.book_logo {
font-size: 1.5rem;
font-weight: 700;
color: var(--book_primary);
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;			
}

.book_logo i {
font-size: 1.8rem;
}

.book_hero {
padding: 4rem 0;
text-align: center;
background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
color: white;
border-radius: 0 0 30px 30px;
margin-bottom: 2rem;
}

.book_hero h1 {
font-size: 2.5rem;
margin-bottom: 1rem;
}

.book_hero p {
font-size: 1.2rem;
max-width: 600px;
margin: 0 auto;
opacity: 0.9;
}

.book_booking-container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2rem;
margin-bottom: 3rem;
}

.book_card {
background: white;
border-radius: var(--book_border-radius);
box-shadow: var(--book_shadow);
padding: 2rem;
transition: var(--book_transition);
}

.book_card-title {
font-size: 1.5rem;
margin-bottom: 1.5rem;
color: var(--book_primary);
display: flex;
align-items: center;
gap: 10px;
}

.book_form-group {
margin-bottom: 1.5rem;
}

.book_label {
display: block;
margin-bottom: 0.5rem;
font-weight: 600;
color: var(--book_secondary);
}

.book_input, .book_select {
width: 100%;
padding: 0.75rem 1rem;
border: 1px solid #d1d5db;
border-radius: var(--book_border-radius);
font-size: 1rem;
transition: var(--book_transition);
}

.book_input:focus, .book_select:focus {
outline: none;
border-color: var(--book_primary);
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.book_btn {
display: inline-block;
background-color: var(--book_primary);
color: white;
padding: 0.75rem 1.5rem;
border: none;
border-radius: var(--book_border-radius);
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: var(--book_transition);
text-align: center;
}

.book_btn:hover {
background-color: var(--book_primary-dark);
}

.book_btn-block {
display: block;
width: 100%;
}

.book_btn:disabled {
background-color: #9ca3af;
cursor: not-allowed;
}

.book_calendar {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 10px;
margin-bottom: 1.5rem;
}

.book_calendar-header {
grid-column: 1 / -1;
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 10px;
margin-bottom: 10px;
}

.book_calendar-header div {
text-align: center;
font-weight: 600;
color: var(--book_secondary);
padding: 0.5rem;
}

.book_calendar-day {
height: 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--book_border-radius);
cursor: pointer;
transition: var(--book_transition);
}

.book_calendar-day:hover {
background-color: #e2e8f0;
}

.book_calendar-day.selected {
background-color: var(--book_primary);
color: white;
}

.book_calendar-day.disabled {
color: #cbd5e1;
cursor: not-allowed;
}

.book_calendar-day.disabled:hover {
background-color: transparent;
}

.book_time-slots {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
max-height: 300px;
overflow-y: auto;
padding: 10px;
border: 1px solid #e2e8f0;
border-radius: var(--book_border-radius);
}

.book_time-slot {
padding: 0.75rem;
text-align: center;
background-color: #f1f5f9;
border-radius: var(--book_border-radius);
cursor: pointer;
transition: var(--book_transition);
}

.book_time-slot:hover {
background-color: #e2e8f0;
}

.book_time-slot.selected {
background-color: var(--book_primary);
color: white;
}

.book_time-slot.disabled {
background-color: #f8fafc;
color: #cbd5e1;
cursor: not-allowed;
}

.book_time-slot.disabled:hover {
background-color: #f8fafc;
}

.book_confirmation {
text-align: center;
padding: 2rem;
}

.book_confirmation i {
font-size: 4rem;
color: var(--book_success);
margin-bottom: 1rem;
}

.book_confirmation h2 {
margin-bottom: 1rem;
color: var(--book_success);
}

.book_error-message {
background-color: #fef2f2;
color: var(--book_error);
padding: 0.75rem;
border-radius: var(--book_border-radius);
margin-bottom: 1rem;
border: 1px solid #fecaca;
}

.book_hidden {
display: none;
}

.book_footer {
background-color: var(--book_dark);
color: white;
padding: 2rem 0;
text-align: center;
margin-top: 3rem;
}

.book_footer-content {
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
}

.book_social-links {
display: flex;
gap: 1rem;
}

.book_social-links a {
color: white;
font-size: 1.2rem;
transition: var(--book_transition);
}

.book_social-links a:hover {
color: var(--book_primary);
}

@media (max-width: 768px) {
.book_booking-container {
grid-template-columns: 1fr;
}

.book_calendar {
grid-template-columns: repeat(7, 1fr);
}

.book_time-slots {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 480px) {
.book_time-slots {
grid-template-columns: 1fr;
}

.book_hero h1 {
font-size: 2rem;
}
}


/* UTILITÁRIOS E LAYOUT */
.pilar_container {
max-width: 1100px;
margin: 0 auto;
padding: 0 20px;
}

.pilar_section {
padding: 40px 0;
}

/* HEADER E TÍTULOS PRINCIPAIS */
.pilar_header {
background-color: #004c99; /* Azul Corporativo */
color: #ffffff;
padding: 60px 0;
text-align: center;
border-bottom: 5px solid #ffcc00; /* Destaque Amarelo/Dourado */
}

.pilar_titulo-principal {
font-size: 2.5em;
margin-bottom: 10px;
font-weight: 700;
}

.pilar_subtitulo {
font-size: 1.2em;
font-weight: 300;
opacity: 0.9;
}

.pilar_intro-section {
padding-top: 40px;
text-align: center;
font-size: 1.1em;
color: #555;
}

/* ÍNDICE E GRELHA DE CARDS */
.pilar_indice {
background-color: #ffffff;
padding: 60px 0;
}

.pilar_h2-destaque {
text-align: center;
font-size: 2em;
color: #004c99;
margin-bottom: 40px;
position: relative;
}

.pilar_h2-destaque::after {
content: '';
display: block;
width: 60px;
height: 3px;
background-color: #ffcc00;
margin: 10px auto 0;
}

.pilar_cards-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
}

.pilar_card {
background: #fdfdfd;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
transition: transform 0.3s, box-shadow 0.3s;
border-top: 4px solid #004c99;
}

.pilar_card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.pilar_card-titulo {
color: #004c99;
font-size: 1.4em;
margin-bottom: 15px;
}

.pilar_card-descricao {
margin-bottom: 20px;
color: #666;
font-style: italic;
}

/* LINKS PARA ARTIGOS (CLUSTERS) */
.pilar_links-list {
list-style: none;
padding: 0;
margin-top: 15px;
}

.pilar_links-list li {
margin-bottom: 10px;
}

.pilar_link-artigo {
color: #004c99;
text-decoration: none;
font-weight: 500;
transition: color 0.2s, padding-left 0.2s;
display: block;
padding-left: 15px;
position: relative;
}

.pilar_link-artigo::before {
content: '→';
position: absolute;
left: 0;
color: #ffcc00;
font-weight: bold;
}

.pilar_link-artigo:hover {
color: #ffcc00; /* Mudar cor no hover */
padding-left: 20px;
}

/* CALL TO ACTION (CTA) */
.pilar_cta {
background-color: #e6e6e6;
text-align: center;
padding: 50px 0;
}

.pilar_botao-cta {
display: inline-block;
background-color: #ffcc00;
color: #004c99;
padding: 15px 30px;
text-decoration: none;
border-radius: 5px;
font-weight: bold;
font-size: 1.1em;
margin-top: 20px;
transition: background-color 0.3s, transform 0.3s;
border: 2px solid #ffcc00;
}

.pilar_botao-cta:hover {
background-color: #004c99;
color: #ffffff;
border-color: #004c99;
transform: translateY(-2px);
}

/* FOOTER */
.pilar_footer {
background-color: #333;
color: #ccc;
text-align: center;
padding: 20px 0;
font-size: 0.9em;
}

.pilar_footer a {
color: #ffcc00;
text-decoration: none;
}

.pilar_footer a:hover {
text-decoration: underline;
}

/* RESPONSIVIDADE BÁSICA */
@media (max-width: 768px) {
.pilar_titulo-principal {
	font-size: 2em;
}

.pilar_cards-grid {
	grid-template-columns: 1fr;
}
}

:root {
--faq-primary: #1a365d;
--faq-secondary: #2d3748;
--faq-accent: #b8860b;
--faq-light: #f8f9fa;
--faq-border: #e2e8f0;
--faq-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
--faq-radius: 8px;
}

/*body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
line-height: 1.6;
color: var(--faq-secondary);
background-color: var(--faq-light);
padding: 20px;
}*/

.faq_container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

.faq_header {
text-align: center;
padding: 60px 0 40px;
margin-bottom: 40px;
}

.faq_title {
font-size: 2.5rem;
color: var(--faq-primary);
margin-bottom: 15px;
font-weight: 700;
}

.faq_subtitle {
font-size: 1.1rem;
color: var(--faq-secondary);
max-width: 600px;
margin: 0 auto 30px;
}

.faq_stats {
display: flex;
justify-content: center;
gap: 30px;
margin-bottom: 50px;
flex-wrap: wrap;
}

.faq_stat-item {
text-align: center;
padding: 20px;
background: white;
border-radius: var(--faq-radius);
box-shadow: var(--faq-shadow);
min-width: 150px;
border: 1px solid var(--faq-border);
}

.faq_stat-number {
font-size: 2rem;
color: var(--faq-accent);
font-weight: 700;
display: block;
}

.faq_stat-label {
font-size: 0.9rem;
color: var(--faq-secondary);
margin-top: 5px;
}

.faq_search {
margin-bottom: 40px;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}

.faq_search-input {
width: 100%;
padding: 16px 24px;
border: 2px solid var(--faq-border);
border-radius: 50px;
font-size: 1rem;
transition: all 0.3s ease;
}

.faq_search-input:focus {
outline: none;
border-color: var(--faq-accent);
box-shadow: 0 0 0 3px rgba(184, 134, 11, 0.1);
}

.faq_category-section {
margin-bottom: 60px;
animation: faq_fadeIn 0.5s ease;
}

.faq_category-header {
font-size: 1.8rem;
color: var(--faq-primary);
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 2px solid var(--faq-accent);
display: flex;
align-items: center;
gap: 15px;
position: sticky;
top: 0;
background: var(--faq-light);
padding: 20px 0;
z-index: 10;
}

.faq_questions-container {
display: grid;
gap: 25px;
}

.faq_question-item {
background: white;
border-radius: var(--faq-radius);
box-shadow: var(--faq-shadow);
overflow: hidden;
border: 1px solid var(--faq-border);
padding: 30px;
transition: transform 0.3s ease;
}

.faq_question-item:hover {
transform: translateY(-2px);
}

.faq_question-header {
display: flex;
align-items: flex-start;
gap: 15px;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid var(--faq-border);
}

.faq_question-number {
background: var(--faq-primary);
color: white;
width: 36px;
height: 36px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 0.9rem;
flex-shrink: 0;
}

.faq_question-title {
font-size: 1.2rem;
color: var(--faq-primary);
font-weight: 600;
line-height: 1.4;
flex: 1;
}

.faq_answer-content {
color: var(--faq-secondary);
font-size: 1rem;
line-height: 1.7;
padding-left: 51px;
}

.faq_answer-content p {
margin-bottom: 15px;
}

.faq_answer-content p:last-child {
margin-bottom: 0;
}

.faq_no-results {
text-align: center;
padding: 60px 40px;
color: var(--faq-secondary);
display: none;
background: white;
border-radius: var(--faq-radius);
box-shadow: var(--faq-shadow);
border: 1px solid var(--faq-border);
}

.faq_back-to-top {
position: fixed;
bottom: 30px;
right: 30px;
background: var(--faq-primary);
color: white;
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
opacity: 0;
transition: all 0.3s ease;
border: none;
font-size: 1.5rem;
z-index: 1000;
}

.faq_back-to-top.visible {
opacity: 1;
}

.faq_footer {
text-align: center;
padding: 40px 0;
margin-top: 60px;
border-top: 1px solid var(--faq-border);
color: var(--faq-secondary);
}

.faq_toc {
background: white;
border-radius: var(--faq-radius);
box-shadow: var(--faq-shadow);
padding: 30px;
margin-bottom: 50px;
border: 1px solid var(--faq-border);
}

.faq_toc-title {
font-size: 1.4rem;
color: var(--faq-primary);
margin-bottom: 20px;
font-weight: 600;
}

.faq_toc-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 15px;
}

.faq_toc-item {
list-style: none;
}

.faq_toc-link {
color: var(--faq-secondary);
text-decoration: none;
padding: 10px 15px;
border-radius: 4px;
display: flex;
align-items: center;
gap: 10px;
transition: all 0.3s ease;
}

.faq_toc-link:hover {
background: var(--faq-light);
color: var(--faq-primary);
}

.faq_toc-badge {
background: var(--faq-accent);
color: white;
font-size: 0.8rem;
padding: 2px 8px;
border-radius: 10px;
font-weight: 600;
}

@keyframes faq_fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
.faq_title {
	font-size: 2rem;
}

.faq_question-item {
	padding: 20px;
}

.faq_question-header {
	flex-direction: column;
	gap: 10px;
}

.faq_answer-content {
	padding-left: 0;
}

.faq_question-number {
	align-self: flex-start;
}

.faq_stats {
	gap: 15px;
}

.faq_stat-item {
	min-width: 120px;
	padding: 15px;
}

.faq_stat-number {
	font-size: 1.5rem;
}

.faq_toc-list {
	grid-template-columns: 1fr;
}
}

@media (max-width: 480px) {
.faq_stats {
	justify-content: flex-start;
	overflow-x: auto;
	padding-bottom: 10px;
}

.faq_stat-item {
	min-width: 120px;
	flex-shrink: 0;
}
}