/* ==========================================================================
   ESTILOS GLOBAIS E VARIÁVEIS
   ========================================================================== */
:root {
    --color-dark-bg: #202020;
    --color-dark-text: #FFFFFF;
    --color-orange-primary: #f27023;
    --color-light-text: #b3b3b3;
    --color-accent-blue: #4a8cd4;

    /* Padronização de Espaçamentos (REDUZIDOS) */
    --padding-section-desktop: 60px 0; /* Reduzido de 80px */
    --padding-section-mobile: 35px 0; /* Reduzido de 40px */
    --max-content-width: 1200px;
}
body {
  font-family: "Poppins", sans-serif;
  margin: 0;
  padding: 0;
  background-color: #ffffff; 
  overflow-x: hidden; 
}
main {
    display: block; /* Garante que 'main' se comporte como bloco */
    padding-top: 82px; /* << ADICIONA ESPAÇO PARA O HEADER FIXO >> */
}
/* Helper para acessibilidade */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* ==========================================================================
   PADRONIZAÇÃO DE TIPOGRAFIA E SEÇÕES (HIERARQUIA VISUAL)
   ========================================================================== */

/* Títulos H1 (Main Title) */
h1 {
    font-size: clamp(2.5rem, 5vw, 4rem); 
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 20px;
    text-transform: uppercase;
    color: inherit;
    text-align: left; /* Padrão Esquerda */
}

/* Títulos H2 (Section Titles) */
h2, .section-title-center {
    font-size: clamp(1.8rem, 4vw, 2.8rem); 
    font-weight: 800;
    margin-top: 0;
    margin-bottom: 30px;
    text-align: left; /* PADRÃO ESQUERDA */
    color: inherit;
}
/* Centraliza títulos específicos */
.contact-section .section-title-center, /* Contato Home */
.mini-form-layout .section-title-center { /* Mini-Forms */
    text-align: center;
}
/* Título do formulário na página Contato (com linha) */
.form-section .form-header h2 {
    text-align: center;
    display: block; 
    position: relative;
}
 .form-section .form-header h2::after { 
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background-color: var(--color-orange-primary);
    margin-left: auto;
    margin-right: auto;
}

/* Títulos H3 (Subtitles/Card Titles) */
h3 {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 700;
    margin-bottom: 15px;
    color: inherit;
    text-align: left; /* Padrão Esquerda */
}
/* Centraliza H3 específicos se necessário */
.certifications h3 { text-align: center; }
.testimonial-card footer { text-align: center; }

/* Textos e Subtítulos de Seção */
p {
    line-height: 1.65;
    margin-bottom: 15px;
    font-size: 1rem;
    text-align: left; /* Padrão Esquerda */
}
/* Centraliza Parágrafos Específicos */
.section-subtitle-center,
.certifications p,
.testimonial-card p {
    text-align: center;
}
.section-subtitle-center {
    font-size: 1.15rem; 
    line-height: 1.7;
    max-width: 700px;
    margin: 0 auto 40px;
}
/* Subtítulos que devem ficar à esquerda */
.why-subtitle,
.segments-subtitle,
.form-section .form-header p {
     text-align: left;
     margin-left: 0;
     margin-right: 0;
}


/* Padronização de Seções */
.excellence-quality-section, .services-section, .why-choose-us,
.contact-section, .form-section, .about-content-section,
.service-page main section 
{
    padding: var(--padding-section-desktop); /* Usa variável */
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}
.segments-section {
    padding: 60px 0 130px 0; /* Padding customizado, levemente reduzido */
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}


/* Alinhamento de Conteúdo Geral (Containers Internos) */
/* Todos os containers principais usam a largura máxima padrão */
.header-container, 
.hero-content, .excellence-content-wrapper,
.services-container, .why-container, .segments-container, .contact-content-wrapper,
.form-section-container, .about-container, .testimonials-container,
.service-hero-container, .how-it-works-container, .gallery-container,
.specifications-container,
.intro-container, .processes-container, .privacy-container
{
  
    max-width: var(--max-content-width);
    width: 100%;
    padding: 0 24px;
	padding-left: 15px; /* Espaço nas laterais da tela */
    padding-right: 15px;
    box-sizing: border-box;
}

/* ==========================================================================
   HEADER (Estilo compartilhado)
   ========================================================================== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 82px;
  background-color: var(--color-dark-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  transition: all .25s ease;
  box-shadow: none;
}
body.scrolled .header {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}
.header-container {
    height: 62.69px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}
.logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0; 
    width: fit-content; 
}
.logo-img {
    width: 205px; 
    height: auto;
    display: block; /* Garante que não tenha espaço extra embaixo */
}
.main-nav {
    flex-shrink: 0; 
}
.nav-list {
    display: flex;
    align-items: center;
    gap: 25px; 
    list-style: none;
    padding: 0;
    margin: 0;
    white-space: nowrap; 
}
.nav-link {
    font-weight: 700;
    font-size: 14px;
    color: #FFFFFF !important; 
    transition: color 0.2s;
    text-decoration: none;
}
.nav-link:hover,
.nav-item.current > .nav-link,
.nav-item.has-dropdown.current > .nav-link {
    color: var(--color-orange-primary) !important; 
}
.btn-primary {
    font-weight: 700;
    font-size: 14px;
    color: #fff;
    padding: 10px 18px;
    background-color: var(--color-orange-primary);
    border-radius: 6px;
    transition: background-color 0.2s;
    text-decoration: none;
    display: inline-block; 
    text-align: center;
}
.btn-primary:hover {
    background-color: #e0611e;
}
.btn-secondary {
    font-weight: 600;
    font-size: 14px;
    color: var(--color-dark-bg);
    padding: 10px 18px;
    background-color: transparent;
    border: 1px solid var(--color-dark-bg);
    border-radius: 6px;
    transition: all 0.2s;
    text-decoration: none;
    text-align: center;
    display: inline-block;
}
.btn-secondary:hover {
    background-color: var(--color-dark-bg);
    color: #fff;
}
.btn-secondary.dark {
    color: #fff;
    border-color: #fff;
}
.btn-secondary.dark:hover {
    background-color: #fff;
    color: var(--color-dark-bg);
}


