/* =========================================================
   VIANA TALENT
   JOB DETAIL PAGE
   Clean Editorial / Premium Recruitment UI
   RTL
========================================================= */


/* =========================================================
   DESIGN TOKENS
========================================================= */

.job-detail-page {

    --job-bg: #f6f8f7;
    --job-surface: #ffffff;
    --job-surface-soft: #f9fbfa;

    --job-text: #17202b;
    --job-text-2: #34404d;
    --job-muted: #7b8792;
    --job-muted-2: #a2abb3;

    --job-border: #e7ece9;
    --job-border-soft: #edf1ef;

    --job-primary: #58aa79;
    --job-primary-dark: #438e62;
    --job-primary-soft: rgba(88, 170, 121, .10);

    --job-dark: #17202b;
    --job-dark-2: #202b38;

    --job-radius-sm: 10px;
    --job-radius-md: 16px;
    --job-radius-lg: 22px;

    --job-shadow: 0 14px 45px rgba(23, 32, 43, .055);

    --job-container: 1180px;

    width: 100%;

    color: var(--job-text);

    background: var(--job-bg);

    direction: rtl;

    font-size: 16px;

}


/* =========================================================
   GLOBAL
========================================================= */

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


.job-detail-page a {
    text-decoration: none;
}


.job-detail-page button,
.job-detail-page a {
    -webkit-tap-highlight-color: transparent;
}


.job-detail-page .container {

    width: 100%;

    max-width: var(--job-container);

    margin-right: auto;
    margin-left: auto;

}


/* =========================================================
   HERO
========================================================= */

.job-detail-hero {

    position: relative;

    padding: 30px 0 54px;

    background: radial-gradient(
            circle at 85% 10%,
            rgba(88, 170, 121, .055),
            transparent 30%
    ),
    #ffffff;

    border-bottom: 1px solid var(--job-border);

}


.job-detail-hero-main {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 45px;

}


.job-detail-hero-content {

    min-width: 0;

    flex: 1 1 auto;

}


/* =========================================================
   BREADCRUMB
========================================================= */

.job-breadcrumb {

    display: flex;

    align-items: center;

    gap: 9px;

    width: 100%;

    margin: 0 0 42px;

    color: var(--job-muted-2);

    font-size: 12px;

    font-weight: 400;

    line-height: 1.7;

}


.job-breadcrumb a {

    color: var(--job-primary);

    transition: color .2s ease;

}


.job-breadcrumb a:hover {

    color: var(--job-primary-dark);

}


.job-breadcrumb span[aria-hidden="true"] {

    color: #c9d0cc;

}


.job-breadcrumb span:last-child {

    min-width: 0;

    overflow: hidden;

    color: #9aa3ab;

    text-overflow: ellipsis;

    white-space: nowrap;

}


/* =========================================================
   EYEBROW / BADGES
========================================================= */

.job-detail-eyebrow {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 9px;

    margin-bottom: 17px;

}


.job-detail-category,
.job-detail-remote-badge {

    display: inline-flex;

    align-items: center;

    min-height: 31px;

    padding: 5px 11px;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 500;

    line-height: 1.5;

}


.job-detail-category {

    border: 1px solid #dfe8e2;

    background: #ffffff;

    color: #65716a;

}


.job-detail-remote-badge {

    background: var(--job-primary-soft);

    color: var(--job-primary-dark);

}


/* =========================================================
   H1
========================================================= */

.job-detail-header h1,
.job-detail-hero h1 {

    max-width: 900px;

    margin: 0;

    color: var(--job-text);

    font-size: clamp(32px, 4vw, 48px);

    font-weight: 700;

    line-height: 1.35;

    letter-spacing: -.7px;

}


/* =========================================================
   COMPANY LINE
========================================================= */

.job-detail-company-line {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 16px;

}


.job-detail-company {

    color: var(--job-primary-dark);

    font-size: 15px;

    font-weight: 600;

}


.job-detail-department {

    color: var(--job-muted);

    font-size: 14px;

    font-weight: 400;

}


.job-detail-meta-divider {

    color: #c8d0cb;

    font-size: 12px;

}


/* =========================================================
   HERO META GRID
========================================================= */

.job-detail-meta-grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(130px, 1fr));

    gap: 12px;

    margin-top: 32px;

}


.job-detail-meta-item {

    display: flex;

    align-items: center;

    gap: 11px;

    min-width: 0;

    padding: 13px 14px;

    border: 1px solid var(--job-border);

    border-radius: 13px;

    background: rgba(255, 255, 255, .72);

}


.job-detail-meta-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 34px;

    height: 34px;

    flex: 0 0 34px;

    border-radius: 10px;

    background: var(--job-primary-soft);

}


.job-detail-meta-icon svg {

    width: 17px;

    height: 17px;

    fill: none;

    stroke: var(--job-primary-dark);

    stroke-width: 1.6;

    stroke-linecap: round;

    stroke-linejoin: round;

}


.job-detail-meta-text {

    display: flex;

    flex-direction: column;

    min-width: 0;

    gap: 2px;

}


.job-detail-meta-text small {

    color: var(--job-muted-2);

    font-size: 10px;

    font-weight: 400;

    line-height: 1.5;

}


.job-detail-meta-text strong {

    min-width: 0;

    overflow: hidden;

    color: var(--job-text-2);

    font-size: 12px;

    font-weight: 600;

    line-height: 1.6;

    text-overflow: ellipsis;

    white-space: nowrap;

}


/* =========================================================
   HERO STATUS
========================================================= */

.job-detail-hero-status {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    flex: 0 0 auto;

    padding: 10px 14px;

    border: 1px solid #dce9e0;

    border-radius: 999px;

    background: #f8fcf9;

    color: #568568;

    font-size: 11px;

    font-weight: 500;

}


