/* ==========================================================================
   CAROSELLO BLOCK - FRONTEND
   Layout: sidebar (contenuta) + slider (esteso a destra fino al bordo)
   ========================================================================== */

.s4w-carosello {
    width: 100%;
    padding: var(--spacing-5xl) 0;
    overflow: hidden;
}

/* Wrapper principale - extended right layout */
.s4w-carosello__wrapper {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.s4w-carosello__sidebar {
    width: 34%;
    margin-bottom: var(--spacing-3xl);
}

.s4w-carosello__content {
    display: flex;
    flex-direction: column;
  
}

.s4w-carosello__content .s4w-carosello__label {
    margin-bottom: 10px;
	text-transform: uppercase;
}
.s4w-carosello__content .s4w-carosello__label .label-medium.text-main-900.uppercase {
    color: var(--text-main-900);
    text-transform: uppercase !important;
}	

.s4w-carosello__slider-wrapper {
    width: 62%;
}

@media (max-width: 768px) {

    .s4w-carosello {
        padding: 64px 0;
    }

    .s4w-carosello__sidebar,
    .s4w-carosello__slider-wrapper {
        width: 100%;
    }
}

/**************************/
.s4w-carosello__title, .s4w-carosello__text {
    margin-bottom: var(--spacing-xl);
}
.s4w-carosello__title {
    text-transform: none !important;
}
.s4w-carosello__filters {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0 !important;

}
.btn.btn--base.s4w-carosello__filter, .btn.btn--outline.s4w-carosello__filter  {
	  border: 2px solid var(--stroke-strong-900) !important;
}
/**************************/

/* Slide nascosta dai filtri */
.s4w-carosello__slide.is-hidden {
	display: none;
}

.s4w-carosello__card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.s4w-carosello__card-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.s4w-carosello__card-image {
    margin-bottom: var(--spacing-lg);
    aspect-ratio: 1 / 1;
    position: relative;
    width: 100%;
}
.s4w-carosello__card-image  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.s4w-carosello__card-image[data-drawer-id] {
    cursor: pointer;
}
.s4w-carosello__card-label {
    margin: 0;
}

.s4w-carosello__card-label span {
    color: var(--text-main-900);
    font-feature-settings: 'liga' off, 'calt' off;
    font-family: var(--font-primary);
    font-size: 14px;
    font-style: normal;
    font-weight: var(--weight-book);
    line-height: 20px;
    letter-spacing: 0.56px;
    text-transform: uppercase;
}

.s4w-carosello__card-title {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--text-main-900);
}

/* Stile specifico per il titolo della card - classe utility */
.s4w-carosello__card-title .card-title-medium {
    font-family: var(--font-primary);
    font-size: 24px;
    font-style: normal;
    font-weight: var(--weight-regular);
    line-height: 115%; /* 27.6px */
}
.s4w-carosello__card-link {
    margin: 0;
}

/* ====================
   CONTROLLI NAVIGAZIONE
==================== */

.s4w-carosello__controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-top: var(--spacing-2xl);
    padding-right: var(--spacing-md);
}

/* ====================
   PAGINATION (Bullets custom a barretta)
==================== */

.s4w-carosello__controls .swiper-pagination {
	position: relative;
	display: flex;
	gap: 8px;
	align-items: center;
	align-self: center;
	max-width: 80%;
	bottom: auto;
	left: auto;
	transform: none;
}

/* Singolo bullet (barretta) */
.s4w-carosello__controls .swiper-pagination-bullet {
	width: 80px;
	height: 3px;
	background: rgba(10, 13, 20, 0.2);
	border-radius: 0;
	opacity: 1;
	margin: 0;
	transition: background var(--transition-normal);
}

/* Bullet attivo */
.s4w-carosello__controls .swiper-pagination-bullet-active {
	background: var(--text-main-900);
}

/* ====================
   FRECCE
==================== */

.s4w-carosello__arrows {
	display: flex;
	gap: 16px;
	flex-shrink: 0;
}

.s4w-carosello__arrow {
	width: var(--spacing-2xl);
	height: var(--spacing-2xl);
	background: transparent;
	border: none;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity var(--transition-fast);
}



.s4w-carosello__arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}

.s4w-carosello__arrow svg path {
	fill: var(--text-main-900);
	transition: fill var(--transition-fast);
}

/* Freccia sinistra - rotazione */
.s4w-carosello__arrow--prev svg {
	transform: rotate(180deg);
}

/* Hover */
.s4w-carosello__arrow:hover:not(.swiper-button-disabled) {
	opacity: 0.7;
}

/* Disabled state */
.s4w-carosello__arrow.swiper-button-disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

/* ====================
   RESPONSIVE
==================== */

@media (max-width: 768px) {
	.s4w-carosello__controls {
		margin-top: var(--spacing-lg);
	}

	.s4w-carosello__controls .swiper-pagination {
		gap: 3px;
        max-width: 70%;
	}

	.s4w-carosello__controls .swiper-pagination-bullet {
		width: 40px;
		height: 2px;
	}

	.s4w-carosello__arrows {
		gap: 15px;
	}

	.s4w-carosello__arrow {
		width: 28px;
		height: 28px;
	}
}