/* =========================================================
   PR Infotech Solutions - Careers Page
   Updated file: assets/css/careers.css
========================================================= */

.careers-page {
    background: #ffffff;
    color: #172033;
}

.careers-page *,
.careers-page *::before,
.careers-page *::after {
    box-sizing: border-box;
}

/* Shared headings */
.careers-page .section-title {
    max-width: 820px;
    margin: 0 auto 46px;
    text-align: center;
}

.careers-page .section-title > span,
.careers-page .section-label {
    display: inline-block;
    color: #ef6c00;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.careers-page .section-title h2,
.careers-page .application-section h2 {
    margin: 10px 0 14px;
    color: #172033;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.18;
}

.careers-page .section-title p,
.careers-page .application-section p {
    color: #64748b;
    font-size: 17px;
    line-height: 1.75;
}

/* Buttons */
.careers-page .btn-primary,
.careers-page .career-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 14px 22px;
    border-radius: 9px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.careers-page .btn-primary {
    color: #ffffff;
    background: #ef6c00;
    border: 0;
}

.careers-page .career-secondary {
    color: #ffffff;
    background: transparent;
    border: 1px solid rgba(255,255,255,.35);
}

.careers-page .btn-primary:hover,
.careers-page .career-secondary:hover {
    transform: translateY(-2px);
}

.careers-page .btn-primary:hover {
    box-shadow: 0 12px 28px rgba(239,108,0,.28);
}

/* Hero */
.career-hero {
    position: relative;
    overflow: hidden;
    padding: 92px 0 82px;
    background:
        radial-gradient(circle at 15% 18%, rgba(239,108,0,.18), transparent 28%),
        radial-gradient(circle at 86% 24%, rgba(41,121,255,.16), transparent 30%),
        linear-gradient(135deg, #050b18, #0b1f3a 52%, #143c69);
}

/* Grid overlay removed so no lines appear over the hero text */
.career-hero::after {
    display: none;
}

.career-hero .career-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: 60px;
    align-items: center;
}

.career-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 15px;
    color: #ffffff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
}

.career-kicker i {
    color: #ff8b1f;
}

.career-hero h1 {
    max-width: 850px;
    margin: 24px 0 20px;
    color: #ffffff;
    font-size: clamp(42px, 5.3vw, 68px);
    line-height: 1.06;
    overflow-wrap: normal;
    word-break: normal;
}

.career-hero p {
    max-width: 760px;
    margin: 0;
    color: #d5dfec;
    font-size: 18px;
    line-height: 1.78;
}

.career-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.career-points {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 20px;
    margin-top: 24px;
}

.career-points span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #dce6f2;
    font-size: 14px;
}

.career-points i {
    color: #ff8b1f;
}

.career-panel {
    padding: 40px;
    color: #ffffff;
    background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(0,0,0,.28);
    backdrop-filter: blur(6px);
}

.career-panel-icon {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    color: #ff8b1f;
    background: rgba(255,255,255,.1);
    border-radius: 18px;
    font-size: 32px;
}

.career-panel h2 {
    margin: 24px 0 12px;
    color: #ffffff;
    font-size: 28px;
}

.career-panel p {
    margin: 0 0 24px;
    color: #c8d6e6;
    font-size: 16px;
}

.career-panel-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.career-panel-grid div {
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
}

.career-panel-grid i {
    color: #ff8b1f;
}

/* Why join */
.career-culture {
    padding: 92px 0;
    background: #ffffff;
}

.culture-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.culture-grid article {
    padding: 30px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(15,35,65,.06);
    transition: transform .25s ease, box-shadow .25s ease;
}

.culture-grid article:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(15,35,65,.1);
}

.culture-grid article > i {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #ef6c00;
    background: #fff1e6;
    border-radius: 14px;
    font-size: 25px;
}

.culture-grid h3 {
    margin: 20px 0 10px;
    color: #172033;
    font-size: 21px;
}

.culture-grid p {
    margin: 0;
    color: #64748b;
    line-height: 1.7;
}

/* No current openings */
.openings-section {
    padding: 84px 0;
    background: #f7f9fc;
}

