﻿/**
 * Projects page template + single project CPT — extracted from Corevix main.css.
 * Typography: Inter (matches Ascend marketing / header-corevix).
 */
/* Corevix main shell — ref main.css .site-main (this stylesheet loads only on projects page + single project) */
.site-main {
	max-width: var(--corevix-container-width, 1200px);
	margin: 0 auto;
	padding: calc(var(--corevix-global-spacing, 8px) * 4) calc(var(--corevix-global-spacing, 8px) * 2);
	min-height: 50vh;
}

/* Single Project */
.single-projects .site-main {
	width: 75%;
	max-width: 75%;
}

.corevix-project-single {
	display: grid;
	gap: 2rem;
	width: 100%;
}

.corevix-project-single__top {
	display: grid;
	grid-template-columns: minmax(260px, 0.95fr) minmax(420px, 1.4fr);
	gap: 1.5rem;
	align-items: center;
	width: 100%;
	padding-block: calc(var(--corevix-global-spacing, 8px) * 6);
}

.corevix-project-single__left {
	padding-top: 0.3rem;
}

.corevix-project-single__title {
	margin: 0 0 0.9rem;
	font-size: clamp(1.4rem, 2.3vw, 2rem);
	line-height: 1.2;
}

.corevix-project-single__company {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.9rem;
}

.corevix-project-single__company-logo-wrap {
	width: 50px;
	height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid #dbe2ea;
	background: #fff;
	overflow: hidden;
}

.corevix-project-single__company img {
	width: auto;
	height: 70%;
	object-fit: contain;
	display: block;
}

.corevix-project-single__company-name {
	font-size: 1rem;
	font-weight: 700;
	color: #1f2937;
}

.corevix-project-single__content {
	color: #4b5563;
	font-size: 0.96rem;
	line-height: 1.65;
	margin-bottom: 1rem;
}

.corevix-project-single__content p {
	margin: 0 0 0.75rem;
}

.corevix-project-single__meta-list {
	display: grid;
	gap: 0.45rem;
}

.corevix-project-single__meta-row {
	display: flex;
	align-items: flex-start;
	gap: 0.4rem;
	color: #4b5563;
	font-size: 0.9rem;
}

.corevix-project-single__icon {
	display: inline-flex;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	color: #6b7280;
	margin-top: 0;
	align-items: center;
	justify-content: center;
}

.corevix-project-single__icon svg {
	width: 100%;
	height: 100%;
}

.corevix-project-slider__track {
	position: relative;
	border-radius: 0;
	overflow: visible;
	background: transparent;
	height: 515px;
}

.corevix-project-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease;
}

.corevix-project-slider__slide.is-active {
	opacity: 1;
	pointer-events: auto;
}

.corevix-project-slider__slide img {
	display: block;
	width: auto;
	height: 100%;
	max-width: 100%;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 18px;
}

.corevix-project-slider__controls {
	margin-top: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.9rem;
}

.corevix-project-slider__jump,
.corevix-project-slider__btn {
	border: 1px solid #e3e6ea;
	background: #fff;
	color: #111827;
	border-radius: 999px;
	height: 40px;
	padding: 0 1.05rem;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.corevix-project-slider__nav {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}

.corevix-project-slider__btn {
	min-width: 40px;
	padding: 0 0.6rem;
}

.corevix-project-slider__btn--icon {
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.corevix-project-slider__btn span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.corevix-project-slider__btn[data-slider-action="toggle"] span {
	width: 16px;
	height: 16px;
}

.corevix-project-slider__btn[data-slider-action="prev"] span,
.corevix-project-slider__btn[data-slider-action="next"] span {
	width: 24px;
	height: 24px;
}

.corevix-project-slider__btn svg {
	width: 100%;
	height: 100%;
	display: block;
}

.corevix-project-slider__jump:hover,
.corevix-project-slider__btn:hover {
	background: #fafafa;
	border-color: #d4d9df;
}

.corevix-project-single__gallery-wrap > h2 {
	margin: 0 0 0.8rem;
	font-size: 1.05rem;
	font-weight: 700;
}

.corevix-project-single__gallery-wrap {
	width: 100%;
	padding-block: calc(var(--corevix-global-spacing, 8px) * 6);
}

.corevix-project-single__gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6rem;
}

.corevix-project-single__gallery-item {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	background: #eef2f7;
}

.corevix-project-single__gallery-item img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.05;
	object-fit: cover;
}

