/* =====================
   FONT AWESOME ICONS
======================= */
.header__icon .fa-whatsapp {
  color: #25D366;
  font-size: 1.5em;
}
.header__icon .fa-envelope {
  color: #1565c0;
  font-size: 1.4em;
}
.inscricao__link.form_link .fa-whatsapp {
  color: #25D366;
  font-size: 1.2em;
  vertical-align: middle;
  margin-right: 4px;
}
/* =====================
   INSCRIÇÃO LINK DESTAQUE
======================= */
.inscricao__link.form_link {
  background: #1565c0;
  color: #fff;
  border: 2px solid #1565c0;
  font-weight: 700;
  box-shadow: 0 2px 8px #1565c044;
}
.inscricao__link.form_link:hover {
  background: #0d47a1;
  color: #fff;
  border-color: #0d47a1;
  box-shadow: 0 4px 16px #1565c044;
}
/* =====================
   BASE/RESET
====================== */
body {
  font-family: 'Segoe UI', Arial, sans-serif;
  margin: 0;
  padding: 0;
  background: #f8f9fa;
  color: #222;
}

html,
body {
  overflow-x: hidden;
}

/* =====================
   HEADER
====================== */
.header {
  background: #30916378;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  padding: 0.5em 2.5em 0.3em 2.5em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  /* gap: 1em; */
}

.header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7em 3vw 0.7em 3vw;
}

.header__logo {
  height: 44px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 8px #fff8);
}

.header__icons {
  display: flex;
  gap: 0.7em;
}

.header__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  width: 38px;
  height: 38px;
  box-shadow: 0 2px 8px #2e7d3222;
  transition: box-shadow 0.2s, background 0.2s;
}

.header__icon:hover {
  box-shadow: 0 4px 16px #2e7d3244;
  background: #e8f5e9;
}

.header__brand {
  display: flex;
  align-items: center;
  gap: 1em;
  padding: 0.5em 3vw 1.2em 3vw;
}

.header__brand-title {
  color: #fff;
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 1px;
  text-shadow: 0 2px 8px #2e7d3222;
}

.oportunidade__logo {
  height: 48px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 8px #2e7d3233);
}

/* =====================
   MAIN/SECTIONS
====================== */
.main {
  width: 100%;
  max-width: 100vw;
  margin: 0;
  background: #fff;
  border-radius: 0;
  box-shadow: none;
  padding: 0.2em 0;
  box-sizing: border-box;
  overflow-x: hidden;
}

.main__duas-colunas {
  display: flex;
  gap: 2em;
  align-items: flex-start;
}

.section__title {
  color: #2e7d32;
  margin-top: 0;
  font-size: 1.7em;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-shadow: 0 2px 8px #2e7d3222;
  display: flex;
  align-items: center;
}

.section__desc {
  font-size: 1.1em;
  margin-bottom: 1.5em;
}

.section__icon {
  font-size: 1.2em;
  margin-right: 0.2em;
}

/* =====================
   OPORTUNIDADE
====================== */
.oportunidade-section {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 32px rgba(44, 62, 80, 0.10);
  padding: 0.5em 2em 2em 2em;
  min-width: 0;
}

.oportunidade__destaque-bg {
  position: absolute;
  top: -60px;
  left: -60px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle at 40% 40%, #e8f5e9 60%, #43a04722 100%);
  z-index: 0;
  border-radius: 50%;
  opacity: 0.7;
}

.oportunidade__titulo-flex {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1em;
  margin-bottom: 1em;
}

.oportunidade__logo {
  height: 48px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 8px #2e7d3233);
}

.oportunidade__conteudo-flex {
  display: flex;
  align-items: flex-start;
  gap: 2em;
  position: relative;
  z-index: 1;
}

.oportunidade__info {
  flex: 2 1 0;
}

.oportunidade__img-card {
  flex: 1 1 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.oportunidade__img-bg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, #e8f5e9 60%, #43a047 100%);
  border-radius: 50%;
  box-shadow: 0 4px 24px #2e7d3222;
  z-index: 0;
}

.oportunidade__img {
  position: relative;
  z-index: 1;
  width: 90px;
  height: 90px;
  object-fit: contain;
  border-radius: 50%;
  box-shadow: 0 2px 12px #2e7d3222;
  background: #fff;
  padding: 0.5em;
}

