﻿/* Personalizacoes Cordial - somente as propriedades alteradas no tema antigo (1.1.3) */

.color1 {
  color: #00AFEF;
}

.color2 {
  color: #00AFEF;
}

.bg-color1 {
  background-color: #00AFEF;
}

.border-color1 {
  border-color: #00AFEF;
}

i.fa.color1 {
  color: #00AFEF;
}

i.fa.icon.bordered.color1, i.fa.icon.color1.card[class*="bottom-border-"] {
  border-color: #00AFEF;
}

i.fa.icon.reverse.color1 {
  background-color: #00AFEF;
}

button.color1, .button.color1 {
  background-color: #00AFEF;
}

a.color1:not(.button) {
  color: #00AFEF;
}

hr.small-line.color1 {
  background-color: #00AFEF;
}

.circle-counter.color1 .circle-bar {
  stroke: #00AFEF;
}

i.fa.color2 {
  color: #00AFEF;
}

html, body, .p {
  font-size: 18px;
  font-weight: lighter;
}

body {
  color: #909090;
}

a {
  color: #00AFEF;
}

a:hover {
  color: #00afef;
}

h1.title, h1, h2, h3, h4, h5, .comment-author .fn, h6 {
  color: #909090;
}

h2, .h2 {
  font-size: 4rem;
  line-height: 5rem;
  font-weight: lighter;
  letter-spacing: -0.04em;
}

.home h2, .home .h2 {
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.p, p, blockquote, hr, pre, ol, ul, dl, table, fieldset, figure, address, form {
  margin-bottom: 20px;
  line-height: 30px;
}

blockquote {
  color: #909090;
}

body #page h5, body #page .comment-author .fn, .comment-author body #page .fn {
  letter-spacing: 0.02em;
  font-size: 19px;
  font-weight: 700;
}

body #page p, body #page a {
  line-height: 29px;
  padding-bottom: 15px;
}

.lead {
  line-height: 2.1rem!important;
  color: #909090;
}

button:not(.pswp__button):not(.customize-partial-edit-shortcut-button):not(.fancybox-button), .button {
  background-color: #00AFEF;
  border: 2px solid #00AFEF;
}

.button.big {
  font-size: 1.1rem;
  padding: 0.65rem 1.5rem;
}

.button.outline {
  border-color: #00AFEF;
  color: #00AFEF;
}

.button.link {
  border-color: #00AFEF;
  color: #00AFEF;
}

.button.color1 {
  background-color: #00AFEF;
  border-color: #00AFEF;
}

.button.color1.outline {
  color: #00AFEF;
  border-color: #00AFEF;
}

input, textarea, select {
  color: #00afef;
  height: 57px;
  border: 1px solid #00afef;
  border-radius: 8px;
  padding: 0 15px;
}

input.success, .subscribe-form input[class*="success"], textarea.success, .subscribe-form textarea[class*="success"], select.success, .subscribe-form select[class*="success"] {
  border: 5px solid #6ad5cb;
}

label {
  color: #00afef;
  font-size: 17px;
  font-weight: 600;
}

table {
  font-size: 16px;
  line-height: 31px;
  font-weight: 500;
}

@media only screen and (min-width: 768px) {
.col-sm-3 {
  padding-right: 13px;
  padding-left: 13px;
}
}

@media only screen and (min-width: 1024px) {
.col-md-3 {
  padding-right: 2px;
  padding-left: 2px;
  max-width: 100%;
}
}

@media only screen and (min-width: 1200px) {
.gridContainer {
  width: 88%;
}
}

.header-top-bar {
  background-color: #fff;
  border-bottom: 1px solid #f1f1f1;
}

.top-bar-social-icons a {
  color: #00afef;
}

.top-bar-social-icons a:hover {
  color: #00afef;
}

.top-bar-field {
  color: #909090;
}

.top-bar-field i.fa {
  color: #b5b5b5;
}

.top-bar-field span {
  color: #b5b5b5;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.01rem;
}

.top-bar-field a {
  color: #909090;
}

ul.dropdown-menu li {
  padding: 0.73rem;
}

ul.dropdown-menu ul {
  box-shadow: 0px 9px 6px 5px rgba(0, 0, 0, 0.09);
}

ul.dropdown-menu ul li {
  color: #00afef;
  font-weight: 500;
  padding: 1rem 1.5rem;
}

ul.dropdown-menu ul li:hover, ul.dropdown-menu ul li.hover {
  background-color: #f5fafd;
  color: #00afef;
}

@media (min-width: 768px) {
ul.dropdown-menu > li > a {
  letter-spacing: 0.01em;
}
}

@media (min-width: 768px) {
ul.dropdown-menu > li:hover > a, ul.dropdown-menu > li.hover > a {
  color: #00AFEF;
}
}

ul.dropdown-menu.simple-menu-items > .current_page_item > a, ul.dropdown-menu.simple-menu-items > .current-menu-item > a {
  color: #00AFEF;
}

ul.dropdown-menu.active-line-bottom > .current_page_item > a, ul.dropdown-menu.active-line-bottom > .current-menu-item > a, ul.dropdown-menu.default > .current_page_item > a, ul.dropdown-menu.default > .current-menu-item > a {
  border-bottom: 3px solid #00AFEF;
}

ul.dropdown-menu.active-line-top > .current_page_item > a, ul.dropdown-menu.active-line-top > .current-menu-item > a {
  border-top: 3px solid #00AFEF;
}

ul.dropdown-menu.active-round-button > .current_page_item > a, ul.dropdown-menu.active-round-button > .current-menu-item > a {
  background-color: #00AFEF;
}

ul.dropdown-menu.active-arrow-down > .current_page_item:after, ul.dropdown-menu.active-arrow-down > .current-menu-item:after {
  border-color: transparent transparent #00AFEF transparent;
}

ul.dropdown-menu.active-round-border-button > .current_page_item > a, ul.dropdown-menu.active-round-border-button > .current-menu-item > a {
  border: 2px solid #00AFEF;
  color: #00AFEF;
}

ul.dropdown-menu.active-line-top-bottom > .current_page_item > a, ul.dropdown-menu.active-line-top-bottom > .current-menu-item > a {
  border-top: 1px solid #00AFEF;
  border-bottom: 1px solid #00AFEF;
  color: #00AFEF;
}

.coloured-nav ul.dropdown-menu > li, .fixto-fixed ul.dropdown-menu > li {
  color: #00afef;
}

.coloured-nav ul.dropdown-menu.active-line-bottom > .current_page_item > a, .coloured-nav ul.dropdown-menu.active-line-bottom > .current-menu-item > a, .coloured-nav ul.dropdown-menu.default > .current_page_item > a, .coloured-nav ul.dropdown-menu.default > .current-menu-item > a, .fixto-fixed ul.dropdown-menu.active-line-bottom > .current_page_item > a, .fixto-fixed ul.dropdown-menu.active-line-bottom > .current-menu-item > a, .fixto-fixed ul.dropdown-menu.default > .current_page_item > a, .fixto-fixed ul.dropdown-menu.default > .current-menu-item > a {
  border-bottom: 3px solid #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-line-bottom > li:not(.current-menu-item):not(.current_page_item):hover > a, .coloured-nav ul.dropdown-menu.active-line-bottom > li:not(.current-menu-item):not(.current_page_item).hover > a, .coloured-nav ul.dropdown-menu.default > li:not(.current-menu-item):not(.current_page_item):hover > a, .coloured-nav ul.dropdown-menu.default > li:not(.current-menu-item):not(.current_page_item).hover > a, .fixto-fixed ul.dropdown-menu.active-line-bottom > li:not(.current-menu-item):not(.current_page_item):hover > a, .fixto-fixed ul.dropdown-menu.active-line-bottom > li:not(.current-menu-item):not(.current_page_item).hover > a, .fixto-fixed ul.dropdown-menu.default > li:not(.current-menu-item):not(.current_page_item):hover > a, .fixto-fixed ul.dropdown-menu.default > li:not(.current-menu-item):not(.current_page_item).hover > a {
  color: #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-line-top > .current_page_item > a, .coloured-nav ul.dropdown-menu.active-line-top > .current-menu-item > a, .fixto-fixed ul.dropdown-menu.active-line-top > .current_page_item > a, .fixto-fixed ul.dropdown-menu.active-line-top > .current-menu-item > a {
  border-top: 3px solid #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-line-top > li:not(.current-menu-item):not(.current_page_item):hover > a, .coloured-nav ul.dropdown-menu.active-line-top > li:not(.current-menu-item):not(.current_page_item).hover > a, .fixto-fixed ul.dropdown-menu.active-line-top > li:not(.current-menu-item):not(.current_page_item):hover > a, .fixto-fixed ul.dropdown-menu.active-line-top > li:not(.current-menu-item):not(.current_page_item).hover > a {
  color: #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-round-button > .current_page_item > a, .coloured-nav ul.dropdown-menu.active-round-button > .current-menu-item > a, .fixto-fixed ul.dropdown-menu.active-round-button > .current_page_item > a, .fixto-fixed ul.dropdown-menu.active-round-button > .current-menu-item > a {
  background-color: #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-round-button > li:not(.current-menu-item):not(.current_page_item):hover > a, .coloured-nav ul.dropdown-menu.active-round-button > li:not(.current-menu-item):not(.current_page_item).hover > a, .fixto-fixed ul.dropdown-menu.active-round-button > li:not(.current-menu-item):not(.current_page_item):hover > a, .fixto-fixed ul.dropdown-menu.active-round-button > li:not(.current-menu-item):not(.current_page_item).hover > a {
  color: #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-arrow-down > .current_page_item:after, .coloured-nav ul.dropdown-menu.active-arrow-down > .current-menu-item:after, .fixto-fixed ul.dropdown-menu.active-arrow-down > .current_page_item:after, .fixto-fixed ul.dropdown-menu.active-arrow-down > .current-menu-item:after {
  border-color: transparent transparent #00AFEF transparent;
}

.coloured-nav ul.dropdown-menu.active-round-border-button > .current_page_item > a, .coloured-nav ul.dropdown-menu.active-round-border-button > .current-menu-item > a, .fixto-fixed ul.dropdown-menu.active-round-border-button > .current_page_item > a, .fixto-fixed ul.dropdown-menu.active-round-border-button > .current-menu-item > a {
  border: 2px solid #00AFEF;
  color: #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-round-border-button > li:not(.current-menu-item):not(.current_page_item):hover > a, .coloured-nav ul.dropdown-menu.active-round-border-button > li:not(.current-menu-item):not(.current_page_item).hover > a, .fixto-fixed ul.dropdown-menu.active-round-border-button > li:not(.current-menu-item):not(.current_page_item):hover > a, .fixto-fixed ul.dropdown-menu.active-round-border-button > li:not(.current-menu-item):not(.current_page_item).hover > a {
  border: 2px solid #00AFEF;
  color: #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-line-top-bottom > .current_page_item > a, .coloured-nav ul.dropdown-menu.active-line-top-bottom > .current-menu-item > a, .fixto-fixed ul.dropdown-menu.active-line-top-bottom > .current_page_item > a, .fixto-fixed ul.dropdown-menu.active-line-top-bottom > .current-menu-item > a {
  border-top: 1px solid #00AFEF;
  border-bottom: 1px solid #00AFEF;
  color: #00AFEF;
}

.coloured-nav ul.dropdown-menu.active-line-top-bottom > li:not(.current-menu-item):not(.current_page_item):hover > a, .coloured-nav ul.dropdown-menu.active-line-top-bottom > li:not(.current-menu-item):not(.current_page_item).hover > a, .fixto-fixed ul.dropdown-menu.active-line-top-bottom > li:not(.current-menu-item):not(.current_page_item):hover > a, .fixto-fixed ul.dropdown-menu.active-line-top-bottom > li:not(.current-menu-item):not(.current_page_item).hover > a {
  color: #00AFEF;
}

.navigation-bar {
  padding-top: 5px;
  padding-bottom: 5px;
}

.navigation-bar.fixto-fixed {
  background-color: #fff;
}

/* ===== CAPA (home): estilos restritos a .header-homepage; paginas internas nao herdam ===== */
.header-homepage h1.hero-title {
  font-family: var(--cordial-font-title);
  /* a linha "com responsabilidade" mede ~9.7em: 6vw garante que caiba sem quebrar a palavra */
  font-size: clamp(2rem, 6.2vw, 5.3rem); /* TESTE: antes clamp(2rem, 6vw, 5.6rem) */
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.01em;
  color: #fff;
  max-width: 30ch; /* TESTE: antes 24ch */
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-shadow: 0 3px 18px rgba(0, 30, 70, 0.45);
  margin-bottom: 1.4rem;
}

/* linha amarela horizontal acima do titulo removida (a cor amarela agora esta na borda vertical do subtitulo) */
.header-homepage h1.hero-title::before { content: none; display: none; }

body #page .header-homepage p.header-subtitle2, body #page .header-homepage p.header-subtitle {
  font-family: var(--cordial-font-title);
  font-size: clamp(1.3rem, 2.2vw, 2.1rem);
  font-weight: 400;
  line-height: 1.5 !important;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.95);
  max-width: 1000px;
  padding: 0.35rem 0 0.35rem 1.3rem !important;
  border-left: 4px solid #ffc627;
  text-shadow: 0 1px 10px rgba(0, 30, 70, 0.5);
  margin-bottom: 2.4rem;
}

body #page .header-homepage .header-buttons-wrapper a.button {
  padding: 0 1.8rem;
  line-height: 1;
  text-indent: 0.1em;
  text-align: center;
  font-family: 'Gilroy', var(--cordial-font-title);
}

.header-homepage p.header-subtitle2 strong,
.header-homepage p.header-subtitle strong {
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* TESTE (remover para desfazer): container do cabecalho mais largo */
.header-homepage .gridContainer { max-width: 1440px; }

.header-homepage .header-content {
  padding-top: 60px;
  padding-bottom: 20px; /* era 45px */
}

/* banner mais baixo (desktop/tablet): antes padding-bottom do tema = 17% da largura (~150px) */
@media (min-width: 601px) {
  body #page .header-homepage .header-description-row {
    padding-bottom: 75px !important; /* era 30px; tema original ~150px */
  }
}

.header-homepage .header-content .header-hero-content {
  max-width: 100%;
}

.header-homepage .header-buttons-wrapper {
  margin-top: 1.2rem;
}

.header-homepage .header-buttons-wrapper .button,
.header-homepage .header-buttons-wrapper a.button,
.header-homepage .header-buttons-wrapper button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  gap: 0.6rem;
  height: 50px;
  padding: 0 1.8rem;
  border-radius: 999px;
  border: 1.5px solid rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.16);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  transition: all 0.25s ease;
  box-shadow: 0 6px 18px rgba(0, 40, 80, 0.18);
}

.header-homepage .header-buttons-wrapper a.button::after {
  content: "\2192";
  font-size: 1.2rem;
  line-height: 1;
  transition: transform 0.25s ease;
}

.header-homepage .header-buttons-wrapper a.button:hover::after {
  transform: translateX(5px);
}

.header-homepage .header-buttons-wrapper .button:hover,
.header-homepage .header-buttons-wrapper a.button:hover,
.header-homepage .header-buttons-wrapper button.button:hover {
  background: rgba(255, 255, 255, 0.3);
  border-color: #fff;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 40, 80, 0.28);
}

img.logo.dark, img.custom-logo {
  padding: 7px 0 7px 0;
}

/* ===== Overlay do banner/slider da capa =====
   Antes: cor chapada #00AFEF a 68% (lavava a foto). Agora: degrade azul-marinho -> azul da marca,
   mais escuro onde fica o texto (esquerda), deixando a foto aparecer na direita. */
body #page .header-homepage.color-overlay:before {
  background:
    /* radial invertido (vinheta): centro claro, bordas escuras */
    radial-gradient(ellipse 80% 110% at 50% 52%, rgba(0, 150, 220, 0.14) 0%, rgba(8, 70, 128, 0.50) 37%, rgba(5, 32, 66, 0.90) 77%),
    linear-gradient(180deg, rgba(4, 40, 92, 0.62) 0%, rgba(4, 40, 92, 0.28) 22%, rgba(0, 0, 0, 0) 45%, rgba(0, 30, 70, 0.32) 100%),
    /* escurece tudo de forma neutra (preto), sem deslocar o tom do azul */
    linear-gradient(rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.16));
  opacity: 1;
}
/* com o video tocando no fundo: overlay mais leve (o video ja tem bastante movimento e cor) */
html.cz-has-video body #page .header-homepage.color-overlay:before {
  background:
    radial-gradient(ellipse 80% 110% at 50% 52%, rgba(0, 150, 220, 0.12) 0%, rgba(8, 70, 128, 0.42) 37%, rgba(5, 32, 66, 0.78) 77%),
    linear-gradient(180deg, rgba(4, 40, 92, 0.52) 0%, rgba(4, 40, 92, 0.24) 22%, rgba(0, 0, 0, 0) 45%, rgba(0, 30, 70, 0.27) 100%),
    linear-gradient(rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.12));
}
@media (max-width: 768px) {
  body #page .header-homepage.color-overlay:before {
    /* mais claro (antes 0.72 / 0.58 / 0.50 em azul-marinho): azul da marca, foto mais viva */
    background: linear-gradient(180deg, rgba(12, 84, 148, 0.50) 0%, rgba(24, 124, 192, 0.36) 55%, rgba(34, 156, 220, 0.28) 100%);
  }
}

/* Itens do menu que eram imagem (Cordialzinho, Cartao Facilite, CordialPASS): esconde a imagem e mostra o titulo como texto
   (o plugin menu-image esconde o titulo com .menu-image-title-hide) */
/* rotulos "Municipal" / "Intermunicipal" dos submenus: antes eram imagens, agora texto (titulos renomeados no menu do WP) */
body .navigation-bar ul.main-menu ul > li > a.menu-image-title-hide img.menu-image { display: none !important; }
body .navigation-bar ul.main-menu ul > li > a.menu-image-title-hide .menu-image-title {
  display: inline-block !important;
  padding-left: 0.6rem;
  border-left: 4px solid #1eb0ee;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #0f4c81;
  line-height: 1.1;
}

/* so nos itens de primeiro nivel (regras abaixo); */
body .navigation-bar ul.main-menu > li > a.menu-image-title-hide img.menu-image { display: none !important; }
body .navigation-bar ul.main-menu > li > a.menu-image-title-hide .menu-image-title { display: inline !important; }

