/**
 * Suggoii Mini Cart Styles
 * Path: /wp-content/themes/[your-child-theme]/assets/suggoii-mini-cart.css
 *
 * Relies on global brand tokens: --suggoii-*, --ink-*, --font-*, --success, --ssl.
 * No font/color literals here — change brand tokens once, cart updates everywhere.
 */

.suggoii-mini-cart {
	font-family: var(--font-body);
	color: var(--suggoii-black);
	background: var(--paper, #fff);
	height: 100%;
	display: flex;
	flex-direction: column;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}

/* Reset within the cart so theme styles don't bleed through */
.suggoii-mini-cart *,
.suggoii-mini-cart *::before,
.suggoii-mini-cart *::after {
	box-sizing: border-box;
}
.suggoii-mini-cart h2,
.suggoii-mini-cart h3,
.suggoii-mini-cart h4,
.suggoii-mini-cart p {
	margin: 0;
	font-family: inherit;
}
.suggoii-mini-cart a {
	text-decoration: none;
	color: inherit;
}
.suggoii-mini-cart ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.suggoii-mini-cart button {
	font-family: inherit;
	cursor: pointer;
}

/* ---------- Header ---------- */
.suggoii-mini-cart__header {
	background: var(--suggoii-yellow);
	border-bottom: 3px solid var(--suggoii-black);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	flex-shrink: 0;
}
.suggoii-mini-cart__title {
	font-family: var(--font-display) !important;
	font-size: 22px;
	font-weight: 400;
	color: var(--suggoii-black);
	letter-spacing: 0.02em;
	display: flex;
	align-items: center;
	gap: 12px;
	text-transform: uppercase;
	line-height: 1;
}
.suggoii-mini-cart__count {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--suggoii-black);
}
.suggoii-mini-cart__close {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid var(--suggoii-black);
	background: var(--paper, #fff);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.15s ease;
	padding: 0;
}
.suggoii-mini-cart__close:hover {
	transform: rotate(90deg);
}
.suggoii-mini-cart__close svg {
	width: 14px;
	height: 14px;
}

/* ---------- Free-shipping bar wrapper ---------- */
.suggoii-mini-cart__shipping-bar {
	background: var(--cream-warm, var(--suggoii-cream));
	border-bottom: 1px dashed var(--ink-100);
	padding: 10px 16px;
	flex-shrink: 0;
	font-family: var(--font-body);
	font-size: 13px;
}
/* Light reset so [wpcfb] content fits the cart aesthetic */
.suggoii-mini-cart__shipping-bar > *:first-child {
	margin-top: 0;
}
.suggoii-mini-cart__shipping-bar > *:last-child {
	margin-bottom: 0;
}

/* ---------- Body (scrollable) ---------- */
.suggoii-mini-cart__body {
	flex: 1;
	overflow-y: auto;
	background: var(--paper, #fff);
	padding: 15px;
}
.suggoii-mini-cart__body::-webkit-scrollbar { width: 6px; }
.suggoii-mini-cart__body::-webkit-scrollbar-thumb {
	background: var(--ink-300);
	border-radius: 999px;
}

/* ---------- Empty state ---------- */
.suggoii-mini-cart__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 40px 32px;
	min-height: 100%;
}
.suggoii-mini-cart__empty-icon {
	width: 110px;
	height: 110px;
	object-fit: contain;
	margin-bottom: 20px;
}
.suggoii-mini-cart__empty-title {
	font-family: var(--font-script) !important;
	font-size: 36px;
	font-weight: 400;
	color: var(--suggoii-red-2);
	margin-bottom: 14px;
	line-height: 1;
}
.suggoii-mini-cart__empty-text {
	font-family: var(--font-body) !important;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ink-700);
	margin-bottom: 28px !important;
	max-width: 280px;
	text-align: center;
	margin-top: 15px !important;
}

