/*
 * Vakanču frontend stils - pielāgots reko.lv (Neve + neve-reko child theme) dizainam:
 * fonts Ubuntu, akcenta krāsa #8e274d, teksts #2b2b2b, konteiners 992px, bez noapaļotiem stūriem.
 */

:root {
	--vac-accent: #8e274d;
	--vac-accent-dark: #6e1d3b;
	--vac-text: #2b2b2b;
	--vac-muted: #656565;
	--vac-border: #e5e0e2;
	--vac-bg-light: #f9f7f8;
	--vac-facts-bg: #eeeeee;
	--vac-font: "Ubuntu", Arial, Helvetica, sans-serif;
	--vac-radius: 0;
	--vac-container: 992px;
}

.vacancy-page-wrap,
.vacancies-archive {
	max-width: var(--vac-container);
	margin: 0 auto;
	padding: 48px 20px 80px;
	font-family: var(--vac-font);
	color: var(--vac-text);
	font-weight: 300;
	line-height: 1.7;
}

/* ---------- Full-bleed (shortcode interactive="yes" izmantošanai jebkurā vietā) ---------- */

.vacancies-full-bleed {
	width: 100vw;
	max-width: var(--vac-container);
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	padding: 0 20px;
}

/* ---------- Badges ---------- */

.vacancy-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 5px 12px;
	border-radius: var(--vac-radius);
	margin-bottom: 14px;
}

.vacancy-badge-urgent {
	background: var(--vac-accent);
	color: #fff;
}

.vacancy-badge-closed {
	background: #eee;
	color: var(--vac-muted);
}

/* ---------- Header ---------- */

.vacancy-header h1 {
	font-family: var(--vac-font);
	font-weight: 600;
	font-size: 39px;
	line-height: 1.2;
	margin: 0 0 8px;
	color: var(--vac-text);
}

@media (min-width: 576px) {
	.vacancy-header h1 {
		font-size: 48px;
	}
}

@media (max-width: 720px) {
	.vacancy-header h1 {
		font-size: 30px;
	}
}

.vacancy-company {
	font-size: 16px;
	color: var(--vac-muted);
	margin: 0 0 16px;
}

.vacancy-meta {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}

.vacancy-meta li {
	font-size: 14px;
	color: var(--vac-muted);
	display: flex;
	align-items: center;
	gap: 6px;
}

.vacancy-icon {
	width: 14px;
	height: 14px;
	display: inline-block;
	background: var(--vac-accent);
	opacity: .6;
}

.vacancy-salary {
	display: inline-block;
	font-size: 20px;
	font-weight: 600;
	color: var(--vac-accent);
	margin: 4px 0 0;
}

.vacancy-countdown {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--vac-accent-dark);
	background: #f6e9ee;
	padding: 4px 10px;
	border-radius: var(--vac-radius);
	margin: 10px 0 0;
}

/* ---------- Quick facts strip ---------- */

.vacancy-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 28px 0;
	background: var(--vac-facts-bg);
}

.vacancy-fact {
	flex: 1 1 160px;
	padding: 14px 18px;
	border-right: 1px solid var(--vac-border);
}

.vacancy-fact:last-child {
	border-right: none;
}

.vacancy-fact-label {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--vac-muted);
	margin-bottom: 4px;
}

.vacancy-fact-value {
	display: block;
	font-size: 15px;
	font-weight: 500;
	color: var(--vac-text);
}

.vacancy-fact-deadline .vacancy-fact-value {
	color: var(--vac-accent);
}

/* ---------- Body copy ---------- */

.vacancy-featured-image {
	margin: 24px 0;
	border-radius: var(--vac-radius);
	overflow: hidden;
}

.vacancy-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

.vacancy-excerpt {
	font-size: 18px;
	color: var(--vac-muted);
	margin: 0 0 24px;
}

.vacancy-content {
	margin-bottom: 8px;
}

.vacancy-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--vac-radius);
}

.vacancy-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 12px;
}

.vacancy-gallery-item {
	display: block;
	overflow: hidden;
	border: 1px solid var(--vac-border);
}

.vacancy-gallery-item img {
	width: 100%;
	height: 140px;
	object-fit: cover;
	display: block;
	transition: opacity .15s ease;
}

.vacancy-gallery-item:hover img {
	opacity: .85;
}

.vacancy-section {
	margin-top: 32px;
}

