:root {
    --cobach-azul: #09094D;
    --cobach-azul-suave: #E8EEFF;
    --cobach-rojo: #8A0404;
    --cobach-fondo: #f5f7fb;
    --cobach-texto: #263238;
    --cobach-muted: #6c757d;
}

body {
    background: var(--cobach-fondo);
    color: var(--cobach-texto);
    font-family: "Segoe UI", Arial, sans-serif;
}

/* Barra superior */
.navbar-cobach {
    background: var(--cobach-azul);
    min-height: 86px;
    padding-top: 8px;
    padding-bottom: 8px;
}

/* Logo */
.logo-navbar {
    height: 74px;
    width: auto;
    display: block;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-right: 12px;
    object-fit: contain;
}

.navbar-brand .fw-bold {
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1.1;
}

.navbar-brand small {
    display: block;
    font-size: 1rem;
    opacity: .9;
    line-height: 1.2;
}

/* Encabezado principal */
.hero-cobach {
    background: white;
    border-radius: 20px;
    padding: 34px 38px;
    border-left: 6px solid var(--cobach-azul);
    box-shadow: 0 8px 22px rgba(9, 9, 77, 0.08);
}

.hero-etiqueta {
    color: var(--cobach-azul);
    letter-spacing: .08em;
    font-size: .82rem;
}

.text-cobach {
    color: var(--cobach-azul);
}

/* Tarjetas */
.card-modulo {
    border: none;
    border-radius: 20px;
    min-height: 230px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
    transition: .25s ease;
}

.card-modulo:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(9, 9, 77, .14);
}

.card-modulo:hover .barra-card {
    background: var(--cobach-rojo);
}

.barra-card {
    height: 5px;
    background: var(--cobach-azul);
    transition: .25s ease;
}

/* Iconos */
.icono-modulo {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    background: var(--cobach-azul-suave);
    color: var(--cobach-azul);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    margin-bottom: 18px;
}

.card-modulo h4 {
    font-weight: 700;
}

.card-modulo p {
    font-size: .95rem;
    color: var(--cobach-muted);
}

/* Botones */
.btn-cobach {
    background: var(--cobach-azul);
    color: white;
    border-radius: 999px;
    padding: 7px 18px;
    font-weight: 600;
}

.btn-cobach:hover {
    background: var(--cobach-rojo);
    color: white;
}

/* Ajustes responsivos */
@media (max-width: 768px) {
    .navbar-cobach {
        min-height: 74px;
    }

    .logo-navbar {
        height: 56px;
    }

    .navbar-brand .fw-bold {
        font-size: 1.4rem;
    }

    .navbar-brand small {
        font-size: .82rem;
    }

    .hero-cobach {
        padding: 24px;
    }

    .hero-cobach h1 {
        font-size: 2rem;
    }
}