/* ===== Menu com icones acima dos itens (opcao J) — so desktop; icones FontAwesome 4.7 por ID do item ===== */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu { align-items: flex-start; }
  /* barra do menu mais alta: mais espaco acima e abaixo de cada item */
  body .navigation-bar ul.main-menu > li { padding-top: 24px; padding-bottom: 24px; }
  body .navigation-bar ul.main-menu > li > a { text-align: center; font-size: 13px; }
  body .navigation-bar ul.main-menu > li > a::before {
    display: block;
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    font-size: 2.1rem;
    line-height: 1;
    margin: 0 auto 0.5rem;
    color: #1e86c9;
    transition: transform 0.2s ease, color 0.2s ease;
  }
  body .navigation-bar ul.main-menu > li > a:hover::before { transform: translateY(-2px); color: #0f4c81; }
  #menu-item-86   > a::before { content: "\f017"; } /* Horarios: relogio */
  #menu-item-80   > a::before { content: "\f1ad"; } /* A empresa: predio */
  #menu-item-2381 > a::before { content: "\f207"; } /* Servicos: onibus */
  #menu-item-641  > a::before { content: "\f05a"; } /* Informacoes */
  #menu-item-3026 > a::before { content: "\f095"; } /* Contato: telefone */
  #menu-item-5046 > a::before { content: "\f0b1"; } /* Trabalhe conosco: maleta */
  #menu-item-5966 > a::before { content: "\f1ae"; } /* Cordialzinho: crianca */
  #menu-item-2517 > a::before { content: "\f09d"; } /* Facilite: cartao */
  /* destaque discreto nos 3 ultimos itens (Cordialzinho, Cartao Facilite, CordialPASS): tom de azul mais escuro (azul-marinho) no icone e no texto + divisor sutil antes do grupo */
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before { color: #0f4c81; }
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:hover::before { color: #1e86c9; }
  body .navigation-bar ul.main-menu > li#menu-item-5966 {
    margin-left: 8px;
    padding-left: 10px;
    border-left: 1px solid rgba(30, 134, 201, 0.28);
  }

  /* icones dos submenus (a esquerda do texto) */
  body .navigation-bar ul.main-menu ul a:not(.menu-image-title-hide)::before {
    display: inline-block;
    width: 1.5em;
    margin-right: 0.6rem;
    text-align: center;
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    font-size: 1.5em;
    vertical-align: -0.12em;
    line-height: 1;
    color: #1e86c9;
    transition: transform 0.2s ease;
  }
  body .navigation-bar ul.main-menu ul a:not(.menu-image-title-hide):hover::before { transform: translateX(2px); }
  /* menos espaco a esquerda nos itens do submenu (antes: 21px do li + 21px do link) */
  body .navigation-bar ul.main-menu ul > li { padding-left: 6px; }
  body .navigation-bar ul.main-menu ul > li > a { padding-left: 6px; }
  #menu-item-5515 > a::before, #menu-item-6084 > a::before, #menu-item-6167 > a::before { content: "\f041"; } /* setores: pino de mapa */
  #menu-item-83   > a::before { content: "\f0c0"; } /* Quem somos: pessoas */
  #menu-item-82   > a::before { content: "\f15c"; } /* Politica de Qualidade: documento */
  #menu-item-81   > a::before { content: "\f091"; } /* Certificacoes/Premios: trofeu */
  #menu-item-6135 > a::before { content: "\f080"; } /* Relatorio de Transparencia: grafico */
  #menu-item-2383 > a::before { content: "\f0d1"; } /* Fretamento: caminhao */
  #menu-item-2385 > a::before { content: "\f278"; } /* Turismo: mapa */
  #menu-item-2384 > a::before { content: "\f207"; } /* Transp. Coletivo Municipal: onibus */
  #menu-item-2799 > a::before { content: "\f1b9"; } /* Frota: carro */
  #menu-item-2722 > a::before { content: "\f1ec"; } /* Orcamento Online: calculadora */
  #menu-item-3751 > a::before { content: "\f07a"; } /* Venda de Onibus: carrinho */
  #menu-item-3003 > a::before, #menu-item-5561 > a::before { content: "\f090"; } /* Acessar: entrar */
  #menu-item-4489 > a::before { content: "\f2be"; } /* Biometria Facial: usuario */
  #menu-item-3004 > a::before, #menu-item-5562 > a::before { content: "\f059"; } /* Como usar: interrogacao */
  #menu-item-85   > a::before { content: "\f015"; } /* Inicio: casa */
  #menu-item-5559 > a::before { content: "\f2c2"; } /* CordialPASS: cartao de identificacao */
}

/* ===== Cabecalho das paginas internas: fundo novo em CSS (substitui a foto topo_sub_page_1.jpg) =====
   degrade azul-marinho -> azul da marca -> azul claro, com brilhos e formas suaves; sem arquivo de imagem */
body #page .header-wrapper > .header.color-overlay {
  position: relative;
  overflow: hidden;
  background-color: #1769a8;
  background-image:
    radial-gradient(ellipse 45% 140% at 88% -10%, rgba(120, 214, 250, 0.55) 0%, rgba(120, 214, 250, 0) 62%),
    radial-gradient(ellipse 38% 120% at 6% 120%, rgba(5, 32, 66, 0.55) 0%, rgba(5, 32, 66, 0) 65%),
    radial-gradient(circle at 72% 120%, rgba(255, 255, 255, 0.10) 0 22%, rgba(255, 255, 255, 0) 22.4%),
    radial-gradient(circle at 22% -30%, rgba(255, 255, 255, 0.08) 0 26%, rgba(255, 255, 255, 0) 26.4%),
    linear-gradient(115deg, #0f4c81 0%, #1769a8 38%, #1e86c9 68%, #2bbcf5 100%) !important; /* !important: o plugin de slideshow poe background-image:none inline */
}
body #page .header-wrapper > .header.color-overlay::before { display: none; }
body #page .header-wrapper > .header.color-overlay .backstretch { display: none !important; }

/* ===== Cabecalho das paginas internas: faixa mais estreita, titulo centralizado e animado ===== */
body #page .header-wrapper > .header .inner-header-description {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 2.1rem !important;
  padding-bottom: 2.1rem !important;
  text-align: center;
}
body #page .header-wrapper > .header .inner-header-description h1 {
  margin: 0;
  padding: 0 !important;
  font-family: 'Gilroy', var(--cordial-font-title); /* a Urbanist local so vai de 400 a 800; o peso 200 vem da Gilroy ExtraLight */
  font-size: clamp(2.2rem, 4.2vw, 3.4rem);
  font-weight: 200;
  letter-spacing: -0.01em;
  line-height: 1.1;
  color: #fff;
  text-align: center;
  text-shadow: none;
  animation: cordialTitleIn 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) backwards;
}
/* brilho que percorre as letras de tempos em tempos (so onde o navegador suporta texto com gradiente) */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  body #page .header-wrapper > .header .inner-header-description h1 {
    background-image: linear-gradient(100deg, #ffffff 0%, #ffffff 38%, #a9e6ff 50%, #ffffff 62%, #ffffff 100%);
    background-size: 260% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 3px 10px rgba(5, 32, 66, 0.35));
    animation: cordialTitleIn 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) backwards, cordialTitleShine 6s ease-in-out 1.2s infinite;
  }
}
/* tracinho de destaque que cresce embaixo do titulo */
body #page .header-wrapper > .header .inner-header-description h1::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin: 0.8rem auto 0;
  border-radius: 2px;
  background: linear-gradient(90deg, #ffffff, #7fd6fa);
  transform-origin: center;
  animation: cordialTitleBar 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) 0.35s backwards;
  -webkit-text-fill-color: initial;
}
@keyframes cordialTitleIn {
  from { opacity: 0; transform: translateY(18px); letter-spacing: 0.06em; }
  to   { opacity: 1; transform: translateY(0); letter-spacing: -0.01em; }
}
@keyframes cordialTitleBar {
  from { opacity: 0; transform: scaleX(0); }
  to   { opacity: 1; transform: scaleX(1); }
}
@keyframes cordialTitleShine {
  0%, 55% { background-position: 100% 0; }
  100%    { background-position: 0% 0; }
}

/* ===== Central de Relacionamento (home): texto no lugar da imagem central_relacionamento_cel.png ===== */
.cordial-central { max-width: 711px; margin: 0 auto; text-align: center; color: #fff; }
.cordial-central .cordial-central__icon { display: block; margin: 0 auto 0.2rem; width: clamp(8.4rem, 16vw, 12.4rem); height: clamp(8.4rem, 16vw, 12.4rem); }
body #page .cordial-central p { margin-bottom: 0 !important; padding: 0 !important; text-align: center; } /* vence o margin-bottom dos paragrafos do .page-content */
body #page .cordial-central a { color: inherit; text-decoration: none; transition: opacity 0.2s ease; }
body #page .cordial-central a:hover { opacity: 0.85; }
body #page .cordial-central .cordial-central__title {
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: clamp(1.7rem, 3.6vw, 2.8rem);
  font-weight: 200;
  line-height: 1;
  color: #fff;
}
body #page .cordial-central .cordial-central__phone {
  margin-top: 1.1rem;
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: clamp(3rem, 8vw, 5.4rem);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.01em;
  color: #ffc627;
}
body #page .cordial-central .cordial-central__wpp {
  margin-top: 1rem;
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: clamp(1.5rem, 3.2vw, 2.3rem);
  font-weight: 800;
  line-height: 1;
  color: #fff;
}
body #page .cordial-central .cordial-central__mail {
  margin-top: 0.1rem;
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: clamp(1.05rem, 2.4vw, 1.7rem);
  font-weight: 200;
  line-height: 1.1;
  color: #fff;
  overflow-wrap: anywhere;
}

/* Menu em uma linha no notebook */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu { justify-content: flex-end; }
  body .navigation-bar ul.main-menu > li { padding-left: 3px; padding-right: 3px; white-space: nowrap; }
  body .navigation-bar ul.main-menu > li > a { font-size: 11.5px; letter-spacing: 0; }
}
/* 1280-1600px: cabe em uma unica linha; abaixo disso o tema quebra em 2 linhas (sem cortar texto) */
@media (min-width: 1280px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu { flex-wrap: nowrap; }
}

/* O widget Busbud injeta `html { font-size: initial }` quando termina de carregar, o que mudava o tamanho de tudo (rem/em)
   depois do primeiro paint (14px -> 16px em telas <=1024px). Fixamos o valor com !important para ele nao ter efeito. */
html { font-size: 16px !important; }
@media (max-width: 1024px) {
  html { font-size: 14px !important; }
}

/* Evita salto de layout: reserva a barra de rolagem e fixa a altura da logo (largura sai do aspect-ratio dos atributos width/height) */
html { scrollbar-gutter: stable; }
body img.custom-logo { height: 82px; width: auto; }

/* Logo menor em telas menores */
@media (min-width: 1025px) and (max-width: 1600px) {
  body img.logo.dark, body img.custom-logo { max-height: 60px !important; height: 60px !important; width: auto !important; padding: 4px 0; }
}
@media (max-width: 1024px) {
  body img.logo.dark, body img.custom-logo { max-height: 64px !important; height: 64px !important; width: auto !important; }
}
@media (max-width: 768px) {
  body img.logo.dark, body img.custom-logo { max-height: 48px !important; height: 48px !important; width: auto !important; padding: 4px 0; }
}
@media (max-width: 480px) {
  body img.logo.dark, body img.custom-logo { max-height: 40px !important; height: 40px !important; width: auto !important; }
}

.offcanvas_menu * {
  font-size: 15px;
}

.offcanvas_menu li.open > a, .offcanvas_menu li.open > a:hover {
  background-color: #2395F6;
}

.read-more {
  color: #00AFEF;
}

.read-more.color1 {
  color: #00AFEF;
}

.tags-list a {
  color: #909090;
}

.tags-list a:hover {
  background-color: #00AFEF;
  border-color: #00AFEF;
}

.nav-links .prev-navigation a, .post-comments .navigation .prev-navigation a, .nav-links .next-navigation a, .post-comments .navigation .next-navigation a {
  border: solid 2px #00AFEF;
}

.nav-links .numbers-navigation span.current, .post-comments .navigation .numbers-navigation span.current, .nav-links .numbers-navigation a:hover, .post-comments .navigation .numbers-navigation a:hover {
  background-color: #00AFEF;
}

.comment-list li.comment.byuser {
  border: 1px solid #00AFEF;
}

.comment-meta a {
  color: #909090;
}

.comment-reply-link {
  color: #00AFEF;
}

.footer {
  color: #909090;
}

.footer table caption {
  color: #909090;
}

.footer .fa {
  color: #909090;
}

.footer a {
  color: #00AFEF;
}

.footer a .fa {
  color: #909090;
}

.footer p {
  color: #909090;
}

.footer form input[type="submit"] {
  background-color: #00AFEF;
  outline: 1px solid #00AFEF;
}

.footer-social-icons a {
  font-size: 32px;
}

@media (max-width: 767px) {
.footer .row:not(.no-spacing) > div:not(.no-gutter-col) {
  padding-top: 25px;
  padding-bottom: 25px;
}
}

.footer-contact-boxes {
  background-color: #2c5f94;
}

.footer-contact-boxes a {
  color: #00AFEF;
}

.footer-contact-boxes a:hover {
  color: #00AFEF;
}

.footer-contact-boxes p {
  font-size: 14px;
  line-height: 24px!important;
  font-weight: 500;
  padding: 6px 10px 0 10px;
}

.footer-contact-boxes .big-icon {
  font-size: 55px;
  margin-bottom: 10px;
}

.footer-contact-boxes .footer-bg-accent {
  background-color: #00AFEF;
}

.footer-contact-boxes .col-sm-3 {
  border-left: 1px solid rgba(102, 164, 179, 0.36);
}

svg.section-separator-top path, svg.section-separator-bottom path {
  fill: #00AFEF !important;
}

img.icon {
  width: 10rem;
}

i.fa.icon {
  margin-bottom: 0px;
}

i.fa.icon.small, i.fa.icon.comment-meta, i.fa.icon.comment-reply-link {
  font-size: 1.8rem;
}

i.fa.icon.large {
  font-size: 5rem;
}

i.fa.icon.bordered, i.fa.icon.card[class*="bottom-border-"] {
  border: 2px solid #00AFEF;
}

i.fa.icon.reverse {
  background-color: #00AFEF;
}

i.fa.icon.reverse.large {
  font-size: 4rem;
}

hr.small-line {
  background-color: #00AFEF;
}

.subscribe-form input[type="submit"] {
  background-color: #00AFEF;
  border: 2px solid #00AFEF;
}

.top-right-triangle.color1 {
  border-right-color: #00AFEF;
}

@media (min-width: 768px) {
.col-padding-small, .sidebar .widget {
  padding: 0px;
}
}

.spaced-cols > div {
  margin-top: 10px;
}

.checked.decoration-color1 li:before {
  color: #00AFEF;
}

.stared.decoration-color1 li:before {
  color: #00AFEF;
}

.card.large-padding {
  display: none;
}

.card.bordered, .post-item table.card, .card[class*="bottom-border-"] {
  border: 1px solid #f4f4f4;
}

.card[class*="bottom-border-"] {
  border-bottom: 2px solid transparent;
}

.card.row-card {
  padding: 35px;
}

.card.bottom-border-color1 {
  border-bottom-color: #00AFEF;
}

.card.card-color1 {
  background-color: #00AFEF;
}

.border-color1 {
  border-color: #00AFEF;
}

@media (min-width: 768px) {
.section-title-col {
  padding-top: 45px;
}
}

@media (min-width: 768px) {
.section-title-col > *:last-child:not(.button) {
  margin-bottom: 5rem;
}
}

table th {
  color: #00afef;
}

.contact-form-wrapper input[type=submit] {
  background-color: #00AFEF;
  border: 2px solid #00AFEF;
}

@media only screen and (max-width: 400px) {
body #page h1 {
  font-size: 31px;
  font-weight: 400;
  letter-spacing: 0.o1em;
  padding-top: 38px;
}
}

@media only screen and (max-width: 400px) {
.header-description.media-on-right img.homepage-header-image {
  display: none;
}
}

@media only screen and (max-width: 400px) {
h2, .h2 {
  font-size: 2.1rem;
  line-height: 3rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}
}

@media only screen and (max-width: 400px) {
.p, p, blockquote, hr, pre, ol, ul, dl, table, fieldset, figure, address, form {
  font-size: 16px;
  line-height: 22px;
  padding-bottom: 1px;
  margin-bottom: 5px;
}
}

@media only screen and (max-width: 400px) {
.p, p, blockquote, hr, pre, ol, ul, dl, table, fieldset, figure, address, form {
  margin-bottom: 20px;
  line-height: 22px;
  font-size: 14px;
}
}

@media only screen and (max-width: 400px) {
.p, p, blockquote, hr, pre, ol, ul, dl, table, fieldset, figure, address, form {
  line-height: 29px!important;
  font-size: 16px;
}
}

@media only screen and (max-width: 400px) {
.lead {
  color: #909090;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 2rem;
}
}

@media only screen and (max-width: 400px) {
img.logo.dark, img.custom-logo {
  max-height: 69px!important;
  width: auto!important;
}
}

@media only screen and (min-width: 401px) and (max-width: 600px) {
body #page h1 {
  font-size: 37px;
  font-weight: 400;
  letter-spacing: 0.01em;
  padding-top: 100px;
}
}

@media only screen and (min-width: 401px) and (max-width: 600px) {
.header-description.media-on-right img.homepage-header-image {
  display: none;
}
}

@media only screen and (min-width: 401px) and (max-width: 600px) {
h2, .h2 {
  font-size: 2.5rem;
  line-height: 3rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 50px;
  padding-top: 30px;
}
}

@media only screen and (min-width: 401px) and (max-width: 600px) {
.footer-contact-boxes p {
  color: #ffffff;
  font-size: 18px;
  line-height: 30px;
  padding: 0 18px 0 18px;
}
}

@media only screen and (min-width: 401px) and (max-width: 600px) {
html, body {
  color: #909090;
  font-size: 16px;
  line-height: 30px;
}
}

li.text {
  margin-bottom: 25px;
  font-style: italic;
  font-size: 16px;
  text-align: left;
}

.grecaptcha-badge {
  visibility: hidden;
}

#hwp-4056, #hwp-4056 .hwp-row {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Colunas sem espacamento (galeria) - mantem a prioridade que tinham no tema antigo */
.no-gutter-col {
  padding-left: 0;
  padding-right: 0;
}

/* Rodape (contact boxes) - mesma prioridade do tema antigo: azul com textos e icones brancos */
.footer-contact-boxes .footer-content {
  background-color: transparent;
}
.footer-contact-boxes,
.footer-contact-boxes p,
.footer-contact-boxes .fa,
.footer-contact-boxes a .fa {
  color: #fff;
}
.footer-contact-boxes p {
  font-size: 14px;
  font-weight: 500;
  padding: 6px 10px 0;
  line-height: 24px !important;
}
.footer-contact-boxes .col-sm-3 {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media only screen and (min-width: 401px) and (max-width: 600px) {
  .footer-contact-boxes p {
    font-size: 18px;
    line-height: 30px !important;
    padding: 0 18px;
  }
}


/* ===== Tipografia padrao do site =====
   Titulos e subtitulos: Urbanist (hospedada localmente em /fonts, sem dependencia de rede)
   Textos: Google Sans (se indisponivel cai para Segoe UI/Arial) */
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/urbanist-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/urbanist-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root {
  --cordial-font-title: 'Urbanist', 'Segoe UI', Arial, sans-serif;
  --cordial-font-text: 'Gilroy Text', 'Segoe UI', Arial, sans-serif;
  --cordial-text-gray: #6b7782; /* cinza dos paragrafos (levemente mais claro que o antigo #4a5560) */
}

body,
body p,
body li,
body a,
body span:not([class*="fa"]):not([class*="icon"]):not([class*="mdi"]):not(.dashicons),
body div,
body label,
body input,
body select,
body textarea,
body button,
body .button,
body td,
body th,
body blockquote,
body .navigation-bar a,
body .offcanvas_menu a,
body .offcanvas_menu * {
  font-family: var(--cordial-font-text);
}

body h1, body h2, body h3, body h4, body h5, body h6,
body .hero-title,
body .header-subtitle,
body .header-subtitle2,
body p.header-subtitle,
body .lead,
body .section-title-col h2,
body .section-title-col h5,
body .section-title-col p,
body .widget-title,
body .post-title,
body .entry-title,
body .card-title {
  font-family: var(--cordial-font-title);
}

body h1, body h2, body h3, body h4, body h5, body h6 {
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

/* ===== Hierarquia de texto nas paginas internas =====
   h2 > h3 > h4 > h5 > h6 (rotulo) > corpo */
body #page .page-content h2 { font-size: clamp(2.4rem, 3.7vw, 3.4rem); line-height: 1.2; color: #0f4c81; margin: 1.6rem 0 1rem; }
body #page .page-content h3 { font-size: clamp(1.7rem, 2.5vw, 2.3rem); line-height: 1.25; color: #0f4c81; margin: 1.4rem 0 0.9rem; }
body #page .page-content h4 { font-size: clamp(1.4rem, 2vw, 1.9rem); line-height: 1.3; color: #1e86c9; margin: 1.2rem 0 0.8rem; }
body #page .page-content h5 { font-size: clamp(1.2rem, 1.6vw, 1.5rem); line-height: 1.35; color: #1e86c9; margin: 1rem 0 0.6rem; }
body #page .page-content p,
body #page .page-content li {
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.75;
  color: var(--cordial-text-gray);
}
body #page .page-content p { padding-bottom: 0; margin-bottom: 2.4rem; }

/* Padrao das paginas: h6 = titulo principal, h4 = subtitulo (abertura) */
body #page .page-content h6 {
  font-size: clamp(3rem, 5.4vw, 5rem);
  font-weight: 800;
  text-transform: none;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #1e86c9;
  margin: 0 0 1rem;
}
body #page .page-content h4 {
  font-size: clamp(1.4rem, 2.1vw, 1.85rem);
  font-weight: 500;
  line-height: 1.45;
  color: #1e86c9;
}

/* paragrafos vazios no fim do conteudo (marcados por JS no functions.php): sem eles o rodape nao fica distante demais */
.page-content p.cordial-trailing-empty { display: none !important; }

/* ===== Titulo de cada pagina sempre a 96px do banner superior (= padding do .page-content) =====
   Alguns conteudos tinham blocos vazios / margens antes do primeiro titulo */
.page-id-65 .page-content .mod-content-i > .container:has(+ .container):not(:has(h1, h2, h3, h4, h5, h6)) { display: none; } /* Politica de Qualidade: bloco vazio de 71px */
.page-id-2377 .page-content p:has(+ .csRow),
.page-id-2379 .page-content p:has(+ .csRow) { display: none; } /* Fretamento / Turismo: paragrafo vazio antes das colunas */
.page-id-4709 .page-content h3:first-of-type,
.page-id-5887 .page-content h5:first-of-type { margin-top: 0 !important; } /* Coronavirus / Cordialzinho: margem do primeiro titulo */

/* Linha divisoria logo abaixo de um subtitulo (h4): mais espaco em cima (antes 18px) */
body #page .page-content h4 + .omsc-divider { margin-top: 3.4rem; }

/* Spans dentro de titulos/subtitulos herdam cor e fonte do titulo (o editor coloca color:#00afef inline e a fonte de texto cai nos spans) */
body #page .page-content :is(h1, h2, h3, h4, h5, h6) span {
  color: inherit !important;
  font-family: inherit !important;
  font-weight: inherit;
}

/* Paragrafo logo abaixo do titulo principal (h6 + p, ex.: "Escopo de Servicos"): estilo de paragrafo normal, so que centralizado */
body #page .page-content h6 + p {
  text-align: center !important; /* o paragrafo tem text-align:left inline na pagina */
}

/* ===== Correção de Hierarquia APENAS na Home (Capa) ===== */
.home #page .page-content h2 { font-size: clamp(2.4rem, 3.7vw, 3.4rem); }
.home #page .page-content h5 { font-size: clamp(1.2rem, 1.8vw, 1.5rem); color: #1e86c9; font-weight: 800; }
.home #page .page-content h6 {
  font-size: 1.05rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.6;
  color: var(--cordial-text-gray);
  margin: 0 0 1.1rem;
}

