:root {
  --botanical-bg-primary: #FAF7F2;
  --botanical-bg-secondary: #F3EFEA;
  --botanical-bg-elevated: #FFFFFF;
  --botanical-bg-accent-subtle: #EBE4D8;
  --botanical-primary: #3E4C3D;
  --botanical-primary-hover: #2D372C;
  --botanical-secondary: #C87D55;
  --botanical-secondary-hover: #B36A44;
  --botanical-accent-warm: #DDA77B;
  --botanical-accent-fresh: #8A9A86;
  --botanical-text-primary: #212420;
  --botanical-text-secondary: #646860;
  --botanical-text-muted: #91968C;
  --botanical-border-subtle: #E7E1D8;
  --botanical-badge-bg: #EFE9DE;
}

.botanical-cart-modal .modal-dialog {
  max-width: 480px;
  margin: 1.25rem auto;
  max-height: 90vh;
  display: flex;
}

.botanical-cart-modal .modal-content {
  background-color: var(--botanical-bg-elevated);
  border-radius: 12px;
  color: var(--botanical-text-primary);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

.botanical-cart-modal .modal-header {
  background-color: var(--botanical-bg-primary);
  border-color: var(--botanical-border-subtle) !important;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

.botanical-cart-modal .botanical-badge {
  background-color: var(--botanical-badge-bg);
  color: var(--botanical-primary);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35em 0.75em;
}

.botanical-cart-modal .modal-body {
  background-color: var(--botanical-bg-elevated);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
}

.botanical-cart-modal .modal-footer.bg-light-warm {
  background-color: var(--botanical-bg-primary);
  border-color: var(--botanical-border-subtle) !important;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

.cart-item-thumb-box {
  width: 64px;
  height: 64px;
  background-color: var(--botanical-bg-secondary);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--botanical-border-subtle);
}

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

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

.cart-qty-control-group .btn-qty-step {
  border-color: var(--botanical-border-subtle);
  color: var(--botanical-primary);
  background-color: var(--botanical-bg-secondary);
  padding: 0.15rem 0.6rem;
  font-weight: 600;
}

.cart-qty-control-group .btn-qty-step:hover {
  background-color: var(--botanical-accent-fresh);
  color: #FFFFFF;
  border-color: var(--botanical-accent-fresh);
}

.cart-qty-control-group .cart-qty-val {
  border-color: var(--botanical-border-subtle);
  color: var(--botanical-text-primary);
  font-size: 0.85rem;
  min-width: 2.2rem;
  justify-content: center;
}

.cart-item-line-total {
  color: var(--botanical-primary);
  font-size: 0.95rem;
}

.btn-cart-remove {
  font-size: 0.8rem;
  color: var(--botanical-secondary) !important;
}

.btn-cart-remove:hover {
  color: var(--botanical-secondary-hover) !important;
  text-decoration: underline !important;
}

.btn-botanical-primary {
  background-color: var(--botanical-primary);
  color: #FFFFFF;
  border: 1px solid var(--botanical-primary);
  border-radius: 6px;
  transition: all 0.2s ease-in-out;
}

.btn-botanical-primary:hover,
.btn-botanical-primary:focus {
  background-color: var(--botanical-primary-hover);
  color: #FFFFFF;
  border-color: var(--botanical-primary-hover);
}

.btn-botanical-secondary {
  background-color: transparent;
  color: var(--botanical-text-secondary);
  border: 1px solid var(--botanical-border-subtle);
  border-radius: 6px;
  transition: all 0.2s ease-in-out;
}

.btn-botanical-secondary:hover,
.btn-botanical-secondary:focus {
  background-color: var(--botanical-bg-secondary);
  color: var(--botanical-text-primary);
  border-color: var(--botanical-border-subtle);
}

@media (max-width: 576px) {
  .botanical-cart-modal .modal-dialog {
    margin: 0.5rem;
    max-height: 92vh;
  }
  .botanical-cart-modal .modal-content {
    max-height: 92vh;
  }
}