/* ===== RUSTIC MINI CART - REFERENCE DESIGN MATCH ===== */

/* Main Container - WIDE */
.mini-cart-rustic {
  background: #FFF6E5 !important;
  border: 1px solid #D4B88A !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.16) !important;
  font-family: inherit !important;
  color: #7A5A2D !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  width: 600px !important;
  max-width: 100% !important;
}

/* Header - Yellow Background */
.mini-cart-rustic .mc-header {
  background: #FEC321 !important;
  padding: 18px 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex: 0 0 auto !important;
  gap: 24px !important;
}

/* Title */
.mini-cart-rustic .mc-title {
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #7A5A2D !important;
  letter-spacing: 0.3px !important;
  flex: 1 !important;
}

/* Count Badge */
.mini-cart-rustic .mc-count-badge {
  background: #7A5A2D !important;
  color: #FFF6E5 !important;
  font-weight: 700 !important;
  min-width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  flex-shrink: 0 !important;
}

/* Items Container */
.mini-cart-rustic .mc-items-scroll {
  background: #FFF6E5 !important;
  flex: 1 1 auto !important;
  max-height: 320px !important;
  overflow-y: auto !important;
  padding: 0 !important;
}

/* Scrollbar Styling */
.mini-cart-rustic .mc-items-scroll::-webkit-scrollbar {
  width: 8px !important;
}

.mini-cart-rustic .mc-items-scroll::-webkit-scrollbar-track {
  background: #F4E7CE !important;
}

.mini-cart-rustic .mc-items-scroll::-webkit-scrollbar-thumb {
  background: #D4B88A !important;
  border-radius: 12px !important;
}