/* ===== "Onde Atuamos" (home): titulo, subtitulo e cards ===== */
.home #page #features-3 h2,
.home #page #portfolio-3 h2,
.home #page #testimonials-1 h2 {
  /* mesmo padrao do titulo "Nossa historia" das paginas internas (h6 principal) */
  font-family: var(--cordial-font-title);
  font-size: clamp(3rem, 5.4vw, 5rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #1e86c9;
  margin: 0 0 1rem;
}
/* "A Cordial em Fotos": 1px menor que os demais titulos */
.home #page #portfolio-3 h2 {
  font-size: clamp(calc(3rem - 1px), calc(5.4vw - 1px), calc(5rem - 1px));
}
.home #page #features-3 p.lead,
.home #page #portfolio-3 p.lead,
.home #page #testimonials-1 p.lead {
  /* mesmo padrao do subtitulo das paginas internas (h4 de abertura) */
  max-width: 900px;
  margin: 0 auto 6rem;
  font-family: var(--cordial-font-title);
  font-size: clamp(1.4rem, 2.1vw, 1.85rem);
  font-weight: 500;
  line-height: 1.45 !important; /* o .lead global fixa 2.1rem !important */
  letter-spacing: -0.01em;
  color: #1e86c9;
  padding-bottom: 0;
}
/* subtitulo de "Palavra do Colaborador": mais estreito para quebrar em duas linhas */
.home #page #testimonials-1 p.lead {
  max-width: 18em;
  text-wrap: balance;
}
/* subtitulo de "Onde Atuamos": entrelinha 2px menor */
.home #page #features-3 p.lead {
  line-height: calc(1.45em - 2px) !important;
}

/* ===== Revelar ao rolar (classes adicionadas por JS no functions.php) =====
   usa a propriedade `translate` (independente de `transform`), entao nao conflita com os hovers */
.cordial-reveal {
  opacity: 0;
  translate: 0 34px;
  transition: opacity 0.8s ease var(--reveal-delay, 0ms),
              translate 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) var(--reveal-delay, 0ms),
              transform 0.25s ease, box-shadow 0.25s ease !important;
}
.cordial-reveal.is-visible {
  opacity: 1;
  translate: 0 0;
}
/* miniaturas das fotos: revelam com leve zoom */
#portfolio-3 .no-gutter-col.cordial-reveal { translate: 0 34px; scale: 0.94; }
#portfolio-3 .no-gutter-col.cordial-reveal.is-visible { scale: 1; }
#portfolio-3 .no-gutter-col.cordial-reveal {
  transition: opacity 0.8s ease var(--reveal-delay, 0ms),
              translate 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) var(--reveal-delay, 0ms),
              scale 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) var(--reveal-delay, 0ms) !important;
}

/* ===== "Palavra do Colaborador": cards de depoimento ===== */
.home #page #testimonials-1 [data-type=row] > .col-sm-4 {
  position: relative;
  isolation: isolate;
  text-align: center;
  padding: 3rem 2.4rem;
}
.home #page #testimonials-1 [data-type=row] > .col-sm-4::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.9rem;
  left: 0.9rem;
  bottom: 0.9rem;
  width: calc(100% - 1.8rem);
  z-index: -1;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 6px 28px rgba(20, 60, 100, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home #page #testimonials-1 [data-type=row] > .col-sm-4:hover::before {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(20, 60, 100, 0.16);
}
/* aspas */
.home #page #testimonials-1 .col-sm-4 i.fa-quote-right {
  font-size: 2.6rem;
  color: #1eb0ee;
  opacity: 0.9;
}
/* depoimento */
.home #page #testimonials-1 .col-sm-4 > p:nth-of-type(2) {
  /* mesmo visual do texto dos cards de atalho */
  font-family: var(--cordial-font-title);
  font-size: clamp(1.02rem, 1.3vw, 1.18rem);
  font-weight: 400;
  line-height: 1.4;
  color: var(--cordial-text-gray);
  padding-bottom: 0;
  margin: 0.4rem 0 1.6rem;
}
/* foto */
.home #page #testimonials-1 .col-sm-4 img.round.icon {
  width: 9rem;
  height: 9rem;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 0 0 4px #d6eefb, 0 12px 26px rgba(20, 60, 100, 0.18);
}
/* nome */
.home #page #testimonials-1 .col-sm-4 h4 {
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: clamp(1.5rem, 2vw, 1.8rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #0f4c81;
  margin: 1.2rem 0 0.6rem;
}
/* cargo em "pilula" */
.home #page #testimonials-1 .col-sm-4 p.small {
  display: inline-block;
  font-style: normal !important;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  color: #1e86c9;
  background: #e8f5fd;
  border-radius: 999px;
  padding: 0.45rem 1.1rem;
  margin: 0;
}

/* cards */
.home #page #features-3 .card.row-card {
  background: #fff;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 6px 24px rgba(20, 60, 100, 0.07);
  padding: 2rem 2.2rem;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home #page #features-3 .card.row-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 38px rgba(20, 60, 100, 0.14);
}
/* o icone e o glifo fa-check-circle: so cor e sombra (nao preencher o fundo) */
.home #page #features-3 .card.row-card i.fa.icon {
  color: #1eb0ee;
  filter: drop-shadow(0 6px 10px rgba(30, 134, 201, 0.3));
}
.home #page #features-3 .card.row-card h5 {
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: clamp(1.6rem, 2.3vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #1e86c9;
  margin: 0 0 0.5rem;
}
.home #page #features-3 .card.row-card p {
  /* mesmo visual do texto dos cards de atalho (Horarios / Frota / Ouvidoria) */
  font-family: var(--cordial-font-title);
  font-size: clamp(1.02rem, 1.3vw, 1.18rem);
  font-weight: 400;
  line-height: 1.4;
  color: var(--cordial-text-gray);
  padding-bottom: 0;
  margin: 0;
}
.home #page #features-3 .card.row-card p a {
  color: #1e86c9;
  font-weight: 700;
}

/* ===== Colunas com icone de check (ex.: Politica de Qualidade): mesmo visual de Missao / Visao / Valores (sem caixas) ===== */
body #page .page-content .csColumn:has(i.fa-check-circle) {
  padding: 1rem 1.2rem !important;
  margin-bottom: 1.5rem !important;
}
body #page .page-content .csColumn:has(i.fa-check-circle) > p:first-child { margin: 0 0 1.1rem; padding: 0; line-height: 1; }
body #page .page-content .csColumn:has(i.fa-check-circle) > p:first-child span { font-size: 5.6rem !important; line-height: 1; }
body #page .page-content .csColumn:has(i.fa-check-circle) i.fa-check-circle { color: #1eb0ee; }/* icone de cada card conforme o tema (colunas identificadas pelo data-csid do editor) */
.csColumn[data-csid="363f4479-3306-235e-b14a-8d4b9ab61894"] i.fa-check-circle::before { content: "\f132"; } /* qualidade e seguranca: escudo */
.csColumn[data-csid="f947493a-6bbb-9efd-b546-228b2da6da07"] i.fa-check-circle::before { content: "\f24e"; } /* requisitos legais: balanca */
.csColumn[data-csid="514b43c5-bb3c-e9e5-94f3-253ef574c9e3"] i.fa-check-circle::before { content: "\f021"; } /* melhoria continua: ciclo */
.csColumn[data-csid="4cde8364-1666-2019-b554-3d83c5ee4aad"] i.fa-check-circle::before { content: "\f0fa"; } /* condicoes de trabalho seguras: kit de saude */
.csColumn[data-csid="0051b6de-284a-b137-b35c-64c64ea3fc33"] i.fa-check-circle::before { content: "\f0c0"; } /* ambiente participativo SST: pessoas */
body #page .page-content .csColumn:has(i.fa-check-circle) h3 {
  font-family: var(--cordial-font-title);
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  color: #1e86c9;
  margin: 0;
}
body #page .page-content .csColumn:has(i.fa-check-circle) > p:last-child { display: none; } /* paragrafo vazio (&nbsp;) no fim */
@media (min-width: 1025px) {
  /* linhas em flex: cards com a mesma altura e a ultima linha centralizada */
  body #page .page-content .csRow:has(i.fa-check-circle) { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.6rem; }
  body #page .page-content .csRow:has(i.fa-check-circle)::before,
  body #page .page-content .csRow:has(i.fa-check-circle)::after { display: none; }
  /* separadores e "clear" que o editor insere entre as colunas ocupariam espaco no flex */
  body #page .page-content .csRow:has(i.fa-check-circle) > :not(.csColumn) { display: none; }
  /* coluna vazia (sem card) que sobrava na ultima linha e impedia de centralizar os cards restantes */
  body #page .page-content .csRow:has(i.fa-check-circle) > .csColumn:not(:has(i.fa-check-circle)) { display: none; }
  body #page .page-content .csRow:has(i.fa-check-circle) > .csColumn { float: none !important; width: calc(33.333% - 1.1rem) !important; margin-bottom: 0 !important; box-sizing: border-box; }
  /* linhas finas separadoras: vertical entre as colunas e horizontal entre as fileiras */
  body #page .page-content .csRow:has(i.fa-check-circle) > .csColumn ~ .csColumn { border-left: 1px solid rgba(30, 134, 201, 0.25); }
  body #page .page-content .csRow:has(i.fa-check-circle) { padding-bottom: 1.6rem; }
  body #page .page-content .csRow:has(i.fa-check-circle) + .csRow:has(i.fa-check-circle) { border-top: 1px solid rgba(30, 134, 201, 0.25); padding-top: 1.6rem; padding-bottom: 0; }
}

/* Gilroy Text: Gilroy Medium como fonte de texto (paragrafos, listas) em todo o site; 400/500 = Medium, 600 = SemiBold, 700+ = Bold */
@font-face { font-family: 'Gilroy Text'; font-style: normal; font-weight: 300 500; font-display: swap; src: url('fonts/gilroy-medium.ttf') format('truetype'); }
@font-face { font-family: 'Gilroy Text'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/gilroy-semibold.ttf') format('truetype'); }
@font-face { font-family: 'Gilroy Text'; font-style: normal; font-weight: 700 900; font-display: swap; src: url('fonts/gilroy-bold.ttf') format('truetype'); }

/* Gilroy ExtraLight (200): titulo do cabecalho das paginas internas */
@font-face { font-family: 'Gilroy'; font-style: normal; font-weight: 200; font-display: block; src: url('fonts/gilroy-extralight.ttf') format('truetype'); }

/* Gilroy (local) - usada apenas no "Saiba +" dos cards da home */
@font-face { font-family: 'Gilroy'; font-style: normal; font-weight: 600; font-display: block; src: url('fonts/gilroy-semibold.ttf') format('truetype'); }
@font-face { font-family: 'Gilroy'; font-style: normal; font-weight: 700; font-display: block; src: url('fonts/gilroy-bold.ttf') format('truetype'); }
@font-face { font-family: 'Gilroy'; font-style: normal; font-weight: 800; font-display: block; src: url('fonts/gilroy-extrabold.otf') format('opentype'); }

/* Home: cards de atalho (Horarios / Frota / Ouvidoria) maiores */
.home #page #overlappable-4 { padding-top: 50px; }
.home #page #overlappable-4 .col-padding > p { margin-bottom: 1.2rem; }
.home #page #overlappable-4 .col-padding i.fa.icon.large {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
  font-size: 3.2rem;
  width: 7.5rem;
  height: 7.5rem;
  line-height: 1;
  text-indent: 0;
  background: linear-gradient(135deg, #2bbcf5, #1e86c9);
  box-shadow: 0 10px 24px rgba(30, 134, 201, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home #page #overlappable-4 .col-padding i.fa.icon.large::before { display: block; line-height: 1; margin: 0; }
.home #page #overlappable-4 .col-padding > p { text-align: center; }
.home #page #overlappable-4 .col-padding > p a { display: inline-block; text-decoration: none; }

/* card */
.home #page #overlappable-4 .col-padding {
  position: relative;
  isolation: isolate;
  padding: 3.6rem 2.6rem;
}
/* fundo do card inset: cria o espaco entre os cards sem alterar a largura das colunas */
.home #page #overlappable-4 .col-padding::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.9rem;
  bottom: 0.9rem;
  left: 0.9rem;
  width: calc(100% - 1.8rem);
  z-index: -1;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 6px 28px rgba(20, 60, 100, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home #page #overlappable-4 .col-padding:hover::before {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(20, 60, 100, 0.16);
}
.home #page #overlappable-4 .col-padding:hover i.fa.icon.large { box-shadow: 0 14px 30px rgba(30, 134, 201, 0.45); }
.home #page #overlappable-4 .col-padding h5 {
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: clamp(2rem, 2.9vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 0 0 0.8rem;
}
.home #page #overlappable-4 .col-padding h6 {
  font-size: clamp(1.02rem, 1.3vw, 1.18rem);
  line-height: 1.4;
  margin: 0;
}
.home #page #overlappable-4 .col-padding h6 strong { display: block; margin-top: 1.6rem; }
/* "Saiba +" vira botao pilula "Saiba mais →" (texto trocado via CSS) */
.home #page #overlappable-4 .col-padding h6 strong a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  padding: 0.7rem 1.4rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #2bbcf5, #1e86c9);
  box-shadow: 0 6px 16px rgba(30, 134, 201, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease, gap 0.25s ease;
}
.home #page #overlappable-4 .col-padding h6 strong a::before {
  content: "Saiba mais";
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.home #page #overlappable-4 .col-padding h6 strong a::after {
  content: "\2192";
  font-family: 'Gilroy', var(--cordial-font-title);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1;
}
.home #page #overlappable-4 .col-padding h6 strong a:hover {
  color: #fff;
  gap: 0.95rem;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(30, 134, 201, 0.5);
}

/* Espaco entre o menu e a barra de busca reduzido pela metade (era top:52px no header-homepage.php) */
@media (min-width: 769px) {
  body .caixa-busca-nova { top: 36px; }
}

/* ===== Efeito de entrada dos textos da capa (so opacity/transform: sem salto de layout) ===== */
@keyframes cordialHeroIn {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
.header-homepage h1.hero-title,
body #page .header-homepage p.header-subtitle,
body #page .header-homepage p.header-subtitle2,
.header-homepage .header-buttons-wrapper {
  animation: cordialHeroIn 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) backwards;
}
.header-homepage h1.hero-title { animation-delay: 0.15s; }
body #page .header-homepage p.header-subtitle,
body #page .header-homepage p.header-subtitle2 { animation-delay: 0.45s; }
.header-homepage .header-buttons-wrapper { animation-delay: 0.75s; }

/* Telas grandes (>1600px): textos da capa mais altos (tema usava 10% da largura de padding-top) */
@media (min-width: 1601px) {
  /* textos sobem, mas a altura total do banner e mantida: o que sai do topo vai para baixo (antes: top 7vw + bottom 75px) */
  body #page .header-homepage .header-description-row { padding-top: calc(2.5vw + 20px) !important; padding-bottom: calc(145px + 4.5vw) !important; }
}

/* ===== Notebook (1025-1600px): escala menor da capa e dos cards ===== */
@media (min-width: 1025px) and (max-width: 1600px) {
  .home #page #features-3 .card.row-card p { font-size: clamp(0.92rem, 1.08vw, 1.02rem); }
  .home #page #testimonials-1 .col-sm-4 > p:nth-of-type(2) { font-size: clamp(0.92rem, 1.08vw, 1.02rem); }
  .header-homepage h1.hero-title { font-size: clamp(2.6rem, 4.6vw, 4.6rem); }
  body #page .header-homepage p.header-subtitle2,
  body #page .header-homepage p.header-subtitle { font-size: clamp(1.1rem, 1.6vw, 1.55rem); }
  .header-homepage .header-buttons-wrapper .button,
  .header-homepage .header-buttons-wrapper a.button,
  .header-homepage .header-buttons-wrapper button.button { height: 44px; padding: 0 1.5rem; font-size: 0.9rem; }
  .header-homepage .header-buttons-wrapper a.button::after { font-size: 1.1rem; }

  /* sobe o conteudo do banner para o botao caber na primeira tela */
  body #page .header-homepage .header-description-row { padding-top: 35px !important; padding-bottom: 150px !important; }
  .header-homepage .header-content { padding-top: 20px; }
  /* barra de busca mais alta para nao cobrir o titulo */
  body .caixa-busca-nova { top: 15px; margin-bottom: 0; }
  body #page .header-homepage p.header-subtitle2,
  body #page .header-homepage p.header-subtitle { margin-bottom: 1.4rem; }
  .header-homepage .header-buttons-wrapper { margin-top: 0.6rem; }

  .home #page #overlappable-4 { padding-top: 30px; }
  .home #page #overlappable-4 .col-padding { padding: 3rem 1.8rem; }
  .home #page #overlappable-4 .col-padding i.fa.icon.large { width: 5.8rem; height: 5.8rem; font-size: 2.5rem; }
  .home #page #overlappable-4 .col-padding h5 { font-size: clamp(1.6rem, 2.1vw, 2rem); }
  .home #page #overlappable-4 .col-padding h6 { font-size: clamp(0.92rem, 1.08vw, 1.02rem); line-height: 1.4; }
}

/* Missao / Visao / Valores: rotulo vira titulo, frase vira texto de apoio */
body #page .page-content .csColumn h5 {
  font-size: clamp(1.8rem, 2.6vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #1e86c9;
  margin: 0 0 0.6rem;
}
body #page .page-content .csColumn h3 {
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  color: #1e86c9;
  margin: 0 0 1.6rem;
}

/* ===== Fretamento e Turismo: bloco imagem + texto em cartao, botao no padrao do site ===== */
.page-id-2377 .page-content .csRow,
.page-id-2379 .page-content .csRow {
  display: flex;
  align-items: center;
  gap: 3rem;
  box-sizing: border-box;
  padding: 2.2rem 2.6rem;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 10px 34px rgba(20, 60, 100, 0.10);
}
.page-id-2377 .page-content .csRow::before, .page-id-2377 .page-content .csRow::after,
.page-id-2379 .page-content .csRow::before, .page-id-2379 .page-content .csRow::after { display: none; }
/* separadores e "clear" do editor de colunas */
.page-id-2377 .page-content .csRow > :not(.csColumn),
.page-id-2379 .page-content .csRow > :not(.csColumn) { display: none; }
.page-id-2377 .page-content .csRow > .csColumn,
.page-id-2379 .page-content .csRow > .csColumn { float: none !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box; }
.page-id-2377 .page-content .csRow > .csColumn:has(img),
.page-id-2379 .page-content .csRow > .csColumn:has(img) { flex: 0 0 36%; width: 36% !important; }
.page-id-2377 .page-content .csRow > .csColumn:not(:has(img)),
.page-id-2379 .page-content .csRow > .csColumn:not(:has(img)) { flex: 1 1 0; width: auto !important; }
.page-id-2377 .page-content .csColumn img,
.page-id-2379 .page-content .csColumn img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(20, 60, 100, 0.20);
}
.page-id-2377 .page-content .csColumn:has(img) p,
.page-id-2379 .page-content .csColumn:has(img) p { margin: 0 !important; padding: 0 !important; }
/* titulo + barrinha de destaque */
.page-id-2377 .page-content .csRow h5,
.page-id-2379 .page-content .csRow h5 {
  margin: 0 0 1.3rem;
  font-family: var(--cordial-font-title);
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #1e86c9;
}
.page-id-2377 .page-content .csRow h5::after,
.page-id-2379 .page-content .csRow h5::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin-top: 0.9rem;
  border-radius: 2px;
  background: linear-gradient(90deg, #2bbcf5, #1e86c9);
}
.page-id-2377 .page-content .csRow p:not(:has(img)),
.page-id-2379 .page-content .csRow p:not(:has(img)) { margin: 0 !important; padding: 0 !important; font-size: 1.12rem; line-height: 1.75; }
/* botao (shortcode omsc-button): visual do site */
.page-id-2377 .page-content .omsc-button,
.page-id-2379 .page-content .omsc-button {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 1rem 2.4rem !important;
  font-family: var(--cordial-font-title);
  font-size: 1.15rem !important;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #fff !important;
  background-color: #1e86c9 !important;
  background-image: linear-gradient(135deg, #2bbcf5, #1e86c9) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(30, 134, 201, 0.34);
  text-shadow: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
.page-id-2377 .page-content .omsc-button:hover,
.page-id-2379 .page-content .omsc-button:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(30, 134, 201, 0.44); filter: brightness(1.05); }
.page-id-2377 .page-content p:has(> .omsc-button),
.page-id-2379 .page-content p:has(> .omsc-button) { margin-top: 2.6rem !important; text-align: center; }
@media (max-width: 1024px) {
  .page-id-2377 .page-content .csRow, .page-id-2379 .page-content .csRow { flex-direction: column; gap: 1.8rem; padding: 1.6rem; }
  .page-id-2377 .page-content .csRow > .csColumn:has(img), .page-id-2379 .page-content .csRow > .csColumn:has(img) { flex: none; width: 100% !important; }
}

/* ===== Galeria de classificados (plugin Portfolio Gallery): usa o lightbox do site (Simple Lightbox) =====
   O plugin abre o proprio lightbox (.rwd-cont) ao mesmo tempo que o Simple Lightbox, e as duas fotos apareciam sobrepostas.
   Escondemos o do plugin; o Simple Lightbox continua cuidando do clique. */
.rwd-cont, .rwd-backdrop, .rwd-outer, .rwd-overlay { display: none !important; } /* .rwd-overlay (z 9999997) cobria o modal do Simple Lightbox (z 99999) e impedia de fechar */
html.rwd-on, body.rwd-on, body.rwd-open { overflow: auto !important; }

/* ===== Tabela da frota (TablePress id 128): visual moderno; so CSS, DataTables (busca/ordenacao/rolagem) intacto ===== */
body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) {
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 34px rgba(20, 60, 100, 0.10);
  border: 1px solid #e3eef6;
}
body #page .page-content .tablepress-id-128 { border: 0; margin: 0; font-family: var(--cordial-font-text); }
/* cabecalho: faixa clara e limpa (a tabela de cima do DataTables); o thead escondido da tabela de baixo fica zerado como o plugin espera */
body #page .page-content .dataTables_scrollHead .tablepress-id-128 thead th {
  padding: 16px 12px !important;
  font-family: var(--cordial-font-text);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0f4c81 !important;
  background: #e8f3fb !important;
  border: 0 !important;
  border-bottom: 2px solid #1e86c9 !important;
  white-space: nowrap;
}
body #page .page-content .dataTables_scrollBody .tablepress-id-128 thead th {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  border: 0 !important;
  background: transparent !important;
}body #page .page-content .tablepress-id-128 tbody td {
  padding: 13px 12px !important;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.35;
  color: #55616d !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid #eef3f8 !important;
  white-space: nowrap;
}
body #page .page-content .tablepress-id-128 tbody tr:nth-child(even) td { background: #f6fafd !important; }
body #page .page-content .tablepress-id-128 tbody tr:hover td { background: #e7f3fb !important; color: #0f4c81 !important; }
/* numeros de ordem e placa em destaque */
body #page .page-content .tablepress-id-128 tbody td:nth-child(2) { font-weight: 800; color: #0f4c81 !important; }
body #page .page-content .tablepress-id-128 tbody td:nth-child(3) { font-weight: 700; letter-spacing: 0.03em; }
body #page .page-content .tablepress-id-128 tbody td:last-child { font-weight: 700; color: #1e86c9 !important; }
/* mais respiro nas bordas do cartao: primeira e ultima coluna */
body #page .page-content .dataTables_scrollHead .tablepress-id-128 th:first-child,
body #page .page-content .tablepress-id-128 td:first-child { padding-left: 26px !important; }
body #page .page-content .dataTables_scrollHead .tablepress-id-128 th:last-child,
body #page .page-content .tablepress-id-128 td:last-child { padding-right: 26px !important; }
/* tudo que vem depois da tabela dentro do cartao ("Editar", "Mostrando de 1 ate 30...") ganha espaco */
body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) > :not(.dataTables_scroll) {
  box-sizing: border-box;
  margin: 0;
  padding: 16px 26px 20px;
  font-size: 0.92rem;
  color: var(--cordial-text-gray);
}
body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) > :not(.dataTables_scroll) + :not(.dataTables_scroll) { padding-top: 0; }
body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) .dataTables_filter,
body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) .dataTables_length { padding: 18px 26px; }

