/* =============================================================================
   LIGHT CONNECTION — Blocos de página do site público
   ========================================================================== */

/* --------------------------------- HERO ----------------------------------- */
.lc-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1100px 620px at 82% -10%, rgba(142, 131, 203, .30), transparent 60%),
    radial-gradient(760px 460px at 8% 108%, rgba(70, 36, 231, .34), transparent 62%),
    linear-gradient(168deg, #0B0820 0%, #150F35 52%, #1B1240 100%);
  color: var(--lc-on-dark);
  padding-block: clamp(3.5rem, 2rem + 7vw, 7.5rem);
}

/* Brilho âmbar de fundo: apenas decorativo */
.lc-hero__glow {
  position: absolute;
  top: -18%; right: -12%;
  width: 46vw; height: 46vw;
  max-width: 640px; max-height: 640px;
  background: radial-gradient(circle, rgba(254, 191, 3, .17) 0%, transparent 66%);
  pointer-events: none;
}

.lc-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(2rem, 1rem + 4vw, 4.5rem);
  align-items: center;
}

.lc-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--lc-2);
  padding: .4375rem .875rem;
  margin-bottom: var(--lc-5);
  background: rgba(254, 191, 3, .13);
  border: 1px solid rgba(254, 191, 3, .3);
  border-radius: var(--lc-radius-pill);
  color: var(--lc-amber);
  font-size: var(--lc-text-xs);
  font-weight: 660;
  letter-spacing: .04em;
}

.lc-hero__title {
  font-size: var(--lc-display);
  color: #fff;
  letter-spacing: -.03em;
  max-width: 16ch;
}
.lc-hero__text {
  margin-top: var(--lc-5);
  font-size: var(--lc-text-lg);
  color: var(--lc-on-dark-muted);
  max-width: 52ch;
  text-wrap: pretty;
}
.lc-hero__actions { margin-top: var(--lc-8); }

.lc-hero__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lc-3) var(--lc-6);
  margin-top: var(--lc-8);
  padding: 0;
  list-style: none;
  font-size: var(--lc-text-sm);
  color: var(--lc-on-dark-muted);
}
.lc-hero__highlights li { display: inline-flex; align-items: center; gap: var(--lc-2); }
.lc-hero__highlights svg { color: var(--lc-amber); flex-shrink: 0; }

/* Busca rápida */
.lc-quicksearch {
  display: grid;
  gap: var(--lc-4);
  padding: var(--lc-6);
  background: var(--lc-surface);
  border-radius: var(--lc-radius-lg);
  box-shadow: var(--lc-shadow-lg);
  color: var(--lc-text);
}
.lc-quicksearch__title { font-size: var(--lc-h4); }
.lc-quicksearch__text { font-size: var(--lc-text-xs); color: var(--lc-text-muted); margin-top: calc(var(--lc-2) * -1); }

@media (max-width: 980px) {
  .lc-hero__inner { grid-template-columns: 1fr; }
  .lc-hero__title { max-width: 20ch; }
}

/* -------------------------------- ETAPAS ----------------------------------- */
.lc-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr));
  gap: var(--lc-6);
  list-style: none;
  margin: 0; padding: 0;
  counter-reset: step;
}
.lc-steps__item {
  position: relative;
  padding: var(--lc-6);
  background: var(--lc-on-dark-surface);
  border: 1px solid var(--lc-on-dark-border);
  border-radius: var(--lc-radius);
}
.lc-steps__number {
  display: block;
  font-size: var(--lc-h2);
  font-weight: 800;
  line-height: 1;
  color: var(--lc-amber);
  margin-bottom: var(--lc-4);
  letter-spacing: -.04em;
}
.lc-steps__title { font-size: var(--lc-text-xl); color: #fff; margin-bottom: var(--lc-2); }
.lc-steps__text  { font-size: var(--lc-text-sm); color: var(--lc-on-dark-muted); }

/* --------------------------------- CHIPS ------------------------------------ */
.lc-chips { display: flex; flex-wrap: wrap; gap: var(--lc-3); }
.lc-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--lc-2);
  padding: .625rem 1rem;
  min-height: 46px;
  background: var(--lc-surface);
  border: 1px solid var(--lc-border);
  border-radius: var(--lc-radius-pill);
  color: var(--lc-text);
  font-size: var(--lc-text-sm);
  font-weight: 580;
  text-decoration: none;
  transition: border-color var(--lc-fast) var(--lc-ease), transform var(--lc-fast) var(--lc-ease), box-shadow var(--lc-fast) var(--lc-ease);
}
.lc-chip:hover { border-color: var(--lc-violet); color: var(--lc-indigo-800); transform: translateY(-2px); box-shadow: var(--lc-shadow); }
.lc-chip__icon { color: var(--lc-indigo-700); display: inline-flex; }