/* ================================== */
/* DROPDOWN MENU ESTILOS
/* ================================== */
.nav-item.has-dropdown {
    position: relative;
}
.nav-item.has-dropdown > .nav-link {
    padding-right: 30px;
}
.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--color-dark-bg);
    border-radius: 4px;
    padding: 10px 0; 
    min-width: 240px; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    list-style: none;
    margin: 5px 0 0 0; 
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}
.nav-item.has-dropdown:hover .dropdown-menu,
.nav-item.has-dropdown:focus-within .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}
.dropdown-item a {
    display: block;
    padding: 10px 20px; 
    color: var(--color-light-text);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.dropdown-item a:hover {
    background-color: #333333;
    color: #ffffff;
}
.dropdown-item.current-subpage a {
    color: var(--color-orange-primary);
    font-weight: 600;
}

/* ================================== */
/* MENU HAMBURGER
/* ================================== */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 1050; 
    transition: all 0.3s ease;
}
.menu-toggle .hamburger {
    display: block;
    width: 25px;
    height: 3px;
    background-color: var(--color-orange-primary); 
    position: relative;
    transition: background-color 0.3s ease;
}
.menu-toggle .hamburger::before,
.menu-toggle .hamburger::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: var(--color-orange-primary);
    transition: all 0.3s ease-in-out;
    left: 0; /* Garante alinhamento */
}
.menu-toggle .hamburger::before { top: -8px; }
.menu-toggle .hamburger::after { top: 8px; }

.menu-toggle[aria-expanded="true"] .hamburger {
    background-color: transparent; 
}
.menu-toggle[aria-expanded="true"] .hamburger::before {
    transform: rotate(45deg);
    top: 0;
}
.menu-toggle[aria-expanded="true"] .hamburger::after {
    transform: rotate(-45deg);
    top: 0;
}


/* ===================== */
/* ESTILOS DA HOME PAGE (index.html)
/* ===================== */

