/* Career page (template-career-v2.php) and single vacancy (single-vacancies.php).
   Builds on assets/cpd-v2 + assets/home-v2; the application form is Contact Form 7 with its own
   .as-career-contact__* field styles (section-career-contact.css in all-elements.min.css). */

.car2 h1.home2-hero__title { text-align: center; }
.car2 .car2-btn-ghost { background: var(--cpd-white); border: 1px solid var(--cpd-line-2); color: var(--cpd-ink); }
.car2 .car2-btn-ghost:hover { background: #F8F8F8; color: var(--cpd-ink); }
/* primary-button-white has a dark arrow tile: keep the arrow visible */
.car2 .primary-button-white .icon svg path { fill: #fff; }
.car2 .home2-link { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; line-height: 22px; font-weight: 500; color: var(--cpd-ink); text-decoration: none; }
.car2 .home2-link:hover { color: var(--cpd-red); }

/* What people like + stats */
.car2-like { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.car2-like .cpdv2-head { gap: 20px; }
.car2-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.car2-tags span { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; border-radius: 999px; background: var(--cpd-white); border: 1px solid var(--cpd-line); font-size: 15px; line-height: 22px; color: var(--cpd-ink-2); transition: border-color .2s, color .2s; }
.car2-tags span:hover { border-color: rgba(212, 16, 40, .35); color: var(--cpd-red); }
.car2-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.car2-stat { display: flex; flex-direction: column; gap: 12px; min-height: 190px; padding: 28px; border-radius: 18px; background: var(--cpd-white); border: 1px solid var(--cpd-line); }
.car2-stat:first-child { background: var(--cpd-red); border-color: var(--cpd-red); color: var(--cpd-white); }
.car2-stat strong { font-size: clamp(44px, 4.4vw, 64px); line-height: 1; font-weight: 500; letter-spacing: -.03em; }
.car2-stat span { margin-top: auto; font-size: 15px; line-height: 22px; color: var(--cpd-muted); }
.car2-stat:first-child span { color: rgba(255, 255, 255, .9); }

/* Hiring process (red band) */
.car2-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; counter-reset: none; }
.car2 .car2-step { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 26px 22px 30px; border-radius: 10px; background: linear-gradient(180deg, #FFFDF8 0%, #FFF5E7 100%); color: var(--cpd-ink); }
.car2-step__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.car2-step__num { font-size: 40px; line-height: 1; font-weight: 500; letter-spacing: -.03em; color: var(--cpd-red); }
.car2-step__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: var(--cpd-white); box-shadow: 0 1px 0 rgba(16, 24, 40, .05); }
.car2 .car2-step__icon img { width: 24px; height: 24px; object-fit: contain; display: block; }
.car2 .car2-step__title { margin: 6px 0 0; font-size: 21px; line-height: 27px; font-weight: 500; letter-spacing: -.02em; color: var(--cpd-ink); }
.car2 .car2-step p { margin: 0; font-size: 15px; line-height: 23px; color: var(--cpd-muted); }
.car2-step:not(:last-child)::after { content: ""; position: absolute; top: 46px; right: -12px; width: 12px; height: 2px; background: rgba(255, 255, 255, .5); }

/* Benefits: heading left, 2x2 cards right */
.car2-perks { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 2fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.car2-perks__head { position: sticky; top: 120px; }
.car2-perks__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.car2-perk { display: flex; flex-direction: column; gap: 12px; padding: clamp(24px, 2.6vw, 36px); border-radius: 18px; background: var(--cpd-white); box-shadow: 0 1px 2px rgba(16, 24, 40, .04); transition: transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s; }
.car2-perk:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -22px rgba(16, 24, 40, .35); }
.car2-perk__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.car2-perk__icon { display: inline-flex; }
.car2 .car2-perk__icon svg, .car2 .car2-perk__icon img { width: 56px; height: 56px; display: block; }
.car2-ico-bg { fill: #FFF0F2; transition: fill .3s; }
.car2-ico-fg { fill: var(--cpd-red); transition: fill .3s; }
.car2-perk:hover .car2-ico-bg { fill: var(--cpd-red); }
.car2-perk:hover .car2-ico-fg { fill: var(--cpd-white); }
.car2-perk__num { font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: .04em; color: var(--cpd-line-2); }
.car2 .car2-perk__title { margin: 0; font-size: clamp(22px, 1.9vw, 26px); line-height: 1.2; font-weight: 500; letter-spacing: -.02em; color: var(--cpd-ink); }
.car2 .car2-perk__text { margin: 0; font-size: 16px; line-height: 25px; color: var(--cpd-muted); }

/* Vacancies */
.car2-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; }
.car2-jobs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.car2-job { position: relative; display: flex; flex-direction: column; gap: 16px; min-height: 260px; padding: 28px; border-radius: 18px; background: var(--cpd-white); border: 1px solid var(--cpd-line); transition: border-color .25s, transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s; }
.car2-job:hover { border-color: rgba(212, 16, 40, .3); transform: translateY(-3px); box-shadow: 0 16px 32px -20px rgba(16, 24, 40, .3); }
.car2 .car2-job__title { margin: 0; font-size: clamp(22px, 1.9vw, 26px); line-height: 1.2; font-weight: 500; letter-spacing: -.02em; color: var(--cpd-ink); }
.car2 .car2-job__title a { color: inherit; text-decoration: none; }
.car2 .car2-job__title a::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.car2-job:hover .car2-job__title { color: var(--cpd-red); }
.car2-job__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--cpd-line); }
.car2-job__cta { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--cpd-red); }
.car2-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.car2-meta span { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: #F1F1F1; font-size: 13px; line-height: 18px; color: var(--cpd-ink-2); }
.car2-meta span.is-hot { background: #FFE9EC; color: var(--cpd-red); }
.car2-share { position: relative; z-index: 1; display: flex; align-items: center; gap: 6px; }
.car2-share__label { margin-right: 4px; font-size: 13px; color: var(--cpd-muted); }
.car2-share a { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: #F1F1F1; color: var(--cpd-ink-2); transition: background .2s, color .2s; }
.car2-share a:hover { background: var(--cpd-ink); color: var(--cpd-white); }
.car2-share svg { width: 15px; height: 15px; display: block; }
.car2-empty { padding: 32px; border-radius: 18px; background: var(--cpd-white); border: 1px dashed var(--cpd-line-2); font-size: 17px; line-height: 26px; color: var(--cpd-muted); }

/* "Didn't find your vacancy?" strip */
.car2-strip { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: clamp(28px, 4vw, 48px) clamp(24px, 4vw, 56px); border-radius: 22px; background: var(--cpd-ink); color: var(--cpd-white); position: relative; overflow: hidden; }
.car2-strip::before { content: ""; position: absolute; right: -40px; top: -40px; width: 200px; height: 200px; background: linear-gradient(135deg, var(--cpd-red) 0 50%, transparent 50%); opacity: .9; border-radius: 22px; transform: rotate(8deg); }
.car2-strip > * { position: relative; }
.car2 .car2-strip__title { margin: 0; font-size: clamp(26px, 2.6vw, 38px); line-height: 1.15; font-weight: 500; letter-spacing: -.02em; color: var(--cpd-white); }
.car2-strip__text { margin-top: 8px; font-size: 18px; line-height: 26px; color: #D2D2D2; }

/* Apply / recruiter form */
.car2-apply { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 20px; align-items: stretch; }
.car2-apply__intro { display: flex; flex-direction: column; gap: 20px; padding: clamp(28px, 3.4vw, 48px); border-radius: 22px; background: var(--cpd-red); color: var(--cpd-white); position: relative; overflow: hidden; }
.car2-apply__intro::after { content: ""; position: absolute; right: 0; bottom: 0; width: 160px; height: 160px; background: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0)); clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.car2 .car2-apply__title { margin: 0; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.1; font-weight: 500; letter-spacing: -.02em; color: var(--cpd-white); text-wrap: balance; }
.car2 .car2-apply__subtitle { margin: 0; font-size: 20px; line-height: 28px; font-weight: 500; color: var(--cpd-white); }
.car2 .car2-apply__text { margin: 0; font-size: 16px; line-height: 25px; color: rgba(255, 255, 255, .9); }
.car2-person { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; margin-top: auto; padding: 16px; border-radius: 16px; background: rgba(0, 0, 0, .14); border: 1px solid rgba(255, 255, 255, .2); }
.car2 .car2-person img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
.car2-person__name { display: flex; align-items: center; gap: 8px; font-size: 18px; line-height: 24px; font-weight: 500; }
.car2-person__name a { display: inline-flex; color: var(--cpd-white); opacity: .85; }
.car2-person__name a:hover { opacity: 1; }
.car2-person__role { font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, .85); }
.car2-apply__form { padding: clamp(24px, 3vw, 40px); border-radius: 22px; background: var(--cpd-white); border: 1px solid var(--cpd-line); }
.car2 .car2-apply__form.as-career-contact { padding: clamp(24px, 3vw, 40px); margin: 0; overflow: visible; width: auto; }
.car2 .car2-apply__form .as-career-contact__cf7 { max-width: none; }
.car2 .car2-apply__form .as-career-contact__form { padding: 0; background: none; border: 0; box-shadow: none; max-width: none; }
.car2 .car2-apply__form .as-career-contact__submit-row .primary-button-black { width: 100%; }

/* Single vacancy */
.car2-vac-hero .home2-hero { padding-top: clamp(168px, 16vw, 220px); padding-bottom: clamp(56px, 6vw, 88px); }
.car2-vac-hero .home2-hero__copy { gap: 20px; }
.car2-back { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; color: var(--cpd-muted); text-decoration: none; }
.car2-back:hover { color: var(--cpd-red); }
.car2-vac-hero .car2-meta { justify-content: center; }
.car2-vac-hero .car2-meta span { background: var(--cpd-white); border: 1px solid var(--cpd-line); padding: 6px 12px; font-size: 14px; }
.car2-vac-hero .car2-share { justify-content: center; }
.car2-vac-hero .car2-share a { background: var(--cpd-white); border: 1px solid var(--cpd-line); }
.car2-vac-hero .car2-share a:hover { background: var(--cpd-ink); border-color: var(--cpd-ink); }

.car2-vac { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.car2-vac__body { display: flex; flex-direction: column; gap: 16px; }
.car2-vac__block { padding: clamp(24px, 3vw, 40px); border-radius: 22px; background: var(--cpd-white); border: 1px solid var(--cpd-line); }
.car2 .car2-vac__h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; font-weight: 500; letter-spacing: -.02em; color: var(--cpd-ink); }
.car2-vac__h2::before { content: ""; width: 10px; height: 10px; border-radius: 2px; background: var(--cpd-red); flex: none; }
.car2-rich { font-size: 17px; line-height: 27px; color: var(--cpd-ink-2); }
.car2 .car2-rich p { margin: 0 0 14px; }
.car2 .car2-rich p:last-child { margin-bottom: 0; }
.car2 .car2-rich ul { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.car2 .car2-rich ul:last-child { margin-bottom: 0; }
.car2 .car2-rich li { position: relative; padding-left: 26px; }
.car2 .car2-rich li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 7px; height: 7px; border-radius: 2px; background: var(--cpd-red); }
.car2 .car2-rich p:has(+ ul) { margin-top: 22px; font-weight: 500; color: var(--cpd-ink); }
.car2 .car2-rich p:first-child:has(+ ul) { margin-top: 0; }

.car2-vac__aside { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 16px; }
.car2-summary { display: flex; flex-direction: column; gap: 18px; padding: 28px; border-radius: 22px; background: var(--cpd-ink); color: var(--cpd-white); }
.car2 .car2-summary__title { margin: 0; font-size: 22px; line-height: 28px; font-weight: 500; color: var(--cpd-white); }
.car2-summary dl { margin: 0; display: flex; flex-direction: column; }
.car2-summary dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.car2-summary dt { font-size: 14px; line-height: 20px; color: #B2B5BC; }
.car2-summary dd { margin: 0; font-size: 15px; line-height: 20px; font-weight: 500; text-align: right; color: var(--cpd-white); }
.car2 .car2-summary .primary-button { width: 100%; }
.car2-summary__note { font-size: 13px; line-height: 19px; color: #B2B5BC; }
.car2-aside-person { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 18px; background: var(--cpd-white); border: 1px solid var(--cpd-line); }
.car2 .car2-aside-person img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex: none; }
.car2-aside-person strong { display: block; font-size: 16px; line-height: 22px; font-weight: 500; color: var(--cpd-ink); }
.car2-aside-person span { display: block; font-size: 13px; line-height: 18px; color: var(--cpd-muted); }
.car2-vac__extra { margin-top: 0; }

@media (max-width: 1240px) {
    .car2-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .car2-step:not(:last-child)::after { display: none; }
}
@media (max-width: 1100px) {
    .car2-like, .car2-apply, .car2-vac, .car2-perks { grid-template-columns: 1fr; }
    .car2-perks__head { position: static; }
    .car2-jobs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .car2-vac__aside { position: static; }
}
@media (max-width: 768px) {
    .car2-steps, .car2-jobs, .car2-perks__grid { grid-template-columns: 1fr; }
    .car2-perk__top { margin-bottom: 8px; }
    .car2-stats { gap: 10px; }
    .car2-stat { min-height: 150px; padding: 20px; }
    .car2-tags span { min-height: 34px; padding: 6px 12px; font-size: 14px; }
    .car2-job { min-height: 0; }
    .car2-strip { flex-direction: column; align-items: flex-start; }
    .car2-rich { font-size: 16px; line-height: 25px; }
    .car2 .car2-apply__form .as-career-contact__input, .car2 .car2-apply__form .as-career-contact__textarea { font-size: 16px; }
}
