.ptah-cc {
	--ptah-cc-per-view: 5.5;
	--ptah-cc-gap: 24px;
	position: relative;
	width: 100%;
}

/* Encabezado */
.ptah-cc__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.ptah-cc__title {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: #2B3A8C;
}

.ptah-cc__arrows {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}

.ptah-cc__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid #2B3A8C;
	border-radius: 50%;
	background: transparent;
	color: #2B3A8C;
	cursor: pointer;
	transition: background-color .2s, color .2s, opacity .2s;
}

.ptah-cc__arrow:disabled {
	opacity: .3;
	cursor: default;
}

.ptah-cc__arrow:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Pista del carrusel */
.ptah-cc__track {
	display: flex;
	gap: var(--ptah-cc-gap);
	margin: 0;
	padding: 0 0 4px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.ptah-cc__track::-webkit-scrollbar {
	display: none;
}

.ptah-cc__track:focus-visible {
	outline: 2px solid #2B3A8C;
	outline-offset: 4px;
}

.ptah-cc__slide {
	flex: 0 0 calc((100% - (var(--ptah-cc-gap) * (var(--ptah-cc-per-view) - 1))) / var(--ptah-cc-per-view));
	min-width: 0;
	margin: 0;
	padding: 0;
	scroll-snap-align: start;
}

/* Tarjeta */
.ptah-cc__card {
	display: block;
	color: inherit;
	text-decoration: none;
}

.ptah-cc__card:focus-visible {
	outline: 2px solid #2B3A8C;
	outline-offset: 3px;
}

.ptah-cc__media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #F2F2F2;
}

.ptah-cc__media .ptah-cc__img,
.ptah-cc__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .35s ease;
}

.ptah-cc__card:hover .ptah-cc__img {
	transform: scale(1.04);
}

.ptah-cc__name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin-top: 12px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: #333;
	transition: color .2s;
}

.ptah-cc__empty {
	margin: 0;
	color: #666;
}

@media (prefers-reduced-motion: reduce) {
	.ptah-cc__track { scroll-behavior: auto; }
	.ptah-cc__img,
	.ptah-cc__arrow,
	.ptah-cc__name { transition: none; }
	.ptah-cc__card:hover .ptah-cc__img { transform: none; }
}
