/* ================================================================
   ESG Featured Stores Carousel
   ================================================================ */

.esg-carousel-wrapper {
    position: relative;
    padding: 0 40px;
}

/* ================================================================
   SWIPER OVERRIDES
   ================================================================ */

/* Spazio per le frecce laterali */
.esg-carousel-wrapper {
    position: relative;
    padding: 0 50px; /* Aumenta se le frecce sono ancora sovrapposte */
}



.esg-featured-swiper {
    padding-bottom: 50px !important; /* Spazio per pagination dots */
}

/* Frecce fuori dal carosello */
.esg-swiper-prev,
.esg-swiper-next {
    color: #154279 !important;
    width: 36px !important;
    height: 36px !important;
    top: 50% !important;
    transform: translateY( -50% ) !important;
}

.esg-swiper-prev::after,
.esg-swiper-next::after {
    font-size: 18px !important;
    font-weight: 700;
}

.esg-swiper-prev {
    left: 0 !important;
}

.esg-swiper-next {
    right: 0 !important;
}

/* Pagination dots */
.esg-swiper-pagination .swiper-pagination-bullet {
    background: #154279;
    opacity: 0.3;
}

.esg-swiper-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    background: #48C8EF;
}

/* ================================================================
   CARD
   ================================================================ */



.esg-store-card {
    height: auto !important;
    border: 1px solid #e8e8e8;
	background: #ffffff;
}

/* Logo */
.esg-card__logo {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.esg-card__logo img {
    max-width: 100%;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Placeholder logo se mancante */
.esg-card__logo-placeholder {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: linear-gradient( 45deg, #154279, #48C8EF );
    display: flex;
    align-items: center;
    justify-content: center;
}

.esg-card__logo-placeholder span {
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
}

/* Body */
.esg-card__body {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Settore badge */
.esg-card__settore {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #154279;
    padding: 3px 10px;
    border: 1px solid #154279;
    border-radius: 3px;
    align-self: flex-start;
}

/* Nome azienda */
.esg-card__name {
    font-size: 16px;
    font-weight: 700;
    color: #154279;
    margin: 0;
    line-height: 1.3;
}

/* Descrizione */
.esg-card__description {
    font-size: 13px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* Footer card con pulsante */
.esg-card__footer {
    padding: 15px 20px;
    border-top: 1px solid #f0f0f0;
}

.esg-card__btn {
    display: inline-block;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 600;
    background: linear-gradient( 45deg, #154279, #48C8EF );
    color: #fff;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: opacity 0.3s ease;
}

.esg-card__link:hover .esg-card__btn {
    opacity: 0.9;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media screen and (max-width: 768px) {
    .esg-carousel-wrapper {
        padding: 0 30px;
    }
}

@media screen and (max-width: 480px) {
    .esg-carousel-wrapper {
        padding: 0 25px;
    }

    .esg-card__logo {
        height: 100px;
    }
}
