/* Custom Styles */
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.navbar {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.card {
  transition: transform 0.2s;
  border: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

[data-bs-theme="dark"] .card {
  background-color: #2b3035;
  color: #fff;
}

[data-bs-theme="dark"] .table {
  color: #fff;
}

.carousel-item h1 {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}
.carousel-item h2,
.carousel-item h3,
.carousel-item p {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}

/* Mobile Responsive Tables (Card View) */
@media screen and (max-width: 768px) {
  .table-responsive table, 
  .table-responsive thead, 
  .table-responsive tbody, 
  .table-responsive th, 
  .table-responsive td, 
  .table-responsive tr {
    display: block;
  }

  .table-responsive thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .table-responsive tr {
    border: 1px solid #ccc;
    margin-bottom: 0.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  }
  
  [data-bs-theme="dark"] .table-responsive tr {
    border-color: #495057;
  }

  .table-responsive td {
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    padding-left: 50% !important;
    text-align: right;
  }
  
  [data-bs-theme="dark"] .table-responsive td {
    border-bottom: 1px solid #495057;
  }

  .table-responsive td:before {
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    width: 45%;
    padding-right: 10px;
    white-space: nowrap;
    text-align: left;
    font-weight: bold;
    content: attr(data-label);
  }
  
  .table-responsive td:last-child {
      border-bottom: 0;
  }
}
