/**
 * FloorSathi — Responsive Breakpoint Styles
 * Meets WCAG 2.2 AA and Mobile-First Requirements
 */

/* Small Devices (320px to 599px) */
@media (max-width: 599.98px) {
    .section-title {
        font-size: 1.75rem;
    }

    .hero-title {
        font-size: 2.1rem !important;
    }

    .calc-container {
        padding: 1.25rem;
    }

    .calc-total-area {
        font-size: 2.1rem;
    }

    .timeline-track-horizontal {
        justify-content: flex-start;
        gap: 1.5rem;
    }

    .timeline-track-horizontal::before {
        display: none;
    }

    .timeline-step {
        min-width: 85px;
    }

    .step-node {
        width: 40px;
        height: 40px;
        font-size: 0.8125rem;
    }

    .floating-quote-cta {
        bottom: 1rem;
        right: 1rem;
    }

    .floating-quote-cta .btn-text {
        display: none;
    }

    .floating-quote-cta a {
        border-radius: 50% !important;
        width: 54px;
        height: 54px;
        padding: 0 !important;
    }

    .top-utility-bar {
        display: none;
    }

    .wizard-progress {
        overflow-x: auto;
        padding-bottom: 0.5rem;
    }

    .wizard-step-indicator span {
        display: none;
    }
}

/* Medium Devices (600px to 899px) */
@media (min-width: 600px) and (max-width: 899.98px) {
    .hero-title {
        font-size: 2.6rem;
    }
    
    .timeline-step {
        min-width: 90px;
    }
}

/* Touch Targets & Accessibility */
@media (pointer: coarse) {
    .btn, .nav-link, .form-control, .form-select {
        min-height: 44px;
    }
}

/* Print Optimization */
@media print {
    .navbar-floorsathi, .top-utility-bar, footer, .floating-quote-cta {
        display: none !important;
    }
    body {
        background: #FFFFFF !important;
        color: #000000 !important;
    }
}
