/* Opporax minimal styles */
.opx-wrap { --opx-gap: 16px; }
.opx-grid { display: grid; grid-gap: var(--opx-gap); }
.opx-cols-1 .opx-grid { grid-template-columns: 1fr; }
.opx-cols-2 .opx-grid { grid-template-columns: repeat(2,1fr); }
.opx-cols-3 .opx-grid { grid-template-columns: repeat(3,1fr); }
.opx-cols-4 .opx-grid { grid-template-columns: repeat(4,1fr); }
@media (max-width: 900px){ .opx-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px){ .opx-grid { grid-template-columns: 1fr; } }

/* List Layout */
.opx-list { display: flex; flex-direction: column; gap: var(--opx-gap); }
.opx-list-item { border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; padding: 20px; }
.opx-list-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
.opx-list-badges { display: flex; gap: 8px; }
.opx-list-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; }

/* Masonry Layout */
.opx-masonry { 
    display: grid; 
    grid-gap: var(--opx-gap); 
    grid-template-columns: repeat(var(--columns, 3), 1fr);
    grid-auto-rows: auto;
}
.opx-masonry-item { 
    border: 1px solid #e5e7eb; 
    border-radius: 10px; 
    overflow: hidden; 
    background: #fff; 
    display: flex; 
    flex-direction: column; 
}
.opx-masonry .opx-cols-2 { grid-template-columns: repeat(2, 1fr); }
.opx-masonry .opx-cols-3 { grid-template-columns: repeat(3, 1fr); }
.opx-masonry .opx-cols-4 { grid-template-columns: repeat(4, 1fr); }

/* Compact Layout */
.opx-compact { display: flex; flex-direction: column; gap: 12px; }
.opx-compact-item { 
    border: 1px solid #e5e7eb; 
    border-radius: 8px; 
    background: #fff; 
    padding: 16px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}
