/* Ajustes da Organiza Serviços Contábeis sobre o template (carregado depois do style.css) */

/* Identidade visual (manual da marca): marrom #321C11, off-white #EFECE5, branco e
   dourado em degradê #A57F41 > #EEE3A3. Títulos em Montserrat, como na paleta da marca. */
:root {
  --theme-color1: #A57F41;
  --theme-color1-rgb: 165, 127, 65;
  --theme-color1-text-color: #1E0F08;
  --theme-color2: #321C11;
  --theme-color2-rgb: 50, 28, 17;
  --theme-color-dark: #321C11;
  --theme-color-lighter: #F5F2EC;
  --theme-color-silver: #EFECE5;
  --theme-color-gray: #EFECE5;
  --gold-light: #EEE3A3;
  --text-color: #5E5048;
  --headings-color: #321C11;
  --gold-gradient: linear-gradient(90deg, #A57F41 0%, #EEE3A3 100%);
  --heading-font-family: "Montserrat", "DM Sans", sans-serif;
  --body-font-family: "DM Sans", sans-serif;
}

/* Montserrat pesada, como o logotipo: espaçamento normal entre letras */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.sec-title .title,
.banner-section .title {
  letter-spacing: 0 !important;
}
.sec-title .title,
.page-title .title,
.services-details__content h2 {
  font-weight: 700 !important;
}

/* Botão principal com o degradê dourado da marca (o hover do template continua por cima) */
.btn-style-one {
  background-image: var(--gold-gradient);
}
/* Botões, menu e rótulos na fonte de texto, mais legível em tamanho pequeno */
.theme-btn,
.main-menu .navigation > li > a,
.sec-title .sub-title,
.banner-section .sub-title,
.btn-more,
.header-phone_box .info {
  font-family: var(--body-font-family) !important;
}

/* Degradês que o template deixava em laranja fixo */
.banner-section .outer-box:before,
.project-block-two .inner-block:before {
  background: linear-gradient(180deg, rgba(50, 28, 17, 0) 19.26%, rgba(165, 127, 65, 0.55) 97.47%);
}
.video-section .outer-box:after {
  background: linear-gradient(180deg, rgba(50, 28, 17, 0) 2.99%, #A57F41 108.6%);
}
.team-block .inner-block:after {
  background: linear-gradient(360deg, #A57F41 6.03%, rgba(50, 28, 17, 0) 63.26%);
}
.why-choose-us-section .outer-box .image-column .inner-column:before {
  background: linear-gradient(180deg, rgba(50, 28, 17, 0) 19.92%, #A57F41 102.75%);
}
.marquee-section:before {
  background: linear-gradient(90deg, rgba(165, 127, 65, 0) 0%, #A57F41 55.56%);
}
.marquee-section:after {
  background: linear-gradient(90deg, rgba(165, 127, 65, 0) 0%, #A57F41 55.56%);
}

/* Ícones e formas do template desenhados em laranja: filtro que leva o laranja (#F2520D) ao dourado da marca (#A57F41) */
img[src*="/icons/about1-1"],
img[src*="/icons/about1-2"],
img[src*="/icons/arrow2"],
img[src*="/icons/cta-arrow"],
img[src*="/icons/service1-"],
img[src*="/icons/wcu1-"],
img[src*="/icons/work1-1"],
img[src*="/icons/shape-1.png"],
img[src*="/icons/shape-4"],
img[src*="/icons/shape-6"],
img[src*="/icons/shape-7"],
img[src*="/icons/shape-14"],
img[src*="/icons/shape-15"],
img[src*="/icons/shape-18"],
.sec-title .sub-title:before {
  -webkit-filter: hue-rotate(30deg) saturate(0.5) brightness(1.14);
          filter: hue-rotate(30deg) saturate(0.5) brightness(1.14);
}

/* Título do banner: frase longa pede corpo menor que o do template */
.banner-section .banner-content .title {
  font-size: clamp(38px, 4.2vw, 66px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
}

/* Bloco de autoridade (CRC) e lista de contatos por setor */
.bloco-crc {
  margin-top: 18px;
  font-size: 15px;
  color: var(--text-color);
}
.bloco-crc strong {
  color: var(--headings-color);
}
.lista-setores {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lista-setores li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(50, 28, 17, 0.12);
}
.lista-setores li a {
  color: var(--headings-color);
  font-weight: 600;
  white-space: nowrap;
}
.lista-setores li a:hover {
  color: var(--theme-color1);
}
.lista-setores li span {
  color: var(--text-color);
}

/* Conteúdo das páginas de serviço e nicho */
.services-details__content ol.lista-servico-passos {
  padding-left: 22px;
  margin-bottom: 24px;
}
.services-details__content ol.lista-servico-passos li {
  margin-bottom: 10px;
  padding-left: 6px;
}
.services-details__content ol.lista-servico-passos li::marker {
  color: var(--theme-color1);
  font-weight: 700;
}
.resposta-direta {
  font-size: 19px;
  line-height: 1.65;
  color: var(--headings-color);
  border-left: 3px solid var(--theme-color1);
  padding: 4px 0 4px 20px;
  margin: 28px 0;
}
.services-details__content ul.lista-servico {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.services-details__content ul.lista-servico li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
}
.services-details__content ul.lista-servico li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 14px;
  height: 2px;
  background: var(--theme-color1);
}

/* Logo: a marca é mais larga que a do template */
.main-header .logo img,
.mobile-menu .nav-logo img {
  height: 46px;
  width: auto;
  max-width: 230px;
}
.sticky-header .logo img {
  height: 40px;
  width: auto;
}
.main-footer .logo img {
  height: 50px;
  width: auto;
  max-width: 100%;
}

/* Menu em português: textos mais longos que o original */
.main-menu .navigation > li > a {
  white-space: nowrap;
}
.header-style-one .header-lower .inner-container .main-menu .navigation > li {
  margin-right: 28px;
}
/* Itens do menu como no modelo: texto normal (sem caixa-alta), peso médio */
.header-style-one .header-lower .inner-container .main-menu .navigation > li > a,
.sticky-header .main-menu .navigation > li > a {
  text-transform: none;
  font-weight: 500;
  font-size: 17px;
}
.header-style-one .theme-btn,
.main-header .header-phone_box .info strong {
  white-space: nowrap;
}
/* Logo, menu e botões numa linha só, em qualquer largura de desktop */
.header-style-one .header-lower .inner-container .left-box {
  gap: 60px;
}
.header-style-one .header-lower .inner-container .main-menu .navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media (max-width: 1699.98px) {
  .header-style-one .header-lower .inner-container .left-box {
    gap: 40px;
  }
  .header-style-one .header-lower .inner-container .right-box .header-phone_box {
    display: none;
  }
}
@media (max-width: 1399.98px) {
  .header-style-one .header-lower .inner-container .main-menu .navigation > li {
    margin-right: 20px;
  }
  .header-style-one .header-lower .inner-container .main-menu .navigation > li > a {
    font-size: 16px;
  }
  .header-style-one .header-lower .inner-container .right-box .theme-btn {
    display: none;
  }
}
/* Submenu (Nichos) como no modelo: seta ao lado do item e caixa branca arredondada */
.main-menu .navigation > li.dropdown > a:after {
  display: inline-block;
  position: static;
  -webkit-transform: none;
          transform: none;
  margin: 0 0 0 6px;
  width: auto;
  height: auto;
  line-height: 1;
  font-size: 12px;
  vertical-align: middle;
}
.main-menu .navigation > li > ul {
  width: 300px;
  padding: 14px 0;
  border-radius: 16px;
  overflow: hidden;
  -webkit-box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
          box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}
.main-menu .navigation > li > ul > li {
  border-bottom: 0;
}
.main-menu .navigation > li > ul > li > a {
  margin: 0;
  padding: 12px 26px;
  font-weight: 500;
  color: var(--headings-color);
}

/* Logos de clientes (gerados em 2x) */
.clients-section img {
  height: 35px;
  width: auto;
}

/* Português: o template força "Cada Palavra Maiúscula" (capitalize) nestes elementos */
.accordion-box .block .acc-btn,
.accordion-box-two .block .acc-btn,
.accordion-box-three .block .acc-btn,
.accordion-box-four .block .acc-btn,
.main-menu .navigation > li,
.main-menu .navigation > li > a,
.main-menu .navigation > li > ul > li > a,
.main-menu .navigation > li > ul > li > a .badge-menu,
.main-menu .navigation > li > ul > li > ul > li > a,
.mobile-menu .navigation li > a,
.mobile-menu .navigation li > a .badge-menu,
.funfact-section-two .title-box .title,
.ks-testimonial-item p,
.process-section-three .bottom-text .text,
.process-section-three .bottom-text .btn-link,
.process-block-three .inner-box .content-box .title,
.clients-section-two .title-box .title,
.why-choose-us-section .outer-box .content-column .inner-column .why-choose-us-block .inner-block .content .title,
.blog-block .content-box .inner-box .title,
.footer-style-two .footer-column .subscribe-widget .widget-title,
.product-details .product-info .product-details__buttons-1 .btn-title,
.product-discription .single-comment-box .inner-box h5 span,
.range-slider input[type=submit],
.page-breadcrumb li,
.page-breadcrumb li a {
  text-transform: none;
}

/* Tipografia: evita linhas viúvas */
h1, h2, h3, h4, h5, h6,
.title, .sub-title, .page-title .title {
  text-wrap: balance;
}
p, li, td, th, dd, blockquote, label, figcaption, .text {
  text-wrap: pretty;
}

/* Links dentro de textos do rodapé */
.main-footer .info a,
.main-footer .content a,
.main-footer .footer-bottom p a {
  color: inherit;
}
.main-footer .footer-bottom p a:hover {
  color: var(--theme-color1);
}

/* Rodapé interno: 4 blocos de contato em 2 colunas (o endereço completo não cabe em 3) */
.footer-style-two .upper-box .info-box.info-box-contato {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -ms-grid-columns: 1fr 1fr;
  row-gap: 26px;
  column-gap: 30px;
}
.footer-style-two .upper-box .info-box.info-box-contato .info {
  gap: 20px;
}
.footer-style-two .upper-box .info-box.info-box-contato .info .icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.footer-style-two .upper-box .info-box.info-box-contato .content a {
  color: rgba(var(--theme-color-white-rgb), 0.75);
  word-break: break-word;
}
.footer-style-two .upper-box .info-box.info-box-contato .content a:hover {
  color: var(--theme-color1);
}
.footer-style-two .upper-box .info-box.info-box-contato .content .location {
  max-width: none;
}
@media (max-width: 575.98px) {
  .footer-style-two .upper-box .info-box.info-box-contato {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Rodapé da home: ícones de contato sempre redondos, alinhados com a 1ª linha do texto */
.footer-style-one .outer-box .footer-column .contact-widget .info {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
}
.footer-style-one .outer-box .footer-column .contact-widget .info .icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40px;
          flex: 0 0 40px;
  width: 40px;
  height: 40px;
  line-height: 40px;
}
.footer-style-one .outer-box .footer-column .contact-widget .info span {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  padding-top: 5px;
  font-size: 18px;
  line-height: 30px;
}

/* Títulos de seção: no máximo 2 linhas, liberando a largura que o template limitava */
.sec-title .title {
  max-width: none !important;
}
.sec-title.text-center .title {
  max-width: 960px !important;
  margin-left: auto;
  margin-right: auto;
}
/* Blocos de título que o template estreitava ao lado de um texto */
.services-section .sec-title-box .sec-title,
.testimonial-section .sec-title-box .sec-title {
  max-width: 760px !important;
  width: 100%;
}
.contact-section .sec-title {
  width: 100%;
  max-width: none;
}
/* Títulos em coluna lateral: fonte um pouco menor para caber em 2 linhas */
@media (min-width: 992px) {
  .sec-title:not(.text-center) .title {
    font-size: 42px;
    line-height: 1.2;
  }
}

/* Páginas legais */
.pagina-legal {
  max-width: 860px;
  margin: 0 auto;
  color: #4a4b50;
  font-size: 17px;
  line-height: 1.75;
}
.pagina-legal__data {
  font-size: 14px;
  color: #7a7b80;
  margin-bottom: 28px;
}
.pagina-legal h2 {
  font-size: 26px;
  line-height: 1.3;
  margin: 44px 0 14px;
  color: var(--headings-color);
}
.pagina-legal p {
  margin-bottom: 16px;
}
.pagina-legal ul {
  list-style: disc;
  padding-left: 22px;
  margin-bottom: 16px;
}
.pagina-legal li {
  margin-bottom: 8px;
}
.pagina-legal a {
  color: var(--headings-color);
  text-decoration: underline;
  text-decoration-color: var(--theme-color1);
  text-underline-offset: 3px;
}
.pagina-legal a:hover {
  color: var(--theme-color1);
}
@media (max-width: 767.98px) {
  .pagina-legal {
    font-size: 16px;
  }
  .pagina-legal h2 {
    font-size: 22px;
    margin-top: 36px;
  }
}

/* Largura única: cabeçalho, banner, cards de serviço e especialidades seguem o mesmo
   container de 1350px das demais seções (no template eram 1610 a 1875px e, em telas de
   notebook, encostavam nas laterais). A faixa dourada (marquee) continua de ponta a ponta. */
.header-style-one .header-lower .inner-container,
.banner-section .outer-box .outer-container,
.services-section .outer-box .outer-container,
.projects-section .outer-box {
  max-width: var(--container-width) !important;
  padding-left: var(--respiro-lateral) !important;
  padding-right: var(--respiro-lateral) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.services-section .outer-box {
  max-width: none !important;
}
.projects-section .outer-box > .row {
  margin-left: -12px;
  margin-right: -12px;
}
/* Com o cabeçalho mais estreito, menu e botão precisam caber: espaçamento menor entre itens */
@media (max-width: 1499.98px) {
  .header-style-one .header-lower .inner-container .left-box {
    gap: 32px;
  }
  .header-style-one .header-lower .inner-container .main-menu .navigation > li {
    margin-right: 22px;
  }
}

/* Respiro lateral igual em todas as seções: 16px no celular, cresce com a tela até 40px.
   Sem isso, em notebooks de 1280px o conteúdo ficava a 15px da borda. */
:root {
  --respiro-lateral: clamp(16px, 3.2vw, 40px);
}
.auto-container,
.sticky-header .auto-container,
.main-footer .auto-container {
  padding-left: var(--respiro-lateral);
  padding-right: var(--respiro-lateral);
}

/* Menu fixo (aparece ao rolar): o template usa 60px entre itens e 60px depois do telefone,
   o que quebrava o menu em duas linhas. Menu numa linha só, com espaçamento menor. */
.sticky-header .main-menu .navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.sticky-header .main-menu .navigation > li {
  margin-left: 24px;
}
.sticky-header .main-menu .navigation > li:first-child {
  margin-left: 0;
}
.sticky-header .header-phone_box {
  margin-right: 0;
  margin-left: 0;
}
.sticky-header .inner-container {
  gap: 30px;
}
@media (max-width: 1599.98px) {
  /* Sem espaço para "Ligue agora" + número: fica só o botão redondo de ligar */
  .sticky-header .header-phone_box .info {
    display: none;
  }
}
@media (max-width: 1399.98px) {
  .sticky-header .main-menu .navigation > li {
    margin-left: 22px;
  }
  .sticky-header .main-menu .navigation > li > a {
    font-size: 16px;
  }
}
