/* pp-card-v3.css — рестайл карточки вакансии, сердец и окна жалобы.
   Подключить ПОСЛЕДНИМ (после listing-ui-v2.css, vacancy-card.css, home-v2.css, vacancy-safety.css).
   Селекторы реальные, с запасом специфичности: body.pp-listing-ui-v2.pp-listing-ui-v2 перебивает page-front / page-vacancies / page-bookmarks.
   Разметку (pp-vacancy-card-v2*, pp-card-heart*, pp-modal*) НЕ менять. Шрифт Onest подключить локально (@font-face ниже). */
@font-face{font-family:"Onest";font-weight:400 800;font-style:normal;font-display:swap;src:url("/sites/all/themes/promopoisk_v3/fonts/onest/Onest-Variable-cyrillic.woff2") format("woff2"),url("/sites/all/themes/promopoisk_v3/fonts/onest/Onest-Variable-latin.woff2") format("woff2")}
:root{--c3-ink:#173c69;--c3-text:#344760;--c3-muted:#6d83a0;--c3-line:#dce7f4;--c3-tint:#edf5ff;--c3-accent:#2468c9;--c3-heart:#f0436a;--c3-heart-bg:#ffeef2;--c3-warn:#b85c1f;--c3-warn-bg:#fff1e6;--c3-ok:#138272;--c3-ok-bg:#e6f8f2;--c3-amber:#8a5a00;--c3-amber-bg:#fff2d6;--c3-vio:#4b3fc7;--c3-vio-bg:#ece9ff;--c3-blue-bg:#e6f0ff;--c3-f:"Onest","Avenir Next Cyr","Avenir Next",Arial,sans-serif}

/* ===== Карточка ===== */
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__body{font-family:var(--c3-f);min-height:0;padding:20px;border:1px solid var(--c3-line);border-radius:22px;background:#fff;box-shadow:none;gap:0}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2.promote .pp-vacancy-card-v2__body{border-color:#abd1fa;background:#f7fbff}
@media (hover:hover){body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2:hover .pp-vacancy-card-v2__body{transform:translateY(-2px);border-color:#abd1fa;box-shadow:0 18px 40px rgba(42,98,161,.14)}}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__company{gap:12px;margin-bottom:12px}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__mark{width:44px;height:44px;flex:0 0 44px;border-radius:13px;font-family:var(--c3-f);font-weight:800;font-size:17px}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__company-name{font-family:var(--c3-f);font-size:15px;font-weight:700;line-height:1.25;color:var(--c3-ink)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__company-sub{font-family:var(--c3-f);font-size:13px;font-weight:400;color:var(--c3-muted)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__title{font-family:var(--c3-f);margin:0 0 12px;font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.005em;color:var(--c3-ink)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__chips{gap:6px;margin:0 0 12px}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__chips li{font-family:var(--c3-f);min-height:0;padding:4px 11px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.4;background:var(--c3-blue-bg);color:var(--c3-accent)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__chips li::before{display:none}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__chips li.pp-chip--employment{background:var(--c3-amber-bg);color:var(--c3-amber)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__chips li.pp-chip--remote{background:var(--c3-ok-bg);color:var(--c3-ok)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__chips li.pp-chip--level{background:var(--c3-vio-bg);color:var(--c3-vio)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__chips li.pp-chip--location{background:var(--c3-blue-bg);color:var(--c3-accent)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__salary{font-family:var(--c3-f);margin:0;padding:0;font-size:16px;font-weight:700;color:var(--c3-ink);font-variant-numeric:tabular-nums}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__salary.is-empty{font-size:14px;font-weight:600;color:var(--c3-muted)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--c3-line);gap:10px}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-v2__meta{font-family:var(--c3-f);font-size:12.5px;color:var(--c3-muted)}

/* ===== Кнопки в карточке: сердце и «пожаловаться» (разбитое сердце) ===== */
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions{gap:8px}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart{width:42px;height:42px;min-width:42px;padding:0;border-radius:50%;border:1px solid var(--c3-line);background:#fff;color:var(--c3-muted);display:inline-grid;place-items:center;transition:background .2s,color .2s,border-color .2s}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart:hover,
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart.is-active{color:var(--c3-heart);border-color:var(--c3-heart);background:var(--c3-heart-bg)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart.is-active svg{fill:currentColor!important;stroke:currentColor!important;animation:c3pop .45s cubic-bezier(.3,1.6,.5,1)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart--report:hover,
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart--report.is-active{color:var(--c3-warn);border-color:var(--c3-warn);background:var(--c3-warn-bg)}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart--report.is-active svg{fill:none!important;animation:none}
body.pp-listing-ui-v2.pp-listing-ui-v2 .pp-vacancy-card-v2 .pp-vacancy-card-actions .pp-card-heart:focus-visible{outline:3px solid rgba(22,140,244,.35);outline-offset:2px}
@keyframes c3pop{0%{transform:scale(.6)}60%{transform:scale(1.28)}100%{transform:scale(1)}}

/* ===== Окно жалобы (pp-modal*, из pp_vacancy_safety) ===== */
.pp-modal-shell .pp-modal{font-family:var(--c3-f);border-radius:26px;padding:26px 26px 22px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.pp-modal-shell .pp-modal-head h2{font-family:var(--c3-f);font-size:24px;font-weight:800;letter-spacing:-.01em;color:var(--c3-ink)}
.pp-modal-shell .pp-modal-head p{color:var(--c3-muted)}
.pp-modal-shell .pp-modal-close{width:38px;height:38px;border-radius:50%;border:0;background:var(--c3-tint);color:var(--c3-text)}
.pp-modal-shell .pp-report-option{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--c3-line);border-radius:14px;background:#fff;color:var(--c3-ink);font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}
.pp-modal-shell .pp-report-option:hover{border-color:var(--c3-accent)}
.pp-modal-shell .pp-report-option:has(input:checked){border-color:var(--c3-accent);background:var(--c3-tint)}
.pp-modal-shell .pp-report-option input{appearance:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--c3-muted);margin:0;flex:none;display:grid;place-content:center}
.pp-modal-shell .pp-report-option input::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--c3-accent);transform:scale(0);transition:transform .15s}
.pp-modal-shell .pp-report-option input:checked{border-color:var(--c3-accent)}
.pp-modal-shell .pp-report-option input:checked::after{transform:scale(1)}
.pp-modal-shell .pp-button{font-family:var(--c3-f);font-weight:700;border-radius:12px}
.pp-modal-shell .pp-button-primary{border:0;color:#fff;background:linear-gradient(110deg,#078cff,#00bfe6)}
.pp-modal-shell .pp-button-primary:disabled{background:var(--c3-tint);color:var(--c3-muted)}
.pp-modal-shell .pp-button-secondary{background:none;border:0;color:var(--c3-accent)}
@media (max-width:560px){.pp-modal-shell .pp-modal{border-radius:26px 26px 0 0}}
@media (prefers-reduced-motion:reduce){body.pp-listing-ui-v2 .pp-vacancy-card-v2__body,.pp-card-heart{transition:none!important}.pp-card-heart.is-active svg{animation:none!important}}
