/* ================================================================
   vacante.css — Página de detalle de puesto de trabajo
================================================================ */

/* ── Hero ─────────────────────────────────────────────────────── */
.vacante-hero {
  padding: 120px 0 60px;
  background: var(--surface, #161b16);
  border-bottom: none;
}

.vacante-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.40);
  text-decoration: none;
  margin-bottom: 32px;
  transition: color 0.2s;
}
.vacante-back:hover { color: #8aab8b; }
.vacante-back svg { flex-shrink: 0; }

.vacante-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8aab8b;
  margin-bottom: 16px;
}
.vacante-tag-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #8aab8b;
}

.vacante-hero h1 {
  font-family: 'Syne', sans-serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.1;
  color: #ffffff;
  margin-bottom: 24px;
}

.vacante-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 32px;
}
.vacante-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  color: rgba(255,255,255,0.55);
}
.vacante-meta-item svg { color: #8aab8b; flex-shrink: 0; }

.vacante-apply-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 15px 32px;
  background: #607561;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.2s, transform 0.15s;
}
.vacante-apply-btn:hover { background: #4d6050; transform: translateY(-2px); }

/* ── Cuerpo ───────────────────────────────────────────────────── */
.vacante-body {
  padding: 64px 0 100px;
  background: #f5f4f0;
}

.vacante-content-col {
  max-width: 720px;
}

/* Skeleton loader */
.vacante-skeleton {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.vacante-hero .sk-line {
  background: linear-gradient(90deg, rgba(255,255,255,0.08) 25%, rgba(255,255,255,0.14) 50%, rgba(255,255,255,0.08) 75%);
}
.sk-line {
  height: 16px;
  background: linear-gradient(90deg, #e4e4e4 25%, #efefef 50%, #e4e4e4 75%);
  background-size: 200% 100%;
  border-radius: 4px;
  animation: sk-shimmer 1.4s infinite;
}
.sk-line.sk-title  { height: 28px; width: 55%; margin-bottom: 8px; }
.sk-line.sk-short  { width: 35%; }
.sk-line.sk-medium { width: 70%; }
@keyframes sk-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Error state */
.vacante-error {
  text-align: center;
  padding: 80px 20px;
  color: rgba(26,26,26,0.45);
}
.vacante-error h2 {
  font-family: 'Syne', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 12px;
}

/* ── Secciones de contenido ──────────────────────────────────── */
.vacante-section {
  margin-bottom: 40px;
}
.vacante-section-title {
  font-family: 'Syne', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #1a1a1a;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid #607561;
  display: inline-block;
}
.vacante-section p {
  font-size: 15px;
  color: rgba(26,26,26,0.7);
  line-height: 1.75;
  margin-bottom: 10px;
}
.vacante-section ul,
.vacante-section ol {
  padding-left: 20px;
  margin-bottom: 10px;
}
.vacante-section li {
  font-size: 15px;
  color: rgba(26,26,26,0.7);
  line-height: 1.7;
  margin-bottom: 4px;
}
.vacante-section li::marker { color: #607561; }

/* ── Sidebar info ────────────────────────────────────────────── */
.vacante-sidebar {
  position: sticky;
  top: 100px;
}

.vacante-info-card {
  background: #fff;
  border-radius: 10px;
  padding: 28px;
  border: 1px solid rgba(26,26,26,0.08);
}
.vacante-info-card h3 {
  font-family: 'Syne', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(26,26,26,0.4);
  margin-bottom: 20px;
}
.vic-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(26,26,26,0.06);
}
.vic-item:last-child { border-bottom: none; }
.vic-icon {
  width: 34px; height: 34px;
  border-radius: 8px;
  background: rgba(96,117,97,0.1);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #607561;
}
.vic-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(26,26,26,0.38);
  font-weight: 600;
  margin-bottom: 2px;
}
.vic-value {
  font-size: 14px;
  color: #1a1a1a;
  font-weight: 500;
}

.vacante-apply-block {
  margin-top: 24px;
  text-align: center;
}
.vacante-apply-block .vacante-apply-btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 991px) {
  .vacante-hero { padding: 100px 0 48px; }
  .vacante-sidebar { position: static; margin-top: 40px; }
}
@media (max-width: 767px) {
  .vacante-hero { padding: 80px 0 36px; }
  .vacante-body { padding: 40px 0 70px; }
}