/* ===== Formularios Contact Form 7 (so aparencia; nenhum campo, nome ou script e alterado) ===== */
body #page .page-content .wpcf7-form p { margin: 0 0 1.8rem; padding: 0; line-height: 1.4; }
/* formularios com colunas (ex.: Orcamento Online): o conteudo usa <div style="width:59%; float:left"> + <p></p> vazios como "clear".
   Em flex, as larguras inline viram colunas lado a lado sem depender dos floats, e os <p> vazios saem de cena. */
body #page .page-content .wpcf7-form { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
body #page .page-content .wpcf7-form > * { box-sizing: border-box; }
body #page .page-content .wpcf7-form > p,
body #page .page-content .wpcf7-form > table,
body #page .page-content .wpcf7-form > .wpcf7-response-output { width: 100%; }
body #page .page-content .wpcf7-form > div[style*="width"] { float: none !important; margin: 0 0 1.8rem; }
body #page .page-content .wpcf7-form p:empty,
body #page .page-content .wpcf7-form p:has(> br:only-child) { display: none; }
body #page .page-content .wpcf7-form > div[style*="width"] > p:empty { display: none; }
@media (max-width: 767px) {
  body #page .page-content .wpcf7-form > div[style*="width"] { width: 100% !important; }
}
body #page .page-content .wpcf7-form .wpcf7-form-control-wrap { display: block; }
body #page .page-content .wpcf7-form input.wpcf7-text,
body #page .page-content .wpcf7-form input.wpcf7-date,
body #page .page-content .wpcf7-form input.wpcf7-number,
body #page .page-content .wpcf7-form select.wpcf7-select,
body #page .page-content .wpcf7-form textarea.wpcf7-textarea {
  width: 100%;
  box-sizing: border-box;
  height: 62px;
  padding: 0 1.5rem;
  font-family: var(--cordial-font-text);
  font-size: 1.05rem;
  font-weight: 500;
  color: #0f2f52;
  background-color: #f4f9fd;
  border: 1.5px solid #bcd3e6;
  border-radius: 16px;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body #page .page-content .wpcf7-form textarea.wpcf7-textarea { height: auto; min-height: 170px; padding: 1.2rem 1.5rem; line-height: 1.55; }
body #page .page-content .wpcf7-form input.wpcf7-text::placeholder,
body #page .page-content .wpcf7-form textarea.wpcf7-textarea::placeholder { color: #8ea3b5; font-weight: 500; opacity: 1; }
body #page .page-content .wpcf7-form input.wpcf7-text:hover,
body #page .page-content .wpcf7-form select.wpcf7-select:hover,
body #page .page-content .wpcf7-form textarea.wpcf7-textarea:hover { border-color: #a9c8de; }
body #page .page-content .wpcf7-form input.wpcf7-text:focus,
body #page .page-content .wpcf7-form select.wpcf7-select:focus,
body #page .page-content .wpcf7-form textarea.wpcf7-textarea:focus {
  outline: none;
  border-color: #1e86c9;
  background-color: #fff;
  box-shadow: 0 8px 24px rgba(30, 134, 201, 0.14), 0 0 0 4px rgba(30, 134, 201, 0.12);
}
/* select com seta propria (mesmo comportamento nativo, so visual) */
body #page .page-content .wpcf7-form select.wpcf7-select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 3.2rem;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1.5l6 6 6-6' fill='none' stroke='%231e86c9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
}
/* campo de arquivo: botao em estilo pilula */
body #page .page-content .wpcf7-form input.wpcf7-file {
  width: 100%;
  box-sizing: border-box;
  padding: 1rem 1.2rem;
  font-family: var(--cordial-font-text);
  font-size: 0.98rem;
  color: var(--cordial-text-gray);
  background: #f4f9fd;
  border: 1.5px dashed #b9d3e6;
  border-radius: 16px;
  cursor: pointer;
}
body #page .page-content .wpcf7-form input.wpcf7-file::file-selector-button {
  margin-right: 0.9rem;
  padding: 0.6rem 1.2rem;
  font-family: var(--cordial-font-text);
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  background: #1e86c9;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s ease;
}
body #page .page-content .wpcf7-form input.wpcf7-file:hover::file-selector-button { background: #176fa8; }
/* termo de aceite (checkbox): texto normal e legivel, nao em negrito ciano */
body #page .page-content .wpcf7-form .wpcf7-acceptance,
body #page .page-content .wpcf7-form .wpcf7-acceptance label,
body #page .page-content .wpcf7-form .wpcf7-list-item-label {
  font-family: var(--cordial-font-text);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.55;
  color: var(--cordial-text-gray);
}
body #page .page-content .wpcf7-form .wpcf7-acceptance { display: block; text-align: left; }
body #page .page-content .wpcf7-form .wpcf7-list-item { margin: 0.4rem 0 0; display: block; text-align: left; }
body #page .page-content .wpcf7-form input.wpcf7-submit:disabled { opacity: 0.55; cursor: not-allowed; box-shadow: none; transform: none; filter: none; }
body #page .page-content .wpcf7-form input[type="checkbox"] { width: 1.15rem; height: 1.15rem; margin-right: 0.6rem; vertical-align: -0.2rem; accent-color: #1e86c9; cursor: pointer; }
/* botao enviar */
body #page .page-content .wpcf7-form input.wpcf7-submit {
  display: inline-block;
  height: 62px;
  margin-top: 0.8rem;
  padding: 0 3.2rem;
  font-family: var(--cordial-font-title);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #fff;
  background: linear-gradient(135deg, #2bbcf5, #1e86c9);
  border: 0;
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(30, 134, 201, 0.34);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
body #page .page-content .wpcf7-form input.wpcf7-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(30, 134, 201, 0.42); filter: brightness(1.05); }
body #page .page-content .wpcf7-form input.wpcf7-submit:active { transform: translateY(0); }
/* mensagens de validacao e resposta */
body #page .page-content .wpcf7-form .wpcf7-not-valid-tip { margin-top: 0.35rem; font-size: 0.88rem; font-weight: 600; color: #c0392b; }
body #page .page-content .wpcf7-form input.wpcf7-not-valid,
body #page .page-content .wpcf7-form select.wpcf7-not-valid,
body #page .page-content .wpcf7-form textarea.wpcf7-not-valid { border-color: #e0786b; }
body #page .page-content .wpcf7-form .wpcf7-response-output { margin: 1.2rem 0 0; padding: 0.9rem 1.1rem; font-size: 0.95rem; font-weight: 600; border-width: 1.5px; border-radius: 12px; }

/* excecoes: rotulos de formulario e acordeao */
body #page .page-content .wpcf7-form h5 {
  font-size: 1rem;
  font-weight: 700;
  color: #0f4c81;
  margin: 0 0 0.4rem;
}
body #page .page-content .omsc-toggle-inner h4 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f4c81;
  margin: 0;
}

/* ===== Rodape ===== */
body .footer-contact-boxes {
  background: linear-gradient(135deg, #1b4a7a 0%, #2e6094 100%);
}
body .footer-contact-boxes .footer-content .col-sm-3 {
  padding: 3rem 1rem 2.6rem;
  text-align: center;
}
body .footer-contact-boxes .big-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  margin-bottom: 1.3rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  font-size: 32px;
  line-height: 1;
  color: #fff;
  transition: background 0.25s ease, transform 0.25s ease;
}
body .footer-contact-boxes .col-sm-3:hover .big-icon {
  background: rgba(255, 255, 255, 0.24);
  transform: translateY(-3px);
}
body .footer-contact-boxes p {
  font-family: var(--cordial-font-text);
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
  overflow-wrap: break-word;
  color: rgba(255, 255, 255, 0.92);
  margin: 0;
  padding: 0;
}
body .footer-contact-boxes p a {
  color: #fff;
  font-weight: 500;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  transition: border-color 0.2s;
}
body .footer-contact-boxes p a:hover { border-color: #fff; }

body #page .footer-contact-boxes .footer-bg-accent a.social-icon {
  padding: 0;
  line-height: 1;
  box-sizing: border-box;
  max-height: none;
  max-width: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px !important;
  height: 52px !important;
  margin: 0 5px 1.4rem;
  border-radius: 50%;
  background: transparent;
  transition: background 0.25s ease, transform 0.25s ease;
}
body .footer-contact-boxes .footer-bg-accent .social-icon i {
  font-size: 30px;
  line-height: 1;
  color: #fff;
  transition: color 0.25s ease;
}
body .footer-contact-boxes .footer-bg-accent .social-icon:hover {
  background: #fff;
  transform: translateY(-3px);
}
body .footer-contact-boxes .footer-bg-accent .social-icon:hover i { color: #fff; opacity: 0.8; }
body .footer-contact-boxes p.copyright {
  font-size: 0.85rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.95);
}

/* ===== Fundo do site (mesmo da intranet: base clara + manchas de cor fixas) ===== */
html {
  background: #fbfdff;
}
body,
body.custom-background,
body #page,
body #page .page-content,
body #page .page-content .gridContainer.content {
  background: transparent !important;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 15%, rgba(30, 134, 201, 0.20) 0, transparent 26%),
    radial-gradient(circle at 90% 10%, rgba(0, 175, 239, 0.16) 0, transparent 24%),
    radial-gradient(circle at 78% 88%, rgba(42, 155, 216, 0.18) 0, transparent 26%),
    radial-gradient(circle at 18% 92%, rgba(15, 76, 129, 0.12) 0, transparent 24%),
    radial-gradient(circle, rgba(255, 255, 255, 0.7) 0, transparent 60%);
  background-size: cover;
}

/* ===== NOTEBOOK-FONT-SCALE (gerado) =====
   Notebook 14"/15" (1025-1600px): fontes 20% menores que no desktop. Exclui o banner/slider da capa.
   Para regenerar: node gen.js cordial.css */
@media (min-width: 1025px) and (max-width: 1600px) {
  body,
  .p { font-size: calc(0.8 * 18px); }
  h2,
  .h2 { font-size: calc(0.8 * 4rem); }
  .home h2,
  .home .h2 { font-size: calc(0.8 * clamp(2.4rem, 4vw, 3.2rem)); }
  body #page h5,
  body #page .comment-author .fn,
  .comment-author body #page .fn { font-size: calc(0.8 * 19px); }
  .button.big { font-size: calc(0.8 * 1.1rem); }
  label { font-size: calc(0.8 * 17px); }
  table { font-size: calc(0.8 * 16px); }
  .top-bar-field span { font-size: calc(0.8 * 0.7rem); }
  body .navigation-bar ul.main-menu > li > a { font-size: calc(0.8 * 13px); }
  body .navigation-bar ul.main-menu > li > a::before { font-size: calc(0.8 * 2.1rem); }
  body #page .header-wrapper > .header .inner-header-description h1 { font-size: calc(0.8 * clamp(2.2rem, 4.2vw, 3.4rem)); }
  body #page .cordial-central .cordial-central__title { font-size: calc(0.8 * clamp(1.7rem, 3.6vw, 2.8rem)); }
  body #page .cordial-central .cordial-central__phone { font-size: calc(0.8 * clamp(3rem, 8vw, 5.4rem)); }
  body #page .cordial-central .cordial-central__wpp { font-size: calc(0.8 * clamp(1.5rem, 3.2vw, 2.3rem)); }
  body #page .cordial-central .cordial-central__mail { font-size: calc(0.8 * clamp(1.05rem, 2.4vw, 1.7rem)); }
  body .navigation-bar ul.main-menu > li > a { font-size: calc(0.8 * 11.5px); }
  .offcanvas_menu * { font-size: calc(0.8 * 15px); }
  .footer-social-icons a { font-size: calc(0.8 * 32px); }
  .footer-contact-boxes p { font-size: calc(0.8 * 14px); }
  .footer-contact-boxes .big-icon { font-size: calc(0.8 * 55px); }
  i.fa.icon.small,
  i.fa.icon.comment-meta,
  i.fa.icon.comment-reply-link { font-size: calc(0.8 * 1.8rem); }
  i.fa.icon.large { font-size: calc(0.8 * 5rem); }
  i.fa.icon.reverse.large { font-size: calc(0.8 * 4rem); }
  li.text { font-size: calc(0.8 * 16px); }
  .footer-contact-boxes p { font-size: calc(0.8 * 14px); }
  body #page .page-content h2 { font-size: calc(0.8 * clamp(2.4rem, 3.7vw, 3.4rem)); }
  body #page .page-content h3 { font-size: calc(0.8 * clamp(1.7rem, 2.5vw, 2.3rem)); }
  body #page .page-content h4 { font-size: calc(0.8 * clamp(1.4rem, 2vw, 1.9rem)); }
  body #page .page-content h5 { font-size: calc(0.8 * clamp(1.2rem, 1.6vw, 1.5rem)); }
  body #page .page-content p,
  body #page .page-content li { font-size: calc(0.8 * 1.15rem); }
  body #page .page-content h6 { font-size: calc(0.8 * clamp(3rem, 5.4vw, 5rem)); }
  body #page .page-content h4 { font-size: calc(0.8 * clamp(1.4rem, 2.1vw, 1.85rem)); }
  .home #page .page-content h2 { font-size: calc(0.8 * clamp(2.4rem, 3.7vw, 3.4rem)); }
  .home #page .page-content h5 { font-size: calc(0.8 * clamp(1.2rem, 1.8vw, 1.5rem)); }
  .home #page .page-content h6 { font-size: calc(0.8 * 1.05rem); }
  .home #page #features-3 h2,
  .home #page #portfolio-3 h2,
  .home #page #testimonials-1 h2 { font-size: calc(0.8 * clamp(3rem, 5.4vw, 5rem)); }
  .home #page #portfolio-3 h2 { font-size: calc(0.8 * clamp(calc(3rem - 1px), calc(5.4vw - 1px), calc(5rem - 1px))); }
  .home #page #features-3 p.lead,
  .home #page #portfolio-3 p.lead,
  .home #page #testimonials-1 p.lead { font-size: calc(0.8 * clamp(1.4rem, 2.1vw, 1.85rem)); }
  .home #page #testimonials-1 .col-sm-4 i.fa-quote-right { font-size: calc(0.8 * 2.6rem); }
  .home #page #testimonials-1 .col-sm-4 > p:nth-of-type(2) { font-size: calc(0.8 * clamp(1.02rem, 1.3vw, 1.18rem)); }
  .home #page #testimonials-1 .col-sm-4 h4 { font-size: calc(0.8 * clamp(1.5rem, 2vw, 1.8rem)); }
  .home #page #testimonials-1 .col-sm-4 p.small { font-size: calc(0.8 * 0.95rem); }
  .home #page #features-3 .card.row-card h5 { font-size: calc(0.8 * clamp(1.6rem, 2.3vw, 2rem)); }
  .home #page #features-3 .card.row-card p { font-size: calc(0.8 * clamp(1.02rem, 1.3vw, 1.18rem)); }
  body #page .page-content .csColumn:has(i.fa-check-circle) > p:first-child span { font-size: calc(0.8 * 5.6rem) !important; }
  body #page .page-content .csColumn:has(i.fa-check-circle) h3 { font-size: calc(0.8 * clamp(1.1rem, 1.5vw, 1.35rem)); }
  .home #page #overlappable-4 .col-padding i.fa.icon.large { font-size: calc(0.8 * 3.2rem); }
  .home #page #overlappable-4 .col-padding h5 { font-size: calc(0.8 * clamp(2rem, 2.9vw, 2.6rem)); }
  .home #page #overlappable-4 .col-padding h6 { font-size: calc(0.8 * clamp(1.02rem, 1.3vw, 1.18rem)); }
  .home #page #overlappable-4 .col-padding h6 strong a::before { font-size: calc(0.8 * 1.15rem); }
  .home #page #overlappable-4 .col-padding h6 strong a::after { font-size: calc(0.8 * 1.35rem); }
  .home #page #features-3 .card.row-card p { font-size: calc(0.8 * clamp(0.92rem, 1.08vw, 1.02rem)); }
  .home #page #testimonials-1 .col-sm-4 > p:nth-of-type(2) { font-size: calc(0.8 * clamp(0.92rem, 1.08vw, 1.02rem)); }
  .home #page #overlappable-4 .col-padding i.fa.icon.large { font-size: calc(0.8 * 2.5rem); }
  .home #page #overlappable-4 .col-padding h5 { font-size: calc(0.8 * clamp(1.6rem, 2.1vw, 2rem)); }
  .home #page #overlappable-4 .col-padding h6 { font-size: calc(0.8 * clamp(0.92rem, 1.08vw, 1.02rem)); }
  body #page .page-content .csColumn h5 { font-size: calc(0.8 * clamp(1.8rem, 2.6vw, 2.4rem)); }
  body #page .page-content .csColumn h3 { font-size: calc(0.8 * clamp(1.1rem, 1.5vw, 1.35rem)); }
  .page-id-2377 .page-content .csRow h5,
  .page-id-2379 .page-content .csRow h5 { font-size: calc(0.8 * clamp(2rem, 3vw, 2.7rem)); }
  .page-id-2377 .page-content .csRow p:not(:has(img)),
  .page-id-2379 .page-content .csRow p:not(:has(img)) { font-size: calc(0.8 * 1.12rem); }
  .page-id-2377 .page-content .omsc-button,
  .page-id-2379 .page-content .omsc-button { font-size: calc(0.8 * 1.15rem) !important; }
  body #page .page-content .dataTables_scrollHead .tablepress-id-128 thead th { font-size: calc(0.8 * 0.8rem); }
  body #page .page-content .tablepress-id-128 tbody td { font-size: calc(0.8 * 0.95rem); }
  body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) > :not(.dataTables_scroll) { font-size: calc(0.8 * 0.92rem); }
  body #page .page-content .wpcf7-form input.wpcf7-text,
  body #page .page-content .wpcf7-form input.wpcf7-date,
  body #page .page-content .wpcf7-form input.wpcf7-number,
  body #page .page-content .wpcf7-form select.wpcf7-select,
  body #page .page-content .wpcf7-form textarea.wpcf7-textarea { font-size: calc(0.8 * 1.05rem); }
  body #page .page-content .wpcf7-form input.wpcf7-file { font-size: calc(0.8 * 0.98rem); }
  body #page .page-content .wpcf7-form input.wpcf7-file::file-selector-button { font-size: calc(0.8 * 0.95rem); }
  body #page .page-content .wpcf7-form .wpcf7-acceptance,
  body #page .page-content .wpcf7-form .wpcf7-acceptance label,
  body #page .page-content .wpcf7-form .wpcf7-list-item-label { font-size: calc(0.8 * 0.92rem); }
  body #page .page-content .wpcf7-form input.wpcf7-submit { font-size: calc(0.8 * 1.1rem); }
  body #page .page-content .wpcf7-form .wpcf7-not-valid-tip { font-size: calc(0.8 * 0.88rem); }
  body #page .page-content .wpcf7-form .wpcf7-response-output { font-size: calc(0.8 * 0.95rem); }
  body #page .page-content .wpcf7-form h5 { font-size: calc(0.8 * 1rem); }
  body #page .page-content .omsc-toggle-inner h4 { font-size: calc(0.8 * 1.15rem); }
  body .footer-contact-boxes .big-icon { font-size: calc(0.8 * 32px); }
  body .footer-contact-boxes p { font-size: calc(0.8 * 0.95rem); }
  body .footer-contact-boxes .footer-bg-accent .social-icon i { font-size: calc(0.8 * 30px); }
  body .footer-contact-boxes p.copyright { font-size: calc(0.8 * 0.85rem); }
}
@media (min-width: 1025px) and (max-width: 1600px) {
  body .header-homepage { font-size: 18px; }
}

