/* Antes de Freematica Roles Component - Mobile First */
/* Basado en el diseño de Figma "Section - Problem solution" */

/* Base Styles - Mobile */
.dh-antes-freematica-roles {
    width: 100%;
    background: var(--primary-white);
}

.dh-antes-freematica-roles__container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 0;
    margin: 0 auto;
    position: relative;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Imagen */
.dh-antes-freematica-roles__image-wrapper {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: auto;
    flex-shrink: 0;
    border-radius: 30px;
}

.dh-antes-freematica-roles__image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.dh-antes-freematica-roles__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 30px;
}

/* Contenido */
.dh-antes-freematica-roles__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
    width: 100%;
}

.dh-antes-freematica-roles__text-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
    width: 100%;
}

/* Badge / Overline */
.dh-antes-freematica-roles__overline {
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    padding: 5px;
    box-sizing: border-box;
    flex-shrink: 0;
}

.dh-antes-freematica-roles__overline p {
    color: var(--primary-red-100);
    font-family: 'Lato', sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1.44px;
    margin: 0;
    white-space: nowrap;
}

/* Título */
.dh-antes-freematica-roles__title {
    color: var(--primary-black-100);
    font-family: 'Lato', sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.16;
    /* 116% */
    margin: 0;
    padding: 0;
    text-align: left;
    min-width: 0;

    /*white-space: pre-wrap;*/
    position: relative;
    flex-shrink: 0;
}

/* Texto introductorio */
.dh-antes-freematica-roles__intro-text {
    color: var(--primary-black-100);
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.32;
    /* 132% */
    margin: 0;
    padding: 0;
    text-align: left;
    min-width: 0;

    /*white-space: pre-wrap;*/
    position: relative;
    flex-shrink: 0;
}

/* Lista de problemas */
.dh-antes-freematica-roles__problems {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    width: 100%;
    margin-top: 0;
}

.dh-antes-freematica-roles__problem-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
    width: 100%;
}

.dh-antes-freematica-roles__problem-header {
    display: flex;
    gap: 4px;
    align-items: center;
    width: 100%;
}

.dh-antes-freematica-roles__problem-icon {
    flex-shrink: 0;
    width: 21px;
    height: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px;
    box-sizing: border-box;
}

.dh-antes-freematica-roles__problem-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.dh-antes-freematica-roles__problem-title {
    color: var(--primary-black-100);
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.32;
    /* 132% */
    margin: 0;
    padding: 0;
    flex: 1 0 0;
    min-width: 0;
    /*white-space: pre-wrap;*/
    text-align: left;
}

.dh-antes-freematica-roles__problem-description {
    color: var(--primary-black-100);
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.32;
    /* 132% */
    margin: 0;
    /* Align with title: 21px icon + 4px gap = 25px */
    padding: 0 5px 0 25px;
    text-align: left;
    flex: 1 0 0;
    min-width: 0;
    /*white-space: pre-wrap;*/
}

/* Divider */
.dh-antes-freematica-roles__divider {
    width: 100%;
    height: 1px;
    background: transparent;
    border: none;
    margin: 0;
    padding: 0;
    position: relative;
    flex-shrink: 0;
}

.dh-antes-freematica-roles__divider::after {
    content: '';
    position: absolute;
    top: -0.5px;
    left: 0;
    right: 0;
    bottom: -0.5px;
    background: #E5E5E5;
    height: 1px;
}

/* Tablet Styles */
@media (min-width: 768px) {
    .dh-antes-freematica-roles__container {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 60px 0;
        max-width: 100%;
    }

    .dh-antes-freematica-roles__image-wrapper {
        width: 100%;
        /*max-width: 590px;*/
        height: auto;
        flex-shrink: 0;
    }

    .dh-antes-freematica-roles__image {
        width: 100%;
        height: auto;
    }

    .dh-antes-freematica-roles__image img {
        width: 100%;
        height: auto;
        object-fit: cover;
        border-radius: 40px;
    }

    .dh-antes-freematica-roles__content {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 0;
        gap: 24px;
    }

    .dh-antes-freematica-roles__text-block {
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
        width: 100%;
    }

    .dh-antes-freematica-roles__title {
        font-size: 32px;
    }
}

/* Desktop Styles - Intermedio (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .dh-antes-freematica-roles__container {
        flex-direction: row;
        align-items: center;
        gap: 40px;
        padding: 60px 0;
        max-width: 100%;
    }

    .dh-antes-freematica-roles__image-wrapper {
        flex: 0 0 auto;
        width: 45%;
        max-width: 500px;
        height: auto;
        aspect-ratio: 590 / 663;
        flex-shrink: 0;
    }

    .dh-antes-freematica-roles__image {
        width: 100%;
        height: 100%;
    }

    .dh-antes-freematica-roles__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 40px;
    }

    .dh-antes-freematica-roles__content {
        flex: 1 0 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 0;
        gap: 24px;
        min-height: 0;
        min-width: 0;
    }

    .dh-antes-freematica-roles__text-block {
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
        width: 100%;
    }

    .dh-antes-freematica-roles__title {
        font-size: 32px;
    }
}

/* Desktop Styles - Grande (1200px+) */
@media (min-width: 1200px) {
    .dh-antes-freematica-roles__container {
        flex-direction: row;
        align-items: center;
        gap: 60px;
        padding: 60px 0;
        max-width: 1440px;
    }

    .dh-antes-freematica-roles__image-wrapper {
        flex: 0 0 auto;
        width: 590px;
        height: 663px;
        flex-shrink: 0;
    }

    .dh-antes-freematica-roles__image {
        width: 100%;
        height: 100%;
    }

    .dh-antes-freematica-roles__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 40px;
    }

    .dh-antes-freematica-roles__content {
        flex: 1 0 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 40px 0;
        gap: 24px;
        min-height: 0;
    }

    .dh-antes-freematica-roles__text-block {
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
        width: 100%;
    }

    .dh-antes-freematica-roles__title {
        font-size: 36px;
    }
}