.vacancy-section h2 {
	font-family: var(--vac-font);
	font-weight: 600;
	font-size: 24px;
	color: var(--vac-text);
	margin: 0 0 14px;
}

.vacancy-section ul {
	margin: 0;
	padding-left: 20px;
}

.vacancy-section li {
	margin-bottom: 8px;
}

.vacancy-section li::marker {
	color: var(--vac-accent);
}

/* ---------- Apply / footer ---------- */

.vacancy-apply {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--vac-border);
}

.vacancy-apply-button {
	display: inline-block;
	padding: 12px 28px;
	background: var(--vac-accent);
	color: #fff !important;
	text-decoration: none;
	border-radius: var(--vac-radius);
	font-weight: 600;
	font-size: 15px;
	transition: background .15s ease;
}

.vacancy-apply-button:hover {
	background: var(--vac-accent-dark);
	color: #fff;
}

.vacancy-closed-notice {
	color: var(--vac-muted);
	font-style: italic;
}

.vacancy-contact {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-top: 28px;
}

.vacancy-contact-photo img {
	width: 56px;
	height: 56px;
	object-fit: cover;
}

.vacancy-contact-name {
	font-weight: 600;
	margin: 0 0 2px;
}

.vacancy-contact-position {
	color: var(--vac-muted);
	font-size: 14px;
	margin: 0 0 6px;
}

.vacancy-contact p {
	margin: 0 0 4px;
}

/* ---------- Archive ---------- */

.vacancies-archive-header h1 {
	font-family: var(--vac-font);
	font-weight: 600;
	font-size: 34px;
	margin: 0 0 24px;
}

.vacancies-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 32px;
}

.vacancies-filters select {
	flex: 1 1 200px;
	font-family: var(--vac-font);
	padding: 10px 12px;
	border: 2px solid var(--vac-border);
	border-radius: 0;
	background: #fff;
	color: var(--vac-text);
}

.vacancies-filters button {
	flex: 0 0 auto;
	font-family: var(--vac-font);
	padding: 12px 24px;
	background: var(--vac-accent);
	color: #fff;
	border: none;
	border-radius: var(--vac-radius);
	font-weight: 600;
	cursor: pointer;
}

.vacancies-filters button:hover {
	background: var(--vac-accent-dark);
}

.vacancies-list.vacancies-layout-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
}

.vacancies-list.vacancies-layout-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* ---------- Vacancy card ---------- */

.vacancy-card {
	border: 1px solid var(--vac-border);
	border-radius: var(--vac-radius);
	padding: 22px;
	background: #fff;
	transition: box-shadow .15s ease, border-color .15s ease;
}

.vacancy-card-image {
	margin: -22px -22px 16px;
	border-radius: var(--vac-radius) var(--vac-radius) 0 0;
	overflow: hidden;
}

.vacancy-card-image img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
}

.vacancy-card:hover {
	border-color: var(--vac-accent);
	box-shadow: 0 4px 14px rgba(142, 39, 77, .08);
}

.vacancy-card-urgent {
	border-color: var(--vac-accent);
}

.vacancy-card-title {
	margin: 0 0 10px;
	font-family: var(--vac-font);
	font-weight: 600;
	font-size: 18px;
}

.vacancy-card-title a {
	color: var(--vac-text);
	text-decoration: none;
}

.vacancy-card-title a:hover {
	color: var(--vac-accent);
}

.vacancy-card-meta {
	list-style: none;
	padding: 0;
	margin: 0 0 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	font-size: 13px;
	color: var(--vac-muted);
}

.vacancy-card-salary {
	font-weight: 600;
	color: var(--vac-accent);
	margin: 0 0 8px;
	font-size: 15px;
}

.vacancy-card-deadline {
	font-size: 13px;
	color: var(--vac-muted);
	margin: 0 0 6px;
}

.vacancy-card-countdown {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	color: var(--vac-accent-dark);
	background: #f6e9ee;
	padding: 3px 8px;
	border-radius: var(--vac-radius);
	margin: 0 0 12px;
}

.vacancy-card-link {
	display: inline-block;
	font-weight: 600;
	font-size: 14px;
	color: var(--vac-accent);
	text-decoration: none;
}

.vacancy-card-link:hover {
	text-decoration: underline;
}

.vacancies-empty-state,
.vacancy-empty-state {
	grid-column: 1 / -1;
	color: var(--vac-muted);
	font-style: italic;
}

@media (max-width: 600px) {
	.vacancy-fact {
		flex: 1 1 45%;
	}
}