/* submenus (dropdown) tambem 20% menores no notebook (14px -> 11.2px) */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu ul.sub-menu a,
  body .navigation-bar ul.main-menu ul.sub-menu .menu-image-title { font-size: 11.2px; }
}

/* piso de legibilidade no notebook: textos pequenos nao descem abaixo de ~13.5px */
@media (min-width: 1025px) and (max-width: 1600px) {
  .home #page #features-3 .card.row-card p,
  .home #page #testimonials-1 .col-sm-4 > p:nth-of-type(2),
  .home #page #overlappable-4 .col-padding h6 { font-size: max(13.5px, calc(0.8 * clamp(0.92rem, 1.08vw, 1.02rem))); }
  .home #page #testimonials-1 .col-sm-4 p.small,
  body .footer-contact-boxes p,
  body #page .page-content .tablepress-id-128 tbody td,
  body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) > :not(.dataTables_scroll),
  body #page .page-content .wpcf7-form .wpcf7-list-item-label,
  body #page .page-content .wpcf7-form .wpcf7-not-valid-tip,
  body #page .page-content .wpcf7-form .wpcf7-response-output,
  body #page .page-content .wpcf7-form input.wpcf7-file,
  body #page .page-content .wpcf7-form input.wpcf7-file::file-selector-button { font-size: max(13px, calc(0.8 * 0.95rem)); }
  body #page .page-content .dataTables_scrollHead .tablepress-id-128 thead th { font-size: 12.5px; }
  body .footer-contact-boxes p.copyright { font-size: 12.5px; }
}

/* notebook: a fonte menor ja quebra o subtitulo em duas linhas; o <br> fixo antes de "voce" criaria uma 3a linha */
@media (min-width: 1025px) and (max-width: 1600px) {
  .home #page #features-3 p.lead br { display: none; }
}

/* subtitulo da capa: equilibra as linhas (evita "e Turismo" sozinho na 2a linha) em notebooks e telas maiores */
@media (min-width: 1025px) {
  body #page .header-homepage p.header-subtitle { text-wrap: balance; }
}

/* notebook: mais espaco entre os itens (icones) do menu */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu > li { padding-left: 9px; padding-right: 9px; }
}

/* notebook: itens do submenu mais baixos (a fonte menor deixava o espaco vertical exagerado) */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu ul.sub-menu > li { padding-top: 8px; padding-bottom: 8px; }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a { padding-top: 9px; padding-bottom: 9px; }
}

/* icones do menu principal no notebook: 20% abaixo do tamanho ja reduzido */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu > li > a::before { font-size: calc(0.64 * 2.1rem); }
}

/* resolucao normal (>1600px): itens do submenu mais baixos */
@media (min-width: 1601px) {
  body .navigation-bar ul.main-menu ul.sub-menu > li { padding-top: 8px; padding-bottom: 8px; }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a { padding-top: 9px; padding-bottom: 9px; }
}

/* notebook: frases de Missao/Visao/Valores voltam ao tamanho original (sem a reducao de 20%) */
@media (min-width: 1025px) and (max-width: 1600px) {
  body #page .page-content .csColumn h3,
  body #page .page-content .csColumn:has(i.fa-check-circle) h3 { font-size: calc(0.9 * clamp(1.1rem, 1.5vw, 1.35rem)); }
}

/* notebook: paragrafos das paginas internas +2px sobre o tamanho reduzido */
@media (min-width: 1025px) and (max-width: 1600px) {
  body #page .page-content p,
  body #page .page-content li { font-size: calc(0.8 * 1.15rem + 1px); }
  .page-id-2377 .page-content .csRow p:not(:has(img)),
  .page-id-2379 .page-content .csRow p:not(:has(img)) { font-size: calc(0.8 * 1.12rem + 1px); }
}

/* frases dos blocos (Politica de Qualidade, Missao/Visao/Valores): o <strong> deixava o texto pesado; usa o mesmo peso leve do h3 */
body #page .page-content .csColumn h3 strong,
body #page .page-content .csColumn h3 b { font-weight: 500; }

/* notebook: texto abaixo dos icones do menu um pouco maior (9.2px era pequeno demais) */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu > li > a,
  body .navigation-bar ul.main-menu > li > a .menu-image-title { font-size: 10.5px; }
}

/* notebook: titulos dos cards (Horarios / Nossa Frota / Ouvidoria) +1px */
@media (min-width: 1025px) and (max-width: 1600px) {
  .home #page #overlappable-4 .col-padding h5 { font-size: calc(0.8 * clamp(1.6rem, 2.1vw, 2rem) + 1px); }
}

/* notebook: menu sempre em uma linha. Fonte e espacamento acompanham a largura da tela para nao quebrar */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu { flex-wrap: nowrap; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  body .navigation-bar ul.main-menu > li { padding-left: 3px; padding-right: 3px; }
  body .navigation-bar ul.main-menu > li > a,
  body .navigation-bar ul.main-menu > li > a .menu-image-title { font-size: clamp(8px, 0.82vw, 10.5px); }
}
@media (min-width: 1280px) and (max-width: 1365px) {
  body .navigation-bar ul.main-menu > li { padding-left: 5.5px; padding-right: 5.5px; }
}
@media (min-width: 1366px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu > li { padding-left: 8px; padding-right: 8px; }
}

/* notebook: icones do menu com o mesmo peso visual (cada glifo FontAwesome tem proporcao diferente).
   Multiplicador = tamanho-alvo / area do glifo; a altura da linha fica fixa para os textos nao se mexerem. */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu > li > a::before { line-height: calc(0.64 * 2.1rem); }
  body .navigation-bar ul.main-menu > li.menu-item-85 > a::before { font-size: calc(0.64 * 2.1rem * 1.07); }
  body .navigation-bar ul.main-menu > li.menu-item-2381 > a::before { font-size: calc(0.64 * 2.1rem * 0.93); }
  body .navigation-bar ul.main-menu > li.menu-item-80 > a::before { font-size: calc(0.64 * 2.1rem * 0.97); }
  body .navigation-bar ul.main-menu > li.menu-item-3026 > a::before { font-size: calc(0.64 * 2.1rem * 1.10); }
  body .navigation-bar ul.main-menu > li.menu-item-5046 > a::before { font-size: calc(0.64 * 2.1rem * 0.93); }
  body .navigation-bar ul.main-menu > li.menu-item-5966 > a::before { font-size: calc(0.64 * 2.1rem * 1.13); }
  body .navigation-bar ul.main-menu > li.menu-item-2517 > a::before { font-size: calc(0.64 * 2.1rem * 0.90); }
  body .navigation-bar ul.main-menu > li.menu-item-5559 > a::before { font-size: calc(0.64 * 2.1rem * 0.87); }
}

/* resolucao normal (>1600px): mesmo ajuste de peso visual dos icones do menu (base 2.1rem) */
@media (min-width: 1601px) {
  body .navigation-bar ul.main-menu > li > a::before { line-height: 2.1rem; }
  body .navigation-bar ul.main-menu > li.menu-item-85 > a::before { font-size: calc(2.1rem * 1.07 - 1px); }
  body .navigation-bar ul.main-menu > li.menu-item-2381 > a::before { font-size: calc(2.1rem * 0.93 - 1px); }
  body .navigation-bar ul.main-menu > li.menu-item-80 > a::before { font-size: calc(2.1rem * 0.97 - 1px); }
  body .navigation-bar ul.main-menu > li.menu-item-3026 > a::before { font-size: calc(2.1rem * 1.10 - 1px); }
  body .navigation-bar ul.main-menu > li.menu-item-5046 > a::before { font-size: calc(2.1rem * 0.93 - 1px); }
  body .navigation-bar ul.main-menu > li.menu-item-5966 > a::before { font-size: calc(2.1rem * 1.13 - 1px); }
  body .navigation-bar ul.main-menu > li.menu-item-2517 > a::before { font-size: calc(2.1rem * 0.90 - 1px); }
  body .navigation-bar ul.main-menu > li.menu-item-5559 > a::before { font-size: calc(2.1rem * 0.87 - 1px); }
  body .navigation-bar ul.main-menu > li.menu-item-86 > a::before,
  body .navigation-bar ul.main-menu > li.menu-item-641 > a::before { font-size: calc(2.1rem - 1px); }
  body .navigation-bar ul.main-menu > li > a,
  body .navigation-bar ul.main-menu > li > a .menu-image-title { font-size: 12px; }
}

/* mobile/tablet (<=1024px): textos pequenos ganham piso de legibilidade (rem sobre html de 14px dava ~13px ou menos) */
@media (max-width: 1024px) {
  .home #page #testimonials-1 .col-sm-4 p.small,
  body .footer-contact-boxes p { font-size: max(15px, 0.95rem); }
  body .footer-contact-boxes p.copyright { font-size: max(13.5px, 0.85rem); }
  body #page .page-content .tablepress-id-128 tbody td,
  body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) > :not(.dataTables_scroll),
  body #page .page-content .wpcf7-form .wpcf7-list-item-label,
  body #page .page-content .wpcf7-form .wpcf7-not-valid-tip,
  body #page .page-content .wpcf7-form .wpcf7-response-output,
  body #page .page-content .wpcf7-form input.wpcf7-file,
  body #page .page-content .wpcf7-form input.wpcf7-file::file-selector-button { font-size: max(14.5px, 0.95rem); }
  body #page .page-content .dataTables_scrollHead .tablepress-id-128 thead th { font-size: max(13.5px, 0.8rem); }
}

/* mobile/tablet (<=1024px): textos de apoio maiores (ainda estavam ~14px no celular) */
@media (max-width: 1024px) {
  .home #page #features-3 .card.row-card p,
  .home #page #testimonials-1 .col-sm-4 > p:nth-of-type(2),
  .home #page #overlappable-4 .col-padding h6 { font-size: 16.5px; line-height: 1.5; }
  .home #page #testimonials-1 .col-sm-4 p.small,
  body .footer-contact-boxes p { font-size: 16px; }
  body .footer-contact-boxes p.copyright { font-size: 14px; }
  body #page .cordial-central .cordial-central__mail { font-size: 16.5px; }
  body #page .page-content p,
  body #page .page-content li { font-size: 17px; }
  body #page .page-content .tablepress-id-128 tbody td,
  body #page .page-content .dataTables_wrapper:has(.tablepress-id-128) > :not(.dataTables_scroll),
  body #page .page-content .wpcf7-form .wpcf7-list-item-label,
  body #page .page-content .wpcf7-form .wpcf7-not-valid-tip,
  body #page .page-content .wpcf7-form .wpcf7-response-output,
  body #page .page-content .wpcf7-form input.wpcf7-file,
  body #page .page-content .wpcf7-form input.wpcf7-file::file-selector-button { font-size: 15.5px; }
}

/* barra de busca de passagens (widget Busbud): menor no notebook e no celular */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .caixa-busca-nova { zoom: 0.85; }
}
@media (max-width: 600px) {
  body .caixa-busca-nova { zoom: 0.88; }
}

/* paragrafos das paginas internas mais leves (Gilroy Text tem peso 300 disponivel) em notebook e telas maiores */
@media (min-width: 1025px) {
  body #page .page-content p,
  body #page .page-content li { font-weight: 300; }
}

/* ===== Mobile/tablet (<=1024px): barra superior maior e menu lateral claro ===== */
@media (max-width: 1024px) {
  /* barra superior mais alta, logo e botao do menu maiores */
  body .navigation-bar { min-height: 68px; }
  body .navigation-bar .row { height: auto; min-height: 68px; align-items: center; }
  body img.logo.dark, body img.custom-logo { max-height: 46px !important; height: 46px !important; width: auto !important; padding: 0; }
  body .navigation-bar a[data-component="offcanvas"] { text-decoration: none; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; }
  body .navigation-bar a[data-component="offcanvas"] .bubble { width: 48px; height: 48px; background: #e6f3fc !important; background-color: #e6f3fc !important; opacity: 1; }
  body .navigation-bar a[data-component="offcanvas"] i.fa-bars { width: 48px; height: 48px; line-height: 48px; font-size: 26px; color: #1e86c9; text-align: center; }

  /* menu lateral: painel claro com as cores da marca */
  body #offcanvas-wrapper { width: min(86vw, 340px) !important; background: #ffffff; box-shadow: -10px 0 30px rgba(15, 76, 129, 0.28); }
  body #offcanvas-wrapper .offcanvas-top { padding: 18px 22px; background: #f4f9fd; border-bottom: 1px solid #dcebf5; }
  body #offcanvas-wrapper .offcanvas-top img.custom-logo { height: 48px !important; max-height: 48px !important; width: auto !important; }
  body #offcanvas-wrapper ul.offcanvas_menu { padding: 6px 0 24px; margin: 0; }
  body #offcanvas-wrapper ul.offcanvas_menu li { border: 0; background: transparent; }
  body #offcanvas-wrapper ul.offcanvas_menu li > a {
    display: block; position: relative;
    padding: 15px 52px 15px 24px;
    font-size: 17px; font-weight: 600; letter-spacing: 0; line-height: 1.3;
    color: #0f4c81; background: transparent;
    border-bottom: 1px solid #edf3f8;
  }
  body #offcanvas-wrapper ul.offcanvas_menu li > a:hover,
  body #offcanvas-wrapper ul.offcanvas_menu li.current-menu-item > a,
  body #offcanvas-wrapper ul.offcanvas_menu li.current_page_item > a { background: #eef7fd; color: #1e86c9; box-shadow: inset 4px 0 0 #00afef; }
  body #offcanvas-wrapper ul.offcanvas_menu li > a i.fa.arrow { right: 0; width: 56px; color: #00afef; }
  body #offcanvas-wrapper ul.offcanvas_menu li > a i.fa.arrow::before { content: "\f107"; font-family: FontAwesome !important; font-size: 22px; line-height: 1; width: auto; height: auto; color: #00afef; left: 50%; top: 50%; transform: translate(-50%, -50%); }
  body #offcanvas-wrapper ul.offcanvas_menu li.open > a i.fa.arrow::before,
  body #offcanvas-wrapper ul.offcanvas_menu li > a.open i.fa.arrow::before { content: "\f106"; }
  body #offcanvas-wrapper ul.offcanvas_menu ul.sub-menu li > a i.fa.arrow { display: none; }
  body #offcanvas-wrapper ul.offcanvas_menu ul.sub-menu { background: #f6fafd; }
  body #offcanvas-wrapper ul.offcanvas_menu ul.sub-menu li > a { padding-left: 40px; font-size: 15.5px; font-weight: 500; color: #1e86c9; border-bottom: 1px solid #e8f1f8; }
  /* itens com imagem (Cordialzinho, Facilite, CordialPASS) */
  body #offcanvas-wrapper ul.offcanvas_menu li > a img.menu-image { max-height: 26px; width: auto; vertical-align: middle; }
}

/* ===== Menu mobile: sem imagens (titulo em texto, como no menu normal) e destaque nos 3 ultimos itens ===== */
@media (max-width: 1024px) {
  body #offcanvas-wrapper ul.offcanvas_menu a.menu-image-title-hide img.menu-image { display: none !important; }
  body #offcanvas-wrapper ul.offcanvas_menu a.menu-image-title-hide .menu-image-title { display: inline !important; }
  /* itens comuns em azul da marca; os 3 ultimos (Cordialzinho, Cartao Facilite, CordialPASS) em azul-marinho, como no desktop */
  body #offcanvas-wrapper ul.offcanvas_menu > li > a { color: #1e86c9; }
  body #offcanvas-wrapper ul.offcanvas_menu > li.menu-item-5966 > a,
  body #offcanvas-wrapper ul.offcanvas_menu > li.menu-item-2517 > a,
  body #offcanvas-wrapper ul.offcanvas_menu > li.menu-item-5559 > a { color: #0f4c81; font-weight: 700; }
  body #offcanvas-wrapper ul.offcanvas_menu > li.menu-item-5966 > a:hover,
  body #offcanvas-wrapper ul.offcanvas_menu > li.menu-item-2517 > a:hover,
  body #offcanvas-wrapper ul.offcanvas_menu > li.menu-item-5559 > a:hover { color: #1e86c9; }
  /* divisor antes do grupo, igual ao desktop */
  body #offcanvas-wrapper ul.offcanvas_menu > li.menu-item-5966 { margin-top: 10px; border-top: 1px solid rgba(30, 134, 201, 0.28); }
  /* rotulos "Municipal" / "Intermunicipal" dos submenus, como no desktop */
  body #offcanvas-wrapper ul.offcanvas_menu ul.sub-menu li > a.menu-image-title-hide .menu-image-title {
    padding-left: 0.6rem; border-left: 4px solid #1eb0ee; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #0f4c81;
  }
}

@media (max-width: 1024px) {
  /* o span do titulo herdava cor branca e 15px do menu antigo (.offcanvas_menu *): usa a cor e o tamanho do link */
  body #offcanvas-wrapper ul.offcanvas_menu a .menu-image-title { color: inherit; font-size: inherit; font-weight: inherit; }
  body #offcanvas-wrapper ul.offcanvas_menu ul.sub-menu li > a.menu-image-title-hide .menu-image-title { color: #0f4c81; font-size: 14.5px; font-weight: 700; }
}

/* Pagina Cordialzinho (id 5887): conteudo simples, sem blocos do construtor. A frase de abertura (h5) segue o padrao do subtitulo das outras paginas internas (h4 de abertura) */
body.page-id-5887 #page .page-content h5 {
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #1e86c9;
  margin: 1.2rem 0 0.8rem;
}

/* Cordialzinho (id 5887): os titulos de secao eram h2; usam o padrao de titulo principal das paginas (mesmo estilo do h6) */
body.page-id-5887 #page .page-content h2 {
  font-size: calc(clamp(3rem, 5.4vw, 5rem) - 7px);
  font-weight: 800;
  text-transform: none;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #1e86c9;
  margin: 0 0 1rem;
}
@media (min-width: 1025px) and (max-width: 1600px) {
  body.page-id-5887 #page .page-content h2 { font-size: calc(0.8 * clamp(3rem, 5.4vw, 5rem) - 7px); }
}

/* Cordialzinho: a frase de abertura (h5) tambem usa o estilo de titulo principal (mesmo tamanho dos titulos de secao) */
body.page-id-5887 #page .page-content h5 {
  font-size: calc(clamp(3rem, 5.4vw, 5rem) - 7px);
  font-weight: 800;
  text-transform: none;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #1e86c9;
  margin: 0 0 1rem;
}
@media (min-width: 1025px) and (max-width: 1600px) {
  body.page-id-5887 #page .page-content h5 { font-size: calc(0.8 * clamp(3rem, 5.4vw, 5rem) - 7px); }
}

/* titulos principais 2px menores: titulos das secoes da home e titulo (h6) das paginas internas */
.home #page #features-3 h2,
.home #page #testimonials-1 h2,
body:not(.home) #page .page-content h6 { font-size: calc(clamp(3rem, 5.4vw, 5rem) - 7px); }
.home #page #portfolio-3 h2 { font-size: calc(clamp(3rem, 5.4vw, 5rem) - 8px); }
@media (min-width: 1025px) and (max-width: 1600px) {
  .home #page #features-3 h2,
  .home #page #testimonials-1 h2,
  body:not(.home) #page .page-content h6 { font-size: calc(0.8 * clamp(3rem, 5.4vw, 5rem) - 7px); }
  .home #page #portfolio-3 h2 { font-size: calc(0.8 * clamp(3rem, 5.4vw, 5rem) - 7.8px); }
}

/* rodape: os 4 icones de redes sociais ficam sempre em uma linha (no notebook o ultimo caia para a linha de baixo) */
@media (min-width: 769px) {
  body .footer-social-icons { display: flex; flex-wrap: nowrap; justify-content: center; align-items: flex-start; }
  body .footer-social-icons .social-icon { flex: 0 1 52px; min-width: 32px; margin-left: 3px; margin-right: 3px; }
}

/* mobile: blocos Missao/Visao/Valores (Quem somos) e Politica de Qualidade com espacamentos menores (icone, paragrafo vazio no fim e margens estavam exagerados) */
@media (max-width: 768px) {
  body.page-id-14 #page .page-content .csColumn,
  body.page-id-65 #page .page-content .csColumn { margin-top: 0; margin-bottom: 0; padding: 0 10px 8px; }
  /* paragrafo vazio (&nbsp;) no fim de cada bloco */
  body.page-id-14 #page .page-content .csColumn > p:last-child,
  body.page-id-65 #page .page-content .csColumn > p:last-child:not(:has(img, a, i)) { margin: 0; padding: 0; height: 0; line-height: 0; overflow: hidden; font-size: 0; }
  /* icone do topo menor e mais proximo do titulo */
  body.page-id-14 #page .page-content .csColumn > p:first-child,
  body.page-id-65 #page .page-content .csColumn > p:first-child { margin-bottom: 6px; line-height: 1; }
  body.page-id-14 #page .page-content .csColumn img,
  body.page-id-65 #page .page-content .csColumn img { max-height: 64px; width: auto; margin-bottom: 8px; }
  body #page .page-content .csColumn:has(i.fa-check-circle) > p:first-child span { font-size: 4.2rem !important; }
  body #page .page-content .csColumn h5 { margin-bottom: 0.4rem; }
  body.page-id-14 #page .page-content .csColumn h3 { margin-bottom: 0.9rem; }
}
@media (max-width: 768px) {
  body.page-id-14 #page .page-content .csColumn > img + p,
  body.page-id-65 #page .page-content .csColumn > img + p { margin: 0; padding: 0; }
}

