/* ==========================================================================
   Portal Brazuca — ajustes do CMS
   Este arquivo complementa o tema. Edite-o para personalizar sem
   mexer no CSS principal (assets/css/site.css).
   ========================================================================== */

/* Linhas criadas no construtor de paginas */
.pb-section { position: relative; }
.pb-row { align-items: start; }

@media (max-width: 900px) {
  .pb-row { grid-template-columns: 1fr !important; }
  .pb-hide-mobile { display: none !important; }
}
@media (min-width: 901px) {
  .pb-hide-desktop { display: none !important; }
}

/* Links dentro de titulos herdam a cor do tema */
.news-card h3 a,
.latest h3 a,
.most-read h3 a,
.culture-link h3 a,
.category-card-copy h3 a,
.feature-copy h3 a,
.community-side h3 a,
.business-feature h3 a,
.job-list h3 a,
.event-list h3 a,
.events-list-copy h3 a,
.job-result-copy h3 a,
.related-grid h3 a,
.sidebar-most a {
  color: inherit;
  text-decoration: none;
}
.news-card h3 a:hover,
.latest h3 a:hover,
.most-read h3 a:hover,
.category-card-copy h3 a:hover,
.job-result-copy h3 a:hover,
.events-list-copy h3 a:hover {
  text-decoration: underline;
}

/* Icones sociais do topo */
.socials a { margin-inline: 4px; text-decoration: none; }

/* Formularios de newsletter no rodape e barra lateral */
footer .newsletter { display: flex; gap: 8px; }
.sidebar-newsletter form { display: flex; flex-direction: column; gap: 8px; }

/* Diretorio de empresas */
.directory-search { display: flex; gap: 10px; margin: 18px 0; }
.directory-search input {
  flex: 1; padding: 12px 14px; border: 1px solid #dbe2ea; border-radius: 8px; font-size: 14px;
}
.directory-search button {
  padding: 12px 20px; border-radius: 8px; background: #0b2545; color: #fff;
  font-weight: 700; font-size: 13px; cursor: pointer; border: 0;
}
.directory-category-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.directory-category-row a {
  padding: 7px 14px; border: 1px solid #dbe2ea; border-radius: 999px;
  font-size: 12px; font-weight: 600; color: #4a5568; text-decoration: none;
}
.directory-category-row a.active { background: #0b2545; color: #fff; border-color: #0b2545; }

.directory-grid {
  display: grid; gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.directory-card-item {
  border: 1px solid #e6ebf1; border-radius: 12px; overflow: hidden; background: #fff;
  display: flex; flex-direction: column;
}
.directory-photo { min-height: 150px; background: #eef2f7; }
.directory-card-content { padding: 18px; flex: 1; }
.directory-card-content b { font-size: 11px; letter-spacing: .06em; color: #7c8798; display: block; margin: 10px 0 6px; }
.directory-card-content h3 { font-size: 17px; font-weight: 700; line-height: 1.3; margin-bottom: 8px; }
.directory-card-content p { font-size: 13px; color: #5a6577; line-height: 1.55; }
.directory-card-footer {
  display: flex; justify-content: space-between; gap: 10px;
  padding: 14px 18px; border-top: 1px solid #eef2f7; font-size: 13px; font-weight: 600;
}

/* Quadro de vagas */
.jobs-board { display: grid; gap: 34px; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; margin: 34px auto; }
.jobs-search { display: grid; gap: 10px; grid-template-columns: 2fr 1fr 1fr auto; margin-bottom: 22px; }
.jobs-search input, .jobs-search select {
  padding: 12px 14px; border: 1px solid #dbe2ea; border-radius: 8px; font-size: 14px; background: #fff;
}
.jobs-search button { padding: 12px 20px; border: 0; border-radius: 8px; background: #0b2545; color: #fff; font-weight: 700; cursor: pointer; }
.jobs-list-heading, .agenda-heading {
  display: flex; justify-content: space-between; align-items: baseline;
  padding-bottom: 12px; border-bottom: 2px solid #0b2545; margin-bottom: 18px;
}
.jobs-list-heading h2, .agenda-heading h2 { font-size: 22px; font-weight: 800; }
.jobs-list-heading span, .agenda-heading span { font-size: 12px; color: #7c8798; }
.jobs-results { display: flex; flex-direction: column; gap: 14px; }
.job-result {
  display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 16px;
  padding: 18px; border: 1px solid #e6ebf1; border-radius: 12px; background: #fff; align-items: center;
}
.job-result.is-featured { border-color: #f0c14b; box-shadow: 0 0 0 1px #f0c14b33; }
.job-result-copy h3 { font-size: 17px; font-weight: 700; margin-bottom: 6px; }
.job-company { font-size: 12px; color: #7c8798; font-weight: 600; }
.job-labels { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.job-labels span {
  font-size: 11px; padding: 4px 9px; border-radius: 999px;
  background: #f1f5f9; color: #4a5568; font-weight: 600;
}
.job-result-copy p { font-size: 13px; color: #5a6577; line-height: 1.5; }
.job-meta { font-size: 12px; color: #94a1b2; margin-top: 6px; }
.job-result-action a { font-size: 13px; font-weight: 700; color: #0b2545; white-space: nowrap; }

/* Agenda de eventos */
.events-agenda { display: grid; gap: 34px; grid-template-columns: minmax(0,1fr) 320px; align-items: start; margin: 34px auto; }
.events-search { display: grid; gap: 10px; grid-template-columns: 2fr 1fr auto; margin-bottom: 22px; }
.events-search input, .events-search select {
  padding: 12px 14px; border: 1px solid #dbe2ea; border-radius: 8px; font-size: 14px; background: #fff;
}
.events-search button { padding: 12px 20px; border: 0; border-radius: 8px; background: #0b2545; color: #fff; font-weight: 700; cursor: pointer; }

/* Resultados de busca */
.search-result { padding: 20px 0; border-bottom: 1px solid #eef2f7; }
.search-result-kicker { font-size: 11px; letter-spacing: .06em; color: #7c8798; font-weight: 700; }
.search-result h3 { font-size: 19px; font-weight: 700; margin: 6px 0 8px; line-height: 1.35; }
.search-result p { font-size: 14px; color: #5a6577; line-height: 1.6; }
.search-result-meta { font-size: 12px; color: #94a1b2; margin-top: 8px; }
.search-type-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.search-type-tabs a {
  padding: 8px 16px; border: 1px solid #dbe2ea; border-radius: 999px;
  font-size: 13px; font-weight: 600; color: #4a5568; text-decoration: none;
}
.search-type-tabs a.active { background: #0b2545; color: #fff; border-color: #0b2545; }

/* Botao carregar mais */
a.load-more {
  display: block; text-align: center; margin: 26px auto 0; padding: 13px 24px;
  border: 1px solid #dbe2ea; border-radius: 8px; font-weight: 700; font-size: 13px;
  color: #0b2545; max-width: 320px; text-decoration: none;
}
a.load-more:hover { background: #f7fafc; }

@media (max-width: 900px) {
  .jobs-board, .events-agenda { grid-template-columns: 1fr; }
  .jobs-search, .events-search { grid-template-columns: 1fr; }
}

/* Retorno dos formularios (proposta comercial e newsletter) */
.pb-form-ok,
.pb-form-error {
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 14px;
  margin-bottom: 18px;
  font-weight: 600;
}
.pb-form-ok { background: #e7f6ec; color: #1c6b3f; border: 1px solid #b9e3c8; }
.pb-form-error { background: #fdeaea; color: #9e2b2b; border: 1px solid #f3c2c2; }
