/* AWB Overflow Carousel — styly
 * Barvy lze přepsat na kontejneru, např.:
 *   .fusion-fullwidth.cont__auto-carousel { --cont-carousel-accent: #1a7f6b; }
 */

.cont__auto-carousel {
	--cont-carousel-accent: #1a1a1a;          /* aktivní tečka / hover šipky */
	--cont-carousel-btn-bg: var(--awb-color2);          /* pozadí šipek */
	--cont-carousel-btn-bg-hover: var(--awb-color3);
	--cont-carousel-dot: var(--awb-color4);             /* neaktivní tečka */
	--cont-carousel-btn-size: 48px;
}

/* Okno, které ořezává přesahující slidy. */
.cont__auto-carousel .cont__carousel-viewport {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	cursor: grab;
	touch-action: pan-y;             /* svislé scrollování stránky zůstává */
	-webkit-user-select: none;
	user-select: none;
}

.cont__auto-carousel .cont__carousel-viewport.is-dragging {
	cursor: grabbing;
}

/* Posuvná lišta se slidy. */
.cont__auto-carousel .cont__carousel-track {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: transform;
}

/* Jednotlivý slide (původní Avada sloupec) si drží naměřenou šířku. */
.cont__auto-carousel .cont__carousel-slide {
	flex-shrink: 0;
}
.cont__auto-carousel .cont__carousel-slide img {
	pointer-events: none;            /* aby tažení nezačalo "drag image" */
}

/* Ovládání pod slidy. */
.cont__auto-carousel .cont__carousel-controls {
	flex: 0 0 100%;
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding: 0 8px;
}

.cont__auto-carousel .cont__carousel-arrow {
	flex: 0 0 auto;
	width: var(--cont-carousel-btn-size);
	height: var(--cont-carousel-btn-size);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	border: 0;
	background: var(--cont-carousel-btn-bg);
	color: var(--awb-color8);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.cont__auto-carousel .cont__carousel-arrow:hover {
	background: var(--cont-carousel-btn-bg-hover);
}

.cont__auto-carousel .cont__carousel-arrow:focus-visible {
	outline: 2px solid var(--cont-carousel-accent);
	outline-offset: 2px;
}

.cont__auto-carousel .cont__carousel-arrow[disabled] {
	opacity: 0.35;
	cursor: default;
}

.cont__auto-carousel .cont__carousel-arrow svg {
	display: block;
}

/* Tečky uprostřed. */
.cont__auto-carousel .cont__carousel-dots {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.cont__auto-carousel .cont__carousel-dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--cont-carousel-dot);
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.cont__auto-carousel .cont__carousel-dot:hover {
	background: #b3b3b3;
}

.cont__auto-carousel .cont__carousel-dot.is-active {
	background: var(--cont-carousel-accent);
}

.cont__auto-carousel .cont__carousel-dot:focus-visible {
	outline: 2px solid var(--cont-carousel-accent);
	outline-offset: 2px;
}
