/* Simple Career Portal — front end. Override the variables in your theme to restyle. */
.scp-wrap,
.scp-meta {
	--scp-accent: #1d4ed8;
	--scp-accent-text: #ffffff;
	--scp-border: #d6d9de;
	--scp-muted: #5f6672;
	--scp-surface: #ffffff;
	--scp-radius: 10px;
	--scp-success-bg: #ecfdf3;
	--scp-success-text: #14532d;
	--scp-error-bg: #fef2f2;
	--scp-error-text: #991b1b;
	box-sizing: border-box;
}
.scp-wrap *,
.scp-wrap *::before,
.scp-wrap *::after { box-sizing: inherit; }

/* Job list */
.scp-jobs { display: grid; gap: 16px; }
.scp-job {
	background: var(--scp-surface);
	border: 1px solid var(--scp-border);
	border-radius: var(--scp-radius);
	padding: 20px;
}
.scp-job__title { margin: 0 0 8px; font-size: 1.25em; line-height: 1.3; }
.scp-job__title a { text-decoration: none; }
.scp-job__excerpt { margin: 10px 0 16px; color: var(--scp-muted); }
.scp-empty { color: var(--scp-muted); }

.scp-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 8px;
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}
.scp-meta li {
	margin: 0;
	padding: 3px 10px;
	border: 1px solid var(--scp-border);
	border-radius: 999px;
	font-size: 0.85em;
	color: var(--scp-muted);
}

/* Buttons */
.scp-button,
.scp-form button.scp-button {
	display: inline-block;
	padding: 10px 20px;
	border: 0;
	border-radius: 8px;
	background: var(--scp-accent);
	color: var(--scp-accent-text);
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.scp-button:hover,
.scp-button:focus-visible { filter: brightness(1.1); color: var(--scp-accent-text); }
.scp-button[disabled] { opacity: 0.6; cursor: wait; }

/* Form */
.scp-apply {
	margin-top: 32px;
	padding: 24px;
	border: 1px solid var(--scp-border);
	border-radius: var(--scp-radius);
	background: var(--scp-surface);
	scroll-margin-top: 80px;
}
.scp-apply__title { margin: 0 0 16px; font-size: 1.4em; }
.scp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.scp-field { margin: 0 0 16px; }
.scp-field label { display: block; margin-bottom: 6px; font-weight: 600; }
.scp-field input[type="text"],
.scp-field input[type="email"],
.scp-field input[type="tel"],
.scp-field input[type="file"],
.scp-field select,
.scp-field textarea {
	width: 100%;
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--scp-border);
	border-radius: 8px;
	background: #fff;
	font: inherit;
}
.scp-field input:focus,
.scp-field select:focus,
.scp-field textarea:focus { outline: 2px solid var(--scp-accent); outline-offset: 1px; }
.scp-field--check label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.scp-field--check input { margin-top: 4px; }
.scp-help { display: block; margin-top: 4px; font-size: 0.85em; color: var(--scp-muted); }
.scp-req { color: var(--scp-error-text); }
.scp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.scp-actions { margin: 0; }

.scp-notice,
.scp-form__error {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: 8px;
}
.scp-notice--success { background: var(--scp-success-bg); color: var(--scp-success-text); }
.scp-notice--error,
.scp-form__error { background: var(--scp-error-bg); color: var(--scp-error-text); }

@media (max-width: 600px) {
	.scp-row { grid-template-columns: 1fr; }
	.scp-apply { padding: 16px; }
}
