:root {
  --blue: #1e3a8a;           /* theme blue */
  --yellow: #facc15;         /* bright yellow accent */
  --ink: #1f2430;
  --muted: #6f6b78;
 
  --border: rgba(0, 0, 0, 0.08);
  --soft: #e6eaf8;
}

/* -----------------------------------
   CART BUTTON
----------------------------------- */
.btn-cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 38px;
  background: var(--yellow);
  border-radius: 10px;
  color: var(--blue);
  transition: all 0.2s ease;
}
.btn-cart:hover {
  background: #eab308; /* darker yellow on hover */
  color: var(--blue);
}
.btn-cart i {
  font-size: 20px;
  line-height: 1;
}

/* count badge */
.cart-count-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #dc2626;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  min-width: 20px;
  height: 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* -----------------------------------
   DROPDOWN PANEL
----------------------------------- */
/* Parent dropdown: do NOT make it flex; let Bootstrap handle it */
.dropdown-menu.cart-dropdown {
  width: 340px;
  padding: 0;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  background: #fff;

  /* keep parent from scrolling; let inner list handle it */
  max-height: none !important;
  overflow: visible !important;
  margin-top: 10px; /* your spacing */
}

/* Only the item list scrolls */
.cart-mini-list {
  max-height: 320px;          /* cap just the list */
  overflow-y: auto;
  padding: 10px 10px 0 10px;

  scrollbar-width: thin;
  scrollbar-color: rgba(30,58,138,0.3) transparent;
}
.cart-mini-list::-webkit-scrollbar { width: 6px; }
.cart-mini-list::-webkit-scrollbar-thumb {
  background: rgba(30,58,138,0.3);
  border-radius: 10px;
}
.cart-mini-list::-webkit-scrollbar-thumb:hover { background: rgba(30,58,138,0.5); }
.cart-mini-list::-webkit-scrollbar-track { background: transparent; }

/* Divider + footer (footer never scrolls because only the list has overflow) */
.mini-divider { height: 1px; background: rgba(0,0,0,0.08); margin: 8px 0 0; }
.cart-mini-footer {
  padding: 10px;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.08);
}

/* Optional: subtle shadow on divider when list is scrolled */
.cart-mini-list.scrolled + .mini-divider {
  box-shadow: 0 -8px 10px -8px rgba(0,0,0,0.12) inset;
}

/* -----------------------------------
   EACH ITEM
----------------------------------- */
.cart-mini-item {
  padding: 8px 6px 10px 6px;
  border-radius: 8px;
  transition: background 0.2s ease;
}
.cart-mini-item:hover {
  background: var(--soft);
}
.cart-mini-item + .cart-mini-item {
  border-top: 1px dashed rgba(0, 0, 0, 0.06);
}

.mini-thumb {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05) inset;
}

.mini-type {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  color: var(--blue);
  border: 1px solid var(--soft);
  border-radius: 999px;
  text-transform: capitalize;
  line-height: 1.1;
}
.mini-badge-wl {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: var(--blue);
  border-radius: 999px;
  line-height: 1.1;
}

.mini-title {
  color: var(--ink);
  font-weight: 700;
  font-size: 13.5px;
  max-width: 230px;
}
.mini-price {
  color: var(--muted);
  font-size: 12.5px;
  margin-top: 2px;
}

/* -----------------------------------
   FOOTER + BUTTON
----------------------------------- */
.mini-divider {
  height: 1px;
  background: var(--border);
  margin: 8px 0 0 0;
}
.cart-mini-footer {
  flex-shrink: 0;
  padding: 10px;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.btn-mini-primary {
  background: #fff; /* ITDI blue */
  border: none;
  color: var(--blue);
  font-weight: 700;
  border-radius: 10px;
  transition: background 0.2s ease;
}
.btn-mini-primary:hover {
  background: var(--soft); /* darker blue on hover */
  color: var(--blue);
}

/* -----------------------------------
   EMPTY STATE
----------------------------------- */
.cart-mini-empty {
  padding: 22px 16px;
}
.empty-icon {
  font-size: 28px;
  color: var(--muted);
}
.empty-text {
  color: var(--muted);
  margin-top: 6px;
}

/* small dropdown spacing */
.dropdown-menu.cart-dropdown {
  margin-top: 10px;
}

