/* Estilos generales para los botones */

.main-somos {
    margin-top: 200px !important;
}
.btn {
    font-size: 0.75rem;
    /* Fuente más pequeña */
    padding: 5px 10px;
    /* Reducción del padding */
    border-radius: 25px;
    text-transform: uppercase;
    font-weight: 600;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
      background-color: #e74c3c;
    /* Color de fondo */
    color: white;
    margin: 5px;
    /* Margen entre los botones */
}

.btn:hover,
.btn:focus {
    background-color: #0056b3;
    /* Color de fondo al pasar el mouse */
    border-color: #004085;
    /* Color del borde al pasar el mouse */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    /* Sombra */
}

.btn:active {
    background-color: #003366;
    /* Color más oscuro cuando se hace clic */
    border-color: #002d54;
}

/* Contenedor de los botones */
.btn-container {
    display: flex;
    flex-wrap: wrap;
    /* Los botones se envuelven cuando no caben */
    justify-content: flex-start;
    /* Alineación de botones a la izquierda */
    gap: 10px;
    /* Espacio entre los botones */
    margin: 0 auto;
    max-width: 100%;
    /* Para que no se desborden */
    padding: 10px;
}

/* Scroll wrapper para mantener los botones en una fila horizontal */
.scroll-wrapper {
    display: flex;
    overflow-x: auto;
    /* Habilita el desplazamiento horizontal */
    gap: 10px;
    /* Espacio entre los botones */
    padding: 10px;
    background-color: #e74c3c;
    /* Color de fondo para el wrapper */
}

/* Estilos para los botones en la versión móvil */
@media (max-width: 767px) {
    .btn-container {
        justify-content: flex-start;
        /* Alineación de botones a la izquierda */
        gap: 10px;
        /* Espacio entre botones */
    }

    /* Los botones en móvil tendrán un tamaño más pequeño */
    .btn {
        font-size: 0.75rem;
        /* Fuente más pequeña */
        padding: 5px 8px;
        /* Padding reducido */
        width: 48%;
        /* Los botones ocupan el 48% del ancho disponible */
        margin: 5px 0;
        /* Margen vertical para separación entre filas */
    }

    /* Para que haya 3 botones por fila cuando haya 6 */
    .btn:nth-child(n+7) {
        width: 48%;
    }

    /* Para que haya 2 botones por fila cuando haya 5 */
    .btn:nth-child(n+6) {
        width: 48%;
    }

    /* Para que haya 3 botones por fila cuando haya 3 o menos */
    .btn:nth-child(n+4) {
        width: 48%;
    }

    /* Para dispositivos más pequeños o con pocos botones */
    .scroll-wrapper {
        overflow-x: auto;
        /* Habilita el desplazamiento horizontal */
        gap: 15px;
    }
}

/* Para pantallas grandes */
@media (min-width: 768px) {
    .btn {
        font-size: 1rem;
        /* Fuente más grande en pantallas grandes */
        padding: 8px 16px;
        /* Padding ajustado */
    }
}






/***********targetas****************/

/* Grid para 4 tarjetas por fila */

/* Estilo general de la tarjeta */
.card {
    border: none;
    border-radius: 1rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    position: relative;
    overflow: hidden;
}

/* Efecto hover en la tarjeta */
.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

/* Fondo con imagen y overlay oscuro (opcional) */
.card {
    background-image: url('tu-imagen-por-defecto.jpg');
    /* opcional */
    background-size: cover;
    background-position: center;
    color: white;
}

/* Overlay oscuro encima de la imagen (opcional) */
.card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    /* ajusta la transparencia */
    z-index: 1;
}

/* Contenido dentro del card-body */
.card-body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}


/* Botón */
.btn-primary {
    align-self: flex-start;
    background-color: #007bff;
    border-color: #007bff;
    transition: background-color 0.3s ease;
}

.btn-primary:hover {
    background-color: #0056b3;
    border-color: #0056b3;
}


.card-overlay-text {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    padding: 10px;
    color: white;
    text-align: center;
}

/* Título */
.card-title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 5px;
}

/* Descripción */
.card-text {
    font-size: 0.9rem;
    margin: 0;
}