/**
 * JobVisitors — Content Pages CSS
 * Blog, Services, About, Mentorship, Interview Bank, Compare.
 *
 * @package JobVisitors
 * @since 1.0.0
 */

/* ═══ Container Variants ═══ */
.jv-container--narrow { max-width: 800px; }
.jv-text-center { text-align: center; }

.jv-blog-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 24px 0 16px;
}

.jv-blog-cat-pill {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 13px;
    padding: 8px 16px;
    border-radius: 100px;
    background: var(--card);
    border: 1px solid var(--border);
    color: var(--text-sec);
    text-decoration: none;
    transition: all 0.2s;
}

.jv-blog-cat-pill:hover,
.jv-blog-cat-pill.active {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

/* ═══ Blog ═══ */
.jv-blog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 24px 0 16px;
}
.jv-blog-filter {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 13px;
    padding: 8px 16px;
    border-radius: 100px;
    background: var(--card);
    border: 1px solid var(--border);
    color: var(--text-sec);
    text-decoration: none;
    transition: all 0.2s;
}
.jv-blog-filter:hover, .jv-blog-filter.active {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}
.jv-blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 22px;
    padding: 16px 0 60px;
}
.jv-blog-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    transition: all 0.3s;
}
.jv-blog-card:hover {
    border-color: var(--primary);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}
.jv-blog-card__link {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.jv-blog-card__thumb {
    height: 180px;
    background: linear-gradient(135deg, rgba(20,184,166,0.1) 0%, rgba(59,130,246,0.08) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.jv-blog-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.jv-blog-card__thumb--placeholder,
.jv-blog-card__placeholder {
    font-size: 48px;
    color: var(--primary);
}
.jv-blog-card__body {
    padding: 22px;
}
.jv-blog-card__body .jv-tag {
    margin-bottom: 12px;
}
.jv-blog-card__title {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 600;
    margin: 8px 0;
    line-height: 1.3;
    color: var(--text);
}
.jv-blog-card__excerpt {
    font-size: 14px;
    color: var(--text-sec);
    line-height: 1.6;
    margin-bottom: 14px;
}
.jv-blog-card__meta {
    display: flex;
    gap: 16px;
    font-size: 12px;
    color: var(--text-muted);
}

/* ═══ Single Post ═══ */
.jv-single-post {
    padding: 40px 0 60px;
}
.jv-post-header {
    text-align: center;
    margin-bottom: 32px;
}
.jv-post-header .jv-tag {
    margin-bottom: 16px;
}
.jv-post-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(28px, 5vw, 42px);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 16px;
}
.jv-post-meta {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    font-size: 14px;
    color: var(--text-muted);
}
.jv-post-feature {
    margin-bottom: 32px;
    border-radius: 24px;
    overflow: hidden;
}
.jv-post-feature img {
    width: 100%;
    height: auto;
    display: block;
}
.jv-post-content {
    font-size: 16px;
    line-height: 1.8;
    color: var(--text-sec);
}
.jv-post-content h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 26px;
    font-weight: 700;
    margin: 36px 0 16px;
    color: var(--text);
}
.jv-post-content h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 600;
    margin: 28px 0 12px;
    color: var(--text);
}
.jv-post-content p {
    margin-bottom: 18px;
}
.jv-post-content ul, .jv-post-content ol {
    padding-left: 24px;
    margin-bottom: 18px;
}
.jv-post-content li {
    margin-bottom: 8px;
}
.jv-post-content blockquote {
    border-left: 4px solid var(--primary);
    padding: 12px 20px;
    margin: 24px 0;
    background: rgba(20,184,166,0.05);
    border-radius: 0 12px 12px 0;
    font-style: italic;
}
.jv-post-content a {
    color: var(--primary);
    text-decoration: underline;
}
.jv-post-content code {
    background: var(--bg);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 14px;
    font-family: 'Space Grotesk', monospace;
}
.jv-post-share {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 40px 0;
    padding: 20px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    flex-wrap: wrap;
}
.jv-post-share span {
    font-weight: 600;
    color: var(--text-sec);
    font-size: 14px;
}
.jv-post-share a {
    padding: 8px 16px;
    border: 1px solid var(--border);
    border-radius: 100px;
    color: var(--text-sec);
    text-decoration: none;
    font-size: 13px;
    transition: all 0.2s;
}
.jv-post-share a:hover {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}
.jv-post-related {
    margin-top: 48px;
}
.jv-post-related h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* ═══ Pagination ═══ */
.jv-pagination {
    display: flex;
    justify-content: center;
    margin: 32px 0 60px;
}
.jv-pagination ul {
    display: flex;
    gap: 6px;
    list-style: none;
    padding: 0;
}
.jv-pagination a, .jv-pagination span {
    padding: 8px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-sec);
    text-decoration: none;
    font-size: 14px;
    background: var(--card);
    transition: all 0.2s;
}
.jv-pagination a:hover, .jv-pagination .current {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

/* ═══ Services ═══ */
.jv-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 22px;
    padding: 24px 0;
}
.jv-service-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 28px;
    transition: all 0.3s;
}
.jv-service-card:hover {
    border-color: var(--primary);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}
