/* Mobile Optimization for Buuhan App Container */
/* Fix for horizontal overflow on mobile devices */

/* 1. Hard overflow guards */
#fmp-app .buuhan-container,
.buuhan-container {
  max-width: 100% !important;
  width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

#fmp-app .buuhan-container *,
.buuhan-container * {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

#fmp-app .buuhan-container a,
.buuhan-container a,
#fmp-app .buuhan-container span,
.buuhan-container span,
#fmp-app .buuhan-container div,
.buuhan-container div,
#fmp-app .buuhan-container p,
.buuhan-container p {
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
  hyphens: auto !important;
}

/* 2. Scrollable tables in report output */
#fmp-app .buuhan-container table,
.buuhan-container table,
#fmp-app .buuhan-container .fpr-table,
.buuhan-container .fpr-table {
  display: block !important;
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  margin: 0 !important;
  border-collapse: collapse !important;
}

#fmp-app .buuhan-container table tr,
.buuhan-container table tr,
#fmp-app .buuhan-container .fpr-table .fpr-row,
.buuhan-container .fpr-table .fpr-row {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
}

/* 3. Mobile grid layout for ranking cards */
@media screen and (max-width: 768px) {
  #fmp-app .buuhan-container .fpr-fitness-cards,
  .buuhan-container .fpr-fitness-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 12px !important;
  }
  
  #fmp-app .buuhan-container .fpr-fitness-card,
  .buuhan-container .fpr-fitness-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
  }

  /* CTA layout: keep cards vertical, but make actions compact */
  #fmp-app .buuhan-container .fpr-fc-cta,
  .buuhan-container .fpr-fc-cta {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  /* First action (usually View Profile) spans full width */
  #fmp-app .buuhan-container .fpr-fc-cta > a:first-child,
  .buuhan-container .fpr-fc-cta > a:first-child,
  #fmp-app .buuhan-container .fpr-fc-cta > button:first-child,
  .buuhan-container .fpr-fc-cta > button:first-child {
    grid-column: 1 / -1 !important;
  }

  /* Make buttons less tall on mobile */
  #fmp-app .buuhan-container .fpr-fc-cta a,
  .buuhan-container .fpr-fc-cta a,
  #fmp-app .buuhan-container .fpr-fc-cta button,
  .buuhan-container .fpr-fc-cta button,
  #fmp-app .buuhan-container .btn,
  .buuhan-container .btn {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
    justify-content: center !important;
    min-width: 0 !important;
  }
  
  /* Fix card layout */
  #fmp-app .buuhan-container .fpr-fc-top,
  .buuhan-container .fpr-fc-top {
    flex-wrap: wrap !important;
  }
  
  #fmp-app .buuhan-container .fpr-fc-body,
  .buuhan-container .fpr-fc-body {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  
  #fmp-app .buuhan-container .fpr-fc-avatar,
  .buuhan-container .fpr-fc-avatar {
    margin-right: 0 !important;
    margin-bottom: 12px !important;
  }
  
  /* 4. Override "nowrap" rules */
  #fmp-app .buuhan-container .fpr-fc-name,
  .buuhan-container .fpr-fc-name,
  #fmp-app .buuhan-container .fpr-fc-meta,
  .buuhan-container .fpr-fc-meta,
  #fmp-app .buuhan-container .fpr-fc-detail,
  .buuhan-container .fpr-fc-detail {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
  }
  
  /* Fix for badges and social pills */
  #fmp-app .buuhan-container .fpr-fc-badges,
  .buuhan-container .fpr-fc-badges,
  #fmp-app .buuhan-container .fpr-fc-social,
  .buuhan-container .fpr-fc-social {
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  
  /* Ensure no horizontal scrolling containers */
  #fmp-app .buuhan-container .container,
  .buuhan-container .container,
  #fmp-app .buuhan-container .quality-metrics,
  .buuhan-container .quality-metrics,
  #fmp-app .buuhan-container .rating-categories,
  .buuhan-container .rating-categories {
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  

  /* Option 1 (default): never force horizontal scrolling on mobile */
  #fmp-app .buuhan-container .fpr-fitness-cards.horizontal-scroll,
  .buuhan-container .fpr-fitness-cards.horizontal-scroll {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }
}

/* iPhone-specific fixes */
@supports (-webkit-touch-callout: none) {
  #fmp-app .buuhan-container,
  .buuhan-container {
    -webkit-overflow-scrolling: touch !important;
  }
  
  #fmp-app .buuhan-container .fpr-fitness-card,
  .buuhan-container .fpr-fitness-card {
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
  }
}

/* Fix for very small screens */
@media screen and (max-width: 375px) {
  #fmp-app .buuhan-container .fpr-fc-top .fpr-fc-left,
  .buuhan-container .fpr-fc-top .fpr-fc-left {
    flex-wrap: wrap !important;
  }
  
  #fmp-app .buuhan-container .fpr-fc-rank,
  .buuhan-container .fpr-fc-rank {
    font-size: 14px !important;
    margin-right: 4px !important;
  }
  
  #fmp-app .buuhan-container .fpr-fc-award,
  .buuhan-container .fpr-fc-award {
    font-size: 12px !important;
    padding: 2px 6px !important;
  }
  
  #fmp-app .buuhan-container .fpr-pill,
  .buuhan-container .fpr-pill {
    font-size: 10px !important;
    padding: 2px 6px !important;
  }
}