/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
.g-search-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}
.g-search-toggle__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  color: inherit;
  font-size: 1.1em;
  transition: color 0.2s ease, transform 0.2s ease;
  position: relative;
  z-index: 10;
}
.g-search-toggle__btn:hover {
  color: var(--g-link-color, #ffffff);
}
.g-search-toggle__btn i {
  pointer-events: none;
}
.g-search-toggle__box {
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  opacity: 0;
  overflow: hidden;
  transition: width var(--animation-speed, 0.3s) ease, opacity var(--animation-speed, 0.3s) ease, padding var(--animation-speed, 0.3s) ease;
  padding: 0;
  margin-right: 5px;
}
.g-search-toggle__form {
  display: flex;
  align-items: center;
  background: #fdb915;
  border: 1px solid #fdb915;
  border-radius: 25px;
  overflow: hidden;
  min-width: var(--search-width, 250px);
}
.g-search-toggle__input {
  flex: 1;
  border: none;
  padding: 10px 15px;
  font-size: 14px;
  background: transparent;
  outline: none;
  min-width: 0;
  color: #333333;
}
.g-search-toggle__input::placeholder {
  color: #666666;
}
.g-search-toggle__input:focus {
  outline: none;
}
.g-search-toggle__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 2px;
  background: #fdb915;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: #ffffff;
  font-size: 14px;
  transition: background 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}
