:root {
    --primary-blue: #0f4c97;
    --primary-hover: #123a72;
    --accent-orange: #f97316;
    --accent-hover: #ea580c;
    --bg-page: #f5f8fc;
    --bg-card: #ffffff;
    --text-dark: #0f172a;
    --text-main: #334155;
    --text-muted: #64748b;
    --border-color: #e2e8f0;
    --soft-blue: #eef7ff;
    --soft-green: #ecfdf5;
    --green: #16a34a;
    --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
    --shadow-md: 0 12px 28px rgba(15, 23, 42, 0.08);
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-full: 999px;
}

* { box-sizing: border-box; }

body.jd-page {
    margin: 0;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    background: var(--bg-page);
    color: var(--text-main);
    line-height: 1.65;
}

a { text-decoration: none; transition: 0.18s ease; }

.jd-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

.jd-hero {
    background:
        radial-gradient(circle at 90% 5%, rgba(249, 115, 22, 0.18), transparent 25%),
        linear-gradient(135deg, #082f5f, var(--primary-blue));
    padding: 34px 0 38px;
    color: #ffffff;
    margin-bottom: 34px;
}

.jd-back-link {
    display: inline-flex;
    color: rgba(255,255,255,0.82);
    font-weight: 800;
    margin-bottom: 20px;
}

.jd-back-link:hover { color: #ffffff; }

.jd-hero-card {
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: var(--radius-lg);
    padding: 24px;
    backdrop-filter: blur(8px);
}

.jd-company-logo,
.jd-company-small-logo {
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    border-radius: 16px;
    background: #ffffff;
    color: var(--primary-blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: 900;
    box-shadow: var(--shadow-sm);
}

.jd-hero-info { min-width: 0; }

.jd-company-line {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 7px;
    font-weight: 800;
}

.jd-company-line a,
.jd-company-line span { color: #ffffff; }

.jd-verified {
    background: var(--soft-green);
    color: var(--green) !important;
    border: 1px solid #bbf7d0;
    border-radius: var(--radius-full);
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 900;
}

.jd-hero h1 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 34px;
    line-height: 1.18;
    letter-spacing: -0.6px;
}

.jd-meta-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.jd-meta-row span {
    background: rgba(255,255,255,0.13);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: var(--radius-full);
    padding: 6px 12px;
    font-weight: 700;
    font-size: 13px;
}

.jd-highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 18px;
}

.jd-highlight {
    background: #ffffff;
    color: var(--text-dark);
    border-radius: var(--radius-md);
    padding: 16px;
    box-shadow: var(--shadow-sm);
}

.jd-highlight span {
    display: block;
    color: var(--text-muted);
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 900;
    margin-bottom: 4px;
}

.jd-highlight strong { font-size: 15px; }

.jd-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 28px;
    align-items: start;
    margin-bottom: 70px;
}

.jd-main,
.jd-sidebar { min-width: 0; }

.jd-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: 28px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 22px;
}

.jd-card h2,
.jd-card h3 {
    margin: 0 0 16px;
    color: var(--text-dark);
    line-height: 1.25;
}

.jd-card h2 {
    font-size: 22px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color);
}

.jd-content {
    font-size: 15.5px;
    color: var(--text-main);
}

.jd-muted { color: var(--text-muted); }

.jd-sidebar {
    position: relative;
}

.jd-apply-card {
    position: sticky;
    top: 96px;
    border-top: 4px solid var(--accent-orange);
}

.jd-apply-card p {
    color: var(--text-muted);
    margin-bottom: 18px;
}

.jd-apply-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: var(--accent-orange);
    color: #ffffff;
    border-radius: var(--radius-md);
    padding: 13px 18px;
    font-weight: 900;
    margin-bottom: 20px;
}

.jd-apply-btn:hover {
    background: var(--accent-hover);
    transform: translateY(-1px);
}

.jd-summary-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.jd-summary-list li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px dashed var(--border-color);
}

.jd-summary-list li:last-child { border-bottom: 0; }

.jd-summary-list span {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
}

.jd-summary-list strong {
    color: var(--text-dark);
    font-size: 13px;
    text-align: right;
}

.jd-company-card { text-align: center; }

.jd-company-small-logo {
    margin: 0 auto 14px;
    background: var(--soft-blue);
}

.jd-center-badge {
    display: inline-flex;
    margin-bottom: 12px;
}

.jd-company-card p { color: var(--text-muted); }

.jd-outline-btn {
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    color: var(--primary-blue);
    border: 1px solid var(--primary-blue);
    border-radius: var(--radius-md);
    padding: 11px 15px;
    font-weight: 900;
}

.jd-outline-btn:hover { background: var(--soft-blue); }

@media (max-width: 960px) {
    .jd-highlight-grid { grid-template-columns: repeat(2, 1fr); }
    .jd-layout { grid-template-columns: 1fr; }
    .jd-apply-card { position: static; }
}

@media (max-width: 640px) {
    .jd-hero { padding: 26px 0 30px; }
    .jd-hero-card { flex-direction: column; align-items: flex-start; }
    .jd-hero h1 { font-size: 26px; }
    .jd-highlight-grid { grid-template-columns: 1fr; }
    .jd-card { padding: 22px; }
}


