/* ============================================================
   Mega Menu Mini-Cart dropdown
   Adjust the CSS variables below to match your theme.
   ============================================================ */
:root {
	--mc-accent:      #2BBE22;
	--mc-checkout:    #1b4a36; /* darker brand green for the Checkout button */
	--mc-text:        #1f2a37;
	--mc-muted:       #6b7280;
	--mc-border:      #e5e7eb;
	--mc-bg:          #ffffff;
	--mc-shadow:      0 12px 32px rgba(0, 0, 0, .14);
	--mc-radius:      10px;
	--mc-width:       340px;
}

/* The wrapper around the cart icon must be positioned. */
.nav__cart {
	position: relative;
}

/* ---------- Dropdown panel ---------- */
.nav__cart .mini-cart {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	width: var(--mc-width);
	max-width: 92vw;
	background: var(--mc-bg);
	border: 1px solid var(--mc-border);
	border-radius: var(--mc-radius);
	box-shadow: var(--mc-shadow);
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
	overflow: hidden;
}

/* Small arrow pointing at the icon */
.nav__cart .mini-cart::before {
	content: "";
	position: absolute;
	top: -6px;
	right: 18px;
	width: 12px;
	height: 12px;
	background: var(--mc-bg);
	border-left: 1px solid var(--mc-border);
	border-top: 1px solid var(--mc-border);
	transform: rotate(45deg);
}

.nav__cart.is-open .mini-cart,
.nav__cart:hover .mini-cart {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* ---------- Items ---------- */
.mini-cart__items {
	list-style: none;
	margin: 0;
	padding: 6px 0;
	max-height: 340px;
	overflow-y: auto;
}

.mini-cart__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	position: relative;
	border-bottom: 1px solid var(--mc-border);
	transition: opacity .2s ease;
}

.mini-cart__item.is-removing {
	opacity: .4;
	pointer-events: none;
}

/* ---------- "Just added" highlight ---------- */
@keyframes mmcartJustAdded {
	0%   { background: rgba(43, 190, 34, .35); transform: translateX(10px); box-shadow: inset 3px 0 0 0 var(--mc-accent); }
	35%  { background: rgba(43, 190, 34, .35); transform: translateX(0);    box-shadow: inset 3px 0 0 0 var(--mc-accent); }
	100% { background: transparent;            transform: translateX(0);    box-shadow: inset 3px 0 0 0 rgba(43, 190, 34, 0); }
}

.mini-cart__item.just-added {
	animation: mmcartJustAdded 1.8s ease;
}

.mini-cart__thumb {
	flex: 0 0 48px;
}

.mini-cart__thumb img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 6px;
	display: block;
}

.mini-cart__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	padding-right: 18px;
}

.mini-cart__name {
	font-size: 14px;
	font-weight: 600;
	color: var(--mc-text);
	text-decoration: none;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mini-cart__name:hover { color: var(--mc-checkout); }

.mini-cart__qty {
	font-size: 13px;
	color: var(--mc-muted);
}

.mini-cart__remove {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 18px;
	height: 18px;
	line-height: 16px;
	text-align: center;
	font-size: 16px;
	color: var(--mc-muted);
	text-decoration: none;
	border-radius: 50%;
}

.mini-cart__remove:hover {
	background: #f3f4f6;
	color: #ef4444;
}

/* ---------- Footer ---------- */
.mini-cart__footer {
	padding: 14px 16px;
	background: #fafafa;
}

.mini-cart__total {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	font-weight: 700;
	color: var(--mc-text);
	margin-bottom: 12px;
}

.mini-cart__actions {
	display: flex;
	gap: 8px;
}

.mini-cart__btn {
	flex: 1;
	text-align: center;
	padding: 9px 12px;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

.mini-cart__btn--view {
	background: #fff;
	color: var(--mc-text);
	border: 1px solid var(--mc-border);
}

.mini-cart__btn--view:hover { background: #f3f4f6; }

.mini-cart__btn--checkout,
.mini-cart__btn--checkout:link,
.mini-cart__btn--checkout:visited,
.mini-cart__btn--checkout:hover,
.mini-cart__btn--checkout:focus {
	background: var(--mc-checkout);
	color: #fff !important;
}

.mini-cart__btn--checkout:hover { filter: brightness(.94); }

/* ---------- Empty state ---------- */
.mini-cart__empty {
	padding: 28px 16px;
	text-align: center;
	color: var(--mc-muted);
	font-size: 14px;
}

/* ---------- Add-to-cart button loading state ---------- */
.single_add_to_cart_button.loading {
	opacity: .65;
	cursor: default;
}

/* ---------- Toast ---------- */
.mmcart-toast {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(12px);
	background: var(--mc-text);
	color: #fff;
	padding: 11px 18px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
	z-index: 100000;
	opacity: 0;
	transition: opacity .25s ease, transform .25s ease;
	pointer-events: none;
}

.mmcart-toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
	.nav__cart .mini-cart {
		position: fixed;
		top: auto;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		border-radius: 14px 14px 0 0;
	}
	.nav__cart .mini-cart::before { display: none; }
}

/* ============================================================
   Main navigation: brand-green hover.
   Loaded site-wide with this plugin so it works without editing
   the Divi header template. The Divi "shine sweep" on
   .nav__link::before is left untouched.
   ============================================================ */
.nav__link:hover,
.nav__link:focus {
	color: #1b4a36 !important;
}
