@media (max-width: 768px) {
    /* === 1. General Page & Header Adjustments === */
    header {
        padding: 10px 15px !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
    }

    nav#main-nav {
        /* Forces nav links to display inline (or wrap) */
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end;
        width: 100%; /* Ensure nav takes full width below logo */
        margin-top: 5px; /* Small space between logo/cart and nav links */
    }

    nav a {
        margin-left: 15px !important;
        font-size: 0.9rem;
    }

    .menu-toggle {
        display: none !important; /* Hide the hamburger icon */
    }

    /* General responsive adjustments */
    .hero-overlay { padding: 2rem; }
    .product-card img { height: 160px; } /* Slightly smaller product image */
    .category-section h2 { font-size: 1.7rem; }
    table, th, td { font-size: 0.8rem; }
    
    /* Ensure overall content is not too wide */
    #cart-container {
        padding: 1rem 0.5rem;
        margin: 1rem auto;
    }

    /* === 2. CRITICAL: Cart Row Grid Fix === */

    /* Define the Mobile Grid Template: 2 Columns, 5 Rows for Stacking */
    .cart-header,
    .cart-row {
        /* 2 Columns: Image (80px) and Content (1fr) */
        grid-template-columns: 80px 1fr;
        /* 5 Rows: Name, Price, Subtotal, Quantity Controls, Remove Button */
        grid-template-rows: auto auto auto auto auto;
        gap: 0px 10px;
        padding: 15px 0;
        border-bottom: 2px dashed #eee; /* Clearer separation on mobile */
    }

    /* Hide the desktop header names */
    .cart-header {
        display: none;
    }

    /* Place Each Element into the New Grid using grid-area */
    
    /* Image goes top-left, spanning 3 content rows */
    .cart-img {
        grid-area: 1 / 1 / 4 / 2;
    }

    /* Product Name goes top-right */
    .cart-name {
        grid-area: 1 / 2 / 2 / 3;
        font-weight: bold;
        font-size: 1rem;
        text-align: left;
    }

    /* Price and Subtotal stack vertically below the name */
    .cart-price {
        grid-area: 2 / 2 / 3 / 3;
        text-align: left;
    }

    .cart-subtotal {
        grid-area: 3 / 2 / 4 / 3;
        text-align: left;
        font-weight: bold;
        margin-top: 5px;
    }

    /* Quantity controls go on a new line, full width */
    .cart-quantity {
        grid-area: 4 / 1 / 5 / 3; /* Spans both columns */
        justify-content: flex-start;
        margin-top: 10px;
        flex-wrap: wrap; 
        gap: 10px; /* Increased gap for better touch targets */
    }

    /* Remove button on its own line, full width */
    .remove-btn {
        grid-area: 5 / 1 / 6 / 3; /* Spans both columns on the fifth row */
        width: 100%;
        margin-left: 0;
        margin-top: 5px;
        text-align: center;
        padding: 8px;
    }
    
    /* Input field size within quantity control */
    .cart-quantity input {
        width: 45px;
        padding: 6px;
    }
    
    /* Ensure cart total is left-aligned and readable */
    #cart-total {
        text-align: left;
    }


    /* === 3. Checkout Form Adjustments === */
    #checkout-form {
        max-width: 100%; /* Allows form to fill container width */
        padding: 15px;
    }
    
    #form-checkout input,
    #form-checkout textarea,
    #form-checkout select {
        font-size: 0.95rem;
        padding: 10px;
    }
}

/* 07_about_values.css */
/* Values Section */
.values-section {
  padding: 3rem 1.5rem;
  text-align: center;
  background: #fff;
}

.values-section h2 {
  font-size: 2rem;
  margin-bottom: 2rem;
  font-weight: 600;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  justify-items: center;
}

.value-card {
  background: #fafafa;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 1.5rem;
  max-width: 300px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.value-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}

.value-card img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  margin-bottom: 1rem;
}

.value-card h3 {
  font-size: 1.2rem;
  color: #333;
  margin-bottom: 0.5rem;
}

.value-card p {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.5;
}

/* Responsive */
@media (max-width: 768px) {
  .values-section h2 {
    font-size: 1.6rem;
  }
  .value-card {
    max-width: 260px;
    padding: 1rem;
  }
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  justify-items: center;
  padding: 1rem 0;
}

.value-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 1.5rem;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.value-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

/* === OUR VALUES SECTION === */
.values-section {
  padding: 4rem 1rem;
  background-color: #fafafa;
  text-align: center;
  animation: fadeInUp 0.8s ease forwards;
}

.values-section h2 {
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 2rem;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  justify-items: center;
}

.value-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 1.5rem;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  max-width: 320px;
}

.value-card img {
  width: 64px;
  height: 64px;
  margin-bottom: 1rem;
}

.value-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Prevent background scroll when mobile menu open */
html.menu-open, body.menu-open {
  height: 100%;
  overflow: hidden;
}
/* --- Fix product detail layout overlap on mobile --- */
@media (max-width: 768px) {
  .product-detail {
    display: flex;
    flex-direction: column !important;
    align-items: center;
  }

  .product-detail .product-images,
  .product-detail .image-gallery {
    width: 100%;
    max-width: 100%;
    position: relative;
    height: auto !important;
  }

  .product-detail .product-images img,
  .product-detail .image-gallery img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .product-detail .product-info {
    width: 100%;
    padding: 15px 20px;
    text-align: left;
    position: relative !important;
    z-index: 2;
    background: rgba(0, 0, 0, 0.85);
    margin-top: 10px;
  }

  /* Ensure gallery navigation (if exists) doesn’t overlap */
  .product-detail .swiper-container,
  .product-detail .carousel {
    position: relative !important;
    z-index: 1;
  }
}

