/* === Brand color (blue) === */
:root {
  --brand-blue: #2d8cff;
}

/* === GRID: 3 cards per row === */
.dn-vacancy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(380px, 1fr));
  gap: 36px;
  justify-content: center;
  padding: 0 20px;
}

@media (max-width: 1180px) {
  .dn-vacancy-grid {
    grid-template-columns: repeat(2, minmax(360px, 1fr));
  }
}
@media (max-width: 720px) {
  .dn-vacancy-grid {
    grid-template-columns: 1fr;
  }
}

/* === CARD === */
.job-card {
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
}
.job-card:hover {
  /* убираем движение при наведении */
  transform: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.job-card__inner {
  padding: 32px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* === LOCATION (top) === */
.job-card__eyebrow {
  font-size: 14px;
  color: #8E98A4;
  margin-bottom: 10px;
  letter-spacing: .02em;
}

/* === TITLE === */
.job-card__title {
  margin: 0 0 22px 0;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 700;
}
.job-card__title a {
  color: #111;
  text-decoration: none;
}
.job-card__title a:hover {
  text-decoration: underline;
}

/* === META (две равные колонки: 50% + 50%) === */
.job-card__meta {
  display: grid;
  grid-template-columns: 1fr 1px 1fr; /* левая колонка | разделитель | правая колонка */
  column-gap: 24px;
  align-items: start;
  margin-bottom: 32px;
}

.job-card__meta-item {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.job-card__meta-label {
  font-size: 14px;
  color: #8E98A4;
}

.job-card__meta-value {
  font-size: 15px;
  color: #1F2937;
  font-weight: 600;
}

/* Разделительная линия */
.job-card__divider {
  width: 1px;
  height: 100%;
  background: rgba(0, 0, 0, 0.08);
  align-self: stretch;
}

/* На мобильных — в столбик без разделителя */
@media (max-width: 560px) {
  .job-card__meta {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
  .job-card__divider { display: none; }
}

/* === CTA (View job role) === */
.job-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 600;
  color: var(--brand-blue);
  margin-top: auto;
}
.job-card__cta:hover {
  opacity: 0.9;
}
.job-card__cta-ico {
  transform: translateX(0);
  transition: transform 0.2s ease;
}
.job-card__cta:hover .job-card__cta-ico {
  transform: translateX(3px);
}

/* === Equal height === */
.job-card__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* === JOB  === */
/* =========================================================
   JOB TEMPLATE — полная стилизация страницы вакансии
   ========================================================= */

/* ====== Глобально для шаблона вакансии ====== */
.job-template,
.job-single {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #0f172a;
}

/* ===== H1 — заголовок вакансии (вверху) ===== */
.job-h1,
.job-template .wp-block-post-title {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: clamp(28px, 3.5vw, 40px) !important; /* адаптивно 28–40 */
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
  margin: 0 auto !important;
  max-width: 900px !important;
  text-align: center !important;
  text-transform: none !important;
}

/* ===== H2 внутри контента вакансии ===== */
.job-single .entry-content h2[data-heading-tag="H2"],
.job-single .wp-block-post-content h2[data-heading-tag="H2"],
.job-single h2[data-heading-tag="H2"].wp-block-heading {
  display: block !important;
  color: #111827 !important;
  font-weight: 700 !important;
  font-size: clamp(20px, 2vw, 26px) !important; /* 20–26 */
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  margin: 32px 0 16px !important;
  text-transform: none !important;
}

/* Если внутри H2 стоит  — удерживаем гармоничную жирность */
.job-single h2[data-heading-tag="H2"] b {
  font-weight: 700 !important;
}

/* ===== Градиентная линия под H2 ===== */
.job-single .entry-content h2[data-heading-tag="H2"]::after,
.job-single .wp-block-post-content h2[data-heading-tag="H2"]::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin-top: 8px;
  background: linear-gradient(90deg, #2563eb 0%, #18304B 100%);
  border-radius: 3px;
  opacity: 0.9;
}

/* ===== H3 ===== */
.job-single h3 {
  font-weight: 600;
  font-size: 18px;
  margin-top: 24px;
  margin-bottom: 10px;
  color: #1e293b;
}

/* ===== Основной текст ===== */
.job-single p,
.job-single li {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #0f172a !important;
}
.job-single ul {
  padding-left: 1.25rem;
  margin: 0.5rem 0 1.5rem 0;
}
.job-single ul li {
  margin: 0.3rem 0;
}

/* ===== Карточка справа ===== */
.job-details-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 6px 22px rgba(2, 6, 23, 0.06);
}
.job-details-card .label {
  margin: 2px 0 0;
  font: 700 12.5px/1.3 Inter, system-ui;
  color: #475569;
}
.job-details-card .value {
  margin: 2px 0 8px;
  font: 600 15.5px/1.5 Inter, system-ui;
  color: #0f172a;
}
.job-details-card hr {
  border: 0;
  border-top: 1px solid #e2e8f0;
  opacity: 0.7;
  margin: 10px 0 14px;
}

/* ===== Кнопка "Apply now" ===== */
.job-apply-btn .wp-block-button__link {
  background: #2563eb;
  color: #fff;
  font-weight: 700;
  border-radius: 10px;
  padding: 12px 22px;
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.job-apply-btn .wp-block-button__link:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(37, 99, 235, 0.35);
  background: #1d4ed8;
}

/* ===== Back to Jobs ===== */
.job-back-link {
  margin: 8px 0 0;
}
.job-back-link a {
  color: #1d4ed8;
  font-weight: 600;
  text-decoration: none;
}
.job-back-link a:hover {
  text-decoration: underline;
}

/* ===== Мобильная адаптация ===== */
@media (max-width: 640px) {
  .job-h1,
  .job-template .wp-block-post-title {
    font-size: 28px !important;
  }
  .job-single .entry-content h2[data-heading-tag="H2"],
  .job-single .wp-block-post-content h2[data-heading-tag="H2"] {
    font-size: 20px !important;
    margin: 26px 0 14px !important;
  }
  .job-details-card {
    margin-top: 40px;
  }
}
