.elementor-13351 .elementor-element.elementor-element-5d544eb{--display:flex;}.elementor-13351 .elementor-element.elementor-element-37b904d > .elementor-widget-container{margin:53px 53px 53px 53px;}.elementor-13351 .elementor-element.elementor-element-3a66cff{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-13351 .elementor-element.elementor-element-b03deae .elementor-button{background-color:var( --e-global-color-a5cc52d );border-radius:23px 23px 23px 23px;}.elementor-13351 .elementor-element.elementor-element-86c3241 .elementor-button{background-color:var( --e-global-color-37cfdd2 );border-radius:17px 17px 17px 17px;}@media(max-width:767px){.elementor-13351 .elementor-element.elementor-element-37b904d > .elementor-widget-container{margin:20px 20px 20px 20px;}.elementor-13351 .elementor-element.elementor-element-3a66cff{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}/* Start custom CSS for shortcode, class: .elementor-element-37b904d *//* ===========================
   HERO DARK + FILTER MODERNO
   =========================== */

/* Box superior (hero) com azul escuro, cantos arredondados e sombra suave */
.sp-wrap .sp-hero{
  margin: 0 0 18px 0;
  padding: 28px 26px 22px;
  border-radius: 28px;
  background:
    radial-gradient(120% 160% at 90% 0%, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 55%),
    linear-gradient(180deg, #0b2342 0%, #0e2b4f 100%);
  color: #fff;
  box-shadow:
    0 24px 60px rgba(8, 22, 48, .35),
    0 6px 14px rgba(8, 22, 48, .25);
  border: 1px solid rgba(255,255,255,.06);
}

/* Título com presença (sem exagero) */
.sp-wrap .sp-title{
  margin: 0 0 6px 0;
  font-weight: 900;
  font-size: clamp(26px, 3.2vw, 44px);
  letter-spacing: .3px;
  color: #ffffff;
  text-shadow: 0 2px 8px rgba(0,0,0,.20);
}

/* Sub e CTA harmonizados com o dark */
.sp-wrap .sp-sub{
  margin: 0;
  color: #c7d1e2;
  font-size: clamp(14px, 1.2vw, 16px);
}
.sp-wrap .sp-cta{
  margin-top: 12px;
  display: inline-block;
  color: #f3ead1;
  font-weight: 700;
  padding: 10px 14px;
  border-radius: 12px;
  border-left: 3px solid #d4af37;
  background: linear-gradient(90deg, rgba(212,175,55,.18), rgba(212,175,55,0));
}

/* Container do filtro com cara de “caixinha” */
.sp-wrap .sp-toolbar{
  margin-top: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 10px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #dbe7ff;
}

/* Rótulo do filtro */
.sp-wrap .sp-filter-label{
  color: #c7d1e2;
  font-weight: 600;
  padding: 0 6px;
}

/* Campo de busca: arredondado, com ícone, sombra elegante */
.sp-wrap .sp-filter-input{
  flex: 1;
  height: 52px;
  padding: 12px 16px 12px 44px;              /* espaço pro ícone */
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.96);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 8px 18px rgba(0,0,0,.10);
  color: #0f172a;
  outline: none;
  position: relative;
}

/* Placeholder mais suave */
.sp-wrap .sp-filter-input::placeholder{
  color: #8aa0c5;
}

/* Glow no foco */
.sp-wrap .sp-filter-input:focus{
  border-color: #2f6bdc;
  box-shadow:
    0 0 0 4px rgba(47,107,220,.18),
    inset 0 1px 0 rgba(255,255,255,.6),
    0 10px 22px rgba(0,0,0,.12);
}

/* Ícone de lupa embutido via pseudo-elemento */
.sp-wrap .sp-toolbar{
  position: relative;
}
.sp-wrap .sp-toolbar::before{
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  pointer-events: none;
  opacity: .7;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' stroke='%235a6a85' stroke-width='2'/%3E%3Cpath d='M20 20L16.65 16.65' stroke='%235a6a85' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size: 18px 18px;
}
/* --- Correção do ícone de lupa --- */
.sp-wrap .sp-toolbar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* move o ícone para dentro do input */
.sp-wrap .sp-filter-input {
  position: relative;
  background: rgba(255,255,255,.96) url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' stroke='%238aa0c5' stroke-width='2'/%3E%3Cpath d='M20 20L16.65 16.65' stroke='%238aa0c5' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 14px center;
  background-size: 18px 18px;
  padding-left: 44px; /* espaço para o ícone */
}

/* remove o pseudo-elemento antigo */
.sp-wrap .sp-toolbar::before {
  content: none !important;
}
/* --- Alinhamento e altura uniforme dos cards --- */
.sp-grid {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: stretch; /* força todos os cards a terem a mesma altura */
}

.sp-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.sp-card-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* distribui bem o conteúdo interno */
  height: 100%;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sp-card-inner:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

.sp-card-body {
  flex: 1; /* ocupa o espaço livre para igualar altura */
}

.sp-card-foot {
  margin-top: auto;
}

/* Badge mais consistente no rodapé */
.sp-badge {
  display: inline-block;
  align-self: flex-start;
  background: linear-gradient(180deg, #f7e07a, #e1c652);
  color: #2a2300;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
}

/* Ajuste do ícone alinhado ao input (como o input tem padding-left:44px) */
@media (max-width: 640px){
  .sp-wrap .sp-toolbar::before{ left: 18px; }
}

/* Chips (se estiverem ativos) continuam abaixo do filtro sem brigar com o dark */
.sp-wrap .sp-chips{
  margin-top: 10px;
}/* End custom CSS */