.g-search-toggle__submit i {
  pointer-events: none;
}
.g-search-toggle.is-open .g-search-toggle__box {
  width: var(--search-width, 250px);
  opacity: 1;
}
.g-search-toggle.is-open .g-search-toggle__btn {
  color: var(--g-link-color, #ffffff);
}
input[type="search"] {
  height: 30px !important;
}
@media (max-width: 767px) {
  .g-search-toggle {
    display: inline-flex;
    align-items: center;
  }
  .g-search-toggle__box {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin-right: 0;
    margin-left: 0;
    width: 0;
    opacity: 0;
    transition: width var(--animation-speed, 0.3s) ease, opacity var(--animation-speed, 0.3s) ease;
  }
  .g-search-toggle__form {
    min-width: 180px;
  }
  .g-search-toggle.is-open .g-search-toggle__box {
    width: 180px;
    opacity: 1;
    margin-left: 5px;
  }
  #g-navigation .g-grid {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    align-items: center;
  }
  #g-navigation .g-block.size-85, #g-navigation .g-block.size-90 {
    display: none !important;
  }
  #g-navigation .g-block.size-5, #g-navigation .g-block.size-10 {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
    max-width: none !important;
    width: auto !important;
    margin-right: 10px;
  }
  #g-navigation .g-block:has(.g-search-toggle) {
    flex-shrink: 0;
  }
}
.g-navigation .g-search-toggle {
  margin-left: 15px;
}
.g-offcanvas-toggle {
  left: auto !important;
  right: 15px !important;
}
@media (prefers-color-scheme: dark) {
  .g-search-toggle__form {
    background: #fdb915;
    border-color: #fdb915;
  }
  .g-search-toggle__input {
    color: #333333;
  }
  .g-search-toggle__input::placeholder {
    color: #666666;
  }
}
.g-search-toggle--dark .g-search-toggle__form {
  background: #fdb915;
  border-color: #fdb915;
}
.g-search-toggle--dark .g-search-toggle__input {
  color: #333333;
}
.g-search-toggle--dark .g-search-toggle__input::placeholder {
  color: #666666;
}
#g-mainbar, #g-aside {
  padding: 0rem 0 !important;
  /*isto pode alterar mt coisa no site ATENCAO*/
  font-size: 18px;
  color: #414141 !important;
  /*isto pode alterar mt coisa no site ATENCAO*/
}
#g-footer {
  background: #FFD200;
  padding: 0;
}
#g-footerArtigoExpand {
  background: #e9e9e9;
}
.g-offcanvas-toggle {
  left: auto !important;
  right: 15px !important;
}
/* Aplica-se a qualquer imagem dentro da pasta de banners 
img[src*="/images/banners/"] {
    max-width: 100%;
    height: auto !important;
    display: block;
    margin: 0 auto;
}*/
img.bannerPaginasEstaticas {
  width: 100% !important;
  aspect-ratio: 3.2 !important;
  /* Ajusta conforme a proporção do teu banner original */
  object-fit: cover !important;
  /* Preenche o espaço, cortando as bordas se necessário */
  object-position: center !important;
}
@media (max-width: 767px) {
  #g-navigation .g-grid {
    justify-content: flex-start !important;
  }
  #g-navigation .g-block.size-85, #g-navigation .g-block.size-90 {
    display: none !important;
  }
  #g-navigation .g-block.size-5, #g-navigation .g-block.size-10 {
    flex-grow: 0 !important;
    flex-basis: auto !important;
    margin-right: 10px;
  }
}
.g-offcanvas-toggle {
  color: white !important;
}
#g-offcanvas, #g-mobilemenu-container ul {
  background: #e9e9e9 !important;
}
#g-offcanvas #g-mobilemenu-container ul > li.g-menu-item-link-parent > .g-menu-item-container > .g-menu-parent-indicator {
  background: #e9e9e9 !important;
  border: 1px solid white !important;
}
#g-offcanvas #g-mobilemenu-container ul > li > .g-menu-item-container {
  color: black !important;
}
#g-offcanvas #g-mobilemenu-container ul > li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active {
  background: white !important;
}
#g-header {
  padding: 1rem 0 !important;
}
#g-mainbar p {
  line-height: 26px;
}
#g-intro {
  background-color: white !important;
}
.aside.moduletable {
  width: 249px;
}
#g-barraRodape {
  background: url('../../../../images/img/padrao.png') repeat-x center top;
  /* posição inicial */
  padding-top: 100px;
  margin-top: 70px;
}
/* O seletor garante que apenas os h3 dentro de g-content sejam afetados */
.g-content h3.g-title {
  font-size: 1.1rem !important;
}
body {
  font-family: Arial, Helvetica, sans-serif !important;
}
.moduletable .breadcrumb span.divider {
  display: none !important;
}
.searchP button {
  background-color: transparent !important;
}
.section-vertical-paddings-small {
  padding-top: 0vw;
  padding-bottom: 0vw;
}
.MainMenuCSS li ul li {
  background-color: white;
  width: 200px;
}
.MainMenuCSS span {
  color: #000000 !important;
  font-size: 16px;
  font-weight: normal;
}
.MainMenuCSS > div {
  float: right !important;
}
.MainMenuCSS {
  display: flex;
  align-items: center;
  /* Alinha verticalmente ao centro */
}
span.g-menu-parent-indicator {
  color: #414141 !important;
}
.g-main-nav .g-toplevel > li > .g-menu-item-container {
  padding-left: 10px;
  padding-right: 10px;
}
.breadcrumb {
  background-color: transparent !important;
}
.breadcrumb span {
  font-size: 16px !important;
}
.breadcrumb-item a {
  color: #424753 !important;
}
.breadcrumb-item.active {
  color: #000000 !important;
}
/* Versão de alta especificidade para todos os níveis */
#g-mobilemenu-container ul li:hover, #g-mobilemenu-container ul li ul li:hover, #g-mobilemenu-container ul li ul li ul li:hover {
  background-color: #FFD200 !important;
}
#g-mobilemenu-container ul li:hover > a, #g-mobilemenu-container ul li ul li:hover > a, #g-mobilemenu-container ul li ul li ul li:hover > a {
  color: #000 !important;
}
/* Hover nos itens do menu principal */
.g-main-nav .g-toplevel > .g-menu-item:hover > .g-menu-item-container {
  background-color: white !important;
}
/* Remover padding lateral do UL para os LI ocuparem toda a largura */
.g-main-nav .g-dropdown .g-sublevel, .g-main-nav .g-sublevel {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Fazer os LI ocuparem 100% sem margens */
.g-main-nav .g-dropdown .g-menu-item, .g-main-nav .g-sublevel > .g-menu-item {
  margin-left: 0 !important;
  margin-right: 0 !important;
  list-style: none !important;
}
/* Adicionar espaçamento interno às opções do menu */
.g-main-nav .g-dropdown .g-menu-item-container, .g-main-nav .g-sublevel > .g-menu-item > .g-menu-item-container {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
/* Hover preenche toda a largura do LI */
.g-main-nav .g-dropdown .g-menu-item:hover, .g-main-nav .g-sublevel > .g-menu-item:hover {
  background-color: #e9e9e9 !important;
}
/* Container também muda de cor */
.g-main-nav .g-dropdown .g-menu-item:hover > .g-menu-item-container, .g-main-nav .g-sublevel > .g-menu-item:hover > .g-menu-item-container {
  background-color: #e9e9e9 !important;
}
/* Transição suave */
.g-menu-item-container {
  transition: background-color 0.3s ease;
}
.title-section {
  text-align: left;
  margin-left: 20px;
}
.titulos h2 {
  color: #000 !important;
  font-size: 31px !important;
  position: relative;
  display: inline-block;
  padding-top: 10px;
  font-weight: bold;
}
.titulos h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 57px;
  height: 5px;
  background: #ffd200;
}
a.result__title-link {
  color: #2a2a2a !important;
}
a.com-finder {
  color: #414141 !important;
}
/*******************NOSSO SERVICO*****************************/
.image-grid-container {
  background-color: #e5e5e5;
  padding: 20px;
  text-align: center;
}
.image-grid {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
.image-item {
  position: relative;
  display: inline-block;
  border-radius: 0px;
  overflow: hidden;
  text-decoration: none;
}
.image-item img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  /* CRIA A ANIMAÇÃO SUAVE */
  transition: filter 0.3s ease;
}
/* NOVO: ESCURECE A IMAGEM AO PASSAR O RATO */
.overlay-text {
  position: absolute;
  top: 10px;
  left: 10px;
  color: white;
  font-size: 24px;
  font-weight: bold;
  text-align: left;
  line-height: 1.3;
  /* Garante que o texto fica por cima do efeito */
  z-index: 10;
  /* Opcional: Adiciona uma sombra suave no texto para ler melhor se a imagem for clara */
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
.overlay-text-tarifas {
  /* Removemos position: absolute, top, left e z-index */
  /* Removemos o text-shadow pois não é necessário em texto preto sobre fundo claro */
  position: relative;
  /* Opcional, mas bom para manter o fluxo normal */
  color: black;
  /* Mudança de cor para preto */
  font-size: 18px;
  text-align: left;
  /* Pode mudar para 'center' se preferir */
  line-height: 1.3;
  padding: 10px 120px;
  /* Adiciona um pequeno espaço entre a imagem e o texto */
  width: 100%;
  /* Garante que o texto ocupe a largura do container */
}
/* Mobile view */
@media (max-width: 768px) {
  .image-grid {
    flex-direction: column;
    align-items: center;
  }
  .image-item {
    max-width: 100%;
  }
  .image-item img {
    max-width: 100%;
    height: auto;
  }
}
/*******************END NOSSO SERVICO*****************************/
/**********pontos venda************/
.logos {
  /* Define o contêiner como flexível */
  display: flex;
  /* Centraliza os itens (logos) no contêiner */
  justify-content: center;
  /* Adiciona um espaço entre os logos */
  gap: 20px;
  /* Você pode ajustar o valor de 'gap' (espaço) conforme a necessidade */
}
/* Opcional: Garante que não haja restrições indesejadas */
.logos img {
  /* Removemos o max-width: 100px; para manter o tamanho original */
  max-width: none;
  height: auto;
}
/* Estilo da Tabela/Link Pontos de Venda */
.hf-link-box {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ffd200;
  margin-bottom: 20px;
}
.hf-link-box a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px;
  text-decoration: none;
  color: #414141;
  font-family: arial, helvetica, sans-serif;
  box-sizing: border-box;
}
.hf-link-box a:hover {
  /*background-color: #fffdf5;*/
}
/* Estilos para o Toggle */
.hf-toggle-container {
  display: inline-flex;
  margin-bottom: 20px;
  background-color: transparent;
}
.hf-toggle-btn {
  border: none;
  padding: 10px 30px;
  font-family: arial, helvetica, sans-serif;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  outline: none;
}
.hf-toggle-btn.left {
  border-radius: 25px 0 0 25px;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
}
.hf-toggle-btn.right {
  border-radius: 0 25px 25px 0;
}
.hf-toggle-btn.active {
  background-color: #666666 !important;
  color: #ffffff !important;
}
.hf-toggle-btn.inactive {
  background-color: #e5e5e5 !important;
  color: #333333 !important;
}
/* Estilos da Lista - IMAGENS AJUSTADAS 354x284 */
.store-item {
  display: flex;
  align-items: flex-start;
  /* Alinha o texto ao topo da imagem */
  padding: 20px 0;
}
.store-image img {
  width: 354px !important;
  height: 284px !important;
  object-fit: cover;
  /* Impede a distorção da imagem */
  border-radius: 10px;
  margin-right: 25px;
}
.store-info {
  flex: 1;
}
.store-title {
  margin: 0 0 10px 0;
  font-size: 1.4rem;
  color: #333;
  font-family: arial, helvetica, sans-serif;
}
.store-address, .store-hours {
  margin: 5px 0;
  font-size: 1rem;
  color: #555;
  font-family: arial, helvetica, sans-serif;
  line-height: 1.5;
}
.separator-line {
  border: 0;
  border-top: 1px solid #eee;
  margin: 0;
}
/* Responsividade para telemóveis */
@media (max-width: 768px) {
  .store-item {
    flex-direction: column;
  }
  .store-image img {
    width: 100% !important;
    height: auto !important;
    margin-bottom: 15px;
  }
}
/**********pontos venda************/
.button-group {
  margin: 20px 0;
  text-align: left;
  /* Align buttons to the left */
}
.btn-primary.rounded-pill {
  border-radius: 20px;
  /* Rounded corners */
  padding: 10px 20px;
  margin: 0 5px;
  transition: all 0.3s ease;
  background-color: #6c757d;
  /* Default grey color */
  border-color: #6c757d;
  color: #fff;
}
.btn-primary.rounded-pill[data-state="active"] {
  background-color: #007bff;
  /* Blue when active */
  border-color: #007bff;
}
.btn-primary.rounded-pill:hover {
  background-color: transparent;
  /* Darker blue on hover */
  border-color: transparent;
}
.content-section {
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  margin-top: 10px;
  background-color: #f9f9f9;
  display: none;
}
.content-section img {
  margin-top: 10px;
}
/**********pontos venda************/
.store-container {
  max-width: 800px;
  margin: 20px 5px;
}
.store-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
.store-image {
  margin-right: 20px;
}
.rounded-img {
  width: 100%;
  height: auto;
  border-radius: 15px;
  /* Cantos arredondados da foto */
  object-fit: cover;
}
.store-info {
  flex: 1;
}
.store-title {
  margin: 0 0 10px;
  font-size: 20px;
  color: #333;
}
.store-address {
  margin: 0 0 5px;
  font-size: 16px;
  color: #666;
}
.store-hours {
  margin: 0;
  font-size: 14px;
  color: #666;
}
.separator {
  height: 5px;
  /* Barra cinzenta de 5px */
  background-color: #ccc;
  /* Cor cinzenta */
  margin: 15px 0;
}
/**************************/
/**********boas práticas************/
#g-footerArtigosFullWithBoxedContent {
  background-color: #f0f0f0;
  /* Light grey background */
}
.grey-background {
  padding: 40px;
  font-family: Arial, sans-serif;
}
/* 01. Títulos com Números Grandes (80pt) e Tema (27pt) */
.section-header {
  display: flex;
  align-items: baseline;
  margin-top: 40px;
}
.number-large {
  font-size: 80px;
  font-weight: bold;
  color: #333;
  line-height: 0.8;
  margin-right: 15px;
}
.main-title {
  font-size: 27px;
  font-weight: bold;
  color: #333;
  text-transform: none;
}
/* 02. Linha Fina */
.thin-bar {
  width: 100%;
  height: 1px;
  background-color: #ccc;
  margin: 10px 0 25px 0;
}
/* 03. Subtítulos em Amarelo #fbb812 a 27pt */
.subtitle {
  font-size: 27px;
  color: #fdb915;
  margin: 25px 0 10px 0;
  font-weight: bold;
  line-height: 1.2;
}
/* 05. Espaçamentos reduzidos nas listas */
.bullet-items {
  list-style-type: disc;
  padding-left: 20px;
  margin: 0;
}
.bullet-items li {
  font-size: 18px;
  color: #666;
  margin-bottom: 4px;
  /* Espaço reduzido entre itens */
}
/* 04. Saber mais fora da lista, cor cinza e hover sublinhado */
.know-more {
  display: inline-block;
  color: #999;
  text-decoration: none;
  font-size: 16px;
  margin: 8px 0 20px 0;
}
.know-more:hover {
  text-decoration: underline;
}
/**************************/
/**************pico areieiro***************/
.pico-container {
  font-family: Arial, sans-serif;
}
/* Subtítulos Amarelos 27pt */
.pico-container h2, .pico-container h2 span, .pico-container h2 strong {
  color: #fdb915;
  font-size: 27px;
  font-weight: bold;
  margin: 30px 0 10px 0;
  display: block;
}
/* Subidas e Descidas a 18pt */
.pico-container h3, .pico-container h3 strong {
  font-size: 18px !important;
  margin: 20px 0 10px 0;
}
/* Listas e parágrafos de horários com espaçamento reduzido */
.pico-container p {
  font-size: 18px;
  margin-bottom: 4px;
  /* Espaçamento reduzido */
  line-height: 1.4;
}
/* Notas sem pontos de lista */
.info-note {
  display: block;
  font-size: 18px;
  margin-bottom: 10px;
}
/* Links e Ícones Cinza */
.pico-container a.map-link {
  color: #888 !important;
  text-decoration: underline;
}
/* Caixas Clicáveis com Linha Fina #e9e9e9 */
.footer-box {
  display: block;
  border-top: 1px solid #e9e9e9;
  padding: 15px 10px;
  text-decoration: none;
  color: #888 !important;
  font-size: 18px;
  transition: background 0.2s;
}
.footer-box:hover {
  background-color: #f9f9f9;
  text-decoration: underline;
}
.footer-container {
  border-bottom: 0px solid #e9e9e9;
  margin-top: 30px;
}
/* Ajuste para o <sup>a)</sup> manter o tamanho do corpo */
sup {
  font-size: 18px !important;
  vertical-align: baseline;
  position: relative;
  top: -0.2em;
}
.pico-notes-container {
  font-family: Arial, sans-serif;
  color: #424753;
  /* Texto Geral em Preto */
  margin-top: 20px;
}
/* Título Notas 18pt */
.pico-notes-container h3 {
  font-size: 18px !important;
  color: #424753 !important;
  margin-bottom: 15px;
  font-weight: bold;
}
/* Notas 18pt, Cor Preta, sem pontos e com espaçamento reduzido */
.note-item {
  display: block;
  font-size: 18px;
  /* Equivalente ao corpo de texto solicitado */
  margin-bottom: 6px;
  line-height: 1.4;
  color: #424753 !important;
}
/* Contentor das Caixas Clicáveis */
.clickable-footer {
  border-bottom: 1px solid #e9e9e9;
  margin-top: 30px;
}
/* Estilo da Caixa Clicável - Sem mudança de cor de fundo */
.box-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 15px 10px;
  border-top: 1px solid #e9e9e9;
  background-color: transparent !important;
  /* Mantém a cor do fundo original */
}
/* Hover apenas com sublinhado no texto, sem mudar fundo */
.box-link:hover .box-text {
  text-decoration: underline;
}
/* Ícones em cinza para não distrair */
.box-link img {
  margin-right: 15px;
  filter: grayscale(100%);
  opacity: 0.7;
}
.box-text {
  font-size: 18px;
  color: #000 !important;
}
/*******************************************/
/********PMR******************/
/* 1. Estilos de Base e Tipografia */
/* .pmr-wrapper {
        font-family: Arial, sans-serif;
        line-height: 1.6;
    }*/
