:root{
  --brand-gold:#a8821f;
  --brand-purple:#5e4985;
  --text:#000000;
  --footer-text:#ffffff;
  --footer-muted:#d6d6d6;
  --footer-divider:rgba(255,255,255,.18);
}
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{max-height:90px;}
.social-list .bi{font-size:1.1rem;}
.social-pill{width:42px;height:42px;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:1vh;}
.contact-info .large-text{font-size:18px;font-weight:800;}
.contact-info div{margin:1vh 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;}}

/* ===== 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; }
}