/**
 * arrows.css - one class for every carousel / slider arrow on the site.
 *
 * Use `.adn-arrow` on any new arrow button:
 *     <button class="adn-arrow adn-arrow--prev">...</button>
 *
 * The older per-carousel classes are listed alongside it so they inherit the
 * same look without touching their markup. Only placement (left/right/top)
 * stays in each carousel's own stylesheet - everything visual lives here.
 *
 * Loaded last so it is the single source of truth: no carousel can drift.
 */

.adn-arrow,
.jny-arrow,
.guides-carousel-btn,
.res-carousel__btn,
.rvc-carousel__btn,
.cgt-arrow {
	/* box */
	width: var(--arrow-size, 40px);
	height: var(--arrow-size, 40px);
	min-width: var(--arrow-size, 40px);
	padding: 0;
	border-radius: 50%;
	box-sizing: border-box;

	/* skin */
	background: var(--arrow-bg, #fff);
	color: var(--arrow-fg, #203c3e);
	border: var(--arrow-border, 1px solid rgba(0, 0, 0, .08));
	box-shadow: var(--arrow-shadow, 0 3px 14px rgba(0, 0, 0, .14));

	/* contents */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--arrow-icon, 1rem);
	line-height: 1;

	cursor: pointer;
	transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.adn-arrow svg,
.jny-arrow svg,
.guides-carousel-btn svg,
.res-carousel__btn svg,
.rvc-carousel__btn svg,
.cgt-arrow svg {
	width: 1em;
	height: 1em;
	display: block;
}

.adn-arrow:hover,
.jny-arrow:hover,
.guides-carousel-btn:hover,
.res-carousel__btn:hover,
.rvc-carousel__btn:hover,
.cgt-arrow:hover {
	background: var(--arrow-fg, #203c3e);
	color: var(--arrow-bg, #fff);
	box-shadow: 0 5px 18px rgba(0, 0, 0, .2);
}

.adn-arrow:focus-visible,
.jny-arrow:focus-visible,
.guides-carousel-btn:focus-visible,
.res-carousel__btn:focus-visible,
.rvc-carousel__btn:focus-visible,
.cgt-arrow:focus-visible {
	outline: 2px solid var(--arrow-fg, #203c3e);
	outline-offset: 2px;
}

.adn-arrow:disabled,
.adn-arrow[aria-disabled="true"],
.jny-arrow:disabled,
.guides-carousel-btn:disabled,
.res-carousel__btn:disabled,
.rvc-carousel__btn:disabled,
.cgt-arrow:disabled {
	opacity: .4;
	cursor: not-allowed;
	box-shadow: none;
}

.adn-arrow[hidden],
.jny-arrow[hidden],
.guides-carousel-btn[hidden],
.res-carousel__btn[hidden],
.rvc-carousel__btn[hidden],
.cgt-arrow[hidden] { display: none !important; }

/* a smaller variant where space is tight, still from the same class */
.adn-arrow--sm { --arrow-size: 32px; --arrow-icon: .85rem; }
.adn-arrow--lg { --arrow-size: 48px; --arrow-icon: 1.15rem; }

@media (prefers-reduced-motion: reduce) {
	.adn-arrow,
	.jny-arrow,
	.guides-carousel-btn,
	.res-carousel__btn,
	.rvc-carousel__btn,
	.cgt-arrow { transition: none; }
}

/* ── Universal Drag-to-Scroll Support for Carousels ── */
.adn-drag-track {
	cursor: grab;
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
}
.adn-drag-track.is-dragging {
	cursor: grabbing !important;
	scroll-behavior: auto !important;
	scroll-snap-type: none !important;
}
.adn-drag-track.is-dragging * {
	user-select: none !important;
	-webkit-user-select: none !important;
	pointer-events: none !important;
}
.adn-drag-track a,
.adn-drag-track img {
	-webkit-user-drag: none;
	user-drag: none;
}

