.elementor-31 .elementor-element.elementor-element-5355c6f{--display:flex;--margin-top:-3px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:34px;--padding-bottom:103px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-5355c6f:not(.elementor-motion-effects-element-type-background), .elementor-31 .elementor-element.elementor-element-5355c6f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(151deg, #00314D 46%, #4A90A4 100%);}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-02c5044{margin:72px 0px calc(var(--kit-widget-spacing, 0px) + 2px) 0px;text-align:center;}.elementor-31 .elementor-element.elementor-element-02c5044 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:78px;font-weight:600;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-d4d588f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 38px) 0px;text-align:center;color:#FFFFFF;}.elementor-31 .elementor-element.elementor-element-6ed865e{--display:flex;}@media(max-width:767px){.elementor-31 .elementor-element.elementor-element-5355c6f{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:70px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}.elementor-31 .elementor-element.elementor-element-02c5044{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-31 .elementor-element.elementor-element-02c5044 .elementor-heading-title{font-size:60px;}.elementor-31 .elementor-element.elementor-element-91412a4.elementor-element{--align-self:center;}}/* Start custom CSS for shortcode, class: .elementor-element-91412a4 *//* 1. Form container: flex sem wrap */
.custom-search-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;            /* gap entre categorias e ordenação */
  padding: 16px 24px !important;
  background: #f8fafc !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  margin: 0 auto !important;
  width: 100% !important;
  max-width: 1200px !important;
}

/* 2. Zera estilos de lista/margens */
.custom-search-form,
.custom-search-form ul,
.custom-search-form li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 3. Oculta labels indesejados */
.custom-search-form label {
  display: none !important;
}

/* 4. Esquerda: duas caixas juntas */
.custom-search-form .csf-left,
.custom-search-form .csf-center {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* 5. Direita: empurra tudo e agrupa search+btn */
.custom-search-form .csf-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: auto !important;  /* <— aqui empurra para o canto direito */
}

/* 6. Estilos comuns a selects e input */
.custom-search-form .csf-select,
.custom-search-form .csf-input {
  padding: 10px 14px !important;
  min-width: 180px !important;
  font-size: 14px !important;
  color: #344054 !important;
  background: #fff !important;
  border: 1px solid #d0d7de !important;
  border-radius: 6px !important;
  transition: border-color 0.2s ease !important;
  appearance: none !important;
}

/* 7. Hover suave */
.custom-search-form .csf-select:hover,
.custom-search-form .csf-input:hover {
  border-color: #b6c2cf !important;
}

/* 8. Botão de busca */
.custom-search-form .csf-btn {
  width: 40px !important;
  height: 40px !important;
  background: #002f4b !important;
  border: none !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
.custom-search-form .csf-btn .dashicons {
  color: #fff !important;
  font-size: 18px !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ed865e *//* ==============================
   1) FILTRO DE BUSCA
   ============================== */
.custom-search-form {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  padding: 16px 24px !important;
  background: #f8fafc !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  margin: 0 auto !important;
  max-width: 1200px !important;
}

.custom-search-form select,
.custom-search-form input[type="search"] {
  padding: 10px 14px !important;
  border: 1px solid #d0d7de !important;
  border-radius: 6px !important;
  background: #fff !important;
  font-size: 14px !important;
  color: #344054 !important;
  appearance: none !important;
}

.custom-search-form .csf-btn {
  width: 40px !important;
  height: 40px !important;
  background: #002f4b !important;
  border: none !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

.custom-search-form .csf-btn .dashicons {
  color: #fff !important;
  font-size: 18px !important;
}

/* ==============================
   2) ESPAÇAMENTO ENTRE FILTRO E CARDS
   ============================== */
.custom-search-form + .custom-search-results {
  margin-top: 72px !important;
}

/* ==============================
   3) RESULTADOS (LISTA DE CARDS)
   ============================== */
.custom-search-results {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* ==============================
   4) CARD INDIVIDUAL
   ============================== */
.cs-card {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  overflow: hidden;
  transition: transform 0.2s ease;
}
.cs-card:hover {
  transform: translateY(-4px);
}

/* 4a) IMAGEM VERTICAL À ESQUERDA */
.cs-card-image {
  order: 1;
  flex: 0 0 200px;
  overflow: hidden;
  position: relative;
}
.cs-card-image img {
  width: 280px !important;
  height: 330px !important;
  object-fit: cover !important;
  display: block;
}

/* 4b) CONTEÚDO À DIREITA */
.cs-card-content {
  order: 2;
  flex: 1;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
}
.cs-card-title {
  font-size: 1.25rem;
  margin: 0 0 8px;
  color: #002f4b;
}
.cs-card-meta {
  font-size: 0.875rem;
  color: #6b7c93 !important;
  margin-bottom: 12px;
}
.cs-card-excerpt {
  flex: 1;
  color: #475569;
  margin-bottom: 24px;
  line-height: 1.5;
  max-height: calc(1.5em * 6);
  overflow: hidden;
}
.cs-card-readmore {
  align-self: flex-start;
  padding: 10px 16px;
  background: #002f4b;
  color: #fff;
  border: none;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  cursor: pointer;
  margin-top: 12px !important;
}
.cs-card-readmore:hover {
  background: #004e7c;
}

/* ==============================
   5) PAGINAÇÃO
   ============================== */
.cs-pagination {
  text-align: center;
  margin-top: 24px;
}
.cs-pagination .page-numbers {
  display: inline-block;
  margin: 0 4px;
  padding: 6px 12px;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  color: #344054;
  text-decoration: none;
}
.cs-pagination .current {
  background: #002f4b;
  color: #fff;
  border-color: #002f4b;
}

/* ==============================
   6) RESPONSIVIDADE
   ============================== */
/* Abaixo de 768px, empilha o filtro, cards e ajusta imagem */
@media (max-width: 767px) {
  /* filtro empilhado */
  .custom-search-form {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .custom-search-form select,
  .custom-search-form input[type="search"],
  .custom-search-form .csf-btn {
    width: 100% !important;
    max-width: none !important;
  }
  .custom-search-form .csf-btn {
    justify-content: center;
  }

  /* cards empilhados */
  .cs-card {
    flex-direction: column !important;
  }
  .cs-card-image {
    order: 1;
    width: 100% !important;
    flex: none !important;
    height: 200px !important;
  }
  .cs-card-image img {
    width: 100% !important;
    height: 100% !important;
  }
  .cs-card-content {
    order: 2;
    padding: 12px 16px !important;
  }
}/* End custom CSS */