/**
 * Frontend styles for Friburgo Depoimentos
 * 3-card sliding testimonial carousel
 */

/* ==================== ELEMENTOR COMPAT ==================== */
.elementor-shortcode:has(.fdt-slider-container),
.elementor-widget-shortcode:has(.fdt-slider-container) {
    display: block !important;
    width: 100% !important;
}

/* ==================== CONTAINER ==================== */
.fdt-slider-container {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

.fdt-slider-container *,
.fdt-slider-container *::before,
.fdt-slider-container *::after {
    box-sizing: border-box !important;
}

/* ==================== VIEWPORT (clipping area) ==================== */
.fdt-slider-viewport {
    overflow: hidden !important;
    width: 100% !important;
    position: relative !important;
    padding: 10px 0 !important;
}

/* ==================== TRACK (sliding flex row) ==================== */
.fdt-slider-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 16px !important;
    transition: transform 0.5s ease !important;
}

.fdt-slider-track.fdt-no-transition {
    transition: none !important;
}

/* ==================== INDIVIDUAL SLIDE ==================== */
.fdt-slide {
    /* Each slide = 1/3 of viewport minus gaps: (100% - 2*16px) / 3 */
    flex: 0 0 calc((100% - 32px) / 3) !important;
    min-width: 0 !important;
    display: block !important;
    transition: transform 0.5s ease, opacity 0.5s ease !important;
    transform-origin: center center !important;
}

/* Inactive slides: slightly smaller */
.fdt-slide:not(.fdt-slide-active) {
    transform: scale(0.95) !important;
}

/* Active slide: slightly larger */
.fdt-slide.fdt-slide-active {
    transform: scale(1.02) !important;
}

/* ==================== CARD BASE (inactive state) ==================== */
.fdt-card {
    background: #F0EDC7 !important;
    border-radius: 17px !important;
    padding: 32px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 32px !important;
    /* Portrait: height > width */
    min-height: 420px !important;
    height: 100% !important;
    transition: background-color 0.5s ease !important;
}

.fdt-card-text {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 300 !important;
    font-size: 20px !important;
    line-height: 28px !important;
    color: #006140 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: color 0.5s ease !important;
}

.fdt-card-author {
    display: flex !important;
    flex-direction: column !important;
}

.fdt-card-name {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 600 !important;
    font-size: 24px !important;
    line-height: 32px !important;
    color: #006140 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: color 0.5s ease !important;
}

.fdt-card-description {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    color: #006140 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: color 0.5s ease !important;
}

/* ==================== CARD ACTIVE STATE ==================== */
.fdt-slide-active .fdt-card {
    background: #E87817 !important;
}

.fdt-slide-active .fdt-card-text {
    color: #fff !important;
}

.fdt-slide-active .fdt-card-name {
    color: #fff !important;
}

.fdt-slide-active .fdt-card-description {
    color: #fff !important;
}

/* ==================== RESPONSIVE: MOBILE ==================== */
@media screen and (max-width: 768px) {
    /* 1 card por vez, mesma largura visual do desktop (~full screen width) */
    .fdt-slide {
        flex: 0 0 100% !important;
    }

    .fdt-slide:not(.fdt-slide-active) {
        transform: scale(0.95) !important;
    }

    .fdt-slide.fdt-slide-active {
        transform: scale(1) !important;
    }

    .fdt-card {
        min-height: 350px !important;
        padding: 24px 16px !important;
        gap: 20px !important;
    }

    .fdt-card-text {
        font-size: 16px !important;
        line-height: 24px !important;
    }

    .fdt-card-name {
        font-size: 20px !important;
        line-height: 28px !important;
    }

    .fdt-card-description {
        font-size: 14px !important;
        line-height: 20px !important;
    }
}