/* mobile: rodape (endereco / telefone / e-mail / redes) com espacamentos menores */
@media (max-width: 768px) {
  body .footer-contact-boxes .row > div { padding-top: 12px; padding-bottom: 12px; }
  body .footer-contact-boxes .big-icon { width: 58px; height: 58px; line-height: 58px; font-size: 24px; margin-bottom: 8px; }
  body .footer-contact-boxes p { margin-bottom: 4px; padding-bottom: 0; }
  body .footer-social-icons .social-icon { margin-bottom: 8px; }
}
@media (max-width: 768px) {
  body .footer-contact-boxes .footer-content .row > div[class*="col-"] { padding-top: 10px !important; padding-bottom: 10px !important; }
  body .footer-contact-boxes .footer-content p { padding-bottom: 0 !important; margin-bottom: 4px !important; }
}

/* mobile: um pouco mais de respiro no rodape (topo e base do bloco e entre os itens) */
@media (max-width: 768px) {
  body .footer-contact-boxes .footer-content { padding-top: 28px !important; padding-bottom: 28px !important; }
  body .footer-contact-boxes .footer-content .row > div[class*="col-"] { padding-top: 16px !important; padding-bottom: 16px !important; }
}

/* mobile: icones do rodape um pouco maiores */
@media (max-width: 768px) {
  body .footer-contact-boxes .big-icon { width: 68px; height: 68px; line-height: 68px; font-size: 29px; }
  body .footer-contact-boxes .footer-social-icons .social-icon i { font-size: 34px; }
}

/* mobile: sem faixa azul-escura abaixo do bloco azul-claro do rodape (vinha do padding-bottom do .footer-content) e entrelinha menor no rodape */
@media (max-width: 768px) {
  body .footer-contact-boxes .footer-content { padding-bottom: 0 !important; }
  body .footer-contact-boxes .footer-content p { line-height: 1.4 !important; }
}

/* titulos principais menos pesados (800 -> 600) so na resolucao normal (>1600px): secoes da home, titulo (h6) das paginas internas e Cordialzinho */
@media (min-width: 1601px) {
  .home #page #features-3 h2,
  .home #page #portfolio-3 h2,
  .home #page #testimonials-1 h2,
  body:not(.home) #page .page-content h6,
  body.page-id-5887 #page .page-content h2,
  body.page-id-5887 #page .page-content h5 { font-weight: 600; }
}

/* titulos dos cards da home (Horarios / Nossa Frota / Ouvidoria e Fretamento etc.) menos pesados */
.home #page #overlappable-4 .col-padding h5,
.home #page #features-3 .card.row-card h5 { font-weight: 600; }

/* resolucao normal (>1600px): titulos e subtitulos da capa, da home e das paginas internas 10% menores */
@media (min-width: 1601px) {
  .header-homepage h1.hero-title { font-size: calc(0.9 * clamp(2rem, 6.2vw, 5.3rem)); }
  body #page .header-homepage p.header-subtitle2,
  body #page .header-homepage p.header-subtitle { font-size: calc(0.9 * clamp(1.3rem, 2.2vw, 2.1rem)); }
  body #page .header-wrapper > .header .inner-header-description h1 { font-size: calc(0.9 * clamp(2.2rem, 4.2vw, 3.4rem)); }
  .home #page #features-3 h2,
  .home #page #testimonials-1 h2,
  body:not(.home) #page .page-content h6,
  body.page-id-5887 #page .page-content h2,
  body.page-id-5887 #page .page-content h5 { font-size: calc(0.9 * (clamp(3rem, 5.4vw, 5rem) - 7px)); }
  .home #page #portfolio-3 h2 { font-size: calc(0.9 * (clamp(3rem, 5.4vw, 5rem) - 8px)); }
  .home #page #features-3 p.lead,
  .home #page #portfolio-3 p.lead,
  .home #page #testimonials-1 p.lead,
  body #page .page-content h4 { font-size: calc(0.9 * clamp(1.4rem, 2.1vw, 1.85rem)); }
}

/* ===== Icones do menu principal: SVG em traco (estilo moderno), substituem os glifos FontAwesome. Colorizados via mask + currentColor ===== */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li#menu-item-85 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before {
    content: "";
    font-family: inherit;
    width: 40px;
    height: 40px;
    line-height: 1;
    font-size: 0;
    margin: 0 auto 0.5rem;
    background-color: currentColor;
    -webkit-mask: var(--ico) center / contain no-repeat;
    mask: var(--ico) center / contain no-repeat;
  }
  body .navigation-bar ul.main-menu > li#menu-item-85 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M3 10.5 12 3l9 7.5'/><path d='M5 9.5V20a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1V9.5'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-86 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3 2'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-80 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='3' width='16' height='18' rx='2'/><path d='M9 7h.01M15 7h.01M9 11h.01M15 11h.01M9 15h.01M15 15h.01M10 21v-3h4v3'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M8 6v6M16 6v6M2 12h19.6M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3'/><circle cx='7' cy='18' r='2'/><path d='M9 18h5'/><circle cx='16' cy='18' r='2'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-641 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 16v-4M12 8h.01'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='7' width='20' height='14' rx='2'/><path d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M9 12h.01M15 12h.01M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5'/><path d='M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='5' width='20' height='14' rx='2'/><path d='M2 10h20M6 15h4'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><circle cx='9' cy='11' r='2.2'/><path d='M5.5 17c.5-2 2-3 3.5-3s3 1 3.5 3M15 9h4M15 13h4'/></svg>"); }
}

/* equaliza peso visual dos icones do menu */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before { -webkit-mask-size: 92%; mask-size: 92%; }
  body .navigation-bar ul.main-menu > li#menu-item-641 > a::before { -webkit-mask-size: 96%; mask-size: 96%; }
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before { -webkit-mask-size: 92%; mask-size: 92%; }
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a::before { -webkit-mask-size: 86%; mask-size: 86%; }
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a::before { -webkit-mask-size: 100%; mask-size: 100%; }
  body .navigation-bar ul.main-menu > li#menu-item-86 > a::before { -webkit-mask-size: 100%; mask-size: 100%; }
  body .navigation-bar ul.main-menu > li#menu-item-85 > a::before { -webkit-mask-size: 100%; mask-size: 100%; }
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before { -webkit-mask-size: 94%; mask-size: 94%; }
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a::before { -webkit-mask-size: 84%; mask-size: 84%; }
  body .navigation-bar ul.main-menu > li#menu-item-80 > a::before { -webkit-mask-size: 96%; mask-size: 96%; }
}

/* texto e icone do menu na mesma cor (azul claro) */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li > a,
  body .navigation-bar ul.main-menu > li > a .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before { color: #4dbcef; }
  body .navigation-bar ul.main-menu > li > a:hover,
  body .navigation-bar ul.main-menu > li > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:hover::before { color: #0f4c81; }
}

/* icones do menu na cor azul da imagem (#30abe5); texto segue mais claro */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before { color: #30abe5; }
}

/* tres ultimos itens: um pouco mais escuros */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before { color: #1e86c9; }
}

@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a > span,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a > span,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a > span { color: #1e86c9; }
}

/* hover mais claro */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li#menu-item-85 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-85 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-85 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-85 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:hover > span,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:hover,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:hover::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:hover .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:hover > span { color: #1a7fc0; }
}

/* notebook: icones menores */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu > li#menu-item-85 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before { width: 32px; height: 32px; margin-bottom: 0.4rem; }
}

/* mobile: icones sociais do rodape em linha */
@media (max-width: 768px) {
  body .footer-social-icons { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 14px; }
  body .footer-social-icons .social-icon { flex: 0 0 auto; width: auto; float: none; margin: 0 0 8px; }
}

/* rodape: icones sociais sempre em linha (tema deixava em coluna) */
body .footer-contact-boxes .footer-social-icons { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; justify-content: center; align-items: center; width: 100%; }

/* cards "Onde Atuamos": icone proprio de cada servico (circulo azul + simbolo branco, maior) */
.home #page #features-3 .card.row-card i.fa.icon.large {
  position: relative; display: block; width: 84px; height: 84px; font-size: 0; line-height: 0;
  border-radius: 50%; background: #1eb0ee; box-shadow: 0 10px 22px rgba(30, 176, 238, 0.32);
}
.home #page #features-3 .card.row-card i.fa.icon.large::before {
  content: ""; position: absolute; inset: 0; margin: auto; width: 44px; height: 44px; background-color: #fff;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;
}
.home #page #features-3 .card.row-card.cz-ic-fretamento i.fa.icon.large::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6v6M15 6v6M2 12h19.6'/%3E%3Cpath d='M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Cpath d='M9 18h5'/%3E%3Ccircle cx='16' cy='18' r='2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6v6M15 6v6M2 12h19.6'/%3E%3Cpath d='M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Cpath d='M9 18h5'/%3E%3Ccircle cx='16' cy='18' r='2'/%3E%3C/svg%3E"); }
.home #page #features-3 .card.row-card.cz-ic-linha i.fa.icon.large::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='3'/%3E%3Cpath d='M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15'/%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='3'/%3E%3Cpath d='M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15'/%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3C/svg%3E"); }
.home #page #features-3 .card.row-card.cz-ic-turismo i.fa.icon.large::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z'/%3E%3C/svg%3E"); }
.home #page #features-3 .card.row-card.cz-ic-orcamento i.fa.icon.large::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='20' x='4' y='2' rx='2'/%3E%3Cpath d='M8 6h8M16 14v4M16 10h.01M12 10h.01M8 10h.01M12 14h.01M8 14h.01M12 18h.01M8 18h.01'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='20' x='4' y='2' rx='2'/%3E%3Cpath d='M8 6h8M16 14v4M16 10h.01M12 10h.01M8 10h.01M12 14h.01M8 14h.01M12 18h.01M8 18h.01'/%3E%3C/svg%3E"); }

/* cards Onde Atuamos: todos com o mesmo tamanho */
@media (min-width: 768px) {
  .home #page #features-3 .row.spaced-cols { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; }
  .home #page #features-3 .row.spaced-cols > [class*="col-"] { width: auto; max-width: none; float: none; display: flex; }
  .home #page #features-3 .card.row-card { width: 100%; height: 100%; box-sizing: border-box; }
}

/* slider da capa: +60px de altura e zoom out suave nas imagens */
.header-homepage { padding-bottom: 45px !important; }
@keyframes czSlideZoomOut { from { transform: scale(1.12); } to { transform: scale(1); } }
.header-homepage .backstretch-item img { transform-origin: center center; animation: czSlideZoomOut 9s ease-out forwards; will-change: transform; }

/* capa: titulo maior e bloco de texto mais para baixo (altura total do slider mantida) */
.header-homepage h1.hero-title { font-size: clamp(2rem, 6.4vw, 6.2rem); }
@media (min-width: 601px) { .header-homepage .header-content { padding-top: 100px; } }

/* capa: bloco de texto 10px mais para a esquerda */
@media (min-width: 601px) { .header-homepage .header-content .header-hero-content { position: relative; left: -10px; } }

/* capa: compensa o espaco lateral do glifo do titulo para alinhar com a linha amarela */
.header-homepage h1.hero-title { margin-left: -0.045em; }

/* capa: botao sem seta */
.header-homepage .header-buttons-wrapper a.button::after { content: none !important; display: none !important; }

/* TESTE: topo e menu transparentes na home (voltam ao branco quando o menu fixa ao rolar) */
@media (min-width: 1025px) {
  .home .header-top-bar,
  .home .navigation-bar:not(.fixto-fixed) { background-color: transparent !important; border-color: transparent !important; box-shadow: none !important; }
}

/* TESTE: barra de telefone/e-mail/redes escondida na home (desktop) */
@media (min-width: 1025px) { .home .header-top-bar { display: none !important; } }

/* curva inferior da capa menor */
.header-separator-bottom, .header-separator-bottom svg { height: 82px !important; }

/* capa ocupa a janela (curva inferior visivel sem rolar) */
@media (min-width: 1025px) {
  .home .header-homepage { box-sizing: border-box; height: calc(100vh - 20px); min-height: 630px; padding-bottom: 0 !important; display: flex; flex-direction: column; }
  .home .header-homepage .header-description { flex: 1 1 auto; display: flex; align-items: center; }
  .home .header-homepage .header-description .header-description-row { width: 100%; padding-bottom: 80px !important; }
  .home .header-homepage .header-content { padding-top: 40px; padding-bottom: 0; }
}

/* card com link (Orcamento Online): etiqueta cortada com seta no canto inferior direito; o card inteiro e clicavel */
.home #page #features-3 .card.row-card:has(p a) { position: relative; overflow: hidden; }
.home #page #features-3 .card.row-card p a::before { content: ""; position: absolute; inset: 0; z-index: 3; }
.home #page #features-3 .card.row-card:has(p a)::after {
  content: ""; position: absolute; right: 0; bottom: 0; width: 66px; height: 66px; background: #2bb0ea; z-index: 1; pointer-events: none;
  clip-path: polygon(100% 0, 100% 100%, 0 100%); transition: width 0.25s ease, height 0.25s ease, background-color 0.25s ease;
}
.home #page #features-3 .card.row-card:has(p a)::before {
  content: ""; position: absolute; right: 12px; bottom: 11px; z-index: 2; width: 22px; height: 22px; background-color: #fff; pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform 0.25s ease;
}
.home #page #features-3 .card.row-card:has(p a):hover::after { width: 78px; height: 78px; background: #1e86c9; }
.home #page #features-3 .card.row-card:has(p a):hover::before { transform: translateX(4px); }
/* menu: icones e textos todos no mesmo azul, um pouco mais claro */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li#menu-item-85 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-85 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-85 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-85 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-86 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-80 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-641 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a:not(:hover) > span,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:not(:hover),
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:not(:hover)::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:not(:hover) .menu-image-title,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a:not(:hover) > span { color: #4cb8ee; }
}

/* submenus: icones SVG em traco (substituem os glifos FontAwesome) */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul li#menu-item-5515 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-6084 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-6167 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-83 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-82 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-81 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-6135 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-2383 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-2385 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-2384 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-2799 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-2722 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-3751 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-3003 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-5561 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-4489 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-3004 > a:not(.menu-image-title-hide)::before,
  body .navigation-bar ul.main-menu ul li#menu-item-5562 > a:not(.menu-image-title-hide)::before {
    content: ""; font-family: inherit; width: 1.15em; height: 1.15em; vertical-align: -0.22em; background-color: currentColor;
    -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
  }
  body .navigation-bar ul.main-menu ul li#menu-item-5515 > a:not(.menu-image-title-hide)::before, body .navigation-bar ul.main-menu ul li#menu-item-6084 > a:not(.menu-image-title-hide)::before, body .navigation-bar ul.main-menu ul li#menu-item-6167 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/><circle cx='12' cy='10' r='3'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-83 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-82 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><path d='M14 2v6h6M16 13H8M16 17H8M10 9H8'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-81 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6M18 9h1.5a2.5 2.5 0 0 0 0-5H18M4 22h16M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22M18 2H6v7a6 6 0 0 0 12 0V2Z'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-6135 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3v18h18M18 17V9M13 17V5M8 17v-3'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-2383 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/><path d='M15 18H9'/><path d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14'/><circle cx='17' cy='18' r='2'/><circle cx='7' cy='18' r='2'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-2385 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z'/><path d='M15 5.764v15M9 3.236v15'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-2384 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M8 6v6M16 6v6M2 12h19.6M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3'/><circle cx='7' cy='18' r='2'/><path d='M9 18h5'/><circle cx='16' cy='18' r='2'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-2799 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2'/><circle cx='7' cy='17' r='2'/><path d='M9 17h6'/><circle cx='17' cy='17' r='2'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-2722 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect width='16' height='20' x='4' y='2' rx='2'/><path d='M8 6h8M16 14v4M16 10h.01M12 10h.01M8 10h.01M12 14h.01M8 14h.01M12 18h.01M8 18h.01'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-3751 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='21' r='1'/><circle cx='19' cy='21' r='1'/><path d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-3003 > a:not(.menu-image-title-hide)::before, body .navigation-bar ul.main-menu ul li#menu-item-5561 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4M10 17l5-5-5-5M15 12H3'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-4489 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M3 7V5a2 2 0 0 1 2-2h2M17 3h2a2 2 0 0 1 2 2v2M21 17v2a2 2 0 0 1-2 2h-2M7 21H5a2 2 0 0 1-2-2v-2M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01'/></svg>"); }
  body .navigation-bar ul.main-menu ul li#menu-item-3004 > a:not(.menu-image-title-hide)::before, body .navigation-bar ul.main-menu ul li#menu-item-5562 > a:not(.menu-image-title-hide)::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3M12 17h.01'/></svg>"); }
}

/* submenus: cartao branco arredondado, seta no topo, divisorias e textos maiores */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu {
    border-radius: 16px; padding: 8px 0; min-width: 250px; overflow: visible;
    box-shadow: 0 14px 34px rgba(10, 40, 80, 0.18);
  }
  body .navigation-bar ul.main-menu ul.sub-menu::before {
    content: ""; position: absolute; top: -8px; left: 46px; width: 18px; height: 18px; background: #fff;
    transform: rotate(45deg); border-radius: 3px 0 0 0; pointer-events: none;
  }
  body .navigation-bar ul.main-menu ul.sub-menu > li { padding: 0; margin: 0 16px; border-bottom: 1px solid #e3e8ee; }
  body .navigation-bar ul.main-menu ul.sub-menu > li:last-child { border-bottom: 0; }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a:not(.menu-image-title-hide) {
    padding: 14px 8px; font-size: 15px; font-weight: 500; color: #2aa8e0; display: flex; align-items: center; gap: 12px;
  }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a:not(.menu-image-title-hide)::before {
    flex: 0 0 auto; margin-right: 0; width: 24px; height: 24px; vertical-align: baseline; color: #2aa8e0;
  }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a:not(.menu-image-title-hide):hover { color: #1a7fc0; }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a:not(.menu-image-title-hide):hover::before { color: #1a7fc0; }
}
/* submenus: seta centralizada sob o item e cantos menos arredondados */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu { border-radius: 8px; left: 50% !important; right: auto !important; transform: translateX(-50%); }
  body .navigation-bar ul.main-menu ul.sub-menu::before { left: 50%; margin-left: -9px; border-radius: 2px 0 0 0; }
}
/* submenus: alinhados a esquerda do item, com a seta a esquerda */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu { left: 0 !important; transform: none; }
  body .navigation-bar ul.main-menu ul.sub-menu::before { left: 32px; margin-left: 0; }
}
/* submenus: seta no centro do texto do item (desenhada no proprio item do menu) */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu::before { content: none; display: none; }
  body .navigation-bar ul.main-menu > li.menu-item-has-children::after {
    content: ""; position: absolute; left: 50%; top: 95px; width: 16px; height: 16px; margin-left: -8px; background: #fff;
    border-radius: 2px 0 0 0; transform: rotate(45deg); z-index: 100000; opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 0.15s ease;
  }
  body .navigation-bar ul.main-menu > li.menu-item-has-children:hover::after { opacity: 1; visibility: visible; }
}
/* submenus: seta em triangulo, colada no topo do submenu (ancorada na base do item) */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li.menu-item-has-children::after {
    top: auto; bottom: -1px; width: 22px; height: 11px; margin-left: -11px; border-radius: 0; transform: none;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
  }
}
@media (min-width: 1025px) { body .navigation-bar ul.main-menu > li.menu-item-has-children::after { width: 28px; height: 14px; margin-left: -14px; } }

