:root {

  /* Colores principales */
    --gradiente-principal: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    --azul-principal: #667eea;
    --purpura-principal: #764ba2;
    --verde-exito: #28a745;
    --verde-claro: #20c997;
    
    /* Colores secundarios */
    --azul-hover: #5a6fd8;
    --verde-hover: #218838;
    --rojo-peligro: #dc3545;
    --rojo-hover: #c82333;
    --gris-secundario: #6c757d;
    --gris-hover: #5a6268;
    
    /* Colores basicos */
    --blanco: #ffffff;
    --gris-claro: #f5f5f5;
    --gris-muy-claro: #f8f9fa;
    --gris-medio: #e9ecef;
    --gris-borde: #ddd;
    --borde-claro: #eee;
    --texto-oscuro: #333;
    --texto-medio: #555;
    --texto-claro: #666;
    --texto-muy-claro: #bbb;
    
    /* Colores de transparencia */
    --blanco-transparente-20: rgba(255,255,255,0.2);
    --blanco-transparente-30: rgba(255,255,255,0.3);
    --blanco-transparente-80: rgba(255,255,255,0.8);
    --blanco-transparente-95: rgba(255,255,255,0.95);
    --negro-transparente-10: rgba(0,0,0,0.1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: var(--texto-oscuro);
}

header {
    background: var(--blanco);
    box-shadow: 0 2px 5px var(--negro-transparente-10);
}

.cabezar-arriba {
    background: var(--gradiente-principal);
    color: var(--blanco);
    padding: 0.8rem 0;
}

.cabezar-arriba .contenedor {
    max-width: 100%;
    margin: 0;
    padding: 0 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.logo-section {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.logo-section img {
    width: 60px;
    height: 60px;
}

.contacto-informacion {
    display: flex;
    align-items: center;
}

.contacto-informacion ul {
    display: flex;
    list-style: none;
    gap: 2rem;
    align-items: center;
}

.contacto-informacion li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.contacto-informacion img {
    width: 20px;
    height: 20px;
}

.contacto-informacion a {
    color: var(--blanco);
    text-decoration: none;
}

.barra-principal {
    background: var(--gris-muy-claro);
    padding: 0.8rem 0;
}

.barra-principal .contenedor {
    max-width: 100%;
    margin: 0;
    padding: 0 1rem;
}

.links-barra {
    display: flex;
    list-style: none;
    gap: 2rem;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}

.links-barra a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--texto-oscuro);
    padding: 0.5rem 1rem;
    border-radius: 5px;
    transition: background 0.3s;
}

.links-barra a:hover {
    background: var(--gris-medio);
}

.links-barra img {
    width: 20px;
    height: 20px;
}

.busqueda {
    margin-left: auto;
    margin-right: 2rem;
    cursor: pointer;
}

.busqueda img {
    width: 24px;
    height: 24px;
}

.carrusel-container {
    position: relative;
    max-width: 100%;
    width: 100%;
    margin: 1rem 0;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 4px 15px var(--negro-transparente-10);
}

.carrusel {
    display: flex;
    transition: transform 0.5s ease;
}

.slide {
    min-width: 100%;
    position: relative;
    height: 500px;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide-content {
    position: absolute;
    top: 50%;
    left: 50px;
    transform: translateY(-50%);
    background: var(--blanco-transparente-95);
    padding: 2rem;
    border-radius: 10px;
    max-width: 400px;
}

.slide-content h3 {
    color: var(--azul-principal);
    margin-bottom: 1rem;
    font-size: 2rem;
}

.slide-content p {
    margin-bottom: 1.5rem;
    color: var(--texto-claro);
}

.btn-ver-mas {
    background: var(--azul-principal);
    color: var(--blanco);
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 5px;
    display: inline-block;
    transition: background 0.3s;
}

.btn-ver-mas:hover {
    background: var(--azul-hover);
}

.carrusel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: var(--blanco-transparente-80);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    transition: background 0.3s;
}

.carrusel-nav:hover {
    background: var(--blanco-transparente-95);
}

.prev {
    left: 20px;
}

.next {
    right: 20px;
}

.carrusel-dots {
    text-align: center;
    margin: 2rem 0;
}

.dot {
    height: 15px;
    width: 15px;
    margin: 0 5px;
    background-color: var(--texto-muy-claro);
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    transition: background-color 0.3s;
}

.dot.active,
.dot:hover {
    background-color: var(--azul-principal);
}

@media (max-width: 768px) {
    .cabezar-arriba .contenedor {
        flex-direction: column;
        text-align: center;
    }
    
    .contacto-informacion {
        margin-left: 0;
        margin-top: 1rem;
    }
    
    .contacto-informacion ul {
        flex-direction: column;
        gap: 1rem;
    }
    
    .links-barra {
        flex-direction: column;
        gap: 1rem;
    }
    
    .slide-content {
        left: 20px;
        right: 20px;
        max-width: none;
    }
}