.corevix-project-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	background: rgba(8, 10, 14, 0.88);
	backdrop-filter: blur(4px);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 2.5rem;
}

.corevix-project-lightbox.is-open {
	display: flex;
}

.corevix-project-lightbox__stage {
	width: min(92vw, 980px);
	height: min(82vh, 760px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.corevix-project-lightbox__stage img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 14px;
	object-fit: contain;
}

.corevix-project-lightbox__caption {
	position: absolute;
	top: 1.35rem;
	left: 50%;
	transform: translateX(-50%);
	color: #f8fafc;
	font-size: 0.95rem;
	font-weight: 700;
}

.corevix-project-lightbox__close,
.corevix-project-lightbox__nav {
	position: absolute;
	border: 1px solid rgba(255, 255, 255, 0.24);
	background: rgba(17, 24, 39, 0.52);
	color: #f8fafc;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.corevix-project-lightbox__close {
	top: 1rem;
	left: 1rem;
	font-size: 1.2rem;
}

.corevix-project-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.8rem;
}

.corevix-project-lightbox__nav--prev {
	left: 1rem;
}

.corevix-project-lightbox__nav--next {
	right: 1rem;
}

body.corevix-lightbox-open {
	overflow: hidden;
}
@media (max-width: 1280px) {
	.single-projects .site-main {
		width: 88%;
		max-width: 88%;
	}

	.corevix-project-single__top {
		grid-template-columns: minmax(240px, 0.95fr) minmax(360px, 1.25fr);
	}
}

@media (max-width: 1024px) {
	.single-projects .site-main {
		width: 92%;
		max-width: 92%;
	}

	.corevix-project-single__top {
		grid-template-columns: 1fr;
		gap: 1.1rem;
	}

	.corevix-project-slider__track {
		height: 440px;
	}
}
/* Projects page template */
.page-template-page-projects .site-main {
	max-width: none;
	padding-left: 30px;
	padding-right: 30px;
}

.corevix-projects-template .corevix-projects-page-content {
	margin-bottom: 1.5rem;
}

.corevix-projects-tabs-row {
	margin-bottom: 0.875rem;
}

.corevix-projects-layout {
	display: grid;
	grid-template-columns: minmax(320px, 33.333%) minmax(0, 66.666%);
	gap: 1.25rem;
	align-items: start;
	padding: 0;
}

.corevix-projects-left {
	min-height: 0;
}

.corevix-projects-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.875rem;
}

.corevix-tab-button {
	border: 1px solid #d9dde3;
	background: #fff;
	color: #0f172a;
	border-radius: 999px;
	padding: 0.42rem 0.85rem;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.corevix-tab-button.is-active {
	background: #111827;
	border-color: #111827;
	color: #fff;
}

.corevix-projects-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem 1rem;
}

.corevix-project-card {
	background: transparent;
	cursor: pointer;
	transition: transform 0.2s ease;
}

.corevix-project-card:hover {
	transform: translateY(-2px);
}

.corevix-project-card__media {
	display: block;
	position: relative;
	aspect-ratio: 1.35 / 1;
	background: #eef2f7;
	border-radius: 22px;
	overflow: hidden;
}

.corevix-project-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}

.corevix-project-card__placeholder {
	height: 100%;
	display: grid;
	place-items: center;
	font-weight: 600;
	color: #64748b;
}

.corevix-project-card__body {
	padding: 0.6rem 0.1rem 0.15rem;
}

.corevix-project-card__title {
	margin: 0;
	font-size: 1.03rem;
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-family: "Inter", sans-serif !important;
}

.corevix-project-card__title a {
	text-decoration: none;
	color: #0f172a;
	font-family: "Inter", sans-serif !important;
}

