:root {
  --pbh-brand: #5da130;
  --pbh-brand-dark: #3f7a1c;
  --pbh-brand-light: #f1f8ea;
  --pbh-sale: #e2574c;
  --pbh-price: #3f9142;
}

a { color: var(--pbh-brand); }
a:hover { color: var(--pbh-brand-dark); }

.btn-primary,
#header .header-top,
.dropdown-item.selected,
.block-category .category-name {
  background-color: var(--pbh-brand) !important;
  border-color: var(--pbh-brand) !important;
}
.btn-primary:hover {
  background-color: var(--pbh-brand-dark) !important;
  border-color: var(--pbh-brand-dark) !important;
}

.product-flag,
.product-flag.discount,
.product-flag.on-sale,
span.on-sale,
.badge-danger {
  background-color: var(--pbh-sale) !important;
}

.current-price,
.current-price-value,
.product-price,
.regular-price + .current-price,
span.price {
  color: var(--pbh-price) !important;
}

.card,
.product-miniature,
#products .product-miniature .thumbnail-container {
  border-radius: 1rem !important;
}

footer#footer,
#footer {
  background-color: #111827 !important;
}

/* Hero slider — dark green gradient overlay, rounded corners */
#carousel {
  border-radius: 1rem !important;
  overflow: hidden;
}
#carousel .carousel-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(63,122,28,.85) 30%, rgba(63,122,28,.15));
  z-index: 1;
}
#carousel .carousel-caption {
  z-index: 2;
  text-align: left;
  left: 5%;
  right: auto;
  max-width: 420px;
}

/* Product grid cards — rounded, hover lift, matching mockup */
.js-product-miniature,
.product-miniature {
  border-radius: 1rem !important;
  border: 1px solid #e5e7eb !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.js-product-miniature:hover,
.product-miniature:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(93,161,48,.16);
}
.thumbnail-container {
  border-radius: 0.75rem !important;
  overflow: hidden;
}

/* Section headings */
#content h2, .h2 {
  font-weight: 800 !important;
  color: #111827 !important;
}

/* Hero slider — dark green gradient overlay, rounded corners */
#carousel {
  border-radius: 1rem !important;
  overflow: hidden;
}
#carousel .carousel-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(63,122,28,.85) 30%, rgba(63,122,28,.15));
  z-index: 1;
}
#carousel .carousel-caption {
  z-index: 2;
  text-align: left;
  left: 5%;
  right: auto;
  max-width: 420px;
}

/* Product grid cards — rounded, hover lift, matching mockup */
.js-product-miniature,
.product-miniature {
  border-radius: 1rem !important;
  border: 1px solid #e5e7eb !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.js-product-miniature:hover,
.product-miniature:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(93,161,48,.16);
}
.thumbnail-container {
  border-radius: 0.75rem !important;
  overflow: hidden;
}

/* Section headings */
#content h2, .h2 {
  font-weight: 800 !important;
  color: #111827 !important;
}