.mini-cart-rustic .mc-items-scroll::-webkit-scrollbar-thumb:hover {
  background: #C9A670 !important;
}
.mini-cart-rustic .mc-footer{background:#FFF6E5;padding:20px 26px;border-top:1px solid #D4B88A;flex:0 0 auto;}
.mini-cart-rustic .mc-total-line{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:700;margin-bottom:20px;color:#7A5A2D;}
.mini-cart-rustic .mc-total-line .label{opacity:.85;}
.mini-cart-rustic .mc-total-line .amount{font-weight:700;white-space:nowrap;}
.mini-cart-rustic .mc-actions{display:flex;gap:16px;}
.mini-cart-rustic .mc-actions button{flex:1;cursor:pointer;background:#FEC321;color:#3f2a00;font-weight:700;border:none;border-radius:8px;padding:14px 18px;font-size:14px;text-transform:uppercase;letter-spacing:0.6px;transition:background .15s ease,color .15s ease;}
.mini-cart-rustic .mc-actions button:hover{background:#e5b111;}
.mini-cart-rustic .mc-actions button:active{background:#cc9c0d;}

/* Empty message */
.mini-cart-rustic .mc-empty{padding:38px 24px;text-align:center;font-size:14px;font-style:italic;opacity:.65;}

/* ===== CART ITEM - PROPER FLEXBOX LAYOUT ===== */

/* Cart Item Row - Horizontal Flex */
.cart-item {
  display: flex !important;
  align-items: center !important;
  padding: 14px 20px !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #E8D8B8 !important;
  font-size: 14px !important;
  gap: 12px !important;
}

.cart-item:last-child {
  border-bottom: none !important;
}

.cart-item:hover {
  background: #FFF9ED !important;
}

/* LEFT: Product Image */
.cart-item .thumb-wrap,
.cart-item img {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #FFF !important;
  border: 1px solid #D4B88A !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.cart-item .thumb-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* CENTER-LEFT: Product Info Stack (Name + Weight) */
.cart-item .info,
.cart-item .product-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Product Name */
.cart-item .product-name,
.cart-item a[href*="product"] {
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #7A5A2D !important;
  font-size: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

/* Weight/Description Text */
.cart-item .details,
.cart-item .quantity,
.cart-item .woocommerce-mini-cart-item-data {
  font-size: 12px !important;
  opacity: 0.75 !important;
  color: #7A5A2D !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* CENTER-RIGHT: Quantity Box */
.cart-item .qty,
.cart-item input.quantity {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.cart-item .qty-input,
.cart-item input.qty,
.cart-item input[type="number"] {
  width: 48px !important;
  padding: 6px 6px !important;
  font-size: 13px !important;
  text-align: center !important;
  border: 1px solid #C9A670 !important;
  border-radius: 6px !important;
  background: #FFF9ED !important;
  color: #7A5A2D !important;
  height: 32px !important;
  font-family: inherit !important;
  font-weight: 500 !important;
}

.cart-item .qty-input:focus,
.cart-item input.qty:focus,
.cart-item input[type="number"]:focus {
  outline: 2px solid #FEC321 !important;
}

/* FAR-RIGHT: Price - BOLD */
.cart-item .price,
.cart-item .amount,
.cart-item .total {
  font-weight: 700 !important;
  white-space: nowrap !important;
  color: #7A5A2D !important;
  font-size: 15px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  flex-shrink: 0 !important;
  text-align: right !important;
  min-width: 75px !important;
}

/* Remove Button */
.cart-item .remove-btn,
.cart-item a.remove_from_cart_button,
.cart-item .remove_from_cart_button {
  background: none !important;
  border: 1px solid transparent !important;
  color: #C05A3A !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 4px 6px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .15s ease, color .15s ease !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  top: auto !important;
  right: auto !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

.cart-item .remove-btn:hover,
.cart-item a.remove_from_cart_button:hover,
.cart-item .remove_from_cart_button:hover {
  background: #FEC321 !important;
  color: #7A5A2D !important;
}

/* Responsive adjustments */
@media (max-width:480px){
  .mini-cart-rustic{width:100%;}
  .cart-item{padding:12px 16px;gap:10px;}
  .cart-item .thumb-wrap{width:42px;height:42px;}
  .cart-item .qty-input{width:45px;font-size:12px;height:30px;}
  .mini-cart-rustic .mc-actions button{padding:12px 14px;font-size:13px;}
  .mini-cart-rustic .mc-header{padding:14px 16px;}
  .mini-cart-rustic .mc-footer{padding:16px 16px;}
}

@media (prefers-reduced-motion:reduce){
  .mini-cart-rustic *{transition:none !important;}
}

/* Utility */
.mini-cart-rustic .hidden{display:none !important;}

/* ============= FORCE MINI-CART-RUSTIC STYLES OVER ALL CONFLICTING CSS ============= */

/* Override widget shopping cart */
.widget_shopping_cart,
.widget_shopping_cart_content,
.sidebar_cart {
  max-width: none !important;
  width: auto !important;
}

/* Override all WooCommerce cart list styles */
.mini-cart-rustic ul.cart_list,
.mini-cart-rustic .cart_list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Override all cart items to match cart-item class */
.mini-cart-rustic ul.cart_list li,
.mini-cart-rustic .cart_list li,
.mini-cart-rustic li.woocommerce-mini-cart-item,
.mini-cart-rustic .mini_cart_item {
  display: flex !important;
  align-items: flex-start !important;
  padding: 16px 26px !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #E8D8B8 !important;
  font-size: 14px !important;
  gap: 14px !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.mini-cart-rustic ul.cart_list li:last-child,
.mini-cart-rustic .cart_list li:last-child,
.mini-cart-rustic li.woocommerce-mini-cart-item:last-child,
.mini-cart-rustic .mini_cart_item:last-child {
  border-bottom: none !important;
}

.mini-cart-rustic ul.cart_list li:hover,
.mini-cart-rustic .cart_list li:hover,
.mini-cart-rustic li.woocommerce-mini-cart-item:hover,
.mini-cart-rustic .mini_cart_item:hover {
  background: #FFF9ED !important;
}

/* Product image */
.mini-cart-rustic ul.cart_list img,
.mini-cart-rustic .cart_list img {
  width: 50px !important;
  height: 50px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #FFF !important;
  border: 1px solid #D4B88A !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  order: -1 !important;
}

/* Product name link */
.mini-cart-rustic ul.cart_list a,
.mini-cart-rustic .cart_list a,
.mini-cart-rustic a.woocommerce-mini-cart__product-title {
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #7A5A2D !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 !important;
}

/* Quantity and amount container */
.mini-cart-rustic .quantity,
.mini-cart-rustic .woocommerce-mini-cart-item-data {
  font-size: 12px !important;
  opacity: 0.75 !important;
  color: #7A5A2D !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Amount/price styling */
.mini-cart-rustic .amount,
.mini-cart-rustic .price {
  font-weight: 700 !important;
  white-space: nowrap !important;
  color: #7A5A2D !important;
  font-size: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove from cart button */
.mini-cart-rustic a.remove_from_cart_button,
.mini-cart-rustic .remove_from_cart_button {
  background: none !important;
  border: 1px solid transparent !important;
  color: #C05A3A !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 4px 6px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  top: auto !important;
  right: auto !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

.mini-cart-rustic a.remove_from_cart_button:hover,
.mini-cart-rustic .remove_from_cart_button:hover {
  background: #FEC321 !important;
  color: #7A5A2D !important;
  border-color: #D4B88A !important;
}

/* ===== MAIN CONTAINER SCROLLING OVERRIDE ===== */
.mini-cart-rustic,
.widget_shopping_cart {
  max-width: none !important;
}

.mini-cart-rustic .widget_shopping_cart_content,
.mini-cart-rustic ul.product_list_widget {
  max-width: none !important;
}