.negrito {
  font-weight: bold;
}
.underline-grey {
  border-bottom: 2px solid #d3d3d3;
  display: inline-block;
  width: 100%;
  margin-bottom: 15px;
  padding-bottom: 5px;
  font-size: 27px !important;
}
/* Títulos Pretos 27pt */
.pmr-wrapper h2, .titulo-preto-27 {
  font-size: 31px !important;
  color: #000 !important;
  font-weight: bold;
  margin: 30px 0 15px 0;
}
/* Subtítulos Amarelos 27pt */
.amarelo-27 {
  color: #fdb915 !important;
  font-weight: bold;
  font-size: 27px !important;
  margin: 40px 0 15px 0;
  display: block;
}
/* 2. Accordion Customizado (+ e -) */
.transporte-accordion .accordion-item {
  border: none !important;
  margin-bottom: 5px;
  background: #fff;
}
.transporte-accordion .accordion-button {
  font-weight: bold;
  background-color: #e9e9e9 !important;
  color: #000 !important;
  font-size: 18px;
  padding: 15px 40px 15px 10px;
  border: none !important;
  box-shadow: none !important;
  position: relative;
}
/* Barra cinza quando aberto */
.transporte-accordion .accordion-button:not(.collapsed) {
  background-color: #e9e9e9 !important;
}
/* Ícones + e - */
.transporte-accordion .accordion-button::after {
  content: "+" !important;
  /* + */
  background-image: none !important;
  font-size: 22px;
  color: #414141;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.transporte-accordion .accordion-button:not(.collapsed)::after {
  content: "−" !important;
  /* - */
}
/* 3. Listas e Espaçamentos */
.pmr-wrapper ul {
  padding-left: 25px;
  margin: 15px 0;
  line-height: 1.5;
}
.pmr-wrapper p {
  margin-bottom: 15px;
}
/* 4. Caixas Clicáveis (Tarifas e PDF) */
.caixa-clicavel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  margin-bottom: 10px;
  text-decoration: none !important;
  color: #000 !important;
}
/* Estilo Específico Tarifas (Borda Amarela) */
.borda-amarela {
  border: 1px solid #ffd200 !important;
}
/* Estilo Específico PDF (Borda Cinza) */
.borda-cinza {
  border: 2px solid #808080 !important;
}
.pdf-icon {
  filter: grayscale(100%);
  opacity: 0.7;
  margin-right: 15px;
}
.know-more-gray {
  color: #888 !important;
  text-decoration: none;
  font-size: 16px;
}
.know-more-gray:hover {
  text-decoration: underline;
}
/**************************/
/*********serviço aluger********************/
/* 1. Estilos das Caixas Coloridas (Grid Superior) */
.containeraluguer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  max-width: 600px;
  margin: 0 auto;
}
.caixa-noticia, .caixa-evento, .caixa-promocao, .caixa-contato {
  background-color: #FFD200;
  width: calc(50% - 5px);
  box-sizing: border-box;
  padding: 15px;
  border-radius: 8px;
  position: relative;
  min-height: 200px;
}
/* Ícones no canto superior esquerdo */
.caixa-noticia img, .caixa-evento img, .caixa-promocao img, .caixa-contato img {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 65px;
  height: 50px;
  object-fit: cover;
}
.caixa-noticia h2, .caixa-evento h2, .caixa-promocao h2, .caixa-contato h2 {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1;
  margin: 60px 0 10px 0;
  /* Espaço para não bater no ícone */
  color: #000;
}
.caixa-noticia p, .caixa-evento p, .caixa-promocao p, .caixa-contato p {
  font-size: 18px;
  margin: 0;
  line-height: 1.4;
  color: #000;
}
/* 2. Estilos das Seções de Texto com Imagem (Os nossos motoristas/autocarros) */
.conteudo-principal {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}
.secao-superior, .secao-inferior {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
}
.secao-superior img, .secao-inferior img {
  width: 354px;
  height: 261px;
  object-fit: cover;
  margin-right: 20px;
  margin-left: 50px;
  margin-top: 5px;
}
.texto-superior, .texto-inferior {
  flex: 1;
  min-width: 600px;
  padding: 20px;
  box-sizing: border-box;
  font-size: 18px;
}
/* Títulos 27pt conforme o padrão das outras páginas */
.titulo-27 {
  font-size: 27px !important;
  font-weight: bold;
  color: #000 !important;
  margin: 0 0 15px 0;
  line-height: 1.2;
}
.texto-aluguer {
  font-size: 18px;
  line-height: 1.6;
  color: #000;
}
/* 3. Media Queries para Responsividade */
@media (max-width: 768px) {
  .caixa-noticia, .caixa-evento, .caixa-promocao, .caixa-contato {
    width: 100%;
    /* Uma por linha em mobile */
  }
  .secao-superior, .secao-inferior {
    flex-direction: column;
    align-items: center;
  }
  .secao-superior img, .secao-inferior img {
    width: 100%;
    max-width: 354px;
    margin-left: 0;
    margin-right: 0;
  }
  .texto-superior, .texto-inferior {
    min-width: 0;
    text-align: center;
  }
}
/***************************************************/
/**********************contactos********************/
#custom-container {
  width: 100%;
  font-family: Arial, sans-serif;
}
.custom-row {
  width: 100%;
  box-sizing: border-box;
}
.custom-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5px 10px;
  box-sizing: border-box;
  line-height: 1.5;
}
/* Row 1 - Contactos Topo */
#custom-row-1 {
  background-color: #F0F0F0 !important;
}
#custom-row-1 .custom-content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.custom-row-1-item {
  display: flex;
  align-items: center;
  width: 30%;
  margin-bottom: 20px;
}
.custom-row-1-item img {
  width: 58px;
  height: 58px;
  margin-right: 15px;
}
.phone-number {
  margin-left: 10px;
}
/* Afasta o número do ícone/texto */
/* Row 2 - Horários */
#custom-row-2 {
  background-color: #ffffff;
}
#custom-row-2-top {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
#custom-row-2-top img {
  width: 58px;
  height: 58px;
  margin-right: 20px;
}
#custom-row-2-columns {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-left: 75px;
}
.custom-column {
  width: 30%;
  margin-bottom: 20px;
}
.dia-semana {
  font-weight: normal;
  margin-bottom: 5px;
}
/* Regular conforme solicitado */
.info-extra {
  padding-left: 75px;
  font-size: 0.9em;
  font-style: normal;
  margin-top: 10px;
}
/* Row 3 - Outros Contactos */
#custom-row-3 {
  background-color: #ffffff;
}
#custom-row-3 .custom-content {
  /* Adiciona o recuo para alinhar com o texto da Row 2 que tem imagem */
  padding-left: 78px;
}
.outros-contactos-titulo {
  font-weight: bold;
  color: #000000;
  width: 100%;
  margin-bottom: 25px;
  font-size: 27px;
  /* Ajuste opcional de tamanho */
}
.custom-row-3-item {
  width: 100%;
  max-width: 800px;
  margin-bottom: 15px;
}
.custom-row-3-item h3 {
  color: #fbb812;
  font-size: 18px;
  margin-bottom: 0px;
  margin-top: 10px;
  letter-spacing: -1px;
  font-weight: bold;
}
/* Ajuste de Responsividade para manter o alinhamento correto em telas pequenas */
@media (max-width: 768px) {
  .custom-row-1-item, .custom-column, .custom-row-3-item {
    width: 100%;
  }
  #custom-row-2-columns, .info-extra, #custom-row-3 .custom-content {
    padding-left: 0;
  }
  .custom-row-3-item h3 {
    font-size: 22px;
  }
}
/**********************contactos********************/
/**********************FAQ********************/
/* Estilos Gerais e Contactos */
.faq-wrapper {
  font-family: Arial, sans-serif;
  max-width: 1200px;
  margin: 0 auto;
}
.contact-box {
  display: flex;
  width: 100%;
  border: 1px solid #ffd200;
  margin-bottom: 8px;
  text-decoration: none;
  color: black;
  transition: background-color 0.2s;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}
