/**
 * @file
 * Estilos do script-painel (botão "Salvar Vaga").
 */

/* ── Painel: layout full-width ───────────────────────────────────────────── */

body.path-painel {
  overflow-x: hidden;
}

/* Cobre páginas do painel acessadas via alias (ex: /node/add/vagas via /painel/empresa/cadastro/vaga) */
#page-wrapper.is-painel-page {
  overflow-x: hidden;
}

.container-full {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

#page-wrapper.is-painel-page .row-offcanvas {
  --bs-gutter-x: 0;
  margin-left: 0;
  margin-right: 0;
}

#page-wrapper.is-painel-page main.main-content {
  padding-left: 0;
  padding-right: 0;
  max-width: 100%;
  flex: 0 0 100%;
}

#page-wrapper.is-painel-page .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

.moderador-candidaturas,
.moderador-candidatos,
.empresa-candidaturas,
.vagas-salvas,
.vagas-aplicadas {
  padding: 2rem 5% 3rem;
  min-height: calc(100vh - 180px);
}

.moderador-candidaturas {
  padding-left: 0;
}

.moderador-candidatos {
  padding-left: 0;
}

#page-wrapper.is-painel-page main .section:has(.moderador-candidaturas) {
  padding-left: 0;
}

#page-wrapper.is-painel-page main .section:has(.moderador-candidatos) {
  padding-left: 0;
}

.salvar-vaga-spinner {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: salvar-vaga-spin 0.6s linear infinite;
  vertical-align: middle;
}

@keyframes salvar-vaga-spin {
  to {
    transform: rotate(360deg);
  }
}

.ui-btn--saved {
  background-color: var(--bs-success, #198754);
  border-color: var(--bs-success, #198754);
  color: #fff;
}

.ui-btn--saved:hover {
  background-color: var(--bs-danger, #dc3545);
  border-color: var(--bs-danger, #dc3545);
  color: #fff;
}

/* Mensagem pós-candidatura */
.vaga-ja-aplicada {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 0 0.75rem;
  padding: 0.75rem 1.75rem;
  border-radius: 12px;
  background-color: var(--bs-success, #198754);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
}

/* Vagas Salvas — listagem no painel */
.vagas-salvas {  padding: 2rem 2rem 3rem;
  min-height: calc(100vh - 180px);
}

.vagas-salvas .card {
  border-radius: 0.5rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
}

.vagas-salvas .table > :not(caption) > * > * {
  vertical-align: middle;
}

/* Vagas Aplicadas — listagem no painel */
.vagas-aplicadas {
  padding: 2rem 2rem 3rem;
  min-height: calc(100vh - 180px);
}

.vagas-aplicadas .card {
  border-radius: 0.5rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
}

.vagas-aplicadas .table > :not(caption) > * > * {
  vertical-align: middle;
}

/* Pager nas listagens do painel */
.vagas-salvas + nav.pager,
.vagas-aplicadas + nav.pager {
  margin-top: 1rem;
  padding: 0 2rem;
  text-align: center;
}

.vagas-salvas + nav.pager .pager__items,
.vagas-aplicadas + nav.pager .pager__items {
  justify-content: center;
}

/* ── Filtro exposto da listagem de pessoas/empresas ─────────────────────── */

#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  align-items: flex-end;
}

#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-item,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-item {
  margin: 0;
  display: flex;
  flex-direction: column;
}

#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-item-combine,
#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-item-status,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-item-user,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-item-status {
  flex: 1 1 240px;
  min-width: 220px;
}

#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form label,
#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-item__label,
#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .control-label,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 label,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-item__label,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .control-label {
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #243447;
}

#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form input[type="text"],
#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form select,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 input[type="text"],
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 select {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: 0.7rem 0.9rem;
  border: 1px solid #d4dce6;
  border-radius: 12px;
  box-sizing: border-box;
  background-color: #fff;
}

#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-actions,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-actions {
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-submit,
#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form input[type="submit"],
#page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form button[type="submit"],
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-submit,
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 input[type="submit"],
#page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 button[type="submit"] {
  min-height: 48px;
  padding: 0.7rem 1.4rem;
  border-radius: 12px;
}

@media (max-width: 767.98px) {
  #page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form,
  #page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 {
    display: block;
  }

  #page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-item,
  #page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-item,
  #page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-actions,
  #page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-actions {
    width: 100%;
  }

  #page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-actions,
  #page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-actions {
    margin-top: 0.25rem;
  }

  #page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form .form-submit,
  #page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form input[type="submit"],
  #page-wrapper.is-painel-page .view-id-user-admin-people .views-exposed-form button[type="submit"],
  #page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 .form-submit,
  #page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 input[type="submit"],
  #page-wrapper.is-painel-page #views-exposed-form-user-admin-people-page-1 button[type="submit"] {
    width: 100%;
  }
}

/* ── Formulários de node dentro do painel (ex: cadastro de vaga) ─────────── */

/* Área de conteúdo com padding interno adequado */
#page-wrapper.is-painel-page main .section {
  padding: 2rem 3%;
  box-sizing: border-box;
  max-width: 100%;
}

/* Colapsa o layout de duas colunas do node form para coluna única */
#page-wrapper.is-painel-page .layout-node-form {
  display: block;
  max-width: 100%;
  box-sizing: border-box;
}

#page-wrapper.is-painel-page .layout-region-node-main,
#page-wrapper.is-painel-page .layout-region-node-secondary {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Campos secundários (publicação, menu, etc.) com visual discreto */
#page-wrapper.is-painel-page .layout-region-node-secondary {
  margin-top: 1.5rem;
}

/* Garante que todos os inputs caibam na área disponível */
#page-wrapper.is-painel-page form input[type="text"],
#page-wrapper.is-painel-page form input[type="email"],
#page-wrapper.is-painel-page form input[type="number"],
#page-wrapper.is-painel-page form input[type="url"],
#page-wrapper.is-painel-page form input[type="date"],
#page-wrapper.is-painel-page form textarea,
#page-wrapper.is-painel-page form select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Editor WYSIWYG (CKEditor) e container de mídia não ultrapassam o pai */
#page-wrapper.is-painel-page .ck-editor,
#page-wrapper.is-painel-page .ck-editor__editable,
#page-wrapper.is-painel-page .ck-toolbar,
#page-wrapper.is-painel-page .field--widget-media-library-widget,
#page-wrapper.is-painel-page .media-library-widget {
  max-width: 100%;
  box-sizing: border-box;
}

/* Botões de ação do formulário */
#page-wrapper.is-painel-page .form-actions {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e2e6ed;
}

/* Oculta os toggles "Show row weights" nos elementos com tabledrag do painel */
#page-wrapper.is-painel-page .tabledrag-toggle-weight-wrapper {
  display: none !important;
}