.opx-compact-header { flex: 1; }
.opx-compact-meta { display: flex; gap: 16px; margin: 8px 0; font-size: 0.875rem; color: #6b7280; }
.opx-compact-footer { display: flex; align-items: center; gap: 12px; }
.opx-btn-small { padding: 6px 10px; font-size: 0.875rem; }

/* Common card styles */
.opx-card { border: 1px solid #e5e7eb; border-radius: 10px; overflow: hidden; background:#fff; display:flex; flex-direction:column; }
.opx-thumb img { width:100%; height:auto; display:block; }
.opx-body { padding: 14px; display:flex; flex-direction:column; gap:10px; }
.opx-title { margin:0; font-size:1.05rem; line-height:1.4; }
.opx-excerpt { color:#555; }
.opx-actions { display:flex; align-items:center; gap:10px; justify-content:space-between; }
.opx-btn { display:inline-block; padding:8px 12px; border-radius:8px; background:#111827; color:#fff; text-decoration:none; }
.opx-badge { position:absolute; top:10px; left:10px; background:#111827; color:#fff; padding:4px 8px; border-radius:999px; font-size:.75rem; }
.opx-badge-featured { background:#2563eb; }
.opx-badge-editors-choice { background:#dc2626; }
.opx-priority-badge { position:absolute; top:10px; right:10px; background:#f59e0b; color:#111827; padding:4px 8px; border-radius:999px; font-size:.7rem; font-weight:600; }
.opx-search { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.opx-search input, .opx-search select { padding:8px; border:1px solid #e5e7eb; border-radius:8px; }
.opx-layout-panel { padding:12px; border:1px solid #e5e7eb; border-radius:10px; background:#fafafa; }
.opx-loading { opacity:.5; pointer-events:none; }

/* Responsive adjustments */
@media (max-width: 900px){ 
    .opx-masonry { grid-template-columns: repeat(2, 1fr); }
    .opx-compact-item { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (max-width: 600px){ 
    .opx-masonry { grid-template-columns: 1fr; }
    .opx-list-header { flex-direction: column; gap: 8px; }
    .opx-compact-meta { flex-direction: column; gap: 4px; }
}

/* Performance optimizations */
.opx-card { transform: translateZ(0); backface-visibility: hidden; }
.opx-thumb img { 
    object-fit: cover; 
    aspect-ratio: 16/9;
    background: #f3f4f6;
}
.opx-lazy { 
    opacity: 0; 
    transition: opacity 0.3s ease-in-out;
}
.opx-lazy.loaded { 
    opacity: 1; 
}

/* Rating styles */
.opx-ratings { margin: 16px 0; }
.opx-rating-overall { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.opx-rating-score { font-size: 2rem; font-weight: bold; color: #111827; }
.opx-rating-stars { display: flex; gap: 2px; }
.opx-star { color: #d1d5db; font-size: 1.2rem; cursor: pointer; transition: color 0.2s; }
.opx-star.filled { color: #fbbf24; }
.opx-star:hover { color: #f59e0b; }
.opx-rating-count { font-size: 0.875rem; color: #6b7280; }
.opx-rating-breakdown { display: flex; flex-direction: column; gap: 8px; }
.opx-rating-item { display: flex; align-items: center; gap: 8px; }
.opx-rating-label { flex: 1; font-size: 0.875rem; }
.opx-rating-value { font-weight: 600; min-width: 30px; text-align: right; }

/* Rating form styles */
.opx-rating-form { margin-top: 16px; padding: 16px; border: 1px solid #e5e7eb; border-radius: 8px; background: #f9fafb; }
.opx-rating-field { margin-bottom: 12px; }
.opx-rating-field label { display: block; margin-bottom: 4px; font-weight: 500; }
.opx-star-input { display: flex; gap: 4px; }
.opx-star-input-star { font-size: 1.5rem; color: #d1d5db; cursor: pointer; transition: color 0.2s; }
.opx-star-input-star:hover, .opx-star-input-star.active { color: #fbbf24; }

/* Trending & New Arrivals */
.opx-trending, .opx-new-arrivals { margin: 24px 0; }
.opx-trending-list, .opx-new-list { display: flex; flex-direction: column; gap: 12px; }
.opx-trending-item, .opx-new-item { padding: 12px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; }
.opx-trending-item h4, .opx-new-item h4 { margin: 0 0 8px 0; }
.opx-trending-stats { display: flex; gap: 12px; font-size: 0.875rem; color: #6b7280; }
.opx-score { font-weight: 600; color: #111827; }

/* AI Tools */
.opx-ai { margin: 24px 0; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; }
.opx-ai-header { padding: 20px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }
.opx-ai-header h3 { margin: 0 0 12px 0; }
.opx-ai-context-note { background: rgba(255,255,255,0.1); padding: 12px; border-radius: 8px; }
.opx-ai-workspace { padding: 20px; }
.opx-ai-input-section { margin-bottom: 20px; }
.opx-ai-input-section label { display: block; margin-bottom: 8px; font-weight: 500; }
.opx-ai-textarea { width: 100%; min-height: 150px; padding: 12px; border: 1px solid #e5e7eb; border-radius: 8px; resize: vertical; }
.opx-ai-controls { margin-bottom: 20px; }
.opx-ai-options { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; }
.opx-ai-option { display: flex; gap: 8px; }
.opx-ai-option label { display: flex; align-items: center; gap: 4px; cursor: pointer; }
.opx-ai-actions { display: flex; gap: 8px; }
.opx-ai-output-section { padding: 16px; background: #f9fafb; border-radius: 8px; }
.opx-ai-output { margin-bottom: 16px; line-height: 1.6; }
.opx-ai-output-actions { display: flex; gap: 8px; flex-wrap: wrap; }
/* AI Download row */
.opx-ai-download-actions { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #e5e7eb; flex-wrap: wrap; }
.opx-ai-download-label { font-size: 0.8rem; color: #6b7280; font-weight: 500; white-space: nowrap; }
.opx-btn-sm { font-size: 0.8rem; padding: 5px 12px; border-radius: 6px; background: #f3f4f6; color: #374151; border: 1px solid #d1d5db; cursor: pointer; transition: background 0.15s, border-color 0.15s; line-height: 1.4; }
.opx-btn-sm:hover { background: #e5e7eb; border-color: #9ca3af; }
.opx-ai-notice { padding: 16px; background: #fef3c7; border: 1px solid #f59e0b; border-radius: 8px; color: #92400e; font-size: 0.875rem; }

/* Breadcrumbs */
.opx-breadcrumbs { padding: 12px 0; margin-bottom: 20px; }
.opx-breadcrumbs a { color: #6b7280; text-decoration: none; }
.opx-breadcrumbs a:hover { color: #111827; }
.opx-breadcrumbs span { color: #111827; font-weight: 500; }

/* Social Sharing Styles */
.opx-social-sharing { margin: 20px 0; padding: 20px; border: 1px solid #e5e7eb; border-radius: 8px; background: #f9fafb; }
.opx-sharing-label { font-weight: 600; margin-bottom: 12px; color: #111827; }
.opx-sharing-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.opx-sharing-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; color: white; text-decoration: none; border-radius: 6px; font-size: 14px; transition: transform 0.2s, opacity 0.2s; }
.opx-sharing-btn:hover { transform: translateY(-1px); opacity: 0.9; }
.opx-sharing-btn i { font-size: 16px; }
.opx-sharing-btn span { font-weight: 500; }
.opx-copy-feedback { margin-top: 8px; padding: 8px; background: #10b981; color: white; border-radius: 4px; font-size: 14px; text-align: center; }
.opx-share-count { margin-top: 12px; font-size: 14px; color: #6b7280; }

/* Sharing wrapper styles */
.opx-sharing-wrapper.horizontal .opx-sharing-buttons { flex-direction: row; }
.opx-sharing-wrapper.vertical .opx-sharing-buttons { flex-direction: column; }
.opx-sharing-wrapper.minimal .opx-sharing-btn { padding: 6px 10px; font-size: 12px; }
.opx-sharing-wrapper.minimal .opx-sharing-btn span { display: none; }

/* Mobile optimizations */
@media (max-width: 768px) {
    .opx-sharing-buttons { justify-content: center; }
    .opx-sharing-btn { flex: 1; min-width: 120px; justify-content: center; }
}

/* Featured and Editor's Choice Styles */
.opx-featured-card { border: 2px solid #2563eb; box-shadow: 0 4px 6px rgba(37, 99, 235, 0.1); }
.opx-editors-choice-card { border: 2px solid #dc2626; box-shadow: 0 4px 6px rgba(220, 38, 38, 0.1); }
.opx-editors-intro { background: #fef2f2; padding: 16px; border-radius: 8px; margin-bottom: 20px; border-left: 4px solid #dc2626; }
.opx-editors-note { background: #f9fafb; padding: 8px; border-radius: 4px; margin-top: 8px; border-left: 3px solid #dc2626; }

/* User Rankings Styles */
.opx-leaderboard { margin: 24px 0; }
.opx-leaderboard-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.opx-leaderboard-header h3 { margin: 0; }
.opx-leaderboard-filters select { padding: 8px; border: 1px solid #e5e7eb; border-radius: 6px; }
.opx-leaderboard-list { display: flex; flex-direction: column; gap: 12px; }
.opx-leaderboard-item { display: flex; align-items: center; gap: 16px; padding: 16px; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; transition: transform 0.2s; }
.opx-leaderboard-item:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.opx-rank-position { font-size: 1.5rem; font-weight: bold; color: #111827; min-width: 40px; text-align: center; }
.opx-user-info { display: flex; align-items: center; gap: 12px; flex: 1; }
.opx-user-avatar img { border-radius: 50%; }
.opx-user-details { flex: 1; }
.opx-user-name { font-weight: 600; margin-bottom: 4px; }
.opx-user-rank { font-size: 0.875rem; font-weight: 500; }
.opx-points-info { text-align: right; }
.opx-total-points { font-size: 1.25rem; font-weight: bold; color: #111827; }
.opx-points-label { font-size: 0.875rem; color: #6b7280; }
.opx-monthly-points { font-size: 0.75rem; color: #10b981; margin-top: 4px; }
.opx-current-rank { margin-top: 24px; padding: 20px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 12px; color: white; }
.opx-current-rank h4 { margin: 0 0 12px 0; }
.opx-rank-info { display: flex; align-items: center; gap: 16px; }
.opx-rank-badge-large { padding: 12px 20px; border-radius: 8px; font-weight: 600; text-align: center; }
.opx-rank-stats { text-align: center; }
.opx-rank-details { flex: 1; }
.opx-rank-points { font-size: 1.5rem; font-weight: bold; }
.opx-rank-position { font-size: 0.875rem; opacity: 0.8; }
.opx-next-rank { margin-top: 16px; padding: 16px; background: rgba(255,255,255,0.1); border-radius: 8px; }
.opx-progress-bar { width: 100%; height: 8px; background: rgba(255,255,255,0.2); border-radius: 4px; margin: 8px 0; }
.opx-progress-fill { height: 100%; background: linear-gradient(90deg, #10b981, #059669); border-radius: 4px; transition: width 0.3s ease; }
.opx-progress-text { font-size: 0.875rem; text-align: center; margin-top: 4px; }
.opx-rank-rewards { margin-top: 20px; }
.opx-rank-rewards h4 { margin: 0 0 12px 0; }
.opx-rewards-list { list-style: none; padding: 0; margin: 0; }
.opx-rewards-list li { padding: 4px 0; background: rgba(255,255,255,0.1); border-radius: 4px; margin-bottom: 4px; }
.opx-points-breakdown { margin-top: 20px; }
.opx-points-breakdown h4 { margin: 0 0 12px 0; }
.opx-points-list { list-style: none; padding: 0; margin: 0; }
.opx-points-list li { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.1); }
.opx-points-value { font-weight: 600; color: #10b981; }
.opx-points-action { color: #6b7280; }

/* Mobile optimizations */
@media (max-width: 768px) {
    .opx-rating-overall { flex-direction: column; align-items: flex-start; gap: 8px; }
    .opx-trending-stats { flex-wrap: wrap; }
    .opx-ai-options { flex-direction: column; gap: 12px; }
    .opx-ai-actions { flex-direction: column; }
    .opx-priority-badge { position: static; margin-top: 8px; display: inline-block; }
    .opx-leaderboard-item { flex-direction: column; text-align: center; gap: 8px; }
    .opx-user-info { flex-direction: column; gap: 8px; }
    .opx-points-info { text-align: center; }
    .opx-rank-info { flex-direction: column; gap: 8px; text-align: center; }
}

/* ═══════════════════════════════════════════════════════════════
   SINGLE SCHOLARSHIP PAGE
   ═══════════════════════════════════════════════════════════════ */

/* 1. Outer page wrapper */
.opx-single-scholarship {
    max-width: 1100px;
    margin: 0 auto;
    padding: 36px 24px 64px;
    box-sizing: border-box;
}

/* Remove any article margin/padding the theme adds */
.opx-scholarship-article {
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
}

/* ── 2. Header ────────────────────────────────────────────────── */
.opx-scholarship-header {
    margin-bottom: 36px;
}

.opx-scholarship-featured-image {
    margin-bottom: 24px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.08);
}

.opx-scholarship-featured-image img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
}

.opx-scholarship-title-section {
    padding-bottom: 24px;
    border-bottom: 2px solid #e5e7eb;
}

.opx-scholarship-title {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.3;
    color: #111827;
    margin: 0 0 16px;
    letter-spacing: -0.02em;
}

/* Meta row: badges + amount + deadline */
.opx-scholarship-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}

/* Amount pill */
.opx-amount {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #dbeafe;
    color: #1d4ed8;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

/* Deadline pill */
.opx-deadline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fef9c3;
    color: #854d0e;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid #fde68a;
}

.opx-deadline strong {
    font-weight: 700;
}

/* ── 3. Two-column content layout ────────────────────────────── */
.opx-scholarship-content {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 36px;
    align-items: start;
}

/* ── 4. Main column ──────────────────────────────────────────── */
.opx-scholarship-main {
    min-width: 0; /* prevent grid blowout */
}

.opx-scholarship-description {
    font-size: 1.0rem;
    line-height: 1.8;
    color: #374151;
    margin-bottom: 28px;
}

.opx-scholarship-description p {
    margin: 0 0 1.1em;
}

.opx-scholarship-description ul,
.opx-scholarship-description ol {
    margin: 0 0 1.1em 1.5em;
    padding: 0;
}

.opx-scholarship-description li {
    margin-bottom: 0.4em;
}

/* ── 5. Content section cards ────────────────────────────────── */
.opx-scholarship-section {
    margin-bottom: 20px;
    padding: 24px 26px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

.opx-scholarship-section h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f3f4f6;
    letter-spacing: -0.01em;
}

.opx-section-content {
    font-size: 0.95rem;
    line-height: 1.75;
    color: #374151;
}

.opx-section-content ul,
.opx-section-content ol {
    margin: 0 0 0 1.4em;
    padding: 0;
}

.opx-section-content li {
    margin-bottom: 6px;
}

/* ── 6. Info grid (Additional Information) ───────────────────── */
.opx-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.opx-info-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px 16px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #f3f4f6;
}

.opx-info-item strong {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #9ca3af;
}

.opx-info-item > span {
    font-size: 0.9rem;
    color: #111827;
    font-weight: 600;
}

/* Taxonomy term chips */
.opx-term {
    display: inline-block;
    background: #eff6ff;
    color: #2563eb;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    margin: 2px 2px 0 0;
}

/* ── 7. Category / tag link chips ────────────────────────────── */
.opx-category-link,
.opx-tag-link {
    display: inline-block;
    padding: 5px 13px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    margin: 0 6px 6px 0;
    transition: background 0.18s, color 0.18s, border-color 0.18s;
}

.opx-category-link {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}

.opx-category-link:hover {
    background: #2563eb;
    color: #fff;
    border-color: #2563eb;
}

.opx-tag-link {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #e5e7eb;
}

.opx-tag-link:hover {
    background: #111827;
    color: #fff;
    border-color: #111827;
}

/* ── 8. Sidebar ──────────────────────────────────────────────── */
.opx-scholarship-sidebar {
    position: sticky;
    top: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Generic sidebar card */
.opx-apply-section,
.opx-save-box,
.opx-ratings-section,
.opx-sharing-section,
.opx-ai-tools-section {
    padding: 20px 22px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

/* Apply section */
.opx-apply-section {
    border-top: 4px solid #1e40af;
    text-align: center;
}

.opx-apply-section h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 14px;
}

/* Primary (Apply) button */
.opx-btn.opx-btn-primary,
.opx-btn-primary {
    display: block;
    width: 100%;
    padding: 14px 20px;
    background: #1e40af;
    color: #fff !important;
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    border: none;
    cursor: pointer;
    box-sizing: border-box;
    box-shadow: 0 2px 8px rgba(30,64,175,.25);
}

.opx-btn.opx-btn-primary:hover,
.opx-btn-primary:hover {
    background: #1d4ed8;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(30,64,175,.35);
}

.opx-btn.opx-btn-large,
.opx-btn-large {
    padding: 16px 24px;
    font-size: 1.05rem;
}

/* Sidebar section headings */
.opx-ratings-section h3,
.opx-sharing-section h3,
.opx-ai-tools-section h3 {
    font-size: 0.72rem;
    font-weight: 700;
    color: #9ca3af;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f3f4f6;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

/* Save box social proof text */
.opx-save-box p {
    margin: 8px 0 0;
    text-align: center;
    font-size: 0.78rem;
    color: #9ca3af;
}

/* Secondary (AI tool) buttons */
.opx-ai-tools {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.opx-btn-secondary,
.opx-btn.opx-btn-secondary {
    display: block;
    width: 100%;
    padding: 10px 14px;
    background: #f8fafc;
    color: #1e40af !important;
    border: 1.5px solid #bfdbfe;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    transition: background 0.18s, border-color 0.18s, transform 0.15s;
    text-decoration: none;
    box-sizing: border-box;
}

.opx-btn-secondary:hover,
.opx-btn.opx-btn-secondary:hover {
    background: #eff6ff;
    border-color: #93c5fd;
    transform: translateY(-1px);
}

/* ── 9. Footer prev/next navigation ─────────────────────────── */
.opx-scholarship-footer {
    margin-top: 48px;
    padding-top: 28px;
    border-top: 2px solid #e5e7eb;
}

.opx-navigation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.opx-nav-prev,
.opx-nav-next {
    padding: 18px 22px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
}

.opx-nav-prev:hover,
.opx-nav-next:hover {
    border-color: #93c5fd;
    background: #f0f7ff;
    box-shadow: 0 2px 8px rgba(30,64,175,.1);
}

.opx-nav-link {
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-decoration: none;
}

.opx-nav-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #9ca3af;
}

.opx-nav-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #111827;
    line-height: 1.4;
}

.opx-nav-next {
    text-align: right;
}

/* ── 10. Responsive ─────────────────────────────────────────── */
@media (max-width: 960px) {
    .opx-scholarship-content {
        grid-template-columns: 1fr;
    }

    .opx-scholarship-sidebar {
        position: static;
    }

    /* Sidebar cards go horizontal on tablet */
    .opx-apply-section,
    .opx-save-box {
        max-width: 480px;
    }
}

@media (max-width: 640px) {
    .opx-single-scholarship {
        padding: 20px 14px 44px;
    }

    .opx-scholarship-title {
        font-size: 1.5rem;
        letter-spacing: -0.01em;
    }

    .opx-scholarship-section {
        padding: 18px 16px;
    }

    .opx-info-grid {
        grid-template-columns: 1fr;
    }

    .opx-navigation {
        grid-template-columns: 1fr;
    }

    .opx-nav-next {
        text-align: left;
    }

    .opx-scholarship-featured-image img {
        height: 200px;
    }
}


/* Jobs Listings Grid */
.opx-jobs-wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.opx-jobs-filters{margin-bottom:20px}
.opx-jobs-filter-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid #e2e8f0;padding:14px 18px;border-radius:8px}
.opx-jobs-filter-form select,.opx-jobs-filter-form input[type=text]{border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;font-size:14px;color:#374151;background:#fafafa;min-width:160px}
.opx-jobs-count{color:#64748b;font-size:13px;margin-bottom:16px}
.opx-jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.opx-jobs-layout-list .opx-jobs-grid{grid-template-columns:1fr}
.opx-job-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;transition:box-shadow .2s,transform .2s;position:relative;display:flex;flex-direction:column;gap:12px}
.opx-job-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1);transform:translateY(-2px)}
.opx-job-card.opx-job-featured{border-color:#f59e0b}
.opx-job-card.opx-job-closed{opacity:.7}
.opx-job-badge{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.opx-badge-featured{background:#fef3c7;color:#92400e}
.opx-job-card-header{display:flex;gap:14px;align-items:flex-start}
.opx-job-logo{width:52px;height:52px;border-radius:8px;overflow:hidden;flex-shrink:0;border:1px solid #e5e7eb}
.opx-job-logo img{width:100%;height:100%;object-fit:cover}
.opx-job-logo-placeholder{display:flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;font-size:22px;font-weight:700}
.opx-job-card-title-wrap{flex:1;min-width:0}
.opx-job-card-title{font-size:15px;font-weight:700;margin:0 0 4px;line-height:1.3}
.opx-job-card-title a{color:#1e293b;text-decoration:none}
.opx-job-card-title a:hover{color:#2563eb}
.opx-job-company{font-size:13px;color:#64748b}
.opx-job-card-meta{display:flex;flex-wrap:wrap;gap:6px}
.opx-job-tag{font-size:11px;padding:3px 9px;border-radius:20px;background:#f1f5f9;color:#475569;white-space:nowrap}
.opx-job-type-tag{background:#eff6ff;color:#2563eb}
.opx-job-mode-tag{background:#f0fdf4;color:#16a34a}
.opx-mode-remote{background:#fdf4ff;color:#9333ea}
.opx-mode-hybrid{background:#fff7ed;color:#ea580c}
.opx-job-salary-tag{background:#fef9c3;color:#854d0e}
.opx-job-location-tag{background:#f8fafc;color:#64748b}
.opx-job-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}
.opx-job-deadline{font-size:12px;color:#64748b}
.opx-deadline-closed{color:#dc2626;font-weight:600}
.opx-deadline-urgent{color:#ea580c;font-weight:600}
.opx-btn-apply-sm{font-size:12px;padding:6px 14px;border-radius:6px;background:#2563eb;color:#fff;text-decoration:none;font-weight:600;white-space:nowrap;transition:background .15s}
.opx-btn-apply-sm:hover{background:#1d4ed8;color:#fff}
.opx-btn-secondary-sm{font-size:12px;padding:6px 14px;border-radius:6px;border:1px solid #cbd5e1;color:#374151;text-decoration:none;font-weight:500}
.opx-btn-secondary-sm:hover{background:#f1f5f9}
.opx-jobs-empty{text-align:center;padding:60px 20px;color:#94a3b8;border:2px dashed #e2e8f0;border-radius:10px}

/* Single Job Page */
.opx-single-job{max-width:1100px;margin:24px auto;padding:0 20px}
.opx-back-link{margin-bottom:20px}
.opx-back-link a{font-size:14px;color:#2563eb;text-decoration:none}
.opx-back-link a:hover{text-decoration:underline}
.opx-job-hero{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:28px 32px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.opx-job-hero-left{display:flex;gap:20px;align-items:flex-start;flex:1;min-width:0}
.opx-job-hero-logo{width:80px;height:80px;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;flex-shrink:0}
.opx-job-hero-logo img{width:100%;height:100%;object-fit:cover}
.opx-job-logo-initial{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-size:32px;font-weight:800}
.opx-job-hero-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.opx-job-badge-type{font-size:11px;padding:3px 10px;border-radius:20px;background:#eff6ff;color:#2563eb;font-weight:600}
.opx-job-badge-mode{font-size:11px;padding:3px 10px;border-radius:20px;background:#f0fdf4;color:#16a34a;font-weight:600}
.opx-job-badge-featured{font-size:11px;padding:3px 10px;border-radius:20px;background:#fef3c7;color:#92400e;font-weight:600}
.opx-job-badge-closed{font-size:11px;padding:3px 10px;border-radius:20px;background:#fee2e2;color:#dc2626;font-weight:600}
.opx-job-title{font-size:26px;font-weight:800;margin:0 0 10px;color:#1e293b;line-height:1.25}
.opx-job-hero-meta{display:flex;flex-wrap:wrap;gap:14px}
.opx-job-meta-item{font-size:14px;color:#475569}
.opx-job-meta-item a{color:#2563eb;text-decoration:none}
.opx-job-hero-cta{flex-shrink:0;text-align:center}
.opx-job-apply-btn{display:inline-block;padding:13px 26px;background:#2563eb;color:#fff !important;border-radius:8px;font-weight:700;font-size:15px;text-decoration:none;transition:background .15s,transform .1s;white-space:nowrap}
.opx-job-apply-btn:hover{background:#1d4ed8;transform:translateY(-1px)}
.opx-btn-closed{display:inline-block;padding:13px 26px;background:#f1f5f9;color:#64748b;border-radius:8px;font-weight:700;font-size:14px;cursor:not-allowed}
.opx-job-deadline-nudge{font-size:12px;margin:8px 0 0;font-weight:600}
.opx-urgent{color:#dc2626}
.opx-soon{color:#ea580c}
.opx-job-content-wrap{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
.opx-job-sidebar{position:sticky;top:28px}
.opx-job-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:24px 28px;margin-bottom:18px}
.opx-job-section-title{font-size:17px;font-weight:700;color:#1e293b;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}
.opx-job-body{font-size:15px;line-height:1.75;color:#374151}
.opx-job-body ul,.opx-job-body ol{padding-left:20px;margin:8px 0}
.opx-job-apply-section{text-align:center}
.opx-job-apply-section p{color:#64748b;margin-bottom:14px}
.opx-job-sidebar-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;margin-bottom:16px}
.opx-job-sidebar-title{font-size:14px;font-weight:700;color:#1e293b;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}
.opx-job-facts{list-style:none;margin:0;padding:0}
.opx-job-facts li{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px solid #f8fafc;font-size:13px;gap:8px}
.opx-job-facts li:last-child{border-bottom:none}
.opx-fact-label{color:#94a3b8;flex-shrink:0}
.opx-fact-value{color:#1e293b;font-weight:500;text-align:right}
.opx-fact-value.opx-expired{color:#dc2626}
.opx-fact-value.opx-urgent{color:#ea580c}
.opx-job-apply-card{border-color:#2563eb}
.opx-job-share-btns{display:flex;gap:8px;flex-wrap:wrap}
.opx-share-btn{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;text-decoration:none;border:none;cursor:pointer;transition:opacity .15s}
.opx-share-btn:hover{opacity:.8}
.opx-share-x{background:#000;color:#fff}
.opx-share-li{background:#0077b5;color:#fff}
.opx-share-fb{background:#1877f2;color:#fff}
.opx-share-wa{background:#25d366;color:#fff}
.opx-share-copy{background:#f1f5f9;color:#475569;font-size:15px}

/* Submission Form */
.opx-job-submit-wrap{max-width:780px;margin:0 auto;padding:0 16px 40px}
.opx-job-submit-header{text-align:center;margin-bottom:32px}
.opx-job-submit-header h2{font-size:26px;font-weight:800;color:#1e293b;margin-bottom:8px}
.opx-job-submit-header p{color:#64748b;font-size:15px}
.opx-job-form .opx-form-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:24px 28px;margin-bottom:20px}
.opx-form-section-title{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 20px;display:flex;align-items:center;gap:10px}
.opx-step-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#2563eb;color:#fff;font-size:12px;font-weight:800;flex-shrink:0}
.opx-form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.opx-form-row:last-child{margin-bottom:0}
.opx-form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:0}
.opx-form-row label{font-size:13px;font-weight:600;color:#374151}
.opx-req{color:#ef4444}
.opx-job-form input[type=text],.opx-job-form input[type=url],
.opx-job-form input[type=email],.opx-job-form input[type=date],
.opx-job-form select,.opx-job-form textarea{width:100%;padding:10px 13px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:14px;color:#1e293b;background:#fafbfc;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;font-family:inherit}
.opx-job-form input:focus,.opx-job-form select:focus,.opx-job-form textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);background:#fff}
.opx-field-hint{font-size:12px;color:#94a3b8;margin-top:3px;display:block}
.opx-section-note{font-size:13px;color:#94a3b8;margin:-12px 0 16px}
.opx-form-actions{text-align:center;margin-top:8px}
.opx-job-submit-btn{padding:14px 36px;font-size:16px;font-weight:700;cursor:pointer}
.opx-submit-note{font-size:13px;color:#94a3b8;margin-top:10px}
.opx-submit-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:24px 28px;text-align:center}
.opx-success-icon{display:inline-flex;width:48px;height:48px;border-radius:50%;background:#16a34a;color:#fff;align-items:center;justify-content:center;font-size:22px;font-weight:800;margin-bottom:12px}
.opx-submit-success strong{display:block;font-size:18px;color:#15803d;margin-bottom:6px}
.opx-submit-success p{color:#166534;margin:0;font-size:14px}
.opx-submit-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:14px 18px;color:#dc2626;font-size:14px}
.opx-submit-error ul{margin:6px 0 0;padding-left:18px}

@media(max-width:900px){
  .opx-job-content-wrap{grid-template-columns:1fr}
  .opx-job-sidebar{position:static}
  .opx-job-hero{flex-direction:column}
  .opx-job-hero-cta{width:100%}
  .opx-job-apply-btn{width:100%;text-align:center;display:block}
}
@media(max-width:600px){
  .opx-form-row-2col{grid-template-columns:1fr}
  .opx-job-hero{padding:18px}
  .opx-job-title{font-size:20px}
  .opx-jobs-grid{grid-template-columns:1fr}
}


/* --------------------------------------------------------------
   DOCUMENT TEMPLATE PICKER  (.opx-tpl-*)
   Used in CV Builder, Essay Analyzer, Personal Statement Writer
   -------------------------------------------------------------- */

.opx-tpl-picker{margin-bottom:22px;}

.opx-tpl-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:12px;flex-wrap:wrap;gap:8px;
}
.opx-tpl-title{
  font-weight:700;font-size:14px;color:#374151;
}
.opx-tpl-skip{
  background:none;border:none;color:#9ca3af;font-size:13px;
  cursor:pointer;padding:0;text-decoration:underline;
}
.opx-tpl-skip:hover{color:#4b5563;}

/* -- Card grid -- */
.opx-tpl-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
  gap:10px;
}

.opx-tpl-card{
  border:1.5px solid #e5e7eb;border-radius:10px;padding:14px 12px;
  cursor:pointer;transition:border-color .15s,box-shadow .15s;
  background:#fff;user-select:none;
}
.opx-tpl-card:hover{
  border-color:#93c5fd;box-shadow:0 2px 8px rgba(29,78,216,.09);
}
.opx-tpl-card.opx-tpl-selected{
  border-color:#1d4ed8;background:#eff6ff;
  box-shadow:0 0 0 3px rgba(29,78,216,.12);
}
.opx-tpl-card:focus-visible{
  outline:2px solid #1d4ed8;outline-offset:2px;
}

.opx-tpl-icon{font-size:26px;margin-bottom:7px;line-height:1;}
.opx-tpl-badge{
  display:inline-block;background:#f3f4f6;color:#6b7280;
  font-size:10px;font-weight:700;padding:2px 8px;
  border-radius:10px;margin-bottom:6px;text-transform:uppercase;
  letter-spacing:.03em;
}
.opx-tpl-selected .opx-tpl-badge{background:#dbeafe;color:#1e40af;}
.opx-tpl-name{font-weight:700;font-size:13px;color:#111827;margin-bottom:3px;}
.opx-tpl-desc{font-size:12px;color:#6b7280;line-height:1.45;}

/* -- Preview panel -- */
.opx-tpl-preview{
  margin-top:12px;border:1px solid #bfdbfe;border-radius:10px;
  background:#f0f7ff;overflow:hidden;
}
.opx-tpl-preview-header{
  display:flex;align-items:center;gap:10px;padding:11px 16px;
  background:#dbeafe;flex-wrap:wrap;
}
.opx-tpl-preview-name{
  flex:1;font-size:14px;font-weight:700;color:#1e3a5f;
}
.opx-tpl-use{
  background:#1d4ed8;color:#fff;border:none;padding:7px 16px;
  border-radius:7px;font-size:13px;font-weight:700;cursor:pointer;
  transition:background .15s;
}
.opx-tpl-use:hover{background:#1e40af;}
.opx-tpl-preview-close{
  background:none;border:none;font-size:18px;color:#6b7280;
  cursor:pointer;line-height:1;padding:2px 4px;
}
.opx-tpl-preview-close:hover{color:#111827;}
.opx-tpl-preview-text{
  padding:16px;font-size:12px;color:#374151;line-height:1.75;
  white-space:pre-wrap;max-height:340px;overflow-y:auto;
  margin:0;font-family:'Courier New',Courier,monospace;
  border-top:1px solid #dbeafe;
}

/* -- Template loaded status bar -- */
.opx-tpl-loaded-bar{
  background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;
  padding:9px 14px;font-size:13px;color:#166534;
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;flex-wrap:wrap;gap:8px;
}
.opx-tpl-loaded-bar strong{font-weight:700;}
.opx-tpl-change-btn{
  background:none;border:none;color:#1d4ed8;cursor:pointer;
  font-size:13px;font-weight:700;padding:0;text-decoration:underline;
}
.opx-tpl-change-btn:hover{color:#1e40af;}

/* -- Responsive -- */
@media(max-width:600px){
  .opx-tpl-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
  .opx-tpl-preview-header{flex-direction:column;align-items:flex-start;}
  .opx-tpl-use{width:100%;}
}

/* ── AI Tools Hub [opporax_ai_tools_hub] ───────────────────────────────── */
.opx-ai-hub { margin: 0; }
.opx-ai-hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  margin-bottom: 24px;
}
.opx-ai-hub-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 28px 22px 22px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  transition: box-shadow .2s, transform .2s;
}
.opx-ai-hub-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.opx-ai-hub-icon  { font-size: 44px; line-height: 1; }
.opx-ai-hub-name  { margin: 0; font-size: 17px; color: #111827; font-weight: 700; }
.opx-ai-hub-desc  { margin: 0; font-size: 13px; color: #6b7280; line-height: 1.55; flex: 1; }
.opx-ai-hub-btn   { margin-top: 6px; width: 100%; justify-content: center; }
.opx-ai-hub-note  {
  text-align: center;
  font-size: 13px;
  color: #9ca3af;
  margin: 0;
}

/* ── My Account page [opporax_my_account] ──────────────────────────────── */

/* Account header */
.opx-account-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding: 20px 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
}
.opx-account-avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.opx-account-name  { font-size: 18px; font-weight: 700; color: #111827; }
.opx-account-meta  { font-size: 13px; color: #6b7280; margin-top: 3px; }

/* Tab navigation */
.opx-account-tabs {
  list-style: none;
  margin: 0 0 0 0;
  padding: 0;
  display: flex;
  gap: 0;
  border-bottom: 2px solid #e5e7eb;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  scrollbar-width: none;
}
.opx-account-tabs::-webkit-scrollbar { display: none; }
.opx-account-tabs li {
  padding: 11px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .15s, border-color .15s;
  user-select: none;
}
.opx-account-tabs li:hover  { color: #1e40af; }
.opx-account-tabs li.active { color: #1d4ed8; border-bottom-color: #1d4ed8; }

/* Tab panels */
.opx-tab-panel { display: none; padding-top: 24px; }
.opx-tab-panel.active { display: block; }

/* Stats bar */
.opx-account-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-bottom: 28px;
}
.opx-stat-card {
  border-radius: 10px;
  padding: 14px 16px;
  text-align: center;
}
.opx-stat-val { font-size: 26px; font-weight: 700; }
.opx-stat-lbl { font-size: 12px; color: #6b7280; margin-top: 2px; }

/* Responsive */
@media (max-width: 600px) {
  .opx-ai-hub-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
  .opx-account-header { flex-direction: column; text-align: center; }
  .opx-account-tabs li { padding: 10px 14px; font-size: 13px; }
}

/* ── AI tool breadcrumb + back navigation ──────────────────────────────── */
.opx-ai-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.opx-ai-breadcrumb a {
  color: #1e40af;
  text-decoration: none;
  font-weight: 500;
}
.opx-ai-breadcrumb a:hover { text-decoration: underline; }
.opx-ai-breadcrumb span[aria-hidden] { color: #9ca3af; }
.opx-ai-breadcrumb-current { color: #374151; font-weight: 600; }

.opx-ai-back-nav {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}
.opx-ai-back-nav .opx-btn-outline {
  background: #fff;
  color: #1e40af;
  border: 1.5px solid #1e40af !important;
  font-size: 14px;
}
.opx-ai-back-nav .opx-btn-outline:hover { background: #eff6ff; }