/* --- HERO (Home) --- */
.hero-section {
  width: 100%;
  min-height: 620px;
  display: flex; 
  align-items: center;
  background-image: url("../img/foto-home-sp-componentes-1.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
.hero-content {
  margin: 20px auto;
  position: relative;
  z-index: 2;
}
.hero-content h1 { text-align: left; color: #ffffff;} /* Garante H1 à esquerda */
.hero-button {
  display: inline-block;
  margin-top: 32px;
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  color: #ffffff;
  transition: all 0.25s ease-in-out;
  text-decoration: none;
}
.hero-button:hover {
  transform: translateY(-2px);
}


/* --- BARRA DE LOGOS (Home - CARROSSEL) --- */
.partner-logos-bar {
    width: 100%;
    background-color: var(--color-dark-bg);
    padding: 40px 0; 
    position: relative;
    z-index: 10;
    box-sizing: border-box;
    text-align: center;
    overflow: hidden; 
}
.partner-logos-bar h2 {
    font-size: 18px;
    font-weight: 500;
    color: #ffffff;
    margin: 0 0 25px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.9;
    text-align: center; /* Garante centralização */
}
.carousel-track { 
    display: flex;
    width: fit-content; 
    animation: scroll-logos 40s linear infinite; 
    white-space: nowrap; 
}
.partner-logo { 
    width: auto;
    height: 60px; 
    max-height: 60px;
    margin: 0 40px; 
    filter: none; 
    flex-shrink: 0;
    display: inline-block;
    object-fit: contain;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}
.partner-logo:hover {
    opacity: 1.0;
}
.partner-logos-bar:hover .carousel-track {
    animation-play-state: paused;
}
@keyframes scroll-logos {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%); 
    }
}


/* --- EXCELLENCE (Home) --- */
.excellence-quality-section {
    background-color: var(--color-orange-primary);
    position: relative;
    overflow: hidden;
}
.excellence-content-wrapper {
    display: flex;
    gap: 48px;
    align-items: center;
}
.excellence-image-container {
    flex-shrink: 0;
    width: 45%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}
.excellence-main-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.excellence-text-container {
    flex-grow: 1;
    color: #ffffff;
}
.excellence-text-container h2 {
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 24px;
    color: #ffffff;
    text-align: left; 
}
.excellence-text-container .lead, 
.excellence-text-container .sublead {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 14px;
    color: #ffffff;
    text-align: left;
}
.excellence-text-container .sublead {
    font-weight: 500;
    margin-bottom: 32px;
}
.certifications {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.certifications article {
    background: var(--color-dark-bg);
    padding: 24px;
    border-radius: 10px;
    transition: all .25s ease-in-out;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.certifications article:hover {
    transform: translateY(-4px);
    background: #2a2a2a;
}
.icon-circle-outer {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background-color: var(--color-orange-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    flex-shrink: 0;
    position: relative;
}
.icon-circle-inner {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.certifications article .cert-icon {
    width: 30px;
    height: 30px;
    object-fit: contain;
}
.certifications h3 {
    font-weight: 700;
    margin-bottom: 8px;
    color: #ffffff;
    text-align: center;
}
.certifications p {
    font-size: 14px;
    color: var(--color-light-text);
    text-align: center;
}

/* --- SERVICES (Home) --- */
.services-section {
  background-color: #ffffff;
}
.services-title {
  color: #202020;
  margin-bottom: 16px; 
  text-align: left; 
  position: relative;
  display: inline-block; 
}
.services-title::after {
    content: '';
    display: block;
    width: 100px;
    height: 4px;
    background-color: var(--color-orange-primary);
    position: absolute;
    right: -120px; 
    top: 50%;
    transform: translateY(-50%);
}
.services-section .section-subtitle-center { /* Subtítulo desta seção */
    font-size: 16px;
    color: #555;
    margin: 0 0 48px 0; 
    line-height: 1.6;
    text-align: left; 
    max-width: 680px; 
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.service-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  text-align: left; 
  transition: all 0.3s ease;
  border: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07);
  display: flex;
  flex-direction: column;
}
.service-card:hover {
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
}
.service-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  margin-bottom: 20px;
  border-radius: 8px;
}
.service-card h3 {
  font-weight: 700;
  color: var(--color-orange-primary);
  margin-bottom: 12px;
}
.service-card p, .service-list li {
  font-size: 15px;
  line-height: 1.5;
  color: #555;
  flex-grow: 1;
}
.service-list { 
  list-style: none; 
  padding: 0; 
  margin: 0 0 15px 0; 
  text-align: left; 
}
.service-list li { margin: 6px 0; }

.btn-secondary.service-box-link {
    display: inline-block;
    margin-top: 20px; 
    font-size: 14px;
    font-weight: 600;
    color: var(--color-orange-primary);
    border: 1px solid var(--color-orange-primary);
    padding: 10px 20px;
    text-decoration: none;
    transition: all 0.3s ease;
    align-self: center; 
    border-radius: 6px;
}
.btn-secondary.service-box-link:hover {
    color: #ffffff;
    background-color: var(--color-orange-primary);
}


/* --- WHY CHOOSE US (Home) --- */
.why-choose-us {
  background-color: #ffffff;
}
.why-title {
  font-weight: 800;
  color: var(--color-dark-bg);
  margin-bottom: 16px;
  position: relative;
  display: inline-block;
  text-align: left; 
}
.why-title::after {
    content: '';
    display: block;
    width: 100px;
    height: 4px;
    background-color: var(--color-orange-primary);
    position: absolute; 
    right: -120px; 
    top: 50%;
    transform: translateY(-50%);
}
.why-subtitle {
  font-size: 16px;
  color: #555;
  max-width: 680px; 
  margin: 0 0 48px 0; 
  line-height: 1.6;
  text-align: left; 
}
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.why-card {
  background: #ffffff;
  padding: 32px 24px;
  border-radius: 12px;
  transition: all .25s ease;
  border: 1px solid #e1e7ef;
  box-shadow: none;
  text-align: left; 
}
.why-card:hover {
  border-color: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  transform: translateY(-3px);
}
.why-card h3 {
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--color-orange-primary);
}
.why-card p {
  font-size: 15px;
  color: #555;
  line-height: 1.5;
}
.why-card strong {
    font-weight: 700;
    color: var(--color-dark-bg);
}

/* --- SEGMENTS (Home) --- */
.segments-section {
  background-color: var(--color-orange-primary);
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.segments-container {
  text-align: left;
}
.segments-title {
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 16px;
  text-align: left; 
}
.segments-subtitle {
  font-size: 16px;
  color: #f0f0f0;
  margin: 0 0 48px 0;
  max-width: 700px;
  line-height: 1.6;
}
.segments-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 48px;
  justify-content: flex-start;
}
.segment-card {
  background: var(--color-dark-bg);
  border: 1px solid #333;
  padding: 14px 24px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  color: #ffffff;
  transition: all 0.25s ease;
  cursor: pointer;
  flex-shrink: 0;
}
.segment-card:hover {
  background: #333333;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* --- DECORAÇÃO GROUP 24 (Home) --- */
.decorations-image-group24 {
    position: absolute;
    bottom: 60px;
    right: 0;
    width: 1134px;
    height: auto;
    max-width: 80%;
    transform: translate(15%, 30%);
    z-index: 5;
}


/* --- CONTATO (Home) --- */
.contact-section {
    background-color: var(--color-dark-bg);
    background-image: url("../img/image 7.png");
    background-repeat: repeat;
    background-size: auto;
    background-blend-mode: multiply;
    position: relative;
    overflow: hidden;
    z-index: 4;
}
.contact-content-wrapper {
    position: relative;
    z-index: 10;
    width: 100%;
}
.contact-section .section-title-center {
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 16px;
}
.contact-section .section-subtitle-center {
    font-size: 16px;
    color: var(--color-light-text);
    margin: 0 auto 48px;
    line-height: 1.6;
}
.contact-layout-wrapper {
    display: flex;
    gap: 48px;
    width: 100%;
    align-items: flex-start;
}
.form-wrapper {
    flex: 1;
    background: #2a2a2a;
    padding: 32px;
    border-radius: 12px;
}
.contact-form { display: grid; gap: 16px; }
.form-label {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 4px;
    display: block;
    text-align: left;
}
.form-input, .form-select, .form-textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #3a3a3a;
    background-color: #353535;
    color: #ffffff;
    border-radius: 6px;
    font-size: 15px;
    transition: border-color 0.2s;
    box-sizing: border-box;
    font-family: inherit;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
    border-color: var(--color-orange-primary);
    outline: none;
}
.form-input::placeholder, .form-textarea::placeholder {
    color: var(--color-light-text);
    opacity: 0.7;
}
.contact-form select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23FFFFFF' d='M6 8L0 2l1.4-1.4L6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 40px;
}
.btn-submit {
    display: block;
    width: 100%;
    margin-top: 16px;
    background-color: var(--color-orange-primary);
    padding: 14px 20px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: background-color 0.2s;
}
.btn-submit:hover { background-color: #e0611e; }
.contact-info-panel {
    width: 40%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.map-figure {
    margin: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
.map-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}
.contact-details-box {
    background: #2a2a2a;
    padding: 24px;
    border-radius: 12px;
    font-style: normal;
    color: #ffffff;
    padding-bottom: 30px; 
    text-align: left;
}
.contact-details-box p {
    margin: 0 0 10px 0;
    font-size: 15px;
    color: var(--color-light-text);
}
.contact-details-box p:last-child { margin-bottom: 0; }
.contact-details-box strong {
    font-weight: 700;
    color: #ffffff;
    margin-right: 5px;
}
.contact-details-box a {
    color: var(--color-light-text);
    text-decoration: none;
    transition: color 0.2s;
}
.contact-details-box a:hover {
    color: var(--color-orange-primary);
}


/* ================================== */
/* FOOTER (Layout 2 Colunas)
/* ================================== */
.footer {
    background-color: var(--color-dark-bg);
    padding: 40px 0;
    position: relative;
    border-top: 4px solid var(--color-orange-primary);
}
.footer-content-wrapper {
    max-width: var(--max-content-width);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    box-sizing: border-box;
}
.footer-left { flex-basis: 50%; text-align: left; }
.footer-company-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-orange-primary);
    margin: 0 0 10px 0;
}
.footer-description {
    font-size: 14px;
    color: var(--color-light-text);
    margin: 0;
    line-height: 1.6;
}
.footer-right { flex-basis: 40%; text-align: left; }
.copyright {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-orange-primary);
    margin: 0 0 10px 0;
}
.footer-link {
    font-size: 14px;
    color: var(--color-light-text);
    text-decoration: none;
    display: block;
    transition: color 0.2s;
}
.footer-link:hover { color: #ffffff; }

/* ================================== */
/* ESTILOS DA PÁGINA DE CONTATO (contato.html)
/* ================================== */

/* --- HERO (Contato) --- */
.contact-hero {
    height: 180px; /* << ALTURA REDUZIDA >> */
    min-height: 100px; /* Reduz a altura mínima também */
    background-position: center 30%; /* Ajusta a posição para focar na parte relevante */
    background-size: cover; /* Garante que a imagem cubra */
    background-image: url("../img/foto-contato.png");
    background-repeat: no-repeat;
    position: relative;
    display: block; 
}
.contact-hero-overlay {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2); 
    z-index: 1;
}
.about-hero { 
 	height: 180px; /* << ALTURA REDUZIDA >> */
    min-height: 100px; /* Reduz a altura mínima também */
    background-position: center 30%; /* Ajusta a posição para focar na parte relevante */
    background-size: cover; /* Garante que a imagem cubra */
}
.service-hero-container { 
     padding-top: 20px; /* Menos espaço acima do texto/imagem */
     padding-bottom: 20px;
}
.service-hero-image {
     max-width: 250px; /* Limita um pouco mais a imagem */
     margin-bottom: 20px;
}

