:root{
  --brand-gold:#a8821f;
  --brand-gold-accent:#a47c1b;
  --brand-purple:#5e4985;
  --text:#000000;
  --text-secondary:#333;
  --form-border:#ccc;
  --form-btn-bg:#000;
  --form-btn-text:#fff;
  --bg-light:#f9f9fc;
  --footer-text:#ffffff;
  --footer-muted:#d6d6d6;
  --footer-divider:rgba(255,255,255,.18);
  /* Escala de espaçamento (base 4px / 0.25rem) */
  --space-1:0.25rem;
  --space-2:0.5rem;
  --space-3:1rem;
  --space-4:1.5rem;
  --space-5:2rem;
  --space-6:3rem;
  --space-7:4rem;
  --space-8:5rem;
  --space-section:5rem;
  --space-section-sm:3rem;
  --space-container-x:1.5rem;
  --space-container-x-md:2rem;
  --space-container-x-lg:2.5rem;
  --space-hero-top:5rem;
  --space-hero-top-sm:3.5rem;
}
body{font-family:'Open Sans','Segoe UI',Tahoma,Geneva,sans-serif;color:var(--text);}
#mainHeader{transition:top .3s ease; z-index:1030; min-height:100px;}
.header-logo{width:170px;}
.header-nav-group>ul>li.active>a{position:relative;color:var(--brand-gold)!important;text-decoration:none;}
.header-nav-group>ul>li.active>a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--brand-gold);transform:scaleX(1);transform-origin:left;}
.header-nav-group>ul>li>a{position:relative;display:inline-block;color:#000;text-decoration:none;}
.header-nav-group>ul>li>a:hover{color:var(--brand-gold)!important;}
.header-nav-group>ul>li>a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--brand-gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.header-nav-group>ul>li>a:hover::after{transform:scaleX(1);}
/* define largura fixa e permite quebrar */
.dropdown-menu {
    width: 260px;
    padding: .5rem;
}
.dropdown-menu .dropdown-item {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.4;
    padding: .35rem .75rem;
}

.dropdown-menu li {
    white-space: normal;
}
/* Footer base */
.footer-vexilom{color:#fff;background-color:var(--brand-purple);}
.footer-vexilom .text-muted{color:var(--footer-muted)!important;}
.footer-links li{color:#fff;background:none;border:none;padding:0;margin:0;}
.footer-logo-vexilom{width: auto; max-height: 90px;}
.footer-logo-3m{width: auto; max-height: 150px;}
@media (max-width:991.98px){.footer-logo-3m{max-height:135px;width:auto;}}
.social-list .bi{font-size:1.1rem;}
.social-pill{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);transition:transform .15s ease,background .15s ease;}
.social-pill:hover{background:rgba(255,255,255,.18);transform:translateY(-2px);}
.footer-links a{color:var(--footer-text);text-decoration:none;font-size:15px;}
.footer-links a:hover{text-decoration:underline;}
.footer-links li::marker{color:var(--footer-divider);}
.footer-container-logo p,.footer-contact-info,.contact-info p{font-size:15px;}
.contact-info i{font-size:20px;margin-right:var(--space-2);}
.contact-info .large-text{font-size:18px;font-weight:800;}
.contact-info div{margin:var(--space-2) 0;}
@media (min-width:992px){.footer-col-divider{border-left:1px solid var(--footer-divider);} .footer-col-divider-end{border-right:1px solid var(--footer-divider);}}
@media (max-width:575.98px){.footer-links{padding-left:0;} .footer-links li{list-style:none;}}
@media (max-width:767.98px){.social-pill{width:44px;height:44px;min-width:44px;min-height:44px;}}
@media (min-width:576px) and (max-width:991.98px){.footer-container-logo p{max-width:480px;margin-left:auto;margin-right:auto;}}

/* ===== Header menu – 992–1199px (tablet landscape / small laptop) ===== */
@media (min-width:992px) and (max-width:1199.98px){
  /* header mais compacto */
  #mainHeader { min-height: 84px; }

  /* logo um pouco menor */
  .header-logo { width: 140px; }

  /* container do navbar com menos respiro lateral */
  .navbar.navbar-light .container-fluid { padding-left: 16px; padding-right: 16px; }

  /* a lista do menu não quebra e tem gap menor */
  .header-nav-group .navbar-nav {
    flex-wrap: nowrap;       /* evita pular pra 2 linhas */
    gap: 16px;               /* antes era maior */
  }

  /* links menores e com padding mais contido */
  .header-nav-group .nav-link {
    font-size: 15px;
    padding: .5rem .25rem;   /* menos altura e largura */
    line-height: 1.1;
    white-space: nowrap;     /* mantém cada item em uma linha só */
  }

  /* underline ativo/hover: aproxima do texto */
  .header-nav-group > ul > li > a::after,
  .header-nav-group > ul > li.active > a::after {
    bottom: -2px;            /* underline mais pertinho */
    height: 2px;             /* um pouco mais visível nessa densidade */
  }

  /* menu inteiro não estoura: se faltar 1–2px, habilita scroll horizontal suave */
  .header-nav-group {
    overflow-x: auto;
    scrollbar-width: none;   /* Firefox: esconde a barra */
  }
  .header-nav-group::-webkit-scrollbar { display: none; } /* Chrome/WebKit: esconde a barra */

  /* dropdown: largura mínima pra não quebrar texto */
  .navbar .dropdown-menu { min-width: 220px; }
}