.contact-box-content {
  padding: 12px 20px;
  color: #414141 !important;
}
/* Seta na contact-box */
.contact-box::after {
  content: "+";
  padding-right: 20px;
  font-weight: bold;
  color: #000;
  font-size: 18px;
}
/* Accordion Customizado */
.custom-accordion {
  width: 100%;
  border-top: 1px solid #e9e9e9;
}
.accordion-item {
  border-bottom: 1px solid #e9e9e9;
  border: none;
  border-bottom: 1px solid #e9e9e9;
}
.accordion-button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  background-color: #fff;
  border: none;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  cursor: pointer;
  color: #414141 !important;
  /* Força cor preta sempre */
  box-shadow: none !important;
  outline: none !important;
}
/* Barra do accordion quando aberta - Cor #e9e9e9 */
.accordion-button:not(.collapsed) {
  background-color: #e9e9e9 !important;
  color: #000 !important;
  /* Mantém o texto preto quando aberto */
}
/* Setas do Accordion (Removido transição de cor) */
.accordion-button::after {
  content: "+" !important;
  background-image: none !important;
  font-size: 22px;
  color: #414141;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  /*
        content: '+'; 
        font-size: 12px;
        color: #414141 !important; Cor fixa da seta 
        margin-left: 10px;
        background-image: none !important;  Remove ícone do bootstrap se existir */
}
.accordion-button:not(.collapsed)::after {
  content: "−" !important;
  font-size: 22px;
  color: #414141 !important;
  /* Mantém a cor da seta quando aberto */
}
/* Texto Interno */
.accordion-body {
  padding: 10px 20px 15px 20px;
  line-height: 1.4;
  color: #333;
}
.learn-more {
  display: inline-block;
  margin-top: 8px;
  color: #808080;
  text-decoration: none;
  font-size: 16px;
}
.learn-more:hover {
  text-decoration: underline;
}
/**********************FAQ********************/
/**********************pedidos e sugestoes ********************/
/* Content Wrapper */
.hf-content-wrapper {
  font-family: Arial, sans-serif;
  color: #333;
  line-height: 1.4;
}
/* Clicable GIRO Box */
.giro-box {
  display: flex;
  width: 100%;
  border: 1px solid #ffd200;
  margin-bottom: 25px;
  text-decoration: none;
  color: #414141;
  transition: background-color 0.2s;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}
