/* Mobile improvements for ViewSTL page */
@media (max-width: 768px) {
    #controls {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        padding: 8px !important;
    }

    /* Button container for horizontal layout */
    .button-container {
        display: flex !important;
        gap: 6px !important;
        width: 100% !important;
        order: 1 !important;
    }

    #backBtn, #downloadBtn, #resetCameraBtn {
        font-size: 0.85rem !important;
        padding: 6px 8px !important;
        flex: 1 !important;
        text-align: center !important;
        white-space: nowrap !important;
        min-width: 0 !important;
        background-color: var(--btn-primary-bg) !important;
        color: var(--btn-primary-text) !important;
        border: none !important;
        border-radius: 4px !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }

    #backBtn:hover, #downloadBtn:hover, #resetCameraBtn:hover {
        background-color: var(--btn-primary-hover) !important;
        transform: translateY(-1px) !important;
    }

    .file-selector-container {
        margin-left: 0 !important;
        margin-top: 8px !important;
        order: 3 !important;
        width: 100% !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .file-selector {
        min-width: 0 !important;
        flex: 1 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        background-color: var(--input-bg) !important;
        color: var(--text-primary) !important;
        border: 1px solid var(--border-color) !important;
    }

    .file-counter {
        flex-shrink: 0 !important;
        font-size: 0.75rem !important;
        padding: 6px 10px !important;
        white-space: nowrap !important;
        min-width: fit-content !important;
        text-align: center !important;
        background: var(--primary-color) !important;
        color: var(--btn-primary-text) !important;
    }

    .color-picker-container {
        margin-left: 0 !important;
        margin-top: 8px !important;
        order: 2 !important;
        width: 100% !important;
        justify-content: center !important;
    }

    .color-picker-container label {
        color: var(--text-secondary) !important;
    }

    .color-picker-container input[type="color"] {
        background: var(--input-bg) !important;
        border: 2px solid var(--border-color) !important;
    }

    .project-info {
        margin-left: 0 !important;
        margin-top: 8px !important;
        order: 4 !important;
        width: 100% !important;
        justify-content: center !important;
    }

    .project-badge {
        font-size: 0.8rem !important;
        padding: 4px 8px !important;
        background: rgba(var(--primary-color), 0.1) !important;
        color: var(--primary-color) !important;
    }

    .project-badge i {
        color: var(--warning-color) !important;
    }
}

@media (max-width: 480px) {
    #controls {
        padding: 6px !important;
        gap: 6px !important;
    }

    .button-container {
        gap: 4px !important;
    }

    #backBtn, #downloadBtn, #resetCameraBtn {
        font-size: 0.8rem !important;
        padding: 5px 6px !important;
    }

    .file-selector-container {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
        justify-content: flex-start !important;
    }

    .file-selector {
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .file-counter {
        align-self: center !important;
        width: fit-content !important;
        text-align: center !important;
        margin: 0 auto !important;
    }

    .color-picker-container {
        flex-direction: column !important;
        gap: 6px !important;
    }

    .project-badge {
        font-size: 0.75rem !important;
        padding: 3px 6px !important;
    }
}

@media (max-width: 360px) {
    #controls {
        padding: 4px !important;
        gap: 4px !important;
    }

    .button-container {
        flex-direction: column !important;
        gap: 4px !important;
    }

    #backBtn, #downloadBtn, #resetCameraBtn {
        font-size: 0.75rem !important;
        padding: 6px 8px !important;
        width: 100% !important;
    }

    .file-selector-container {
        gap: 4px !important;
    }

    .file-counter {
        font-size: 0.7rem !important;
        padding: 4px 8px !important;
    }

    .project-badge {
        font-size: 0.7rem !important;
        padding: 2px 4px !important;
    }
} 