.job-detail-status-dot {

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background: var(--job-primary);

    box-shadow: 0 0 0 4px rgba(88, 170, 121, .10);

}


/* =========================================================
   CONTENT AREA
========================================================= */

.job-detail-content {

    padding: 56px 0 80px;

    background: var(--job-bg);

}


.job-detail-layout {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        340px;

    align-items: start;

    gap: 38px;

}


/* =========================================================
   MAIN CONTENT
========================================================= */

.job-detail-main {

    min-width: 0;

    padding: 38px 40px;

    border: 1px solid var(--job-border);

    border-radius: var(--job-radius-lg);

    background: var(--job-surface);

    box-shadow: var(--job-shadow);

}


/* =========================================================
   SECTION
========================================================= */

.job-detail-section {

    margin: 0;

    padding: 0 0 48px;

}


.job-detail-section + .job-detail-section {

    padding-top: 48px;

    border-top: 1px solid var(--job-border-soft);

}


.job-detail-section:last-child {

    padding-bottom: 0;

}


/* =========================================================
   SECTION HEADER
========================================================= */

.job-detail-section-heading {

    display: flex;

    align-items: center;

    gap: 14px;

    margin: 0 0 25px;

}


.job-detail-section-index {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 36px;

    height: 36px;

    flex: 0 0 36px;

    border-radius: 11px;

    background: var(--job-primary-soft);

    color: var(--job-primary-dark);

    font-size: 10px;

    font-weight: 700;

    direction: ltr;

}


.job-detail-section-heading > div {

    min-width: 0;

}


.job-detail-section-kicker {

    display: block;

    margin-bottom: 2px;

    color: var(--job-primary-dark);

    font-size: 10px;

    font-weight: 500;

    line-height: 1.6;

}


.job-detail-section-heading h2 {

    margin: 0;

    color: var(--job-text);

    font-size: 22px;

    font-weight: 700;

    line-height: 1.5;

}


/* =========================================================
   RICH TEXT
========================================================= */

.job-detail-rich-text {

    width: 100%;

    max-width: 900px;

    color: #58636e;

    font-size: 15px;

    font-weight: 400;

    line-height: 2.2;

    text-align: right;

}


.job-detail-rich-text p {

    margin: 0 0 18px;

}


.job-detail-rich-text p:last-child {

    margin-bottom: 0;

}


.job-detail-rich-text ul,
.job-detail-rich-text ol {

    margin: 15px 0 22px;

    padding-right: 23px;

}


.job-detail-rich-text li {

    margin: 0 0 10px;

    padding-right: 5px;

}


.job-detail-rich-text li:last-child {

    margin-bottom: 0;

}


.job-detail-rich-text ul li::marker {

    color: var(--job-primary);

}


.job-detail-rich-text ol li::marker {

    color: #89939d;

}


.job-detail-rich-text strong {

    color: #26313d;

    font-weight: 600;

}


.job-detail-rich-text a {

    color: var(--job-primary-dark);

}


.job-detail-rich-text a:hover {

    text-decoration: underline;

}


/* =========================================================
   INFO GRID
========================================================= */

.job-detail-info-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    column-gap: 42px;

    row-gap: 0;

    width: 100%;

}


.job-detail-info-item {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    min-width: 0;

    min-height: 58px;

    padding: 14px 0;

    border-bottom: 1px solid var(--job-border-soft);

}


.job-detail-info-item:nth-last-child(-n + 2) {

    /*border-bottom: 0;*/

}


.job-detail-info-label {

    flex: 0 0 auto;

    color: var(--job-muted);

    font-size: 12px;

    font-weight: 400;

    line-height: 1.7;

    white-space: nowrap;

}


.job-detail-info-item strong {

    min-width: 0;

    color: var(--job-text-2);

    font-size: 13px;

    font-weight: 600;

    line-height: 1.7;

    text-align: left;

    overflow-wrap: anywhere;

}


/* =========================================================
   SIDEBAR
========================================================= */

.job-detail-sidebar {

    position: sticky;

    top: 25px;

    min-width: 0;

}


/* =========================================================
   LOCATION CARD
========================================================= */

.job-location-card {

    margin-bottom: 16px;

    padding: 14px;

    border: 1px solid var(--job-border);

    border-radius: 18px;

    background: #ffffff;

    box-shadow: 0 10px 32px rgba(23, 32, 43, .045);

}


.job-location-card-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding: 3px 3px 14px;

}


.job-location-card-header > div {

    display: flex;

    flex-direction: column;

    min-width: 0;

    gap: 2px;

}


.job-location-card-header span {

    color: var(--job-muted-2);

    font-size: 10px;

}


.job-location-card-header strong {

    color: var(--job-text);

    font-size: 14px;

    font-weight: 600;

}


.job-location-live {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    flex: 0 0 auto;

    padding: 6px 8px;

    border-radius: 999px;

    background: var(--job-primary-soft);

    color: var(--job-primary-dark) !important;

    font-size: 9px !important;

}


.job-location-live i {

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background: var(--job-primary);

}


/* =========================================================
   MAP PREVIEW
========================================================= */

.job-location-map-card {

    position: relative;

    display: block;

    width: 100%;

    height: 210px;

    padding: 0;

    overflow: hidden;

    border: 0;

    border-radius: 14px;

    background: #202322;

    cursor: pointer;

    appearance: none;

    text-align: right;

}


.job-location-map-card::after {

    content: "";

    position: absolute;

    inset: 0;

    z-index: 4;

    pointer-events: none;

    background: linear-gradient(
            180deg,
            rgba(0, 0, 0, .05),
            transparent 45%,
            rgba(0, 0, 0, .42)
    );

}


