body {
  font-family: "Poppins", sans-serif;
}

* {
  box-sizing: border-box;
}

.container {
  max-width: 1200px;
}

/* Custom styles for mobile menu overlay */
#mobile-menu-overlay {
  transition: opacity 0.3s ease-in-out;
}

#mobile-menu.open {
  transform: translateX(0);
}

/* Custom styles for slider dots */
.slider-dot.active {
  background-color: #f97316; /* orange-500 */
}

/* Ensure images in cards are uniform height */
#products .bg-white img {
  height: 12rem; /* 48 * 0.25rem = 12rem */
  object-fit: cover;
}

/* Cookie banner animation */
#cookie-banner.show {
  transform: translateY(0);
}

/* Responsive Typography for Headings */
@media (min-width: 1024px) {
  h1 {
    font-size: 3.75rem; /* 60px */
  }
  h2 {
    font-size: 2.5rem; /* 40px */
  }
  h3 {
    font-size: 1.875rem; /* 30px */
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  h1 {
    font-size: 3rem; /* 48px */
  }
  h2 {
    font-size: 2.25rem; /* 36px */
  }
  h3 {
    font-size: 1.5rem; /* 24px */
  }
}

@media (max-width: 767px) {
  h1 {
    font-size: 2rem; /* 32px */
  }
  h2 {
    font-size: 1.75rem; /* 28px */
  }
  h3 {
    font-size: 1.25rem; /* 20px */
  }
  header .text-2xl {
    font-size: 1.25rem; /* 20px for site name */
  }
}

/* Utility to prevent text decoration on buttons, if not already handled by Tailwind */
button {
  text-decoration: none;
}

/* Ensure email in footer breaks correctly */
footer a[href^="mailto:"] {
  word-break: break-all;
}
/* Base styles for the compliance core slot container */
.complianceCoreSlot {
  padding-right: 25px; /* Right padding for the slot content */
  padding-bottom: 20px; /* Bottom padding for the slot content */
  padding-left: 25px; /* Left padding for the slot content */
  /* Consider adding max-width and margin: 0 auto; for better readability on wide screens,
       but it's not explicitly requested here. */
}

/* Heading styles */
.complianceCoreSlot h1 {
  font-size: 1.8em; /* Moderate size for the main heading */
  line-height: 1.2; /* Improved readability for headings */
  margin-bottom: 0.8em; /* Space below the heading */
  font-weight: bold; /* Ensure heading is bold */
}

.complianceCoreSlot h2 {
  font-size: 1.5em; /* Moderate size for a sub-heading */
  line-height: 1.3;
  margin-bottom: 0.7em;
  font-weight: bold;
}

.complianceCoreSlot h3 {
  font-size: 1.2em; /* Smaller heading, good for sections */
  line-height: 1.4;
  margin-top: 1.4em;
  margin-bottom: 0.6em;
  font-weight: bold;
}

.complianceCoreSlot h4 {
  font-size: 1.1em; /* Slightly larger than body text, for minor titles */
  line-height: 1.5;
  margin-top: 1.3em;
  margin-bottom: 0.5em;
  font-weight: bold;
}

.complianceCoreSlot h5 {
  font-size: 1em; /* Same as body text size, but bold, for small distinctions */
  line-height: 1.5;
  margin-top: 1.2em;
  margin-bottom: 0.4em;
  font-weight: bold;
}

/* Paragraph styles */
.complianceCoreSlot p {
  font-size: 1em; /* Standard body text size */
  line-height: 1.6; /* Good readability for paragraphs */
  margin-bottom: 1em; /* Space between paragraphs */
}

/* Unordered list styles */
.complianceCoreSlot ul {
  list-style-type: disc; /* Default disc bullet style */
  margin-top: 1em; /* Space above the list */
  margin-bottom: 1em; /* Space below the list */
  padding-left: 25px; /* Indentation for list items (where bullets appear) */
}

/* List item styles */
.complianceCoreSlot li {
  line-height: 1.5; /* Readability for individual list items */
  margin-bottom: 0.5em; /* Space between list items */
}

#payment .bi {
  color: #f97316;
  font-size: 40px;
}

footer img {
  filter: invert(1);
}

@media (max-width: 767px) {
  #featured-product {
    .flex.items-center.justify-between.mb-6 {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
    }
  }

  .bg-white.rounded-lg.shadow-xl.p-6.flex.flex-col {
    .flex.items-center.justify-between.mt-auto {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
    }
  }
  #cart-items-container{
    .flex.items-center.space-x-4.border-b.border-gray-100.pb-4{
        flex-wrap: wrap;
        align-items: center !important;
        justify-content: center;
        text-align: center;

        .flex.items-center.mt-2{
            justify-content: center;
        }
    }
  }

  #cookie-banner{
    .flex.justify-end.space-x-3{
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px
    }

    #accept-all-cookies{
        margin: 0 !important;
    }
  }
}


.wr{
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    main{
        flex: 1;
    }
}