/**
 * CTAs + Imagem Component Styles
 * 
 * Componente que exibe texto e imagem lado a lado no desktop,
 * com imagem sempre em cima no mobile.
 */

/* ===== BASE STYLES ===== */
.ctas-imagem {
    width: 100%;
    padding: 80px 0;
    position: relative;
}

/* ===== BACKGROUND COLORS ===== */
.ctas-imagem--bg-branco {
    background-color: var(--neutral-1000);
}

.ctas-imagem--bg-cinza-claro {
    background-color: var(--neutral-800);
}

.ctas-imagem--bg-cinza-escuro {
    background-color: var(--neutral-300);
}

.ctas-imagem--bg-verde {
    background-color: var(--climate-scanner-verde);
}

.ctas-imagem--bg-roxo {
    background-color: var(--climate-scanner-roxo);
}

.ctas-imagem--bg-transparente {
    background-color: transparent;
}

/* ===== CONTENT LAYOUT ===== */
.ctas-imagem__content {
    display: flex;
    align-items: stretch;
    gap: 32px;
    width: 100%;
}

/* ===== INTRO TEXT CONTENT ===== */
.ctas-imagem__text {
    max-width: 630px;
    margin: 0 auto 48px;
}
.ctas-imagem__text h2 {
    text-align: center;
    margin-bottom: 16px;
    font-weight: 600;
    font-size: 40px;
    line-height: var(--heading-1-line-height-large);
    color: var(--neutral-300);
}
.ctas-imagem__description {
    text-align: center;
}


/* ===== CTAS CONTENT ===== */
.ctas-imagem__ctas {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 32px;
    min-width: 0; /* Prevents flex item from overflowing */
}
.ctas-imagem__ctas .btn {
    margin: 0 0;
}

.ctas-imagem__title {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-semibold);
    font-size: var(--heading-2-large);
    line-height: var(--heading-2-line-height-large);
    color: var(--neutral-300);
    margin: 0;
}

/* Title color adjustments for different backgrounds */
.ctas-imagem--bg-verde .ctas-imagem__title,
.ctas-imagem--bg-roxo .ctas-imagem__title {
    color: var(--neutral-90);
}

.ctas-imagem--bg-cinza-escuro .ctas-imagem__title {
    color: var(--neutral-1000);
}

.ctas-imagem__description {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-regular);
    font-size: var(--body-large);
    line-height: var(--body-line-height-large);
    color: var(--neutral-100);
}

/* Description color adjustments for different backgrounds */
.ctas-imagem--bg-verde .ctas-imagem__description,
.ctas-imagem--bg-roxo .ctas-imagem__description {
    color: var(--neutral-90);
}

.ctas-imagem--bg-cinza-escuro .ctas-imagem__description {
    color: var(--neutral-1000);
}

/* ===== IMAGE CONTENT ===== */
.ctas-imagem__image-container {
    flex: 1;
    display: flex;
    align-items: stretch;
    min-width: 0; /* Prevents flex item from overflowing */
}

.ctas-imagem__image-wrapper {
    width: 100%;
    height: 100%;
    border-radius: var(--radius-medium);
    overflow: hidden;
    position: relative;
}

.ctas-imagem__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* ===== IMAGE POSITION VARIATIONS ===== */
.ctas-imagem__content {
    flex-direction: row;
}

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

/* Large screens (1200px and below) */
@media (max-width: 1200px) {
    .ctas-imagem {
        padding: 64px 0;
    }
    
    .ctas-imagem__title {
        font-size: var(--heading-3-large);
        line-height: var(--heading-3-line-height-large);
    }
    
    /* .ctas-imagem__image-wrapper {
        height: 350px;
    } */
}

/* Medium screens (910px and below) */
@media (max-width: 910px) {
    .ctas-imagem {
        padding: 48px 0;
    }
    
    .ctas-imagem__title {
        font-size: var(--heading-4-large);
        line-height: var(--heading-4-line-height-large);
    }
    
    /* .ctas-imagem__image-wrapper {
        height: 300px;
    } */
}

@media (min-width: 769px) {
    .ctas-imagem--img-esquerda .ctas-imagem__ctas {
        order: 2;
    }
    
    .ctas-imagem--img-esquerda .ctas-imagem__image-container {
        order: 1;
    }
    
    .ctas-imagem--img-direita .ctas-imagem__ctas {
        order: 1;
    }
    .ctas-imagem--img-direita .ctas-imagem__image-container {
        order: 2;
    }
}
/* Mobile screens (768px and below) */
@media (max-width: 768px) {
    .ctas-imagem {
        padding: 32px 0;
    }
    
    /* Mobile: always stack vertically with image on top */
    .ctas-imagem__content {
        flex-direction: column;
        gap: 8px;
    }

    .ctas-imagem__text {
        margin: 0 auto 41px;
    }
    .ctas-imagem__text h2 {
        font-size: 23px;
        line-height: 1.45;
    }
    
    .ctas-imagem__ctas {
        order: 2;
        gap: 16px;
        margin-top: 0;
    }
    
    .ctas-imagem__image-container {
        order: 1;
    }
    .ctas-imagem--img-base .ctas-imagem__image-container {
        order: 3;
    }

    .ctas-imagem--img-omitida .ctas-imagem__image-container {
        display: none;
    }

    .ctas-imagem__title {
        font-size: var(--heading-4-small);
        line-height: var(--heading-4-line-height-small);
    }
    
    .ctas-imagem__description {
        font-size: var(--body-small);
        line-height: var(--body-line-height-small);
    }
    
    .ctas-imagem__image-wrapper {
        height: 350px;
    }

    .ctas-imagem__ctas .btn {
        font-size: 12px;
        padding-right: 46px;
    }

    .texto-imagem--bg-verde .texto-imagem__description,
    .texto-imagem--bg-verde .texto-imagem__description p,
    .texto-imagem--bg-verde .texto-imagem__description ul,
    .texto-imagem--bg-verde .texto-imagem__description ol {
        font-weight: 600;
        font-size: 14px;
    }
    
}

/* Small mobile screens (480px and below) */
@media (max-width: 480px) {
    .ctas-imagem {
        padding: 32px 0;
    }
    
    .ctas-imagem__ctas {
        gap: 12px;
    }
    
    .ctas-imagem__title {
        font-size: var(--heading-5-small);
        line-height: var(--heading-5-line-height-small);
    }
    
    .ctas-imagem__description {
        font-size: var(--body-tiny);
        line-height: var(--body-line-height-tiny);
    }
    
    .ctas-imagem__image-wrapper {
        height: 250px;
    }
    
}


/* ===== PRINT STYLES ===== */
@media print {
    .ctas-imagem {
        padding: 20px 0;
        break-inside: avoid;
    }
    
    .ctas-imagem__content {
        flex-direction: column;
        gap: 20px;
    }
}