.job-location-map-grid {

    position: absolute;

    inset: -30px;

    opacity: .42;

    background-image: linear-gradient(
            90deg,
            rgba(255, 255, 255, .09) 1px,
            transparent 1px
    ),
    linear-gradient(
            rgba(255, 255, 255, .09) 1px,
            transparent 1px
    );

    background-size: 44px 44px;

    transform: rotate(-2deg);

}


.job-location-map-roads {

    position: absolute;

    inset: 0;

    opacity: .55;

}


.job-location-map-roads::before {

    content: "";

    position: absolute;

    width: 130%;

    height: 5px;

    top: 49%;

    right: -15%;

    background: rgba(255, 255, 255, .17);

    box-shadow: 0 -66px 0 rgba(255, 255, 255, .08),
    0 64px 0 rgba(255, 255, 255, .08);

}


.job-location-map-roads::after {

    content: "";

    position: absolute;

    width: 5px;

    height: 130%;

    right: 49%;

    top: -15%;

    background: rgba(255, 255, 255, .13);

    box-shadow: -115px 0 0 rgba(255, 255, 255, .06),
    115px 0 0 rgba(255, 255, 255, .06);

}


/* =========================================================
   MAP BUILDINGS
========================================================= */

.job-location-map-buildings {

    position: absolute;

    inset: 0;

}


.job-location-map-buildings span {

    position: absolute;

    display: block;

    border: 1px solid rgba(255, 255, 255, .07);

    border-radius: 7px;

    background: rgba(255, 255, 255, .075);

}


.job-location-map-buildings span:nth-child(1) {

    width: 48px;
    height: 42px;

    top: 27px;
    right: 37%;

}


.job-location-map-buildings span:nth-child(2) {

    width: 55px;
    height: 70px;

    top: 26px;
    left: 10%;

}


.job-location-map-buildings span:nth-child(3) {

    width: 76px;
    height: 52px;

    top: 82px;
    right: 9%;

}


.job-location-map-buildings span:nth-child(4) {

    width: 40px;
    height: 30px;

    bottom: 35px;
    right: 5%;

}


.job-location-map-buildings span:nth-child(5) {

    width: 88px;
    height: 48px;

    bottom: 30px;
    left: 8%;

}


.job-location-map-buildings span:nth-child(6) {

    width: 42px;
    height: 42px;

    top: 72px;
    left: 47%;

}


/* =========================================================
   MAP PIN
========================================================= */

.job-location-map-pin {

    position: absolute;

    top: 50%;
    right: 50%;

    z-index: 5;

    width: 34px;
    height: 34px;

    border-radius: 50% 50% 50% 0;

    background: #62c18b;

    box-shadow: 0 0 0 6px rgba(98, 193, 139, .10),
    0 8px 22px rgba(0, 0, 0, .22);

    transform: translate(50%, -58%) rotate(-45deg);

    transition: transform .25s ease;

}


.job-location-map-card:hover
.job-location-map-pin {

    transform: translate(50%, -64%) rotate(-45deg);

}


.job-location-map-pin span {

    position: absolute;

    top: 50%;
    right: 50%;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #173126;

    transform: translate(50%, -50%) rotate(45deg);

}


/* =========================================================
   MAP INFO
========================================================= */

.job-location-map-info {

    position: absolute;

    right: 15px;
    bottom: 14px;

    z-index: 6;

    display: flex;

    flex-direction: column;

}


.job-location-map-info strong {

    color: #ffffff;

    font-size: 13px;

    font-weight: 600;

    line-height: 1.6;

}


.job-location-map-info span {

    margin-top: 1px;

    direction: ltr;

    color: rgba(255, 255, 255, .48);

    font-family: monospace;

    font-size: 9px;

}


/* =========================================================
   MAP OPEN BUTTON
========================================================= */

.job-location-map-open {

    position: absolute;

    top: 12px;
    left: 12px;

    z-index: 7;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 30px;
    height: 30px;

    border: 1px solid rgba(255, 255, 255, .12);

    border-radius: 9px;

    background: rgba(20, 20, 20, .35);

    color: rgba(255, 255, 255, .9);

    font-size: 14px;

    backdrop-filter: blur(8px);

    transition: background .2s ease,
    transform .2s ease;

}


.job-location-map-card:hover
.job-location-map-open {

    background: rgba(20, 20, 20, .55);

    transform: scale(1.05);

}


/* =========================================================
   APPLY CARD
========================================================= */

.job-apply-card {

    position: relative;

    overflow: hidden;

    margin-bottom: 16px;

    padding: 25px;

    border: 1px solid rgba(255, 255, 255, .08);

    border-radius: 20px;

    background: radial-gradient(
            circle at 90% 8%,
            rgba(88, 170, 121, .22),
            transparent 30%
    ),
    linear-gradient(
            145deg,
            #131c27 0%,
            #1a2633 55%,
            #101821 100%
    );

    box-shadow: 0 18px 45px rgba(18, 28, 39, .16);

}


.job-apply-card::before {

    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    left: -110px;
    bottom: -130px;

    border-radius: 50%;

    background: rgba(88, 170, 121, .08);

    filter: blur(10px);

    pointer-events: none;

}


.job-apply-card > * {

    position: relative;

    z-index: 1;

}


.job-apply-card-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 42px;
    height: 42px;

    margin-bottom: 18px;

    border: 1px solid rgba(255, 255, 255, .08);

    border-radius: 12px;

    background: rgba(255, 255, 255, .07);

}


.job-apply-card-icon svg {

    width: 19px;
    height: 19px;

    fill: none;

    stroke: #91caa6;

    stroke-width: 1.5;

    stroke-linecap: round;

    stroke-linejoin: round;

}


.job-apply-card-label {

    display: block;

    margin-bottom: 8px;

    color: #8ec9a4;

    font-size: 11px;

    font-weight: 500;

}


.job-apply-card h2 {

    margin: 0 0 12px;

    color: #ffffff;

    font-size: 20px;

    font-weight: 700;

    line-height: 1.6;

}


