:root {
  --oe-primary: #B85839;
  --oe-primary-hover: #A2482B;
  --oe-primary-active: #8C3B20;
  --oe-primary-surface: #F7EAE5;
  --oe-secondary: #5B6852;
  --oe-secondary-hover: #4B5643;
  --oe-accent: #D49B5B;
  --oe-bg-primary: #FAF7F2;
  --oe-bg-secondary: #F3EFE9;
  --oe-card-surface: #FFFFFF;
  --oe-text-primary: #2B2420;
  --oe-text-secondary: #6E645D;
  --oe-text-muted: #968B82;
  --oe-border-subtle: #EBE4DC;
  --oe-border-default: #DDD4C9;
}

#shopBasketModal .modal-content {
  background-color: var(--oe-card-surface);
  border: 1px solid var(--oe-border-subtle);
  border-radius: 1rem;
  box-shadow: 0 12px 32px rgba(43, 36, 32, 0.12);
  max-height: 90vh;
}

#shopBasketModal .modal-scrollable-body {
  max-height: calc(90vh - 140px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--oe-border-default) transparent;
}

#shopBasketModal .modal-scrollable-body::-webkit-scrollbar {
  width: 6px;
}
#shopBasketModal .modal-scrollable-body::-webkit-scrollbar-thumb {
  background-color: var(--oe-border-default);
  border-radius: 3px;
}

.basket-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: var(--oe-primary-surface);
  color: var(--oe-primary);
  border-radius: 50%;
}

.text-primary-earth {
  color: var(--oe-primary) !important;
}

.text-secondary-earth {
  color: var(--oe-text-secondary) !important;
}

.text-muted-earth {
  color: var(--oe-text-muted) !important;
}

.cart-item-card {
  border-color: var(--oe-border-subtle) !important;
}

.cart-item-img-wrapper {
  width: 64px;
  height: 64px;
  background-color: var(--oe-bg-secondary);
  border-radius: 0.5rem;
  overflow: hidden;
}

.cart-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-item-title {
  color: var(--oe-text-primary);
  font-size: 0.95rem;
  font-weight: 600;
}

.cart-item-price-unit {
  color: var(--oe-text-secondary);
  font-size: 0.85rem;
}

.quantity-control-group {
  background-color: var(--oe-bg-primary);
  border: 1px solid var(--oe-border-default);
  border-radius: 0.375rem;
  padding: 2px;
}

.btn-qty {
  color: var(--oe-text-primary);
  border: none;
  background: transparent;
  width: 24px;
  height: 24px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  border-radius: 0.25rem;
}

.btn-qty:hover {
  background-color: var(--oe-border-subtle);
}

.input-qty {
  width: 36px;
  height: 24px;
  border: none;
  background: transparent;
  padding: 0;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--oe-text-primary);
  -moz-appearance: textfield;
}

.input-qty::-webkit-outer-spin-button,
.input-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.btn-remove {
  font-size: 1.25rem;
  line-height: 1;
  color: var(--oe-text-muted) !important;
}

.btn-remove:hover {
  color: var(--oe-primary) !important;
}

.btn-primary-organic {
  background-color: var(--oe-primary);
  border-color: var(--oe-primary);
  color: #FFFFFF;
  padding: 0.55rem 1.25rem;
  font-weight: 500;
  border-radius: 0.5rem;
  transition: all 0.2s ease;
}

.btn-primary-organic:hover {
  background-color: var(--oe-primary-hover);
  border-color: var(--oe-primary-hover);
  color: #FFFFFF;
}

.btn-outline-organic {
  background-color: transparent;
  border: 1px solid var(--oe-border-default);
  color: var(--oe-text-secondary);
  padding: 0.55rem 1.25rem;
  font-weight: 500;
  border-radius: 0.5rem;
  transition: all 0.2s ease;
}

.btn-outline-organic:hover {
  background-color: var(--oe-bg-secondary);
  border-color: var(--oe-border-strong);
  color: var(--oe-text-primary);
}

.text-bg-earth {
  background-color: var(--oe-text-primary) !important;
  color: #FFFFFF !important;
  border-radius: 0.5rem;
}