/* ---------- Item list ---------- */
.suggoii-mini-cart__items {
	padding: 8px 20px 16px;
}
.suggoii-mini-cart .suggoii-mini-cart__item {
	display: grid !important;
	grid-template-columns: 80px 1fr auto;
	grid-template-areas: "thumb info price";
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px dashed var(--ink-100);
	align-items: flex-start;
	margin: 0;
}
.suggoii-mini-cart__item:last-child {
	border-bottom: none;
}
.suggoii-mini-cart__thumb {
	width: 80px;
	height: 80px;
	border-radius: 10px;
	border: 1.5px solid var(--suggoii-black);
	overflow: hidden;
	background: var(--suggoii-cream);
	flex-shrink: 0;
}
.suggoii-mini-cart__thumb a,
.suggoii-mini-cart__thumb img {
	width: 100%;
	height: 100%;
	display: block;
}
.suggoii-mini-cart__thumb img {
	object-fit: cover;
}
.suggoii-mini-cart__item-info {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.suggoii-mini-cart__category {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 700;
	color: var(--suggoii-red);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1;
}
.suggoii-mini-cart__name {
	font-family: var(--font-ui) !important;
	font-size: 14px;
	font-weight: 400;
	color: var(--suggoii-black);
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.suggoii-mini-cart__name a {
	color: inherit;
	display: inline;
}
.suggoii-mini-cart__name a:hover {
	color: var(--suggoii-red-2);
}
.suggoii-mini-cart__item-controls {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 4px;
	flex-wrap: wrap;
}
.suggoii-mini-cart__qty {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--suggoii-black);
	border-radius: 999px;
	padding: 2px;
	background: var(--paper, #fff);
}
.suggoii-mini-cart__qty-btn {
	width: 26px;
	height: 26px;
	border: none;
	background: transparent;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	color: var(--suggoii-black);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	padding: 0;
	transition: background 0.15s;
	line-height: 1;
}
.suggoii-mini-cart__qty-btn:hover {
	background: var(--ink-100);
}
.suggoii-mini-cart__qty-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}
.suggoii-mini-cart__qty-value {
	min-width: 24px;
	text-align: center;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 700;
	color: var(--suggoii-black);
}
.suggoii-mini-cart__qty.is-loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Override Woo's tiny "x" remove button — we want a text link */
.suggoii-mini-cart__remove,
.suggoii-mini-cart__remove.remove,
.suggoii-mini-cart__remove.remove_from_cart_button {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--ink-500) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	line-height: 1 !important;
	display: inline-block;
	cursor: pointer;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.suggoii-mini-cart__remove {
	color: var(--suggoii-red) !important;
}
.suggoii-mini-cart__remove:hover {
	color: var(--suggoii-yellow) !important;
}
.suggoii-mini-cart__remove::before { content: none !important; }

.suggoii-mini-cart__price {
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 400;
	color: var(--suggoii-black);
	white-space: nowrap;
	text-align: right;
	padding-top: 2px;
}
.suggoii-mini-cart__price .woocommerce-Price-amount {
	font-family: var(--font-ui);
}

/* ---------- Footer ---------- */
.suggoii-mini-cart__footer {
	background: var(--suggoii-cream);
	border-top: 1.5px solid var(--suggoii-black);
	padding: 18px 20px 22px;
	flex-shrink: 0;
}
.suggoii-mini-cart__totals {
	margin-bottom: 14px;
}
.suggoii-mini-cart__total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 6px 0;
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--ink-700);
}
.suggoii-mini-cart__total-row--divider {
	border-bottom: 1px dashed var(--ink-100);
	padding-bottom: 10px;
	margin-bottom: 4px;
}
.suggoii-mini-cart__total-row--final {
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 400;
	color: var(--suggoii-black);
	padding-top: 8px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.suggoii-mini-cart__amount {
	font-weight: 700;
	color: var(--suggoii-black);
}
.suggoii-mini-cart__total-row--final .suggoii-mini-cart__amount {
	font-family: var(--font-ui);
	font-size: 20px;
	font-weight: 400;
}

/* ---------- Buttons ---------- */
.suggoii-mini-cart__cta,
.suggoii-mini-cart .suggoii-mini-cart__cta {
	display: block;
	width: 100%;
	padding: 16px 20px 18px;
	background: var(--suggoii-red-2);
	color: var(--suggoii-white) !important;
	border: 2px solid var(--suggoii-black);
	border-bottom-width: 5px;
	border-radius: 999px;
	font-family: var(--font-ui);
	font-size: 15px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.1s ease, border-bottom-width 0.1s ease, background 0.15s;
	box-shadow: none;
}
.suggoii-mini-cart__cta:hover {
	background: var(--suggoii-red);
	color: var(--suggoii-white) !important;
}
.suggoii-mini-cart__cta:active {
	border-bottom-width: 2px;
	transform: translateY(3px);
}

/* View full cart link */
.suggoii-mini-cart__view-full,
.suggoii-mini-cart .suggoii-mini-cart__view-full {
	display: block;
	width: auto;
	background: transparent !important;
	border: none !important;
	text-align: center;
	margin: 14px auto 6px;
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 400;
	color: var(--suggoii-black) !important;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 4px;
	box-shadow: none !important;
	border-radius: 0 !important;
}

.suggoii-mini-cart__pay-note {
	text-align: center;
	font-family: var(--font-body);
	font-size: 11px;
	color: var(--ink-500);
	margin: 4px 0 14px;
}

/* ---------- Trust badges ---------- */
.suggoii-mini-cart__trust {
	background: var(--paper, #fff);
	border: 1.5px solid var(--suggoii-black);
	border-radius: 14px;
	padding: 14px 14px 16px;
	box-shadow: 0 3px 0 var(--suggoii-black);
}
.suggoii-mini-cart__trust-title {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--suggoii-black);
	margin-bottom: 12px;
}
.suggoii-mini-cart__trust-title svg {
	width: 14px;
	height: 14px;
	color: var(--success);
}
.suggoii-mini-cart__trust-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.suggoii-mini-cart__trust-col-label {
	font-family: var(--font-ui);
	font-size: 10px;
	font-weight: 400;
	color: var(--ink-500);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.suggoii-mini-cart__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.suggoii-mini-cart__badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 10px;
	border-radius: 999px;
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	border: 1.5px solid;
	background: var(--paper, #fff);
}
.suggoii-mini-cart__badge--upi     { color: var(--success);        border-color: var(--success); }
.suggoii-mini-cart__badge--rupay   { color: var(--ssl);            border-color: var(--ssl); }
.suggoii-mini-cart__badge--phonepe { color: var(--suggoii-purple); border-color: var(--suggoii-purple); }
.suggoii-mini-cart .suggoii-mini-cart__thumb     { grid-area: thumb; }
.suggoii-mini-cart .suggoii-mini-cart__item-info { grid-area: info; min-width: 0; }
.suggoii-mini-cart .suggoii-mini-cart__price     { grid-area: price; align-self: start; }

.suggoii-mini-cart__badge--filled {
	color: var(--suggoii-white);
	border-width: 0;
	padding: 6px 11px;
}
.suggoii-mini-cart__badge--ssl      { background: var(--ssl); }
.suggoii-mini-cart__badge--verified { background: var(--success); }
.suggoii-mini-cart__badge--rating   { background: var(--trustpilot); }

/* ---------- Mobile ---------- */
@media (max-width: 480px) {
	.suggoii-mini-cart__header { padding: 16px; }
	.suggoii-mini-cart__title { font-size: 19px; }
	.suggoii-mini-cart__count { font-size: 19px; }
	.suggoii-mini-cart__items { padding: 4px 16px 12px; }
	.suggoii-mini-cart__item { grid-template-columns: 70px 1fr auto; gap: 12px; }
	.suggoii-mini-cart__thumb { width: 70px; height: 70px; }
	.suggoii-mini-cart__footer { padding: 16px 16px 20px; }
	.suggoii-mini-cart__trust { padding: 12px; }
	.suggoii-mini-cart__trust-grid { gap: 10px; }
	.suggoii-mini-cart .suggoii-mini-cart__item {
		grid-template-columns: 70px 1fr;
		grid-template-areas:
			"thumb info"
			"thumb price";
		gap: 8px 12px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__price {
		text-align: left;
		padding-top: 4px;
		font-size: 13px;
	}
	.elementor-menu-cart__main{
	    padding: 0 !important;
	    width: 320px !important;
	}
	.elementor-menu-cart__close-button{
	    display: none !important;
	}
}

.elementor-menu-cart__main > .elementor-menu-cart__close-button {
	display: none !important;
}
.suggoii-mini-cart__close:hover{
    color: #fff;
}
.elementor-menu-cart__main{
    width: 450px !important;
    padding: 0 !important;
}
.suggoii-mini-cart__shipping-bar .wpcfb-title{
    display: none;
}
.suggoii-mini-cart__shipping-bar .wpc-free-shipping-bar{
        padding: 0 !important;
}

@media (max-width: 480px) {
	.suggoii-mini-cart .suggoii-mini-cart__footer {
		padding: 12px 14px 14px;
	}

	/* Totals — tighter rows */
	.suggoii-mini-cart .suggoii-mini-cart__totals {
		margin-bottom: 8px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__total-row {
		padding: 3px 0;
		font-size: 13px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__total-row--divider {
		padding-bottom: 6px;
		margin-bottom: 2px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__total-row--final {
		padding-top: 4px;
		font-size: 16px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__total-row--final .suggoii-mini-cart__amount {
		font-size: 17px;
	}

	/* Checkout button — slimmer */
	.suggoii-mini-cart .suggoii-mini-cart__cta {
		padding: 12px 16px 14px;
		font-size: 14px;
		border-bottom-width: 4px;
	}

	/* View full cart + pay note — pulled in */
	.suggoii-mini-cart .suggoii-mini-cart__view-full {
		margin: 8px auto 4px;
		font-size: 12px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__pay-note {
		margin: 2px 0 8px;
		font-size: 10px;
	}

	/* Trust card — compress padding and rows */
	.suggoii-mini-cart .suggoii-mini-cart__trust {
		padding: 10px 10px 12px;
		border-radius: 12px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__trust-title {
		margin-bottom: 8px;
		font-size: 10px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__trust-grid {
		gap: 8px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__trust-col-label {
		margin-bottom: 5px;
		font-size: 9px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__badges {
		gap: 4px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__badge {
		padding: 4px 8px;
		font-size: 10px;
	}
	.suggoii-mini-cart .suggoii-mini-cart__badge--filled {
		padding: 5px 9px;
	}
}
@media (max-width: 480px) {
	.suggoii-mini-cart .suggoii-mini-cart__trust {
		display: none;
	}
}