.job-apply-card p {

    margin: 0 0 23px;

    color: rgba(255, 255, 255, .62);

    font-size: 12px;

    font-weight: 400;

    line-height: 2;

}


.job-apply-button {

    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;

    min-height: 48px;

    padding: 0 15px 0 17px;

    border-radius: 12px;

    background: var(--job-primary);

    color: #ffffff;

    font-size: 13px;

    font-weight: 600;

    transition: background .2s ease,
    transform .2s ease,
    box-shadow .2s ease;

}


.job-apply-button:hover {

    color: #ffffff;

    background: var(--job-primary-dark);

    transform: translateY(-2px);

    box-shadow: 0 10px 24px rgba(88, 170, 121, .22);

}


.job-apply-button-arrow {

    font-size: 18px;

    transition: transform .2s ease;

}


.job-apply-button:hover
.job-apply-button-arrow {

    transform: translateX(-3px);

}


.job-apply-deadline {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    margin-top: 17px;

    padding-top: 15px;

    border-top: 1px solid rgba(255, 255, 255, .09);

}


.job-apply-deadline span {

    color: rgba(255, 255, 255, .46);

    font-size: 10px;

}


.job-apply-deadline strong {

    color: rgba(255, 255, 255, .88);

    font-size: 11px;

    font-weight: 500;

}


/* =========================================================
   QUICK INFO
========================================================= */

.job-quick-info {

    padding: 21px;

    border: 1px solid var(--job-border);

    border-radius: 18px;

    background: #ffffff;

}


.job-quick-info-header {

    margin-bottom: 3px;

    color: var(--job-text);

    font-size: 15px;

    font-weight: 700;

}


.job-quick-info-item {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding: 14px 0;

    border-bottom: 1px solid var(--job-border-soft);

}


.job-quick-info-item:last-child {

    border-bottom: 0;

}


.job-quick-info-item span {

    color: var(--job-muted);

    font-size: 11px;

}


.job-quick-info-item strong {

    color: var(--job-text-2);

    font-size: 12px;

    font-weight: 600;

    text-align: left;

}


/* =========================================================
   FINAL CTA
========================================================= */

.job-detail-apply-section {

    padding: 0 0 55px;

    background: var(--job-bg);

}


.job-detail-apply-box {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 35px;

    padding: 30px 34px;

    border: 1px solid #dfe9e2;

    border-radius: 20px;

    background: linear-gradient(
            135deg,
            #f3faf5,
            #fbfdfb
    );

}


.job-detail-apply-eyebrow {

    display: block;

    margin-bottom: 6px;

    color: var(--job-primary-dark);

    font-size: 10px;

    font-weight: 600;

}


.job-detail-apply-box h2 {

    margin: 0 0 5px;

    color: var(--job-text);

    font-size: 21px;

    font-weight: 700;

    line-height: 1.6;

}


.job-detail-apply-box p {

    margin: 0;

    color: var(--job-muted);

    font-size: 12px;

    line-height: 1.8;

}


.job-detail-final-button {

    display: inline-flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    min-width: 165px;

    min-height: 48px;

    padding: 0 18px;

    border-radius: 12px;

    background: var(--job-dark);

    color: #ffffff;

    font-size: 12px;

    font-weight: 600;

    transition: background .2s ease,
    transform .2s ease,
    box-shadow .2s ease;

}


.job-detail-final-button:hover {

    color: #ffffff;

    background: #0f1720;

    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(23, 32, 43, .16);

}


/* =========================================================
   BACK
========================================================= */

.job-detail-back {

    padding: 0 0 70px;

    background: var(--job-bg);

}


.job-detail-back-link {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-right: 6px;

    color: var(--job-muted);

    font-size: 12px;

    font-weight: 500;

    transition: color .2s ease;

}


.job-detail-back-link:hover {

    color: var(--job-primary-dark);

}


.job-detail-back-link span {

    color: var(--job-primary);

    font-size: 17px;

    transition: transform .2s ease;

}


.job-detail-back-link:hover span {

    transform: translateX(4px);

}


/* =========================================================
   MAP MODAL
========================================================= */

body.job-map-open {

    overflow: hidden;

}


.job-map-modal {

    position: fixed;

    inset: 0;

    z-index: 99999;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 22px;

    background: rgba(9, 14, 19, .72);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    backdrop-filter: blur(10px);

    transition: opacity .25s ease,
    visibility .25s ease;

}


.job-map-modal.is-open {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

}


.job-map-modal-content {

    position: relative;

    width: min(900px, 100%);

    height: min(620px, 88vh);

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, .12);

    border-radius: 22px;

    background: #e8edf0;

    box-shadow: 0 30px 90px rgba(0, 0, 0, .35);

    transform: scale(.95);

    transition: transform .3s cubic-bezier(.2, .8, .2, 1);

}


.job-map-modal.is-open
.job-map-modal-content {

    transform: scale(1);

}


.job-map {

    position: relative;

    width: 100%;

    height: 100%;

    background: #e8edf0;

}


.job-map .leaflet-container {

    width: 100%;

    height: 100%;

    font-family: inherit;

    background: #e8edf0;

}


.job-map .leaflet-tile {

    filter: none;

}


/* =========================================================
   LEAFLET CONTROLS
========================================================= */

.job-map .leaflet-control-zoom {

    margin: 16px !important;

    overflow: hidden;

    border: 1px solid rgba(23, 32, 43, .10) !important;

    border-radius: 11px !important;

    background: rgba(255, 255, 255, .95) !important;

    box-shadow: 0 6px 20px rgba(23, 32, 43, .12) !important;

}


.job-map .leaflet-control-zoom a {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 34px !important;

    height: 34px !important;

    border: 0 !important;

    background: #ffffff !important;

    color: var(--job-text) !important;

    font-size: 17px !important;

}