.oportunidade__list {
  list-style: none;
  padding: 0;
  margin: 1em 0;
}

.oportunidade__list li {
  display: flex;
  align-items: center;
  margin-bottom: 0.5em;
  font-size: 1.1em;
  padding-left: 1.2em;
}

.oportunidade__icon {
  color: #43a047;
  margin-right: 0.7em;
  font-size: 1.2em;
}

/* =====================
   SOBRE BROTAR
====================== */
.sobre-brotar__title {
  color: #2e7d32;
  font-size: 1.3em;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 0.5em;
  border-left: 4px solid #43a047;
  padding-left: 0.7em;
}

.sobre-brotar__desc {
  margin-bottom: 1.5em;
  line-height: 1.7;
  font-size: 1.08em;
  background: linear-gradient(90deg, #e8f5e9 60%, #c8e6c9 100%);
  border-radius: 10px;
  padding: 1.2em 1em 1em 1em;
  color: #234;
  box-shadow: 0 2px 12px rgba(44, 62, 80, 0.06);
}

/* =====================
   CIDADES
====================== */
.cidades-card.destaque {
  background: #e3f0fc55;
  border: 2px solid #1565c0;
  border-radius: 10px;
  box-shadow: 0 2px 10px #1565c022;
  padding: 0.7em 1em 0.7em 1em;
  margin: 0.7em 0 0.5em 0;
}

.cidades-card__header {
  display: flex;
  align-items: center;
  font-size: 1.08em;
  color: #1565c0;
  font-weight: 700;
  margin-bottom: 0.3em;
}


.cidades-list {
  columns: 4;
  -webkit-columns: 4;
  -moz-columns: 2;
  column-gap: 2em;
  margin: 0;
  padding-left: 1.2em;
  font-size: 1.1em;
  color: #234;
}

.cidades-list li {
  position: relative;
  margin-bottom: 0.25em;
  padding-left: 1.3em;
  line-height: 1.5;
  border-radius: 5px;
  transition: background 0.2s;
  word-break: break-word;
  list-style: none !important;
}

.cidades-list li::before {
  content: '';
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  background: url('../images/map.svg') no-repeat center center;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0.19em;
}

.cidades-list li:hover {
  background: #e3f0fc;
}

/* =====================
   INSCRIÇÃO
====================== */
.inscricao-section {
  background: linear-gradient(90deg, #e8f5e9 60%, #c8e6c9 100%);
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(44, 62, 80, 0.06);
  padding: 1.5em 1em 1.2em 1em;
  margin-bottom: 1em;
  margin-top: 2em;
  text-align: center;
}

.inscricao__title {
  font-size: 1.2em;
  font-weight: 600;
  color: #2e7d32;
  margin-bottom: 0.5em;
}

.inscricao__qrcode {
  border-radius: 8px;
  box-shadow: 0 2px 8px #2e7d3222;
  background: #fff;
  padding: 0.5em;
  height: 150px;
  display: block;
  margin: 0 auto 1em auto;
}

.inscricao__contatos {
  font-size: 1.1em;
  margin-top: 1em;
}

.inscricao__link {
  color: #fff;
  background: #43a047;
  text-decoration: none;
  padding: 0.35em 1.1em;
  border-radius: 24px;
  font-weight: 600;
  margin: 0.2em 0.2em;
  display: inline-block;
  box-shadow: 0 2px 8px #2e7d3222;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

.inscricao__link:hover {
  background: #2e7d32;
  color: #fff;
  box-shadow: 0 4px 16px #2e7d3244;
}

/* =====================
   FOOTER
====================== */
.footer {
  background: #fff;
  padding: 1.5em 0 1em 0;
  text-align: center;
  border-top: 1px solid #c8e6c9;
}

.footer__logos {
  display: flex;
  justify-content: center;
  gap: 2em;
  margin-bottom: 1em;
  flex-wrap: wrap;
}

.footer__logo {
  height: 40px;
  vertical-align: middle;
}

.footer__logo-link {
  display: inline-block;
}

.footer__copyright,
.footer__dev {
  margin: 0.2em 0;
  font-size: 0.95em;
  color: #222;
}

.footer__dev a {
  color: #222;
  text-decoration: none;
  font-weight: 600;
}

.footer__dev a:hover {
  color: #c8e6c9;
}

/* =====================
   UTILITÁRIOS .compact
====================== */
.compact {
  margin-top: 0.5em !important;
  margin-bottom: 0.5em !important;
  padding-top: 0.5em !important;
  padding-bottom: 0.5em !important;
}

.oportunidade-section.section.compact {
  padding: 1.2em 1vw 0.7em 1vw !important;
  margin-top: 0.5em !important;
}

.section__title.compact {
  font-size: 1.4em;
  margin-bottom: 0.4em;
  margin-top: 0.2em;
}

.oportunidade__conteudo-flex.compact {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2em;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 0.5em;
}

.oportunidade__info.compact {
  flex: 2 1 320px;
  min-width: 260px;
  margin-right: 1em;
}

.oportunidade__list.compact {
  margin: 0.5em 0 0.5em 0;
}

.inscricao-section.destaque {
  background: #e8f5e9;
  border: 2px solid #43a047;
  border-radius: 14px;
  box-shadow: 0 2px 12px #43a04722;
  padding: 1em 1.2em;
  max-width: 320px;
  min-width: 220px;
  flex: 1 1 220px;
  margin-left: auto;
  margin-right: 0;
}

.inscricao__title {
  color: #1565c0;
  font-size: 1.10em;
  margin-bottom: 0.5em;
  margin-top: 0;
  text-align: center;
}

.inscricao__flex.compact {
  gap: 0.7em;
}

.inscricao__contatos.compact {
  gap: 0.5em;
}

.inscricao__qrcode-box.compact {
  margin-left: 0.2em;
}

/* =====================
   MEDIA QUERIES
====================== */
@media (max-width: 1100px) {
  .cidades-list {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    font-size: 1.08em;
  }
}

@media (max-width: 1000px) {
  .main__duas-colunas {
    flex-direction: column;
    gap: 1.5em;
  }

  .main__duas-colunas>.section {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-right: 0;
  }

  .oportunidade-section {
    margin-right: 0;
  }
}

@media (max-width: 900px) {
  .header {
    flex-direction: row;
    align-items: center;
    gap: 0.3em;
    padding: 0.7em 0.5em 0.3em 0.5em;
    text-align: center;
  }

  .header__brand-title {
    text-align: center;
    padding-left: 0;
    font-size: 1.1em;
  }

  .header__logo {
    height: 38px;
  }

  .footer__logos {
    gap: 1em;
  }

  .oportunidade__conteudo-flex.compact {
    flex-direction: column;
    gap: 1em;
  }

  .inscricao-section.destaque {
    max-width: 100%;
    margin: 0 auto 0.5em auto;
  }
}

@media (max-width: 800px) {
  .header__bar {
    /* Keep a single row layout on small tablets/large phones */
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
    padding: 0.5em 2vw;
  }

  .header__brand {
    /* Row with compact spacing */
    flex-direction: row;
    align-items: center;
    gap: 0.5em;
    padding: 0;
  }

  .header__brand-title {
    display: none;
  }

  .header__logo {
    height: 34px;
    margin-bottom: 0;
  }

  .header__icons {
    gap: 0.5em;
    margin-top: 0;
    justify-content: flex-end;
  }

  .header__icon {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 700px) {
  .header__brand-title {
    font-size: 1.2em;
  }

  .oportunidade__conteudo-flex {
    flex-direction: column;
    gap: 1em;
  }

  .oportunidade__img-card {
    justify-content: flex-start;
    margin-top: 1em;
  }

  .cidades-list {
    columns: 1;
    font-size: 1em;
    padding-left: 0.5em;
  }
}

@media (max-width: 600px) {
  .main {
    padding: 1em 0.5em;
  }

  .footer__logos {
    gap: 1em;
  }

  .oportunidade__titulo-flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3em;
  }

  .oportunidade__logo {
    height: 32px;
  }

  .header__bar {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5em;
    padding: 0.5em 2vw 0.5em 2vw;
  }

  .header__brand {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.5em;
    padding: 0 !important;
  }

  .header__brand-title {
    display: none !important;
  }

  .header__logo {
    height: 32px !important;
    margin-bottom: 0 !important;
  }

  .header__icons {
    gap: 0.5em;
    margin-top: 0;
    justify-content: flex-end;
  }

  .header__icon {
    width: 32px;
    height: 32px;
  }
}