/* Nuhro Responsive Design System */
/* Mobile-first approach optimized for MAUI Hybrid */

/* ==================== */
/* Touch Target Standards */
/* ==================== */
.touch-target {
    min-width: 44px;
    min-height: 44px;
}

@media (max-width: 599px) {
    .touch-target {
        min-width: 48px;
        min-height: 48px;
    }
}

/* ==================== */
/* Spacing System */
/* ==================== */
@media (max-width: 599px) {
    .responsive-container {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    .responsive-paper {
        padding: 8px !important;
    }

    .responsive-margin-top {
        margin-top: 8px !important;
    }

    .responsive-margin-bottom {
        margin-bottom: 64px !important;
    }
}

@media (min-width: 600px) and (max-width: 959px) {
    .responsive-container {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .responsive-paper {
        padding: 12px !important;
    }

    .responsive-margin-top {
        margin-top: 12px !important;
    }

    .responsive-margin-bottom {
        margin-bottom: 68px !important;
    }
}

@media (min-width: 960px) {
    .responsive-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .responsive-paper {
        padding: 16px !important;
    }

    .responsive-margin-top {
        margin-top: 16px !important;
    }

    .responsive-margin-bottom {
        margin-bottom: 16px !important;
    }
}

/* ==================== */
/* Typography Scaling */
/* ==================== */
@media (max-width: 599px) {
    .responsive-heading {
        font-size: 1.25rem !important;
    }

    .responsive-body {
        font-size: 0.9rem !important;
        line-height: 1.3 !important;
    }
}

@media (min-width: 600px) and (max-width: 959px) {
    .responsive-heading {
        font-size: 1.5rem !important;
    }

    .responsive-body {
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
    }
}

@media (min-width: 960px) {
    .responsive-heading {
        font-size: 1.75rem !important;
    }

    .responsive-body {
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }
}

/* ==================== */
/* Card/Paper Spacing */
/* ==================== */
@media (max-width: 599px) {
    .responsive-card {
        margin-bottom: 8px !important;
        padding: 8px !important;
    }
}

@media (min-width: 600px) and (max-width: 959px) {
    .responsive-card {
        margin-bottom: 12px !important;
        padding: 12px !important;
    }
}

@media (min-width: 960px) {
    .responsive-card {
        margin-bottom: 16px !important;
        padding: 16px !important;
    }
}

/* ==================== */
/* Bottom Navigation Spacing */
/* ==================== */
@media (max-width: 599px) {
    .content-with-bottom-nav {
        padding-bottom: 64px !important;
    }
}

@media (min-width: 600px) and (max-width: 959px) {
    .content-with-bottom-nav {
        padding-bottom: 68px !important;
    }
}

@media (min-width: 960px) {
    .content-with-bottom-nav {
        padding-bottom: 72px !important;
    }
}

/* ==================== */
/* Icon Button Sizing */
/* ==================== */
@media (max-width: 599px) {
    .responsive-icon-button {
        width: 40px !important;
        height: 40px !important;
        padding: 8px !important;
    }
}

@media (min-width: 600px) {
    .responsive-icon-button {
        width: 48px !important;
        height: 48px !important;
        padding: 12px !important;
    }
}
