/**
 * Estilos para el bloque Icon Text Box
 */

.icon-text-box {
    position: relative;
    width: 100%;
}

.icon-text-box-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Posición del icono arriba */
.icon-text-box-container.icon-position-top {
    flex-direction: column;
}

.icon-text-box-container.icon-position-top .icon-text-box-icon {
    margin-bottom: 20px;
}

/* Posición del icono a la izquierda */
.icon-text-box-container.icon-position-left {
    flex-direction: row;
    align-items: flex-start;
}

.icon-text-box-container.icon-position-left .icon-text-box-icon {
    margin-right: 20px;
    flex-shrink: 0;
}

/* Alineación del texto */
.icon-text-box-container.text-left {
    text-align: left;
}

.icon-text-box-container.text-center {
    text-align: center;
}

.icon-text-box-container.text-center.icon-position-top {
    align-items: center;
}

.icon-text-box-container.text-right {
    text-align: right;
}

.icon-text-box-container.text-right.icon-position-top {
    align-items: flex-end;
}

/* Estilos para el título */
.icon-text-box-title {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: 700;
}

/* Estilos para el contenido */
.icon-text-box-text {
    margin-bottom: 0;
}

/* Esquemas de color */
.icon-text-box.bg-custom-light {
    background-color: #ffffff;
    color: #212529;
}

.icon-text-box.bg-custom-dark {
    background-color: #212529;
    color: #ffffff;
}

/* Espaciado */
.icon-text-box.spacing-small {
    padding: 5px 0;
}

.icon-text-box.spacing-medium {
    padding: 40px 0;
}

.icon-text-box.spacing-large {
    padding: 60px 0;
}

/* Responsive */
@media (max-width: 767px) {
    .icon-text-box-container.icon-position-left {
        flex-direction: column;
    }
    
    .icon-text-box-container.icon-position-left .icon-text-box-icon {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .icon-text-box-container.icon-position-top .icon-text-box-icon {
        margin-bottom: 10px;
    }
    
    .icon-text-box-container.text-right.icon-position-top,
    .icon-text-box-container.text-center.icon-position-top {
        align-items: flex-start;
    }
    
    .icon-text-box-container.text-right,
    .icon-text-box-container.text-center {
        text-align: left;
    }
}