.giro-box-text {
  padding: 15px 20px;
  font-size: 16px;
}
.giro-box::after {
  content: ">";
  padding-right: 20px;
  font-weight: bold;
  font-size: 18px;
}
/* Subtitles in Black 27pt */
.hf-content-wrapper h3 {
  color: #000;
  font-size: 27px;
  margin: 20px 0 5px 0;
  font-weight: bold;
  letter-spacing: -1px;
}
/* Text spacing reduction */
.hf-content-wrapper p {
  margin: 0 0 5px 0;
}
.hf-content-wrapper hr {
  border: 0;
  border-top: 1px solid #eee;
  margin: 5px 0 15px 0;
}
.hf-content-wrapper ul {
  margin-top: 5px;
  margin-bottom: 15px;
  padding-left: 20px;
}
.hf-content-wrapper li {
  margin-bottom: 2px;
}
/* Forçar cor cinza em TODOS os links dentro do wrapper, exceto na caixa amarela */
.hf-content-wrapper a:not(.giro-box) {
  color: #808080 !important;
  text-decoration: none !important;
}
.hf-content-wrapper a:not(.giro-box):hover {
  text-decoration: underline !important;
}
/**********************pedidos e sugestoes ********************/
/**********************menu formulario********************/
.convertforms {
  border: none;
}
/* Estilizar o menu vertical com as classes moduletable e formulario-vertical-menu */
.moduletable.formulario-vertical-menu {
  display: flex;
  flex-direction: column;
  /* Itens do menu em coluna */
  width: 100%;
  /* Ocupa toda a largura da posição */
}
/* Lista de itens do menu */
.moduletable.formulario-vertical-menu ul.nav {
  display: flex;
  flex-direction: column;
  /* Garante que a lista seja vertical */
}
/* Cada item do menu (nível principal) */
.moduletable.formulario-vertical-menu ul.nav > li {
  display: block;
  /* Cada item ocupa uma linha */
  width: 100%;
  margin-bottom: 5px;
  /* Pequeno espaçamento entre itens */
}
/* Links dos itens do menu */
.moduletable.formulario-vertical-menu ul.nav > li > a {
  display: block;
  padding: 10px 15px;
  /* Espaçamento interno */
  color: #000;
  /* Cor padrão do texto */
  text-decoration: none;
  /* Remove sublinhado */
  border-radius: 8px;
  /* Bordas arredondadas no <a> */
  border: 1px solid transparent;
  /* Borda transparente para consistência */
  transition: background-color 0.3s ease, border-color 0.3s ease;
  /* Transição suave */
}
/* Efeito hover cinza claro */
.moduletable.formulario-vertical-menu ul.nav > li > a:hover {
  background-color: #d3d3d3;
  /* Cinza claro */
  color: #000;
  border-color: #d3d3d3;
  /* Borda cinza claro no hover */
}
/* Item ativo (página atual) */
.moduletable.formulario-vertical-menu ul.nav > li.active > a, .moduletable.formulario-vertical-menu ul.nav > li.current > a {
  background-color: #FFD200;
  /* Amarelo suave para item ativo */
  color: #000;
  border-color: #FFD200;
  /* Borda amarela no item ativo */
}
/* Subitens (se houver) */
.moduletable.formulario-vertical-menu ul.nav > li > ul {
  display: flex;
  flex-direction: column;
  /* Subitens também verticais */
  padding-left: 15px;
  /* Indentação para subitens */
}
/* Cada subitem */
.moduletable.formulario-vertical-menu ul.nav > li > ul > li {
  display: block;
  width: 100%;
  margin-bottom: 5px;
  /* Pequeno espaçamento entre subitens */
}
/* Links dos subitens */
.moduletable.formulario-vertical-menu ul.nav > li > ul > li > a {
  display: block;
  padding: 8px 15px;
  color: #000;
  text-decoration: none;
  border-radius: 8px;
  /* Bordas arredondadas no <a> dos subitens */
  border: 1px solid transparent;
  /* Borda transparente para consistência */
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
/* Efeito hover cinza claro para subitens */
.moduletable.formulario-vertical-menu ul.nav > li > ul > li > a:hover {
  background-color: #d3d3d3;
  /* Cinza claro */
  color: #000;
  border-color: #d3d3d3;
  /* Borda cinza claro no hover */
}
/* Subitem ativo */
.moduletable.formulario-vertical-menu ul.nav > li > ul > li.active > a, .moduletable.formulario-vertical-menu ul.nav > li > ul > li.current > a {
  background-color: #FFD200;
  /* Amarelo suave para subitem ativo */
  color: #000;
  border-color: #FFD200;
  /* Borda amarela no subitem ativo */
}
/* Responsividade */
@media (max-width: 768px) {
  .moduletable.formulario-vertical-menu ul.nav > li, .moduletable.formulario-vertical-menu ul.nav > li > ul > li {
    width: 100%;
    /* Itens ocupam toda a largura em telas menores */
  }
}
.formulario-vertical-menu ul {
  margin-top: 0px !important;
}
/**********************menu formulario********************/
/**********************publicidade HF********************/
/* --- Estilos Gerais de Publicidade --- */
.publicidadeHF-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 20px 0;
  width: 100%;
  box-sizing: border-box;
}
.publicidadeHF-row {
  display: flex;
  gap: 30px;
  width: 100%;
  justify-content: space-between;
  flex-wrap: wrap;
}
.publicidadeHF-box {
  flex: 1;
  min-width: 300px;
  height: auto;
  border: 1px solid #ffd700;
  /* Linha fina conforme pedido */
  background-color: #ffffff;
  position: relative;
  text-align: left;
  padding: 30px 20px 20px 20px;
  box-sizing: border-box;
}
/* Números a preto 38px */
.publicidadeHF-number-circle {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  background-color: #ffffff;
  border: 1px solid #ffd700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 38px;
  /* Tamanho solicitado */
  font-weight: bold;
  color: #000;
  z-index: 10;
}
/* Subtítulos a preto 27pt */
.subtitulo-preto {
  color: #000;
  font-size: 27px;
  font-weight: bold;
  margin: 20px 0 10px 0;
}
/* Subtítulos a amarelo #fbb812 a 27pt */
.subtitulo-amarelo {
  color: #fbb812;
  font-size: 27px;
  font-weight: bold;
  margin: 15px 0 5px 0;
}
/* Link de Email a cinza */
.email-publicidade {
  color: #808080 !important;
  text-decoration: none;
}
.email-publicidade:hover {
  text-decoration: underline;
}
/* Barra Cinza de Separação */
.barra-separadora {
  width: 100%;
  height: 40px;
  background-color: #d3d3d3;
  margin: 20px 0;
}
/* Responsividade */
@media (max-width: 768px) {
  .publicidadeHF-box {
    min-width: 100%;
  }
  .subtitulo-preto, .subtitulo-amarelo {
    font-size: 22px;
  }
  .publicidadeHF-number-circle {
    font-size: 30px;
    width: 45px;
    height: 45px;
  }
}
/* Barra Cinza de Separação */
.barra-separadora-rodape {
  width: 100%;
  height: 40px;
  background-color: #e9e9e9;
  margin-bottom: 30px;
}
/* Container que centraliza o bloco todo no PC */
.publicidaderodape-container {
  max-width: 1200px;
  /* Largura total onde o conteúdo vai "viver" */
  margin: 0 auto;
  /* Centraliza o bloco na página */
  padding: 0 20px;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
}
/* Título alinhado com o limite esquerdo do container */
.titulo-formatos {
  font-weight: bold;
  text-align: left;
  font-size: 16px;
  color: #000;
  margin-bottom: 20px;
  width: 100%;
}
/* Linha com distribuição Space-Between */
.publicidaderodape-row {
  display: flex;
  /* 1ª encosta à esquerda, última à direita, espaços iguais no meio */
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  gap: 20px;
  /* Gap de segurança para quando as imagens começarem a apertar */
}
/* Bloco individual */
.publicidaderodape-wrapper {
  text-align: left;
  width: 300px;
  /* Largura fixa para garantir a proporção */
  flex: 0 1 auto;
}
.publicidaderodape-wrapper img {
  width: 100%;
  /* Ocupa a largura total do wrapper */
  height: auto;
  display: block;
  margin-bottom: 12px;
}
/* Ajuste de textos */
.publicidaderodape-wrapper p {
  margin: 0 0 4px 0 !important;
  line-height: 1.3;
  font-size: 15px;
}
/* RESPONSIVIDADE */
@media (max-width: 992px) {
  .publicidaderodape-row {
    justify-content: center;
    /* No tablet/mobile centra para não haver buracos grandes */
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .publicidaderodape-container {
    text-align: center;
  }
  .titulo-formatos {
    text-align: center;
  }
  .publicidaderodape-wrapper {
    text-align: center;
    width: 100%;
    max-width: 400px;
  }
  .publicidaderodape-wrapper img {
    margin: 0 auto 12px auto;
  }
}
/**********************publicidade HF********************/
/**********************parceiros********************/
.parcerias {
  padding-left: 10px !important;
}
#parceiros {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}
#parceiros > div:first-child {
  background-color: #e9e9e9;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  height: 100%;
  /* Garante que o div ocupe a altura total da grade */
}
#parceiros > div:first-child p {
  margin: 0;
  text-align: center;
}
.parceiros {
  background-color: #fff;
  padding: 15px;
  text-align: left;
  border: 1px dashed #e9e9e9 !important;
}
.parceiros img {
  max-width: 100%;
  height: auto;
  float: left;
  margin-right: 10px;
}
.parceiros p {
  margin: 0;
  clear: both;
}
.parceiros span {
  color: #ffcc00;
  font-size: 12px;
  font-weight: bold;
}
/* Media Queries para Responsividade */
@media (max-width: 900px) {
  #parceiros {
    grid-template-columns: repeat(2, 1fr);
  }
  .parceiros span {
    font-size: 10px;
  }
}
@media (max-width: 600px) {
  #parceiros {
    grid-template-columns: 1fr;
  }
  .parceiros span {
    font-size: 9px;
  }
  body {
    margin: 10px;
  }
}
/**********************parceiros ********************/
/**********************menu sobrehf ********************/
.mod-menu.mod-list.nav.sobrehfmenu {
  list-style: none;
  padding: 0;
  /* Força o layout vertical */
  display: block;
  /* Garante que o ul seja tratado como bloco */
}
.mod-menu.mod-list.nav.sobrehfmenu li {
  border-bottom: 1px solid #e9e9e9;
  /* Linha tracejada cinza */
  /* Garante que cada li ocupe toda a largura */
  width: 100%;
}
.mod-menu.mod-list.nav.sobrehfmenu li:last-child {
  border-bottom: none;
  /* Remove a linha do último item */
}
.mod-menu.mod-list.nav.sobrehfmenu li a {
  text-decoration: none;
  color: #000;
  /* Cor padrão do texto */
  font-size: 1rem;
  display: block;
  /* Faz o link ocupar toda a largura do li */
}
.mod-menu.mod-list.nav.sobrehfmenu li.current a, .mod-menu.mod-list.nav.sobrehfmenu li a:hover, .mod-menu.mod-list.nav.sobrehfmenu li a:focus {
  color: #000;
  /* Cor amarela para item selecionado ou hover */
}
.sobrehfmenu .nav-item.active > a, .sobrehfmenu .nav-item.current > a {
  color: #fbb812 !important;
}
.sobrehfmenu, .sobrehfmenu ul, .sobrehfmenu li {
  list-style: none;
}
.sobrehfmenu > li.parent > a {
  font-size: 1rem !important;
}
/**********************menu sobrehf ********************/
/**********************sintehistorica ********************/
.containerTimeline {
  padding: 20px 0;
}
.timeline {
  position: relative;
  max-width: 800px;
  margin: 0;
}
/* Removemos a linha global para criá-la por item */
.timeline::before {
  display: none;
}
.timeline-item {
  position: relative;
  padding-left: 50px;
  padding-bottom: 25px;
}
/* Linha desenhada apenas se não for o último item */
.timeline-item::before {
  content: "";
  position: absolute;
  left: 20px;
  /* Alinhado ao centro do círculo */
  top: 24px;
  /* Começa no topo do item atual */
  bottom: 0;
  /* Estende-se até ao fundo do item */
  width: 4px;
  background: #fbb812;
  z-index: 1;
}
/* O SEGREDO: Remove a linha no último item */
.timeline-item.last-item::before {
  display: none;
}
.timeline-circle {
  width: 24px;
  height: 24px;
  background: #fbb812;
  border-radius: 50%;
  position: absolute;
  left: 10px;
  /* Centra na linha de 4px */
  top: 0;
  z-index: 5;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0 0 4px white;
  /* Aro branco para limpeza visual */
  transition: transform 0.2s;
}
.timeline-circle::after {
  content: "";
  width: 10px;
  height: 10px;
  background: white;
  border-radius: 50%;
}
.timeline-circle:hover {
  transform: scale(1.2);
}
.timeline-date {
  cursor: pointer;
  font-weight: 800;
  font-size: 1.25rem;
  color: #333;
  display: inline-block;
  margin-bottom: 10px;
  line-height: 24px;
}
.timeline-date:hover {
  color: #fbb812;
}
.card {
  border: none !important;
}
.card-body {
  padding: 15px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #555;
}
.timeline-content .card-body {
  color: #414141;
  font-size: 18px;
  /* Cor do texto, se necessário */
}
/* Responsividade */
@media (max-width: 576px) {
  .timeline-item {
    padding-left: 40px;
  }
  .timeline-item::before {
    left: 15px;
  }
  .timeline-circle {
    left: 5px;
  }
}
/**********************sintehistorica ********************/
/********************** ORGANOGRAMA ATUALIZADO ********************/
.caContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  /* Aumentado ligeiramente para acomodar fotos maiores */
  padding: 20px;
}
.caMember {
  width: 250px;
  /* Largura ajustada para caber a foto de 244px */
  text-align: center;
}
.caPhoto {
  width: 244px;
  /* Tamanho solicitado */
  height: 244px;
  /* Mantido igual à largura para ser um círculo perfeito */
  margin: 0 auto 15px;
  /* Margem inferior para afastar do título */
  border-radius: 50%;
  overflow: hidden;
}
.caPhoto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Garante que a foto não estique */
}
.caTitle {
  margin: 0 0 5px;
  /* Reduzido o espaçamento inferior */
  font-size: 18px;
  /* Tamanho solicitado */
  font-weight: 900;
  line-height: 1.1;
  /* Reduz o espaçamento entre linhas */
  text-transform: uppercase;
  color: #333;
}
.caName {
  margin: 0;
  font-size: 18px;
  /* Tamanho solicitado */
  line-height: 1.2;
  /* Reduz o espaçamento entre linhas */
  color: #666;
}
/******************************************************************/
/**
 * LAYOUT BOXED - Search Box no topo alinhado com Overlay
 * Cole este CSS no Custom CSS do seu template
 */
