:root {
  --mudesa-primary: #016837;
  --mudesa-secondary: #62A944;
  --mudesa-primary-900: #013c21;
  --mudesa-primary-700: #015a30;
  --mudesa-primary-500: #016837;
  --mudesa-primary-300: #5aa87a;
  --mudesa-primary-100: #e1f1e6;
  --mudesa-secondary-900: #3f7a2d;
  --mudesa-secondary-700: #4f8e35;
  --mudesa-secondary-500: #62A944;
  --mudesa-secondary-300: #8fc46f;
  --mudesa-secondary-100: #e9f4e3;

  /* Bootstrap overrides */
  --bs-primary: var(--mudesa-primary-500);
  --bs-secondary: var(--mudesa-secondary-500);
  --bs-primary-rgb: 1, 104, 55;
  --bs-secondary-rgb: 98, 169, 68;
  --bs-link-color: var(--mudesa-primary-500);
  --bs-link-color-rgb: var(--bs-primary-rgb);
  --bs-link-hover-color: #024f2b;
  --bs-primary-text-emphasis: var(--mudesa-primary-900);
  --bs-secondary-text-emphasis: var(--mudesa-secondary-900);
  --bs-primary-bg-subtle: var(--mudesa-primary-100);
  --bs-secondary-bg-subtle: var(--mudesa-secondary-100);
  --bs-primary-border-subtle: #b5ddc4;
  --bs-secondary-border-subtle: #c7e5bb;

  /* Button defaults */
  --bs-btn-color: #ffffff;
  --bs-btn-bg: var(--mudesa-primary-500);
  --bs-btn-border-color: var(--mudesa-primary-500);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--mudesa-primary-700);
  --bs-btn-hover-border-color: var(--mudesa-primary-700);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--mudesa-primary-900);
  --bs-btn-active-border-color: var(--mudesa-primary-900);
  --bs-btn-disabled-color: #ffffff;
  --bs-btn-disabled-bg: var(--mudesa-primary-700);
  --bs-btn-disabled-border-color: var(--mudesa-primary-700);
}

.text-primary-grad {
  background: linear-gradient(90deg, var(--mudesa-primary), var(--mudesa-secondary));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.bg-primary-grad {
  background: linear-gradient(90deg, var(--mudesa-primary), var(--mudesa-secondary)) !important;
}

.btn-primary-grad {
  background: linear-gradient(90deg, var(--mudesa-primary), var(--mudesa-secondary));
  border: 0;
  color: #ffffff;
}

.btn-primary-grad:hover,
.btn-primary-grad:focus {
  background: linear-gradient(90deg, #015a30, #55993d);
  color: #ffffff;
}

.link-primary-grad {
  background: linear-gradient(90deg, var(--mudesa-primary), var(--mudesa-secondary));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: none;
}

.btn-outline-primary {
  --bs-btn-color: var(--mudesa-primary-500);
  --bs-btn-border-color: var(--mudesa-primary-500);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--mudesa-primary-500);
  --bs-btn-hover-border-color: var(--mudesa-primary-500);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--mudesa-primary-700);
  --bs-btn-active-border-color: var(--mudesa-primary-700);
}

.btn-outline-secondary {
  --bs-btn-color: var(--mudesa-secondary-500);
  --bs-btn-border-color: var(--mudesa-secondary-500);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--mudesa-secondary-500);
  --bs-btn-hover-border-color: var(--mudesa-secondary-500);
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--mudesa-secondary-700);
  --bs-btn-active-border-color: var(--mudesa-secondary-700);
}

.btn-outline-theme {
  color: var(--bs-body-color);
  border-color: var(--bs-body-color);
}

.btn-outline-theme:hover,
.btn-outline-theme:focus {
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-color: var(--bs-body-color);
}

.product-thumb {
  border: 2px solid transparent;
  border-radius: 0.75rem;
  padding: 0;
  background: transparent;
  width: 100%;
  text-align: left;
}

.product-thumb img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.75rem;
}

.product-thumb.is-active {
  border-color: var(--mudesa-primary-500);
}

.mudesa-cart-thumb {
  width: 80px;
  height: 80px;
  object-fit: cover;
}

.mudesa-qty-group {
  max-width: 130px;
}



.product-thumbs {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.product-thumbs .product-thumb {
  width: 120px;
  flex: 0 0 auto;
}

.mudesa-hero-slider {
  max-height: 80vh;
}

.mudesa-hero-slider .swiper-slide img {
  max-height: 80vh;
  object-fit: cover;
}

.mudesa-product-card .card-img-scale-wrapper {
  aspect-ratio: 1 / 1;
}

.mudesa-product-card .card-img-scale-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mudesa-card-title {
  margin-bottom: 0;
  line-height: 1.3;
  min-height: 2.6em;
}

.mudesa-product-card .btn {
  margin-top: 1rem;
}

header .mudesa-nav-cta {
  background: var(--mudesa-secondary-500);
  color: #ffffff !important;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
}

header .mudesa-nav-cta:hover,
header .mudesa-nav-cta:focus {
  background: var(--mudesa-primary-500);
  color: #ffffff !important;
}

header .mudesa-auth-login {
  background: #ffffff;
  color: #0b0b0b;
  border: 0;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}

header .mudesa-auth-login:hover,
header .mudesa-auth-login:focus {
  background: #f4f4f4;
  color: #0b0b0b;
}

header .mudesa-auth-register {
  background: var(--mudesa-primary-500);
  color: #ffffff;
  border: 0;
}

header .mudesa-auth-register:hover,
header .mudesa-auth-register:focus {
  background: var(--mudesa-primary-700);
  color: #ffffff;
}

.mudesa-card-title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