.job-map .leaflet-control-zoom a:hover {

    background: #f3f7f4 !important;

    color: var(--job-primary-dark) !important;

}


.job-map .leaflet-control-zoom-in {

    border-bottom: 1px solid #edf0ee !important;

}


.job-map .leaflet-control-attribution {

    margin: 0 8px 8px 0 !important;

    padding: 4px 7px !important;

    border-radius: 7px;

    background: rgba(255, 255, 255, .88) !important;

    color: #727d86 !important;

    font-size: 8px;

}


.job-map .leaflet-control-attribution a {

    color: #66727c !important;

}


/* =========================================================
   MODAL CLOSE
========================================================= */

.job-map-modal-close {

    position: absolute;

    top: 14px;

    left: 14px;

    z-index: 1000;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 36px;

    height: 36px;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, .14);

    border-radius: 11px;

    background: rgba(20, 25, 28, .72);

    color: #ffffff;

    font-size: 22px;

    font-weight: 400;

    line-height: 1;

    cursor: pointer;

    backdrop-filter: blur(10px);

}


.job-map-modal-close:hover {

    background: rgba(20, 25, 28, .9);

}


/* =========================================================
   MODAL INFO
========================================================= */

.job-map-modal-info {

    position: absolute;

    left: 18px;

    bottom: 18px;

    z-index: 1000;

    display: flex;

    flex-direction: column;

    min-width: 210px;

    padding: 13px 15px;

    border: 1px solid rgba(255, 255, 255, .12);

    border-radius: 13px;

    background: rgba(20, 25, 28, .76);

    backdrop-filter: blur(12px);

}


.job-map-modal-info span {

    color: rgba(255, 255, 255, .45);

    font-size: 9px;

}


.job-map-modal-info strong {

    margin-top: 3px;

    color: #ffffff;

    font-size: 14px;

    font-weight: 500;

}


.job-map-modal-info small {

    margin-top: 3px;

    direction: ltr;

    color: rgba(255, 255, 255, .38);

    font-family: monospace;

    font-size: 9px;

}


/* =========================================================
   MARKER
========================================================= */

.job-map-marker {

    background: transparent;

    border: 0;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .job-detail-page .container {

        max-width: 940px;

    }


    .job-detail-layout {

        grid-template-columns:
            minmax(0, 1fr)
            300px;

        gap: 28px;

    }


    .job-detail-meta-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

    }

}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 991px) {

    .job-detail-page .container {

        max-width: 720px;

    }


    .job-detail-hero-main {

        align-items: flex-start;

        flex-direction: column;

        gap: 22px;

    }


    .job-detail-hero-status {

        order: -1;

    }


    .job-detail-layout {

        grid-template-columns: 1fr;

    }


    .job-detail-sidebar {

        position: static;

        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        align-items: start;

        gap: 18px;

    }


    .job-location-card {

        grid-column: 1 / -1;

        margin-bottom: 0;

    }


    .job-apply-card {

        margin-bottom: 0;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .job-detail-page {

        font-size: 15px;

    }


    .job-detail-page .container {

        width: 100%;

        max-width: none;

        padding-right: 20px;

        padding-left: 20px;

    }


    /* -----------------------------------------
       HERO
    ----------------------------------------- */
    .job-detail-hero {

        padding: 22px 0 38px;

    }


    .job-breadcrumb {

        margin-bottom: 28px;

        gap: 7px;

        font-size: 10px;

    }


    .job-detail-hero-main {

        align-items: center;

        text-align: center;

    }


    .job-detail-hero-content {

        width: 100%;

    }


    .job-detail-eyebrow {

        justify-content: center;

        margin-bottom: 13px;

    }


    .job-detail-category,
    .job-detail-remote-badge {

        min-height: 29px;

        padding: 4px 10px;

        font-size: 10px;

    }


    .job-detail-hero h1 {

        width: 100%;

        max-width: none;

        font-size: 29px;

        line-height: 1.55;

        letter-spacing: -.3px;

    }


    .job-detail-company-line {

        justify-content: center;

        margin-top: 12px;

    }


    .job-detail-company {

        font-size: 13px;

    }


    .job-detail-department {

        font-size: 12px;

    }


    .job-detail-meta-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        width: 100%;

        gap: 8px;

        margin-top: 23px;

        text-align: right;

    }


    .job-detail-meta-item {

        gap: 8px;

        padding: 10px;

        border-radius: 11px;

    }


    .job-detail-meta-icon {

        width: 30px;

        height: 30px;

        flex-basis: 30px;

        border-radius: 8px;

    }


    .job-detail-meta-icon svg {

        width: 15px;

        height: 15px;

    }


    .job-detail-meta-text small {

        font-size: 9px;

    }


    .job-detail-meta-text strong {

        font-size: 11px;

    }


    .job-detail-hero-status {

        display: none;

    }


    /* -----------------------------------------
       CONTENT
    ----------------------------------------- */
    .job-detail-content {

        padding: 28px 0 50px;

    }


    .job-detail-layout {

        display: flex;

        flex-direction: column;

        gap: 25px;

    }


    .job-detail-main {

        width: 100%;

        padding: 24px 20px;

        border-radius: 17px;

        box-shadow: 0 7px 25px rgba(23, 32, 43, .035);

    }


    .job-detail-section {

        padding-bottom: 37px;

    }


    .job-detail-section + .job-detail-section {

        padding-top: 37px;

    }


    .job-detail-section-heading {

        gap: 11px;

        margin-bottom: 21px;

    }


    .job-detail-section-index {

        width: 31px;

        height: 31px;

        flex-basis: 31px;

        border-radius: 9px;

        font-size: 9px;

    }


    .job-detail-section-kicker {

        font-size: 9px;

    }


    .job-detail-section-heading h2 {

        font-size: 19px;

        line-height: 1.6;

    }


    .job-detail-rich-text {

        max-width: none;

        font-size: 14px;

        line-height: 2.15;

    }


    .job-detail-rich-text p {

        margin-bottom: 16px;

    }


    .job-detail-rich-text ul,
    .job-detail-rich-text ol {

        margin: 12px 0 19px;

        padding-right: 20px;

    }


    .job-detail-rich-text li {

        margin-bottom: 8px;

        padding-right: 3px;

    }


    /* -----------------------------------------
       INFO
    ----------------------------------------- */
    .job-detail-info-grid {

        display: block;

    }


    .job-detail-info-item,
    .job-detail-info-item:nth-last-child(-n + 2) {

        display: flex;

        min-height: 0;

        padding: 13px 0;

        border-bottom: 1px solid var(--job-border-soft);

    }


    .job-detail-info-item:last-child {

        border-bottom: 0;

    }


    .job-detail-info-label {

        font-size: 10px;

    }


    .job-detail-info-item strong {

        font-size: 12px;

    }


    /* -----------------------------------------
       SIDEBAR
    ----------------------------------------- */
    .job-detail-sidebar {

        display: flex;

        flex-direction: column;

        width: 100%;

        gap: 15px;

    }


    .job-location-card {

        width: 100%;

        margin: 0;

        padding: 11px;

        border-radius: 16px;

    }


    .job-location-card-header {

        padding: 3px 3px 11px;

    }


    .job-location-card-header strong {

        font-size: 13px;

    }


    .job-location-map-card {

        height: 185px;

        border-radius: 12px;

    }


    .job-location-map-info {

        right: 12px;

        bottom: 11px;

    }


    .job-location-map-info strong {

        font-size: 12px;

    }


    .job-location-map-info span {

        font-size: 8px;

    }


    .job-location-map-open {

        top: 10px;

        left: 10px;

    }


    .job-apply-card {

        width: 100%;

        margin: 0;

        padding: 22px;

        border-radius: 17px;

    }


    .job-apply-card h2 {

        font-size: 19px;

    }


    .job-apply-card p {

        font-size: 12px;

    }


    .job-quick-info {

        width: 100%;

        padding: 19px;

        border-radius: 16px;

    }


    /* -----------------------------------------
       FINAL CTA
    ----------------------------------------- */
    .job-detail-apply-section {

        display: block;

        padding: 0 0 35px;

    }


    .job-detail-apply-box {

        flex-direction: column;

        align-items: stretch;

        gap: 20px;

        padding: 24px 20px;

        border-radius: 17px;

    }


    .job-detail-apply-box h2 {

        font-size: 19px;

    }


    .job-detail-apply-box p {

        font-size: 12px;

    }


    .job-detail-final-button {

        width: 100%;

    }


    /* -----------------------------------------
       BACK
    ----------------------------------------- */
    .job-detail-back {

        padding-bottom: 45px;

    }


    .job-detail-back-link {

        font-size: 12px;

    }


    /* -----------------------------------------
       MAP MODAL
    ----------------------------------------- */
    .job-map-modal {

        padding: 10px;

    }


    .job-map-modal-content {

        width: 100%;

        height: 82vh;

        border-radius: 17px;

    }


    /*.job-map-modal-info {*/
    /*    right: 12px;*/
    /*    bottom: 12px;*/
    /*    min-width: 0;*/
    /*    max-width: calc(100% - 24px);*/
    /*}*/

}

