/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

@media (max-width: 1200px) {
    .container {
        max-width: 100%;
    }
}

@media (max-width: 992px) {
    .header .container {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .nav {
        order: 3;
        width: 100%;
        justify-content: center;
    }

    .progress-steps {
        gap: 1.5rem;
    }

    .step span {
        font-size: 0.75rem;
    }

    .horarios-grid {
        grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    }
}

@media (max-width: 768px) {
    .header {
        padding: 0.75rem 0;
    }

    .logo h1 {
        font-size: 1.2rem;
    }

    .nav {
        gap: 1rem;
    }

    .nav-link {
        padding: 0.5rem 0.75rem;
        font-size: 0.9rem;
    }

    .main-content {
        padding: 2rem 0;
    }

    .section-header h2 {
        font-size: 1.5rem;
    }

    .progress-steps {
        gap: 1rem;
    }

    .progress-steps::before {
        left: 20%;
        right: 20%;
    }

    .step-icon {
        width: 40px;
        height: 40px;
    }

    .form {
        padding: 1.5rem;
    }

    .form-actions {
        flex-direction: column;
    }

    .btn {
        width: 100%;
        justify-content: center;
    }

    .radio-group {
        flex-direction: column;
    }

    .chat-widget {
        width: calc(100% - 40px);
        left: 20px;
        right: 20px;
    }

    .message {
        max-width: 90%;
    }
}

@media (max-width: 576px) {
    .container {
        padding: 0 15px;
    }

    .user-info {
        display: none;
    }

    .section-header h2 {
        font-size: 1.3rem;
    }

    .section-header p {
        font-size: 0.95rem;
    }

    .progress-steps {
        gap: 0.5rem;
    }

    .step span {
        display: none;
    }

    .step-icon {
        width: 36px;
        height: 36px;
    }

    .form {
        padding: 1rem;
    }

    .card {
        padding: 1.5rem;
    }

    .horarios-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .detail-item {
        flex-direction: column;
        gap: 0.25rem;
    }
}