.status-box {
    max-width: 920px;
    margin: 0 auto;
    padding: 46px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    box-shadow: 0 16px 40px rgba(15,35,65,.08);
}

.status-box > i {
    width: 72px;
    height: 72px;
    margin: 0 auto 20px;
    display: grid;
    place-items: center;
    color: #ef6c00;
    background: #fff1e6;
    border-radius: 50%;
    font-size: 30px;
}

.status-box h2 {
    margin: 0 0 16px;
    color: #172033;
    font-size: clamp(28px, 4vw, 40px);
}

.status-box p {
    max-width: 730px;
    margin: 0 auto 24px;
    color: #64748b;
    font-size: 17px;
    line-height: 1.8;
}

/* Process */
.career-process {
    padding: 92px 0;
    background: linear-gradient(135deg, #07152d, #123d68);
}

.career-process .section-title h2,
.career-process .section-title p {
    color: #ffffff;
}

.hiring-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.hiring-grid article {
    padding: 30px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
}

.hiring-grid span {
    display: inline-flex;
    margin-bottom: 16px;
    color: #ff8b1f;
    font-size: 30px;
    font-weight: 900;
}

.hiring-grid h3 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 19px;
}

.hiring-grid p {
    margin: 0;
    color: #c5d4e5;
    line-height: 1.65;
}

/* Application */
.application-section {
    padding: 92px 0;
    background: linear-gradient(135deg, #fff4ea, #ffffff);
}

.application-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 48px;
    align-items: start;
}

.application-note {
    margin: 26px 0;
    padding: 18px;
    display: flex;
    gap: 14px;
    background: #fff8f1;
    border: 1px solid #f2d3b5;
    border-radius: 14px;
}

.application-note i {
    margin-top: 3px;
    color: #ef6c00;
    font-size: 20px;
}

.application-note strong,
.application-note span {
    display: block;
}

.application-note strong {
    margin-bottom: 5px;
    color: #172033;
}

.application-note span {
    color: #64748b;
    line-height: 1.6;
}

.career-contact {
    display: grid;
    gap: 12px;
}

.career-contact a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #172033;
    font-weight: 700;
    text-decoration: none;
}

.career-contact i {
    color: #ef6c00;
}

.career-form {
    padding: 38px;
    background: #ffffff;
    border: 1px solid #eadfd4;
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(15,35,65,.1);
}

.career-form .form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.career-form label {
    display: block;
    margin-bottom: 8px;
    color: #172033;
    font-size: 14px;
    font-weight: 700;
}

.career-form input,
.career-form select,
.career-form textarea {
    width: 100%;
    margin-bottom: 18px;
    padding: 14px 15px;
    color: #172033;
    background: #ffffff;
    border: 1px solid #ccd7e6;
    border-radius: 10px;
    font: inherit;
    outline: none;
}

.career-form input:focus,
.career-form select:focus,
.career-form textarea:focus {
    border-color: #ef6c00;
    box-shadow: 0 0 0 4px rgba(239,108,0,.1);
}

.career-form textarea {
    resize: vertical;
}

.career-form .btn-primary {
    width: 100%;
    cursor: pointer;
    font: inherit;
}

/* Responsive */
@media (max-width: 1100px) {
    .career-hero .career-hero-grid,
    .application-grid {
        grid-template-columns: 1fr;
    }

    .culture-grid,
    .hiring-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .career-hero {
        padding: 64px 0 58px;
    }

    .career-hero h1 {
        font-size: 40px;
    }

    .career-culture,
    .openings-section,
    .career-process,
    .application-section {
        padding: 68px 0;
    }

    .culture-grid,
    .hiring-grid,
    .career-form .form-row {
        grid-template-columns: 1fr;
    }

    .career-form,
    .status-box,
    .career-panel {
        padding: 26px;
    }

    .career-panel-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .career-hero h1 {
        font-size: 34px;
    }

    .career-hero p {
        font-size: 16px;
    }

    .career-actions {
        flex-direction: column;
    }

    .career-actions a {
        width: 100%;
    }
}
