/* WP Job Marketplace – Payments & Premium (matches core plugin's look) */
.wjmp-wrap { max-width: 1000px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1f2328; }

/* Notices */
.wjmp-notice { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; }
.wjmp-notice--success { background: #dcfce7; color: #166534; }
.wjmp-notice--info { background: #dbeafe; color: #1e40af; }
.wjmp-notice--warning { background: #fef3c7; color: #92400e; }

/* Buttons */
.wjmp-btn { display: inline-block; padding: 10px 22px; border-radius: 6px; text-decoration: none; font-size: 14px; cursor: pointer; border: none; }
.wjmp-btn--primary { background: #2563eb; color: #fff; }
.wjmp-btn--primary:hover { background: #1d4ed8; color: #fff; }
.wjmp-btn--secondary { background: #fff; color: #2563eb; border: 1px solid #2563eb; }
.wjmp-btn--secondary:hover { background: #eff6ff; color: #1d4ed8; }
.wjmp-btn--link { background: none; color: #2563eb; text-decoration: underline; padding: 6px 0; }
.wjmp-btn--link:hover { color: #1d4ed8; }

/* Forms */
.wjmp-form p { margin-bottom: 14px; }
.wjmp-form label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 14px; }
.wjmp-form input[type="text"], .wjmp-form input[type="email"], .wjmp-form input[type="tel"],
.wjmp-form input[type="password"], .wjmp-form input[type="url"], .wjmp-form input[type="number"] {
	width: 100%; padding: 9px 10px; border: 1px solid #d0d7de; border-radius: 6px; font-size: 14px; box-sizing: border-box;
}

/* Multi-step employer onboarding */
.wjmp-step-form { max-width: 560px; margin: 0 auto; padding: 24px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
.wjmp-step-form h3 { margin-top: 0; }
.wjmp-resend-form { margin-top: 6px; }
.wjmp-help-text { display: block; font-size: 12px; color: #57606a; margin-top: 4px; }
.wjmp-form textarea, .wjmp-form select, .wjmp-form input[type="file"] {
	width: 100%; padding: 9px 10px; border: 1px solid #d0d7de; border-radius: 6px; font-size: 14px; box-sizing: border-box;
}

/* Employer verification status badges (admin + dashboard) */
.wjmp-badge--pending_otp, .wjmp-badge--pending_profile, .wjmp-badge--pending_verification { background: #fef3c7; color: #92400e; }
.wjmp-badge--pending_review { background: #dbeafe; color: #1e40af; }

/* Candidate profile — tabbed multi-section form */
.wjmp-candidate-profile { max-width: 680px; }
.wjmp-tabs__nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; border-bottom: 1px solid #e5e7eb; padding-bottom: 10px; }
.wjmp-tabs__btn { padding: 8px 14px; border-radius: 20px; border: 1px solid #d0d7de; background: #fff; font-size: 13px; font-weight: 600; cursor: pointer; color: #57606a; }
.wjmp-tabs__btn.is-active { background: #2563eb; border-color: #2563eb; color: #fff; }
.wjmp-tab-panel { display: none; }
.wjmp-tab-panel.is-active { display: block; }
.wjmp-form input[type="checkbox"] { width: auto; margin-right: 6px; }
.wjmp-form input[type="date"] { width: 100%; padding: 9px 10px; border: 1px solid #d0d7de; border-radius: 6px; font-size: 14px; box-sizing: border-box; }

/* Dual auth — brand colors: #081A34 (navy), #E4CE93 (gold), #ffffff (white) */
.wjmp-dual-auth {
	max-width: 560px;
	margin: 0 auto;
	background: #ffffff;
	border: 1px solid #E4CE93;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 28px rgba(8, 26, 52, 0.10);
}
.wjmp-dual-auth__nav {
	display: flex;
	background: #081A34;
}
.wjmp-dual-auth__tab {
	flex: 1;
	padding: 18px 16px;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	color: rgba(255, 255, 255, 0.65);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: color .15s ease, background .15s ease, border-color .15s ease;
}
.wjmp-dual-auth__tab:hover { color: #ffffff; background: rgba(228, 206, 147, 0.08); }
.wjmp-dual-auth__tab.is-active {
	color: #081A34;
	background: #E4CE93;
	border-bottom-color: #E4CE93;
}
.wjmp-dual-auth__panel { display: none; padding: 28px 26px; }
.wjmp-dual-auth__panel.is-active { display: block; }
.wjmp-dual-auth__panel h3 {
	margin: 0 0 18px;
	color: #081A34;
	font-size: 19px;
	text-align: center;
}

/* Registration forms inside the dual-auth tabs */
.wjmp-dual-auth__panel .wjmp-step-form {
	max-width: none;
	padding: 0;
	border: none;
}
.wjmp-dual-auth__panel .wjmp-form label { color: #081A34; }
.wjmp-dual-auth__panel .wjmp-form input[type="text"],
.wjmp-dual-auth__panel .wjmp-form input[type="email"],
.wjmp-dual-auth__panel .wjmp-form input[type="tel"],
.wjmp-dual-auth__panel .wjmp-form input[type="password"],
.wjmp-dual-auth__panel .wjmp-form input[type="file"] {
	border: 1px solid #d8c8a0;
	border-radius: 8px;
}
.wjmp-dual-auth__panel .wjmp-form input:focus {
	outline: none;
	border-color: #E4CE93;
	box-shadow: 0 0 0 3px rgba(228, 206, 147, 0.35);
}
.wjmp-dual-auth__panel .wjmp-btn--primary {
	display: block;
	width: 100%;
	background: #081A34;
	color: #ffffff;
	padding: 12px 22px;
	font-weight: 700;
	border-radius: 8px;
}
.wjmp-dual-auth__panel .wjmp-btn--primary:hover { background: #0d2a52; }

.wjmp-login-link { margin: 14px 0 0; font-size: 13px; text-align: center; }
.wjmp-login-link a { color: #081A34; font-weight: 600; text-decoration: none; border-bottom: 1px solid #E4CE93; }
.wjmp-login-link a:hover { color: #0d2a52; border-bottom-color: #081A34; }
.wjmp-logged-in { padding: 14px 18px; background: #081A34; color: #ffffff; border-radius: 8px; }
.wjmp-logged-in a { color: #E4CE93; }

/* Cards / stats */
.wjmp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 20px 0; }
.wjmp-card { padding: 18px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; text-align: center; }
.wjmp-card--highlight { background: #eff6ff; border-color: #bfdbfe; }
.wjmp-card--alert { background: #fef2f2; border-color: #fecaca; }
.wjmp-card h3 { margin: 0 0 8px; font-size: 13px; color: #57606a; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.wjmp-big-number { font-size: 32px; font-weight: 700; margin: 0 0 10px; color: #1f2328; }

/* Dashboard header */
.wjmp-dashboard__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }

/* Tables */
.wjmp-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.wjmp-table th, .wjmp-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #e5e7eb; font-size: 14px; }
.wjmp-table th { background: #f6f8fa; font-weight: 600; }

/* Badges */
.wjmp-badge { display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; text-transform: capitalize; }
.wjmp-badge--publish, .wjmp-badge--approved { background: #dcfce7; color: #166534; }
.wjmp-badge--pending { background: #fef3c7; color: #92400e; }
.wjmp-badge--draft, .wjmp-badge--rejected { background: #fee2e2; color: #b91c1c; }

/* Packages */
.wjmp-packages { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin-top: 18px; }
.wjmp-package-card { padding: 24px; border: 1px solid #e5e7eb; border-radius: 12px; text-align: center; background: #fff; }
.wjmp-package-card h3 { margin: 0 0 10px; }
.wjmp-package-card--current { border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37,99,235,.15); }
.wjmp-badge--done { background: #dcfce7; color: #166534; }
.wjmp-list { list-style: disc; padding-left: 20px; margin: 0 0 16px; }
.wjmp-list li { margin-bottom: 6px; }
.wjmp-plan-benefits { margin: 12px 0 24px; }
.wjmp-plan-benefits summary { cursor: pointer; font-weight: 600; color: #2563eb; margin-bottom: 8px; }
.wjmp-callback-form { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.wjmp-callback-form input[type="text"] { flex: 1 1 200px; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 6px; }
.wjmp-package-credits { color: #57606a; margin-bottom: 8px; }
.wjmp-package-price { font-size: 26px; font-weight: 700; margin-bottom: 16px; }
.wjmp-package-features { list-style: none; margin: 0 0 20px; padding: 0; text-align: left; }
.wjmp-package-features li { padding: 6px 0; border-bottom: 1px solid #f1f1f1; font-size: 14px; color: #333; }
.wjmp-package-features li:last-child { border-bottom: none; }
.wjmp-package-features strong { color: #57606a; font-weight: 600; margin-right: 4px; }

/* Candidate details box (gate_resume_content) on single Resume pages. */
.wjmp-candidate-box { padding: 18px; margin-bottom: 20px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fafafa; }
.wjmp-candidate-box h4 { margin: 0 0 8px; }
.wjmp-cv-locked { color: #b45309; background: #fffbeb; padding: 8px 12px; border-radius: 6px; }
.wjmp-cv-locked a { margin-left: 6px; font-weight: 600; }

/* Payment box */
.wjmp-payment-box { max-width: 560px; }
.wjmp-seeker-plans-upsell { margin-top: 36px; padding-top: 28px; border-top: 1px solid #e5e7eb; }
.wjmp-order-summary, .wjmp-payment-instructions, .wjmp-payment-confirm { padding: 18px; border: 1px solid #e5e7eb; border-radius: 10px; margin-bottom: 18px; }
.wjmp-payment-confirm h4, .wjmp-payment-instructions h4 { margin-top: 0; }

/* Premium jobs grid */
.wjmp-premium-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 18px; }
.wjmp-premium-card { padding: 18px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
.wjmp-premium-card.is-locked { background: #fafafa; }
.wjmp-premium-card h3 { margin: 0 0 6px; font-size: 17px; }
.wjmp-premium-company { color: #57606a; font-size: 13px; margin-bottom: 10px; }
.wjmp-premium-locked-note { color: #92400e; font-size: 13px; }

/* ================= CV Builder ================= */
.wjmp-cv-builder { max-width: 1200px; }
.wjmp-cv-import-form { display: inline-block; }
.wjmp-cv-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
@media (max-width: 900px) { .wjmp-cv-layout { grid-template-columns: 1fr; } }

.wjmp-cv-template-picker { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; padding: 10px 14px; background: #f6f8fa; border-radius: 8px; }
.wjmp-cv-template-picker__label { font-weight: 600; font-size: 13px; color: #57606a; }
.wjmp-cv-tpl-option { font-size: 13px; display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.wjmp-cv-tpl-option.is-locked { color: #9ca3af; cursor: not-allowed; }
.wjmp-cv-tpl-option input { margin-right: 2px; }

.wjmp-cv-editor .wjmp-tab-panel { border: 1px solid #e5e7eb; border-radius: 10px; padding: 16px; }

.wjmp-cv-repeater { display: flex; flex-direction: column; gap: 14px; margin-bottom: 10px; }
.wjmp-cv-row { border: 1px solid #e5e7eb; border-radius: 8px; padding: 14px; background: #fafafa; }
.wjmp-cv-row__dates { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; }
.wjmp-cv-row__dates span { flex: 1; min-width: 120px; }
.wjmp-cv-row__current { flex-basis: 100%; font-weight: 400 !important; display: flex; align-items: center; gap: 6px; }
.wjmp-cv-row__current input { width: auto !important; }

.wjmp-cv-preview-col { position: sticky; top: 20px; }
.wjmp-cv-preview-actions { margin-bottom: 10px; text-align: right; }
.wjmp-cv-preview { border: 1px solid #e5e7eb; border-radius: 10px; padding: 34px; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.05); max-height: 80vh; overflow-y: auto; }

.wjmp-cv-doc__header { text-align: center; margin-bottom: 18px; }
.wjmp-cv-doc__header h1 { margin: 0 0 2px; font-size: 26px; }
.wjmp-cv-doc__title { color: #2563eb; font-weight: 600; margin: 0 0 6px; }
.wjmp-cv-doc__contact { font-size: 13px; color: #57606a; margin: 0; }
.wjmp-cv-doc section { margin-bottom: 16px; }
.wjmp-cv-doc h2 { font-size: 15px; text-transform: uppercase; letter-spacing: .04em; border-bottom: 2px solid #2563eb; padding-bottom: 4px; margin: 0 0 10px; color: #1f2328; }
.wjmp-cv-entry { margin-bottom: 10px; }
.wjmp-cv-entry__row { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; }
.wjmp-cv-entry__row span { color: #57606a; font-size: 13px; white-space: nowrap; }
.wjmp-cv-entry__sub { font-size: 13px; color: #57606a; margin-bottom: 4px; }
.wjmp-cv-doc p { font-size: 13.5px; line-height: 1.55; margin: 4px 0; }
.wjmp-cv-skills { line-height: 1.8; }
.wjmp-cv-watermark { margin-top: 24px; padding-top: 10px; border-top: 1px dashed #d0d7de; font-size: 11px; color: #9ca3af; text-align: center; }

/* Template: Modern — accent sidebar-style header, sans headings */
.wjmp-cv-tpl-modern .wjmp-cv-doc__header { text-align: left; background: #081A34; color: #fff; padding: 22px 26px; border-radius: 8px; margin: -34px -34px 20px; }
.wjmp-cv-tpl-modern .wjmp-cv-doc__title { color: #E4CE93; }
.wjmp-cv-tpl-modern .wjmp-cv-doc__contact { color: #cbd5e1; }
.wjmp-cv-tpl-modern .wjmp-cv-doc h2 { border-bottom-color: #081A34; }

/* Template: Compact — tighter spacing, smaller type, two-column-friendly */
.wjmp-cv-tpl-compact .wjmp-cv-preview,
.wjmp-cv-tpl-compact.wjmp-cv-preview { padding: 22px; }
.wjmp-cv-tpl-compact .wjmp-cv-doc__header h1 { font-size: 21px; }
.wjmp-cv-tpl-compact .wjmp-cv-doc h2 { font-size: 12.5px; margin-bottom: 6px; }
.wjmp-cv-tpl-compact .wjmp-cv-doc section { margin-bottom: 10px; }
.wjmp-cv-tpl-compact .wjmp-cv-doc p { font-size: 12.5px; margin: 2px 0; }

/* Print / "Download as PDF" — only the preview panel prints */
@media print {
	body * { visibility: hidden; }
	.wjmp-cv-preview, .wjmp-cv-preview * { visibility: visible; }
	.wjmp-cv-preview { position: absolute; top: 0; left: 0; width: 100%; max-height: none; overflow: visible; box-shadow: none; border: none; }
	.wjmp-cv-preview-actions { display: none; }
}