/* divisor antes de Cordialzinho: um pouco mais grosso */
@media (min-width: 1025px) { body .navigation-bar ul.main-menu > li#menu-item-5966 { border-left: 2px solid rgba(92, 196, 243, 0.45); } }

@media (min-width: 1025px) { body .navigation-bar ul.main-menu > li#menu-item-5966 { border-left: 1.5px solid rgba(92, 196, 243, 0.35); } }

/* divisor: mesmo espaco dos dois lados */
@media (min-width: 1025px) { body .navigation-bar ul.main-menu > li#menu-item-5966 { margin-left: 10px; padding-left: 16px; } }

/* submenu: sombra sutil */
@media (min-width: 1025px) { body .navigation-bar ul.main-menu ul.sub-menu { box-shadow: 0 6px 22px rgba(0, 20, 50, 0.16), 0 1px 4px rgba(0, 20, 50, 0.08) !important; } }

/* seta do submenu em triangulo de bordas (permite sombra via drop-shadow) */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li.menu-item-has-children::after {
    width: 0; height: 0; background: none; clip-path: none; margin-left: -14px; bottom: -1px;
    border-left: 14px solid transparent; border-right: 14px solid transparent; border-bottom: 14px solid #fff;
    filter: drop-shadow(0 -2px 3px rgba(0, 20, 50, 0.14));
  }
}

/* titulo da capa: 4px menor */
.header-homepage h1.hero-title { font-size: clamp(calc(2rem - 4px), calc(6.4vw - 4px), calc(6.2rem - 4px)); }

/* capa: bloco de texto 15px mais para baixo */
@media (min-width: 601px) { .header-homepage .header-content .header-hero-content { top: 15px; } }

/* capa: bloco de texto (titulo + subtitulo + botao) 10px para a esquerda e 15px para baixo */
@media (min-width: 601px) { .header-homepage .header-content .align-holder { position: relative; left: -10px; top: 45px; } }

/* capa: titulo e subtitulo levemente translucidos */
.header-homepage h1.hero-title { color: rgba(255, 255, 255, 0.86); }
body #page .header-homepage p.header-subtitle2, body #page .header-homepage p.header-subtitle { color: rgba(255, 255, 255, 0.82); }

/* notebook (telas baixas, ex.: 14"/15"): textos da capa proporcionais a altura da janela para nao passarem do slider */
@media (min-width: 1025px) and (max-height: 820px) {
  .header-homepage h1.hero-title { font-size: min(calc(6.4vw - 4px), 7.6vh); max-width: 11em; margin-bottom: 0.6rem; line-height: 1.08; }
  body #page .header-homepage p.header-subtitle2, body #page .header-homepage p.header-subtitle { font-size: min(clamp(1.3rem, 2.2vw, 2.1rem), 3.1vh); margin-bottom: 1rem; padding-top: 0.2rem !important; padding-bottom: 0.2rem !important; }
  .header-homepage .header-buttons-wrapper { margin-top: 0.4rem; }
  .header-homepage .header-content .align-holder { top: 0; }
  .home .header-homepage .header-content { padding-top: 8px; }
  .home .header-homepage .header-description .header-description-row { padding-bottom: 70px !important; }
}
/* rodape (notebook): menos espaco entre os icones sociais e o texto; line-height do copyright menor */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .footer-contact-boxes .footer-social-icons { padding-top: 0; padding-bottom: 0; }
  body #page .footer-contact-boxes .footer-bg-accent a.social-icon { margin-bottom: 0.4rem; }
  body .footer-contact-boxes .footer-bg-accent p.copyright { line-height: 1.35; padding-bottom: 0; margin-top: 0.3rem; }
  body .footer-contact-boxes .col-sm-3.footer-bg-accent { padding-top: 36px; padding-bottom: 30px; }
}
@media (min-width: 1025px) and (max-width: 1600px) {
  body .footer-contact-boxes .footer-bg-accent p.copyright { line-height: 1.35 !important; }
}
/* rodape (notebook): icones de contato maiores */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .footer-contact-boxes .big-icon { width: 88px; height: 88px; font-size: 38px; }
}

/* galeria "A Cordial em Fotos": efeito novo no hover (zoom suave + degrade azul mais leve + icone de ampliar) */
#portfolio-3 .contentswap-effect { position: relative; overflow: hidden; }
#portfolio-3 .contentswap-effect .initial-image img { transition: transform 0.7s cubic-bezier(.2,.7,.2,1); will-change: transform; }
#portfolio-3 .contentswap-effect:hover .initial-image img { transform: scale(1.08); }
#portfolio-3 .contentswap-effect .overlay.bg-color1 {
  background: linear-gradient(180deg, rgba(30, 134, 201, 0.04) 25%, rgba(8, 62, 112, 0.46) 100%) !important;
  opacity: 0 !important; transition: opacity 0.45s ease !important;
}
#portfolio-3 .contentswap-effect:hover .overlay.bg-color1 { opacity: 1 !important; }

/* 0800: amarelo trocado por azul claro */
body #page .cordial-central .cordial-central__phone, body #page .cordial-central .cordial-central__phone a { color: #31ace6; }

/* depoimentos: aspas tipograficas elegantes (estilo manuscrito/serifado) no lugar do glifo FontAwesome */
#testimonials-1 i.fa-quote-right { display: inline-block; width: auto; height: 52px; margin-bottom: 0; font-size: 0; line-height: 0; }
#testimonials-1 i.fa-quote-right::before { content: "\201C"; display: block; font-family: Georgia, 'Palatino Linotype', 'Times New Roman', serif; font-style: normal; font-weight: 700; font-size: 144px; line-height: 110px; height: 70px; transform: translateY(-4px); overflow: visible; color: inherit; }

/* depoimentos: sem espaco extra em volta das aspas */
#testimonials-1 p:has(> i.fa-quote-right) { line-height: 0; margin: 0 0 20px; padding: 0; }
#testimonials-1 i.fa-quote-right { display: block; margin-left: auto; margin-right: auto; }

/* rodape (resolucao normal): icones de contato maiores */
@media (min-width: 1601px) {
  body .footer-contact-boxes .big-icon { width: 100px; height: 100px; font-size: 44px; }
}

/* rodape: icones de contato alinhados na mesma linha (conteudo ancorado no topo da coluna) */
@media (min-width: 1025px) {
  body .footer-contact-boxes .row > .col-sm-3 { justify-content: flex-start; }
}

/* rodape (resolucao normal): menos espaco entre icones sociais e copyright */
@media (min-width: 1601px) {
  body .footer-contact-boxes .footer-social-icons { padding-top: 0; padding-bottom: 0; }
  body #page .footer-contact-boxes .footer-bg-accent a.social-icon { margin-bottom: 0.4rem; }
  body .footer-contact-boxes .footer-bg-accent p.copyright { line-height: 1.35 !important; padding-bottom: 0; margin-top: 0.3rem; }
}

/* rodape: icones sociais e copyright alinhados com os icones e textos das outras colunas */
@media (min-width: 1025px) {
  body .footer-contact-boxes .row > .col-sm-3.footer-bg-accent { padding-top: 48px; }
  body .footer-contact-boxes .footer-bg-accent .footer-social-icons { display: flex; align-items: center; justify-content: center; height: 88px; margin: 0 0 1.3rem; padding: 0; }
  body #page .footer-contact-boxes .footer-bg-accent a.social-icon { margin-bottom: 0; }
  body .footer-contact-boxes .footer-bg-accent p.copyright { margin-top: 0; }
}
@media (min-width: 1601px) {
  body .footer-contact-boxes .footer-bg-accent .footer-social-icons { height: 100px; }
}
@media (min-width: 1025px) { body .footer-contact-boxes .footer-bg-accent .footer-social-icons { margin-top: 30px; } }

/* rodape: copyright logo abaixo dos icones sociais (icones continuam centralizados com os circulos das outras colunas) */
@media (min-width: 1025px) {
  body .footer-contact-boxes .footer-bg-accent .footer-social-icons { height: 52px; margin: 48px 0 12px; }
}
@media (min-width: 1601px) {
  body .footer-contact-boxes .footer-bg-accent .footer-social-icons { margin-top: 54px; }
}
/* notebook 14"/15": icones do menu menores */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu > li#menu-item-85 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-86 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-80 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2381 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-641 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-3026 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5046 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-2517 > a::before,
  body .navigation-bar ul.main-menu > li#menu-item-5559 > a::before { width: 26px; height: 26px; margin-bottom: 0.35rem; }
}

/* notebook 14"/15": submenu menor */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu ul.sub-menu { min-width: 215px; padding: 6px 0; }
  body .navigation-bar ul.main-menu ul.sub-menu > li { margin: 0 12px; }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a:not(.menu-image-title-hide) { padding: 10px 6px; font-size: 13px; gap: 10px; }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a:not(.menu-image-title-hide)::before { width: 20px; height: 20px; }
}
/* submenu aninhado (ex.: Transp. Coletivo Municipal > Frota): abre ao lado, sem cobrir o menu */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu { left: 100% !important; top: -8px !important; right: auto !important; margin-left: 6px; min-width: 190px; }
  body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu::before { content: none; display: none; }
}
@media (min-width: 1025px) { body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu { left: calc(100% + 16px) !important; margin-left: 0; } }

/* submenu aninhado: ponte invisivel para o mouse nao perder o hover ao atravessar o espaco entre os cartoes */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu { left: calc(100% + 12px) !important; }
  body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu::before { content: "" !important; display: block !important; position: absolute; top: 0; bottom: 0; left: -28px; width: 28px; background: transparent; transform: none; border-radius: 0; }
}
/* submenu aninhado: o proprio item ganha uma faixa invisivel a direita (acima do cartao pai) para manter o hover ate o submenu */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children { position: relative; }
  body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children::after {
    content: ""; position: absolute; top: 0; bottom: 0; right: -20px; width: 20px; background: transparent; z-index: 5;
    opacity: 1; visibility: visible; pointer-events: auto;
  }
}
/* submenu aninhado sem espaco morto: o item pai vai ate a borda do cartao e o submenu abre colado nele */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children { margin-right: 0; padding-right: 12px; }
  body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children::after { content: none; display: none; }
  body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu { left: 100% !important; margin-left: 4px; }
  body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu::before { left: -8px; width: 8px; }
}
/* submenus: item, area clicavel e realce do hover ocupam toda a largura do balao; divisorias continuam recuadas */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu > li,
  body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children {
    margin: 0; padding: 0; border-bottom: 0;
    background-image: linear-gradient(rgba(10, 50, 100, 0.05), rgba(10, 50, 100, 0.05)); background-repeat: no-repeat; background-position: center bottom; background-size: calc(100% - 32px) 0.5px;
  }
  body .navigation-bar ul.main-menu ul.sub-menu > li:last-child { background-image: none; }
  body .navigation-bar ul.main-menu ul.sub-menu > li:first-child, body .navigation-bar ul.main-menu ul.sub-menu > li:first-child > a { border-radius: 8px 8px 0 0; }
  body .navigation-bar ul.main-menu ul.sub-menu > li:last-child, body .navigation-bar ul.main-menu ul.sub-menu > li:last-child > a { border-radius: 0 0 8px 8px; }
  body .navigation-bar ul.main-menu ul.sub-menu > li > a:not(.menu-image-title-hide) { padding-left: 20px; padding-right: 20px; }
  body .navigation-bar ul.main-menu ul.sub-menu { padding: 0; }
}
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar ul.main-menu ul.sub-menu > li > a:not(.menu-image-title-hide) { padding-left: 16px; padding-right: 16px; }
  body .navigation-bar ul.main-menu ul.sub-menu > li, body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children { background-size: calc(100% - 24px) 0.5px; }
}
/* submenu aninhado: encostado/sobreposto ao cartao pai (sem vao) para o mouse chegar ate ele */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu { left: 100% !important; margin-left: -8px; top: -2px !important; }
  body .navigation-bar ul.main-menu ul.sub-menu ul.sub-menu::before { content: none !important; display: none !important; }
}

/* seta de submenu aninhado: chevron centralizado verticalmente no item */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children > a::after {
    content: "" !important; display: block !important; position: absolute !important; top: 50% !important; right: 16px !important; bottom: auto !important; left: auto !important;
    width: 7px !important; height: 7px !important; margin: -5px 0 0 !important; padding: 0 !important; background: none !important;
    border: 0 !important; border-top: 2px solid currentColor !important; border-right: 2px solid currentColor !important;
    transform: rotate(45deg) !important; opacity: 0.85;
  }
  /* cantos: item unico (ex.: Frota) arredondado nos quatro cantos */
  body .navigation-bar ul.main-menu ul.sub-menu > li:only-child, body .navigation-bar ul.main-menu ul.sub-menu > li:only-child > a { border-radius: 8px; }
}
/* item com submenu: reserva espaco para o chevron nao encostar no texto */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children > a:not(.menu-image-title-hide) { padding-right: 40px; }
  body .navigation-bar ul.main-menu ul.sub-menu > li.menu-item-has-children > a::after { right: 20px !important; }
}

/* icones novos: Cordialzinho (rosto sorrindo) e A empresa (predio com anexos) */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li#menu-item-5966 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01'/></svg>"); }
  body .navigation-bar ul.main-menu > li#menu-item-80 > a::before { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/><path d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2M10 6h4M10 10h4M10 14h4M10 18h4'/></svg>"); }
}

/* linha lateral do subtitulo da capa: azul */
body #page .header-homepage p.header-subtitle2, body #page .header-homepage p.header-subtitle { border-left-color: #31ace6; }

body #page-content, body #page-content *:not(i):not(.fa):not([class*="fa-"]):not(svg):not(svg *),

/* capa: bloco de texto 100px mais para a esquerda (em notebooks o deslocamento e limitado para o texto nao sair da tela) */
@media (min-width: 1601px) { .header-homepage .header-content .align-holder { left: -100px; } }
@media (min-width: 1025px) and (max-width: 1600px) { .header-homepage .header-content .align-holder { left: max(-110px, calc(12px - 6.1vw)); } }

/* parallax do slider: as fotos ficam fixas na janela e a capa rola por cima (clip-path recorta no tamanho da capa) */
.header-homepage { clip-path: inset(0); }
.header-homepage .backstretch { position: fixed !important; top: 0 !important; left: 0 !important; }

/* parallax: a foto sobe a metade da velocidade da rolagem (fixa + deslocamento pela variavel --cz-par) */
.header-homepage .backstretch { transform: translate3d(0, calc(var(--cz-par, 0px) * -1), 0); will-change: transform; }

/* curva da capa: faixas intermediarias mais escuras (azuis em vez de branco translucido) */

/* curva da capa: faixas mais largas (deslocam as camadas intermediarias para longe da curva branca) */

/* curva da capa: as faixas deslocadas nao podem ser cortadas pelo proprio svg */
.header-separator-bottom, .header-separator-bottom svg { overflow: visible !important; }

/* curva da capa: faixas com formas proprias (como o original), mais largas. Cada camada e esticada na vertical a partir da borda inferior (origem em y=0 do svg invertido), entao a largura da faixa varia ao longo da onda e nao aparecem recortes */
.header-separator-bottom svg path.svg-white-bg:nth-of-type(1) { fill: #0b3d73 !important; fill-opacity: 0.6 !important; transform-origin: 0 0; transform: scaleY(1.55); }
.header-separator-bottom svg path.svg-white-bg:nth-of-type(2) { fill: #6f95c2 !important; fill-opacity: 0.85 !important; transform-origin: 0 0; transform: scaleY(1.25); }

/* submenus dos ultimos itens (Cartao Facilite, CordialPASS): alinhados a direita do item para nao sairem da pagina */
@media (min-width: 1025px) {
  body .navigation-bar ul.main-menu > li#menu-item-5559 > ul.sub-menu, body .navigation-bar ul.main-menu > li#menu-item-2517 > ul.sub-menu { left: auto !important; right: 0 !important; }
}

/* Fretamento e Turismo: titulo e texto maiores */
.page-id-2377 .page-content .csRow h5, .page-id-2379 .page-content .csRow h5 { font-size: clamp(2.4rem, 3.7vw, 3.4rem); }
.page-id-2377 .page-content .csRow p:not(:has(img)), .page-id-2379 .page-content .csRow p:not(:has(img)) { font-size: 1.3rem; }

/* Fretamento e Turismo: titulo e texto maiores (seletores mais fortes, valem para todas as larguras) */
body.page-id-2377 #page .page-content .csRow h5, body.page-id-2379 #page .page-content .csRow h5 { font-size: clamp(2.3rem, 3.6vw, 3.3rem); }
body.page-id-2377 #page .page-content .csRow p:not(:has(img)), body.page-id-2379 #page .page-content .csRow p:not(:has(img)) { font-size: 1.3rem; }
@media (min-width: 1025px) and (max-width: 1600px) {
  body.page-id-2377 #page .page-content .csRow h5, body.page-id-2379 #page .page-content .csRow h5 { font-size: clamp(2.1rem, 3.3vw, 2.9rem); }
  body.page-id-2377 #page .page-content .csRow p:not(:has(img)), body.page-id-2379 #page .page-content .csRow p:not(:has(img)) { font-size: 1.15rem; }
}
/* paginas internas: faixa do titulo e fonte um pouco maiores */
body #page .header-wrapper > .header .inner-header-description { padding-top: 2.8rem !important; padding-bottom: 2.8rem !important; }
body #page .header-wrapper > .header .inner-header-description h1 { font-size: clamp(calc(2.5rem - 6px), calc(4.8vw - 6px), calc(3.9rem - 6px)); }

/* divisor com sombra (imagem divisor_shadow): trocado por uma linha fina */
body #page .page-content p:has(> img[src*="divisor_shadow"]) { height: 1px; width: min(86%, 1000px); margin: 1.6rem auto !important; padding: 0 !important; line-height: 0; background: rgba(30, 134, 201, 0.22); }
body #page .page-content p:has(> img[src*="divisor_shadow"]) > img { display: none; }

/* divisor fino: menos espaco vertical em volta */
body #page .page-content p:has(> img[src*="divisor_shadow"]) { margin: 0.5rem auto 0.7rem !important; }
body #page .page-content h5:has(+ p > img[src*="divisor_shadow"]) { margin-bottom: 0.4rem !important; }

body #page .page-content h5:has(+ p > img[src*="divisor_shadow"]) { margin-bottom: 1.5rem !important; }

/* mobile: onda da capa menor */
@media (max-width: 1024px) {
  .header-separator-bottom, .header-separator-bottom svg { height: 38px !important; }
}

/* mobile/tablet: sem parallax (a foto fixa deixava um vao azul claro entre a foto e a onda); volta ao posicionamento normal do slider */
@media (max-width: 1024px) {
  .header-homepage { clip-path: none; }
  .header-homepage .backstretch { position: absolute !important; top: 0 !important; left: 0 !important; transform: none !important; }
}

/* caixa de busca 5px mais para baixo (sem empurrar o resto da capa) */
body .caixa-busca-nova { margin-top: 5px; margin-bottom: -5px; }

/* mobile: menos espaco entre os blocos de contato do rodape (endereco / telefone / e-mail) */
@media (max-width: 767px) {
  body .footer-contact-boxes .footer-content .row > div[class*="col-"] { padding-top: 22px !important; padding-bottom: 22px !important; }
  body .footer-contact-boxes .row > .col-sm-3 > div { padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 !important; }
}

/* mobile: menos espaco entre os icones sociais e o copyright */
@media (max-width: 767px) {
  body .footer-contact-boxes .footer-social-icons { padding-bottom: 0 !important; }
  body #page .footer-contact-boxes .footer-bg-accent a.social-icon { margin-bottom: 0 !important; }
  body .footer-contact-boxes .footer-bg-accent p.copyright { margin-top: 12px; line-height: 1.4 !important; }
}

/* mobile: formulario de contato com a mesma margem lateral das outras paginas (a coluna tinha 10% de recuo) */
@media (max-width: 767px) {
  body #page .page-content .csColumn:has(.wpcf7) { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; float: none !important; }
}

/* mobile: icone dos cards Onde Atuamos centralizado */
@media (max-width: 767px) {
  .home #page #features-3 .card.row-card .icon-column { text-align: center; width: 100%; }
  .home #page #features-3 .card.row-card i.fa.icon.large { margin-left: auto; margin-right: auto; }
}

/* mobile: icone dos cards maior (+3px), mais afastado do titulo e um pouco mais alto */
@media (max-width: 767px) {
  .home #page #features-3 .card.row-card i.fa.icon.large { width: 87px; height: 87px; margin-bottom: 16px; }
  .home #page #features-3 .card.row-card { padding-top: 1.4rem; }
}

/* mobile: icones dos cards Onde Atuamos do mesmo tamanho dos da secao de cima (105px) */
@media (max-width: 767px) {
  .home #page #features-3 .card.row-card i.fa.icon.large { width: 105px; height: 105px; }
  .home #page #features-3 .card.row-card i.fa.icon.large::before { width: 52px; height: 52px; }
}

/* depoimentos: fotos um pouco maiores */
.home #page #testimonials-1 .col-sm-4 img.round.icon { width: 10.6rem; height: 10.6rem; }

/* mobile: mais espaco entre o topo do card e o icone */
@media (max-width: 767px) { .home #page #features-3 .card.row-card { padding-top: 2.4rem; } }

/* resolucao normal: titulo da capa mais translucido */
@media (min-width: 1601px) { .header-homepage h1.hero-title { color: rgba(255, 255, 255, 0.74); } }

/* botao MAIS do slider da capa removido */
.header-homepage .header-buttons-wrapper { display: none !important; }

/* subtitulo da capa: fonte maior e peso 200 (Gilroy ExtraLight) */
body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-family: 'Gilroy', var(--cordial-font-title); font-weight: 200; font-size: clamp(1.5rem, 2.6vw, 2.5rem); }
@media (min-width: 1025px) and (max-height: 820px) {
  body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-size: min(clamp(1.5rem, 2.6vw, 2.5rem), 3.6vh); }
}
/* subtitulo da capa: line-height menor */
body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { line-height: 1.3 !important; }

/* subtitulo da capa: fonte 4px menor */
body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-size: clamp(calc(1.5rem - 4px), calc(2.6vw - 4px), calc(2.5rem - 4px)); }
@media (min-width: 1025px) and (max-height: 820px) {
  body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-size: min(clamp(calc(1.5rem - 4px), calc(2.6vw - 4px), calc(2.5rem - 4px)), calc(3.6vh - 4px)); }
}
/* notebook: bloco de texto da capa menos colado na borda (alinhado perto do logo) */
@media (min-width: 1025px) and (max-width: 1600px) { .header-homepage .header-content .align-holder { left: -2.5vw; } }

/* notebook: titulo um pouco maior e bloco de texto mais para a direita */
@media (min-width: 1025px) and (max-width: 1600px) { .header-homepage .header-content .align-holder { left: -1vw; } }
@media (min-width: 1025px) and (max-height: 820px) {
  .header-homepage h1.hero-title { font-size: min(calc(6.8vw - 4px), 8.8vh); }
}
@media (min-width: 1025px) and (max-height: 820px) {
  .header-homepage h1.hero-title { font-size: min(calc(7.3vw - 4px), 9.5vh); }
}

