        .elementor-widget-container,
        .elementor-widget-container > *,
        .job-detail-branded,
        .job-detail-branded > * {
            width: 100% !important;
            max-width: none !important;
        }
        
        .job-detail-branded,
        .job-detail-branded *,
        .job-detail-branded *::before,
        .job-detail-branded *::after {
            box-sizing: border-box;
        }
        
        .job-detail-branded {
            --color-primary: #235383;
            --color-primary-dark: #1a3f62;
            --color-primary-light: #336ba8;
            --color-accent-gold: #C69A07;
            
            --color-white: #ffffff;
            --color-white-soft: rgba(255, 255, 255, 0.95);
            --color-white-muted: rgba(255, 255, 255, 0.85);
            --color-white-subtle: rgba(255, 255, 255, 0.7);
            --color-white-faint: rgba(255, 255, 255, 0.5);
            
            --color-overlay: rgba(255, 255, 255, 0.08);
            --color-overlay-hover: rgba(255, 255, 255, 0.12);
            --color-border: rgba(255, 255, 255, 0.15);
            --color-border-light: rgba(255, 255, 255, 0.1);
            
            --color-gray-50: #f9fafb;
            --color-gray-100: #f3f4f6;
            --color-gray-200: #e5e7eb;
            --color-gray-300: #d1d5db;
            --color-gray-400: #9ca3af;
            --color-gray-500: #6b7280;
            --color-gray-600: #4b5563;
            --color-gray-700: #374151;
            --color-gray-900: #111827;
            --color-border-card: #e5e7eb;
            
            --font-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            
            --text-xs: 0.6875rem;
            --text-sm: 0.8125rem;
            --text-base: 0.9375rem;
            --text-lg: 1rem;
            --text-xl: 1.125rem;
            --text-2xl: 1.25rem;
            --text-3xl: 1.5rem;
            --text-4xl: 1.875rem;
            
            --radius-sm: 6px;
            --radius-md: 10px;
            --radius-lg: 12px;
            --radius-xl: 16px;
            
            /* ============================================================
               BUTTON PADDING CUSTOMIZATION
               ============================================================
               Edit these values to change Submit & Cancel button padding
               
               DESKTOP (screens > 640px):
               - Top/Bottom: --btn-padding-top & --btn-padding-bottom
               - Left/Right: --btn-padding-left & --btn-padding-right
               
               MOBILE (screens ≤ 640px):
               - All sides: --btn-mobile-padding
               
               Default Values:
               - Desktop: 14px top/bottom, 28px left/right
               - Mobile: 16px all around
               ============================================================ */
            --btn-padding-top: 14px;
            --btn-padding-right: 28px;
            --btn-padding-bottom: 14px;
            --btn-padding-left: 28px;
            --btn-mobile-padding: 16px;
            
            /* ============================================================
               RELATED JOBS SUBTITLE SPACING
               ============================================================
               Control the bottom spacing under "Browse similar positions"
               To customize in Elementor:
               1. Edit the section containing the job
               2. Advanced > Custom CSS
               3. Add: selector { --related-jobs-subtitle-padding-bottom: 40px; }
               ============================================================ */
            --related-jobs-subtitle-padding-bottom: 0px;
            
            display: block !important;
            width: 100% !important;
            max-width: none !important;
            min-width: 100% !important;
            min-height: 600px;
            margin: 0 !important;
            padding: 0 !important;
            color: var(--color-white);
            position: relative;
        }
        
        .job-detail-inner {
            width: 100% !important;
            max-width: none !important;
            margin: 0 auto;
            padding: 0 !important;
        }
        
        .job-content-wrapper {
            position: relative;
        }
        
        .job-closed-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            background: rgba(255, 255, 255, 0.3);
            z-index: 999;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 40px 20px;
            overflow-y: auto;
        }
        
        .job-closed-card {
            max-width: 500px;
            width: 100%;
            text-align: center;
            padding: 48px 40px;
            background: white;
            border-radius: 16px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            position: relative;
            margin: auto;
        }
        
        .job-closed-card svg {
            width: 80px;
            height: 80px;
            color: #9ca3af;
            margin-bottom: 10px;
        }
        
        .job-closed-card h2 {
            color: #235383;
            font-weight: 500;
            margin-bottom: 12px;
        }
        
        .job-closed-card p {
            color: #6b7280;
            margin-bottom: 24px;
        }
        
        .job-closed-card a {
            display: inline-block;
            padding: 12px 24px;
            background: #235383;
            color: white;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.2s;
        }
        
        .job-closed-card a:hover {
            background: #1a3f62;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(35, 83, 131, 0.3);
        }
        
        .job-closed-buttons {
            display: flex;
            gap: 12px;
            justify-content: center;
            flex-wrap: wrap;
        }
        
        .job-closed-card .btn-primary-closed {
            display: inline-block;
            padding: 12px 24px;
            background: #235383;
            color: white;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.2s;
            border: 2px solid #235383;
        }
        
        .job-closed-card .btn-primary-closed:hover {
            background: #1a3f62;
            border-color: #1a3f62;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(35, 83, 131, 0.3);
        }
        
        .job-closed-card .btn-outline-closed {
            display: inline-block;
            padding: 12px 24px;
            background: #FFFFFF;
            color: #003E85;
            border: 2px solid #003E85;
            border-radius: 8px;
            text-decoration: none;
            transition: all 0.2s;
        }
        
        .job-closed-card .btn-outline-closed:hover {
            background: #021E3FF2;
            color: #FFFFFF;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 62, 133, 0.3);
        }
        
        .job-back-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--color-white-muted);
            text-decoration: underline;
            padding: 8px 14px;
            transition: all 0.2s;
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: var(--radius-md);
            white-space: nowrap;
        }
        .job-back-link:hover {
            color: var(--color-white);
            background: rgba(255, 255, 255, 0.25);
            text-decoration: underline;
        }
        .job-back-link svg {
            flex-shrink: 0;
        }
        
        .job-layout {
            display: grid;
            grid-template-columns: 1fr 400px;
            gap: 24px;
            align-items: start;
            width: 100% !important;
            max-width: none !important;
            padding: 0 0 32px 0;
        }
        
        .job-main-content {
            min-width: 0;
            width: 100% !important;
        }
        
        .job-sidebar {
            min-width: 0;
            width: 100% !important;
        }
        
        .job-detail-header {
            background: linear-gradient(135deg, #235383 0%, #336ba8 50%, #4a749d 100%);
            color: white;
            border-radius: 0;
            padding: 40px 0;
            margin-bottom: 50px;
            margin-left: calc(-50vw + 50%);
            margin-right: calc(-50vw + 50%);
            width: 100vw;
            position: relative;
            overflow: visible;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            max-width: none !important;
            min-height: 440px;
            display: flex;
            align-items: center;
        }
        
        .job-detail-header::before {
            display: none;
        }
        
        .job-detail-header::after {
            display: none;
        }
        
        .job-header-container {
            max-width: 1280px;
            margin: 0 auto;
            padding: 0 32px;
            width: 100%;
        }
        
        .job-header-top {
            position: relative;
            z-index: 1;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 24px;
            margin-bottom: 24px;
            flex-wrap: wrap;
        }
        
        .job-header-left {
            display: flex;
            gap: 20px;
            align-items: flex-start;
            flex: 1;
            min-width: 0;
        }
        
        .job-logo {
            width: 80px;
            height: 80px;
            background: white;
            border-radius: var(--radius-xl);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            overflow: hidden;
        }
        
        .job-logo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .job-header-info {
            flex: 1;
            min-width: 0;
            max-width: 100%;
        }
        
        .job-badges {
            display: flex;
            gap: 6px;
            margin-bottom: 12px;
            flex-wrap: wrap;
        }
        
        .job-badge {
            padding: 4px 10px;
            border-radius: var(--radius-sm);
            border: 1px solid;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: rgba(255, 255, 255, 0.15);
            color: white;
            border-color: rgba(255, 255, 255, 0.3);
            white-space: nowrap;
        }
        
        .job-detail-title {
            margin: 0 0 8px 0;
            color: white;
            word-wrap: break-word;
            overflow-wrap: break-word;
            max-width: 100%;
        }
        
        .job-detail-company {
            display: flex;
            align-items: center;
            gap: 8px;
            color: rgba(255, 255, 255, 0.9);
        }
        
        .job-header-actions {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-shrink: 0;
            flex-wrap: wrap;
            justify-content: flex-end;
        }
        
        .application-count-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 8px 14px;
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: var(--radius-md);
            color: white;
            white-space: nowrap;
            transition: all 0.2s;
        }
        
        .application-count-number {
            display: inline-block;
        }
        
        @keyframes successFlash {
            0% {
                background: rgba(255, 255, 255, 0.15);
                border-color: rgba(255, 255, 255, 0.2);
                transform: scale(1);
            }
            25% {
                transform: scale(1.08);
            }
            50% {
                background: rgba(220, 252, 231, 0.3);
                border-color: rgba(134, 239, 172, 0.4);
                transform: scale(1.05);
            }
            75% {
                transform: scale(1.03);
            }
            100% {
                background: rgba(255, 255, 255, 0.15);
                border-color: rgba(255, 255, 255, 0.2);
                transform: scale(1);
            }
        }
        
        @keyframes countUp {
            0% {
                opacity: 0;
                transform: translateY(8px) scale(0.8);
            }
            50% {
                opacity: 1;
                transform: translateY(-2px) scale(1.1);
            }
            100% {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }
        
        .application-count-badge.updating {
            animation: successFlash 0.8s ease-in-out;
        }
        
        .application-count-badge.updating .application-count-number {
            animation: countUp 0.6s ease-out;
        }
        
        .job-action-btn {
            width: 40px;
            height: 40px;
            border-radius: var(--radius-md);
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.3);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            color: white;
            flex-shrink: 0;
        }
        .job-action-btn:hover {
            background: rgba(255, 255, 255, 0.25);
        }
        
        .job-info-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 0;
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: var(--radius-md);
            margin: 0;
            overflow: hidden;
            position: relative;
            z-index: 1;
        }
        
        /* Mobile-only white section (hidden on desktop/tablet) */
        .job-info-section-mobile {
            display: none;
        }
        
        .info-card {
            padding: 16px 20px;
            border-right: 1px solid rgba(255, 255, 255, 0.15);
            border-bottom: 1px solid rgba(255, 255, 255, 0.15);
            display: flex;
            gap: 12px;
            align-items: center;
        }
        
        .info-card:nth-child(2n) {
            border-right: none;
        }
        
        .info-icon {
            width: 40px;
            height: 40px;
            border-radius: var(--radius-md);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            background: rgba(255, 255, 255, 0.2);
            color: white;
        }
        
        .info-content {
            flex: 1;
            min-width: 0;
        }
        
        .info-label {
            color: rgba(255, 255, 255, 0.6);
        }
        
        .info-value {
            color: white;
            margin-top: 2px;
        }
        
        .job-main-content {
            display: flex;
            flex-direction: column;
            gap: 24px;
            width: 100%;
            min-width: 0;
        }
        
        .job-section {
            background: white;
            border-radius: var(--radius-xl);
            border: 2px solid var(--color-gray-200);
            padding: 32px;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 10px 40px rgba(0, 0, 0, 0.02);
            width: 100%;
            transition: all 0.2s ease-out;
        }
        
        .job-section:hover {
            border-color: var(--color-gray-300);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
        }
        
        .job-section h2 {
            color: #003E85;
            margin: 0 0 16px 0;
        }
        
        .job-description {
            color: #6b7280;
            line-height: 1.6;
            white-space: normal !important;
        }
        
        .job-description p {
            margin: 0 0 20px 0 !important;
            display: block !important;
        }
        
        .job-description p:last-child {
            margin-bottom: 0 !important;
        }
        
        .job-description a {
            color: #235383 !important;
            text-decoration: underline !important;
        }
        
        .job-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        
        .job-list li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 12px;
            color: #6b7280;
        }
        .job-list li:last-child {
            margin-bottom: 0;
        }
        
        .job-list li svg {
            flex-shrink: 0;
            margin-top: 4px;
            width: 20px;
            height: 20px;
            color: var(--color-primary);
        }
        
        .job-list li a {
            color: #235383 !important;
            text-decoration: underline !important;
        }
        
        .job-sidebar {
            position: relative;
            align-self: start;
            min-height: 100%;
        }
        
        .job-apply-card {
            background: #ffffff;
            color: #111827;
            border-radius: var(--radius-xl);
            padding: 32px;
            border: 1px solid #e5e7eb;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
            /* Support for JS-based fixed positioning */
            box-sizing: border-box;
        }
        
        .job-apply-card-placeholder {
            visibility: hidden;
            pointer-events: none;
        }
        
        .job-apply-title {
            margin: 0 0 8px 0;
            color: #003E85 !important;
        }
        
        .job-apply-subtitle {
            color: #6b7280 !important;
            margin-bottom: 24px;
        }
        
        .job-apply-info {
            background: #f9fafb;
            border: 1px solid #e5e7eb;
            border-radius: var(--radius-lg);
            padding: 16px;
            margin-bottom: 20px;
        }
        
        .job-apply-info-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .job-apply-info-row + .job-apply-info-row {
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px solid #e5e7eb;
        }
        
        .job-apply-status {
            padding: 4px 10px;
            background: rgba(22, 163, 74, 0.08);
            border: 1px solid rgba(22, 163, 74, 0.2);
            border-radius: 12px;
            color: #16a34a;
            font-weight: 600;
        }
        
        .job-apply-status.closed {
            background: rgba(239, 68, 68, 0.08);
            border: 1px solid rgba(239, 68, 68, 0.2);
            color: #dc2626;
        }
        
        .job-sidebar .job-apply-btn {
            width: 100%;
            padding: 16px;
            background: #235383;
            color: white;
            border: none;
            border-radius: var(--radius-md);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin-bottom: 12px;
            box-shadow: 0 2px 8px rgba(35, 83, 131, 0.25);
            font-weight: 600;
            font-size: var(--text-base);
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            -webkit-font-smoothing: subpixel-antialiased;
        }
        .job-sidebar .job-apply-btn:hover:not(:disabled) {
            background: #1a3f62;
            box-shadow: 0 4px 14px rgba(35, 83, 131, 0.35);
        }
        .job-sidebar .job-apply-btn:active:not(:disabled) {
            box-shadow: 0 2px 6px rgba(35, 83, 131, 0.2);
        }
        .job-apply-btn:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }
        
        /* Hide mobile apply button on desktop/tablet */
        .job-header-actions .job-apply-btn {
            display: none;
        }
        
        .job-contact-section {
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px solid #e5e7eb;
        }
        
        .job-contact-label {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #6b7280;
            margin-bottom: 12px;
        }
        
        .job-contact-btn {
            width: 100%;
            padding: 12px;
            background: #f9fafb;
            color: #235383;
            border: 1px solid #e5e7eb;
            font-weight: 500;
            border-radius: var(--radius-md);
            cursor: pointer;
            transition: all 0.2s;
        }
        .job-contact-btn:hover {
            background: #f3f4f6;
            border-color: #d1d5db;
        }
        
        .ad-slot {
            background: white;
            min-height: 250px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 2px dashed #e5e7eb;
            border-radius: 0;
            border-left: none;
            border-right: none;
        }
        
        .ad-slot-content {
            text-align: center;
            color: #9ca3af;
        }
        
        /* ============================================================================
           RELATED JOBS SECTION - UPDATED WITH INDUSTRY COLORS
           ============================================================================ */
        
        .related-jobs {
            margin-top: -44px !important;
            Margin-bottom: 16px !important;
            width: 100% !important;
            padding: 0 0 64px 0;
            background: transparent;
        }
        
        .related-jobs-header {
            text-align: center;
            margin-bottom: 40px;
            padding: 0 0;
        }
        
        .related-jobs-title {
            font-size: 2rem;
            font-weight: 700;
            margin: 0 0 12px 0;
            color: #003E85;
            letter-spacing: -0.02em;
        }
        
        .related-jobs-subtitle {
            font-size: 1.0625rem;
            color: #6b7280;
            margin: 0;
            padding-bottom: var(--related-jobs-subtitle-padding-bottom);
            font-weight: 400;
        }
        
        .related-jobs-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
            padding: 0;
        }
        
        .related-job-card {
            padding: 16px;
            border: 2px solid #9ca3af;
            border-radius: var(--radius-lg);
            cursor: pointer;
            transition: all 0.2s ease-out;
            background: #FFFFFF;
            position: relative;
            text-decoration: none;
            color: inherit;
            display: flex;
            flex-direction: column;
            -webkit-transform: translateZ(0);
            transform: translateZ(0);
            will-change: transform;
        }
        
        /* Alternating backgrounds - EXACT MATCH TO MAIN CARDS */
        .related-job-card:nth-child(odd)::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(243, 246, 246, 0.35);
            border-radius: var(--radius-lg);
            pointer-events: none;
            z-index: 0;
        }
        
        .related-job-card:nth-child(even)::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(249, 250, 251, 0.5);
            border-radius: var(--radius-lg);
            pointer-events: none;
            z-index: 0;
        }
        
        .related-job-card > * {
            position: relative;
            z-index: 1;
        }
        
        .related-job-card:hover {
            border-color: #6b7280;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            /* Keep the colored left border on hover */
            border-left-color: inherit !important;
        }
        
        /* Chevron arrow on related job cards - visible on all screens, vertically centered */
        .related-job-card::after {
            content: '›';
            position: absolute;
            right: 16px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 36px;
            color: #235383;
            opacity: 0.3;
            transition: opacity 0.2s, transform 0.2s;
            pointer-events: none;
            z-index: 2;
        }
        
        /* Chevron animation on hover (desktop) and active (mobile) */
        .related-job-card:hover::after {
            opacity: 0.6;
            transform: translateY(-50%) translateX(4px);
        }
        
        .related-job-card:active::after {
            opacity: 0.6;
            transform: translateY(-50%) translateX(4px);
        }
        
        /* COLORED LEFT BORDERS - EXACT MATCH TO MAIN CARDS */
        .related-job-card {
            border-left: 3px solid transparent;
            border-left-color: #9ca3af; /* Default gray if no industry */
        }
        
        /* Industry-specific colored left borders - EXACT MATCH TO MAIN CARDS */
        .related-job-card[data-industry*="accounting"],
        .related-job-card[data-industry*="finance"]:not([data-industry*="marketing"]) {
            border-left-color: #1e40af !important;
        }
        
        .related-job-card[data-industry*="administrative"],
        .related-job-card[data-industry*="clerical"] {
            border-left-color: #ec4899 !important;
        }
        
        .related-job-card[data-industry*="agriculture"],
        .related-job-card[data-industry*="food"] {
            border-left-color: #84cc16 !important;
        }
        
        .related-job-card[data-industry*="automotive"] {
            border-left-color: #dc2626 !important;
        }
        
        .related-job-card[data-industry*="biotechnology"] {
            border-left-color: #06b6d4 !important;
        }
        
        .related-job-card[data-industry*="consulting"] {
            border-left-color: #6366f1 !important;
        }
        
        .related-job-card[data-industry*="construction"],
        .related-job-card[data-industry*="real-estate"] {
            border-left-color: #a16207 !important;
        }
        
        .related-job-card[data-industry*="customer-service"] {
            border-left-color: #0d9488 !important;
        }
        
        .related-job-card[data-industry*="design"] {
            border-left-color: #d946ef !important;
        }
        
        .related-job-card[data-industry*="education"] {
            border-left-color: #f59e0b !important;
        }
        
        .related-job-card[data-industry*="energy"],
        .related-job-card[data-industry*="utilities"] {
            border-left-color: #eab308 !important;
        }
        
        .related-job-card[data-industry*="engineering"] {
            border-left-color: #2563eb !important;
        }
        
        .related-job-card[data-industry*="entertainment"],
        .related-job-card[data-industry*="media"] {
            border-left-color: #9333ea !important;
        }
        
        .related-job-card[data-industry*="environmental"] {
            border-left-color: #059669 !important;
        }
        
        .related-job-card[data-industry*="fashion"],
        .related-job-card[data-industry*="beauty"] {
            border-left-color: #f43f5e !important;
        }
        
        .related-job-card[data-industry*="healthcare"] {
            border-left-color: #10b981 !important;
        }
        
        .related-job-card[data-industry*="hospitality"],
        .related-job-card[data-industry*="tourism"] {
            border-left-color: #f43f5e !important;
        }
        
        .related-job-card[data-industry*="human-resources"] {
            border-left-color: #ec4899 !important;
        }
        
        .related-job-card[data-industry*="information-technology"] {
            border-left-color: #2563eb !important;
        }
        
        .related-job-card[data-industry*="insurance"] {
            border-left-color: #6366f1 !important;
        }
        
        .related-job-card[data-industry*="legal"],
        .related-job-card[data-industry*="compliance"] {
            border-left-color: #475569 !important;
        }
        
        .related-job-card[data-industry*="manufacturing"] {
            border-left-color: #7c3aed !important;
        }
        
        .related-job-card[data-industry*="marketing"],
        .related-job-card[data-industry*="advertising"] {
            border-left-color: #ff6b35 !important;
        }
        
        .related-job-card[data-industry*="operations"] {
            border-left-color: #7c3aed !important;
        }
        
        .related-job-card[data-industry*="pharmaceutical"] {
            border-left-color: #14b8a6 !important;
        }
        
        .related-job-card[data-industry*="product"] {
            border-left-color: #0ea5e9 !important;
        }
        
        .related-job-card[data-industry*="sales"] {
            border-left-color: #0d9488 !important;
        }
        
        .related-job-card:hover {
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            transform: translateY(-2px);
            border-color: #6b7280;
        }
        
        .related-job-card-header {
            display: flex;
            gap: 12px;
            margin-bottom: 10px;
            align-items: center !important;
        }
        
        .related-job-icon {
            width: 48px;
            height: 48px;
            min-width: 48px;
            border-radius: var(--radius-md);
            background: var(--color-white);
            border: 1px solid #235383;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            overflow: hidden;
        }
        
        .related-job-icon svg {
            width: 24px;
            height: 24px;
            color: #6b7280;
        }
        
        .related-job-icon img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .related-job-content {
            flex: 1 !important;
            min-width: 0 !important;
            max-width: 100% !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            justify-content: flex-start !important;
            box-sizing: border-box !important;
            position: relative !important;
        }
        
        /* Company name ABOVE title - EXACT MATCH */
        .related-job-company {
            font-size: var(--text-sm);
            font-weight: 500;
            color: var(--color-gray-500);
            margin-bottom: 2px;
            width: 100% !important;
            max-width: 100% !important;
            display: block !important;
            align-self: stretch !important;
            text-align: left !important;
        }
        
        .related-job-card h3 {
            font-size: var(--text-lg);
            font-weight: 600;
            color: var(--color-gray-900);
            font-family: var(--font-sans);
            letter-spacing: -0.01em;
            margin: 0 0 10px 0 !important;
            padding: 0 !important;
            width: 100% !important;
            max-width: 100% !important;
            align-self: stretch !important;
            display: -webkit-box !important;
            -webkit-line-clamp: 2 !important;
            -webkit-box-orient: vertical !important;
            overflow: hidden !important;
            line-height: 1.3 !important;
            text-align: left !important;
            transition: all 0.2s ease;
        }
        
        /* ============================================================
           HOVER EFFECT: Black underline on job title
           ============================================================ */
        .related-job-card:hover h3 {
            text-decoration: underline;
            text-decoration-color: #000000;
            text-decoration-thickness: 1.5px;
            text-underline-offset: 2px;
        }
        
        .related-jobs .related-job-badges {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 10px;
        }
        
        .related-jobs .related-job-badge {
            padding: 3px 8px;
            border-radius: var(--radius-sm);
            font-size: var(--text-xs);
            font-weight: 600;
            border: 1px solid #d1d5db;
            background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
            color: #4b5563;
        }
        
        /* Work Type Badges - Using RGBA transparency - RELATED JOBS ONLY */
        .related-jobs .related-job-badge.badge-work[data-work*="Remote"],
        .related-jobs .related-job-badge.badge-work[data-work*="remote"] {
            background: rgba(59, 130, 246, 0.1) !important;
            color: #2563eb !important;
            border: 1px solid rgba(59, 130, 246, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-work[data-work*="Hybrid"],
        .related-jobs .related-job-badge.badge-work[data-work*="hybrid"] {
            background: rgba(139, 92, 246, 0.1) !important;
            color: #7c3aed !important;
            border: 1px solid rgba(139, 92, 246, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-work[data-work*="On-Site"],
        .related-jobs .related-job-badge.badge-work[data-work*="On Site"],
        .related-jobs .related-job-badge.badge-work[data-work*="On-site"],
        .related-jobs .related-job-badge.badge-work[data-work*="on-site"] {
            background: rgba(249, 115, 22, 0.1) !important;
            color: #ea580c !important;
            border: 1px solid rgba(249, 115, 22, 0.3) !important;
        }
        
        /* Job Type Badges - EXACT COLORS FROM MAIN CARDS - RELATED JOBS ONLY */
        .related-jobs .related-job-badge.badge-type[data-type="Full-Time"],
        .related-jobs .related-job-badge.badge-type[data-type="Full Time"] {
            background: linear-gradient(135deg, #dbeafe 0%, #93c5fd 100%) !important;
            color: #1e3a8a !important;
            border: 1px solid #235383 !important;
        }
        
        .related-jobs .related-job-badge.badge-type[data-type="Part-Time"],
        .related-jobs .related-job-badge.badge-type[data-type="Part Time"] {
            background: linear-gradient(135deg, #fef3c7 0%, #fde047 100%) !important;
            color: #854d0e !important;
            border: 1px solid #C69A07 !important;
        }
        
        .related-jobs .related-job-badge.badge-type[data-type="Contract"] {
            background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%) !important;
            color: #0f172a !important;
            border: 1px solid #1e293b !important;
        }
        
        .related-jobs .related-job-badge.badge-type[data-type="Temporary"] {
            background: linear-gradient(135deg, #fed7aa 0%, #fb923c 100%) !important;
            color: #7c2d12 !important;
            border: 1px solid #ea580c !important;
        }
        
        .related-jobs .related-job-badge.badge-type[data-type="Internship"] {
            background: linear-gradient(135deg, #e0f2fe 0%, #7dd3fc 100%) !important;
            color: #075985 !important;
            border: 1px solid #0284c7 !important;
        }
        
        .related-jobs .related-job-badge.badge-type[data-type="Freelance"] {
            background: linear-gradient(135deg, #fae8ff 0%, #e879f9 100%) !important;
            color: #701a75 !important;
            border: 1px solid #a21caf !important;
        }
        
        .related-jobs .related-job-badge.badge-type[data-type="Advisory"] {
            background: linear-gradient(135deg, #fef08a 0%, #eab308 100%) !important;
            color: #713f12 !important;
            border: 1px solid #a16207 !important;
        }
        
        /* Industry badges - Default gray gradient - RELATED JOBS ONLY */
        .related-jobs .related-job-badge.badge-industry {
            background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
            color: #4b5563 !important;
            border: 1px solid #d1d5db;
        }
        
        /* Industry-specific colored badges - Using RGBA transparency - RELATED JOBS ONLY */
        .related-jobs .related-job-badge.badge-industry[data-industry*="accounting"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="finance"]:not([data-industry*="marketing"]) {
            background: rgba(30, 64, 175, 0.12) !important;
            color: #1e40af !important;
            border: 1px solid rgba(30, 64, 175, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="administrative"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="clerical"] {
            background: rgba(236, 72, 153, 0.12) !important;
            color: #ec4899 !important;
            border: 1px solid rgba(236, 72, 153, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="agriculture"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="food"] {
            background: rgba(132, 204, 22, 0.12) !important;
            color: #84cc16 !important;
            border: 1px solid rgba(132, 204, 22, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="automotive"] {
            background: rgba(220, 38, 38, 0.12) !important;
            color: #dc2626 !important;
            border: 1px solid rgba(220, 38, 38, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="biotechnology"] {
            background: rgba(6, 182, 212, 0.12) !important;
            color: #06b6d4 !important;
            border: 1px solid rgba(6, 182, 212, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="consulting"] {
            background: rgba(99, 102, 241, 0.12) !important;
            color: #6366f1 !important;
            border: 1px solid rgba(99, 102, 241, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="construction"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="real-estate"] {
            background: rgba(161, 98, 7, 0.12) !important;
            color: #a16207 !important;
            border: 1px solid rgba(161, 98, 7, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="customer-service"] {
            background: rgba(13, 148, 136, 0.12) !important;
            color: #0d9488 !important;
            border: 1px solid rgba(13, 148, 136, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="design"] {
            background: rgba(217, 70, 239, 0.12) !important;
            color: #d946ef !important;
            border: 1px solid rgba(217, 70, 239, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="education"] {
            background: rgba(245, 158, 11, 0.12) !important;
            color: #f59e0b !important;
            border: 1px solid rgba(245, 158, 11, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="energy"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="utilities"] {
            background: rgba(234, 179, 8, 0.12) !important;
            color: #eab308 !important;
            border: 1px solid rgba(234, 179, 8, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="engineering"] {
            background: rgba(37, 99, 235, 0.12) !important;
            color: #2563eb !important;
            border: 1px solid rgba(37, 99, 235, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="entertainment"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="media"] {
            background: rgba(147, 51, 234, 0.12) !important;
            color: #9333ea !important;
            border: 1px solid rgba(147, 51, 234, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="environmental"] {
            background: rgba(5, 150, 105, 0.12) !important;
            color: #059669 !important;
            border: 1px solid rgba(5, 150, 105, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="fashion"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="beauty"] {
            background: rgba(244, 63, 94, 0.12) !important;
            color: #e11d48 !important;
            border: 1px solid rgba(244, 63, 94, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="healthcare"] {
            background: rgba(16, 185, 129, 0.12) !important;
            color: #059669 !important;
            border: 1px solid rgba(16, 185, 129, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="hospitality"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="tourism"] {
            background: rgba(244, 63, 94, 0.12) !important;
            color: #f43f5e !important;
            border: 1px solid rgba(244, 63, 94, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="human-resources"] {
            background: rgba(236, 72, 153, 0.12) !important;
            color: #ec4899 !important;
            border: 1px solid rgba(236, 72, 153, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="information-technology"] {
            background: rgba(37, 99, 235, 0.12) !important;
            color: #2563eb !important;
            border: 1px solid rgba(37, 99, 235, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="insurance"] {
            background: rgba(99, 102, 241, 0.12) !important;
            color: #6366f1 !important;
            border: 1px solid rgba(99, 102, 241, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="legal"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="compliance"] {
            background: rgba(71, 85, 105, 0.12) !important;
            color: #475569 !important;
            border: 1px solid rgba(71, 85, 105, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="manufacturing"] {
            background: rgba(124, 58, 237, 0.12) !important;
            color: #7c3aed !important;
            border: 1px solid rgba(124, 58, 237, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="marketing"],
        .related-jobs .related-job-badge.badge-industry[data-industry*="advertising"] {
            background: rgba(255, 107, 53, 0.12) !important;
            color: #ea580c !important;
            border: 1px solid rgba(255, 107, 53, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="operations"] {
            background: rgba(124, 58, 237, 0.12) !important;
            color: #7c3aed !important;
            border: 1px solid rgba(124, 58, 237, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="pharmaceutical"] {
            background: rgba(20, 184, 166, 0.12) !important;
            color: #0d9488 !important;
            border: 1px solid rgba(20, 184, 166, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="product"] {
            background: rgba(14, 165, 233, 0.12) !important;
            color: #0284c7 !important;
            border: 1px solid rgba(14, 165, 233, 0.3) !important;
        }
        
        .related-jobs .related-job-badge.badge-industry[data-industry*="sales"] {
            background: rgba(13, 148, 136, 0.12) !important;
            color: #0d9488 !important;
            border: 1px solid rgba(13, 148, 136, 0.3) !important;
        }
        
        /* Details list - EXACT MATCH */
        .related-job-details {
            font-size: var(--text-sm);
            color: var(--color-gray-700);
            display: flex;
            flex-direction: column;
            gap: 4px;
        }
        
        .related-job-detail-item {
            display: flex;
            align-items: center;
            gap: 6px;
        }
        
        .related-job-icon-sm {
            width: 14px;
            height: 14px;
            flex-shrink: 0;
            color: #6b7280;
        }
        
        /* APPLICATION COUNTER - EXACT MATCH - ALWAYS VISIBLE */
        .related-application-count {
            position: absolute;
            bottom: 12px;
            right: 12px;
            display: flex;
            align-items: center;
            gap: 4px;
            padding: 4px 10px;
            background: rgba(248, 250, 252, 0.95);
            color: #6b7280;
            border: 1px solid #e5e7eb;
            border-radius: 12px;
            font-size: 0.6875rem;
            font-weight: 600;
            z-index: 2;
            transition: all 0.2s;
            opacity: 1; /* Always visible */
        }
        
        .related-application-count svg {
            width: 11px;
            height: 11px;
            flex-shrink: 0;
        }
        
        .related-application-count-number {
            display: inline-block;
        }
        
        .related-job-salary,
        .related-job-posted,
        .related-job-location {
            font-size: 0.9375rem;
            color: #6b7280;
            margin: 0;
            font-weight: 500;
            display: -webkit-box;
            -webkit-line-clamp: 1;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        
        .modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.6);
            backdrop-filter: blur(4px);
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 16px;
            animation: fadeIn .2s ease-out;
            overflow-y: auto;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        .modal-content {
            background: #ffffff;
            border-radius: 16px;
            width: 100%;
            max-width: 600px;
            max-height: 90vh;
            overflow: hidden;
            position: relative;
            box-shadow: 0 20px 50px rgba(0,0,0,0.3);
            animation: slideUp .3s ease-out;
            display: flex;
            flex-direction: column;
        }



        
        @keyframes slideUp {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        
        .modal-close {
            position: absolute;
            top: 16px;
            right: 16px;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: rgba(255,255,255,0.2);
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10;
            color: white;
            transition: background .2s;
        }
        
        .modal-close:hover {
            background: rgba(255,255,255,0.3);
        }
        
        .modal-header {
            background: linear-gradient(135deg, #235383 0%, #336ba8 100%);
            color: #fff;
            padding: 32px 24px 32px 24px;
            padding-right: 60px;
            position: relative;
            overflow: hidden;
            flex-shrink: 0;
        }
        
        .modal-header::before {
            content: "";
            position: absolute;
            width: 400px;
            height: 400px;
            background: rgba(255, 255, 255, 0.15);
            border-radius: 50%;
            filter: blur(80px);
            top: -150px;
            right: -100px;
            pointer-events: none;
        }
        
        .modal-header::after {
            content: "";
            position: absolute;
            width: 350px;
            height: 350px;
            background: rgba(198, 154, 7, 0.15);
            border-radius: 50%;
            filter: blur(70px);
            bottom: -100px;
            left: -80px;
            pointer-events: none;
        }
        
        .modal-header > div:first-child {
            margin: 0 0 24px 0;
            position: relative;
            z-index: 1;
            color: #ffffff;
        }
        
        .modal-header p {
            color: rgba(255, 255, 255, 0.8);
            margin: 0;
            position: relative;
            z-index: 1;
        }
        
        .modal-body {
            padding: 24px;
            max-height: calc(90vh - 280px);
            overflow-y: auto;
            scrollbar-width: thin;
            scrollbar-color: var(--color-gray-300) var(--color-gray-50);
            flex: 1;
            min-height: 0;
            background: white;
        }
        
        .modal-body::-webkit-scrollbar {
            width: 8px;
        }
        
        .modal-body::-webkit-scrollbar-track {
            background: var(--color-gray-50);
        }
        
        .modal-body::-webkit-scrollbar-thumb {
            background: var(--color-gray-300);
            border-radius: 4px;
        }
        
        .form-group {
            margin-bottom: 20px;
        }
        
        .form-group:last-child {
            margin-bottom: 0;
        }
        
        .form-label {
            display: block;
            color: #374151;
            margin-bottom: 6px;
        }
        
        .form-input, 
        .form-textarea {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            transition: border-color .2s;
            background: white;
            color: #111827;
            font-size: 16px;
        }
        
        .form-input::placeholder,
        .form-textarea::placeholder {
            color: #9ca3af;
        }
        
        .form-input:focus, 
        .form-textarea:focus {
            outline: none;
            border-color: #235383;
            box-shadow: 0 0 0 3px rgba(35, 83, 131, 0.1);
        }
        
        .form-textarea {
            resize: vertical;
            min-height: 100px;
        }
        
        .file-upload {
            border: 2px dashed #d1d5db;
            border-radius: 10px;
            padding: 28px 20px;
            text-align: center;
            cursor: pointer;
            transition: all .2s;
            background: #f9fafb;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: #4b5563;
        }
        
        .file-upload:hover {
            border-color: var(--color-primary);
            background: #e8f1f8;
            color: #111827;
        }
        
        .file-upload input {
            display: none;
        }
        
        .file-upload p {
            color: #4b5563;
            margin: 4px 0;
        }
        
        .file-upload p strong {
            color: #111827;
        }
        
        .upload-icon {
            width: 32px;
            height: 32px;
            color: #235383;
            margin: 0 auto 4px;
        }
        
        .file-name {
            color: var(--color-primary);
        }
        
        .error-message {
            color: #dc2626;
            margin-top: 4px;
            display: none;
        }
        
        .form-group.error .form-input,
        .form-group.error .form-textarea,
        .form-group.error .file-upload {
            border-color: #dc2626;
        }
        
        .form-group.error .error-message {
            display: block;
        }
        
        /* ============================================================ */
        /* EMAIL TYPO SUGGESTION                                         */
        /* ============================================================ */
        .jb-email-suggestion {
            margin-top: 6px;
            font-size: 13px;
            color: #b45309;
            line-height: 1.4;
        }
        .jb-email-fix {
            color: var(--jb-primary, #1b3a5c);
            font-weight: 600;
            text-decoration: underline;
            text-underline-offset: 2px;
            cursor: pointer;
        }
        .jb-email-fix:hover {
            color: #0f2a42;
        }
        
        /* ============================================================ */
        /* PHONE PREFIX                                                  */
        /* ============================================================ */
        .jb-phone-wrapper {
            display: flex;
            gap: 8px;
        }
        .jb-phone-prefix {
            width: 64px !important;
            min-width: 64px !important;
            flex-shrink: 0 !important;
            text-align: center;
            font-weight: 600;
            color: #374151;
            padding-left: 8px !important;
            padding-right: 8px !important;
        }
        .jb-phone-number {
            flex: 1;
            min-width: 0;
        }

        /* ============================================================ */
        /* CONSENT CHECKBOXES                                            */
        /* ============================================================ */
        .jb-consent-section {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin-bottom: 20px;
        }
        .jb-consent-row-wrap {
            position: relative;
        }
        .jb-consent-row {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding: 14px 0;
            border-bottom: 1px solid #f1f5f9;
            cursor: pointer;
        }
        .jb-consent-row-wrap:last-child .jb-consent-row {
            border-bottom: none;
        }
        .jb-consent-row input[type="checkbox"] {
            -webkit-appearance: none;
            appearance: none;
            width: 18px;
            height: 18px;
            border: 2px solid #cbd5e1;
            border-radius: 5px;
            flex-shrink: 0;
            position: relative;
            transition: all 0.2s;
            cursor: pointer;
            background: #fff;
            margin-top: 1px;
        }
        .jb-consent-row input[type="checkbox"]:checked {
            background: var(--jb-primary, #1b3a5c);
            border-color: var(--jb-primary, #1b3a5c);
        }
        .jb-consent-row input[type="checkbox"]:checked::after {
            content: '';
            position: absolute;
            top: 2px;
            left: 5px;
            width: 5px;
            height: 8px;
            border: solid #fff;
            border-width: 0 2px 2px 0;
            transform: rotate(45deg);
        }
        .jb-consent-content {
            flex: 1;
        }
        .jb-consent-label {
            font-size: 14px;
            font-weight: 500;
            color: #374151;
            line-height: 1.4;
            cursor: pointer;
        }
        .jb-consent-sub {
            font-size: 12px;
            color: #94a3b8;
            margin-top: 2px;
            line-height: 1.4;
        }
        .jb-consent-more {
            color: var(--jb-primary, #1b3a5c);
            text-decoration: underline;
            text-underline-offset: 2px;
            cursor: pointer;
        }
        .jb-consent-detail {
            display: none;
            margin-left: 28px;
        }
        .jb-consent-detail.jb-open {
            display: block;
        }
        .jb-consent-detail-inner {
            padding: 4px 0 12px;
            font-size: 12px;
            line-height: 1.55;
            color: #6b7280;
        }
        
        .modal-footer {
            display: flex;
            justify-content: flex-end;
            gap: 12px;
            padding: 24px;
            border-top: 1px solid #f3f4f6;
            flex-shrink: 0;
            background: white;
            position: relative;
            z-index: 10;
        }
        
        .btn-secondary,
        .btn-primary {
            flex: 1;
            min-width: 0;
        }
        
        /* Base Button Styles - Inspired by Hire Talent Modal */
        .btn-secondary,
        .btn-primary {
            padding: 0.875rem 1.5rem; /* 14px 24px - can be overridden by CSS vars if set */
            border-radius: 0.5rem; /* 8px */
            cursor: pointer;
            transition: all 0.2s;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            border: none;
            /* Typography controlled by Elementor */
            font-size: inherit;
            font-weight: inherit;
            font-family: inherit;
            line-height: inherit;
            letter-spacing: inherit;
        }
        
        .btn-secondary {
            background: white;
            color: #374151;
            border: 2px solid #d1d5db;
        }
        
        .btn-secondary:hover {
            background: #f9fafb;
        }
        
        .btn-primary {
            background: #235383;
            color: white;
            box-shadow: 0 4px 12px rgba(35, 83, 131, 0.3);
        }
        
        .btn-primary:hover:not(:disabled) {
            background: #1a3f63;
            box-shadow: 0 6px 16px rgba(35, 83, 131, 0.4);
        }
        
        .btn-primary:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            pointer-events: none;
        }
        
        .success-screen {
            text-align: center;
            padding: 60px 40px;
            background: white;
        }
        
        .success-icon {
            width: 80px;
            height: 80px;
            color: #235383;
            margin: 0 auto 16px;
            opacity: 0;
        }
        
        .success-screen .section-heading {
            margin: 0 0 8px 0;
            opacity: 0;
            font-size: var(--jb-success-heading-size, 1.5rem);
            font-weight: var(--jb-success-heading-weight, 600);
            color: var(--jb-success-heading-color, #235383);
        }
        
        .success-screen p {
            color: var(--jb-success-message-color, #6b7280);
            font-size: var(--jb-success-message-size, 1rem);
            margin: 0;
            opacity: 0;
            line-height: 1.875;
        }
        
        .success-screen.show-animation .success-icon {
            animation: successIconBounce 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
        }
        
        .success-screen.show-animation .section-heading {
            animation: successFadeIn 0.5s ease-out 0.3s forwards;
        }
        
        .success-screen.show-animation p {
            animation: successFadeIn 0.5s ease-out 0.4s forwards;
        }
        
        @keyframes successIconBounce {
            0% {
                transform: scale(0) translateY(20px);
                opacity: 0;
            }
            50% {
                transform: scale(1.1) translateY(-5px);
                opacity: 1;
            }
            100% {
                transform: scale(1) translateY(0);
                opacity: 1;
            }
        }
        
        @keyframes successFadeIn {
            from {
                transform: translateY(10px);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }
        
        .job-application-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.6);
            backdrop-filter: blur(4px);
            z-index: 999999 !important;
            overflow-y: auto;
            padding: 20px;
            animation: fadeIn 0.2s ease-out;
        }
        
        .job-application-modal.active {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .loading-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(8px);
            z-index: 999999;
            display: none;
            align-items: center;
            justify-content: center;
        }
        
        .loading-overlay.active {
            display: flex;
        }
        
        .loading-content {
            background: white;
            padding: 40px;
            border-radius: 16px;
            text-align: center;
            max-width: 400px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
            color: #111827;
        }
        
        .spinner {
            width: 60px;
            height: 60px;
            border: 4px solid #e5e7eb;
            border-top-color: #235383;
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
            margin: 0 auto 16px;
        }
        
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        
        @media (min-width: 1360px) {
            .job-header-container {
                padding: 0;
            }
        }
        
        
        /* ==========================================
           SIDEBAR ELEMENTS (ELEMENTOR CONTROLLED)
           ========================================== */
        .apply-info-label {
            color: #6b7280;
        }
        
        .apply-info-value {
            color: #111827;
            font-weight: 700;
        }
        
        .status-badge {
            color: #16a34a;
        }
        
        .btn-applied,
        .btn-contact {
            color: rgba(255, 255, 255, 0.9);
            background-color: rgba(255, 255, 255, 0.15);
        }
        
        /* ==========================================
           RELATED JOBS ELEMENTS (ELEMENTOR CONTROLLED)
           ========================================== */
        .related-jobs-title {
            color: #111827;
        }
        
        .related-jobs-subtitle {
            color: #6b7280;
        }
        
        .related-job-badge {
            color: #374151;
            background-color: #EFEFEF;
        }
        
        .related-job-location {
            color: #6b7280;
        }

        @media (max-width: 1024px) {
            .job-layout {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            
            .job-sidebar {
                position: static;
            }
            
            .job-apply-card {
                margin-top: 5px;
                position: static !important;
                top: auto !important;
                left: auto !important;
                width: 100% !important;
                z-index: auto !important;
            }
            
            .job-apply-card-placeholder {
                display: none !important;
            }
            
            .jb-sidebar-ad {
                display: none !important;
            }
            
            .related-jobs {
                padding: 40px 0 48px 0;
                margin-top: 32px !important;
                background: transparent;
            }
            
            .related-jobs-header {
                margin-bottom: 32px;
                padding: 0;
            }
            
            .related-jobs-title {
                font-size: 1.75rem;
            }
            
            .related-jobs-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
                padding: 0;
            }
            
            .related-job-card {
                padding: 24px;
            }
            
            .related-job-icon {
                width: 52px;
                height: 52px;
                min-width: 52px;
            }
            
            .related-job-icon svg {
                width: 26px;
                height: 26px;
            }
            
            .job-detail-header {
                margin-bottom: 30px;
            }
        }
        
        /* ==========================================
           TABLET BREAKPOINT: MOVE SHARE TO TOP RIGHT
           ========================================== */
        @media (min-width: 769px) and (max-width: 1024px) {
            .job-header-container {
                position: relative;
            }
            
            .job-action-btn {
                position: absolute !important;
                top: 0;
                right: 0;
                z-index: 100;
            }
            
            .job-header-actions {
                justify-content: flex-start;
                padding-right: 60px; /* Reserve space for share icon */
            }
        }
        
        @media (max-width: 768px) {
            /* Hide the header version of info-grid on mobile */
            .job-header-container .job-info-grid {
                display: none !important;
            }
            
            .modal-overlay {
                padding: 0;
                align-items: flex-end;
            }
            
            /* Show and style the mobile white section */
            .job-info-section-mobile {
                display: block;
                margin-bottom: 24px;
            }
            
            .job-info-section-mobile .job-info-grid {
                display: grid;
                grid-template-columns: 1fr;
                gap: 0;
                background: white;
                border: 2px solid var(--color-gray-200);
                border-radius: var(--radius-xl);
                overflow: hidden;
                box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 10px 40px rgba(0, 0, 0, 0.02);
                padding-bottom: 1px;
            }
            
            .job-info-section-mobile .info-card {
                padding: 20px 22px;
                border-right: none !important;
                border-bottom: 1px solid var(--color-gray-200) !important;
                background: white;
                transition: all 0.2s ease;
            }
            
            .job-info-section-mobile .info-card:last-child {
                border-bottom: none !important;
            }
            
            .job-info-section-mobile .info-card:hover {
                background: var(--color-gray-50);
            }
            
            .job-info-section-mobile .info-icon {
                width: 44px;
                height: 44px;
                background: linear-gradient(135deg, var(--color-gray-100) 0%, var(--color-gray-50) 100%);
                color: var(--color-primary);
                border: 1px solid var(--color-gray-200);
            }
            
            .job-info-section-mobile .info-icon svg {
                width: 19px;
                height: 19px;
            }
            
            .job-info-section-mobile .info-label {
                color: var(--color-gray-500);
                font-size: var(--text-xs);
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.05em;
                margin-bottom: 4px;
            }
            
            .job-info-section-mobile .info-value {
                color: var(--color-gray-900);
                font-size: var(--text-sm);
                font-weight: 600;
                line-height: 1.4;
            }
            
            .job-header {
                padding: 24px 0 !important;
                border-radius: 0 !important;
                position: relative !important;
            }
            
            .job-detail-header {
                margin-bottom: 24px !important;
                min-height: 440px !important;
                display: flex !important;
                align-items: center !important;
                padding: 36px 0 !important;
            }
            
            .job-header-container {
                padding: 0 24px !important;
                position: relative !important;
                width: 100% !important;
            }
            
            .job-header-top {
                flex-wrap: wrap !important;
                gap: 0 !important;
                margin-bottom: 0 !important;
                flex-direction: column !important;
                align-items: center !important;
                padding: 0 !important;
                width: 100% !important;
            }
            
            .job-header-actions {
                position: static !important;
                width: 100% !important;
                margin: 24px 0 0 0 !important;
                gap: 10px !important;
                justify-content: space-between !important;
                padding: 0 !important;
                order: 2 !important;
                display: flex !important;
                align-items: center !important;
                box-sizing: border-box !important;
            }
            
            .application-count-badge {
                display: none !important;
            }
            
            .job-back-link {
                padding: 9px 12px !important;
                gap: 6px !important;
                text-decoration: none !important;
                font-size: 0.8125rem !important;
                font-weight: 500 !important;
                height: auto !important;
                min-height: 38px !important;
                display: inline-flex !important;
                align-items: center !important;
                border-radius: 8px !important;
                background: rgba(255, 255, 255, 0.15) !important;
                border: 1px solid rgba(255, 255, 255, 0.3) !important;
                flex: 0 0 auto !important;
                justify-content: center !important;
                transition: all 0.2s !important;
            }
            
            .job-back-link:active {
                background: rgba(255, 255, 255, 0.25) !important;
                transform: scale(0.98) !important;
            }
            
            .job-back-link svg {
                width: 15px !important;
                height: 15px !important;
            }
            
            /* Completely hide original text and show only "All Jobs" */
            .back-link-text {
                font-size: 0 !important;
                color: transparent !important;
                line-height: 0 !important;
            }
            
            .back-link-text::after {
                content: 'All Jobs' !important;
                font-size: 0.8125rem !important;
                color: white !important;
                font-weight: 500 !important;
                line-height: normal !important;
            }
            
            /* Apply button in header (mobile only) */
            .job-header-actions .job-apply-btn {
                padding: 11px 16px !important;
                background: white !important;
                color: #235383 !important;
                border: none !important;
                border-radius: 8px !important;
                font-size: 0.9375rem !important;
                font-weight: 600 !important;
                height: auto !important;
                min-height: 42px !important;
                flex: 1 !important;
                min-width: 0 !important;
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 8px !important;
                transition: all 0.2s !important;
                box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
                cursor: pointer !important;
                margin-bottom: 0 !important;
                white-space: nowrap !important;
            }
            
            .job-header-actions .job-apply-btn svg {
                width: 18px !important;
                height: 18px !important;
                flex-shrink: 0 !important;
            }
            
            .job-header-actions .job-apply-btn:active {
                transform: scale(0.98) !important;
                box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15) !important;
            }
            
            .job-action-btn {
                width: 38px !important;
                height: 38px !important;
                flex-shrink: 0 !important;
                transition: all 0.2s !important;
            }
            
            .job-action-btn:active {
                background: rgba(255, 255, 255, 0.25) !important;
                transform: scale(0.95) !important;
            }
            
            .job-action-btn svg {
                width: 17px !important;
                height: 17px !important;
            }
            
            .job-header-left {
                flex-direction: column !important;
                align-items: center !important;
                text-align: center !important;
                width: 100% !important;
                max-width: 100% !important;
                gap: 20px !important;
                padding-top: 0 !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
                min-width: auto !important;
                order: 1 !important;
                box-sizing: border-box !important;
            }
            
            .job-logo {
                width: 80px !important;
                height: 80px !important;
                border-radius: 14px !important;
                margin: 0 auto 4px auto !important;
                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
            }
            
            .job-header-info {
                width: 100% !important;
                max-width: calc(100vw - 48px) !important;
                display: flex !important;
                flex-direction: column !important;
                gap: 8px !important;
                align-items: stretch !important;
                margin: 0 auto !important;
            }
            
            .job-badges {
                gap: 7px !important;
                justify-content: center !important;
                order: 3 !important;
                margin: 6px 0 0 0 !important;
                display: flex !important;
                flex-wrap: wrap !important;
                width: auto !important;
            }
            
            .job-header-actions {
                position: static !important;
                width: 100% !important;
                margin: 24px 0 0 0 !important;
                gap: 10px !important;
                justify-content: space-between !important;
                padding: 0 !important;
                order: 2 !important;
                display: flex !important;
                align-items: center !important;
                box-sizing: border-box !important;
            }
            
            .job-detail-title {
                order: 1 !important;
                margin: 0 !important;
                font-size: 1.875rem;
                font-weight: 700;
            }
            
            .job-detail-company {
                order: 2 !important;
                justify-content: center !important;
                margin: 0 0 4px 0 !important;
                font-size: 1.0625rem !important;
                opacity: 0.95 !important;
            }
            
            .job-detail-company svg {
                width: 20px !important;
                height: 20px !important;
            }
            
            .job-badge {
                padding: 6px 13px !important;
                font-size: 0.8125rem !important;
                font-weight: 500 !important;
                border-radius: 8px !important;
            }
            
            .job-company svg {
                width: 18px;
                height: 18px;
            }
            
            .job-info-grid {
                grid-template-columns: 1fr;
                margin-top: 0;
            }
            
            .info-card {
                border-right: none !important;
                border-bottom: 1px solid rgba(255, 255, 255, 0.15);
                padding: 15px 18px;
            }
            
            .info-card:nth-last-child(-n+2) {
                border-bottom: 1px solid rgba(255, 255, 255, 0.15);
            }
            
            .info-icon {
                width: 38px;
                height: 38px;
            }
            
            .info-icon svg {
                width: 19px;
                height: 19px;
            }
            
            .info-label {
            }
            
            .info-value {
            }
            
            .job-layout {
                padding: 0 0 24px 0;
            }
            
            .job-section {
                padding: 20px 18px;
                border-radius: var(--radius-lg);
            }
            
            .job-section h2 {
                margin-bottom: 14px;
            }
            
            .job-description {
            }
            
            .job-description p {
                margin-bottom: 20px !important;
            }
            
            .job-list li {
                gap: 10px;
                margin-bottom: 10px;
            }
            
            .job-list li svg {
                width: 19px;
                height: 19px;
                margin-top: 3px;
            }
            
            .job-apply-card {
                padding: 22px 20px;
                border-radius: var(--radius-lg);
                margin-top: 5px;
                position: static !important;
                top: auto !important;
                left: auto !important;
                width: 100% !important;
                z-index: auto !important;
            }
            
            .job-apply-title {
                margin-bottom: 8px;
            }
            
            .job-apply-subtitle {
                margin-bottom: 18px;
            }
            
            .job-apply-btn {
                padding: 15px;
            }
            
            .related-jobs {
                margin-top: 24px !important;
                padding: 0 0 24px 0;
            }
            
            .related-jobs-header {
                margin-bottom: 24px;
                padding: 0;
            }
            
            .related-jobs-title {
                font-size: 1.5rem;
                margin-bottom: 8px;
            }
            
            .related-jobs-subtitle {
                font-size: 0.9375rem;
                margin-bottom: 8px;
            }
            
            .related-jobs-grid {
                grid-template-columns: 1fr;
                gap: 16px;
                padding: 0;
            }
            
            .related-job-card {
                padding: 20px;
                border-radius: 12px;
            }
            
            .related-job-card-header {
                margin-bottom: 16px;
                gap: 14px;
            }
            
            .related-job-icon {
                width: 48px;
                height: 48px;
                min-width: 48px;
                border-radius: 10px;
            }
            
            .related-job-icon svg {
                width: 24px;
                height: 24px;
            }
            
            .related-job-card h3 {
                font-size: 1rem;
                margin-bottom: 4px;
            }
            
            .related-job-company {
                font-size: 0.875rem;
            }
            
            .related-job-badges {
                gap: 6px;
                margin-bottom: 14px;
            }
            
            .related-job-badge {
                padding: 3px 8px;
                font-size: 0.6875rem;
                border-radius: 5px;
            }
            
            .related-job-footer {
                padding-top: 14px;
            }
            
            .related-job-location-icon {
                width: 16px;
                height: 16px;
            }
            
            .related-job-location {
                font-size: 0.875rem;
            }
            
            /* Mobile modal: full-screen pattern.
               Per Brad's spec: modal top must be at viewport top
               (header pinned to top edge of screen), modal fills
               full screen, user scrolls internally to see everything
               until they hit the bottom of the form.
               Implementation:
                 - Wrapper is full viewport, NO flex centering
                 - .active uses display:block so modal-content sits
                   at top:0 of wrapper, not centered
                 - modal-content fills full height (100svh on iOS
                   handles toolbar correctly), scrolls internally */
            /* Mobile modal: NORMAL DOCUMENT FLOW.
               After ~10 iterations of wrestling internal scroll
               containers, the simplest answer wins: don't have an
               internal scroll at all. The modal flows in document
               flow, takes up full screen via fixed position only for
               z-index/coverage, but the body scrolls naturally to
               reveal everything inside. Same scroll behavior as any
               other webpage on mobile.
               Trade-off: closing the modal returns user to whatever
               scroll position they ended at (not where they opened
               from). Worth it for "scroll just works." */
            .job-application-modal {
                position: fixed !important;
                top: 0 !important;
                left: 0 !important;
                right: 0 !important;
                bottom: 0 !important;
                width: 100vw !important;
                height: auto !important;
                min-height: 100vh !important;
                min-height: 100dvh !important;
                max-height: none !important;
                padding: 0 !important;
                background: #ffffff !important;
                /* Wrapper IS the scroll container. Single scroll
                   surface, no nesting, browsers handle it correctly. */
                overflow-y: auto !important;
                overflow-x: hidden !important;
                -webkit-overflow-scrolling: touch !important;
                overscroll-behavior: contain !important;
                /* Anchor at viewport top (defeat the base flex centering). */
                display: none;
                align-items: stretch !important;
                justify-content: stretch !important;
            }
            .job-application-modal.active {
                display: block !important;
            }
            .job-application-modal .modal-content {
                /* modal-content is just a regular block container.
                   No internal scroll, no height constraint. Lets the
                   wrapper above scroll the entire form naturally. */
                position: static !important;
                width: 100% !important;
                max-width: 100% !important;
                height: auto !important;
                max-height: none !important;
                min-height: 0 !important;
                margin: 0 !important;
                padding: 0 !important;
                border-radius: 0 !important;
                overflow: visible !important;
                background: transparent !important;
                box-shadow: none !important;
                animation: none !important;
            }
            
            .modal-header {
                padding: 24px 20px;
                padding-right: 56px;
            }
            
            .modal-header > div:first-child {
                margin-bottom: 12px;
            }
            
            .modal-header p {
            }
            
            /* Modal-body is NOT a scroll container on mobile. The
               scroll context is .modal-content (set by base CSS +
               57-portal-tweaks). Putting overflow-y:auto here too
               creates nested scroll containers, which iOS Safari
               handles poorly — touch scroll on the inner stops short
               and the user can't reach content below.
               Brad spent 7 CSS iterations debugging "can only scroll
               a smidge" before this was identified as the root cause.
               The previous max-height:calc(100svh - 280px) was meant
               to reserve space for header+footer, but with the
               proper modal-content scroll setup that calculation is
               unnecessary — modal-body just sizes to its content and
               modal-content scrolls. */
            .modal-body {
                padding: 20px;
            }
            
            .form-group {
                margin-bottom: 16px;
            }
            
            .modal-footer {
                padding: 16px 20px;
                flex-direction: column-reverse;
                gap: 10px;
                box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
            }
            
            /* High specificity mobile button styles to override Elementor */
            .modal-footer .btn-secondary.jb-modal-btn-cancel,
            .modal-footer .btn-primary.jb-modal-btn-submit {
                width: 100% !important;
                padding: 14px !important;
                min-height: 48px !important;
                font-size: 16px !important;
                box-sizing: border-box !important;
            }
            
            .job-closed-overlay {
                padding: 20px;
                align-items: center;
            }
            
            .job-closed-card {
                padding: 32px 24px;
                margin: auto;
            }
            
            .job-closed-card svg {
                width: 64px;
                height: 64px;
                margin-bottom: 8px;
            }
            
            .job-closed-card h2 {
                margin-bottom: 10px;
            }
            
            .job-closed-card p {
                margin-bottom: 20px;
            }
            
            .job-closed-buttons {
                flex-direction: column;
                gap: 10px;
            }
            
            .job-closed-card .btn-primary-closed,
            .job-closed-card .btn-outline-closed {
                width: 100%;
                text-align: center;
            }
        }
    
        .related-jobs .job-badge {
            background: rgba(17, 24, 39, 0.06) !important;
            color: #111827 !important;
            border-color: rgba(17, 24, 39, 0.15) !important;
        }
        .related-jobs .job-meta,
        .related-jobs .job-location,
        .related-jobs .related-jobs-title,
        .related-jobs .related-jobs-subtitle {
            color: #111827 !important;
        }







        /* apply-modal-simple-scroll — Dead-simple mobile pattern.
           No flex tricks. No internal scrollers. No sticky headers
           or footers. The OUTER modal wrapper has overflow-y: auto
           so the ENTIRE modal scrolls as one page. Browser handles
           scroll natively, no fighting flexbox or iOS Safari quirks. */
        @media (max-width: 768px) {
            .job-application-modal,
            .modal-overlay {
                background: #ffffff !important;
                backdrop-filter: none !important;
                padding: 0 !important;
                align-items: flex-start !important;
                justify-content: stretch !important;
                overflow-y: auto !important;
                overflow-x: hidden !important;
                -webkit-overflow-scrolling: touch !important;
            }
            .modal-content {
                width: 100% !important;
                max-width: 100% !important;
                min-height: 100% !important;
                height: auto !important;
                max-height: none !important;
                margin: 0 !important;
                border-radius: 0 !important;
                box-shadow: none !important;
                animation: none !important;
                overflow: visible !important;
                display: block !important;
            }
            /* apply-modal-success-fix — Don't force display:block on the
               form. The JS toggles `form.style.display = 'none'` to show
               the success screen, but inline styles don't override CSS
               !important. Without this rule the form's default block
               display works fine, AND the JS can hide it correctly. */
            .modal-header {
                padding: 18px 56px 16px 20px !important;
                background: #235383 !important;
                color: #ffffff !important;
                border-bottom: 0 !important;
            }
            .modal-header > div:first-child {
                font-size: 19px !important;
                font-weight: 700 !important;
                color: #ffffff !important;
                letter-spacing: -0.01em !important;
                line-height: 1.25 !important;
            }
            .modal-header p {
                font-size: 13px !important;
                color: rgba(255,255,255,0.85) !important;
                margin: 4px 0 0 !important;
            }
            .modal-header::before,
            .modal-header::after {
                display: none !important;
            }
            .modal-close {
                top: 14px !important;
                right: 14px !important;
                width: 32px !important;
                height: 32px !important;
                background: rgba(255,255,255,0.2) !important;
                border-radius: 50% !important;
                z-index: 6 !important;
                color: #ffffff !important;
            }
            .modal-body {
                max-height: none !important;
                overflow: visible !important;
                padding: 20px !important;
            }
            
            /* When success screen is displayed (JS sets display:block),
               give it room to breathe on mobile. */
            .success-screen {
                padding: 60px 24px 80px !important;
                min-height: 100% !important;
            }
            /* Apply-modal ad on mobile — re-enabled with layout-shift
               mitigations now that the modal uses the simple-scroll
               pattern (no internal scroller). Three guards:
                 1. min-height: 120px reserves space so the iframe
                    doesn't push the Submit button down when AdSense
                    fills (typical mobile creative is 100-250px tall).
                 2. transition: none kills the height animation that
                    caused slide-down jank during fill.
                 3. margin: 18px 0 keeps visual breathing room above
                    and below so the ad doesn't crash into the consent
                    rows or the Submit/Cancel buttons. */
            .jb-apply-modal-ad {
                display: block !important;
                margin: 18px 0 !important;
                padding: 0 !important;
                min-height: 120px !important;
            }
            .jb-apply-modal-ad-label {
                display: block !important;
            }
            .jb-apply-modal-ad iframe {
                min-height: 120px !important;
                transition: none !important;
            }
            .modal-footer {
                padding: 16px 20px max(20px, env(safe-area-inset-bottom)) !important;
                background: #ffffff !important;
                border-top: 1px solid #e5e7eb !important;
                display: flex !important;
                gap: 10px !important;
                flex-direction: row !important;
            }
            .modal-footer .btn-primary,
            .modal-footer .btn-primary.jb-modal-btn-submit {
                flex: 1 1 auto !important;
                order: 2 !important;
                width: auto !important;
                min-height: 48px !important;
                font-size: 15px !important;
            }
            .modal-footer .btn-secondary,
            .modal-footer .btn-secondary.jb-modal-btn-cancel {
                flex: 0 0 auto !important;
                order: 1 !important;
                width: auto !important;
                min-height: 48px !important;
                padding: 0 18px !important;
                font-size: 15px !important;
            }
        }

        /* jb-success-state CSS — When .jb-success-state class is on
           .job-application-modal, force-hide the form + header so the
           success screen takes over. !important here beats any cached
           or competing display rules that may exist. */
        .job-application-modal.jb-success-state .application-form-content,
        .job-application-modal.jb-success-state .modal-header,
        .job-application-modal.jb-success-state form.application-form-content,
        .job-application-modal.jb-success-state .modal-body,
        .job-application-modal.jb-success-state .modal-footer {
            display: none !important;
            visibility: hidden !important;
            height: 0 !important;
            overflow: hidden !important;
        }
        .job-application-modal.jb-success-state .success-screen {
            display: block !important;
            /* Let success-screen size to its content. Previously had
               min-height: 60vh + padding: 60px 24px 80px which forced
               the screen to ~60% of viewport plus 140px of vertical
               padding, leaving room for scroll even though the actual
               content (icon + title + message + ad + close) only
               needs ~430px. Hub success-screen doesn't have these
               rules — which is why Brad said "the hub popup is
               smoother." Match that here so individual job page
               success doesn't scroll when content fits naturally on
               most phones. NOTE: scroll on the WRAPPER is left
               enabled — earlier we tried overflow:hidden but that
               hid the Close button on shorter screens (iPhone SE,
               browser-chrome-heavy mobile Safari) where ~430px of
               content barely exceeds visible viewport. The wrapper's
               native overflow-y:auto guarantees Close is always
               reachable as a safety net, and on phones where content
               fits, no scroll engages anyway. */
            min-height: 0 !important;
            padding: 24px 24px 32px !important;
        }
