/*
  MK2030 RESPONSIVE SYSTEM v1.0
  Mizik Kreyol mobile, tablet, desktop, and large-screen layout helpers
  Made with Love. Haiti at Heart. Built for the World.
*/

:root {
  --mk-break-xs: 420px;
  --mk-break-sm: 640px;
  --mk-break-md: 860px;
  --mk-break-lg: 1100px;
  --mk-break-xl: 1380px;
}

.mk-mobile-only {
  display: none !important;
}

.mk-desktop-only {
  display: initial !important;
}

.mk-fluid {
  width: 100%;
  max-width: 100%;
}

.mk-scroll-x {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.mk-no-scrollbar {
  scrollbar-width: none;
}

.mk-no-scrollbar::-webkit-scrollbar {
  display: none;
}

.mk-responsive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 1rem;
}

.mk-responsive-grid-lg {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
  gap: 1rem;
}

.mk-wrap {
  flex-wrap: wrap;
}

.mk-nowrap {
  flex-wrap: nowrap;
}

.mk-mobile-stack {
  display: flex;
  gap: 1rem;
}

.mk-touch-target {
  min-width: 44px;
  min-height: 44px;
}

@media (max-width: 1200px) {
  .mk-xl-stack {
    grid-template-columns: 1fr !important;
  }

  .mk-xl-hide {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  .mk-lg-stack,
  .mk-grid-2,
  .mk-grid-3,
  .mk-grid-4,
  .mk-split,
  .mk-split-reverse,
  .mk-dashboard-layout,
  .mk-sidebar-layout,
  .mk-admin-layout,
  .mk-profile-layout,
  .mk-event-featured,
  .mk-ai-grid,
  .mk-chart-grid {
    grid-template-columns: 1fr !important;
  }

  .mk-lg-hide {
    display: none !important;
  }

  .mk-lg-center {
    text-align: center;
  }

  .mk-lg-full {
    width: 100% !important;
  }

  .mk-aside,
  .mk-sidebar,
  .mk-dash-sidebar,
  .mk-admin-sidebar {
    position: static !important;
    height: auto !important;
  }
}

@media (max-width: 860px) {
  .mk-md-stack,
  .mk-form-grid,
  .mk-choice-grid,
  .mk-stepper,
  .mk-market-stats,
  .mk-revenue-grid,
  .mk-membership-grid,
  .mk-ai-card-grid,
  .mk-profile-stats,
  .mk-profile-catalog,
  .mk-event-grid {
    grid-template-columns: 1fr !important;
  }

  .mk-md-hide {
    display: none !important;
  }

  .mk-md-center {
    text-align: center;
  }

  .mk-mobile-stack {
    flex-direction: column;
  }

  .mk-row,
  .mk-row-between,
  .mk-form-actions,
  .mk-hero-actions,
  .mk-profile-actions,
  .mk-events-actions,
  .mk-admin-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .mk-btn,
  .mk-form-actions .mk-btn,
  .mk-hero-actions .mk-btn,
  .mk-profile-actions .mk-btn,
  .mk-events-actions .mk-btn,
  .mk-admin-actions .mk-btn {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .mk-mobile-only {
    display: initial !important;
  }

  .mk-desktop-only {
    display: none !important;
  }

  .mk-sm-hide {
    display: none !important;
  }

  .mk-container,
  .mk-container-wide,
  .mk-container-narrow,
  .mk-shell,
  .mk-dashboard-wrap,
  .mk-admin-layout,
  .mk-profile,
  .mk-events,
  .mk-marketplace,
  .mk-ai-discovery,
  .mk-economy,
  .mk-analytics,
  .mk-chat-page {
    width: min(100% - 1rem, 1280px) !important;
  }

  .mk-section {
    padding: 2.5rem 0 !important;
  }

  .mk-title-xl,
  .mk-hero-center h1,
  .mk-dash-title,
  .mk-admin-header h1,
  .mk-profile-title h1,
  .mk-events-hero h1,
  .mk-ai-hero h1,
  .mk-economy-hero h1,
  .mk-analytics-header h1 {
    font-size: clamp(2.2rem, 15vw, 3.8rem) !important;
    letter-spacing: -0.055em;
  }

  .mk-panel,
  .mk-card,
  .mk-dashboard-card,
  .mk-dash-card,
  .mk-admin-card,
  .mk-profile-card,
  .mk-form-panel,
  .mk-event-card,
  .mk-product,
  .mk-ai-panel {
    border-radius: var(--mk-radius-lg) !important;
  }

  .mk-table,
  .mk-admin-table {
    min-width: 680px;
  }

  .mk-player-inner {
    grid-template-columns: 1fr !important;
    padding: 1rem 0;
  }

  .mk-toast {
    right: 0.75rem !important;
    bottom: 0.75rem !important;
    width: calc(100% - 1.5rem) !important;
  }
}

@media (max-width: 420px) {
  .mk-xs-hide {
    display: none !important;
  }

  .mk-brand-text span,
  .mk-logo small {
    display: none !important;
  }

  .mk-title-lg,
  .mk-section-head h1,
  .mk-section-head h2 {
    font-size: clamp(1.9rem, 14vw, 3.1rem) !important;
  }

  .mk-btn {
    padding: 0.85rem 1rem;
  }
}