/* --- SEÇÃO DO FORMULÁRIO (Contato) --- */
.form-section {
    background-color: #ffffff;
}
.form-header {
    text-align: left;
    margin-bottom: 48px;
    max-width: 700px;
}
.form-header h2 {
    font-weight: 800;
    color: var(--color-dark-bg);
    margin: 0 0 10px 0;
    position: relative;
    display: inline-block;
    text-align: left; 
}
.form-header h2::after {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background-color: var(--color-orange-primary);
    margin: 10px 0 0 0;
}
.form-header p {
    font-size: 16px;
    color: #555;
    margin: 0;
    line-height: 1.6;
}
.form-layout-wrapper {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}
.form-column {
    flex: 1;
    background: var(--color-dark-bg);
    padding: 32px;
    border-radius: 12px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}
.contact-form-internal {
    display: grid;
    gap: 20px;
}
.contact-form-internal label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 8px;
    text-align: left;
}
.contact-form-internal input[type="text"],
.contact-form-internal input[type="email"],
.contact-form-internal input[type="tel"],
.contact-form-internal select,
.contact-form-internal textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #4a4a4a;
    background-color: #353535;
    color: #ffffff;
    border-radius: 6px;
    font-size: 15px;
    transition: border-color 0.2s;
    box-sizing: border-box;
    font-family: inherit;
}
.contact-form-internal input::placeholder,
.contact-form-internal textarea::placeholder {
    color: var(--color-light-text);
    opacity: 0.7;
}
.contact-form-internal input:focus,
.contact-form-internal select:focus,
.contact-form-internal textarea:focus {
    border-color: var(--color-orange-primary);
    outline: none;
}
.contact-form-internal select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23FFFFFF' d='M6 8L0 2l1.4-1.4L6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 40px;
}
.contact-form-internal .btn-submit {
    width: auto;
    padding: 12px 30px;
    justify-self: start;
}
.info-column {
    width: 40%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.map-figure-contact {
    margin: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}
.map-image-contact {
    width: 100%;
    height: auto;
    display: block;
}
.contact-details-box-internal {
    background: var(--color-dark-bg);
    padding: 24px;
    border-radius: 12px;
    font-style: normal;
    color: var(--color-light-text);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
    text-align: left;
}
.contact-details-box-internal p {
    margin: 0 0 10px 0;
    font-size: 15px;
    line-height: 1.6;
}
.contact-details-box-internal p:last-child { margin-bottom: 0; }
.contact-details-box-internal strong { color: #ffffff; }
.contact-details-box-internal a {
    color: var(--color-light-text);
    text-decoration: none;
    transition: color 0.2s;
}
.contact-details-box-internal a:hover {
    color: var(--color-orange-primary);
}

.footer-small-logo {
    display: block;
    width: 120px;
    height: auto;
    margin: 20px 0 0 0;
    opacity: 0.8;
}

/* ================================== */
/* ESTILOS DA PÁGINA QUEM SOMOS (quem-somos.html)
/* ================================== */

/* --- HERO (Quem Somos) --- */
.about-hero {
    width: 100%;
    min-height: 100px;
    background-image: url("../img/banner-quem-somos.png");
    background-size: cover;
    background-position: center 30%; 
    background-repeat: no-repeat;
    position: relative;
}
.about-hero-overlay {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: 1;
}

/* --- CONTEÚDO PRINCIPAL (Quem Somos) --- */
.about-content-section {
    background-color: #f8f9fa;
}
.breadcrumb {
    font-size: 14px;
    color: #555;
    margin-bottom: 40px;
    text-align: left;
}
.breadcrumb span { font-weight: 500; }
.breadcrumb a { color: #555; text-decoration: none; transition: color 0.2s; }
.breadcrumb a:hover { color: var(--color-orange-primary); }


/* Layout Principal */
.about-main-layout { display: flex; gap: 48px; margin-bottom: 60px; align-items: flex-start; }
.about-text-column { flex: 1; }
.about-block h2, .mission-block h3 {
    font-weight: 800; color: var(--color-dark-bg); margin: 0 0 15px 0;
    position: relative; display: inline-block;
    text-align: left; 
}
.mission-block h3 { margin-top: 30px; }
.about-block h2::after, .mission-block h3::after {
    content: ''; display: block; width: 60px; height: 3px;
    background-color: var(--color-orange-primary); margin-top: 8px;
}
.about-block p, .mission-block p {
    font-size: 16px; color: #555; line-height: 1.7; margin: 0 0 20px 0;
}
.about-block p:last-of-type, .mission-block p:last-of-type { margin-bottom: 0; }
.about-image-column { width: 40%; flex-shrink: 0; }
.factory-image-figure { margin: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 6px 15px rgba(0,0,0,0.1); }
.factory-image { width: 100%; height: auto; display: block; }

/* Diferenciais */
.differentials-section { padding: 60px 0; border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; margin-bottom: 60px; }
.differentials-section h3 {
    font-weight: 800; color: var(--color-dark-bg); margin: 0 0 40px 0;
    position: relative; display: inline-block;
    text-align: left; 
}
.differentials-section h3::after {
    content: ''; display: block; width: 60px; height: 3px;
    background-color: var(--color-orange-primary); margin-top: 8px;
}
.differentials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.differential-card {
    background-color: #ffffff; padding: 32px 24px; border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.07); text-align: left; display: flex; gap: 15px;
}
.differential-icon { width: 36px; height: 36px; flex-shrink: 0; margin-top: 2px; }
.differential-card h4 { font-weight: 700; color: var(--color-orange-primary); margin: 0 0 8px 0; text-align: left;}
.differential-card p { font-size: 15px; color: #555; line-height: 1.6; margin: 0; text-align: left;}

/* Call to Action (CTA) */
.cta-section {
    display: flex; gap: 32px; align-items: center; background-color: #ffffff;
    padding: 40px; border-radius: 12px; box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    position: relative; overflow: visible; margin-bottom: 80px;
}
.cta-text { flex: 1; text-align: left; }
.cta-text h4 { font-weight: 700; color: var(--color-dark-bg); margin: 0 0 15px 0; text-align: left;}
.cta-text p { font-size: 16px; color: #555; margin: 0 0 45px 0; text-align: left;}
.cta-button { padding: 12px 30px; font-size: 15px; }
.cta-image {
    position: absolute;
    right: 40px; 
    bottom: -30px; 
    width: 280px;
    z-index: 2;
}
.cta-image img { 
    max-width: 100%; 
    height: auto; 
    display: block; 
}


/* ================================== */
/* ESTILOS DAS PÁGINAS DE SERVIÇOS
/* ================================== */

/* Layout Padrão de Seções */
.service-page main section {
    /* display: flex; removido - deixa padrão */
    /* justify-content: center; removido */
}

/* Service Hero (Layout Desktop - Texto Esquerda / Imagem Direita) */
.service-hero {
    position: relative;
    overflow: hidden; 
}
.service-hero-container {
    display: flex;
    align-items: center;
    gap: 40px;
}
.service-hero-text { flex: 1; text-align: left; }
.service-hero-image {
    width: 40%;
    flex-shrink: 0;
}
.service-hero-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}
.service-hero h1 {
    text-transform: none; 
    text-align: left;
}
.service-hero p { text-align: left; }
.service-hero .breadcrumb { 
    font-size: 14px;
    color: #555;
    margin-bottom: 10px; 
    text-align: left;
}
.service-hero .breadcrumb span { font-weight: 500; }
.service-hero-buttons {
    display: flex;
    gap: 20px;
    margin-top: 30px;
}
/* Decoração de bolinhas (como na foto) */
.dots-decoration-top-left {
    position: absolute;
    top: 100px;
    left: 20px;
    width: 150px; 
    height: 200px; 
    background-image: url("../img/Group 24.png"); 
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.1; 
    z-index: 0;
}


/* Seção de Especificações (Pintura Líquida) */
.specifications-section { background-color: var(--color-orange-primary); }
.specifications-container h2 { color: #ffffff; text-align: left; }
.specifications-container ul {
    list-style: none; padding-left: 0; color: #ffffff;
    text-align: left;
}
.specifications-container li {
    font-size: 1rem; line-height: 1.6; margin-bottom: 10px;
}
.specifications-container .observation {
    font-size: 0.9rem; color: #f0f0f0; margin-top: 20px;
    text-align: left;
}


/* Seção de Processos/Passos */
.how-it-works-section .steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}
.how-it-works-section { background-color: var(--color-orange-primary); }
.how-it-works-section.dark-bg { background-color: var(--color-dark-bg); }
.how-it-works-container h2 { color: #ffffff; text-align: left; } 
.step-card {
    background: #ffffff;
    padding: 24px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    text-align: left; 
}
.step-card h4 {
    color: var(--color-orange-primary);
    margin-top: 0;
    text-align: left;
}
.step-card p {
    font-size: 15px;
    color: #555;
    margin-bottom: 0;
}
.how-it-works-section .dark-card {
    background-color: var(--color-dark-bg);
    color: #ffffff;
}
.how-it-works-section .dark-card h4 {
    color: var(--color-orange-primary);
}
.how-it-works-section .dark-card p {
    color: var(--color-light-text);
}
.how-it-works-section.dark-bg .step-card {
    background-color: #2a2a2a;
    color: #ffffff;
}
.how-it-works-section.dark-bg .step-card h4 {
    color: var(--color-orange-primary);
}
.how-it-works-section.dark-bg .step-card p {
    color: var(--color-light-text);
}


/* Galeria */
.gallery-section { background-color: var(--color-dark-bg); }
.gallery-section.light-bg { background-color: #ffffff; }
.gallery-container h2 { color: #ffffff; text-align: left; } 
.gallery-section.light-bg .gallery-container h2 { color: var(--color-dark-bg); }
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
}
.gallery-grid img, .gallery-grid figure {
    margin: 0;
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* Testemunhos (Padrão) */
.testimonials-section { background-color: #f8f9fa; }
.testimonials-section.light-bg { background-color: #ffffff; }
.testimonials-container h2 { text-align: left; } 
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}
.testimonial-card {
    background: #ffffff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.07);
    text-align: center;
    margin-bottom: 0; 
}
.testimonial-card p {
    font-style: italic;
    color: #555;
    font-size: 16px;
    margin-bottom: 20px;
}
.testimonial-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 15px;
    display: block;
}
.testimonial-card footer { line-height: 1.4; }
.testimonial-card cite {
    font-weight: 700;
    color: var(--color-dark-bg);
    font-style: normal;
    display: block;
}
.testimonial-card span {
    font-size: 13px;
    color: #999;
}

/* Mini Form */
.mini-form-layout { background-color: var(--color-dark-bg); }
.mini-contact-container { 
    max-width: 1100px; /* << AUMENTADO DE 900px >> */ 
    width: 100%; 
    margin: 0 auto; /* Mantém centralizado */
    padding: 0 24px; /* Mantém padding lateral */
    box-sizing: border-box;
}
.mini-contact-container h2 { color: #ffffff; text-align: left;} 
.contact-form.mini-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 30px;
    background: #2a2a2a;
    border-radius: 12px;
}
.mini-form .form-row {
    display: flex;
    gap: 15px;
    width: 100%;
}
.mini-form .form-row > * {
    flex: 1;
}
.mini-form .form-textarea {
    min-height: 90px;
}
.mini-form .submit-row {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-top: 10px;
}
.mini-form .file-input {
    display: none;
}
.mini-form .file-label {
    flex-grow: 0;
    flex-shrink: 0;
    padding: 10px 18px;
    cursor: pointer;
    font-weight: 600;
}
.mini-form .btn-primary {
    flex-grow: 1;
    margin-top: 0;
}

/* Soluções Industriais Específicas */
.processes-section {
    position: relative; 
    background-color: #ffffff; 
}
.processes-container h2 { 
    text-align: left; 
} 
.processes-section .processes-grid {
    display: grid; 
    grid-template-columns: repeat(2, 1fr); 
    gap: 30px; 
    margin-top: 40px; 
}
.process-card {
    background: #f8f9fa; 
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.07);
    display: flex;
    flex-direction: column;
    text-align: left; 
}
.process-image { margin: 0; }
.process-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}
.process-text {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.process-card h3 {
    color: var(--color-dark-bg);
    margin-top: 0;
}
.process-card p {
    color: #555;
    margin-bottom: 20px;
    flex-grow: 1;
}
/* CTA nos processos */
.process-card .btn-primary.process-cta-btn {
    display: block;
    width: 100%;
    margin-top: auto; 
}
/* Adiciona decoração de bolinhas */
.dots-decoration-left { 
    position: absolute;
    top: 80px; 
    left: -50px; 
    width: 150px; 
    height: 200px; 
    background-image: url("../img/Group 24.png"); 
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.1;
    z-index: 0;
}


/* ================================== */
/* PÁGINA DE PRIVACIDADE
/* ================================== */
.privacy-page main {
    background-color: #f8f9fa;
}
.privacy-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 30px;
}
.privacy-title-group h1 {
    text-transform: none;
    text-align: left;
    margin-bottom: 5px;
}
.privacy-title-group .last-updated {
    font-size: 14px;
    color: #555;
    margin: 0;
    text-align: left;
}
.privacy-policy-text section {
    margin-bottom: 30px;
    text-align: left;
}
.privacy-policy-text h2 {
    color: var(--color-dark-bg);
    text-align: left;
    margin-bottom: 15px;
}
.privacy-policy-text h3 {
    color: var(--color-dark-bg);
    text-align: left;
    margin-bottom: 10px;
}
.privacy-policy-text p, .privacy-policy-text li {
    color: #333;
    line-height: 1.7;
    text-align: left;
}
.privacy-policy-text ul {
    padding-left: 20px;
    text-align: left;
}

/* ================================== */
/* NAVEGAÇÃO DO CARROSSEL DE ESPECIALIDADES (HOME)
/* ================================== */

/* Esconde setas e bolinhas no desktop */
.service-nav-controls {
    display: none;
}
.service-arrow {
    display: none;
}
.services-section .carousel-dots-control {
    display: none; 
}


/* ================================== */
/* REGRAS DE RESPONSIVIDADE GERAL
/* ================================== */
@media (max-width: 991px) {

  /* --- MENU HAMBURGER E MOBILE NAV --- */
  .menu-toggle {
      display: block; 
  }
  .main-nav {
      display: none; 
      position: fixed;
      top: 82px; 
      left: 0;
      width: 100%;
      height: calc(100vh - 82px); 
      background-color: var(--color-dark-bg);
      flex-direction: column;
      align-items: flex-start;
      padding: 20px 24px;
      box-sizing: border-box;
      z-index: 990;
      overflow-y: auto;
  }
  .main-nav.is-open {
      display: flex; 
  }
  .nav-list {
      flex-direction: column;
      gap: 0;
      width: 100%;
      align-items: flex-start;
      white-space: normal; 
  }
  .nav-item {
      border-bottom: 1px solid #333;
      width: 100%;
  }
  .nav-link {
      display: block;
      padding: 15px 0 !important; 
      font-size: 16px !important; 
  }
  .nav-item.has-dropdown > .nav-link {
      padding-right: 0; 
  }
  .dropdown-menu {
      position: static !important; 
      width: 100%;
      min-width: auto;
      padding: 0;
      box-shadow: none;
      background-color: transparent;
      margin-top: 0;
      opacity: 1 !important;
      visibility: visible !important;
      display: block !important; 
  }
  .dropdown-item a {
      padding: 8px 15px 8px 30px !important; 
      color: var(--color-light-text) !important;
      background-color: #333 !important;
  }
  .btn-primary.header-quote-btn {
      margin-top: 20px !important;
      width: 100% !important;
  }

  /* --- Layouts Gerais Mobile --- */
  .hero-content h1 { text-align: center; }
  .excellence-content-wrapper { flex-direction: column; gap: 32px; }
  .excellence-image-container { width: 100%; max-width: 500px; margin: 0 auto; }
  .excellence-text-container { max-width: 100%; text-align: center; }
  .excellence-text-container h2, .excellence-text-container .lead, .excellence-text-container .sublead { text-align: center; }
  .excellence-text-container .lead, .excellence-text-container .sublead, .excellence-text-container p { text-align: center; }
  .certifications { grid-template-columns: 1fr; }
  
  /* --- Carrossel Especialidades (Home Mobile) --- */
  .services-grid {
      grid-template-columns: 100%; 
      display: flex; 
      overflow-x: scroll; 
      scroll-snap-type: x mandatory; 
      -webkit-overflow-scrolling: touch; 
      padding-bottom: 20px; 
      gap: 20px; 
  }
  .service-card {
      flex: 0 0 85%; 
      max-width: 300px; 
      scroll-snap-align: start; 
      margin-right: 0; 
      text-align: center; 
  }
  .service-list { text-align: center; } 
  .services-title { text-align: center; }
  .services-title::after { display: none; } 
  .services-section .section-subtitle-center { text-align: center; margin: 0 auto 48px auto; }

  /* Controles do Carrossel (Home Mobile) */
  .service-nav-controls {
        display: block;
        width: 100%;
        position: relative;
        margin-top: 10px;
  }
  .service-arrow {
        display: flex; 
        position: absolute;
        top: 40%; 
        transform: translateY(-50%);
        background-color: rgba(255, 255, 255, 0.9);
        border: 1px solid #ddd;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        font-size: 24px;
        font-weight: bold;
        color: var(--color-orange-primary);
        cursor: pointer;
        z-index: 10;
        box-shadow: 0 2px 5px rgba(0,0,0,0.15);
        align-items: center;
        justify-content: center;
        padding: 0;
        line-height: 1;
  }
  .service-arrow:hover { background-color: #fff; }
  .service-arrow.arrow-left { left: -5px; }
  .service-arrow.arrow-right { right: -5px; }
  .services-section .carousel-dots-control {
        display: flex;
        justify-content: center;
        margin-top: 25px; 
  }
  
  /* --- Outras Seções Home Mobile --- */
  .why-grid { grid-template-columns: 1fr; }
  .why-title { text-align: center; }
  .why-title::after { display: none; }
  .why-subtitle { text-align: center; margin: 0 auto 48px auto; }
  .why-card { text-align: center; }
  .why-card h3, .why-card p { text-align: center; }
  .segments-grid { grid-template-columns: 1fr 1fr 1fr; }
  .contact-layout-wrapper { flex-direction: column; }
  .contact-info-panel { width: 100%; }
  .decorations-image-group24 { opacity: 0.3; max-width: 90%; transform: translate(0, 30%); right: -5%; }
  
  /* --- Contato (Interna) Mobile --- */
  .form-layout-wrapper { flex-direction: column; } 
  .info-column { width: 100%; } 
  .form-section .form-header h2 { text-align: center; display: block; }
  .form-section .form-header h2::after { margin: 10px auto 0 auto; }
  .form-section .form-header p { text-align: center; }

  /* --- Quem Somos Mobile --- */
  .about-main-layout { flex-direction: column; }
  .about-image-column {
      width: 100%;
      max-width: 600px;
      margin: 0 auto 30px auto;
      order: 1; 
  }
  .about-text-column { order: 2; }
  .about-block h2, .mission-block h3 { text-align: center; display: block;}
  .about-block h2::after, .mission-block h3::after { margin: 8px auto 0 auto; }
  .about-block p, .mission-block p { text-align: center; }
  .differentials-section h3 { text-align: center; display: block;}
  .differentials-section h3::after { margin: 8px auto 0 auto; }
  .differentials-grid { grid-template-columns: 1fr; }
  .differential-card { text-align: center; flex-direction: column; align-items: center;}
  .differential-card h4, .differential-card p { text-align: center; }
  .cta-section {
      flex-direction: column; 
      text-align: center; 
      padding: 40px 24px; 
      overflow: hidden; 
  }
  .cta-text {
      width: 100%; 
      margin-bottom: 20px; 
      text-align: center;
  }
  .cta-text h4, .cta-text p { text-align: center; }
  .cta-image {
      position: relative; 
      width: 80%; 
      max-width: 250px;
      margin: 0 auto;
      display: flex; 
      justify-content: center; 
      align-items: center;
      right: auto;
      bottom: auto;
  }

  /* --- Páginas de Serviço Mobile --- */
  .service-hero-container {
      flex-direction: column; 
      text-align: center;
  }
  .service-hero-text { order: 2; }
  .service-hero-image {
      width: 80%;
      max-width: 500px;
      margin: 0 auto 30px;
      order: 1; 
  }
  .service-hero h1 { text-align: center; }
  .service-hero p { text-align: center; }
  .service-hero .breadcrumb { text-align: center; }
  .service-hero-buttons { justify-content: center; }
  .dots-decoration-top-left { display: none; } 
  .dots-decoration-left { display: none; } 
  .specifications-container h2 { text-align: center; }
  .specifications-container ul, .specifications-container .observation { text-align: center; }
  .how-it-works-container h2 { text-align: center; } 
  .step-card { text-align: center; }
  .step-card h4, .step-card p { text-align: center; }
  .gallery-container h2 { text-align: center; }
  .testimonials-container h2 { text-align: center; }
  .mini-contact-container h2 { text-align: center; }
  .processes-container h2 { text-align: center; }

  .how-it-works-section .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .processes-section .processes-grid { grid-template-columns: 1fr; } 
  .process-card { text-align: center; }
  .process-card h3, .process-card p { text-align: center; }


  /* --- Testemunhos (Carrossel Mobile) --- */
  .testimonials-grid {
      grid-template-columns: 100%; 
      display: flex; 
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      padding-bottom: 20px; 
      gap: 20px;
  }
  .testimonial-card {
      flex: 0 0 90%; 
      scroll-snap-align: start;
      margin-right: 0; 
  }
  .carousel-dots-control {
      display: flex; 
      justify-content: center;
      margin-top: 20px;
  }
  .dot {
      display: inline-block;
      width: 10px;
      height: 10px;
      background-color: #ccc;
      border-radius: 50%;
      margin: 0 5px;
      cursor: pointer;
      transition: background-color 0.3s;
  }
  .dot.active {
      background-color: var(--color-orange-primary);
  }
}

@media (max-width: 768px) {
  /* Padronização de padding mobile menor */
  .excellence-quality-section, .services-section, .why-choose-us,
  .contact-section, .form-section, .about-content-section,
  .service-page main section {
      padding: var(--padding-section-mobile);
  }
  .segments-section { padding: 35px 0 100px 0; }

  .hero-section { min-height: 520px; }
  .segments-grid { grid-template-columns: 1fr 1fr; }
  .footer-content-wrapper { flex-direction: column; align-items: center; text-align: center; gap: 30px; }
  .footer-left, .footer-right { flex-basis: auto; width: 100%; text-align: center; }
  
  .contact-hero { height: 100px; background-position: center 20%; } 
  .about-hero { height: 100px; }
  
  .how-it-works-section .steps-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; }

  /* Reduz padding dos formulários no mobile */
  .form-section-container,
  .mini-contact-container {
    padding-left: 10px; /* << REDUZIDO >> */
    padding-right: 10px; /* << REDUZIDO >> */
	}
	.form-wrapper, 
	.form-column {
    width: 100%; /* Ocupa a largura do container pai */
     max-width: none; /* Remove qualquer max-width que possa vir do desktop */
     padding: 25px; /* Padding interno do box do formulário */
     box-sizing: border-box;
}

  /* Privacidade */
  .privacy-header { flex-direction: column; align-items: flex-start; gap: 15px; }
  .privacy-container { padding: 0 15px; } 
  .privacy-policy-text h2 { text-align: left; }
  .btn-secondary { align-self: flex-start; }

  /* Verticalização Forms */
  .mini-form .form-row {
      flex-direction: column;
  }
}

@media (max-width: 550px) {
  .segments-grid { grid-template-columns: 1fr; }
  .decorations-image-group24 { display: none; }
  .form-column, .contact-details-box-internal { padding: 24px; }
  .contact-form-internal .btn-submit { width: 100%; justify-self: stretch; }
  .footer-small-logo { margin: 20px auto 0 auto; }
  .cta-image { width: 80%; }

  .service-hero-buttons { flex-direction: column; gap: 10px; align-items: stretch; }

  /* Verticalização Mini-Form */
  .mini-form .submit-row {
      flex-direction: column;
      align-items: stretch;
  }
  .mini-form .file-label, .mini-form .btn-primary {
      width: 100%;
      box-sizing: border-box;
      text-align: center;
  }
}