/* =======================================================
   COMPETENCIA
   ======================================================= */

#competencyScreen{

    min-height:100vh;

    background:#111827;

    color:#F8FAFC;

    display:flex;

    justify-content:center;

    align-items:center;

    font-family:Arial, Helvetica, sans-serif;

}

.competency-container{

    width:1100px;

    max-width:95%;

    text-align:center;

}

.competency-header h1{

    font-size:44px;

    margin-bottom:10px;

}

.competency-header h2{

    font-size:28px;

    color:#60A5FA;

    margin-bottom:10px;

}

.competency-header p{

    color:#CBD5E1;

    font-size:18px;

    margin-bottom:50px;

}

/* =======================================================
   MÓDULOS
   ======================================================= */

.modules{

    display:flex;

    justify-content:center;

    gap:40px;

    flex-wrap:wrap;

}

.module-card{

    width:280px;

    background:#1F2937;

    border-radius:16px;

    padding:30px;

    box-shadow:0 10px 30px rgba(0,0,0,.35);

    transition:.25s;

}

.module-card:hover{

    transform:translateY(-6px);

}

.module-icon{

    font-size:56px;

    margin-bottom:20px;

}

.module-card h3{

    margin-bottom:20px;

    font-size:24px;

}

.module-card p{

    color:#CBD5E1;

    min-height:80px;

    line-height:1.5;

    margin-bottom:25px;

}

.module-card button{

    width:100%;

    padding:14px;

    border:none;

    border-radius:8px;

    font-size:16px;

    cursor:pointer;

}

.module-card button:disabled{

    background:#4B5563;

    color:#D1D5DB;

    cursor:default;

}

#enterSimulationButton{

    background:#2563EB;

    color:white;

}

#enterSimulationButton:hover{

    background:#3B82F6;

}

/* =======================================================
   TÍTULO DE COMPETENCIA
   ======================================================= */

.competency-title{

    margin-top:40px;

    color:#94A3B8;

    font-size:14px;

    letter-spacing:4px;

    font-weight:bold;

}

.competency-header h3{

    margin-top:10px;

    font-size:42px;

    letter-spacing:2px;

    color:white;

}

/* ===================================================
   COMPETENCIA
=================================================== */

.modules {

    display: grid;

    grid-template-columns: repeat(3, minmax(250px, 320px));

    justify-content: center;

    gap: 18px;

    width: 100%;

    margin: 0 auto;

}

.module-card {

    height: 100%;
    
    max-width: 320px;

    background: white;

    border-radius: 22px;

    padding: 20px 18px;

    text-align: center;

    border: 2px solid #d7dde5;

    box-shadow:
        0 12px 30px rgba(17, 24, 39, 0.12),
        0 2px 6px rgba(17, 24, 39, 0.06);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;

}

.module-card:hover {

    transform: translateY(-4px);

    border-color: rgba(113, 0, 0, 0.28);

    box-shadow:
        0 18px 42px rgba(17, 24, 39, 0.16),
        0 6px 14px rgba(17, 24, 39, 0.10);

}

.module-icon {

    width: 72px;

    height: 72px;

    margin: 0 auto 14px;

    border-radius: 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 2rem;

    background: linear-gradient(
        135deg,
        rgba(67, 181, 231, 0.18) 0%,
        rgba(67, 181, 231, 0.10) 100%
    );

    border: 1px solid rgba(67, 181, 231, 0.24);

}

.module-card h3 {

    color: var(--primary);

    margin-bottom: 8px;

    font-size: 1.05rem;

    font-weight: 700;

}

.module-card p {

    color: var(--text-muted);

    line-height: 1.4;

    font-size: 0.9rem;

    margin-bottom: 16px;

    min-height: 54px;

}

.module-card button {

    width: 100%;

    padding: 11px 16px;

    background: var(--secondary);

    color: white;

    font-weight: 700;

    border: none;

    border-radius: 12px;

    cursor: pointer;

    transition: all 0.2s ease;

}

.module-card button:hover:not(:disabled) {

    background: var(--secondary-dark);

    transform: translateY(-1px);

}

.module-card button:disabled {

    background: #cfd6df;

    color: #64748b;

    cursor: not-allowed;

    transform: none;

}

/* ========================================
   HERO COMPACTO
======================================== */

.hero-card.compact {

    background: linear-gradient(
        135deg,
        rgba(113, 0, 0, 0.08) 0%,
        rgba(238, 103, 48, 0.05) 100%
    );

    border: 2px solid rgba(113, 0, 0, 0.18);

    border-radius: 22px;

    padding: 18px 24px;

    margin-bottom: 18px;

    box-shadow:
        0 8px 24px rgba(17, 24, 39, 0.10),
        inset 0 1px 0 rgba(255,255,255,0.7);

}

.hero-content {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

}

.hero-text {

    flex: 1;

}

.hero-badge {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    background: var(--secondary);

    color: white;

    padding: 5px 12px;

    border-radius: 999px;

    font-size: 0.78rem;

    font-weight: 700;

    margin-bottom: 10px;

}

.hero-text h2 {

    color: var(--primary);

    font-size: 0.85rem;

    font-weight: 700;

    letter-spacing: 0.08em;

    margin-bottom: 2px;

}

.hero-text h1 {

    font-size: clamp(1.8rem, 3vw, 2.6rem);

    font-weight: 800;

    color: var(--text);

    letter-spacing: -0.04em;

    margin-bottom: 6px;

}

.hero-text p {

    color: var(--text-muted);

    line-height: 1.45;

    font-size: 0.95rem;

    max-width: 620px;

    margin: 0;

}

.hero-stats {

    display: flex;

    gap: 12px;

}

.stat-card {

    background: white;

    border: 2px solid rgba(67, 181, 231, 0.28);

    border-radius: 16px;

    padding: 14px 12px;

    min-width: 108px;

    text-align: center;

    box-shadow: 0 4px 10px rgba(67, 181, 231, 0.10);

}

.stat-value {

    display: block;

    font-size: 1.5rem;

    font-weight: 800;

    color: var(--accent);

    margin-bottom: 2px;

}

.stat-label {

    font-size: 0.78rem;

    font-weight: 600;

    color: var(--text-muted);

}

@media (max-width: 900px) {

    .hero-content {

        flex-direction: column;

        align-items: flex-start;

    }

    .hero-stats {

        width: 100%;

        justify-content: flex-start;

    }

    .modules {

        grid-template-columns: 1fr;

    }

}