.pre-maestrias-wrapper { max-width: 1000px; margin: auto; }
.titulo-principal { color: #6a1b3d; font-weight: 700; }

/* Barra de progreso */
.progress-steps { display: flex; justify-content: space-between; position: relative; }
.progress-steps::before {
    content: ''; position: absolute; top: 18px; left: 5%; right: 5%;
    height: 2px; background: #e0e0e0; z-index: 0;
}
.step-item { text-align: center; z-index: 1; flex: 1; opacity: .5; transition: .3s; }
.step-item.active, .step-item.done { opacity: 1; }
.step-item span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    background: #fff; border: 2px solid #ccc; font-weight: 700; color: #666;
}
.step-item.active span { background: #6a1b3d; color: #fff; border-color: #6a1b3d; }
.step-item.done span { background: #28a745; color: #fff; border-color: #28a745; }
.step-item small { display: block; margin-top: 6px; font-size: 12px; color: #666; }

/* Pasos */
.paso { display: none; animation: fadeIn .3s; }
.paso.active { display: block; }
@keyframes fadeIn { from {opacity:0; transform: translateY(6px);} to {opacity:1; transform: translateY(0);} }

/* Tarjetas de maestrías/sedes */
.card-opcion {
    border: 2px solid #e0e0e0; border-radius: 12px; padding: 18px;
    cursor: pointer; transition: .25s; height: 100%;
}
.card-opcion:hover { border-color: #6a1b3d; transform: translateY(-3px); box-shadow: 0 8px 18px rgba(106,27,61,.15); }
.card-opcion.seleccionada { border-color: #6a1b3d; background: #fdf3f7; }
.card-opcion h5 { color: #6a1b3d; font-weight: 700; margin-bottom: 6px; }
.card-opcion p { font-size: 13px; color: #666; margin: 0; }

@media (max-width: 768px) {
    .step-item small { font-size: 10px; }
    .step-item span { width: 30px; height: 30px; font-size: 13px; }
}