.elementor-3302 .elementor-element.elementor-element-e089111{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-3302 .elementor-element.elementor-element-e089111.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3302 .elementor-element.elementor-element-ef29504{--display:flex;--justify-content:center;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-3302 .elementor-element.elementor-element-aaa22aa{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;text-align:center;}.elementor-3302 .elementor-element.elementor-element-aaa22aa .elementor-heading-title{font-family:"Inter", Sans-serif;font-weight:700;color:#0A0A0A;}.elementor-3302 .elementor-element.elementor-element-e3d39e0{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-3302 .elementor-element.elementor-element-e3d39e0.e-con{--align-self:flex-start;}.elementor-3302 .elementor-element.elementor-element-aee179f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--border-radius:0px 0px 0px 0px;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-b8f0fda{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-370f605{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-d9d24de{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-147b235{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-7ab340c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-db3a874{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-a9f827a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-4d28983{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-728fd97{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-33a46b4{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-7cb7f1c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-c6861ea{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-0fbba60{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-b79bd62{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-7fc90f5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-81f82a9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-70e9561{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-72d0d46{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-41d1253{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-3302 .elementor-element.elementor-element-41d1253.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-3302 .elementor-element.elementor-element-8e2d5f2{text-align:center;}.elementor-3302 .elementor-element.elementor-element-8e2d5f2 .elementor-heading-title{font-family:"Inter", Sans-serif;font-weight:700;color:#0A0A0A;}.elementor-3302 .elementor-element.elementor-element-3dc5feb{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:4px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-3302 .elementor-element.elementor-element-3dc5feb.e-con{--align-self:flex-start;}.elementor-3302 .elementor-element.elementor-element-aa21016{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-9015118{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-3302 .elementor-element.elementor-element-e3d39e0{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3302 .elementor-element.elementor-element-41d1253{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-3dc5feb{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}@media(min-width:768px){.elementor-3302 .elementor-element.elementor-element-e089111{--width:100%;}.elementor-3302 .elementor-element.elementor-element-ef29504{--width:100%;}.elementor-3302 .elementor-element.elementor-element-e3d39e0{--width:100%;}.elementor-3302 .elementor-element.elementor-element-aee179f{--width:100%;}.elementor-3302 .elementor-element.elementor-element-b8f0fda{--width:100%;}.elementor-3302 .elementor-element.elementor-element-370f605{--width:100%;}.elementor-3302 .elementor-element.elementor-element-d9d24de{--width:100%;}.elementor-3302 .elementor-element.elementor-element-147b235{--width:100%;}.elementor-3302 .elementor-element.elementor-element-7ab340c{--width:100%;}.elementor-3302 .elementor-element.elementor-element-db3a874{--width:100%;}.elementor-3302 .elementor-element.elementor-element-a9f827a{--width:100%;}.elementor-3302 .elementor-element.elementor-element-4d28983{--width:100%;}.elementor-3302 .elementor-element.elementor-element-728fd97{--width:100%;}.elementor-3302 .elementor-element.elementor-element-33a46b4{--width:100%;}.elementor-3302 .elementor-element.elementor-element-7cb7f1c{--width:100%;}.elementor-3302 .elementor-element.elementor-element-c6861ea{--width:100%;}.elementor-3302 .elementor-element.elementor-element-0fbba60{--width:100%;}.elementor-3302 .elementor-element.elementor-element-b79bd62{--width:100%;}.elementor-3302 .elementor-element.elementor-element-7fc90f5{--width:100%;}.elementor-3302 .elementor-element.elementor-element-81f82a9{--width:100%;}.elementor-3302 .elementor-element.elementor-element-70e9561{--width:100%;}.elementor-3302 .elementor-element.elementor-element-72d0d46{--width:100%;}.elementor-3302 .elementor-element.elementor-element-3dc5feb{--width:100%;}.elementor-3302 .elementor-element.elementor-element-aa21016{--width:100%;}.elementor-3302 .elementor-element.elementor-element-9015118{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-3302 .elementor-element.elementor-element-e089111{--width:100%;}.elementor-3302 .elementor-element.elementor-element-41d1253{--width:101.736%;}}@media(max-width:767px){.elementor-3302 .elementor-element.elementor-element-e089111{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-ef29504{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3302 .elementor-element.elementor-element-e3d39e0{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3302 .elementor-element.elementor-element-3dc5feb{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-9fdcab3 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  height: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;

  /* 🔹 Correção de texto ultrapassando a borda */
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;

  /* 🔹 Garantia de quebra dentro do texto */
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  text-align: justify;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aee179f *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a91ce0b */.team-card {
  background: #fff;
  border: 2px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b8f0fda *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4926d69 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-370f605 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ad97e04 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d9d24de *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f970390 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-147b235 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-00637e3 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7ab340c *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-39d5b33 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-db3a874 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-42087b5 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a9f827a *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-240be2f */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4d28983 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-96b8ae1 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-728fd97 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9a3d355 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-33a46b4 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-094d34e */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7cb7f1c *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b04f43d */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c6861ea *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-87def7d */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0fbba60 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d653444 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b79bd62 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9c1c550 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7fc90f5 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-273d67e */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-81f82a9 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e6750cd */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-70e9561 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-694d92f */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-72d0d46 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e047439 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aa21016 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-270aee1 */.team-card {
  background: #fff;
  border: 1px solid #e6ece8;
  border-radius: 12px;
  padding: 16px 20px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: all 0.25s ease;
  cursor: pointer;
  position: relative;
}

.team-card:hover {
  border-color: #3aa76d;
  box-shadow: 0 4px 12px rgba(58, 167, 109, 0.25);
  transform: translateY(-3px);
}

.card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.photo-wrapper {
  position: relative;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
}

.member-photo {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.member-photo img.profile {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Bandeira — aumentada e posicionada */
.photo-wrapper img.flag {
  position: absolute;
  bottom: -6px;
  right: -8px;
  width: 32px;
  height: auto;
  border-radius: 6px;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(0,0,0,0.25);
  z-index: 2;
}

.member-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 150px;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1c3b2e;
}

.member-location {
  margin-top: 3px;
  color: #3e8260;
  font-weight: 500;
  font-size: 0.9rem;
}

.member-description {
  color: #444;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 8px 0;
}

.member-email {
  font-size: 0.9rem;
  color: #2f604a;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.member-email::before {
  content: "✉️";
  font-size: 0.9rem;
}

/* ===================== */
/* RESPONSIVIDADE GERAL  */
/* ===================== */
@media (max-width: 600px) {
  .team-card {
    padding: 14px 16px;
  }

  .photo-wrapper {
    width: 65px;
    height: 65px;
  }

  .photo-wrapper img.flag {
    width: 28px;
  }

  .member-name {
    font-size: 1rem;
  }

  .member-description {
    font-size: 0.88rem;
  }

  .member-email {
    font-size: 0.85rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9015118 *//* ============ Member Card ============ */
.member-card {
  background: #ffffff;
  border: 1px solid #e6ece6; /* borda suave inicial */
  border-radius: 14px;
  padding: 26px;
  box-shadow: 0 3px 8px rgba(17,24,39,0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  max-width:420px;
  margin: 10px auto;
  color: #24323a;
  font-family: inherit;
  font-size: 1rem;
}

/* hover - destaque verde sutil com elevação */
.member-card:hover {
  border-color: #2c9a7b; /* cor da borda ao passar mouse */
  box-shadow: 0 10px 30px rgba(36,50,60,0.08);
  transform: translateY(-6px);
}

/* Top: foto + meta */
.member-top {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.member-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #f3f7f6; /* leve contorno interno */
}

/* nome e cidade */
.member-meta { 
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.member-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #132128;
  line-height: 1.1;
}

.member-city {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f9a87; /* tom verde para cidade */
  font-weight: 600;
  font-size: 0.92rem;
  margin-top: 4px;
}

/* descrição */
.member-desc {
  margin: 8px 0 14px;
  color: #546169;
  font-size: 0.95rem;
  line-height: 1.5;
  max-height: 3.3em;               /* corta o texto em 2 linhas (aprox) */
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* telefone */
.member-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2c9a7b;
  font-weight: 600;
  font-size: 0.92rem;
}

/* ícones inline */
.member-city svg,
.member-phone svg {
  fill: currentColor;
  opacity: 0.95;
}

/* Grid responsivo se tiver várias colunas no container pai */
.wp-block-column .member-card {
  margin: 0;
}

/* adaptações mobile */
@media (max-width: 780px) {
  .member-top { gap: 10px; }
  .member-photo { width: 64px; height: 64px; }
  .member-card { padding: 16px; }
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) {
  .members-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 620px) {
  .members-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-Thin.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-ExtraLight.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-ExtraBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://forumdefinancas.pmsga.ce.gov.br/wp-content/uploads/2025/10/Inter_28pt-Black.ttf') format('truetype');
}
/* End Custom Fonts CSS */