.jv-service-icon,
.jv-service-card__icon {
    font-size: 36px;
    margin-bottom: 16px;
}
.jv-service-card h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}
.jv-service-card p {
    font-size: 14px;
    color: var(--text-sec);
    line-height: 1.6;
    margin-bottom: 16px;
}
.jv-service-link,
.jv-service-card__link {
    display: inline-block;
    color: var(--primary);
    font-weight: 500;
    text-decoration: none;
    font-size: 14px;
}
.jv-service-link:hover,
.jv-service-card__link:hover {
    text-decoration: underline;
}

.jv-services-cta {
    margin: 32px 0 56px;
}

/* ═══ About ═══ */
.jv-about-mission {
    font-size: 17px;
    line-height: 1.8;
    color: var(--text-sec);
    max-width: 700px;
    margin: 0 auto;
}
.jv-about-mission__text {
    color: inherit;
}
.jv-about-stats {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 16px;
    margin: 40px 0;
}
.jv-about-stat {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 28px 20px;
    text-align: center;
}
.jv-about-stat__num {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: var(--primary);
}
.jv-about-stat__label {
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 6px;
}
.jv-about-story {
    font-size: 16px;
    line-height: 1.8;
    color: var(--text-sec);
    max-width: 700px;
    margin: 0 auto;
}
.jv-about-story p {
    margin-bottom: 18px;
}

/* Team Grid */
.jv-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 18px;
    margin-top: 24px;
}
.jv-team-card {
    text-align: center;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 28px 16px;
    transition: all 0.2s;
}
.jv-team-card:hover {
    transform: translateY(-3px);
    border-color: var(--primary);
}
.jv-team-avatar,
.jv-team-card__avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 22px;
}
.jv-team-name,
.jv-team-card__name {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 15px;
}
.jv-team-role,
.jv-team-card__role {
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 4px;
}

/* Values Grid */
.jv-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 18px;
    margin-top: 20px;
}
.jv-value-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 24px;
}
.jv-value-icon,
.jv-value-card__icon {
    font-size: 32px;
    margin-bottom: 12px;
}

.jv-section-title--center {
    text-align: center;
}

.jv-about-team-subtitle {
    text-align: center;
    color: var(--text-muted);
    margin-top: -6px;
    margin-bottom: 20px;
}
.jv-value-card h4 {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}
.jv-value-card p {
    font-size: 14px;
    color: var(--text-sec);
    line-height: 1.6;
}

/* CTA Banner */
.jv-cta-banner {
    background: linear-gradient(135deg, #0D9488 0%, #14B8A6 100%);
    border-radius: 24px;
    padding: 48px 32px;
    text-align: center;
    color: #fff;
    margin: 32px 0;
}
.jv-cta-banner h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
}
.jv-cta-banner p {
    opacity: 0.9;
    font-size: 16px;
    margin-bottom: 24px;
}
.jv-btn--white {
    background: #fff;
    color: var(--primary);
    font-weight: 600;
}
.jv-btn--white:hover {
    background: #F8FFFE;
    transform: translateY(-2px);
}

/* ═══ Mentorship ═══ */
.jv-mentor-howto {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 22px;
    margin: 24px 0;
}
.jv-howto-step {
    text-align: center;
    padding: 28px 20px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
}
.jv-howto-num {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 20px;
    margin: 0 auto 14px;
}
.jv-howto-step h4 {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}
.jv-howto-step p {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.6;
}
.jv-mentor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}

.jv-mentor-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.jv-mentor-feature {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 28px 24px;
}

.jv-mentor-feature__icon {
    font-size: 30px;
    margin-bottom: 12px;
}

.jv-mentor-feature h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.jv-mentor-feature p {
    font-size: 14px;
    color: var(--text-sec);
    line-height: 1.6;
}

.jv-mentor-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 32px 20px;
    text-align: center;
    transition: all 0.3s;
}
.jv-mentor-card:hover {
    border-color: var(--primary);
    transform: translateY(-4px);
}
.jv-mentor-avatar,
.jv-mentor-card__avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    margin: 0 auto 14px;
    overflow: hidden;
}
.jv-mentor-avatar img,
.jv-mentor-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.jv-mentor-avatar--initials,
.jv-mentor-card__avatar--letter {
    background: linear-gradient(135deg, var(--primary), #3B82F6);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 24px;
}
.jv-mentor-name,
.jv-mentor-card__name {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 4px;
}
.jv-mentor-role,
.jv-mentor-card__role {
    font-size: 13px;
    color: var(--primary);
    margin-bottom: 6px;
}
.jv-mentor-expertise,
.jv-mentor-card__expertise {
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 14px;
}
.jv-mentor-rate,
.jv-mentor-card__rate {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 16px;
}

.jv-mentor-card__rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
    font-size: 14px;
    color: var(--text-sec);
}

