/* Universal Mobile Responsiveness Framework */
/* Supports: iOS Safari, Android Chrome, Firefox, Edge, Opera */

/* Base Reset for All Devices */
* {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/* iOS Safari Specific Fixes */
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
}

/* Form Elements Mobile Optimization */
input, textarea, select, button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.375rem;
    font-size: 16px; /* Prevents zoom on iOS */
}

/* Button Touch Optimization */
.btn {
    min-height: 44px;
    touch-action: manipulation;
}

/* iPhone Specific Fixes */
@media screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2) {
    input[type="text"], input[type="email"], input[type="tel"], textarea, .form-control {
        font-size: 16px !important;
    }
}

/* Small Mobile Devices */
@media (max-width: 480px) {
    .container, .container-fluid {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    #floatingLogo {
        max-width: 60px !important;
        left: 5px !important;
    }
    
    .display-3 { font-size: 1.75rem; }
    .display-4 { font-size: 1.5rem; }
}

/* Admin Panel Mobile */
@media (max-width: 768px) {
    .main-content {
        margin-left: 0 !important;
    }
    
    .sidebar {
        transform: translateX(-100%);
    }
}

/* Landscape Orientation */
@media screen and (orientation: landscape) and (max-height: 500px) {
    .hero-carousel, .hero-section {
        height: 50vh !important;
    }
    
    #floatingLogo {
        top: 20px !important;
        transform: none !important;
    }
}