/* ---------------------------- CONTRATAÇÃO URGENTE ---------------------------- */
.lc-urgent { background: linear-gradient(135deg, #FFFBF0 0%, #FFF6E0 100%); }
.lc-urgent__inner { display: grid; gap: var(--lc-8); }
.lc-urgent__content { max-width: 72ch; }
.lc-urgent .lc-eyebrow { color: #8A5A00; }
.lc-urgent .lc-eyebrow::before { display: none; }

.lc-checklist { list-style: none; margin: var(--lc-6) 0; padding: 0; display: grid; gap: var(--lc-3); }
.lc-checklist li { display: flex; gap: var(--lc-3); align-items: flex-start; font-size: var(--lc-text-base); }
.lc-checklist svg { color: var(--lc-success); flex-shrink: 0; margin-top: 3px; }

.lc-urgent__note {
  display: flex; gap: var(--lc-3); align-items: flex-start;
  padding: var(--lc-4);
  margin-bottom: var(--lc-6);
  background: rgba(255, 255, 255, .72);
  border-left: 3px solid var(--lc-amber);
  border-radius: var(--lc-radius-sm);
  font-size: var(--lc-text-sm);
  color: var(--lc-text-muted);
}
.lc-urgent__note svg { flex-shrink: 0; margin-top: 2px; color: #8A5A00; }

/* --------------------------------- PÚBLICOS ---------------------------------- */
.lc-audience {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--lc-4);
  padding: var(--lc-8);
  border-radius: var(--lc-radius-lg);
  background: var(--lc-surface);
  border: 1px solid var(--lc-border);
}
.lc-audience h3 { font-size: var(--lc-h3); }
.lc-audience p { color: var(--lc-text-muted); }
.lc-audience .lc-btn { margin-top: auto; }
.lc-audience--company { border-top: 4px solid var(--lc-indigo); }
.lc-audience--candidate { border-top: 4px solid var(--lc-amber); }

/* --------------------------------- FAIXA CTA ---------------------------------- */
.lc-ctaband {
  background: linear-gradient(120deg, var(--lc-indigo-800) 0%, var(--lc-indigo) 58%, var(--lc-violet-600) 100%);
  color: #fff;
  padding-block: var(--lc-16);
}
.lc-ctaband__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lc-8); }
.lc-ctaband__title { color: #fff; font-size: var(--lc-h2); max-width: 18ch; }
.lc-ctaband__text { color: rgba(255,255,255,.82); max-width: 52ch; margin-top: var(--lc-3); }

/* ------------------------------ ESTADO VAZIO ----------------------------------- */
.lc-empty {
  display: grid; justify-items: center; gap: var(--lc-4);
  padding: var(--lc-16) var(--lc-6);
  text-align: center;
  background: var(--lc-surface-alt);
  border: 1px dashed var(--lc-border-strong);
  border-radius: var(--lc-radius);
  color: var(--lc-text-muted);
}
.lc-empty svg { color: var(--lc-border-strong); }

/* ------------------------------ CABEÇALHO DE PÁGINA ----------------------------- */
.lc-pagehead {
  background:
    radial-gradient(700px 380px at 88% -30%, rgba(142,131,203,.26), transparent 62%),
    linear-gradient(165deg, #0B0820 0%, #17123A 100%);
  color: var(--lc-on-dark);
  padding-block: clamp(2.75rem, 2rem + 4vw, 5.25rem);
}
.lc-pagehead h1 { color: #fff; max-width: 20ch; }
.lc-pagehead__lead { margin-top: var(--lc-5); font-size: var(--lc-text-lg); color: var(--lc-on-dark-muted); max-width: 60ch; }
.lc-pagehead .lc-eyebrow { color: var(--lc-amber); }
.lc-pagehead__actions { margin-top: var(--lc-8); }

/* --------------------------------- CARDS DE VAGA --------------------------------- */
.lc-job-card { gap: var(--lc-3); }
.lc-job-card__head { display: flex; flex-wrap: wrap; gap: var(--lc-2); }
.lc-job-card__title a { color: inherit; text-decoration: none; }
.lc-job-card__title a:hover { color: var(--lc-indigo-700); }
.lc-job-card__meta { display: flex; flex-wrap: wrap; gap: var(--lc-2) var(--lc-4); list-style: none; margin: 0; padding: 0; font-size: var(--lc-text-xs); color: var(--lc-text-muted); }
.lc-job-card__meta li { display: inline-flex; align-items: center; gap: var(--lc-1); }
.lc-job-card__meta svg { color: var(--lc-violet-600); }
.lc-job-card__date { margin-top: auto; }

/* ----------------------------- CARDS DE CONTEÚDO -------------------------------- */
.lc-post-card { padding: 0; overflow: hidden; }
.lc-post-card__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--lc-surface-3); }
.lc-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 420ms var(--lc-ease); }
.lc-post-card:hover .lc-post-card__media img { transform: scale(1.04); }
.lc-post-card__body { display: flex; flex-direction: column; gap: var(--lc-3); padding: var(--lc-6); flex: 1; }
.lc-post-card__body .lc-card__title a { color: inherit; text-decoration: none; }
.lc-post-card__body .lc-card__title a:hover { color: var(--lc-indigo-700); }

/* ------------------------------- LAYOUT COM SIDEBAR ------------------------------ */
.lc-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(2rem, 1rem + 3vw, 4rem); align-items: start; }
.lc-split--reverse { grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); }
.lc-sticky { position: sticky; top: calc(var(--lc-header-h) + var(--lc-6)); }
@media (max-width: 980px) {
  .lc-split, .lc-split--reverse { grid-template-columns: 1fr; }
  .lc-sticky { position: static; }
}