.corevix-project-card__title span {
	color: #0f172a;
	font-family: "Inter", sans-serif !important;
}

.corevix-project-card__meta {
	margin: 0.3rem 0 0;
	font-size: 1rem;
	color: #6b7280;
	font-family: "Inter", sans-serif !important;
}

.corevix-project-card__count {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: rgba(17, 24, 39, 0.64);
	color: #fff;
	font-weight: 700;
	font-size: 0.86rem;
	line-height: 1;
	backdrop-filter: blur(1px);
}

.corevix-project-card__count svg {
	width: 14px;
	height: 14px;
	fill: currentColor;
}

.corevix-projects-map {
	position: sticky;
	top: 1.1rem;
}

.corevix-projects-mobile-switch {
	display: none;
}

.corevix-projects-map-frame {
	border: 1px solid #dfe3e8;
	border-radius: 12px;
	overflow: hidden;
	background: #f6f7f7;
	min-height: 72vh;
}

.corevix-projects-map-frame {
	height: 100%;
}

.corevix-projects-map-frame iframe {
	display: block;
	width: 100%;
	min-height: 72vh;
}

#corevix-projects-map-canvas {
	width: 100%;
	min-height: 72vh;
}

#corevix-projects-map-canvas .corevix-map-thumb-marker {
	width: 28px;
	height: 28px;
	border-radius: 999px;
	overflow: hidden;
	border: 2px solid #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.24);
	background: #f4f4f5;
}

#corevix-projects-map-canvas .corevix-map-thumb-marker img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#corevix-projects-map-canvas .corevix-leaflet-pin-wrap {
	background: transparent;
	border: 0;
}

#corevix-projects-map-canvas .corevix-leaflet-pin {
	display: block;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	overflow: hidden;
	background: #e5e7eb;
	border: 2px solid #ffffff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.24);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

#corevix-projects-map-canvas .corevix-leaflet-pin img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#corevix-projects-map-canvas .corevix-leaflet-pin-fallback {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(135deg, #111827, #1f2937);
}

#corevix-projects-map-canvas .leaflet-marker-icon.is-active .corevix-leaflet-pin {
	transform: scale(1.12);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

#corevix-projects-map-canvas .corevix-map-popup-card {
	width: 230px;
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 12px 26px rgba(15, 23, 42, 0.22);
}

#corevix-projects-map-canvas .corevix-map-popup__image {
	height: 132px;
	background: #e5e7eb;
}

#corevix-projects-map-canvas .corevix-map-popup__image img,
#corevix-projects-map-canvas .corevix-map-popup__image-fallback {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

#corevix-projects-map-canvas .corevix-map-popup__image-fallback {
	background: linear-gradient(135deg, #111827, #1f2937);
}

#corevix-projects-map-canvas .corevix-map-popup__body {
	padding: 10px 12px 11px;
}

#corevix-projects-map-canvas .corevix-map-popup__title {
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	color: #1f2937;
	font-family: "Inter", sans-serif;
}

#corevix-projects-map-canvas .corevix-map-popup__title a,
#corevix-projects-map-canvas .corevix-map-popup__title span {
	color: inherit;
	text-decoration: none;
	font-family: "Inter", sans-serif;
}

#corevix-projects-map-canvas .corevix-map-popup__date {
	margin-top: 4px;
	font-size: 13px;
	color: #6b7280;
	font-family: "Inter", sans-serif;
	line-height: 1.2;
}

#corevix-projects-map-canvas .leaflet-popup-content-wrapper {
	padding: 0;
	border-radius: 14px;
	background: transparent;
	box-shadow: none;
}

#corevix-projects-map-canvas .leaflet-popup-content {
	margin: 0;
}

#corevix-projects-map-canvas .leaflet-popup-tip-container {
	display: none;
}

#corevix-projects-map-canvas .gm-style .gm-style-iw-c {
	padding: 0 !important;
	border-radius: 14px !important;
	box-shadow: none !important;
}

#corevix-projects-map-canvas .gm-style .gm-style-iw-d {
	overflow: hidden !important;
}

