/* Add custom CSS styles below */
body {
  background-color: #f5f1e8;
}

.navbar-brand img {
  max-height: 10rem;
}

.sicon-shopping-bag,
.sicon-user-circle,
.navbar-brand {
  animation: pulse 1s infinite ease-in-out alternate;
}

@keyframes pulse {
  from {
    transform: scale(0.8);
  }
  to {
    transform: scale(1.2);
  }
}

i.header-btn__icon.sicon-user-circle,
i.header-btn__icon.sicon-shopping-bag {
  background-color: #8a9c28;
  color: #ffffff;
}

.mm-spn.mm-spn--light {
  color: #ffffff;
  background: #a4b836;
}

.main-nav-container.fixed-pinned .navbar-brand img {
  max-height: 100px;
}

.navbar-brand {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}

.flex.items-stretch.justify-between.relative {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.flex.items-center.justify-end {
  display: flex;
}

.s-block .s-block--fixed-banner .container {
  padding: 0px !important;
}

.s-slider-block__title h2,
.s-reviews-header,
.s-block__title h2 {
  color: #a4b836 !important;
  font-size: 1.5rem;
}

.s-button-primary-outline,
.s-button-primary,
.btn--collapse {
  background: linear-gradient(
    135deg,
    #a4b836 0%,
    #c5d456 50%,
    #e8dcc8 100%
  ) !important;
  color: #4a5228;
  border: none;
}

.s-product-card-entry {
  border: 1px solid #a4b836;
  transition: box-shadow 0.3s cubic-bezier(0.17, 0.67, 0.83, 0.67),
    transform 0.25s cubic-bezier(0.17, 0.67, 0.83, 0.67);
}

.s-product-card-entry:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 8px 24px rgba(164, 184, 54, 0.15);
  border-color: #a4b836;
}

.two-row .banner-entry:first-child {
  grid-column: span 1 / span 1;
  grid-row: span 1 / span 1 !important;
}

.banner-entry {
  border-radius: 1rem;
  border: 1px solid #b8c84d;
}

.s-product-card-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.s-product-card-content-sub {
  margin-bottom: 1.25rem;
  display: flex;
  width: 100%;
  align-items: center;
  flex-direction: column;
}

.s-product-card-content-footer {
  margin-top: auto;
  display: flex;
  width: 100%;
  align-items: center;
}

/* Add to cart button animation */
.s-product-card-entry .s-button-element.s-button-btn:hover {
  transform: scale(1.08);
  background-color: #a4b836;
  color: #fff;
  transition: transform 0.22s cubic-bezier(0.17, 0.67, 0.83, 0.67),
    background 0.22s;
}

.s-button-btn,
.s-price-range-number-input {
  border-radius: 0rem;
}

.s-reviews-testimonial {
  background: linear-gradient(135deg, #a4b836 0%, #e8dcc8 100%);
}

footer {
  display: flex !important;
  justify-content: center !important;
  flex-direction: column;
}

/* Footer with solid colors only */
.footer-is-light .store-footer {
  background-color: #ede8dd !important;
}

.footer-is-light .store-footer .store-footer__inner {
  border-radius: 70px;
  background-color: #b8c84d !important;
  padding: 2.5rem;
}

.store-footer h3 {
  color: #4a5228 !important;
}

.store-footer p,
.store-footer a {
  color: #6b7c2e !important;
}

.store-footer a:hover {
  color: #8a9c28 !important;
}

/* Mobile styles */
@media (max-width: 611px) {
  .lazy__bg {
    height: 100%;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center !important;
  }
  .banner-entry.square-photos h3 {
    display: none;
  }
  .banner-entry h3.text-with-border span {
    -webkit-box-orient: unset;
  }
  .banner-entry {
    height: 90px !important;
  }
  .container.grid.grid-col-1.lg\:grid-cols-6.gap-8.lg\:gap-6 {
    display: grid;
    justify-content: center;
    justify-items: center;
  }
}

@media (max-width: 450px) {
  .store-footer a {
    display: flex;
    justify-content: center;
  }
  .store-footer h3 {
    text-align: center;
  }
  .lg\:col-span-2.rtl\:lg\:pl-20.ltr\:lg\:pr-20 {
    text-align: center;
  }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-6 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.copyright-text p,
.text-gray-800 {
  color: #8a9c28 !important;
}

.s-payments-list-item {
  background-color: #b8c84d;
}

/* Mobile 2 columns for category banners */
@media (max-width: 767px) {
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .gap-3 {
    gap: 12px !important;
  }

  .sm\:gap-8 {
    gap: 12px !important;
  }

  .banner-entry.square-photos {
    /* min-height: 150px; */
    width: 100%;
  }

  .banner-entry.square-photos h3.text-with-border span {
    font-size: 0.85rem !important;
    padding: 4px 10px !important;
  }

  .banner-entry.square-photos .lazy__bg {
    height: 100%;
    /* background-size: 130% 80% !important; */
  }
}

/* Tablet - 3 columns */
@media (min-width: 768px) and (max-width: 1023px) {
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

/* Desktop - 3 columns */
@media (min-width: 1024px) {
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

#mainnav > .inner > .container {
  border-bottom: 5px solid #a4b836;
}

.s-product-card-entry .s-button-element.s-button-btn:hover {
  animation: btn-bounce 0.8s cubic-bezier(0.35, 1.3, 0.46, 0.93);
  background-color: #a4b836;
  color: #fff;
  transform: none;
}

@keyframes btn-bounce {
  0% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.1);
  }
  40% {
    transform: scale(0.96);
  }
  60% {
    transform: scale(1.06);
  }
  80% {
    transform: scale(0.98);
  }
  100% {
    transform: scale(1);
  }
}

.s-product-card-wishlist-btn .sicon-heart {
  animation: heart-bounce-vertical 1.3s infinite
    cubic-bezier(0.46, 0.03, 0.52, 0.96);
}

@keyframes heart-bounce-vertical {
  0% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(-7px);
  }
  40% {
    transform: translateY(0);
  }
  55% {
    transform: translateY(-4px);
  }
  70% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}

.banner-entry {
  opacity: 0;
  transform: translateY(40px); /* Start off-screen below */
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.banner-entry.visible {
  opacity: 1;
  transform: translateY(0); /* Move to final position */
}

.s-block {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.s-block.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.s-block--banners + .s-block--banners {
  margin-top: 0.75rem !important; /* remove top margin */
  gap: 0.75rem; /* or whatever matches your grid spacing */
}