/* Bridge: classes usadas pelas páginas internas, com o visual do tema Jobtex */
.container { max-width: 1290px; margin: 0 auto; width: 100%; }
.panel-white {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
}
.font-sm { font-size: 14px; }
.font-xs { font-size: 12px; }
.color-text-paragraph-2 { color: #706c83; }

/* Location dropdown (react-dropdown) alinhado ao tema */
.select-location .Dropdown-control {
  padding: 0 36px 0 30px;
  border: none;
  background: transparent;
  display: flex;
  align-items: center;
  min-height: 48px;
  cursor: pointer;
}
.select-location .Dropdown-placeholder { padding-left: 0 !important; color: #706c83; font-size: 15px; }
.select-location .Dropdown-arrow {
  border-color: #706c83 transparent transparent;
  top: 50%;
  margin-top: -2px;
  right: 14px;
}
.select-location.is-open .Dropdown-arrow { border-color: transparent transparent #706c83; margin-top: -6px; }
.select-location .Dropdown-menu { border: 1px solid #e5e5e5; border-radius: 8px; margin-top: 6px; }
.select-location .Dropdown-option { padding: 10px 16px; font-size: 14px; }
.select-location .Dropdown-option.is-selected, .select-location .Dropdown-option:hover { background: #f0fdf4; color: #16a34a; }

/* Botões do header */
.header-customs { display: flex; align-items: center; gap: 12px; }
.header-customs .header-sign-in {
  color: #05264e; font-weight: 600; font-size: 15px; text-decoration: none;
  padding: 10px 18px; border-radius: 8px; border: 1px solid #e5e7eb; background: #fff;
  transition: all .2s;
}
.header-customs .header-sign-in:hover { border-color: #16a34a; color: #16a34a; }
.header-customs .header-join-us {
  color: #fff; font-weight: 600; font-size: 15px; text-decoration: none;
  padding: 10px 20px; border-radius: 8px; background: #16a34a; border: 1px solid #16a34a;
  transition: all .2s;
}
.header-customs .header-join-us:hover { background: #12813b; }

/* ---- Correções visuais (jul/2026) ---- */

/* Hero: o tema apontava para images/slider/slider1.jpg (inexistente) e caía
   num cinza quebrado. Gradiente da marca no lugar. */
.tf-slider.sl1 {
  background-image:
    radial-gradient(ellipse 900px 480px at 85% 10%, rgba(20, 160, 119, 0.35), transparent 60%),
    linear-gradient(135deg, #041e3d 0%, #05264e 45%, #0c4a3e 100%);
}

/* CTA: substitui o CTA.png pixelado (emojis serrilhados sobre o texto) */
.wd-banner-CTA {
  background-image:
    radial-gradient(ellipse 700px 320px at 15% 100%, rgba(255, 255, 255, 0.08), transparent 60%),
    linear-gradient(100deg, #0e7a5c 0%, #14a077 60%, #1db387 100%);
  image-rendering: auto;
}

/* Chips de setor no hero: alinhar e quebrar linha direito no mobile */
.tf-slider .list-category {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
}

/* /jobs: empilhar filtros acima das vagas no mobile */
.jobs-layout { display: flex; gap: 32px; }
.jobs-sidebar { width: 220px; flex-shrink: 0; }
.jobs-main { flex: 1; min-width: 0; }
@media (max-width: 767px) {
  .jobs-layout { flex-direction: column; gap: 20px; }
  .jobs-sidebar { width: 100%; }
  .jobs-sidebar .panel-white { margin-bottom: 12px; }
}

/* Menu mobile do site (o tema não trazia hambúrguer) */
.site-mobile-toggle {
  display: none;
  background: none;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.site-mobile-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
  box-shadow: 0 12px 24px rgba(5, 38, 78, 0.08);
  z-index: 999;
  padding: 8px 20px 16px;
}
.site-mobile-menu.is-open { display: block; }
.site-mobile-menu a {
  display: block;
  padding: 12px 4px;
  font-size: 16px;
  font-weight: 600;
  color: #05264e;
  text-decoration: none;
  border-bottom: 1px solid #f3f4f6;
}
.site-mobile-menu a:last-child { border-bottom: none; }
@media (max-width: 991px) {
  .site-mobile-toggle { display: inline-flex; }
  #header { position: relative; }
}

/* Header compacto no mobile: some o Sign In (fica no menu), logo inteiro,
   botões sem quebra de linha */
.site-mobile-toggle svg { display: block; }
@media (max-width: 767px) {
  .header-sign-in { display: none; }
  .header-customs { display: flex; align-items: center; gap: 10px; }
  .header-join-us { white-space: nowrap; padding: 10px 16px !important; }
  #logo .site-logo { max-width: 140px; height: auto; }
  .sticky-area-wrap { gap: 8px; }
  .header-ct-left .categories { display: none; }
}

/* Conteudo rich-text: editor Tiptap e descricoes renderizadas
   (o reset global do tema zera list-style) */
.ProseMirror ul, .rich-content ul { list-style: disc !important; padding-left: 24px; margin: 0 0 12px; }
.ProseMirror ol, .rich-content ol { list-style: decimal !important; padding-left: 24px; margin: 0 0 12px; }
.ProseMirror li, .rich-content li { list-style: inherit !important; margin-bottom: 4px; }
.ProseMirror p, .rich-content p { margin: 0 0 10px; }
.ProseMirror h3, .rich-content h3 { font-size: 17px; font-weight: 700; margin: 14px 0 8px; }