#corevix-projects-map-canvas .gm-style button.gm-ui-hover-effect {
	display: none !important;
}

#corevix-projects-map-canvas .gm-style iframe + div {
	border-radius: 12px;
}

#corevix-projects-map-canvas iframe {
	display: block;
	width: 100%;
	height: 72vh;
}

.corevix-map-controls {
	position: absolute;
	top: 16px;
	right: 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	z-index: 10;
}

.corevix-map-control-btn {
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: #0f172a;
	font-size: 24px;
	line-height: 1;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.22);
	cursor: pointer;
}
@media (min-width: 901px) {
	.corevix-projects-layout {
		--corevix-projects-panel-height: calc(100vh - 245px);
		min-height: var(--corevix-projects-panel-height);
		transition: min-height 220ms ease;
	}

	.corevix-projects-grid {
		max-height: var(--corevix-projects-panel-height);
		overflow-y: auto;
		padding-right: 4px;
		align-content: start;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.corevix-projects-grid::-webkit-scrollbar {
		width: 0;
		height: 0;
	}

	.corevix-projects-map {
		position: sticky;
		top: 1rem;
	}

	.corevix-projects-map-frame,
	#corevix-projects-map-canvas,
	#corevix-projects-map-canvas iframe {
		height: var(--corevix-projects-panel-height);
		min-height: var(--corevix-projects-panel-height);
		transition: height 220ms ease, min-height 220ms ease;
	}

	/* Ensure list + map columns show on desktop (mobile toggle rules are max-width:900 only) */
	.corevix-projects-template:not(.is-mobile-map-view) .corevix-projects-map {
		display: block !important;
	}

	.corevix-projects-template .corevix-projects-left {
		display: block !important;
	}
}
@media (max-width: 1400px) {
	.corevix-projects-layout {
		grid-template-columns: minmax(300px, 36%) minmax(0, 64%);
	}
}

@media (max-width: 1200px) {
	.corevix-projects-layout {
		grid-template-columns: minmax(280px, 40%) minmax(0, 60%);
	}

	.corevix-projects-layout {
		--corevix-projects-panel-height: calc(100vh - 220px);
	}

	.corevix-projects-grid {
		grid-template-columns: 1fr;
	}
}

