/* PEVŠ Karusel — CSS scroll-snap karusel (bez Swipera).
   Karty: Osoba (fotka + meno + podtitul), Logo (jednotný box), Elementor šablóna. */

.pevs-car {
	--pevs-car-n: 3;
	--pevs-car-gap: 24px;
	--pevs-car-photo: 180px;
	--pevs-car-photo-bg: var(--pevs-silver-divider, #e9eaec);
	--pevs-car-photo-radius: 16px;
	--pevs-car-logo-h: 80px;
	--pevs-car-logo-bg: transparent;
	--pevs-car-logo-pad: 16px;
	--pevs-car-radius: 12px;
	--pevs-car-title: var(--pevs-dark, #03245b);
	--pevs-car-title-hover: var(--pevs-orange, #f25116);
	--pevs-car-title-size: 22px;
	--pevs-car-sub: var(--pevs-dark, #03245b);
	--pevs-car-sub-size: 15px;
	--pevs-car-align: center;
	--pevs-car-arrow: 44px;
	--pevs-car-arrow-off: 12px;
	--pevs-car-arrow-color: var(--pevs-dark, #03245b);
	--pevs-car-arrow-bg: transparent;
	--pevs-car-arrow-hover-bg: var(--pevs-silver, #f2f3f5);
	--pevs-car-dot: #c9ccd3;
	--pevs-car-dot-active: var(--pevs-dark, #03245b);

	position: relative;
	box-sizing: border-box;
}

.pevs-car *,
.pevs-car *::before,
.pevs-car *::after {
	box-sizing: border-box;
}

/* Viewport — natívny horizontálny scroll so snapom, skrytý scrollbar */
.pevs-car .pevs-car__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	outline: none;
	cursor: grab;
}

.pevs-car .pevs-car__viewport::-webkit-scrollbar {
	display: none;
}

.pevs-car .pevs-car__viewport:focus-visible {
	outline: 2px solid var(--pevs-car-arrow-color);
	outline-offset: 4px;
}

.pevs-car .pevs-car__viewport.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
}

.pevs-car .pevs-car__track {
	display: flex;
	gap: var(--pevs-car-gap);
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: stretch;
}

.pevs-car .pevs-car__slide {
	flex: 0 0 calc((100% - var(--pevs-car-gap) * (var(--pevs-car-n) - 1)) / var(--pevs-car-n));
	min-width: 0;
	margin: 0;
	padding: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	display: flex;
}

.pevs-car .pevs-car__slide > * {
	width: 100%;
}

/* Pri ťahaní myšou nech odkazy neťahajú obrázky / nespúšťajú klik */
.pevs-car .pevs-car__viewport.is-dragging a,
.pevs-car .pevs-car__viewport.is-dragging img {
	pointer-events: none;
	-webkit-user-drag: none;
	user-select: none;
}

/* ---------- Karta: spoločné ---------- */

.pevs-car .pevs-car__card {
	display: flex;
	flex-direction: column;
	align-items: var(--pevs-car-items, center);
	text-align: var(--pevs-car-align);
	text-decoration: none !important;
	color: var(--pevs-car-title) !important;
	height: 100%;
	position: relative; /* kotva pre .pevs-car__sr — inak by absolútny span trčal mimo viewportu a robil overflow stránky */
}

.pevs-car .pevs-car__title {
	margin: 16px 0 0;
	font-size: var(--pevs-car-title-size);
	font-weight: 700;
	line-height: 1.3;
	color: var(--pevs-car-title);
	transition: color 0.18s ease;
}

.pevs-car a.pevs-car__card:hover .pevs-car__title,
.pevs-car a.pevs-car__card:focus-visible .pevs-car__title {
	color: var(--pevs-car-title-hover);
}

.pevs-car .pevs-car__sub {
	display: block;
	margin-top: 6px;
	font-size: var(--pevs-car-sub-size);
	line-height: 1.5;
	color: var(--pevs-car-sub);
}

.pevs-car .pevs-car__sub .zam-pozicia {
	display: block;
}

.pevs-car .pevs-car__sr {
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---------- Karta: Osoba ---------- */

.pevs-car .pevs-car__photo {
	display: block;
	flex: 0 0 auto;
	width: var(--pevs-car-photo);
	height: var(--pevs-car-photo);
	border-radius: var(--pevs-car-photo-radius);
	background: var(--pevs-car-photo-bg);
	overflow: hidden;
	color: #c9ccd3; /* farba siluety */
}

.pevs-car--photo-fill .pevs-car__photo {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
}

.pevs-car .pevs-car__photo img,
.pevs-car .pevs-car__photo .pevs-car__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.pevs-car .pevs-car__photo img {
	transition: transform 0.3s ease;
}

.pevs-car a.pevs-car__card:hover .pevs-car__photo img {
	transform: scale(1.03);
}

/* ---------- Karta: Logo — každé logo v rovnakom boxe ---------- */

.pevs-car .pevs-car__card--logo {
	justify-content: center;
	padding: var(--pevs-car-logo-pad);
	background: var(--pevs-car-logo-bg);
	border-radius: var(--pevs-car-radius);
}

.pevs-car .pevs-car__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: var(--pevs-car-logo-h);
}

.pevs-car .pevs-car__logo img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.pevs-car--gray .pevs-car__logo img {
	filter: grayscale(1);
	opacity: 0.75;
}

.pevs-car--gray a.pevs-car__card:hover .pevs-car__logo img,
.pevs-car--gray a.pevs-car__card:focus-visible .pevs-car__logo img {
	filter: none;
	opacity: 1;
}

/* ---------- Šípky ---------- */

.pevs-car .pevs-car__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--pevs-car-arrow);
	height: var(--pevs-car-arrow);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--pevs-car-arrow-bg);
	color: var(--pevs-car-arrow-color);
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color 0.18s ease, opacity 0.18s ease;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
	line-height: 0;
}

.pevs-car .pevs-car__arrow svg {
	width: 60%;
	height: 60%;
	display: block;
}

.pevs-car .pevs-car__arrow:hover,
.pevs-car .pevs-car__arrow:focus-visible {
	background: var(--pevs-car-arrow-hover-bg);
	color: var(--pevs-car-arrow-color);
}

.pevs-car .pevs-car__arrow[disabled] {
	opacity: 0.3;
	cursor: default;
}

/* mimo karuselu — miesto na šípky je REZERVOVANÉ paddingom widgetu,
   takže nič netrčí von a stránka nemá horizontálny overflow */
.pevs-car--arrows-outside {
	padding-left: calc(var(--pevs-car-arrow) + var(--pevs-car-arrow-off));
	padding-right: calc(var(--pevs-car-arrow) + var(--pevs-car-arrow-off));
}

.pevs-car--arrows-outside .pevs-car__arrow--prev {
	left: 0;
}

.pevs-car--arrows-outside .pevs-car__arrow--next {
	right: 0;
}

/* mimo karuselu, prečnievajúce — vysunuté do gutteru nadradeného containera.
   Použiť len tam, kde má container po bokoch dosť miesta (inak overflow). */
.pevs-car--arrows-overflow .pevs-car__arrow--prev {
	left: calc(-1 * (var(--pevs-car-arrow) + var(--pevs-car-arrow-off)));
}

.pevs-car--arrows-overflow .pevs-car__arrow--next {
	right: calc(-1 * (var(--pevs-car-arrow) + var(--pevs-car-arrow-off)));
}

/* cez okraje */
.pevs-car--arrows-inside .pevs-car__arrow--prev {
	left: var(--pevs-car-arrow-off);
}

.pevs-car--arrows-inside .pevs-car__arrow--next {
	right: var(--pevs-car-arrow-off);
}

/* pod karuselom */
.pevs-car--arrows-below {
	padding-bottom: calc(var(--pevs-car-arrow) + 16px);
}

.pevs-car--arrows-below .pevs-car__arrow {
	top: auto;
	bottom: 0;
	transform: none;
}

.pevs-car--arrows-below .pevs-car__arrow--prev {
	left: calc(50% - var(--pevs-car-arrow) - 8px);
}

.pevs-car--arrows-below .pevs-car__arrow--next {
	right: calc(50% - var(--pevs-car-arrow) - 8px);
}

/* Na mobile sa šípky „mimo" nezmestia — presunúť pod karusel */
@media (max-width: 767px) {
	.pevs-car--arrows-outside,
	.pevs-car--arrows-overflow {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: calc(var(--pevs-car-arrow) + 16px);
	}

	.pevs-car--arrows-outside .pevs-car__arrow,
	.pevs-car--arrows-overflow .pevs-car__arrow {
		top: auto;
		bottom: 0;
		transform: none;
	}

	.pevs-car--arrows-outside .pevs-car__arrow--prev,
	.pevs-car--arrows-overflow .pevs-car__arrow--prev {
		left: calc(50% - var(--pevs-car-arrow) - 8px);
	}

	.pevs-car--arrows-outside .pevs-car__arrow--next,
	.pevs-car--arrows-overflow .pevs-car__arrow--next {
		right: calc(50% - var(--pevs-car-arrow) - 8px);
	}
}

/* ---------- Bodky ---------- */

.pevs-car .pevs-car__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
}

.pevs-car .pevs-car__dots:empty {
	display: none;
}

.pevs-car .pevs-car__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--pevs-car-dot);
	cursor: pointer;
	transition: background-color 0.18s ease, transform 0.18s ease;
	-webkit-appearance: none;
	appearance: none;
}

.pevs-car .pevs-car__dot.is-active {
	background: var(--pevs-car-dot-active);
	transform: scale(1.25);
}

/* ---------- Editor / prázdny stav ---------- */

.pevs-car__empty {
	padding: 16px;
	background: #fff6f2;
	border: 1px dashed var(--pevs-orange, #f25116);
	border-radius: 8px;
	color: var(--pevs-dark, #03245b);
	font-size: 14px;
}

@media (prefers-reduced-motion: reduce) {
	.pevs-car .pevs-car__viewport {
		scroll-behavior: auto;
	}
	.pevs-car .pevs-car__photo img,
	.pevs-car .pevs-car__arrow,
	.pevs-car .pevs-car__dot {
		transition: none;
	}
}
