/* Mobile Compact Optimization for FoodBao */
/* Ultra-compact mobile-first responsive design */

/* Mobile-first variables for ultra-compact design */
:root {
  /* Ultra-minimal spacing for mobile */
  --mobile-spacing-xxs: 1px;
  --mobile-spacing-xs: 2px;
  --mobile-spacing-sm: 4px;
  --mobile-spacing-md: 6px;
  --mobile-spacing-lg: 8px;
  --mobile-spacing-xl: 12px;
  
  /* Compact header and navigation */
  --mobile-header-height: 32px;
  --mobile-nav-height: 36px;
  
  /* Compact text sizes */
  --mobile-text-xs: 0.65rem;
  --mobile-text-sm: 0.75rem;
  --mobile-text-md: 0.8rem;
  --mobile-text-lg: 0.9rem;
  --mobile-text-xl: 1rem;
  
  /* Compact border radius */
  --mobile-radius: 3px;
  --mobile-radius-lg: 6px;
}

/* Mobile-first body optimization */
@media (max-width: 768px) {
  body {
    padding-top: var(--mobile-header-height) !important;
    padding-bottom: var(--mobile-nav-height) !important;
    font-size: var(--mobile-text-md) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  
  /* Ultra-compact header */
  .compact-header {
    height: var(--mobile-header-height) !important;
    padding: 0 var(--mobile-spacing-sm) !important;
    min-height: var(--mobile-header-height) !important;
  }
  
  .compact-header .brand-logo {
    font-size: var(--mobile-text-lg) !important;
    padding-left: var(--mobile-spacing-xs) !important;
  }
  
  .compact-header .material-icons {
    font-size: var(--mobile-text-lg) !important;
  }
  
  /* Compact navigation buttons */
  .compact-button {
    height: 24px !important;
    width: 24px !important;
    line-height: 24px !important;
    padding: 0 !important;
    margin: 0 var(--mobile-spacing-xs) !important;
  }
  
  .compact-button .material-icons {
    font-size: var(--mobile-text-md) !important;
  }
  
  /* Ultra-compact containers */
  .container {
    padding: var(--mobile-spacing-xs) !important;
    margin: 0 !important;
    width: 100% !important;
  }
  
  /* Compact public welcome section */
  .food-landing-page {
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Mobile hero section - ultra compact */
  .hero-section {
    min-height: 60vh !important; /* Reduced from 100vh */
    padding: var(--mobile-spacing-sm) !important;
    margin: 0 !important;
  }
  
  .hero-content {
    grid-template-columns: 1fr !important;
    gap: var(--mobile-spacing-md) !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .hero-title {
    font-size: 1.8rem !important; /* Significantly reduced */
    line-height: 1.1 !important;
    margin-bottom: var(--mobile-spacing-sm) !important;
  }
  
  .hero-subtitle {
    font-size: var(--mobile-text-lg) !important;
    margin-bottom: var(--mobile-spacing-md) !important;
  }
  
  /* Compact food carousel */
  .food-carousel {
    max-width: 280px !important; /* Reduced */
    margin: var(--mobile-spacing-md) auto !important;
  }
  
  .food-slides {
    height: 180px !important; /* Significantly reduced */
    border-radius: var(--mobile-radius-lg) !important;
  }
  
  .slide-info {
    padding: var(--mobile-spacing-md) var(--mobile-spacing-sm) !important;
  }
  
  .slide-info h3 {
    font-size: var(--mobile-text-lg) !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .slide-info p {
    font-size: var(--mobile-text-sm) !important;
  }
  
  /* Compact floating shapes */
  .shape {
    opacity: 0.3 !important; /* More subtle on mobile */
  }
  
  .shape-1 {
    width: 20px !important;
    height: 20px !important;
  }
  
  .shape-2 {
    width: 25px !important;
    height: 25px !important;
  }
  
  .shape-3 {
    width: 18px !important;
    height: 18px !important;
  }
  
  .shape-4 {
    width: 30px !important;
    height: 30px !important;
  }
  
  /* Compact action buttons */
  .hero-buttons {
    position: fixed !important;
    bottom: var(--mobile-spacing-lg) !important;
    left: var(--mobile-spacing-sm) !important;
    right: var(--mobile-spacing-sm) !important;
    transform: none !important;
    width: auto !important;
    flex-direction: column !important;
    gap: var(--mobile-spacing-xs) !important;
    z-index: 10 !important;
  }
  
  .cta-button {
    width: 100% !important;
    padding: var(--mobile-spacing-md) var(--mobile-spacing-lg) !important;
    font-size: var(--mobile-text-sm) !important;
    border-radius: var(--mobile-radius-lg) !important;
    min-width: auto !important;
  }
  
  /* Compact features section */
  .features-section {
    padding: var(--mobile-spacing-xl) var(--mobile-spacing-sm) !important;
  }
  
  .section-header {
    margin-bottom: var(--mobile-spacing-lg) !important;
  }
  
  .section-header h2 {
    font-size: 1.5rem !important; /* Reduced */
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .section-header p {
    font-size: var(--mobile-text-md) !important;
  }
  
  .features-grid {
    grid-template-columns: 1fr !important;
    gap: var(--mobile-spacing-sm) !important;
  }
  
  .feature-card {
    padding: var(--mobile-spacing-lg) var(--mobile-spacing-md) !important;
    border-radius: var(--mobile-radius-lg) !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .feature-icon {
    width: 40px !important; /* Reduced */
    height: 40px !important;
    margin: 0 auto var(--mobile-spacing-sm) !important;
    font-size: 1.2rem !important;
  }
  
  .feature-card h3 {
    font-size: var(--mobile-text-lg) !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .feature-card p {
    font-size: var(--mobile-text-sm) !important;
    line-height: 1.3 !important;
  }
  
  /* Compact access section */
  .access-section {
    padding: var(--mobile-spacing-xl) var(--mobile-spacing-sm) !important;
  }
  
  .access-content {
    grid-template-columns: 1fr !important;
    gap: var(--mobile-spacing-md) !important;
  }
  
  .access-text h2 {
    font-size: 1.4rem !important; /* Reduced */
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .access-text > p {
    font-size: var(--mobile-text-md) !important;
    margin-bottom: var(--mobile-spacing-md) !important;
  }
  
  .access-steps {
    margin-bottom: var(--mobile-spacing-md) !important;
  }
  
  .step {
    gap: var(--mobile-spacing-sm) !important;
    margin-bottom: var(--mobile-spacing-md) !important;
  }
  
  .step-number {
    width: 28px !important; /* Reduced */
    height: 28px !important;
    font-size: var(--mobile-text-md) !important;
  }
  
  .step-content h4 {
    font-size: var(--mobile-text-lg) !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .step-content p {
    font-size: var(--mobile-text-sm) !important;
  }
  
  .url-example {
    padding: var(--mobile-spacing-md) !important;
    border-radius: var(--mobile-radius-lg) !important;
  }
  
  .url-label {
    font-size: var(--mobile-text-sm) !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .url-box {
    padding: var(--mobile-spacing-sm) !important;
    border-radius: var(--mobile-radius) !important;
  }
  
  .url-box code {
    font-size: var(--mobile-text-xs) !important;
  }
  
  /* Compact phone mockup */
  .phone-mockup {
    max-width: 180px !important; /* Reduced */
    margin: var(--mobile-spacing-md) auto !important;
  }
  
  .phone-screen {
    padding: var(--mobile-spacing-md) var(--mobile-spacing-sm) !important;
    border-radius: var(--mobile-radius-lg) !important;
  }
  
  .screen-content {
    padding: var(--mobile-spacing-sm) !important;
    height: 200px !important; /* Reduced */
    border-radius: var(--mobile-radius-lg) !important;
  }
  
  .mock-header {
    padding-bottom: var(--mobile-spacing-xs) !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
    font-size: var(--mobile-text-sm) !important;
  }
  
  .mock-item {
    height: 35px !important; /* Reduced */
    margin-bottom: var(--mobile-spacing-xs) !important;
    border-radius: var(--mobile-radius) !important;
  }
  
  /* Compact footer */
  .app-footer {
    padding: var(--mobile-spacing-lg) var(--mobile-spacing-sm) var(--mobile-spacing-md) !important;
  }
  
  .footer-content {
    flex-direction: column !important;
    text-align: center !important;
    gap: var(--mobile-spacing-sm) !important;
  }
  
  .footer-left .logo {
    font-size: var(--mobile-text-lg) !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .footer-left p {
    font-size: var(--mobile-text-sm) !important;
  }
  
  .app-version {
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .version-label {
    font-size: var(--mobile-text-sm) !important;
  }
  
  .version-number {
    padding: var(--mobile-spacing-xs) var(--mobile-spacing-sm) !important;
    font-size: var(--mobile-text-sm) !important;
  }
  
  .powered-by {
    font-size: var(--mobile-text-xs) !important;
  }
  
  /* Compact FAB */
  .fab {
    bottom: var(--mobile-spacing-lg) !important;
    right: var(--mobile-spacing-lg) !important;
    width: 45px !important; /* Reduced */
    height: 45px !important;
    font-size: var(--mobile-text-lg) !important;
  }
  
  /* Hide animations on mobile for better performance */
  .shape {
    animation: none !important;
  }
  
  /* Reduce parallax effects on mobile */
  .parallax-element {
    transform: none !important;
  }
  
  /* Compact page loader */
  .loader-content h3 {
    font-size: var(--mobile-text-lg) !important;
    margin: var(--mobile-spacing-xs) 0 !important;
  }
  
  .loader-content p {
    font-size: var(--mobile-text-sm) !important;
  }
  
  .spinner {
    width: 40px !important; /* Reduced */
    height: 40px !important;
    margin: 0 auto var(--mobile-spacing-md) !important;
  }
  
  /* Remove unnecessary margins and padding from Material-UI elements */
  .row {
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .col {
    padding: var(--mobile-spacing-xs) !important;
  }
  
  .card, .card-panel {
    margin: var(--mobile-spacing-xs) 0 !important;
    border-radius: var(--mobile-radius) !important;
  }
  
  .card .card-content {
    padding: var(--mobile-spacing-sm) !important;
  }
  
  .card .card-action {
    padding: var(--mobile-spacing-xs) var(--mobile-spacing-sm) !important;
    min-height: auto !important;
  }
  
  /* Ultra-compact input fields */
  .input-field {
    margin-top: var(--mobile-spacing-xs) !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .input-field input, 
  .input-field textarea {
    height: 1.8rem !important;
    font-size: var(--mobile-text-sm) !important;
    margin-bottom: 0 !important;
  }
  
  .input-field label {
    font-size: var(--mobile-text-xs) !important;
  }
  
  /* Compact buttons */
  .btn, .btn-large, .btn-small {
    height: 28px !important;
    line-height: 28px !important;
    padding: 0 var(--mobile-spacing-md) !important;
    font-size: var(--mobile-text-sm) !important;
  }
  
  /* Remove excessive whitespace */
  .section {
    padding-top: var(--mobile-spacing-sm) !important;
    padding-bottom: var(--mobile-spacing-sm) !important;
  }
  
  /* Optimize viewport usage */
  .container-fluid {
    padding: 0 var(--mobile-spacing-xs) !important;
  }
  
  /* Make tables more compact */
  table {
    font-size: var(--mobile-text-sm) !important;
  }
  
  th, td {
    padding: var(--mobile-spacing-xs) !important;
  }
  
  /* Compact modals */
  .modal {
    width: 95% !important;
    max-height: 90% !important;
    margin: 5% auto !important;
  }
  
  .modal-content {
    padding: var(--mobile-spacing-md) !important;
  }
  
  .modal-footer {
    padding: var(--mobile-spacing-sm) var(--mobile-spacing-md) !important;
  }
  
  /* Remove unnecessary spacing from lists */
  ul, ol {
    margin: 0 !important;
    padding-left: var(--mobile-spacing-lg) !important;
  }
  
  li {
    margin-bottom: 0 !important;
  }
  
  /* Compact breadcrumbs */
  .breadcrumb {
    margin: 0 !important;
    padding: var(--mobile-spacing-xs) 0 !important;
    font-size: var(--mobile-text-sm) !important;
  }
  
  /* Optimize for very small screens */
  @media (max-width: 480px) {
    .hero-title {
      font-size: 1.5rem !important;
    }
    
    .hero-subtitle {
      font-size: var(--mobile-text-md) !important;
    }
    
    .food-slides {
      height: 150px !important;
    }
    
    .food-carousel {
      max-width: 240px !important;
    }
    
    .cta-button {
      padding: var(--mobile-spacing-sm) var(--mobile-spacing-md) !important;
    }
    
    .section-header h2 {
      font-size: 1.2rem !important;
    }
    
    .feature-icon {
      width: 35px !important;
      height: 35px !important;
      font-size: 1rem !important;
    }
  }
}

/* Portrait orientation optimization */
@media (max-width: 768px) and (orientation: portrait) {
  .hero-section {
    min-height: 45vh !important; /* Even more compact in portrait */
    padding: 0.25rem !important;
  }
  
  .hero-buttons {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    margin-top: var(--mobile-spacing-md) !important;
  }
  
  .hero-title {
    font-size: 1.6rem !important;
  }
  
  .hero-subtitle {
    font-size: 0.8rem !important;
    margin-bottom: 0.75rem !important;
  }
  
  .food-carousel {
    max-width: 240px !important;
    margin: 0.5rem auto !important;
  }
  
  .food-slides {
    height: 140px !important;
  }
}

/* Landscape orientation optimization for mobile */
@media (max-width: 768px) and (orientation: landscape) {
  .hero-section {
    min-height: 60vh !important;
    padding: var(--mobile-spacing-xs) !important;
  }
  
  .hero-content {
    grid-template-columns: 1fr 1fr !important;
    gap: var(--mobile-spacing-sm) !important;
  }
  
  .food-carousel {
    max-width: 180px !important;
  }
  
  .food-slides {
    height: 120px !important;
  }
  
  .hero-title {
    font-size: 1.4rem !important;
  }
  
  .hero-subtitle {
    font-size: 0.75rem !important;
  }
  
  .cta-button {
    padding: var(--mobile-spacing-xs) var(--mobile-spacing-md) !important;
    font-size: 0.75rem !important;
  }
}

/* Extra small screens (iPhone SE, small Android phones) */
@media (max-width: 375px) {
  .hero-section {
    min-height: 40vh !important;
    padding: 0.25rem !important;
  }
  
  .hero-title {
    font-size: 1.3rem !important;
    margin-bottom: 0.25rem !important;
  }
  
  .hero-subtitle {
    font-size: 0.7rem !important;
    margin-bottom: 0.5rem !important;
  }
  
  .food-carousel {
    max-width: 200px !important;
    margin: 0.5rem auto !important;
  }
  
  .food-slides {
    height: 120px !important;
  }
  
  .cta-button {
    padding: var(--mobile-spacing-xs) var(--mobile-spacing-sm) !important;
    font-size: 0.7rem !important;
  }
  
  .feature-card {
    padding: var(--mobile-spacing-sm) !important;
  }
  
  .feature-icon {
    width: 30px !important;
    height: 30px !important;
    font-size: 0.9rem !important;
    margin-bottom: var(--mobile-spacing-xs) !important;
  }
  
  .feature-card h3 {
    font-size: 0.8rem !important;
  }
  
  .feature-card p {
    font-size: 0.7rem !important;
  }
  
  .section-header h2 {
    font-size: 1rem !important;
  }
  
  .section-header p {
    font-size: 0.7rem !important;
  }
  
  .access-text h2 {
    font-size: 1rem !important;
  }
  
  .step-number {
    width: 24px !important;
    height: 24px !important;
    font-size: 0.75rem !important;
  }
  
  .step-content h4 {
    font-size: 0.8rem !important;
  }
  
  .step-content p {
    font-size: 0.7rem !important;
  }
  
  .phone-mockup {
    max-width: 140px !important;
  }
  
  .screen-content {
    height: 140px !important;
    padding: 0.25rem !important;
  }
  
  .mock-item {
    height: 20px !important;
    margin-bottom: 0.125rem !important;
  }
  
  .app-footer {
    padding: 0.75rem 0.25rem 0.5rem !important;
  }
}