@media (max-width: 767px) {

    .job-map-modal-info {
        top: 14px;
        right: 14px;

        left: auto;
        bottom: auto;

        min-width: 0;
        max-width: calc(100% - 28px);

        padding: 11px 13px;

        border-radius: 11px;

        text-align: right;
    }

}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .job-detail-page .container {

        padding-right: 16px;

        padding-left: 16px;

    }


    .job-detail-hero h1 {

        font-size: 26px;

    }


    .job-detail-main {

        padding: 21px 17px;

    }


    .job-detail-section-heading h2 {

        font-size: 18px;

    }


    .job-detail-rich-text {

        font-size: 13.5px;

        line-height: 2.2;

    }


    .job-detail-meta-grid {

        gap: 7px;

    }


    .job-detail-meta-item {

        padding: 9px;

    }


    .job-detail-meta-text strong {

        font-size: 10.5px;

    }


    .job-detail-info-label {

        font-size: 9.5px;

    }


    .job-detail-info-item strong {

        font-size: 11.5px;

    }


    .job-apply-card {

        padding: 20px;

    }


    .job-apply-card h2 {

        font-size: 18px;

    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .job-detail-page *,
    .job-detail-page *::before,
    .job-detail-page *::after {

        scroll-behavior: auto !important;

        transition-duration: .01ms !important;

        animation-duration: .01ms !important;

        animation-iteration-count: 1 !important;

    }

}

.job-map-modal-close {
    display: none !important;
}

@media (max-width: 767px) {

    .job-map-modal-content {
        width: min(92vw, 520px);
        height: min(92vw, 520px);

        aspect-ratio: 1 / 1;

        border-radius: 18px;
    }

}

@media (max-width: 767px) {
    .job-detail-apply-section {
        display: none !important;
    }
}

.job-map-marker {
    display: flex !important;

    align-items: center;
    justify-content: center;

    background: transparent !important;

    border: 0 !important;
}


.job-map-marker-dot {
    position: relative;

    display: block;

    width: 24px;
    height: 24px;

    background: #489568;

    border: 5px solid #ffffff;

    border-radius: 50%;

    box-shadow: 0 5px 18px rgba(0, 0, 0, .25),
    0 0 0 5px rgba(72, 149, 104, .18);
}


.job-map-marker-dot::after {
    content: "";

    position: absolute;

    inset: -11px;

    border: 1px solid rgba(72, 149, 104, .45);
    border-radius: 50%;

    animation: job-map-marker-pulse 1.8s ease-out infinite;
}


