/*
 * /jobs/apply (recruitment/apply.blade.php). The heading band is .cms-hero from
 * cms-document.css; everything here is scoped to .lpc-apply. Dark mode at the bottom.
 */
.lpc-apply {
    --apply-brand: var(--brand, #684287);
    --apply-brand-hover: #553172;
    --apply-ink: #1f1330;
    --apply-text: #3d3548;
    --apply-muted: #5f5670;
    --apply-surface: #fff;
    --apply-border: #ece3f6;
    --apply-icon-bg: #f3e8fd;
    --apply-icon: #6a3aa0;
    --apply-note-bg: #eef8fc;
    --apply-note-border: #bfe3f0;
    --apply-note-icon: #1d8bb8;
    margin-top: 1.75rem;
    color: var(--apply-text);
}

/* ---------- Feature strip ---------- */
.lpc-apply__features {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: .5rem 1.25rem;
    display: grid;
    background: var(--apply-surface);
    border: 1px solid var(--apply-border);
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(91, 45, 142, .05);
}

.lpc-apply__feature {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 0;
}

.lpc-apply__feature + .lpc-apply__feature { border-top: 1px solid var(--apply-border); }

.lpc-apply__feature-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--apply-icon-bg);
    color: var(--apply-icon);
    font-size: 1.6rem;
}

.lpc-apply__feature-title {
    color: var(--apply-ink);
    font-size: 1.05rem;
    font-weight: 700;
    margin: .35rem 0 .3rem;
}

.lpc-apply__feature-text { margin: 0; color: var(--apply-muted); font-size: .95rem; line-height: 1.5; }

@media (min-width: 768px) {
    .lpc-apply__features { grid-template-columns: repeat(2, 1fr); column-gap: 1.5rem; }
    .lpc-apply__feature + .lpc-apply__feature { border-top: 0; }
}

@media (min-width: 1200px) {
    .lpc-apply__features { grid-template-columns: repeat(4, 1fr); column-gap: 0; padding: 1.25rem .5rem; }
    .lpc-apply__feature { padding: .25rem 1.25rem; }
    .lpc-apply__feature + .lpc-apply__feature { border-left: 1px solid var(--apply-border); }
}

/* ---------- Acceptance note ---------- */
.lpc-apply__note {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    margin: 0 0 1.75rem;
    padding: 1.25rem 1.5rem;
    background: var(--apply-note-bg);
    border: 1px solid var(--apply-note-border);
    border-radius: 14px;
    color: var(--apply-text);
    line-height: 1.6;
}

.lpc-apply__note > i { color: var(--apply-note-icon); font-size: 2.25rem; line-height: 1; flex: 0 0 auto; }
.lpc-apply__note p { margin: 0; }
.lpc-apply__note strong { color: var(--apply-ink); }

/* ---------- Start / resume ---------- */
.lpc-apply__cta {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1.25rem 2.5rem;
}

.lpc-apply__start {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    min-width: min(100%, 22rem);
    padding: .85rem 2rem;
    background: var(--apply-brand);
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-weight: 600;
    font-size: 1.25rem;
    box-shadow: 0 6px 18px rgba(104, 66, 135, .25);
}

.lpc-apply__start:hover,
.lpc-apply__start:focus-visible { background: var(--apply-brand-hover); color: #fff; }
.lpc-apply__start:focus-visible { outline: 3px solid #c9a7e8; outline-offset: 2px; }

.lpc-apply__saved { margin: .9rem 0 0; color: var(--apply-muted); }

.lpc-apply__resume {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-top: .6rem;
}

.lpc-apply__resume > i { font-size: 1.4rem; color: var(--apply-muted); }
.lpc-apply__resume p { margin: 0; color: var(--apply-ink); }

.lpc-apply__resume a,
.lpc-apply__links a {
    color: var(--apply-brand);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lpc-apply__resume a:hover,
.lpc-apply__links a:hover { color: var(--apply-brand-hover); text-decoration-thickness: 2px; }

@media (min-width: 768px) {
    .lpc-apply__resume { border-left: 1px solid var(--apply-border); padding-left: 2.5rem; min-height: 3.75rem; }
}

/* ---------- Links ---------- */
.lpc-apply__links {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 2rem;
    margin: 2rem 0 0;
}

.lpc-apply__links a { display: inline-flex; align-items: center; gap: .75rem; font-weight: 600; }
.lpc-apply__links i { font-size: 1.75rem; text-decoration: none; }

/* ---------- Dark mode (site-dark.css tokens) ---------- */
[data-bs-theme="dark"] .lpc-apply {
    --apply-brand: #c9a7e8;
    --apply-brand-hover: #dcc4f1;
    --apply-ink: #f1ecf6;
    --apply-text: #d3cadb;
    --apply-muted: #b0a6ba;
    --apply-surface: var(--lpc-surface, #211a29);
    --apply-border: var(--lpc-border, #3a3045);
    --apply-icon-bg: #3a2c4a;
    --apply-icon: #dcc4f1;
    --apply-note-bg: #172a33;
    --apply-note-border: #2c4c5a;
    --apply-note-icon: #7cc7e6;
}

/* The button keeps the light brand fill so white text stays readable. */
[data-bs-theme="dark"] .lpc-apply__start { background: #7d52a3; }
[data-bs-theme="dark"] .lpc-apply__start:hover,
[data-bs-theme="dark"] .lpc-apply__start:focus-visible { background: #8f63b6; }
