/* =========================
   SEMANA DE ENTRENAMIENTO
========================= */

.week-visual {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding: 24px;
}

.week-visual::after {
    content: none;
}

.week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;

    list-style: none;
}

.week-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;

    min-height: 220px;
    padding: 14px 4px;

    border: 1px solid var(--border);
    border-radius: 10px;

    background: var(--surface-light);
}

.week-day-name {
    color: var(--text);

    font-size: 15px;
    font-weight: 800;
}

.week-day-type {
    color: var(--muted);

    font-size: 12px;
    line-height: 1.2;
    text-align: center;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.week-day--easy {
    border-color: rgba(184, 255, 61, 0.35);
}

.week-day--hard,
.week-day--long {
    border-color: var(--accent);
    background: rgba(184, 255, 61, 0.12);
}

.week-day--hard .week-day-type,
.week-day--long .week-day-type {
    color: var(--accent);
    font-weight: 700;
}

.week-day--rest {
    opacity: 0.6;
}

.week-visual figcaption {
    position: static;

    margin-top: 24px;
}

@media (max-width: 768px) {
    .week-visual {
        min-height: auto;
    }

    .week-day {
        min-height: 160px;
    }
}