/* ------------------------------- BOX DE FORMULÁRIO -------------------------------- */
.lc-formbox {
  padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
  background: var(--lc-surface);
  border: 1px solid var(--lc-border);
  border-radius: var(--lc-radius-lg);
  box-shadow: var(--lc-shadow);
}
.lc-formbox__title { font-size: var(--lc-h3); }
.lc-formbox__intro { color: var(--lc-text-muted); font-size: var(--lc-text-sm); margin-top: var(--lc-2); margin-bottom: var(--lc-6); }
.lc-fieldset { border: 0; padding: 0; margin: 0 0 var(--lc-6); }
.lc-fieldset > legend {
  padding: 0 0 var(--lc-3);
  font-size: var(--lc-text-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--lc-text-subtle);
  border-bottom: 1px solid var(--lc-border);
  width: 100%;
  margin-bottom: var(--lc-5);
}

/* ---------------------------------- FILTROS ---------------------------------------- */
.lc-filters {
  padding: var(--lc-5);
  background: var(--lc-surface);
  border: 1px solid var(--lc-border);
  border-radius: var(--lc-radius);
}
.lc-filters__title { font-size: var(--lc-text-base); font-weight: 700; margin-bottom: var(--lc-4); display: flex; align-items: center; gap: var(--lc-2); }
.lc-filters form { display: grid; gap: var(--lc-4); }
.lc-filters__actions { display: grid; gap: var(--lc-2); }
.lc-results-count { font-size: var(--lc-text-sm); color: var(--lc-text-muted); margin-bottom: var(--lc-5); }

/* --------------------------------- DETALHE DA VAGA ---------------------------------- */
.lc-jobdetail__meta { display: flex; flex-wrap: wrap; gap: var(--lc-3); margin-top: var(--lc-6); }
.lc-jobdetail__section + .lc-jobdetail__section { margin-top: var(--lc-10); }
.lc-jobdetail__section h2 { font-size: var(--lc-h4); margin-bottom: var(--lc-4); padding-bottom: var(--lc-2); border-bottom: 2px solid var(--lc-amber); display: inline-block; }
.lc-jobdetail__body { color: var(--lc-text-muted); }
.lc-jobdetail__body ul { padding-left: 1.3em; }
.lc-jobdetail__body li + li { margin-top: var(--lc-2); }
.lc-jobdetail__body p + p, .lc-jobdetail__body p + ul { margin-top: var(--lc-3); }

.lc-jobaside { display: grid; gap: var(--lc-4); padding: var(--lc-6); background: var(--lc-surface-alt); border: 1px solid var(--lc-border); border-radius: var(--lc-radius); }
.lc-jobaside__row { display: flex; justify-content: space-between; gap: var(--lc-3); font-size: var(--lc-text-sm); padding-bottom: var(--lc-3); border-bottom: 1px solid var(--lc-border); }
.lc-jobaside__row:last-of-type { border-bottom: 0; padding-bottom: 0; }
.lc-jobaside__label { color: var(--lc-text-muted); }
.lc-jobaside__value { font-weight: 620; text-align: right; }

/* --------------------------------- BLOCOS DE CONTEÚDO -------------------------------- */
.lc-feature { display: flex; gap: var(--lc-4); align-items: flex-start; }
.lc-feature__icon {
  display: grid; place-items: center;
  width: 46px; height: 46px; flex-shrink: 0;
  border-radius: var(--lc-radius-sm);
  background: var(--lc-surface-3);
  color: var(--lc-indigo-700);
}
.lc-feature__title { font-size: var(--lc-text-lg); font-weight: 660; margin-bottom: var(--lc-1); }
.lc-feature__text { font-size: var(--lc-text-sm); color: var(--lc-text-muted); }

