/**
 * Responsive Tables CSS
 * Makes tables created with CKEditor responsive on mobile devices
 */

/* Basic responsive table styling */
#accordion-nutritional table {
  width: 100% !important;
  margin-bottom: 1rem !important;
  border-collapse: collapse !important;
  max-width: 100% !important;
  table-layout: auto !important;
}

#accordion-nutritional table th,
#accordion-nutritional table td {
  padding: 0.5rem !important;
  border: 1px solid #dee2e6 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Override any CKEditor inline styles that might cause issues */
#accordion-nutritional table[style*="width"],
#accordion-nutritional table[width] {
  width: 100% !important;
  max-width: 100% !important;
}

#accordion-nutritional td[style*="width"],
#accordion-nutritional th[style*="width"],
#accordion-nutritional td[width],
#accordion-nutritional th[width] {
  width: auto !important;
}

/* Ensure all images in tables are responsive */
#accordion-nutritional table img {
  max-width: 100% !important;
  height: auto !important;
}

/* Responsive behavior for mobile */
@media (max-width: 767.98px) {
  /* Option 1: Horizontal scroll for wide tables */
  .table-responsive,
  #accordion-nutritional .table-responsive {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    -ms-overflow-style: -ms-autohiding-scrollbar !important;
    border: 0 !important;
  }
  
  /* Container for tables */
  .table-container {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-bottom: 1rem !important;
  }
  
  /* Wrap tables in a responsive container if not already wrapped */
  #accordion-nutritional table:not(.table-stack) {
    min-width: 100% !important;
    border-right-width: 0 !important;
    border-left-width: 0 !important;
  }
  
  /* Option 2: Stack layout for certain tables */
  #accordion-nutritional .table-stack {
    display: block !important;
    width: 100% !important;
  }
  
  #accordion-nutritional .table-stack thead {
    display: none !important; /* Hide headers for stacked view */
  }
  
  #accordion-nutritional .table-stack tbody,
  #accordion-nutritional .table-stack tr {
    display: block !important;
    width: 100% !important;
  }
  
  #accordion-nutritional .table-stack tr {
    margin-bottom: 1rem !important;
    border: 1px solid #dee2e6 !important;
  }
  
  #accordion-nutritional .table-stack td {
    display: block !important;
    text-align: right !important;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    position: relative !important;
    padding-left: 50% !important;
    min-height: 30px !important;
  }
  
  #accordion-nutritional .table-stack td:last-child {
    border-bottom: 0 !important;
  }
  
  #accordion-nutritional .table-stack td:before {
    content: attr(data-label) !important;
    position: absolute !important;
    left: 0.5rem !important;
    width: 45% !important;
    text-align: left !important;
    font-weight: bold !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  
  /* Nutrition table specific styling */
  #accordion-nutritional table {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
  }
  
  #accordion-nutritional th,
  #accordion-nutritional td {
    padding: 0.4rem !important;
    word-break: break-word !important;
  }
  
  /* Ensure nutrition facts display better on mobile */
  #accordion-nutritional table.nutrition-facts {
    border-collapse: collapse !important;
    border: 1px solid #000 !important;
    width: 100% !important;
    margin-bottom: 1rem !important;
  }
  
  #accordion-nutritional table.nutrition-facts th,
  #accordion-nutritional table.nutrition-facts td {
    border: 1px solid #000 !important;
    padding: 0.3rem 0.5rem !important;
  }
  
  #accordion-nutritional table.nutrition-facts th {
    font-weight: bold !important;
    background-color: #f8f9fa !important;
  }
  
  /* Handle very small screens */
  @media (max-width: 375px) {
    #accordion-nutritional table {
      font-size: 0.75rem !important;
    }
    
    #accordion-nutritional th,
    #accordion-nutritional td {
      padding: 0.3rem !important;
    }
    
    #accordion-nutritional .table-stack td:before {
      width: 40% !important;
      font-size: 0.7rem !important;
    }
    
    #accordion-nutritional .table-stack td {
      padding-left: 42% !important;
    }
  }
}

/* Add visual indication for scrollable tables */
.table-responsive:after {
  content: "➝ Scroll to view more ➝";
  display: block;
  text-align: right;
  font-size: 0.7rem;
  color: #6c757d;
  padding: 0.25rem;
  margin-top: 0.25rem;
  opacity: 0.7;
}

/* Visual indicator only on mobile */
@media (min-width: 768px) {
  .table-responsive:after {
    display: none;
  }
}

/* Add this script tag to automatically enhance tables for mobile */
#accordion-nutritional-script {
  display: none;
} 