.jv-mentor-card__sessions {
    color: var(--text-muted);
    font-size: 12px;
}

/* ═══ Interview Bank ═══ */
.jv-interview-filters {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 24px;
}
.jv-interview-filters .jv-select {
    width: auto;
    min-width: 160px;
}
.jv-question-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 24px;
    margin-bottom: 14px;
}
.jv-question-card__top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.jv-question-card__title {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text);
    flex: 1;
}
.jv-difficulty {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 100px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
    height: fit-content;
}
.jv-difficulty--easy {
    background: rgba(16,185,129,0.12);
    color: #10B981;
}
.jv-difficulty--medium {
    background: rgba(245,158,11,0.12);
    color: #F59E0B;
}
.jv-difficulty--hard {
    background: rgba(239,68,68,0.12);
    color: #EF4444;
}
.jv-question-card__answer {
    background: var(--bg);
    padding: 14px 18px;
    border-radius: 12px;
    margin: 12px 0;
}
.jv-question-card__answer strong {
    color: var(--primary);
    font-size: 13px;
    display: block;
    margin-bottom: 4px;
}
.jv-question-card__answer p {
    font-size: 14px;
    color: var(--text-sec);
    line-height: 1.6;
    margin: 0;
}
.jv-question-card__meta {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: var(--text-muted);
    flex-wrap: wrap;
    align-items: center;
}
.jv-question-upvotes {
    margin-left: auto;
    font-weight: 500;
    color: var(--primary);
}

/* Question Submission Form */
.jv-question-form-wrap {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 32px;
    margin: 24px 0;
}
.jv-question-form__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.jv-question-form__header h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
}
.jv-question-form__close {
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    color: var(--text-muted);
    padding: 4px;
}

.jv-iq-filters {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 24px;
}

.jv-iq-filters .jv-select {
    width: auto;
    min-width: 160px;
}

.jv-iq-list {
    min-height: 180px;
}

.jv-iq-load-more {
    text-align: center;
    padding: 12px 0 40px;
}

.jv-iq-modal {
    position: fixed;
    inset: 0;
    z-index: 500;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.72);
}

.jv-iq-modal__card {
    width: min(720px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    background: var(--card);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.jv-iq-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.jv-iq-modal__close {
    border: 0;
    background: transparent;
    color: var(--text-muted);
    font-size: 20px;
    cursor: pointer;
}

.jv-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

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

.jv-msg {
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 14px;
    margin-bottom: 16px;
}

.jv-msg--success {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.jv-msg--error {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

/* ═══ Compare ═══ */
.jv-compare-selectors {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 24px;
}
.jv-compare-selector {
    flex: 1;
    min-width: 200px;
}
.jv-compare-selector label {
    display: block;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.jv-compare-vs {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: var(--primary);
    padding: 0 8px;
}
.jv-compare-wrap {
    overflow-x: auto;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
}
.jv-compare-table {
    width: 100%;
    border-collapse: collapse;
}
.jv-compare-table th,
.jv-compare-table td {
    padding: 16px 20px;
    text-align: left;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
}
.jv-compare-table th {
    background: rgba(20,184,166,0.05);
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 600;
    color: var(--primary);
}
.jv-compare-table td {
    color: var(--text-sec);
}
.jv-compare-table td:first-child {
    font-weight: 500;
    color: var(--text);
}
.jv-compare-table tr:last-child td {
    border-bottom: none;
}
.jv-compare-company-header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.jv-compare-company-header img {
    border-radius: 8px;
}

/* ═══ Section ═══ */
.jv-section {
    padding: 40px 0;
}
.jv-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 700;
    margin-bottom: 16px;
}

/* ═══ Responsive ═══ */
@media (max-width: 768px) {
    .jv-blog-grid { grid-template-columns: 1fr; }
    .jv-services-grid { grid-template-columns: 1fr; }
    .jv-team-grid { grid-template-columns: repeat(2, 1fr); }
    .jv-compare-selectors { flex-direction: column; }
    .jv-compare-vs { padding: 8px 0; }
    .jv-interview-filters .jv-select { width: 100%; }
    .jv-iq-filters .jv-select { width: 100%; }
    .jv-form-row { grid-template-columns: 1fr; }
    .jv-cta-banner { padding: 36px 20px; }
}
