/* 
 * Terratorque - Home Carousels & Promo Banner (v1.8.6 - Fix Scroll Jump)
 */

.tt-home-carousel-wrapper { 
    margin: 40px 0 !important; 
    overflow: hidden !important; /* BLINDA CONTRA SCROLL LATERAL */
}

.tt-home-swiper, .tt-promo-swiper, .tt-cat-swiper {
    padding: 40px 10px !important; /* ESPAÇO INTERNO PARA O HOVER */
    overflow: hidden !important; /* VOLTA AO PADRÃO PARA EVITAR SALTOS */
}

/* Esconder Paginación */
.swiper-pagination { display: none !important; }

/* Promo Banner Split (Layout de Elite) */
.tt-promo-banner-split {
    display: grid !important;
    grid-template-columns: 450px 1fr !important;
    background: #fff !important;
    border-radius: 32px !important;
    overflow: hidden !important;
    box-shadow: 0 30px 60px rgba(0,0,0,0.08) !important;
    margin: 60px 0 !important;
    border: 1px solid #e2e8f0 !important;
}

.tt-promo-left {
    background-size: cover !important;
    background-position: center !important;
    padding: 60px 40px !important;
    display: flex !important;
    align-items: center !important;
    color: #fff !important;
    position: relative !important;
}

.tt-promo-intro { position: relative; z-index: 2; }
.tt-promo-tag { background: #e11d48; color: #fff; padding: 5px 15px; border-radius: 50px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; display: inline-block; margin-bottom: 20px; }
.tt-promo-title { font-size: 36px !important; font-weight: 900 !important; line-height: 1.1 !important; margin-bottom: 20px !important; color: #fff !important; }
.tt-promo-desc { font-size: 16px !important; opacity: 0.9 !important; margin-bottom: 30px !important; }

.tt-btn-promo-all {
    display: inline-block !important;
    background: #fff !important;
    color: #0D593C !important;
    padding: 14px 30px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    transition: 0.3s !important;
}
.tt-btn-promo-all:hover { transform: scale(1.05) !important; box-shadow: 0 10px 20px rgba(0,0,0,0.2) !important; }

.tt-promo-right {
    padding: 0 40px !important; /* Reduzido padding vertical pois o swiper já tem */
    background: #f8fafc !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Ajustes Swiper no Banner */
.tt-promo-swiper { padding-bottom: 60px !important; padding-top: 40px !important; }
.tt-promo-nav { position: absolute; bottom: 30px; left: 40px; display: flex; gap: 15px; z-index: 10; }
.tt-promo-nav .swiper-button-next, .tt-promo-nav .swiper-button-prev {
    position: static !important;
    width: 40px !important; height: 40px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50% !important;
    color: #0D593C !important;
    margin: 0 !important;
}
.tt-promo-nav .swiper-button-next:after, .tt-promo-nav .swiper-button-prev:after { font-size: 16px !important; font-weight: 900 !important; }

/* Category Carousel (Home) */
.tt-category-carousel-wrapper { margin: 40px 0 !important; overflow: hidden !important; }
.tt-cat-card-mini { display: block !important; text-decoration: none !important; text-align: center !important; transition: 0.3s !important; }
.tt-cat-mini-img { 
    width: 100% !important; 
    aspect-ratio: 1 / 1 !important; 
    margin: 0 auto 15px !important; 
    border-radius: 16px !important; 
    overflow: hidden !important; 
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
}
.tt-cat-mini-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.tt-cat-card-mini:hover .tt-cat-mini-img { border-color: #0D593C !important; transform: translateY(-5px) !important; box-shadow: 0 15px 30px rgba(13, 89, 60, 0.1) !important; }
.tt-cat-mini-info h3 { font-size: 13px !important; font-weight: 800 !important; color: #1e293b !important; text-transform: uppercase !important; margin: 0 !important; letter-spacing: 0.5px !important; }
.tt-cat-card-mini:hover h3 { color: #0D593C !important; }

@media (max-width: 1024px) {
    .tt-promo-banner-split { grid-template-columns: 1fr !important; }
    .tt-promo-left { padding: 80px 40px !important; text-align: center !important; }
}

/* CARROSSEL DE PARCEIROS */
.tt-parceiros-wrapper {
    padding: 20px 0; /* Menos aire arriba y abajo */
    background: transparent !important;
    border: none !important;
    margin: 10px 0;
}

.tt-partner-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px; /* Altura optimizada para logos de 50px */
}

.tt-partner-logo {
    width: auto;
    height: 50px; /* La Medida de Oro */
    max-width: 160px; /* Ancho máximo para equilibrio de masa */
    transition: all 0.4s ease;
    object-fit: contain;
}

/* MODOS DE COLOR (CONTROLADOS POR ADMIN) */
.tt-logos-grayscale .tt-partner-logo {
    filter: grayscale(1);
    opacity: 0.7;
}

.tt-logos-grayscale .tt-partner-slide:hover .tt-partner-logo {
    filter: grayscale(0);
    opacity: 1;
}

.tt-logos-color .tt-partner-logo {
    filter: grayscale(0);
    opacity: 1;
}

.tt-partner-slide:hover .tt-partner-logo {
    transform: translateY(-5px); /* Cambio scale por translateY para evitar cortes */
}

/* EFECTO MARQUEE LINEAL (FLUIDO) */
.tt-parceiros-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}