.lc-numbered { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lc-6); counter-reset: lcstep; }
.lc-numbered li { display: flex; gap: var(--lc-4); counter-increment: lcstep; }
.lc-numbered li::before {
  content: counter(lcstep, decimal-leading-zero);
  display: grid; place-items: center;
  width: 42px; height: 42px; flex-shrink: 0;
  border-radius: 50%;
  background: var(--lc-ink); color: var(--lc-amber);
  font-weight: 700; font-size: var(--lc-text-sm);
}
.lc-numbered h3 { font-size: var(--lc-text-lg); margin-bottom: var(--lc-1); }
.lc-numbered p { font-size: var(--lc-text-sm); color: var(--lc-text-muted); }

/* Tabela comparativa */
.lc-table { width: 100%; border-collapse: collapse; font-size: var(--lc-text-sm); }
.lc-table th, .lc-table td { padding: var(--lc-4); text-align: left; border-bottom: 1px solid var(--lc-border); vertical-align: top; }
.lc-table thead th { background: var(--lc-surface-alt); font-weight: 700; font-size: var(--lc-text-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--lc-text-subtle); white-space: nowrap; }
.lc-table tbody tr:hover { background: var(--lc-surface-alt); }
.lc-table td:first-child { font-weight: 640; color: var(--lc-ink); }

/* ---------------------------------- PÁGINA DE ERRO ------------------------------------ */
.lc-error { padding-block: clamp(4rem, 3rem + 6vw, 9rem); }
.lc-error__code {
  font-size: clamp(4rem, 3rem + 8vw, 8rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.05em;
  background: linear-gradient(135deg, var(--lc-indigo) 0%, var(--lc-violet) 60%, var(--lc-amber) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: var(--lc-4);
}
.lc-error__actions { justify-content: center; margin-top: var(--lc-8); }
.lc-error__suggestions { margin-top: var(--lc-12); padding-top: var(--lc-8); border-top: 1px solid var(--lc-border); }
.lc-error__suggestions ul { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--lc-3); list-style: none; padding: 0; margin-top: var(--lc-4); }
.lc-error__suggestions a {
  display: inline-block; padding: .5rem 1rem;
  border: 1px solid var(--lc-border); border-radius: var(--lc-radius-pill);
  font-size: var(--lc-text-sm); text-decoration: none; color: var(--lc-text);
}
.lc-error__suggestions a:hover { border-color: var(--lc-indigo); color: var(--lc-indigo-700); }

/* -------------------------------- ARTIGO / LEGAL --------------------------------------- */
.lc-article__head { padding-block: var(--lc-12) var(--lc-8); }
.lc-article__meta { display: flex; flex-wrap: wrap; gap: var(--lc-4); font-size: var(--lc-text-xs); color: var(--lc-text-muted); margin-top: var(--lc-5); }
.lc-article__cover { margin-block: var(--lc-8); border-radius: var(--lc-radius); overflow: hidden; }
.lc-legal__toc { padding: var(--lc-5); background: var(--lc-surface-alt); border-radius: var(--lc-radius); }
.lc-legal__toc ol { margin: var(--lc-3) 0 0; padding-left: 1.3em; font-size: var(--lc-text-sm); }
.lc-legal__toc li + li { margin-top: var(--lc-2); }

/* ------------------------------ BLOCOS DE CONTEÚDO ---------------------------------- */
.lc-blocks .lc-block + .lc-block { margin-top: var(--lc-12); }
.lc-blocks .lc-block h2 {
  font-size: var(--lc-h3);
  margin-bottom: var(--lc-5);
  padding-bottom: var(--lc-2);
  border-bottom: 2px solid var(--lc-amber);
  display: inline-block;
}
.lc-blocks .lc-checklist { margin-top: 0; }

/* Lista de links das barras laterais */
.lc-linklist { list-style: none; margin: var(--lc-4) 0 0; padding: 0; display: grid; gap: var(--lc-1); }
.lc-linklist a {
  display: flex; align-items: center; gap: var(--lc-3);
  padding: var(--lc-3);
  min-height: 44px;
  border-radius: var(--lc-radius-sm);
  color: var(--lc-text);
  font-size: var(--lc-text-sm);
  font-weight: 560;
  text-decoration: none;
}
.lc-linklist a:hover { background: var(--lc-surface-alt); color: var(--lc-indigo-700); }
.lc-linklist svg { color: var(--lc-violet-600); flex-shrink: 0; }

/* Chip ativo (filtros de categoria) */
.lc-chip.is-current { background: var(--lc-ink); border-color: var(--lc-ink); color: #fff; }
.lc-chip.is-current .lc-badge { background: rgba(255,255,255,.18); color: #fff; }

/* Agrupamento de especialidades por área */
.lc-specialty-group + .lc-specialty-group { margin-top: var(--lc-16); }
.lc-specialty-group__title {
  font-size: var(--lc-h4);
  margin-bottom: var(--lc-6);
  padding-bottom: var(--lc-3);
  border-bottom: 1px solid var(--lc-border);
}