/* Overlay - Lado esquerdo, no topo */
/* Search Box Desktop - Lado direito, NO TOPO (mesma altura do overlay) */
.mod-slider .search-box.desktop-only {
  position: absolute !important;
  top: 20px !important;
  /* ← MESMA ALTURA DO OVERLAY */
  bottom: auto !important;
  right: calc(50% - 600px) !important;
  width: 350px !important;
  z-index: 20 !important;
}
/* Search Box Mobile - Embaixo, centralizado */
.mod-slider .search-box.mobile-only {
  position: absolute !important;
  bottom: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: calc(100% - 40px) !important;
  max-width: 500px !important;
  z-index: 20 !important;
}
/* Overlay Mobile - Centralizado */
/*****************alerta info *****************************/
/* Botão pesquisa Smart Search */
.com-finder .btn-primary, .search .btn-primary, form[action*="com_finder"] .btn-primary {
  background: #414141 !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 15px !important;
  cursor: pointer !important;
  font-weight: bold !important;
  font-family: "Arial", "Helvetica", sans-serif !important;
  font-size: 0.8rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0.1rem !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  transition: all 0.2s !important;
  border-radius: 4px !important;
  vertical-align: middle !important;
}
.com-finder .btn-primary:hover, .search .btn-primary:hover, form[action*="com_finder"] .btn-primary:hover {
  background: #2a2a2a !important;
  color: #fff !important;
}
.com-finder .btn-primary:focus, .search .btn-primary:focus, form[action*="com_finder"] .btn-primary:focus {
  background: #2a2a2a !important;
  color: #fff !important;
  outline: none !important;
  box-shadow: none !important;
}
.alertapesquisa {
  border-radius: 10px;
}
/*****************alerta info *****************************/
/* ==========================================
   RESPONSIVE
   ========================================== */