/* Tablet / mobile — ref Corevix main.css (was missing @media opener; leaked and hid map on desktop) */
@media (max-width: 900px) {
	.single-projects .site-main {
		width: 100%;
		max-width: 100%;
	}

	.corevix-project-single__gallery {
		grid-template-columns: 1fr;
	}

	.corevix-project-single__gallery {
		gap: 0.75rem;
	}

	.corevix-project-slider__track {
		height: 360px;
	}

	.corevix-project-slider__controls {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.corevix-project-slider__jump,
	.corevix-project-slider__btn {
		height: 36px;
		font-size: 0.92rem;
	}

	.corevix-project-lightbox {
		padding: 1.25rem;
	}

	.corevix-project-lightbox__stage {
		width: 100%;
		height: auto;
		max-height: 78vh;
	}

	.corevix-project-lightbox__caption {
		top: 0.75rem;
		font-size: 0.88rem;
	}
	.page-template-page-projects .site-main {
		padding-left: 16px;
		padding-right: 16px;
	}

	.corevix-projects-layout {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.corevix-projects-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.9rem;
	}

	.corevix-project-card {
		height: auto;
		position: relative;
	}

	.corevix-projects-tabs-row {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.corevix-projects-tabs-row::-webkit-scrollbar {
		width: 0;
		height: 0;
	}

	.corevix-projects-tabs {
		flex-wrap: nowrap;
		width: max-content;
		padding-bottom: 2px;
	}

	.corevix-tab-button {
		white-space: nowrap;
	}

	.corevix-project-card__media {
		border-radius: 20px;
	}

	.corevix-project-card__body {
		position: static;
		padding: 0.55rem 0.1rem 0.1rem;
		background: transparent;
	}

	.corevix-project-card__title {
		font-size: 0.95rem;
		color: #0f172a;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		display: block;
		line-clamp: unset;
		-webkit-line-clamp: unset;
		-webkit-box-orient: initial;
		text-shadow: none;
		font-family: "Inter", sans-serif !important;
	}

	.corevix-project-card__title span {
		color: #0f172a;
		font-family: "Inter", sans-serif !important;
	}

	.corevix-project-card__meta {
		margin-top: 0.2rem;
		color: #475569;
		font-size: 0.86rem;
		text-shadow: none;
		font-family: "Inter", sans-serif !important;
	}

	.corevix-projects-template:not(.is-mobile-map-view) .corevix-projects-map {
		display: none;
	}

	.corevix-projects-template.is-mobile-map-view .corevix-projects-left {
		display: none;
	}

	.corevix-projects-template.is-mobile-map-view .corevix-projects-map {
		display: block;
	}

	.corevix-projects-map {
		position: static;
	}

	.corevix-projects-map-frame,
	#corevix-projects-map-canvas,
	#corevix-projects-map-canvas iframe {
		min-height: 74vh;
		height: 74vh;
	}

	.corevix-map-controls {
		top: 12px;
		right: 12px;
		gap: 8px;
	}

	.corevix-map-control-btn {
		width: 36px;
		height: 36px;
		font-size: 21px;
	}

	.corevix-projects-mobile-switch {
		position: fixed;
		left: 50%;
		transform: translateX(-50%);
		bottom: 16px;
		z-index: 35;
		display: inline-flex;
		align-items: center;
		gap: 0.45rem;
		height: 46px;
		padding: 0 1rem;
		border: 0;
		border-radius: 999px;
		background: #fff;
		color: #111827;
		font-size: 1.05rem;
		font-weight: 700;
		box-shadow: 0 8px 24px rgba(15, 23, 42, 0.22);
		cursor: pointer;
	}

	.corevix-projects-mobile-switch__icon {
		font-size: 1rem;
		line-height: 1;
	}

	.corevix-projects-mobile-switch__label {
		line-height: 1;
	}
}
@media (max-width: 640px) {
	.corevix-project-single {
		gap: 1.5rem;
	}

	.corevix-project-single__title {
		font-size: 1.5rem;
	}

	.corevix-project-single__meta-row {
		font-size: 0.86rem;
	}

	.corevix-project-slider__track {
		height: 300px;
	}

	.corevix-project-slider__controls {
		gap: 0.65rem;
	}

	.corevix-project-slider__nav {
		gap: 0.4rem;
	}

	.corevix-project-lightbox__close,
	.corevix-project-lightbox__nav {
		width: 34px;
		height: 34px;
	}

	.page-template-page-projects .site-main {
		padding-left: 12px;
		padding-right: 12px;
	}

	.corevix-project-card__media {
		border-radius: 16px;
	}

	.corevix-project-card__title {
		font-size: 0.95rem;
		font-family: "Inter", sans-serif !important;
	}

	.corevix-project-card__meta {
		font-size: 0.88rem;
		font-family: "Inter", sans-serif !important;
	}

	.corevix-projects-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.corevix-projects-map-frame,
	#corevix-projects-map-canvas,
	#corevix-projects-map-canvas iframe {
		min-height: 68vh;
		height: 68vh;
	}
}
/* Inter — same stack as home-mh-* / header-corevix */
.page-template-page-projects .corevix-projects-template,
.page-template-page-projects .corevix-projects-template h2,
.page-template-page-projects .corevix-projects-template h3,
.page-template-page-projects .corevix-projects-template .corevix-project-card__title,
.page-template-page-projects .corevix-projects-template .corevix-project-card__title span,
.page-template-page-projects .corevix-projects-template p,
.page-template-page-projects .corevix-projects-template a,
.page-template-page-projects .corevix-projects-template button,
.single-projects .corevix-project-single,
.single-projects .corevix-project-single h1,
.single-projects .corevix-project-single h2,
.single-projects .corevix-project-single p,
.single-projects .corevix-project-single a,
.single-projects .corevix-project-single button,
.single-projects .corevix-project-lightbox,
.single-projects .corevix-project-lightbox button {
	font-family: "Inter", sans-serif !important;
}

