/**
 * Single Job Page Styles
 * Matches the admin preview template exactly
 */

/* Font Awesome for icons */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');

/* Reset and base styles */
.nlmc-single-job-page {
    margin: 0;
    padding: 0;
    font-family: var(--nlmc-font-family, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif);
    line-height: 1.6;
    color: var(--nlmc-body-color, #333333);
    background-color: var(--nlmc-single-bg, #ffffff);
}

.nlmc-single-job-container {
    max-width: var(--nlmc-container-max, 1200px);
    margin: 0 auto;
    padding: var(--nlmc-single-pad-top, 40px) var(--nlmc-container-pad-left, 20px) var(--nlmc-single-pad-bot, 40px);
    background-color: var(--nlmc-single-bg, #ffffff);
}

/* Back Button Styles */
.nlmc-back-button { 
    margin-bottom: 20px; 
    max-width: var(--nlmc-container-max, 1200px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--nlmc-container-pad-left, 20px);
    padding-right: var(--nlmc-container-pad-right, 20px);
}
.nlmc-back-link { 
    display: inline-flex; 
    align-items: center; 
    gap: 8px; 
    color: var(--nlmc-btn-bg, #004874); 
    text-decoration: none; 
    font-weight: 500; 
    transition: color 0.2s ease; 
    font-size: 14px;
}
.nlmc-back-link:hover { 
    color: var(--nlmc-btn-bg-hover, #013a5a); 
}
.nlmc-back-link i {
    font-size: 12px;
}

/* Previous/Next Navigation */
.nlmc-prev-next-navigation {
    margin-bottom: 16px;
    padding: 0 0 12px;
    border-bottom: 1px solid #eee;
}

.nlmc-nav-links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.nlmc-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    flex: 1;
    max-width: 45%;
}

.nlmc-nav-link:hover {
    background: var(--nlmc-btn-bg-hover, #013a5a);
    color: var(--nlmc-btn-text, #ffffff);
    border-color: var(--nlmc-btn-bg-hover, #013a5a);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(1, 58, 90, 0.2);
}

.nlmc-nav-link.nlmc-nav-disabled {
    background: #f5f5f5;
    color: #999;
    cursor: not-allowed;
    opacity: 0.6;
}

.nlmc-nav-link.nlmc-nav-disabled:hover {
    background: #f5f5f5;
    color: #999;
    border-color: #e9ecef;
    transform: none;
    box-shadow: none;
}

.nlmc-nav-prev {
    justify-content: flex-start;
}

.nlmc-nav-next {
    justify-content: flex-end;
}

.nlmc-nav-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nlmc-nav-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

.nlmc-nav-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nlmc-nav-link i {
    font-size: 16px;
    flex-shrink: 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .nlmc-nav-links {
        flex-direction: column;
        gap: 12px;
    }
    
    .nlmc-nav-link {
        max-width: 100%;
        width: 100%;
    }
    
    .nlmc-nav-title {
        font-size: 13px;
    }
}

.nlmc-single-candidate-content {
    max-width: 800px;
    margin: 0 auto;
}

.nlmc-single-candidate-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    max-width: var(--nlmc-container-max, 1200px);
    margin: 0 auto;
    padding-left: var(--nlmc-container-pad-left, 20px);
    padding-right: var(--nlmc-container-pad-right, 20px);
}

.nlmc-single-main-content {
    flex: 2;
    min-width: 0;
}

.nlmc-single-form-sidebar {
    flex: 1;
    min-width: 0;
}

/* Header Section */
.nlmc-single-header {
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.nlmc-single-image {
    flex-shrink: 0;
    max-width: var(--nlmc-single-image-max, 480px);
}

.nlmc-candidate-photo {
    width: 100%;
    max-width: 200px;
    height: 200px;
    object-fit: cover;
    border-radius: var(--nlmc-single-image-shape, 12px);
}

.nlmc-image-placeholder.large {
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: var(--nlmc-single-image-shape, 12px);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.nlmc-image-placeholder.large .nlmc-star-icon {
    color: #fff;
    font-size: 48px;
}

.nlmc-single-info {
    flex: 1;
}

.nlmc-single-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 8px 0 16px 0;
    font-size: 16px;
}

/* Right-align Job ID in header */
.nlmc-job-id {
	float: right;
	margin-left: 12px;
}

/* Ensure the title starts below the floated Job ID */
.nlmc-single-title {
	clear: both;
}

.nlmc-candidate-id {
    background: #e3f2fd;
    color: #1976d2;
    padding: 4px 12px;
    border-radius: 16px;
    font-weight: 500;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    width: auto;
    max-width: max-content;
}

.nlmc-meta-item {
    color: var(--nlmc-single-body-color, #333333);
    line-height: 1.4;
}

.nlmc-meta-item strong {
    color: var(--nlmc-single-title-color, #111111);
    font-weight: 600;
}

.nlmc-single-title {
    font-size: var(--nlmc-single-title-size, 30px) !important;
    font-weight: var(--nlmc-single-title-weight, 700) !important;
    color: var(--nlmc-single-title-color, #111111) !important;
    line-height: var(--nlmc-single-title-lh, 1.2) !important;
    margin: 0 0 8px;
}

/* Title Font Family Classes */
.nlmc-single-title.font-default { font-family: var(--nlmc-font-family); }
.nlmc-single-title.font-Inter { font-family: 'Inter', sans-serif; }
.nlmc-single-title.font-Roboto { font-family: 'Roboto', sans-serif; }
.nlmc-single-title.font-Open\ Sans { font-family: 'Open Sans', sans-serif; }
.nlmc-single-title.font-Lato { font-family: 'Lato', sans-serif; }
.nlmc-single-title.font-Montserrat { font-family: 'Montserrat', sans-serif; }
.nlmc-single-title.font-Source\ Sans\ Pro { font-family: 'Source Sans Pro', sans-serif; }
.nlmc-single-title.font-Raleway { font-family: 'Raleway', sans-serif; }
.nlmc-single-title.font-PT\ Sans { font-family: 'PT Sans', sans-serif; }

.nlmc-single-overview {
    font-size: var(--nlmc-single-body-size, 17px);
    color: var(--nlmc-single-body-color, #333333);
    font-weight: var(--nlmc-single-body-weight, 400);
    line-height: var(--nlmc-single-body-lh, 1.7);
    margin: 0 0 8px;
    padding: 0;
}

/* Body Font Family Classes */
.nlmc-single-overview.font-default,
.nlmc-single-content-text.font-default { font-family: var(--nlmc-font-family); }
.nlmc-single-overview.font-Inter,
.nlmc-single-content-text.font-Inter { font-family: 'Inter', sans-serif; }
.nlmc-single-overview.font-Roboto,
.nlmc-single-content-text.font-Roboto { font-family: 'Roboto', sans-serif; }
.nlmc-single-overview.font-Open\ Sans,
.nlmc-single-content-text.font-Open\ Sans { font-family: 'Open Sans', sans-serif; }
.nlmc-single-overview.font-Lato,
.nlmc-single-content-text.font-Lato { font-family: 'Lato', sans-serif; }
.nlmc-single-overview.font-Montserrat,
.nlmc-single-content-text.font-Montserrat { font-family: 'Montserrat', sans-serif; }
.nlmc-single-overview.font-Source\ Sans\ Pro,
.nlmc-single-content-text.font-Source\ Sans\ Pro { font-family: 'Source Sans Pro', sans-serif; }
.nlmc-single-overview.font-Raleway,
.nlmc-single-content-text.font-Raleway { font-family: 'Raleway', sans-serif; }
.nlmc-single-overview.font-PT\ Sans,
.nlmc-single-content-text.font-PT\ Sans { font-family: 'PT Sans', sans-serif; }

/* Content Sections */
.nlmc-single-content {
    margin-top: 20px;
}

.nlmc-single-section {
    margin-bottom: var(--nlmc-single-section-margin, 32px);
    padding-bottom: 24px;
    border-bottom: var(--nlmc-single-divider, 1px) solid #eee;
}

.nlmc-single-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.nlmc-single-section h3 {
    font-size: 20px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 12px;
}

.nlmc-single-content-text {
    font-size: var(--nlmc-single-body-size, 17px);
    line-height: var(--nlmc-single-body-lh, 1.7);
    color: var(--nlmc-single-body-color, #333333);
    font-weight: var(--nlmc-single-body-weight, 400);
}

.nlmc-single-content-text p {
    margin: 0 0 16px;
}

.nlmc-single-content-text ul {
    margin: 0 0 16px;
    padding-left: 0;
    list-style: none;
}

.nlmc-single-content-text li {
    margin-bottom: 8px;
    padding-left: 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.nlmc-bullet-star {
    color: var(--nlmc-single-bullet-color, #004874);
    font-size: 12px;
    margin-top: 2px;
    flex-shrink: 0;
    line-height: 1.4;
}

/* Skills Grid */
.nlmc-skills-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nlmc-skill-tag {
    background: #f0f0f0;
    color: #555;
    padding: 6px 12px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 500;
}

/* Highlights List */
.nlmc-highlights-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nlmc-highlights-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
    padding-left: 0;
}

.nlmc-highlights-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 6px;
}

.nlmc-highlights-list .nlmc-bullet-star {
    color: var(--nlmc-single-bullet-color, #004874);
    font-size: 12px;
    margin-top: 2px;
    flex-shrink: 0;
    line-height: 1.4;
}

/* Contact Links */
.nlmc-contact-links {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.nlmc-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--nlmc-btn-bg, #004874);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.nlmc-contact-link:hover {
    color: var(--nlmc-btn-bg-hover, #013a5a);
}

.nlmc-contact-link i {
    font-size: 16px;
}

/* Apply Button Styles */
.nlmc-apply-button {
    display: inline-block;
    background: var(--nlmc-btn-bg, #004874);
    color: var(--nlmc-btn-text, #ffffff);
    padding: 12px 24px;
    border-radius: var(--nlmc-single-btn-radius, 10px);
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.nlmc-apply-button:hover {
    background: var(--nlmc-btn-bg-hover, #013a5a);
    color: var(--nlmc-btn-text, #ffffff);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 72, 116, 0.3);
}

.nlmc-apply-button-modal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    color: var(--nlmc-btn-bg, #004874);
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    transition: color 0.3s ease;
    cursor: pointer;
    padding: 0;
}

.nlmc-apply-button-modal:hover {
    color: var(--nlmc-btn-bg-hover, #013a5a);
}

.nlmc-apply-button-modal i {
    font-size: 16px;
}

/* Form Section */
.nlmc-form-bottom-section {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 2px solid #eee;
}

.nlmc-form-section {
    background: var(--nlmc-single-form-bg, #f7f7f7);
    padding: var(--nlmc-single-form-padding, 24px);
    border-radius: 8px;
    margin: 0;
}

.nlmc-form-container {
    margin-top: 16px;
}

.nlmc-form-section h3 {
    margin-top: 0;
    color: #1a1a1a;
}

.nlmc-form-section p {
    margin-bottom: 20px;
    color: #666;
}

/* Responsive Design */
@media (max-width: 768px) {
    .nlmc-single-header {
        text-align: center;
    }
    
    .nlmc-single-image {
        align-self: center;
    }
    
    .nlmc-candidate-photo,
    .nlmc-image-placeholder.large {
        width: 150px;
        height: 150px;
    }
    
    .nlmc-image-placeholder.large .nlmc-star-icon {
        font-size: 36px;
    }
    
    .nlmc-single-title {
        font-size: calc(var(--nlmc-single-title-size, 30px) * 0.8) !important;
    }
    
    .nlmc-contact-links {
        align-items: center;
    }
}

@media (max-width: 480px) {
    .nlmc-single-candidate-container {
        padding: 20px 0;
    }
    
    .nlmc-single-title {
        font-size: calc(var(--nlmc-single-title-size, 30px) * 0.67) !important;
    }
    
    .nlmc-single-section h3 {
        font-size: 18px;
    }
    
    .nlmc-skills-grid {
        justify-content: center;
    }
}

/* Image alignment classes */
.nlmc-single-image.align-left {
    text-align: left;
}

.nlmc-single-image.align-center {
    text-align: center;
}

.nlmc-single-image.align-right {
    text-align: right;
}

/* Image shape classes */
.nlmc-candidate-photo.shape-square,
.nlmc-image-placeholder.large.shape-square {
    border-radius: 0;
}

.nlmc-candidate-photo.shape-rounded,
.nlmc-image-placeholder.large.shape-rounded {
    border-radius: 12px;
}

.nlmc-candidate-photo.shape-circle,
.nlmc-image-placeholder.large.shape-circle {
    border-radius: 50%;
}

/* Animation classes */
.nlmc-single-candidate-container.nlmc-animation-fade {
    animation: fadeIn 0.6s ease-in-out;
}

.nlmc-single-candidate-container.nlmc-animation-slide-up {
    animation: slideUp 0.6s ease-out;
}

.nlmc-single-candidate-container.nlmc-animation-zoom {
    animation: zoomIn 0.6s ease-out;
}

.nlmc-single-candidate-container.nlmc-animation-none {
    animation: none;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { 
        opacity: 0;
        transform: translateY(30px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes zoomIn {
    from { 
        opacity: 0;
        transform: scale(0.95);
    }
    to { 
        opacity: 1;
        transform: scale(1);
    }
}

/* Form Sidebar Styles */
.nlmc-form-section {
    background: var(--nlmc-single-form-bg, #f7f7f7);
    padding: var(--nlmc-single-form-padding, 24px);
    border-radius: 8px;
    margin-top: 20px;
}

.nlmc-form-section h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--nlmc-single-title-color, #111111);
    margin: 0 0 12px;
}

.nlmc-form-section p {
    font-size: 14px;
    line-height: 1.5;
    color: var(--nlmc-single-body-color, #333333);
    margin: 0 0 16px;
}

/* Ensure spacing between subtitle shortcodes and the Gravity Form */
.nlmc-form-subtitle {
    margin: 0 0 16px; /* default breathing room below subtitle */
}
.nlmc-form-subtitle::after {
    content: "";
    display: block;
    clear: both; /* ensure the Gravity Form starts below floated buttons */
}
.nlmc-form-subtitle-spacer {
    height: 16px; /* space between subtitle and form */
}
/* In case a theme shortcode floats left/right, ensure the form clears it */
.nlmc-form-section .nlmc-form-container {
    clear: both;
}

.nlmc-form-container {
    background: #fff;
    padding: 20px;
    border-radius: 6px;
    border: 1px solid #ddd;
}

/* Apply button radius to form buttons */
.nlmc-form-container input[type="submit"],
.nlmc-form-container button[type="submit"],
.nlmc-form-container .gform_button,
.nlmc-form-container .gform_submit {
    border-radius: var(--nlmc-single-btn-radius, 10px) !important;
}

/* Responsive adjustments for form sidebar */
@media (max-width: 768px) {
    .nlmc-single-candidate-layout {
        flex-direction: column;
        gap: 20px;
    }
    
    .nlmc-single-main-content,
    .nlmc-single-form-sidebar {
        flex: none;
        width: 100%;
    }
}