@keyframes job-map-marker-pulse {

    0% {
        opacity: .75;

        transform: scale(.6);
    }

    100% {
        opacity: 0;

        transform: scale(1.45);
    }

}

/* =========================================================
   MAPLIBRE
========================================================= */

#jobMap {
    position: relative;

    width: 100%;
    height: 100%;

    min-height: 420px;

    direction: ltr !important;

    background: #eef1f3;
}


#jobMap .maplibregl-map,
#jobMap .maplibregl-canvas-container,
#jobMap .maplibregl-canvas {
    direction: ltr !important;
}


/* =========================================================
   MARKER
========================================================= */

.job-map-marker-v2 {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    cursor: default;
}


.job-map-marker-v2-core {
    position: relative;

    display: block;

    width: 22px;
    height: 22px;

    background: #489568;

    border: 5px solid #ffffff;
    border-radius: 50%;

    box-shadow: 0 5px 18px rgba(0, 0, 0, .24),
    0 0 0 5px rgba(72, 149, 104, .18);
}


.job-map-marker-v2-core::before {
    content: "";

    position: absolute;

    inset: -11px;

    border: 1px solid rgba(72, 149, 104, .55);
    border-radius: 50%;

    animation: job-map-marker-pulse 1.8s ease-out infinite;
}


@keyframes job-map-marker-pulse {

    0% {
        opacity: .8;

        transform: scale(.55);
    }

    100% {
        opacity: 0;

        transform: scale(1.55);
    }

}


/* =========================================================
   MAPLIBRE FINAL
========================================================= */

#jobMap {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    min-height: 0 !important;

    direction: ltr !important;

    background: #e8edf0;
}


/* MapLibre canvas */

#jobMap.maplibregl-map,
#jobMap .maplibregl-canvas-container,
#jobMap .maplibregl-canvas {
    width: 100% !important;
    height: 100% !important;

    direction: ltr !important;
}


/* =========================================================
   MARKER
========================================================= */

.job-map-marker-v2 {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    pointer-events: none;
}


.job-map-marker-v2-core {
    position: relative;

    display: block;

    width: 22px;
    height: 22px;

    background: #489568;

    border: 5px solid #ffffff;

    border-radius: 50%;

    box-shadow: 0 5px 18px rgba(0, 0, 0, .24),
    0 0 0 5px rgba(72, 149, 104, .18);
}


.job-map-marker-v2-core::before {
    content: "";

    position: absolute;

    inset: -11px;

    border: 1px solid rgba(72, 149, 104, .55);

    border-radius: 50%;

    animation: job-map-marker-pulse 1.8s ease-out infinite;
}


@keyframes job-map-marker-pulse {

    0% {
        opacity: .8;

        transform: scale(.55);
    }

    100% {
        opacity: 0;

        transform: scale(1.55);
    }

}

/* Main column */

.job-detail-main-column {
    width: 100%;
    min-width: 0;
}


/* Working conditions */

.job-detail-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 24px;

    margin: 0 0 22px;
    padding: 24px 28px;

    direction: rtl;
    text-align: right;

    border: 1px solid var(--job-border);
    border-radius: var(--job-radius-lg);
    background: var(--job-surface);
    box-shadow: var(--job-shadow);
}

.job-detail-summary > div {
    min-width: 0;
}

.job-detail-summary dt {
    margin: 0 0 8px;

    color: var(--job-text);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8;
}

.job-detail-summary dd {
    margin: 0;

    color: var(--job-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 2;

    overflow-wrap: anywhere;
}


/* Languages and levels */

.job-detail-info-item--languages {
    grid-column: 1 / -1;
    align-items: flex-start;
}

.job-detail-language-values {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.job-detail-language-values > strong {
    display: block;
}

.job-detail-language-level {
    color: var(--job-muted);
    font-weight: 400;
}


/* Mobile */

@media (max-width: 767px) {
    .job-detail-summary {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;

        margin-bottom: 18px;
        padding: 20px;

        border-radius: 17px;
    }

    .job-detail-summary dt {
        margin-bottom: 4px;
    }
}

.job-detail-info-item--languages {
    grid-column: auto;
    align-items: flex-start;
}

.job-detail-language-values {
    gap: 6px;
}

.job-rich-text ul {
    list-style: disc;
    padding-right: 1.5rem;
    margin: .75rem 0;
}

.job-rich-text ol {
    list-style: decimal;
    padding-right: 1.5rem;
    margin: .75rem 0;
}

.job-rich-text li {
    margin-bottom: .4rem;
}

.job-rich-text p {
    margin-bottom: .75rem;
}

.job-rich-text strong,
.job-rich-text b {
    font-weight: 700;
}

/* توضیح کوتاه زیر عنوان آگهی */
.job-detail-page .job-detail-hero .job-detail-intro {
    max-width: 850px;
    margin: 12px 0 0;
    padding: 0;
    color: var(--job-text-2, #34404d);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
    text-align: start;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .job-detail-page .job-detail-hero .job-detail-intro {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.85;
    }
}


/* =============================================
   JOB DETAIL — EXTRA CONTENT CARDS
============================================= */

.job-detail-page .job-detail-extra-card {
    margin-top: 20px;
    padding: 30px 34px;
    background: var(--job-surface);
    border: 1px solid var(--job-border);
    border-radius: var(--job-radius-lg);
    box-shadow: var(--job-shadow);
    direction: rtl;
    text-align: right;
}

/* Header */

.job-detail-extra-header {
    margin-bottom: 24px;
}

.job-detail-extra-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--job-primary-dark);
    font-size: 11px;
    font-weight: 500;
}

.job-detail-extra-header h2 {
    margin: 0 0 10px;
    color: var(--job-text);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.6;
}

.job-detail-extra-header p {
    margin: 0;
    color: var(--job-muted);
    font-size: 13px;
    line-height: 2;
}


/* =============================================
   HOW TO APPLY — STEPS
============================================= */

.job-detail-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.job-detail-steps li {
    min-width: 0;
    padding: 18px 16px;
    background: var(--job-surface-soft);
    border: 1px solid var(--job-border-soft);
    border-radius: 14px;
}

.job-detail-step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    margin-bottom: 14px;
    border-radius: 11px;
    background: var(--job-primary-soft);
    color: var(--job-primary-dark);
    font-size: 13px;
    font-weight: 700;
}