/* Job details external CSS final mobile/text fix v4 */
body.jd-page,
.jd-page,
.jd-card,
.jd-card p,
.jd-card li,
.jd-card span,
.jd-description,
.jd-description p,
.jd-content,
.jd-content p {
    color:#111827!important;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
}
.jd-muted,
.jd-meta,
.jd-meta span,
.jd-company-line {
    color:#334155!important;
}
.jd-card h1,
.jd-card h2,
.jd-card h3,
.jd-card h4,
.jd-card strong {
    color:#020617!important;
}
.jd-hero,
.jd-hero * {
    color:#fff!important;
}
@media(max-width:720px){
    .jd-hero-card,
    .jd-layout {
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    .jd-meta-grid,
    .jd-action-row,
    .jd-hero-actions {
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:9px!important;
    }
    .jd-btn,
    .jd-action-row a,
    .jd-action-row button {
        width:100%!important;
        min-height:48px!important;
        justify-content:center!important;
        white-space:normal!important;
        text-align:center!important;
    }
}


/* Job details CTA/text visibility fix v5 */
.cb-hero .cb-company-line,
.cb-hero .cb-company-line span,
.cb-hero .cb-company-logo,
.jd-hero .cb-company-line,
.jd-hero .cb-company-line span{
    color:#eaf7ff !important;
}
.cb-hero .cb-btn-primary,
.jd-hero .cb-btn-primary{
    background:#ffffff !important;
    color:#0f5aa8 !important;
    border:1px solid rgba(255,255,255,.18) !important;
}
.cb-hero .cb-btn-primary *,
.jd-hero .cb-btn-primary *{
    color:#0f5aa8 !important;
}
.cb-hero .cb-btn-outline,
.jd-hero .cb-btn-outline{
    background:rgba(255,255,255,.14) !important;
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,.28) !important;
}
@media(max-width:640px){
    .cb-hero-actions,
    .jd-hero-actions{
        grid-template-columns:1fr 1fr !important;
        gap:10px !important;
    }
    .cb-hero-actions form,
    .jd-hero-actions form{
        width:100% !important;
    }
}


/* ==========================================================
   Step 43H.3A.2B.1 — Calm hero, age card and company identity
========================================================== */
.cb-hero-stat-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.cb-hero-stat,
.cb-hero-stat-blue,
.cb-hero-stat-green,
.cb-hero-stat-purple,
.cb-hero-stat-red,
.cb-hero-stat-orange,
.cb-hero-stat-age {
    background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.09)) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow: 0 12px 28px rgba(2, 6, 23, .13) !important;
}

.cb-hero-stat::before {
    background: rgba(255,255,255,.10) !important;
}

.cb-hero-stat-icon {
    background: rgba(255,255,255,.16) !important;
    border: 1px solid rgba(255,255,255,.10);
}

.cb-company-logo {
    overflow: hidden;
    background: rgba(255,255,255,.16) !important;
}

.cb-company-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 4px;
    background: #fff;
    border-radius: inherit;
}

.cb-company-name-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #eaf7ff !important;
    font-weight: 900;
}

.cb-company-name-link:hover {
    color: #fff !important;
    text-decoration: underline;
}

.cb-company-verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    color: #166534 !important;
    border: 1px solid rgba(187,247,208,.9);
    font-size: 11px;
    font-weight: 950;
    white-space: nowrap;
}

.cb-company-identity-card {
    text-align: left;
}

.cb-company-identity-head {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.cb-company-identity-logo {
    width: 58px;
    height: 58px;
    border-radius: 17px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e0f2fe, #ecfeff);
    border: 1px solid #bae6fd;
    color: #0f5aa8;
    font-size: 22px;
    font-weight: 950;
}

.cb-company-identity-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 4px;
    background: #fff;
}

.cb-company-identity-head h3 {
    margin: 0 0 4px;
    font-size: 1rem;
    color: #0f172a !important;
}

.cb-company-identity-meta {
    color: #64748b;
    font-size: .84rem;
    font-weight: 750;
}

.cb-company-identity-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 13px;
}

.cb-company-identity-actions a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 13px;
    padding: 9px 11px;
    font-size: .82rem;
    font-weight: 900;
}

.cb-company-profile-link {
    background: linear-gradient(135deg, #0f5aa8, #0ea5e9);
    color: #fff !important;
}

.cb-company-website-link {
    background: #eff6ff;
    color: #0f5aa8 !important;
    border: 1px solid #bfdbfe;
}

@media (max-width: 1180px) {
    .cb-hero-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .cb-hero-stat-grid,
    .cb-overview-grid,
    .cb-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cb-hero-stat {
        min-height: 82px !important;
        padding: 11px 10px !important;
    }

    .cb-hero-stat-icon {
        width: 34px !important;
        height: 34px !important;
        margin-bottom: 6px !important;
    }
}

@media (max-width: 520px) {
    .cb-hero-stat-grid,
    .cb-overview-grid,
    .cb-meta-grid,
    .cb-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cb-hero-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cb-company-identity-actions {
        grid-template-columns: 1fr;
    }
}
