.vd-wrap{max-width:1060px;margin:36px auto;padding:0 20px;display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
.vd-hero{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px rgba(0,0,0,.07);margin-bottom:20px}
.vd-hero-top{display:flex;gap:20px;align-items:flex-start;margin-bottom:24px}
.vd-logo{width:110px;height:110px;flex-shrink:0;background:#F8FAFC;border-radius:12px;border:1px solid #E2E8F0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vd-logo img{max-width:96px;max-height:96px;object-fit:contain}
.vd-title{font-size:1.65rem;font-weight:800;color:#0f172a;margin:0 0 8px;line-height:1.3}
.vd-company{display:flex;align-items:center;gap:8px;font-size:1rem;color:#475569;margin-bottom:10px;font-weight:500}
.vd-salary{font-size:1.5rem;font-weight:700;color:#14b8a6;margin-bottom:14px}
.vd-badges{display:flex;flex-wrap:wrap;gap:7px}
.vd-badge{padding:5px 11px;border-radius:6px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:5px}
.vd-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:22px;padding-top:22px;border-top:1px solid #E2E8F0}
.vd-meta-item{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#F8FAFC;border-radius:10px}
.vd-meta-item i{width:18px;text-align:center;color:#14b8a6;font-size:.95rem;flex-shrink:0}
.vd-meta-label{font-size:10px;color:#94A3B8;text-transform:uppercase;font-weight:600;margin-bottom:2px}
.vd-meta-value{font-size:13px;color:#1E293B;font-weight:600}
.vd-section{background:#fff;border-radius:16px;padding:24px 32px;box-shadow:0 4px 20px rgba(0,0,0,.07);margin-bottom:16px}
.vd-section-title{font-size:1.05rem;font-weight:700;color:#0f172a;margin:0 0 16px;padding-left:12px;border-left:4px solid #14b8a6;display:flex;align-items:center;gap:8px}
.vd-section-title i{color:#14b8a6}
.vd-text{color:#334155;line-height:1.85;white-space:pre-wrap;font-size:.93rem}
.vd-skills{display:flex;flex-wrap:wrap;gap:8px}
.vd-skill{background:#F0FDFA;color:#0D9488;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;border:1.5px solid #99F6E4}
.vd-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}
.vd-benefit{display:flex;align-items:center;gap:9px;padding:11px 14px;background:#F0FDFA;border-radius:10px;color:#0D9488;font-weight:600;font-size:13px}
.vd-benefit i{color:#14b8a6;width:16px;text-align:center}
.vd-aside{position:sticky;top:80px}
.vd-sidebar-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 20px rgba(0,0,0,.07);margin-bottom:16px}
.vd-sidebar-title{font-size:11px;font-weight:700;color:#94A3B8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.vd-btn-apply{display:block;width:100%;padding:14px;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;transition:all .3s;box-shadow:0 4px 14px rgba(20,184,166,.3);margin-bottom:10px}
.vd-btn-apply:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,184,166,.4)}
.vd-btn-back{display:block;padding:11px;background:#F1F5F9;color:#64748B;border-radius:9px;font-size:13px;font-weight:600;text-align:center;text-decoration:none;transition:background .2s}
/* badge strip under title */
.offer-title-block__badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
/* vacancy-specific badge colours using offer-type-badge base */
.offer-badge--demo    {background:rgba(239,68,68,.12);color:#DC2626;border:1px solid rgba(239,68,68,.25)}
.offer-badge--premium {background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f}
.offer-badge--gov     {background:rgba(59,130,246,.12);color:#1D4ED8;border:1px solid rgba(59,130,246,.25)}
.offer-badge--verified{background:rgba(16,185,129,.12);color:#059669;border:1px solid rgba(16,185,129,.25)}
.offer-badge--agency  {background:rgba(236,72,153,.12);color:#DB2777;border:1px solid rgba(236,72,153,.25)}
.offer-badge--urgent  {background:rgba(239,68,68,.12);color:#DC2626;border:1px solid rgba(239,68,68,.25)}
/* contact name row */
.offer-contact-name{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#475569;margin-top:10px;padding-top:10px;border-top:1px solid #F1F5F9}
.offer-contact-name i{color:#14b8a6}
/* urgent text */
.text-red{color:#EF4444}
/* salary price — smaller so long ranges don't wrap */
.offer-price-card__price{font-size:1.45rem;letter-spacing:-.3px}
/* offer-short-desc — полная обводка */
.offer-short-desc{
  border:2px solid #14b8a6 !important;
  border-radius:12px !important;
  padding:14px 18px !important;
}
/* sidebar card spacing */
.offer-sidebar-card--mt{margin-top:12px}
/* sidebar action buttons spacing */
.offer-sidebar-btn-mt{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:7px}
/* ─── Логотип + текст в заголовке ───────────────────────────── */
.vac-hero-layout{display:flex;gap:20px;align-items:flex-start;margin-top:14px}
.vac-hero-logo{flex-shrink:0}
.vac-hero-logo__img{
  width:80px;height:80px;
  object-fit:contain;
  border-radius:14px;
  border:1.5px solid #E2E8F0;
  background:#F8FAFC;
  display:block;
}
.vac-hero-logo__avatar{
  width:80px;height:80px;
  border-radius:14px;
  background:linear-gradient(135deg,#14b8a6,#0891b2);
  color:#fff;font-size:1.5rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.vac-hero-content{flex:1;min-width:0}

/* ─── Мета-пилюли — цветные ─────────────────────────────────── */
.offer-meta-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 11px;border-radius:4px;
  font-size:.72rem;font-weight:700;line-height:1;
  text-decoration:none;white-space:nowrap;
  text-transform:uppercase;
  letter-spacing:.05em;
  border:1px solid transparent;
  transition:opacity .15s;
}
.offer-meta-pill:hover{opacity:.85}
/* компания — бирюзовая */
.offer-meta-pill--company{background:#CCFBF1;color:#0d9488;border-color:#5eead4}
.offer-meta-pill--company i{color:#0d9488}
/* город — синяя */
.offer-meta-pill--city{background:#DBEAFE;color:#1D4ED8;border-color:#93C5FD}
.offer-meta-pill--city i{color:#3B82F6}
/* просмотры — фиолетовая */
.offer-meta-pill--views{background:#EDE9FE;color:#6D28D9;border-color:#C4B5FD}
.offer-meta-pill--views i{color:#7C3AED}
/* дата — янтарная */
.offer-meta-pill--date{background:#FEF3C7;color:#92400E;border-color:#FCD34D}
.offer-meta-pill--date i{color:#D97706}
/* ДЕМО — красный */
.offer-meta-pill--demo{background:#FEE2E2;color:#B91C1C;border-color:#FCA5A5;font-weight:700}
.offer-meta-pill--demo i{color:#DC2626}
/* Государственная — синий */
.offer-meta-pill--gov{background:#DBEAFE;color:#1D4ED8;border-color:#93C5FD;font-weight:700}
.offer-meta-pill--gov i{color:#2563EB}
/* Частная — зелёный */
.offer-meta-pill--private{background:#DCFCE7;color:#166534;border-color:#86EFAC;font-weight:700}
.offer-meta-pill--private i{color:#16A34A}

/* type badge — прямоугольный */
.offer-detail-page .offer-type-badge{border-radius:4px;}
/* breadcrumb line */
.vd-breadcrumb{max-width:1060px;margin:20px auto 0;padding:0 20px;font-size:.8rem}
.vd-breadcrumb a{color:#64748b;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.vd-breadcrumb a:hover{color:#14b8a6}
/* expires urgent */
.vd-meta-value--urgent{color:#EF4444}
/* language row */
.vd-lang-row{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#F8FAFC;border-radius:8px;margin-bottom:7px;font-size:.875rem}
.vd-lang-row i{color:#14b8a6}
/* contact links */
.vd-contact-link{color:#14b8a6;text-decoration:none;word-break:break-all}
.vd-contact-link:hover{color:#0d9488;text-decoration:underline}
/* stat row icon colors */
.vd-stat-icon--purple{color:#8B5CF6;margin-right:5px}
.vd-stat-icon--amber{color:#F59E0B;margin-right:5px}
.vd-stat-icon--sky{color:#0EA5E9;margin-right:5px}
.vd-stat-icon--red{color:#EF4444;margin-right:5px}
/* sidebar CTA card */
.vd-sidebar-cta{background:linear-gradient(135deg,#F0FDFA,#CCFBF1);border:1px solid #99F6E4}
.vd-sidebar-cta__head{text-align:center;margin-bottom:14px}
.vd-sidebar-cta__title{font-size:1rem;font-weight:700;color:#0f172a;margin-bottom:4px}
.vd-sidebar-cta__sub{font-size:.75rem;color:#64748B}
/* benefits other block */
.vd-benefits-other{margin-top:12px}
/* company icon fallback */
.vd-company-icon{width:38px;height:38px;background:#F1F5F9;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vd-btn-back:hover{background:#E2E8F0;color:#334155}
.vd-stat-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #F1F5F9;font-size:13px}
.vd-stat-row:last-child{border-bottom:none}
.vd-stat-row .lbl{color:#94A3B8}
.vd-stat-row .val{color:#334155;font-weight:600}
.vd-contact-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #F1F5F9;font-size:13px}
.vd-contact-item:last-child{border-bottom:none}
.vd-contact-item i{width:18px;text-align:center;color:#14b8a6}
@media(max-width:860px){.vd-wrap{grid-template-columns:1fr}.vd-aside{position:static}.vd-hero-top{flex-direction:column}.vd-title{font-size:1.35rem}}