.job-detail-steps li p {
    margin: 0;
    color: var(--job-text-2);
    font-size: 12px;
    font-weight: 400;
    line-height: 2;
}

.job-detail-extra-note {
    margin: 20px 0 0;
    padding: 12px 16px;
    border-right: 3px solid var(--job-primary);
    border-radius: 9px;
    background: var(--job-primary-soft);
    color: var(--job-text-2);
    font-size: 12px;
    line-height: 2;
}


/* =============================================
   RELATED JOBS
============================================= */

.job-related-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.job-related-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    min-height: 84px;
    padding: 15px 16px;
    border: 1px solid var(--job-border);
    border-radius: 14px;
    background: var(--job-surface-soft);
    text-decoration: none;
    transition: border-color .2s ease,
                background .2s ease,
                transform .2s ease;
}

.job-related-item:hover {
    border-color: #bcdcc8;
    background: #f3faf5;
    transform: translateY(-2px);
}

.job-related-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.job-related-content strong {
    color: var(--job-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.job-related-content small {
    color: var(--job-muted);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.7;
}

.job-related-separator {
    margin: 0 5px;
    color: var(--job-muted-2);
}

.job-related-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: var(--job-primary-soft);
    color: var(--job-primary-dark);
    font-size: 17px;
    transition: transform .2s ease;
}

.job-related-item:hover .job-related-arrow {
    transform: translateX(-3px);
}

.job-related-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 22px;
    color: var(--job-primary-dark);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.job-related-all:hover {
    color: var(--job-primary);
}

.job-related-all span {
    transition: transform .2s ease;
}

.job-related-all:hover span {
    transform: translateX(-4px);
}


/* =============================================
   RESPONSIVE
============================================= */

@media (max-width: 991.98px) {
    .job-detail-steps {
        grid-template-columns: 1fr;
    }

    .job-detail-steps li {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .job-detail-step-number {
        flex: 0 0 35px;
        margin-bottom: 0;
    }
}

@media (max-width: 767.98px) {
    .job-detail-page .job-detail-extra-card {
        margin-top: 16px;
        padding: 22px 20px;
        border-radius: 17px;
    }

    .job-detail-extra-header {
        margin-bottom: 20px;
    }

    .job-detail-extra-header h2 {
        font-size: 18px;
    }

    .job-related-list {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .job-related-item {
        min-height: 72px;
        padding: 12px 14px;
    }

    .job-detail-extra-note {
        margin-top: 16px;
    }
}

/* ==========================================
   RELATED JOBS — CLEAN MINIMAL CARDS
========================================== */

.job-related-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.job-related-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    min-height: 108px;
    padding: 18px 17px;

    direction: rtl;
    text-align: right;
    background: #fff;
    border: 1px solid #e9eeeb;
    border-radius: 16px;
    box-shadow: none;

    text-decoration: none;
    transition: box-shadow .22s ease;
}

.job-related-item:hover {
    background: #fff;
    border-color: #e9eeeb;
    box-shadow: 0 8px 26px rgba(23, 32, 43, .09);
    transform: none;
}

.job-related-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    text-align: right;
}

.job-related-content strong {
    display: block;
    margin: 0;
    color: var(--job-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.job-related-content small {
    display: block;
    color: #919ca6;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.8;
}

.job-related-separator {
    margin: 0 5px;
    color: #c5cdca;
}

/* Circular Arrow */

.job-related-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 27px;
    width: 27px;
    height: 27px;

    background: #fff;
    border: 1px solid #edf0ee;
    border-radius: 50%;
    color: #c4ccc8;
    font-size: 15px;
    font-weight: 400;

    transition: none;
}

.job-related-item:hover .job-related-arrow {
    transform: none;
}

/* Mobile */

@media (max-width: 767.98px) {
    .job-related-list {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .job-related-item {
        min-height: 96px;
        padding: 15px 16px;
    }

    .job-related-content strong {
        font-size: 13px;
    }
}

.job-related-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.job-related-arrow svg {
    width: 20px;
    height: 20px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ==========================================
   RELATED JOBS — FINAL CIRCULAR ARROW
========================================== */

.job-detail-page .job-related-item .job-related-arrow {
    display: grid;
    place-items: center;

    flex: 0 0 36px;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;

    padding: 0;
    margin: 0;
    box-sizing: border-box;

    border: 1px solid #e5ebe7;
    border-radius: 50%;

    background: #ffffff;
    color: #a9b5af;

    line-height: 0;
    overflow: hidden;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.job-detail-page .job-related-arrow svg {
    display: block;
    flex: none;

    width: 17px;
    height: 17px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.job-detail-page .job-related-item:hover .job-related-arrow {
    background: #f0f8f2;
    border-color: #c9e4d2;
    color: #438e62;
    transform: none;
}

@media (max-width: 767.98px) {
    .job-detail-page .job-related-item .job-related-arrow {
        flex: 0 0 34px;
        width: 34px;
        min-width: 34px;
        height: 34px;
        min-height: 34px;
    }

    .job-detail-page .job-related-arrow svg {
        width: 16px;
        height: 16px;
    }
}
/* Hide third card when total is exactly 3 */
.job-related-list > .job-related-item:nth-child(3):last-child {
    display: none;
}