/* "Onde Atuamos": titulo +2px em cada faixa de tela */
.home #page #features-3 h2 { font-size: calc(clamp(3rem, 5.4vw, 5rem) - 5px); }
@media (min-width: 1025px) and (max-width: 1600px) { .home #page #features-3 h2 { font-size: calc(0.8 * clamp(3rem, 5.4vw, 5rem) - 5px); } }
@media (min-width: 1601px) { .home #page #features-3 h2 { font-size: calc(0.9 * (clamp(3rem, 5.4vw, 5rem) - 7px) + 2px); } }
/* video no fundo do slider (so existe quando ativado no painel): aparece quando comeca a tocar; as fotos ficam por baixo ate la */
.header-homepage .cz-hero-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -999997; opacity: 0; transition: opacity 0.6s ease; pointer-events: none; }
html.cz-has-video .header-homepage .cz-hero-video { opacity: 1; }
html.cz-has-video .header-homepage .backstretch { visibility: hidden; }

/* capa: bloco de texto 10px mais para cima */
@media (min-width: 601px) { .header-homepage .header-content .align-holder { top: 35px; } }
@media (min-width: 1025px) and (max-height: 820px) { .header-homepage .header-content .align-holder { top: -10px; } }

/* capa: bloco de texto 15px mais para a esquerda */
@media (min-width: 1601px) { .header-homepage .header-content .align-holder { left: -100px; } }
@media (min-width: 1025px) and (max-width: 1600px) { .header-homepage .header-content .align-holder { left: calc(-1vw + 10px); } }

/* capa: titulo e subtitulo 5px menores */
.header-homepage h1.hero-title { font-size: clamp(calc(2rem - 9px), calc(6.4vw - 9px), calc(6.2rem - 9px)); }
body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-size: clamp(calc(1.5rem - 9px), calc(2.6vw - 9px), calc(2.5rem - 9px)); }
@media (min-width: 1025px) and (max-height: 820px) {
  .header-homepage h1.hero-title { font-size: min(calc(7.3vw - 9px), calc(9.5vh - 5px)); }
  body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-size: min(clamp(calc(1.5rem - 9px), calc(2.6vw - 9px), calc(2.5rem - 9px)), calc(3.6vh - 9px)); }
}
/* notebook de tela baixa: subtitulo maior (limite pela altura da janela menos restrito) */
@media (min-width: 1025px) and (max-height: 820px) {
  body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-size: min(clamp(calc(1.5rem - 9px), calc(2.6vw - 9px), calc(2.5rem - 9px)), calc(3.8vh - 3px)); }
}

/* notebook: titulo +3px e bloco de texto um pouco mais para baixo */
@media (min-width: 1025px) and (max-height: 820px) {
  .header-homepage h1.hero-title { font-size: min(calc(7.3vw - 6px), calc(9.5vh - 2px)); }
  .header-homepage .header-content .align-holder { top: 6px; }
}

/* mobile com video: mantem o overlay proprio do celular (o do video acima e so para telas grandes) */
@media (max-width: 768px) {
  html.cz-has-video body #page .header-homepage.color-overlay:before { background: linear-gradient(180deg, rgba(12, 84, 148, 0.50) 0%, rgba(24, 124, 192, 0.36) 55%, rgba(34, 156, 220, 0.28) 100%); }
}

/* mobile: icone dos cards Horarios / Nossa Frota / Ouvidoria mais alto (menos espaco no topo do card) */
@media (max-width: 767px) {
  .home #page #overlappable-4 .col-padding { padding-top: 22px !important; }
}

/* mobile: icone dos cards bem mais alto, saindo um pouco para fora do topo do card */
@media (max-width: 767px) {
  .home #page #overlappable-4 .col-padding { padding-top: 0 !important; margin-top: 52px; }
  .home #page #overlappable-4 .col-padding { margin-top: 82px !important; }
  .home #page #overlappable-4 .col-padding i.fa.icon { position: relative; top: -44px; margin-bottom: -56px; }
}

/* pagina 404 */
.cz-404 { text-align:center; padding: 0 20px 110px; margin-top: -20px; max-width: 760px; margin: 0 auto; }
.cz-404-num { font-size: clamp(6rem, 18vw, 12rem); font-weight: 800; line-height: 1; color: #31ace6; display:flex; justify-content:center; align-items:center; gap: .04em; letter-spacing: -.03em; }
.cz-404-num span { display:inline-block; width: .85em; height: .85em; color:#31ace6; }
.cz-404-bus { background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 16.5c1-1.4 2.3-2 4-2s3 .6 4 2'/%3E%3Cpath d='M9 9.5v.5M15 9.5v.5' stroke-width='2.2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 16.5c1-1.4 2.3-2 4-2s3 .6 4 2'/%3E%3Cpath d='M9 9.5v.5M15 9.5v.5' stroke-width='2.2'/%3E%3C/svg%3E") center/contain no-repeat; }
.cz-404 h1 { color:#1e86c9; font-size: clamp(2rem, 4vw, 2.8rem); margin: 10px 0 12px; }
.cz-404 p { color:#4f6882; font-size: 1.7rem; line-height:1.5; margin: 0 auto 34px; max-width: 520px; }
.cz-404-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.cz-404-btn { display:inline-block; padding: 14px 30px; border-radius: 40px; border: 1.5px solid #31ace6; color:#1e86c9; font-weight:600; font-size:1.5rem; text-decoration:none; transition: all .2s; }
.cz-404-btn.primary { background:#31ace6; color:#fff; }
.cz-404-btn:hover { background:#1a7fc0; border-color:#1a7fc0; color:#fff; }

/* mobile: subtitulo do slider maior */
@media (max-width: 767px) { body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-size: 16px !important; } }

/* mobile: caixa de passagens vira aba deslizante na lateral direita */
@media (max-width: 767px) {
  body .caixa-busca-nova { position: absolute !important; top: auto !important; bottom: 70px !important; right: 0; left: auto !important; width: min(calc(100vw - 64px), 380px) !important; max-width: none !important; margin: 0 !important; zoom: 1 !important; padding: 12px 14px 12px 12px; box-sizing: border-box; background: linear-gradient(135deg,#2bbcf5,#1e86c9); border-radius: 18px 0 0 18px; box-shadow: -4px 4px 18px rgba(0,0,0,.25); transform: translateX(100%); transition: transform .4s cubic-bezier(.22,.8,.3,1); z-index: 99990; }
  body .caixa-busca-nova.cz-open { transform: translateX(0); }
  .cz-passagens-tab { position: absolute; left: -52px; top: calc(100% - 196px); bottom: 12px; transition: top .4s cubic-bezier(.22,.8,.3,1), bottom .4s cubic-bezier(.22,.8,.3,1), border-radius .4s, box-shadow .4s; justify-content: center; width: 52px; padding: 14px 0 18px; border: 0; border-radius: 12px 0 0 12px; background: linear-gradient(135deg,#2bbcf5,#1e86c9); color: #fff; font: 600 22px/1 'Gilroy', sans-serif; cursor: pointer; box-shadow: -3px 3px 12px rgba(0,0,0,.25); letter-spacing: .02em; display: flex; flex-direction: column; align-items: center; gap: 10px; }
  .cz-passagens-tab span { writing-mode: vertical-rl; transform: rotate(180deg); }
  .cz-passagens-tab i { display: block; flex: 0 0 30px; width: 30px; height: 30px; animation: cz-pulse 1.3s ease-in-out infinite; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M21 21l-5.2-5.2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M21 21l-5.2-5.2'/%3E%3C/svg%3E") center/contain no-repeat; }
}
@media (min-width: 768px) { .cz-passagens-tab { display: none; } }

@media (max-width: 767px) { .home #page .header-homepage { min-height: 520px !important; } }

@media (max-width: 767px) { .home #page .header-homepage { overflow-x: clip; } }

@keyframes cz-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
body .caixa-busca-nova.cz-open .cz-passagens-tab i { animation: none; }


@media (max-width: 767px) { body .caixa-busca-nova.cz-open .cz-passagens-tab { top: 0; bottom: 0; border-radius: 18px 0 0 18px; box-shadow: none; } }

@media (max-width: 767px) { body .caixa-busca-nova.cz-open { border-radius: 0; background: none; box-shadow: none; } body .caixa-busca-nova::before { content: ''; display: block !important; width: auto !important; height: auto !important; position: absolute; z-index: -1; top: 0; bottom: 0; left: 0; right: 0; border-radius: 18px 0 0 18px; background: linear-gradient(135deg,#2bbcf5,#1e86c9); box-shadow: -4px 4px 18px rgba(0,0,0,.25); } body .caixa-busca-nova.cz-open::before { left: -52px; } body .caixa-busca-nova.cz-open .cz-passagens-tab { background: none; } }


@media (max-width: 767px) { body .caixa-busca-nova .cz-passagens-tab, body .caixa-busca-nova .cz-passagens-tab:focus, body .caixa-busca-nova .cz-passagens-tab:active { border: 0 !important; outline: none !important; } }

@keyframes cz-pulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.22); opacity: .75; } }

/* mobile: logo centralizado + subtitulo peso 400 */
@media (max-width: 767px) {
  .navigation-bar .row { position: relative; }
  .navigation-bar .logo_col { position: absolute; left: 0; right: 0; width: auto; max-width: none; justify-content: center; pointer-events: none; }
  .navigation-bar .logo_col a { pointer-events: auto; }
}
body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-weight: 300 !important; }

@media (max-width: 767px) { .home #page #overlappable-4 .col-padding i.fa.icon { margin-bottom: -26px !important; } .home #page #overlappable-4 .col-padding h5 { margin-top: -36px !important; } }



@media (max-width: 767px) { #portfolio-3 .section-title-col p.lead { margin-bottom: 24px !important; } #portfolio-3 .section-title-col { padding-bottom: 8px !important; } }


@media (max-width: 767px) { #testimonials-1 .section-title-col p.lead { margin-bottom: 24px !important; } }


/* barra superior: telefone e e-mail */
body .header-top-bar .top-bar-field { display: inline-flex; align-items: center; gap: 9px; }
body .header-top-bar .top-bar-field span { font-size: 13.5px; font-weight: 500; letter-spacing: .02em; color: #31ace6; }
body .header-top-bar .top-bar-field i.fa { display: inline-block; width: 22px; height: 22px; font-size: 0; color: #31ace6; }
body .header-top-bar .top-bar-field i.fa::before { content: ""; display: block; width: 100%; height: 100%; background-color: currentColor; -webkit-mask: var(--cz-i) center/contain no-repeat; mask: var(--cz-i) center/contain no-repeat; }
body .header-top-bar .top-bar-field i.fa-phone { --cz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3Cpath d='M15 7a3 3 0 0 1 2 2M15 3a7 7 0 0 1 6 6'/%3E%3C/svg%3E"); }
body .header-top-bar .top-bar-field i.fa-envelope { --cz-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='3'/%3E%3Cpath d='m22 7-8.9 5.7a2 2 0 0 1-2.2 0L2 7'/%3E%3C/svg%3E"); }
body .header-top-bar .top-bar-field:hover span { color: #1a7fc0; }

body .header-top-bar .top-bar-field { gap: 2px; }

/* home: barra de contato continua visivel quando o menu fica recolhido (fixo) */
@media (min-width: 768px) {
  body:has(.navigation-bar.fixto-fixed) .header-top-bar { display: block !important; position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 10001; background: #fff !important; border-bottom: 1px solid #dcdcdc !important; }
  body:has(.navigation-bar.fixto-fixed) .navigation-bar.fixto-fixed { top: 41px !important; }
}

/* menu recolhido (fixo): logo e icones menores */
@media (min-width: 1025px) {
  body .navigation-bar.fixto-fixed img.custom-logo { max-height: 64px !important; height: auto !important; width: auto !important; }
  body .navigation-bar.fixto-fixed #main_menu > li > a::before { width: 26px !important; height: 26px !important; }
  body .navigation-bar.fixto-fixed #main_menu > li > a { font-size: 11px !important; }
  body .navigation-bar.fixto-fixed { padding-top: 2px !important; padding-bottom: 2px !important; }
}

/* troca suave para o menu recolhido */
@keyframes cz-drop { from { transform: translateY(-14px); } to { transform: translateY(0); } }
@media (min-width: 1025px) {
  html.cz-dropping body .navigation-bar.fixto-fixed { animation: cz-drop .4s cubic-bezier(.22,.8,.3,1) both; }
  html.cz-dropping body:has(.navigation-bar.fixto-fixed) .header-top-bar { animation: cz-drop .4s cubic-bezier(.22,.8,.3,1) both; }
}

/* notebooks 14/15": menu recolhido e barra de contato proporcionais */
@media (min-width: 1025px) and (max-width: 1600px) {
  body .navigation-bar.fixto-fixed img.custom-logo { max-height: 50px !important; }
  body .navigation-bar.fixto-fixed #main_menu > li > a::before { width: 21px !important; height: 21px !important; }
  body .navigation-bar.fixto-fixed #main_menu > li > a { font-size: 10px !important; }
  body:has(.navigation-bar.fixto-fixed) .header-top-bar .top-bar-field span { font-size: 12px; }
  body:has(.navigation-bar.fixto-fixed) .header-top-bar .top-bar-field i.fa { width: 19px; height: 19px; }
}

/* efeito leve: so transform (GPU), sem animar largura/altura/fonte */
@keyframes cz-settle { from { transform: scale(1.4); } to { transform: scale(1); } }
@media (min-width: 1025px) {
  html.cz-dropping body .navigation-bar.fixto-fixed img.custom-logo { transform-origin: left center; animation: cz-settle .35s ease-out both; }
  html.cz-dropping body .navigation-bar.fixto-fixed #main_menu > li > a::before { transform-origin: center; animation: cz-settle .35s ease-out both; }
}
/* menu recolhido: barra mais baixa */
@media (min-width: 1025px) {
  html body .navigation-bar.fixto-fixed ul#main_menu.main-menu > li.menu-item { padding-top: 12px !important; padding-bottom: 12px !important; }
}
@media (min-width: 1025px) and (max-width: 1600px) {
  html body .navigation-bar.fixto-fixed ul#main_menu.main-menu > li.menu-item { padding-top: 10px !important; padding-bottom: 10px !important; }
}

/* sem transicoes de layout no menu (padding/altura/fonte): so transform anima */
@media (min-width: 1025px) {
  html body .navigation-bar, html body .navigation-bar .row, html body .navigation-bar ul#main_menu > li, html body .navigation-bar ul#main_menu > li > a, html body .navigation-bar img.custom-logo { transition: none !important; }
}

@media (max-width: 767px) { body #page .header-homepage p.header-subtitle, body #page .header-homepage p.header-subtitle2 { font-weight: 600 !important; } }


@media (max-width: 767px) { body .navigation-bar { padding-top: 6px !important; padding-bottom: 6px !important; } }


@media (max-width: 767px) { .home #page #overlappable-4 { padding-top: 0 !important; } }


/* mobile: botao "Saiba mais" vira etiqueta com seta no canto inferior direito do card (card inteiro clicavel) */
@media (max-width: 767px) {
  .home #page #overlappable-4 .col-padding h6 strong { margin-top: 0 !important; height: 0; display: block; }
  .home #page #overlappable-4 .col-padding h6 strong a { position: static; display: block; width: 0; height: 0; padding: 0; background: none; box-shadow: none; border-radius: 0; transform: none; gap: 0; }
  .home #page #overlappable-4 .col-padding h6 strong a::before { content: ""; position: absolute; inset: 0; z-index: 3; font-size: 0; }
  .home #page #overlappable-4 .col-padding h6 strong a::after { content: ""; position: absolute; right: calc(0.9rem + 11px); bottom: calc(0.9rem + 11px); z-index: 2; width: 22px; height: 22px; background-color: #fff; pointer-events: none; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; }
  .home #page #overlappable-4 .col-padding::after { content: ""; position: absolute; right: 0.9rem; bottom: 0.9rem; width: 66px; height: 66px; z-index: -1; background: #2bb0ea; border-radius: 0 0 20px 0; clip-path: polygon(100% 0, 100% 100%, 0 100%); pointer-events: none; }
  .home #page #overlappable-4 .col-padding { padding-bottom: 3.2rem !important; }
}

/* mobile: botao WhatsApp ao lado do menu (mesmas cores do botao de menu) */
.cz-wa-btn { display: none; }
@media (max-width: 767px) {
  .cz-wa-btn { display: flex; align-items: center; justify-content: center; position: absolute; top: 50%; right: 73px; width: 48px; height: 48px; margin-top: -24px; border-radius: 50%; background: rgb(230, 243, 252); color: #1e86c9; text-decoration: none; z-index: 5; }
  .cz-wa-btn i.fa { font-size: 26px; line-height: 1; color: #1e86c9; }
}

@media (max-width: 767px) { body .navigation-bar img.custom-logo { max-height: 40px !important; width: auto !important; } }


/* pagina Horarios: lista de setores com cara de navegacao (copiar/colar um <h6><a> para adicionar outro) */
body.page-id-4697 .page-content h6:has(> a) { margin: 0 0 12px; max-width: 640px; text-align: left; }
body.page-id-4697 .page-content h6 > a { display: flex; align-items: center; gap: 14px; padding: 14px 18px; background: #fff; border: 1px solid #dbeaf5; border-radius: 16px; box-shadow: 0 4px 14px rgba(20, 60, 100, 0.07); color: #1e86c9; font-family: 'Gilroy', var(--cordial-font-title); font-size: 1.6rem; font-weight: 700; line-height: 1.2; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
body.page-id-4697 .page-content h6 > a i { display: none; }
body.page-id-4697 .page-content h6 > a::before { content: ""; flex: 0 0 40px; height: 40px; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / 22px no-repeat, linear-gradient(135deg, #2bbcf5, #1e86c9); box-shadow: 0 4px 10px rgba(30, 134, 201, 0.3); }
body.page-id-4697 .page-content h6 > a::after { content: ""; flex: 0 0 22px; height: 22px; margin-left: auto; background-color: #9dc3de; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s ease, background-color .2s ease; }
body.page-id-4697 .page-content h6 > a:hover { transform: translateX(4px); border-color: #31ace6; box-shadow: 0 8px 22px rgba(30, 134, 201, 0.18); }
body.page-id-4697 .page-content h6 > a:hover::after { transform: translateX(4px); background-color: #1e86c9; }

/* mobile: botoes do topo 2px menores */
@media (max-width: 767px) {
  .navigation-bar .main_menu_col > a:not(.cz-wa-btn) { width: 46px !important; height: 46px !important; }
  .navigation-bar .main_menu_col > a:not(.cz-wa-btn) .bubble { width: 46px !important; height: 46px !important; }
  .cz-wa-btn { width: 46px !important; height: 46px !important; margin-top: -23px !important; right: 71px !important; }
}

/* Horarios (normal e notebook): sem a caixa do botao, so o texto */
@media (min-width: 768px) {
  body.page-id-4697 .page-content h6 > a { background: none; border: 0; box-shadow: none; padding: 6px 0; border-radius: 0; gap: 14px; display: inline-flex; font-size: 1.85rem; }
  body.page-id-4697 .page-content h6 > a::after { margin-left: 6px; }
  body.page-id-4697 .page-content h6 > a:hover { transform: none; box-shadow: none; color: #1a7fc0; text-decoration: underline; }
}

/* Ouvidoria: cartoes de contato (copiar/colar um <a class="cz-contact-card"> para adicionar outro) */
.cz-contact-cards { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; max-width: 980px; margin: 10px auto 30px; }
.cz-contact-card { flex: 0 1 280px; }
.cz-contact-card { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 26px 18px 22px; background: #fff; border: 1px solid #e3eef7; border-radius: 20px; box-shadow: 0 8px 26px rgba(20, 60, 100, 0.10); text-align: center; text-decoration: none !important; transition: transform .25s ease, box-shadow .25s ease; }
.cz-contact-card:hover { transform: translateY(-5px); box-shadow: 0 16px 38px rgba(20, 60, 100, 0.18); }
.cz-contact-ic { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 10px; border-radius: 50%; background: linear-gradient(135deg, #2bbcf5, #1e86c9); box-shadow: 0 8px 18px rgba(30, 134, 201, 0.35); }
.cz-contact-ic i.fa { font-size: 30px; line-height: 1; color: #fff; }
.cz-contact-card small { font-size: 1.3rem; letter-spacing: .08em; text-transform: uppercase; color: #6f8aa3; font-weight: 600; }
.cz-contact-card strong { font-size: 1.9rem; color: #1e86c9; font-weight: 700; line-height: 1.25; word-break: break-word; }
.cz-contact-card strong { overflow-wrap: anywhere; }
.cz-contact-card:nth-child(3) strong { font-size: 1.35rem; }

/* Ouvidoria: menos espaco entre o titulo e o texto */
body.page-id-2037 .page-content h6 + h6 { display: none; }
body.page-id-2037 .page-content h6 > span[style*="32pt"] { display: none; }
body.page-id-2037 .page-content h6 { margin-bottom: 0.8rem; }

/* Ouvidoria no mobile: cartoes empilhados e alinhados (uma coluna, mesma largura) */
@media (max-width: 767px) {
  .cz-contact-cards { display: grid; grid-template-columns: minmax(0, 320px); justify-content: center; gap: 16px; }
  .cz-contact-card { flex: none; width: 100%; box-sizing: border-box; margin: 0; }
}

/* Ouvidoria: cartoes um pouco mais acima e mais afastados entre si */
.cz-contact-cards { margin-top: -22px; gap: 24px; }
@media (max-width: 767px) { .cz-contact-cards { gap: 24px; } }

/* Ouvidoria: cartoes mais perto do texto (some o paragrafo vazio apos a linha divisoria) */
body.page-id-2037 .page-content .omsc-divider + p { display: none; }
.cz-contact-cards { margin-top: 18px; }