/* Large Desktop (1400px+) */
@media (min-width: 1400px) {
  .mod-slider .overlay {
    left: calc(50% - 600px) !important;
  }
  .mod-slider .search-box.desktop-only {
    right: calc(50% - 600px) !important;
  }
}
/* Desktop (1200px - 1399px) */
@media (max-width: 1399px) {
  .mod-slider .overlay {
    left: calc(50% - 570px) !important;
  }
  .mod-slider .search-box.desktop-only {
    right: calc(50% - 570px) !important;
  }
}
/* Tablet Large (992px - 1199px) */
@media (max-width: 1199px) {
  .mod-slider .overlay {
    left: calc(50% - 480px) !important;
  }
  .mod-slider .search-box.desktop-only {
    right: calc(50% - 480px) !important;
  }
}
/* Tablet (768px - 991px) */
@media (max-width: 991px) {
  .mod-slider .overlay {
    left: calc(50% - 360px) !important;
  }
  .mod-slider .search-box.desktop-only {
    right: calc(50% - 360px) !important;
  }
}
/* Mobile (< 768px) */
@media (max-width: 767px) {
  .mod-slider .overlay {
    left: 20px !important;
    right: 20px !important;
    width: auto !important;
  }
}
/*# sourceMappingURL=custom_16.css.map */