/* ================================================================
 * Haika Base — WooCommerce Core Styles
 * ----------------------------------------------------------------
 * استایل پایه‌ی فروشگاه: layout، کارت محصول، badge‌ها، mini-cart،
 * single product. این فایل با متغیرهای theme-modes هماهنگ است
 * (--hk-bg, --hk-fg, --hk-accent, --hk-palette-*).
 * ================================================================ */

/* ─── متغیرهای اختصاصی فروشگاه ─── */
.haika-theme {
	--hk-shop-radius:      14px;
	--hk-shop-radius-sm:   8px;
	--hk-shop-gap:         18px;
	--hk-shop-card-bg:     var(--hk-surface, rgba(255,255,255,0.04));
	--hk-shop-card-border: var(--hk-border, rgba(255,255,255,0.08));
	--hk-shop-card-shadow: 0 4px 16px rgba(0,0,0,.08);
	--hk-shop-text-muted:  var(--hk-fg-muted, rgba(255,255,255,0.65));
	--hk-badge-sale:       #ef4444;
	--hk-badge-new:        #10b981;
	--hk-badge-restocked:  #3b82f6;
	--hk-badge-low-stock:  #f59e0b;
	--hk-badge-out:        #6b7280;
	--hk-badge-festival:   #ec4899;
}

/* ─── Layout ─── */
.haika-shop { padding-block: 28px; }
.haika-shop-layout {
	display: grid;
	gap: 28px;
	grid-template-columns: 1fr;
}
.haika-shop-layout.has-sidebar {
	grid-template-columns: 280px 1fr;
}
@media (max-width: 960px) {
	.haika-shop-layout.has-sidebar { grid-template-columns: 1fr; }
}
.haika-shop-header {
	margin-bottom: 18px;
}
.haika-shop-title {
	margin: 0 0 6px;
	font-size: clamp(20px, 3vw, 28px);
	font-weight: 700;
	color: var(--hk-fg, #fff);
}

/* ─── Product Grid ─── */
.haika-products {
	display: grid;
	gap: var(--hk-shop-gap);
}
.haika-products--cols-1 { grid-template-columns: 1fr; }
.haika-products--cols-2 { grid-template-columns: repeat(2, 1fr); }
.haika-products--cols-3 { grid-template-columns: repeat(3, 1fr); }
.haika-products--cols-4 { grid-template-columns: repeat(4, 1fr); }
.haika-products--cols-5 { grid-template-columns: repeat(5, 1fr); }
.haika-products--cols-6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1200px) {
	.haika-products--cols-5,
	.haika-products--cols-6 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 960px) {
	.haika-products--cols-4,
	.haika-products--cols-5,
	.haika-products--cols-6 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
	.haika-products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 420px) {
	.haika-products { grid-template-columns: 1fr !important; }
}

/* ─── Product Card ─── */
.haika-product-card {
	display: flex;
	flex-direction: column;
	background: var(--hk-shop-card-bg);
	border: 1px solid var(--hk-shop-card-border);
	border-radius: var(--hk-shop-radius);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	position: relative;
}
.haika-product-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--hk-shop-card-shadow);
	border-color: var(--hk-accent, #6aaecc);
}
.haika-product-card.out-of-stock { opacity: .8; }

/* media */
.haika-product-card__media {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--hk-surface-2, rgba(0,0,0,0.1));
	overflow: hidden;
}
.haika-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.haika-product-card:hover .haika-product-card__img { transform: scale(1.04); }
.haika-product-card__img-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--hk-shop-text-muted);
	font-size: 14px;
}

/* badges */
.haika-product-badges {
	position: absolute;
	top: 10px;
	inset-inline-start: 10px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	z-index: 2;
	max-width: calc(100% - 20px);
}
.haika-badge {
	display: inline-flex;
	align-items: center;
	background: var(--badge-c, #ef4444);
	color: #fff;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0,0,0,.18);
}

/* body */
.haika-product-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 14px;
	gap: 8px;
}
.haika-product-card__cat {
	display: block;
	font-size: 11px;
	color: var(--hk-shop-text-muted);
	margin-bottom: 2px;
}
.haika-product-card__cat a { color: inherit; text-decoration: none; }
.haika-product-card__cat a:hover { color: var(--hk-accent, #6aaecc); }

.haika-product-card__title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(1.5em * 2);
}
.haika-product-card__title a {
	color: var(--hk-fg, #fff);
	text-decoration: none;
}
.haika-product-card__title a:hover { color: var(--hk-accent, #6aaecc); }

.haika-product-card__price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
}
.haika-product-card__price {
	font-size: 14px;
	font-weight: 700;
	color: var(--hk-fg, #fff);
}
.haika-product-card__price del {
	display: block;
	font-size: 11px;
	font-weight: 400;
	opacity: .55;
	margin-bottom: 2px;
}
.haika-product-card__price ins {
	background: transparent;
	text-decoration: none;
	color: var(--hk-accent, #6aaecc);
}

/* stars */
.haika-product-card__rating {
	font-size: 12px;
	color: #f59e0b;
}
.haika-stars {
	background: linear-gradient(90deg, #f59e0b calc(var(--rating) / 5 * 100%), rgba(255,255,255,0.18) calc(var(--rating) / 5 * 100%));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 14px;
	letter-spacing: 1px;
}

/* actions */
.haika-product-card__actions {
	display: flex;
	gap: 6px;
	margin-top: 8px;
}
.haika-product-card__actions .haika-btn--add-to-cart {
	flex: 1;
}
.haika-product-card__actions .haika-btn--view {
	width: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

/* ─── Buttons ─── */
.haika-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: var(--hk-shop-radius-sm);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background .2s, border-color .2s, color .2s, transform .15s;
	font-family: inherit;
}
.haika-btn:hover { transform: translateY(-1px); }
.haika-btn--primary {
	background: var(--hk-accent, #6aaecc);
	color: #fff;
}
.haika-btn--primary:hover {
	background: var(--hk-accent-hover, #5e9ebb);
}
.haika-btn--ghost {
	background: transparent;
	color: var(--hk-fg, #fff);
	border-color: var(--hk-shop-card-border);
}
.haika-btn--ghost:hover {
	border-color: var(--hk-accent, #6aaecc);
	color: var(--hk-accent, #6aaecc);
}
.haika-btn--block { width: 100%; }
.haika-btn--add-to-cart {
	background: var(--hk-accent, #6aaecc);
	color: #fff;
}
.haika-btn--add-to-cart.added::after {
	content: "✓";
	margin-inline-start: 4px;
}
.haika-btn--view {
	border: 1px solid var(--hk-shop-card-border);
	color: var(--hk-fg, #fff);
}

/* ─── Pagination ─── */
.haika-shop-pagination {
	display: flex;
	justify-content: center;
	gap: 4px;
	margin-top: 32px;
	flex-wrap: wrap;
}
.haika-shop-pagination .page-numbers {
	min-width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border-radius: 8px;
	color: var(--hk-fg, #fff);
	background: var(--hk-shop-card-bg);
	border: 1px solid var(--hk-shop-card-border);
	text-decoration: none;
	transition: all .2s;
}
.haika-shop-pagination .page-numbers:hover {
	border-color: var(--hk-accent, #6aaecc);
	color: var(--hk-accent, #6aaecc);
}
.haika-shop-pagination .page-numbers.current {
	background: var(--hk-accent, #6aaecc);
	color: #fff;
	border-color: var(--hk-accent, #6aaecc);
}

/* ─── Empty State ─── */
.haika-shop-empty {
	text-align: center;
	padding: 60px 20px;
	color: var(--hk-shop-text-muted);
}
.haika-shop-empty__icon { color: var(--hk-accent, #6aaecc); margin-bottom: 14px; }
.haika-shop-empty__title { margin: 0 0 8px; font-size: 18px; color: var(--hk-fg, #fff); }
.haika-shop-empty__desc { margin: 0 0 18px; }

/* ─── Mini Cart Trigger (در هدر) ─── */
.haika-cart-trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	color: var(--hk-fg, #fff);
	background: transparent;
	border: 1px solid var(--hk-shop-card-border);
	cursor: pointer;
	transition: border-color .2s, color .2s;
}
.haika-cart-trigger:hover { border-color: var(--hk-accent, #6aaecc); color: var(--hk-accent, #6aaecc); }
.haika-cart-trigger__count {
	position: absolute;
	top: -4px;
	inset-inline-end: -4px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--hk-accent, #6aaecc);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.haika-cart-trigger__count:empty,
.haika-cart-trigger__count[data-count="0"] { display: none; }

/* ─── Mini Cart Dropdown ─── */
.haika-mini-cart {
	position: absolute;
	top: calc(100% + 8px);
	inset-inline-end: 0;
	width: 360px;
	max-width: calc(100vw - 32px);
	background: var(--hk-bg, #0d1117);
	border: 1px solid var(--hk-shop-card-border);
	border-radius: 14px;
	box-shadow: 0 18px 48px rgba(0,0,0,.35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity .2s, transform .2s, visibility .2s;
	z-index: 9999;
	overflow: hidden;
}
.haika-mini-cart.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.haika-mini-cart__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 14px 16px;
	border-bottom: 1px solid var(--hk-shop-card-border);
}
.haika-mini-cart__header h4 { margin: 0; font-size: 14px; color: var(--hk-fg, #fff); }
.haika-mini-cart__count { font-size: 12px; color: var(--hk-shop-text-muted); }
.haika-mini-cart__empty { text-align: center; padding: 28px 16px; color: var(--hk-shop-text-muted); }
.haika-mini-cart__empty-icon { color: var(--hk-accent, #6aaecc); opacity: .6; margin-bottom: 8px; }
.haika-mini-cart__empty p { margin: 0 0 14px; font-size: 13px; }

.haika-mini-cart__items {
	list-style: none;
	padding: 0;
	margin: 0;
	max-height: 320px;
	overflow-y: auto;
}
.haika-mini-cart__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--hk-shop-card-border);
}
.haika-mini-cart__item:last-child { border-bottom: 0; }
.haika-mini-cart__thumb {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--hk-surface-2);
}
.haika-mini-cart__thumb img { width: 100%; height: 100%; object-fit: cover; }
.haika-mini-cart__body { flex: 1; min-width: 0; }
.haika-mini-cart__title { font-size: 13px; font-weight: 600; line-height: 1.4; }
.haika-mini-cart__title a { color: var(--hk-fg, #fff); text-decoration: none; }
.haika-mini-cart__title a:hover { color: var(--hk-accent, #6aaecc); }
.haika-mini-cart__meta { font-size: 12px; color: var(--hk-shop-text-muted); margin-top: 4px; }
.haika-mini-cart__remove {
	background: transparent;
	border: 0;
	color: var(--hk-shop-text-muted);
	cursor: pointer;
	padding: 4px;
	border-radius: 6px;
	transition: color .15s, background .15s;
}
.haika-mini-cart__remove:hover { color: #ef4444; background: rgba(239,68,68,.08); }

.haika-mini-cart__footer {
	padding: 12px 16px;
	border-top: 1px solid var(--hk-shop-card-border);
}
.haika-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
	font-size: 14px;
}
.haika-mini-cart__total strong { color: var(--hk-accent, #6aaecc); }
.haika-mini-cart__actions { display: flex; gap: 8px; }
.haika-mini-cart__actions .haika-btn { flex: 1; }

/* ════════════════════════════════════════════════════════════════
   THEME MODES — تیره / روشن / رنگی
   ═══════════════════════════════════════════════════════════════�
/* ════════════════════════════════════════════════════════════════
   📢 WC NOTICES — استایل بنفش KingSize برای cart/checkout
═════════════════════════════════════════════════════════════════ */

/* Container */
.woocommerce-notices-wrapper,
.woocommerce-NoticeGroup {
	margin: 18px 0 24px;
}

/* پایه‌ی همه‌ی notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
ul.woocommerce-error,
.woocommerce-notice {
	position: relative;
	padding: 14px 20px 14px 56px;
	border-radius: 14px;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.6;
	list-style: none !important;
	margin: 12px 0 !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border: 1px solid transparent;
	color: #fff;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	letter-spacing: -0.005em;
}

/* RTL adjustments */
[dir="rtl"] .woocommerce-message,
[dir="rtl"] .woocommerce-info,
[dir="rtl"] .woocommerce-error,
[dir="rtl"] .woocommerce-notice {
	padding: 14px 56px 14px 20px;
}

/* آیکن قبل از متن */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-notice::before {
	content: '';
	position: absolute;
	top: 14px;
	width: 26px;
	height: 26px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px;
	border-radius: 50%;
	flex-shrink: 0;
}
[dir="ltr"] .woocommerce-message::before,
[dir="ltr"] .woocommerce-info::before,
[dir="ltr"] .woocommerce-error::before,
[dir="ltr"] .woocommerce-notice::before { left: 16px; right: auto; }
[dir="rtl"] .woocommerce-message::before,
[dir="rtl"] .woocommerce-info::before,
[dir="rtl"] .woocommerce-error::before,
[dir="rtl"] .woocommerce-notice::before { right: 16px; left: auto; }

/* ─── SUCCESS (سبز) ─── */
.woocommerce-message {
	background: linear-gradient(135deg, rgba(16, 185, 129, .15) 0%, rgba(16, 185, 129, .08) 100%);
	border-color: rgba(16, 185, 129, .4);
	color: #10b981;
}
.woocommerce-message::before {
	background-color: #10b981;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}

/* ─── INFO / NOTICE (بنفش — هماهنگ با تم) ─── */
.woocommerce-info,
.woocommerce-notice {
	background: linear-gradient(135deg, rgba(100, 170, 210, .15) 0%, rgba(100, 170, 210, .08) 100%);
	border-color: rgba(100, 170, 210, .4);
	color: #a0d0e8;
}
.woocommerce-info::before,
.woocommerce-notice::before {
	background-color: var(--hsp-purple, #6aaecc);
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12' y2='8'/></svg>");
}

/* ─── ERROR (قرمز) ─── */
.woocommerce-error {
	background: linear-gradient(135deg, rgba(239, 68, 68, .15) 0%, rgba(220, 38, 38, .08) 100%);
	border-color: rgba(239, 68, 68, .4);
	color: #ef4444;
}
.woocommerce-error::before {
	background-color: #ef4444;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
}
.woocommerce-error li {
	color: inherit;
	margin: 4px 0;
	list-style: none;
}

/* ─── دکمه‌ی "مشاهده سبد" در notice ─── */
.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce-info .button,
.woocommerce-info a.button {
	float: none !important;
	margin: 0 8px !important;
	padding: 6px 16px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, .12) !important;
	color: inherit !important;
	border: 1px solid currentColor !important;
	text-decoration: none !important;
	transition: all .2s !important;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	background: currentColor !important;
	color: var(--hsp-bg, #0d0a1b) !important;
}

/* ─── انیمیشن ورود ─── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	animation: hsp-notice-in .35s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes hsp-notice-in {
	from { opacity: 0; transform: translateY(-8px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ─── محل قرار گرفتن notice در صفحه‌ی cart/checkout ─── */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper {
	max-width: 1200px;
	margin: 24px auto;
	padding: 0 20px;
}

/* موبایل */
@media (max-width: 720px) {
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error,
	.woocommerce-notice {
		padding: 12px 48px 12px 16px;
		font-size: 13.5px;
	}
	[dir="rtl"] .woocommerce-message,
	[dir="rtl"] .woocommerce-info,
	[dir="rtl"] .woocommerce-error,
	[dir="rtl"] .woocommerce-notice {
		padding: 12px 48px 12px 16px;
	}
}

/* ════════════════════════════════════════════════════════════════
   🛒 CART BADGE + TRIGGER — Premium UI/UX
═════════════════════════════════════════════════════════════════ */
.haika-cart-trigger {
	position: relative;
	transition: transform .25s cubic-bezier(.22,1,.36,1);
}
.haika-cart-trigger.is-bumped {
	animation: hsp-cart-bump .6s cubic-bezier(.22,1,.36,1);
}
@keyframes hsp-cart-bump {
	0%, 100% { transform: scale(1); }
	30%      { transform: scale(1.15) rotate(-8deg); }
	60%      { transform: scale(1.08) rotate(4deg); }
}
.haika-cart-trigger__count {
	transition: all .2s;
}
.haika-cart-trigger__count[data-count="0"] {
	opacity: 0;
	transform: scale(.5);
}
.haika-cart-trigger__count.is-bumped {
	animation: hsp-badge-pop .7s cubic-bezier(.22,1,.36,1);
}
@keyframes hsp-badge-pop {
	0%   { transform: scale(1); }
	30%  { transform: scale(1.45); }
	60%  { transform: scale(.95); }
	100% { transform: scale(1); }
}

/* ════════════════════════════════════════════════════════════════
   ✨ HAIKA TOAST — feedback بعد از add-to-cart
═════════════════════════════════════════════════════════════════ */
.haika-toast {
	position: fixed;
	top: 80px;
	right: 20px;
	left: auto;
	z-index: 99999;
	min-width: 320px;
	max-width: 420px;
	padding: 14px 18px;
	background: rgba(13, 10, 27, .95);
	-webkit-backdrop-filter: blur(20px) saturate(1.4);
	backdrop-filter: blur(20px) saturate(1.4);
	border: 1px solid rgba(100, 170, 210, .35);
	border-radius: 16px;
	box-shadow: 0 24px 56px rgba(0,0,0,.45), 0 0 0 1px rgba(100, 170, 210,.15);
	color: #fff;
	display: flex;
	align-items: center;
	gap: 12px;
	transform: translateX(120%);
	opacity: 0;
	transition: transform .35s cubic-bezier(.22,1,.36,1), opacity .25s;
}
[dir="rtl"] .haika-toast {
	right: auto;
	left: 20px;
	transform: translateX(-120%);
}
.haika-toast.is-visible {
	transform: translateX(0);
	opacity: 1;
}
.haika-toast__icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.haika-toast--success .haika-toast__icon {
	background: linear-gradient(135deg, #10b981, #059669);
	color: #fff;
}
.haika-toast--error .haika-toast__icon {
	background: linear-gradient(135deg, #ef4444, #dc2626);
	color: #fff;
}
.haika-toast--info .haika-toast__icon {
	background: linear-gradient(135deg, var(--cb-purple, #6aaecc), var(--cb-purple-deep, #3a7ea0));
	color: #fff;
}
.haika-toast__img {
	flex-shrink: 0;
	width: 48px;
	height: 60px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid rgba(100, 170, 210,.25);
}
.haika-toast__body {
	flex: 1;
	min-width: 0;
}
.haika-toast__text {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.haika-toast__hint {
	margin-top: 4px;
	font-size: 12.5px;
	color: rgba(255,255,255,.75);
}
.haika-toast__cta {
	margin-inline-start: 6px;
	padding: 4px 12px;
	background: linear-gradient(135deg, var(--cb-purple, #6aaecc), var(--cb-purple-deep, #3a7ea0));
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: transform .2s, box-shadow .2s;
}
.haika-toast__cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(100, 170, 210,.45);
}
.haika-toast__close {
	position: absolute;
	top: 6px;
	left: 8px;
	width: 26px;
	height: 26px;
	background: transparent;
	border: 0;
	color: rgba(255,255,255,.5);
	font-size: 18px;
	font-weight: 300;
	cursor: pointer;
	border-radius: 50%;
	transition: all .15s;
	display: flex;
	align-items: center;
	justify-content: center;
}
[dir="rtl"] .haika-toast__close { left: auto; right: 8px; }
.haika-toast__close:hover {
	background: rgba(255,255,255,.1);
	color: #fff;
}

/* Loading state on buttons */
.single_add_to_cart_button.is-loading,
.hsp__sticky-cta.is-loading {
	pointer-events: none;
	opacity: .7;
	position: relative;
}
.single_add_to_cart_button.is-loading::after,
.hsp__sticky-cta.is-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border: 2.5px solid rgba(255,255,255,.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: hsp-spin .6s linear infinite;
}
@keyframes hsp-spin {
	to { transform: rotate(360deg); }
}

/* ════════════════════════════════════════════════════════════════
   ↗️ Arrow pointer to cart icon
═════════════════════════════════════════════════════════════════ */
.haika-cart-arrow {
	animation: hsp-arrow-bounce 1.2s cubic-bezier(.22,1,.36,1) infinite;
	color: var(--cb-purple-glow, #a0d0e8);
	filter: drop-shadow(0 4px 12px rgba(100, 170, 210,.6));
	transition: opacity .5s;
}
.haika-cart-arrow.is-fading { opacity: 0; }
.haika-cart-arrow__inner {
	display: inline-block;
}
@keyframes hsp-arrow-bounce {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-12px); }
}

/* Mobile adjustments */
@media (max-width: 720px) {
	.haika-toast {
		top: auto;
		bottom: 100px;
		right: 12px;
		left: 12px;
		max-width: none;
	}
	[dir="rtl"] .haika-toast { right: 12px; left: 12px; }
}

/* ════════════════════════════════════════════════════════════════
   🛒 MINI-CART — استایل کامل برای تم تیره/روشن
═════════════════════════════════════════════════════════════════ */
.haika-mini-cart {
	/* مینی‌کارت به body منتقل می‌شود (escape از containing block هدر)
	   پس fixed نسبت به viewport کار می‌کند */
	position: fixed;
	top: 70px;
	right: 20px;
	left: auto;
	width: 360px;
	max-height: 70vh;
	overflow: hidden;
	background: rgba(13, 10, 27, .96);
	-webkit-backdrop-filter: blur(20px) saturate(1.3);
	backdrop-filter: blur(20px) saturate(1.3);
	border: 1px solid rgba(100, 170, 210, .25);
	border-radius: 16px;
	box-shadow: 0 24px 56px rgba(0, 0, 0, .55), 0 0 0 1px rgba(100, 170, 210, .12);
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px) scale(.96);
	transition: opacity .28s cubic-bezier(.22,1,.36,1),
	            transform .28s cubic-bezier(.22,1,.36,1),
	            visibility 0s linear .28s;
	color: #fff;
}
[dir="rtl"] .haika-mini-cart { right: auto; left: 20px; }

.haika-mini-cart.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
	transition-delay: 0s;
}

.haika-mini-cart__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-height: 70vh;
}

.haika-mini-cart__header {
	padding: 16px 18px 12px;
	border-bottom: 1px solid rgba(100, 170, 210,.15);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.haika-mini-cart__title {
	font-size: 15px;
	font-weight: 800;
	color: #fff;
	margin: 0;
	letter-spacing: -0.01em;
}
.haika-mini-cart__count {
	font-size: 12px;
	font-weight: 700;
	color: #a0d0e8;
	background: rgba(100, 170, 210,.12);
	padding: 4px 10px;
	border-radius: 999px;
}

.haika-mini-cart__items {
	flex: 1;
	overflow-y: auto;
	padding: 8px 0;
	scrollbar-width: thin;
	scrollbar-color: rgba(100, 170, 210,.4) transparent;
}
.haika-mini-cart__items::-webkit-scrollbar { width: 4px; }
.haika-mini-cart__items::-webkit-scrollbar-thumb {
	background: rgba(100, 170, 210,.4);
	border-radius: 2px;
}

.haika-mini-cart__item {
	display: flex;
	gap: 12px;
	padding: 12px 18px;
	border-bottom: 1px solid rgba(100, 170, 210,.06);
	transition: background .15s;
}
.haika-mini-cart__item:hover {
	background: rgba(100, 170, 210,.05);
}
.haika-mini-cart__item:last-child { border-bottom: 0; }

.haika-mini-cart__item-img {
	width: 56px;
	height: 70px;
	flex-shrink: 0;
	border-radius: 10px;
	object-fit: cover;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(100, 170, 210,.15);
}
.haika-mini-cart__item-body {
	flex: 1;
	min-width: 0;
}
.haika-mini-cart__item-title {
	font-size: 13.5px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 4px;
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.haika-mini-cart__item-title a {
	color: inherit;
	text-decoration: none;
	transition: color .15s;
}
.haika-mini-cart__item-title a:hover { color: #a0d0e8; }

.haika-mini-cart__item-meta {
	font-size: 12px;
	color: rgba(255,255,255,.55);
	margin-bottom: 4px;
}
.haika-mini-cart__item-price {
	font-size: 13px;
	font-weight: 800;
	color: #a0d0e8;
}
.haika-mini-cart__item-qty {
	font-size: 11.5px;
	color: rgba(255,255,255,.6);
	background: rgba(255,255,255,.06);
	padding: 2px 8px;
	border-radius: 6px;
	display: inline-block;
}

.haika-mini-cart__item-remove {
	background: transparent;
	border: 0;
	color: rgba(255,255,255,.4);
	cursor: pointer;
	padding: 4px;
	border-radius: 6px;
	transition: all .15s;
	align-self: flex-start;
	display: flex;
	align-items: center;
	justify-content: center;
}
.haika-mini-cart__item-remove:hover {
	color: #ef4444;
	background: rgba(239,68,68,.08);
}

.haika-mini-cart__empty {
	padding: 40px 24px;
	text-align: center;
	color: rgba(255,255,255,.65);
	font-size: 14px;
}
.haika-mini-cart__empty svg {
	display: block;
	margin: 0 auto 14px;
	color: rgba(100, 170, 210,.45);
}

.haika-mini-cart__footer {
	padding: 14px 18px;
	border-top: 1px solid rgba(100, 170, 210,.15);
	background: rgba(100, 170, 210,.08);
}
.haika-mini-cart__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.haika-mini-cart__total-label {
	font-size: 13px;
	font-weight: 600;
	color: rgba(255,255,255,.7);
}
.haika-mini-cart__total-value {
	font-size: 16px;
	font-weight: 800;
	color: #a0d0e8;
}

.haika-mini-cart__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.haika-mini-cart__btn {
	padding: 11px 16px;
	border: 0;
	border-radius: 12px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	transition: all .2s;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.haika-mini-cart__btn--cart {
	background: rgba(255,255,255,.06);
	color: #fff;
	border: 1px solid rgba(100, 170, 210,.3);
}
.haika-mini-cart__btn--cart:hover {
	background: rgba(100, 170, 210,.1);
	border-color: rgba(100, 170, 210,.5);
}
.haika-mini-cart__btn--checkout {
	background: linear-gradient(135deg, #6aaecc 0%, #3a7ea0 100%);
	color: #fff;
	box-shadow: 0 6px 16px rgba(100, 170, 210,.4);
}
.haika-mini-cart__btn--checkout:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(100, 170, 210,.55);
}

/* ─── Light theme adjustments ─── */
body.haika-theme-light .haika-mini-cart {
	background: rgba(255, 255, 255, .98);
	border-color: rgba(100, 170, 210, .2);
	color: #1f2937;
}
body.haika-theme-light .haika-mini-cart__title { color: #1f2937; }
body.haika-theme-light .haika-mini-cart__item-title { color: #1f2937; }
body.haika-theme-light .haika-mini-cart__item-title a:hover { color: #3a7ea0; }
body.haika-theme-light .haika-mini-cart__item-meta { color: #6b7280; }
body.haika-theme-light .haika-mini-cart__item-price { color: #3a7ea0; }
body.haika-theme-light .haika-mini-cart__header,
body.haika-theme-light .haika-mini-cart__footer {
	border-color: rgba(100, 170, 210,.1);
}
body.haika-theme-light .haika-mini-cart__footer {
	background: rgba(100, 170, 210,.04);
}
body.haika-theme-light .haika-mini-cart__total-label { color: #6b7280; }
body.haika-theme-light .haika-mini-cart__total-value { color: #3a7ea0; }
body.haika-theme-light .haika-mini-cart__btn--cart {
	background: rgba(100, 170, 210,.04);
	color: #1f2937;
	border-color: rgba(100, 170, 210,.2);
}
body.haika-theme-light .haika-mini-cart__item-qty {
	background: rgba(100, 170, 210,.06);
	color: #6b7280;
}

/* Mobile */
@media (max-width: 720px) {
	.haika-mini-cart {
		position: fixed;
		top: auto;
		bottom: 0;
		right: 0;
		left: 0;
		width: 100%;
		max-height: 80vh;
		border-radius: 20px 20px 0 0;
		transform: translateY(100%);
	}
	.haika-mini-cart.is-open { transform: translateY(0); }
}

/* ════════════════════════════════════════════════════════════════
   📱 MINI-CART — Mobile Bottom Sheet (UX کامل)
═════════════════════════════════════════════════════════════════ */

/* backdrop tap-to-close */
.haika-mini-cart-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	z-index: 9998;
	opacity: 0;
	transition: opacity .25s;
}
.haika-mini-cart-backdrop.is-open {
	display: block;
	opacity: 1;
}

/* body lock وقتی mini-cart بازه */
body.haika-mini-cart-open {
	overflow: hidden !important;
	touch-action: none;
}

@media (max-width: 720px) {
	.haika-mini-cart {
		position: fixed !important;
		top: auto !important;
		bottom: 0 !important;
		right: 0 !important;
		left: 0 !important;
		width: 100% !important;
		max-width: none !important;
		max-height: 88vh !important;
		border-radius: 24px 24px 0 0 !important;
		border-bottom: 0 !important;
		transform: translateY(100%) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .25s ease-out, visibility 0s linear .35s !important;
		z-index: 9999;
		box-shadow: 0 -24px 60px rgba(0, 0, 0, .55) !important;
		display: flex;
		flex-direction: column;
	}
	.haika-mini-cart.is-open {
		transform: translateY(0) !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .25s ease-out, visibility 0s linear 0s !important;
	}

	/* drag handle بالای bottom sheet (modern mobile UX) */
	.haika-mini-cart::before {
		content: '';
		position: absolute;
		top: 8px;
		left: 50%;
		transform: translateX(-50%);
		width: 40px;
		height: 4px;
		background: rgba(255, 255, 255, .25);
		border-radius: 2px;
		pointer-events: none;
	}

	/* header کمی padding بیشتر */
	.haika-mini-cart__header {
		padding: 22px 18px 14px !important;
	}

	/* item ها روی موبایل — کمی فشرده‌تر */
	.haika-mini-cart__item {
		padding: 14px 16px;
	}
	.haika-mini-cart__item-img {
		width: 64px;
		height: 80px;
	}

	/* footer روی موبایل — همیشه visible (sticky in flex) */
	.haika-mini-cart__footer {
		padding: 16px 18px;
		padding-bottom: calc(16px + env(safe-area-inset-bottom));
	}

	/* CTA ها بزرگ‌تر برای راحتی tap */
	.haika-mini-cart__btn {
		padding: 14px 16px;
		font-size: 14.5px;
		min-height: 50px;
	}

	/* close بزرگ‌تر */
	.haika-mini-cart__close,
	[data-haika-cart-close] {
		width: 36px;
		height: 36px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(255, 255, 255, .08);
		border: 0;
		border-radius: 50%;
		color: rgba(255, 255, 255, .7);
		cursor: pointer;
	}

	/* items scroll smooth */
	.haika-mini-cart__items {
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		padding: 8px 0 12px;
	}

	/* light theme moblie adjustments */
	body.haika-theme-light .haika-mini-cart::before {
		background: rgba(0, 0, 0, .15);
	}
}

/* Very small screens — fit better */
@media (max-width: 360px) {
	.haika-mini-cart__title { font-size: 14px; }
	.haika-mini-cart__btn { padding: 12px; font-size: 13.5px; }
}

/* ════════════════════════════════════════════════════════════════
   🛒 CART DRAWER v2 — Premium UI
═════════════════════════════════════════════════════════════════ */

.haika-mini-cart__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-height: inherit;
	min-height: 0;
}

/* ─── HEADER (sticky top) ─── */
.haika-mini-cart__header {
	flex: 0 0 auto;
	padding: 18px 18px 14px;
	border-bottom: 1px solid rgba(100, 170, 210,.15);
	background: rgba(13,10,27,.92);
}
.haika-mini-cart__header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.haika-mini-cart__title {
	font-size: 16px;
	font-weight: 800;
	margin: 0;
	color: #fff;
	letter-spacing: -0.01em;
}
.haika-mini-cart__close {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.06);
	border: 0;
	color: rgba(255,255,255,.75);
	border-radius: 50%;
	cursor: pointer;
	transition: all .2s;
}
.haika-mini-cart__close:hover {
	background: rgba(255,255,255,.12);
	color: #fff;
}

/* ─── COUPON ─── */
.haika-mini-cart__coupon {
	position: relative;
	display: flex;
	gap: 8px;
	padding: 10px;
	background: rgba(255,255,255,.04);
	border: 1.5px solid rgba(100, 170, 210,.2);
	border-radius: 12px;
	transition: all .2s;
}
.haika-mini-cart__coupon.is-applied {
	background: rgba(16,185,129,.1);
	border-color: rgba(16,185,129,.5);
	padding: 0;
}
.haika-mini-cart__coupon.is-error {
	animation: hsp-shake .4s ease;
	border-color: #ef4444;
}
.haika-mini-cart__coupon-input {
	flex: 1;
	background: transparent;
	border: 0;
	color: #fff;
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 600;
	padding: 6px 8px;
	min-width: 0;
}
.haika-mini-cart__coupon-input::placeholder { color: rgba(255,255,255,.4); }
.haika-mini-cart__coupon-input:focus { outline: none; }
.haika-mini-cart__coupon-apply {
	background: linear-gradient(135deg, #6aaecc, #3a7ea0);
	color: #fff;
	border: 0;
	padding: 8px 16px;
	border-radius: 8px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: all .2s;
}
.haika-mini-cart__coupon-apply:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(100, 170, 210,.5);
}
.haika-mini-cart__coupon-apply:disabled { opacity: .5; cursor: wait; }
.haika-mini-cart__coupon-applied {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	color: #10b981;
	font-weight: 700;
	font-size: 14px;
	width: 100%;
}
.haika-mini-cart__coupon-applied svg { flex-shrink: 0; }
.haika-mini-cart__coupon-applied span { flex: 1; text-transform: uppercase; letter-spacing: .04em; }
.haika-mini-cart__coupon-remove {
	background: transparent;
	border: 0;
	color: rgba(16,185,129,.7);
	cursor: pointer;
	padding: 4px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .15s;
}
.haika-mini-cart__coupon-remove:hover {
	background: rgba(239,68,68,.1);
	color: #ef4444;
}
.haika-mini-cart__coupon-msg {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	font-size: 11.5px;
	margin-top: 6px;
	min-height: 14px;
}
.haika-mini-cart__coupon-msg.is-error {
	color: #ef4444;
}
@keyframes hsp-shake {
	0%, 100% { transform: translateX(0); }
	25%      { transform: translateX(-4px); }
	75%      { transform: translateX(4px); }
}

/* ─── ITEMS (scrollable middle) ─── */
.haika-mini-cart__items {
	flex: 1 1 auto;
	overflow-y: auto;
	min-height: 100px;
	padding: 10px 0;
	scrollbar-width: thin;
	scrollbar-color: rgba(100, 170, 210,.4) transparent;
	-webkit-overflow-scrolling: touch;
}
.haika-mini-cart__items::-webkit-scrollbar { width: 4px; }
.haika-mini-cart__items::-webkit-scrollbar-thumb { background: rgba(100, 170, 210,.4); border-radius: 2px; }

/* item layout */
.haika-mini-cart__item {
	display: flex;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid rgba(100, 170, 210,.06);
	transition: opacity .25s, background .15s;
	position: relative;
}
.haika-mini-cart__item:last-child { border-bottom: 0; }
.haika-mini-cart__item.is-updating { opacity: .55; pointer-events: none; }
.haika-mini-cart__item.is-removing { opacity: 0; transform: translateX(40px); transition: all .25s; }
.haika-mini-cart__item.is-updating::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 50%;
	width: 28px;
	height: 28px;
	margin: -14px -14px 0 0;
	border: 3px solid rgba(100, 170, 210,.25);
	border-top-color: var(--hsp-purple, #6aaecc);
	border-radius: 50%;
	animation: hsp-spin .7s linear infinite;
	z-index: 5;
}

/* image */
.haika-mini-cart__item-img-wrap {
	flex-shrink: 0;
	width: 84px;
	height: 100px;
	border-radius: 12px;
	overflow: hidden;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(100, 170, 210,.15);
	display: block;
	transition: transform .2s;
}
.haika-mini-cart__item-img-wrap:hover { transform: scale(1.03); }
.haika-mini-cart__item-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity .25s;
}

/* body */
.haika-mini-cart__item-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.haika-mini-cart__item-title {
	font-size: 13.5px;
	font-weight: 700;
	color: #fff;
	line-height: 1.4;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color .15s;
}
.haika-mini-cart__item-title:hover { color: #a0d0e8; }

/* options */
.haika-mini-cart__item-options {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.haika-mini-cart__opt-row {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.haika-mini-cart__opt-label {
	font-size: 11px;
	font-weight: 600;
	color: rgba(255,255,255,.55);
	min-width: 32px;
}
.haika-mini-cart__opt-swatches {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	align-items: center;
}

/* color swatch */
.haika-mini-cart__swatch--color {
	width: 26px;
	height: 26px;
	border: 1.5px solid rgba(100, 170, 210,.25);
	border-radius: 8px;
	background: rgba(255,255,255,.04);
	cursor: pointer;
	padding: 0;
	overflow: hidden;
	transition: all .2s cubic-bezier(.22,1,.36,1);
	position: relative;
}
.haika-mini-cart__swatch--color img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.haika-mini-cart__swatch--color:hover:not(:disabled) {
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(100, 170, 210,.4);
}
.haika-mini-cart__swatch--color.is-active {
	border-color: var(--hsp-purple, #6aaecc);
	border-width: 2px;
	box-shadow: 0 0 0 2px rgba(100, 170, 210,.3);
}
.haika-mini-cart__swatch--color.is-disabled,
.haika-mini-cart__swatch--color:disabled {
	opacity: .35;
	cursor: not-allowed;
	filter: grayscale(.6);
}
.haika-mini-cart__swatch--color.is-disabled::after {
	content: '';
	position: absolute;
	top: 50%;
	left: -2px;
	right: -2px;
	height: 1.5px;
	background: rgba(239,68,68,.7);
	transform: rotate(-25deg);
}

/* size swatch */
.haika-mini-cart__swatch--size {
	min-width: 32px;
	height: 26px;
	padding: 0 8px;
	border: 1.5px solid rgba(100, 170, 210,.25);
	background: rgba(255,255,255,.04);
	color: rgba(255,255,255,.85);
	border-radius: 8px;
	font-family: inherit;
	font-size: 11.5px;
	font-weight: 700;
	cursor: pointer;
	transition: all .2s;
}
.haika-mini-cart__swatch--size:hover:not(:disabled) {
	border-color: rgba(100, 170, 210,.55);
	background: rgba(100, 170, 210,.1);
}
.haika-mini-cart__swatch--size.is-active {
	background: linear-gradient(135deg, #6aaecc, #3a7ea0);
	color: #fff;
	border-color: #6aaecc;
}
.haika-mini-cart__swatch--size.is-disabled,
.haika-mini-cart__swatch--size:disabled {
	opacity: .35;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* bottom row: qty + prices + remove */
.haika-mini-cart__item-bottom {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
}

/* qty controls */
.haika-mini-cart__qty {
	display: inline-flex;
	align-items: center;
	background: rgba(255,255,255,.05);
	border: 1.5px solid rgba(100, 170, 210,.2);
	border-radius: 10px;
	overflow: hidden;
	flex-shrink: 0;
}
.haika-mini-cart__qty-btn {
	width: 28px;
	height: 30px;
	background: transparent;
	border: 0;
	color: #a0d0e8;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .15s;
	padding: 0;
}
.haika-mini-cart__qty-btn:hover:not(:disabled) { background: rgba(100, 170, 210,.15); }
.haika-mini-cart__qty-btn:active:not(:disabled) { transform: scale(.92); }
.haika-mini-cart__qty-btn:disabled { opacity: .3; cursor: not-allowed; }
.haika-mini-cart__qty input {
	width: 28px;
	height: 30px;
	text-align: center;
	background: transparent;
	border: 0;
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	pointer-events: none;
	caret-color: transparent;
	user-select: none;
}
.haika-mini-cart__qty input::-webkit-outer-spin-button,
.haika-mini-cart__qty input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* prices */
.haika-mini-cart__prices {
	flex: 1;
	min-width: 0;
	text-align: left;
	margin-inline-start: auto;
}
[dir="rtl"] .haika-mini-cart__prices { text-align: right; }

.haika-mini-cart__price-unit {
	font-size: 11px;
	color: rgba(255,255,255,.5);
	margin-bottom: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.haika-mini-cart__price-x { margin: 0 2px; opacity: .65; }
.haika-mini-cart__price-q { color: rgba(255,255,255,.75); font-weight: 700; }
.haika-mini-cart__price-total {
	font-size: 14px;
	font-weight: 800;
	color: #a0d0e8;
}

/* remove */
.haika-mini-cart__item-remove {
	width: 28px;
	height: 28px;
	background: transparent;
	border: 0;
	color: rgba(255,255,255,.4);
	cursor: pointer;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .15s;
	flex-shrink: 0;
}
.haika-mini-cart__item-remove:hover {
	color: #ef4444;
	background: rgba(239,68,68,.1);
}

/* ─── FOOTER ─── */
.haika-mini-cart__footer {
	flex: 0 0 auto;
	padding: 14px 18px;
	padding-bottom: calc(14px + env(safe-area-inset-bottom));
	border-top: 1px solid rgba(100, 170, 210,.15);
	background: rgba(100, 170, 210,.08);
}
.haika-mini-cart__totals {
	margin-bottom: 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.haika-mini-cart__total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 13px;
}
.haika-mini-cart__total-row .haika-mini-cart__total-label {
	color: rgba(255,255,255,.65);
	font-weight: 600;
}
.haika-mini-cart__total-row .haika-mini-cart__total-value {
	color: #fff;
	font-weight: 700;
}
.haika-mini-cart__total-row--discount .haika-mini-cart__total-value { color: #10b981; }
.haika-mini-cart__total-row--grand {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed rgba(100, 170, 210,.2);
}
.haika-mini-cart__total-row--grand .haika-mini-cart__total-label {
	font-size: 14px;
	font-weight: 800;
	color: #fff;
}
.haika-mini-cart__total-row--grand .haika-mini-cart__total-value {
	font-size: 17px;
	color: #a0d0e8;
}

/* actions */
.haika-mini-cart__actions {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 8px;
}
.haika-mini-cart__btn--cart {
	background: rgba(255,255,255,.06);
	color: #fff;
	border: 1.5px solid rgba(100, 170, 210,.3);
}
.haika-mini-cart__btn--cart:hover {
	background: rgba(100, 170, 210,.12);
	border-color: rgba(100, 170, 210,.5);
}
.haika-mini-cart__btn--checkout {
	background: linear-gradient(135deg, #6aaecc 0%, #3a7ea0 100%);
	color: #fff;
	box-shadow: 0 8px 22px rgba(100, 170, 210,.5), 0 0 0 1px rgba(100, 170, 210,.25);
	font-weight: 800;
	letter-spacing: 0.02em;
}
.haika-mini-cart__btn--checkout:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(100, 170, 210,.7), 0 0 0 1px rgba(100, 170, 210,.35);
}

/* drawer loading overlay */
.haika-mini-cart.is-loading::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(13,10,27,.55);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	z-index: 50;
	border-radius: inherit;
}
.haika-mini-cart.is-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px;
	border: 3.5px solid rgba(100, 170, 210,.25);
	border-top-color: #a0d0e8;
	border-radius: 50%;
	animation: hsp-spin .65s linear infinite;
	z-index: 51;
}

/* ════════════════════════════════════════════════════════════════
   🛒 CART DRAWER v3 — Dropdowns + Vertical Qty + Footer Compact
═════════════════════════════════════════════════════════════════ */

/* item — grid 4 column */
.haika-mini-cart__item {
	display: grid !important;
	grid-template-columns: 64px 1fr auto auto;
	gap: 10px !important;
	padding: 12px 14px !important;
	align-items: center;
}

/* image — کوچک‌تر */
.haika-mini-cart__item-img-wrap {
	width: 64px !important;
	height: 78px !important;
}

/* OPTIONS COLUMN (dropdowns) */
.haika-mini-cart__item-opts {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

/* ─── DROPDOWN ─── */
.haika-mini-cart__dropdown {
	position: relative;
	min-width: 0;
}
.haika-mini-cart__dd-trigger {
	display: flex;
	align-items: center;
	gap: 6px;
	width: 100%;
	padding: 6px 10px;
	background: rgba(255,255,255,.05);
	border: 1.5px solid rgba(100, 170, 210,.2);
	border-radius: 10px;
	color: #fff;
	font-family: inherit;
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s;
	min-height: 34px;
}
.haika-mini-cart__dd-trigger:hover {
	background: rgba(100, 170, 210,.1);
	border-color: rgba(100, 170, 210,.4);
}
.haika-mini-cart__dropdown.is-open .haika-mini-cart__dd-trigger {
	background: rgba(100, 170, 210,.12);
	border-color: var(--hsp-purple, #6aaecc);
}
.haika-mini-cart__dd-label {
	color: rgba(255,255,255,.55);
	font-size: 11px;
	font-weight: 600;
}
.haika-mini-cart__dd-value {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 6px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.haika-mini-cart__dd-value em {
	font-style: italic;
	opacity: .55;
	font-weight: 500;
}
.haika-mini-cart__dd-thumb {
	width: 18px;
	height: 18px;
	border-radius: 4px;
	object-fit: cover;
	flex-shrink: 0;
}
.haika-mini-cart__dd-arrow {
	flex-shrink: 0;
	opacity: .6;
	transition: transform .25s;
}
.haika-mini-cart__dropdown.is-open .haika-mini-cart__dd-arrow {
	transform: rotate(180deg);
}

/* ─── DROPDOWN MENU ─── */
.haika-mini-cart__dd-menu {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 200;
	background: rgba(20, 14, 38, .98);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(100, 170, 210,.3);
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(0,0,0,.5);
	max-height: 240px;
	overflow-y: auto;
	padding: 6px;
	display: none;
	flex-direction: column;
	gap: 2px;
	min-width: 160px;
}
.haika-mini-cart__dropdown.is-open .haika-mini-cart__dd-menu {
	display: flex;
	animation: hsp-dd-in .2s cubic-bezier(.22,1,.36,1);
}
@keyframes hsp-dd-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ─── DROPDOWN OPTION ─── */
.haika-mini-cart__dd-opt {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 10px;
	background: transparent;
	border: 0;
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	text-align: start;
	cursor: pointer;
	border-radius: 8px;
	transition: all .15s;
}
.haika-mini-cart__dd-opt:hover:not(:disabled) {
	background: rgba(100, 170, 210,.1);
}
.haika-mini-cart__dd-opt img {
	width: 28px;
	height: 28px;
	border-radius: 6px;
	object-fit: cover;
	flex-shrink: 0;
	border: 1px solid rgba(100, 170, 210,.2);
}
.haika-mini-cart__dd-opt span {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.haika-mini-cart__dd-opt.is-active {
	background: rgba(106, 174, 204,.15);
	color: #a0d0e8;
}
.haika-mini-cart__dd-opt.is-active svg {
	color: #a0d0e8;
}
.haika-mini-cart__dd-opt.is-disabled,
.haika-mini-cart__dd-opt:disabled {
	opacity: .4;
	cursor: not-allowed;
	color: rgba(255,255,255,.4);
}
.haika-mini-cart__dd-opt.is-disabled span {
	text-decoration: line-through;
}
.haika-mini-cart__dd-opt.is-disabled img {
	filter: grayscale(1);
}
.haika-mini-cart__dd-na {
	font-size: 10px;
	color: #ef4444;
	background: rgba(239,68,68,.12);
	padding: 1px 6px;
	border-radius: 999px;
}

/* ─── QTY VERTICAL ─── */
.haika-mini-cart__qty--vertical {
	display: flex !important;
	flex-direction: column;
	width: 36px;
	height: 96px;
}
.haika-mini-cart__qty--vertical .haika-mini-cart__qty-btn {
	width: 100% !important;
	height: 30px !important;
	flex-shrink: 0;
}
.haika-mini-cart__qty--vertical input {
	width: 100% !important;
	height: 36px !important;
	font-size: 14px !important;
}

/* ─── PRICES COLUMN ─── */
.haika-mini-cart__item-prices-col {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	min-width: 0;
	flex-shrink: 0;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit {
	font-size: 10.5px;
	color: rgba(255,255,255,.45);
	white-space: nowrap;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-total {
	font-size: 13.5px;
	font-weight: 800;
	color: #a0d0e8;
	white-space: nowrap;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__item-remove {
	margin-top: 4px;
}

/* ─── FOOTER SUMMARY v3 ─── */
.haika-mini-cart__sum {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
	padding: 12px;
	background: rgba(100, 170, 210,.12);
	border-radius: 14px;
	border: 1px solid rgba(100, 170, 210,.18);
}

.haika-mini-cart__extras {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-height: 24px;
}
.haika-mini-cart__extra {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	font-weight: 700;
	color: rgba(255,255,255,.7);
	white-space: nowrap;
}
.haika-mini-cart__extra svg {
	flex-shrink: 0;
	opacity: .75;
}
.haika-mini-cart__extra--discount { color: #10b981; }
.haika-mini-cart__extra--discount svg { color: #10b981; opacity: 1; }

.haika-mini-cart__grand {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 2px;
	flex-shrink: 0;
	text-align: end;
}
[dir="rtl"] .haika-mini-cart__grand { align-items: flex-start; text-align: start; }

.haika-mini-cart__grand-label {
	font-size: 11.5px;
	color: rgba(255,255,255,.6);
	font-weight: 700;
	letter-spacing: 0.01em;
}
.haika-mini-cart__grand-value {
	font-size: 18px;
	font-weight: 900;
	color: #a0d0e8;
	letter-spacing: -0.01em;
}

/* hide old footer totals (در صورت cached page) */
.haika-mini-cart__totals { display: none !important; }

/* mobile adjustments */
@media (max-width: 720px) {
	.haika-mini-cart__item {
		grid-template-columns: 60px 1fr auto auto;
		gap: 8px !important;
		padding: 10px 12px !important;
	}
	.haika-mini-cart__item-img-wrap {
		width: 60px !important;
		height: 72px !important;
	}
	.haika-mini-cart__qty--vertical {
		width: 32px;
		height: 88px;
	}
	.haika-mini-cart__qty--vertical .haika-mini-cart__qty-btn { height: 26px !important; }
	.haika-mini-cart__qty--vertical input { height: 32px !important; font-size: 13px !important; }
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-total { font-size: 12.5px; }
	.haika-mini-cart__sum {
		flex-direction: column;
		gap: 10px;
		padding: 12px;
	}
	.haika-mini-cart__extras {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
	}
	.haika-mini-cart__grand {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding-top: 8px;
		border-top: 1px dashed rgba(100, 170, 210,.25);
	}
	.haika-mini-cart__grand-value { font-size: 17px; }
}

/* ════════════════════════════════════════════════════════════════
   🛒 CART DRAWER v4 — Horizontal Expand Dropdown
═════════════════════════════════════════════════════════════════ */

/* row: trigger + expanded items inline */
.haika-mini-cart__opt-row {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	flex-wrap: nowrap;
	overflow: hidden;
}

/* trigger — pill ساده */
.haika-mini-cart__opt-trigger {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 12px;
	background: rgba(255,255,255,.05);
	border: 1.5px solid rgba(100, 170, 210,.22);
	border-radius: 999px;
	color: #fff;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s;
	flex-shrink: 0;
	white-space: nowrap;
}
.haika-mini-cart__opt-trigger:hover {
	background: rgba(100, 170, 210,.1);
	border-color: rgba(100, 170, 210,.4);
}
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-trigger {
	background: linear-gradient(135deg, #6aaecc, #3a7ea0);
	border-color: #6aaecc;
	color: #fff;
	box-shadow: 0 4px 10px rgba(100, 170, 210,.45);
}
.haika-mini-cart__opt-trigger-label {
	color: rgba(255,255,255,.55);
	font-size: 11px;
	font-weight: 600;
}
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-trigger-label { color: rgba(255,255,255,.85); }
.haika-mini-cart__opt-trigger-value {
	font-weight: 700;
}
.haika-mini-cart__opt-trigger-value em { font-style: italic; opacity: .6; }

/* items container — hidden by default، horizontally expanded when open */
.haika-mini-cart__opt-items {
	display: none;
	gap: 6px;
	align-items: center;
	overflow-x: auto;
	overflow-y: hidden;
	flex: 1;
	min-width: 0;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding: 2px 0;
}
.haika-mini-cart__opt-items::-webkit-scrollbar { display: none; }

.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-items {
	display: inline-flex;
	animation: hsp-row-expand .25s cubic-bezier(.22,1,.36,1);
}
@keyframes hsp-row-expand {
	from { opacity: 0; transform: translateX(-4px); }
	to   { opacity: 1; transform: translateX(0); }
}

/* color swatch — square with background image */
.haika-mini-cart__swatch--color-pill {
	width: 32px;
	height: 32px;
	min-width: 32px;
	border: 1.5px solid rgba(100, 170, 210,.25);
	border-radius: 8px;
	background-color: rgba(255,255,255,.05);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-image: var(--swatch-bg, none);
	cursor: pointer;
	padding: 0;
	overflow: hidden;
	transition: all .2s cubic-bezier(.22,1,.36,1);
	flex-shrink: 0;
	position: relative;
	color: transparent;
	font-size: 0;
}
.haika-mini-cart__swatch--color-pill span {
	font-size: 10px;
	color: rgba(255,255,255,.6);
	display: inline-block;
}
.haika-mini-cart__swatch--color-pill:not([style*="--swatch-bg"]) {
	background: rgba(255,255,255,.06);
	color: rgba(255,255,255,.85);
	font-size: 11px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.haika-mini-cart__swatch--color-pill:hover:not(:disabled) {
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 6px 14px rgba(100, 170, 210,.4);
	border-color: rgba(100, 170, 210,.5);
}
.haika-mini-cart__swatch--color-pill.is-active {
	border-color: #a0d0e8;
	border-width: 2.5px;
	box-shadow: 0 0 0 2px rgba(100, 170, 210,.25), 0 8px 18px rgba(100, 170, 210,.5);
	transform: translateY(-1px);
}
.haika-mini-cart__swatch--color-pill.is-active::after {
	content: '';
	position: absolute;
	top: -5px;
	right: -5px;
	width: 16px;
	height: 16px;
	background: #a0d0e8;
	border: 2px solid var(--cb-bg, #0d0a1b);
	border-radius: 50%;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
	background-size: 10px;
	background-repeat: no-repeat;
	background-position: center;
}
[dir="rtl"] .haika-mini-cart__swatch--color-pill.is-active::after { right: auto; left: -5px; }
.haika-mini-cart__swatch--color-pill.is-disabled,
.haika-mini-cart__swatch--color-pill:disabled {
	opacity: .35;
	cursor: not-allowed;
	filter: grayscale(.7);
}

/* size pill */
.haika-mini-cart__swatch--size-pill {
	min-width: 36px;
	height: 32px;
	padding: 0 10px;
	border: 1.5px solid rgba(100, 170, 210,.25);
	background: rgba(255,255,255,.04);
	color: #fff;
	border-radius: 999px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: all .2s;
	flex-shrink: 0;
	white-space: nowrap;
}
.haika-mini-cart__swatch--size-pill:hover:not(:disabled) {
	border-color: rgba(100, 170, 210,.55);
	background: rgba(100, 170, 210,.1);
	transform: translateY(-1px);
}
.haika-mini-cart__swatch--size-pill.is-active {
	background: linear-gradient(135deg, #6aaecc, #3a7ea0);
	color: #fff;
	border-color: #6aaecc;
	box-shadow: 0 6px 14px rgba(100, 170, 210,.4);
}
.haika-mini-cart__swatch--size-pill.is-disabled,
.haika-mini-cart__swatch--size-pill:disabled {
	opacity: .35;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* ─── FOOTER ROW (extras + grand in same row) ─── */
.haika-mini-cart__sum {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-direction: row !important;
	gap: 14px !important;
	margin-bottom: 14px;
	padding: 14px;
	background: rgba(100, 170, 210,.12);
	border-radius: 14px;
	border: 1px solid rgba(100, 170, 210,.18);
}
.haika-mini-cart__extras {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 0;
	align-items: flex-start;
}
.haika-mini-cart__extras:empty { display: none; }
.haika-mini-cart__grand {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	flex-shrink: 0;
	white-space: nowrap;
	transition: transform .2s;
}
[dir="rtl"] .haika-mini-cart__grand { align-items: flex-start; }
.haika-mini-cart__grand.is-updated {
	animation: hsp-grand-pop .4s cubic-bezier(.22,1,.36,1);
}
@keyframes hsp-grand-pop {
	0%   { transform: scale(1); }
	30%  { transform: scale(1.06); }
	100% { transform: scale(1); }
}

/* mobile — keep same row, smaller font */
@media (max-width: 720px) {
	.haika-mini-cart__sum {
		padding: 12px !important;
		gap: 10px !important;
	}
	.haika-mini-cart__grand-value { font-size: 16px; }
	.haika-mini-cart__extra { font-size: 11.5px; }
	.haika-mini-cart__extras { gap: 3px; }

	/* horizontal scroll روی موبایل برای options */
	.haika-mini-cart__opt-items {
		max-width: 100%;
	}
}

/* ════════════════════════════════════════════════════════════════
   🛒 CART DRAWER v5 — Fix dropdown + Full-width expand + 3-col footer
═════════════════════════════════════════════════════════════════ */

/* item — تعادل ستون‌ها (image | options | qty | prices) */
.haika-mini-cart__item {
	grid-template-columns: 58px minmax(0, 1fr) 36px auto !important;
	gap: 8px !important;
	padding: 12px !important;
	position: relative;
}
.haika-mini-cart__item-img-wrap {
	width: 58px !important;
	height: 72px !important;
}
.haika-mini-cart__item-opts {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

/* ─── TRIGGER (compact pill with image) ─── */
.haika-mini-cart__opt-trigger {
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	padding: 4px 10px !important;
	background: rgba(255,255,255,.05);
	border: 1.5px solid rgba(100, 170, 210,.22);
	border-radius: 999px;
	color: #fff;
	font-family: inherit;
	font-size: 11.5px !important;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s;
	white-space: nowrap;
	min-height: 28px;
	max-width: 100%;
	overflow: hidden;
}
.haika-mini-cart__opt-trigger-label {
	color: rgba(255,255,255,.55);
	font-size: 10.5px;
	font-weight: 600;
	flex-shrink: 0;
}
.haika-mini-cart__opt-trigger-swatch {
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 4px;
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
	border: 1px solid rgba(100, 170, 210,.3);
}
.haika-mini-cart__opt-trigger-value {
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}
.haika-mini-cart__opt-trigger-value em { opacity: .55; font-style: italic; }
.haika-mini-cart__opt-trigger-caret {
	flex-shrink: 0;
	opacity: .55;
	transition: transform .25s;
	margin-inline-start: 2px;
}
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-trigger {
	background: linear-gradient(135deg, #6aaecc, #3a7ea0);
	border-color: #6aaecc;
	box-shadow: 0 4px 10px rgba(100, 170, 210,.45);
}
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-trigger-label,
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-trigger-value { color: #fff; }
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-trigger-caret {
	transform: rotate(180deg);
	opacity: 1;
}

/* ─── OPT ITEMS (full-width expand under item) ─── */
.haika-mini-cart__opt-row {
	display: flex !important;
	align-items: center !important;
	min-width: 0;
}
.haika-mini-cart__opt-items {
	position: absolute;
	top: 100%;
	left: 8px;
	right: 8px;
	z-index: 100;
	display: none !important;
	flex-direction: row;
	gap: 8px;
	align-items: center;
	padding: 10px 14px;
	margin-top: 4px;
	background: rgba(20, 14, 38, .98);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(100, 170, 210,.35);
	border-radius: 14px;
	box-shadow: 0 14px 32px rgba(0,0,0,.55);
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	scrollbar-color: rgba(100, 170, 210,.4) transparent;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
}
.haika-mini-cart__opt-items::-webkit-scrollbar { height: 4px; }
.haika-mini-cart__opt-items::-webkit-scrollbar-thumb { background: rgba(100, 170, 210,.4); border-radius: 2px; }

.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-items {
	display: flex !important;
	animation: hsp-expand-down .25s cubic-bezier(.22,1,.36,1);
}
@keyframes hsp-expand-down {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* color swatch — square */
.haika-mini-cart__swatch--color-pill {
	width: 38px;
	height: 38px;
	min-width: 38px;
	border: 1.5px solid rgba(100, 170, 210,.25);
	border-radius: 10px;
	background-color: rgba(255,255,255,.05);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-image: var(--swatch-bg, none);
	cursor: pointer;
	padding: 0;
	overflow: hidden;
	transition: all .2s cubic-bezier(.22,1,.36,1);
	flex-shrink: 0;
	position: relative;
	color: transparent;
	font-size: 0;
}
.haika-mini-cart__swatch--color-pill:not([style*="--swatch-bg"]) {
	color: rgba(255,255,255,.85);
	font-size: 11px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.06);
}
.haika-mini-cart__swatch--color-pill:hover:not(:disabled) {
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 6px 14px rgba(100, 170, 210,.4);
	border-color: rgba(100, 170, 210,.5);
}
.haika-mini-cart__swatch--color-pill.is-active {
	border-color: #a0d0e8;
	border-width: 2.5px;
	box-shadow: 0 0 0 2px rgba(100, 170, 210,.25), 0 8px 18px rgba(100, 170, 210,.5);
	transform: translateY(-1px);
}
.haika-mini-cart__swatch--color-pill.is-disabled,
.haika-mini-cart__swatch--color-pill:disabled {
	opacity: .35;
	cursor: not-allowed;
	filter: grayscale(.7);
}

/* size pill */
.haika-mini-cart__swatch--size-pill {
	min-width: 40px;
	height: 36px;
	padding: 0 14px;
	border: 1.5px solid rgba(100, 170, 210,.25);
	background: rgba(255,255,255,.04);
	color: #fff;
	border-radius: 999px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: all .2s;
	flex-shrink: 0;
	white-space: nowrap;
}
.haika-mini-cart__swatch--size-pill:hover:not(:disabled) {
	border-color: rgba(100, 170, 210,.55);
	background: rgba(100, 170, 210,.1);
}
.haika-mini-cart__swatch--size-pill.is-active {
	background: linear-gradient(135deg, #6aaecc, #3a7ea0);
	color: #fff;
	border-color: #6aaecc;
}
.haika-mini-cart__swatch--size-pill.is-disabled,
.haika-mini-cart__swatch--size-pill:disabled {
	opacity: .35;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* qty عمودی — کمی فشرده‌تر */
.haika-mini-cart__item-qty-col { display: flex; }
.haika-mini-cart__qty--vertical {
	width: 32px !important;
	height: 84px !important;
}
.haika-mini-cart__qty--vertical .haika-mini-cart__qty-btn { height: 26px !important; }
.haika-mini-cart__qty--vertical input { height: 32px !important; font-size: 13px !important; }

/* prices */
.haika-mini-cart__item-prices-col {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;
	min-width: 0;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit {
	font-size: 10px;
	color: rgba(255,255,255,.45);
	white-space: nowrap;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-total {
	font-size: 13px;
	font-weight: 800;
	color: #a0d0e8;
	white-space: nowrap;
}
.haika-mini-cart__item-remove {
	width: 24px !important;
	height: 24px !important;
	margin-top: 2px;
}

/* ════════════════════════════════════════════════════════════════
   🧾 FOOTER 3-COLUMN SUMMARY
═════════════════════════════════════════════════════════════════ */
.haika-mini-cart__sum {
	display: grid !important;
	grid-template-columns: auto 1fr auto !important;
	flex-direction: row !important;
	gap: 10px !important;
	align-items: center !important;
	padding: 12px 14px !important;
	margin-bottom: 12px !important;
	background: rgba(100, 170, 210,.12);
	border-radius: 14px;
	border: 1px solid rgba(100, 170, 210,.18);
}
.haika-mini-cart__sumcol {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.haika-mini-cart__sumcol--sub {
	align-items: flex-start;
}
.haika-mini-cart__sumcol--grand {
	align-items: flex-end;
}
[dir="rtl"] .haika-mini-cart__sumcol--sub { align-items: flex-end; }
[dir="rtl"] .haika-mini-cart__sumcol--grand { align-items: flex-start; }

.haika-mini-cart__sumcol-label {
	font-size: 10.5px;
	color: rgba(255,255,255,.6);
	font-weight: 700;
	white-space: nowrap;
}
.haika-mini-cart__sumcol-value {
	font-size: 13.5px;
	font-weight: 800;
	color: #fff;
	white-space: nowrap;
}
.haika-mini-cart__sumcol--grand .haika-mini-cart__sumcol-value {
	color: #a0d0e8;
	font-size: 16px;
	font-weight: 900;
}
.haika-mini-cart__sumcol.is-updated {
	animation: hsp-grand-pop .4s cubic-bezier(.22,1,.36,1);
}

/* mid col — extras (2 sub-columns: deductions | additions) */
.haika-mini-cart__sumcol--mid {
	display: grid;
	grid-template-columns: auto auto;
	gap: 0 14px;
	align-items: stretch;
	justify-content: center;
	max-height: 56px;
	overflow: hidden;
}
.haika-mini-cart__sumcol--mid:has(:only-child) {
	grid-template-columns: auto;
}
.haika-mini-cart__sumcol-sub {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	overflow-y: auto;
	scrollbar-width: thin;
}
.haika-mini-cart__sumcol-sub-row {
	display: flex;
	align-items: center;
	gap: 3px;
	font-size: 10.5px;
	font-weight: 700;
	color: rgba(255,255,255,.7);
	white-space: nowrap;
}
.haika-mini-cart__sumcol-sub-row svg { opacity: .7; flex-shrink: 0; }
.haika-mini-cart__sumcol-sub-row--discount { color: #10b981; }
.haika-mini-cart__sumcol-sub-row--discount svg { color: #10b981; opacity: 1; }

/* mobile */
@media (max-width: 720px) {
	.haika-mini-cart__sum {
		gap: 8px !important;
		padding: 10px 12px !important;
	}
	.haika-mini-cart__sumcol-label { font-size: 10px; }
	.haika-mini-cart__sumcol-value { font-size: 12.5px; }
	.haika-mini-cart__sumcol--grand .haika-mini-cart__sumcol-value { font-size: 15px; }
	.haika-mini-cart__sumcol-sub-row { font-size: 10px; }
}

/* hide old footer styles */
.haika-mini-cart__totals,
.haika-mini-cart__extras,
.haika-mini-cart__grand,
.haika-mini-cart__total-row { display: none !important; }

/* ════════════════════════════════════════════════════════════════
   🛒 CART DRAWER v6 — Color trigger compact + Grid 5-col + Force dropdown
═════════════════════════════════════════════════════════════════ */

/* item: 5-column grid — image | opts | qty | prices | × */
.haika-mini-cart__item {
	display: grid !important;
	grid-template-columns: 56px minmax(0, 1fr) 36px minmax(78px, max-content) 26px !important;
	gap: 8px !important;
	padding: 12px 10px !important;
	position: relative;
	align-items: center;
}
/* qty: ستون مستقل با عرض ثابت 36px */
.haika-mini-cart__item-qty-col {
	width: 36px !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}
/* prices: حداقل 78px، حداکثر max-content، با shrink اگر طولانی شد */
.haika-mini-cart__item-prices-col {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 2px !important;
	min-width: 78px !important;
	max-width: 100% !important;
	overflow: hidden !important;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-total {
	font-size: 13px !important;
	font-weight: 800 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100% !important;
	text-align: center !important;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit {
	font-size: 10px !important;
	white-space: nowrap !important;
	text-align: center !important;
	width: 100% !important;
}
/* اگر متن قیمت خیلی طولانی شد، فونت رو شیفت کن */
@media (max-width: 480px) {
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-total { font-size: 11.5px !important; }
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit { font-size: 9px !important; }
}

/* trigger ها هم‌اندازه */
.haika-mini-cart__opt-trigger {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 130px;
	height: 30px !important;
	min-height: 30px !important;
	padding: 0 10px !important;
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	justify-content: flex-start;
}

/* trigger رنگ — فقط label + swatch + caret (no name text) */
.haika-mini-cart__opt-trigger--color .haika-mini-cart__opt-trigger-value {
	display: none !important;
}
.haika-mini-cart__opt-trigger-swatch {
	display: inline-block;
	width: 20px !important;
	height: 20px !important;
	border-radius: 6px;
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
	border: 1px solid rgba(100, 170, 210,.35);
}

/* trigger size — مقدار visible */
.haika-mini-cart__opt-trigger--size .haika-mini-cart__opt-trigger-value {
	display: inline-block;
}

/* caret افقی (rotate to left in RTL by default) */
.haika-mini-cart__opt-trigger-caret {
	margin-inline-start: auto;
	opacity: .6;
	transition: transform .25s;
}
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-trigger-caret {
	transform: rotate(-90deg);
	opacity: 1;
}

/* ─── DROPDOWN FORCE FIX ─── */
.haika-mini-cart__opt-items {
	position: absolute !important;
	top: calc(100% + 4px) !important;
	left: 8px !important;
	right: 8px !important;
	z-index: 200 !important;
	display: none !important;
	flex-direction: row !important;
	gap: 8px !important;
	align-items: center !important;
	padding: 10px 14px !important;
	background: rgba(20, 14, 38, .98) !important;
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(100, 170, 210,.4) !important;
	border-radius: 14px !important;
	box-shadow: 0 14px 32px rgba(0,0,0,.6) !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	max-width: none !important;
	min-height: 50px;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
}
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-items {
	display: flex !important;
	animation: hsp-expand-down .25s cubic-bezier(.22,1,.36,1);
}

/* qty — کوچک‌تر */
.haika-mini-cart__item-qty-col { width: 30px; }
.haika-mini-cart__qty--vertical {
	width: 30px !important;
	height: 76px !important;
}
.haika-mini-cart__qty--vertical .haika-mini-cart__qty-btn {
	width: 100% !important;
	height: 24px !important;
	font-size: 14px !important;
}
.haika-mini-cart__qty--vertical input {
	width: 100% !important;
	height: 28px !important;
	font-size: 12.5px !important;
}

/* prices */
.haika-mini-cart__item-prices-col {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	min-width: 0;
	flex-shrink: 0;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit {
	font-size: 10px;
	color: rgba(255,255,255,.45);
	white-space: nowrap;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-total {
	font-size: 13px;
	font-weight: 800;
	color: #a0d0e8;
	white-space: nowrap;
}

/* remove — ستون مستقل */
.haika-mini-cart__item-remove--col {
	width: 24px !important;
	height: 24px !important;
	background: transparent;
	border: 0;
	color: rgba(255,255,255,.4);
	cursor: pointer;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: all .15s;
	flex-shrink: 0;
	margin: 0 !important;
}
.haika-mini-cart__item-remove--col:hover {
	color: #ef4444;
	background: rgba(239,68,68,.1);
}

/* mobile */
@media (max-width: 720px) {
	.haika-mini-cart__item {
		grid-template-columns: 50px minmax(0, 1fr) 28px auto 22px !important;
		gap: 6px !important;
		padding: 10px !important;
	}
	.haika-mini-cart__item-img-wrap {
		width: 50px !important;
		height: 64px !important;
	}
	.haika-mini-cart__opt-trigger {
		max-width: 100%;
		height: 28px !important;
		padding: 0 8px !important;
		font-size: 11px !important;
	}
	.haika-mini-cart__opt-trigger-label { font-size: 10px; }
	.haika-mini-cart__opt-trigger-swatch { width: 16px !important; height: 16px !important; }
	.haika-mini-cart__qty--vertical { width: 28px !important; height: 70px !important; }
	.haika-mini-cart__qty--vertical .haika-mini-cart__qty-btn { height: 22px !important; }
	.haika-mini-cart__qty--vertical input { height: 26px !important; font-size: 12px !important; }
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-total { font-size: 12px; }
}

/* ════════════════════════════════════════════════════════════════
   🛒 CART DRAWER v7 — ۱۰ بهبود نهایی
   ────────────────────────────────────────────────────────────────
   ۱) ستون × — وسط ارتفاع + رنگ ملایم متفاوت
   ۲) واحد ضرب: تومان حذف شد (در PHP)
   ۳) واحد پول سمت چپ عدد (فیلتر در functions.php)
   ۴) trigger ها هم‌اندازه (با JS measure می‌شود)
   ۵) Dropdown روبه‌روی trigger (side expand)
   ۶) Popup duplicate
   ۷) Popup size auto-select
   ۸) جمع فاکتور: متن label راست‌چین
   ۹) دکمه × بسته‌شدن سرتیتر حذف شد (در PHP)
   ۱۰) ستون وسط فوتر: همیشه render (در PHP)
═════════════════════════════════════════════════════════════════ */

/* ── ۱) ستون × — وسط ارتفاع + ‌background ملایم متفاوت برای تمایز ── */
.haika-mini-cart__item-remove--col {
	align-self: center !important;
	background: rgba(239, 68, 68, .06) !important;
	border: 1px solid rgba(239, 68, 68, .14) !important;
	color: rgba(239, 99, 99, .65) !important;
	width: 26px !important;
	height: 26px !important;
}
.haika-mini-cart__item-remove--col:hover {
	background: rgba(239, 68, 68, .22) !important;
	border-color: rgba(239, 68, 68, .45) !important;
	color: #fff !important;
	transform: scale(1.08);
}

/* ── ۴) trigger‌ها هم‌اندازه — width را JS با data-eq-width تنظیم می‌کند ── */
.haika-mini-cart__opt-trigger {
	width: var(--haika-trigger-w, auto) !important;
	max-width: 100% !important;
	flex-shrink: 0 !important;
}
.haika-mini-cart__item-opts {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	align-items: flex-start !important;
	min-width: 0 !important;
	position: relative !important;
}

/* ── ۵) Dropdown دقیقاً از کنار فلش trigger ──
   موقعیت با JS محاسبه می‌شود (data-haika-dd-positioned):
     • right edge of dropdown = trigger's caret (left edge of trigger در RTL)
     • left edge of dropdown = right edge of × column + کمی فاصله
     • اگر swatch ها زیاد بودند، اسکرول افقی فعال می‌شود
   متغیرهای custom: --dd-top, --dd-left, --dd-width (روی هر dropdown ست می‌شوند) */
.haika-mini-cart__item {
	position: relative !important;
}
.haika-mini-cart__opt-row {
	position: static !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	gap: 8px !important;
}
/* item: overflow visible + z-index */
.haika-mini-cart__item {
	position: relative !important;
	overflow: visible !important;
	z-index: 1;
}
.haika-mini-cart__item:has(.haika-mini-cart__opt-row.is-open),
.haika-mini-cart__item.has-dd-open {
	z-index: 100 !important;
	overflow: visible !important;
}
.haika-mini-cart__items {
	overflow-x: visible !important;
}
.haika-mini-cart__item-opts {
	overflow: visible !important;
}
/* opt-row → containing block برای dropdown با position: relative + align-items: center */
.haika-mini-cart__opt-row {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
}
.haika-mini-cart__opt-row.is-open {
	z-index: 50 !important;
}
/* dropdown — position: absolute نسبت به opt-row با CSS-only positioning */
.haika-mini-cart__opt-items {
	display: inline-flex !important;
	position: absolute !important;
	top: 50% !important;                    /* مرکز عمودی opt-row = مرکز trigger */
	right: calc(var(--haika-trigger-w, 130px) + 8px) !important;  /* سمت چپ trigger */
	left: auto !important;
	bottom: auto !important;
	width: auto !important;
	max-width: var(--dd-maxw, 200px) !important;
	min-width: 30px !important;
	height: 32px !important;
	transform: translateY(-50%) translateX(-6px) !important;
	opacity: 0 !important;
	pointer-events: none !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 5px !important;
	align-items: center !important;
	padding: 3px 8px !important;
	background: rgba(22, 16, 42, .98) !important;
	-webkit-backdrop-filter: blur(18px) !important;
	backdrop-filter: blur(18px) !important;
	border: 1px solid rgba(100, 170, 210, .45) !important;
	border-radius: 9px !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .55), 0 0 0 3px rgba(100, 170, 210, .08) !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	min-height: 0 !important;
	min-width: 30px !important;
	z-index: 99999 !important;            /* روی همه چیز overlay */
	white-space: nowrap !important;
	scrollbar-width: thin !important;
	scrollbar-color: rgba(100, 170, 210,.5) transparent !important;
	transition: opacity .22s cubic-bezier(.22, 1, .36, 1),
				transform .28s cubic-bezier(.22, 1, .36, 1) !important;
}
.haika-mini-cart__opt-items::-webkit-scrollbar { height: 4px; }
.haika-mini-cart__opt-items::-webkit-scrollbar-track { background: transparent; }
.haika-mini-cart__opt-items::-webkit-scrollbar-thumb {
	background: rgba(100, 170, 210,.4);
	border-radius: 2px;
}
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-items,
.haika-mini-cart__opt-items.is-open {
	display: inline-flex !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: translateY(-50%) translateX(0) !important;
	animation: none !important;
}
/* فلش کوچک سمت راست dropdown — هم برای body-resident */
.haika-mini-cart__opt-items.is-open::before {
	content: '';
	position: absolute;
	top: 50%;
	right: -7px;
	left: auto;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-block: 5px solid transparent;
	border-inline-start: 0;
	border-inline-end: 6px solid rgba(100, 170, 210, .45);
}
/* فلش کوچک کنار dropdown که اشاره به trigger می‌کند (سمت راست در RTL) */
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-items::before {
	content: '';
	position: absolute;
	top: 50%;
	right: -7px;
	left: auto;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-block: 5px solid transparent;
	border-inline-start: 0;
	border-inline-end: 6px solid rgba(100, 170, 210, .45);
}

/* ── caret: بدون rotation، با ضخیم/glow هنگام باز شدن ── */
.haika-mini-cart__opt-trigger-caret {
	transition: transform .25s cubic-bezier(.22,1,.36,1),
				stroke-width .25s,
				color .25s,
				filter .25s !important;
}
.haika-mini-cart__opt-row.is-open .haika-mini-cart__opt-trigger-caret {
	transform: scale(1.4) !important;     /* بزرگ‌تر */
	color: #a0d0e8 !important;            /* رنگ بنفش روشن */
	stroke-width: 5 !important;           /* خط ضخیم‌تر = دو خط شبیه‌سازی */
	filter: drop-shadow(0 0 5px rgba(100, 170, 210,.7)) drop-shadow(0 0 10px rgba(100, 170, 210,.35)) !important;
	opacity: 1 !important;
}

/* ── ستون آیتم: z-index بالا وقتی dropdown باز است → روی item بعدی overlay ── */
.haika-mini-cart__item:has(.haika-mini-cart__opt-row.is-open) {
	z-index: 100 !important;
	position: relative !important;
}
.haika-mini-cart__opt-row.is-open {
	z-index: 50 !important;
}

/* swatchهای داخل dropdown — کوچک‌تر و compact */
.haika-mini-cart__opt-items .haika-mini-cart__swatch {
	min-width: 24px !important;
	width: auto !important;
	height: 24px !important;
	padding: 0 6px !important;
	font-size: 10.5px !important;
	flex-shrink: 0 !important;
	border-radius: 6px !important;
}
.haika-mini-cart__opt-items .haika-mini-cart__swatch--color-pill {
	width: 24px !important;
	min-width: 24px !important;
	padding: 0 !important;
}

/* موبایل — اندازه‌ی کمی فشرده‌تر */
@media (max-width: 480px) {
	.haika-mini-cart__opt-items {
		height: 30px !important;
		padding: 2px 6px !important;
	}
	.haika-mini-cart__opt-items .haika-mini-cart__swatch {
		min-width: 22px !important;
		height: 22px !important;
		font-size: 10px !important;
	}
	.haika-mini-cart__opt-items .haika-mini-cart__swatch--color-pill {
		width: 22px !important;
		min-width: 22px !important;
	}
}

/* ── ۸) جمع فاکتور: متن label راست‌چین، خود ستون حالت نرمال ── */
.haika-mini-cart__sumcol--sub {
	align-items: flex-end !important;
	text-align: right !important;
}
.haika-mini-cart__sumcol--sub .haika-mini-cart__sumcol-label {
	text-align: right !important;
	display: block !important;
	width: 100% !important;
	direction: rtl !important;
}
/* value: راست‌چین ولی direction: ltr تا واحد سمت چپ بماند */
.haika-mini-cart__sumcol--sub .haika-mini-cart__sumcol-value {
	text-align: right !important;
	display: block !important;
	width: 100% !important;
	direction: ltr !important;
	unicode-bidi: embed !important;
}
[dir="rtl"] .haika-mini-cart__sumcol--sub {
	align-items: flex-end !important;
}

/* ستون وسط (extras) — وقتی خالی است، فقط فضای خالی، بدون تغییر چیدمان */
.haika-mini-cart__sumcol--mid:empty,
.haika-mini-cart__sumcol--mid:not(:has(.haika-mini-cart__sumcol-sub)) {
	visibility: hidden;
}

/* ── ۶/۷) Popup سبک برای پیام‌های variation ──
   روی item ظاهر می‌شود، خودش بعد از ۲ ثانیه ناپدید می‌شود */
.haika-mini-cart__item-popup {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(8, 5, 24, .82) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
	border-radius: 14px !important;
	z-index: 300 !important;
	color: #fff !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	text-align: center !important;
	padding: 12px !important;
	pointer-events: none !important;
	opacity: 0 !important;
	transition: opacity .25s cubic-bezier(.22, 1, .36, 1) !important;
}
.haika-mini-cart__item-popup.is-visible {
	opacity: 1 !important;
	pointer-events: auto !important;
}
.haika-mini-cart__item-popup-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 8px !important;
	max-width: 240px !important;
	line-height: 1.55 !important;
}
.haika-mini-cart__item-popup-inner svg {
	width: 22px !important;
	height: 22px !important;
	color: #fbbf24 !important;
	flex-shrink: 0 !important;
}
.haika-mini-cart__item-popup--info .haika-mini-cart__item-popup-inner svg { color: #a0d0e8 !important; }
.haika-mini-cart__item-popup--success .haika-mini-cart__item-popup-inner svg { color: #10b981 !important; }
.haika-mini-cart__item { position: relative !important; }

/* ── تعداد آیتم کنار «مبلغ نهایی» — badge کوچک ── */
.haika-mini-cart__sumcol--grand .haika-mini-cart__sumcol-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	flex-wrap: nowrap !important;
}
.haika-mini-cart__sumcol-count {
	display: inline-flex !important;
	align-items: center !important;
	gap: 2px !important;
	font-size: 9.5px !important;
	font-weight: 800 !important;
	color: #a0d0e8 !important;
	background: rgba(100, 170, 210, .14) !important;
	border: 1px solid rgba(100, 170, 210, .35) !important;
	padding: 2px 6px !important;
	border-radius: 10px !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

/* ── واحد پولی (تومان) سمت چپ عدد در همه قیمت‌های سایت ──
   bdi tag direction isolation دارد، پس bidi-override لازم است */
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.amount,
.amount bdi,
.price,
.price bdi,
[data-haika-line-total],
[data-haika-line-total] bdi,
[data-haika-line-total] *,
[data-haika-grand-total],
[data-haika-grand-total] bdi,
[data-haika-grand-total] *,
.haika-mini-cart__sumcol-value,
.haika-mini-cart__sumcol-value bdi,
.haika-mini-cart__sumcol-value *,
.haika-mini-cart__price-total,
.haika-mini-cart__price-total bdi,
.haika-mini-cart__price-total * {
	direction: ltr !important;
	unicode-bidi: bidi-override !important;
}
.woocommerce-Price-currencySymbol {
	margin-inline-end: 4px !important;
	unicode-bidi: isolate !important;
}

/* ── هدر drawer (سبد خرید + کد تخفیف) — فشرده‌تر و هماهنگ با تم بنفش ── */
.haika-mini-cart__header {
	padding: 10px 14px 8px !important;
	border-bottom: 1px solid rgba(100, 170, 210, .12) !important;
}
.haika-mini-cart__header-row {
	margin-bottom: 6px !important;
}
.haika-mini-cart__title {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, .9) !important;
	letter-spacing: .2px !important;
	line-height: 1.3 !important;
}
.haika-mini-cart__coupon {
	height: 30px !important;
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	padding: 0 4px 0 0 !important;
	background: rgba(100, 170, 210, .06) !important;
	border: 1px solid rgba(100, 170, 210, .18) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}
.haika-mini-cart__coupon-input {
	flex: 1 !important;
	min-width: 0 !important;
	height: 100% !important;
	padding: 0 10px !important;
	background: transparent !important;
	border: 0 !important;
	color: rgba(255, 255, 255, .85) !important;
	font-size: 11.5px !important;
	font-family: inherit !important;
	outline: none !important;
}
.haika-mini-cart__coupon-input::placeholder {
	color: rgba(255, 255, 255, .35) !important;
	font-size: 11px !important;
}
.haika-mini-cart__coupon-apply {
	height: calc(100% - 4px) !important;
	padding: 0 14px !important;
	background: linear-gradient(135deg, #6aaecc, #a0d0e8) !important;
	border: 0 !important;
	border-radius: 6px !important;
	color: #fff !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: transform .15s, box-shadow .15s !important;
	white-space: nowrap !important;
}
.haika-mini-cart__coupon-apply:hover {
	transform: scale(1.04);
	box-shadow: 0 4px 12px rgba(100, 170, 210, .35);
}
.haika-mini-cart__coupon-applied {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 0 10px !important;
	color: #10b981 !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
}
.haika-mini-cart__coupon-applied svg { flex-shrink: 0 !important; }
.haika-mini-cart__coupon-remove {
	margin-inline-start: auto !important;
	width: 20px !important;
	height: 20px !important;
	background: rgba(239, 68, 68, .12) !important;
	border: 1px solid rgba(239, 68, 68, .25) !important;
	color: #ef4444 !important;
	border-radius: 5px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	padding: 0 !important;
}
.haika-mini-cart__coupon-remove:hover {
	background: rgba(239, 68, 68, .25) !important;
}
.haika-mini-cart__coupon-msg:empty { display: none; }
.haika-mini-cart__coupon-msg {
	font-size: 10.5px !important;
	margin-top: 4px !important;
	color: #ef4444 !important;
}

/* ── متن «تعداد × قیمت» در ستون قیمت — وسط‌چین افقی ── */
.haika-mini-cart__item-prices-col {
	align-items: center !important;
	justify-content: center !important;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit {
	text-align: center !important;
	width: 100% !important;
	display: block !important;
}
.haika-mini-cart__item-prices-col .haika-mini-cart__price-total {
	text-align: center !important;
	width: 100% !important;
	display: block !important;
}


/* ════════════════════════════════════════════════════════════════
   🛒 Drawer — Coupon collapse · Free-shipping bar · Trust (steel)
═════════════════════════════════════════════════════════════════ */
.haika-mini-cart__coupon-toggle {
	display: inline-flex; align-items: center; gap: 6px;
	background: none; border: 0; cursor: pointer; padding: 2px 0;
	color: var(--cb-steel, #6aaecc); font-family: inherit; font-size: 12.5px; font-weight: 700;
}
.haika-mini-cart__coupon-toggle svg { color: var(--cb-steel, #6aaecc); }
.haika-mini-cart__coupon-toggle:hover { color: var(--cb-steel-l, #a0d0e8); }
.haika-mini-cart__coupon-fields { display: flex; gap: 6px; margin-top: 8px; }
.haika-mini-cart__coupon-fields[hidden] { display: none; }

.haika-mini-cart__freeship { margin-bottom: 12px; }
.haika-mini-cart__freeship-text {
	display: flex; align-items: center; gap: 6px;
	font-size: 12px; color: var(--cb-text-2, #7aaec8); margin-bottom: 6px;
}
.haika-mini-cart__freeship-text svg { color: var(--cb-steel, #6aaecc); flex-shrink: 0; }
.haika-mini-cart__freeship-text strong { color: var(--cb-steel-l, #a0d0e8); font-weight: 800; }
.haika-mini-cart__freeship-bar {
	height: 6px; border-radius: 4px;
	background: rgba(100, 170, 210, .12); overflow: hidden;
}
.haika-mini-cart__freeship-bar > span {
	display: block; height: 100%; border-radius: 4px;
	background: linear-gradient(90deg, var(--cb-steel-d, #3a7ea0), var(--cb-steel, #6aaecc));
	transition: width .45s cubic-bezier(.22, 1, .36, 1);
}
.haika-mini-cart__freeship.is-reached .haika-mini-cart__freeship-text,
.haika-mini-cart__freeship.is-reached .haika-mini-cart__freeship-text svg { color: #34d399; }
.haika-mini-cart__freeship.is-reached .haika-mini-cart__freeship-bar > span { background: linear-gradient(90deg, #10b981, #34d399); }

.haika-mini-cart__trust {
	display: flex; justify-content: space-between; gap: 6px;
	margin-top: 12px; padding-top: 12px;
	border-top: 1px solid rgba(100, 170, 210, .12);
}
.haika-mini-cart__trust-item {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 10.5px; color: var(--cb-text-2, #7aaec8);
}
.haika-mini-cart__trust-item svg { color: var(--cb-steel, #6aaecc); flex-shrink: 0; }
@media (max-width: 360px) { .haika-mini-cart__trust-item { font-size: 9.5px; } .haika-mini-cart__trust-item svg { width: 12px; height: 12px; } }

/* ════════════════════════════════════════════════════════════════
   🛒 Drawer — رفع باگ هدر کوپن جمع‌شو
   - حالت جمع‌شده فقط یک لینک کوچک باشد (نه باکس عریض)
   - عنوان «سبد خرید» در یک سطر بماند
   - هنگام باز شدن، فیلدها تمام‌عرض و کامل دیده شوند (نه clip)
═════════════════════════════════════════════════════════════════ */
.haika-mini-cart__header { flex-wrap: wrap !important; align-items: center !important; }
.haika-mini-cart__header-row { flex: 1 1 auto !important; min-width: 0 !important; }
.haika-mini-cart__title { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }

/* حالت جمع‌شده: بدون باکس، فقط لینک */
.haika-mini-cart__coupon.is-collapsible {
	height: auto !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	overflow: visible !important;
	padding: 0 !important;
	flex: 0 0 auto !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 0 !important;
}
/* هنگام باز شدن: کل عرض، در سطر بعد */
.haika-mini-cart__coupon.is-collapsible.is-open {
	flex-basis: 100% !important;
	width: 100% !important;
	align-items: stretch !important;
	margin-top: 8px !important;
}
.haika-mini-cart__coupon-toggle { white-space: nowrap !important; padding: 4px 0 !important; }

/* فیلدهای کوپن (وقتی باز شد) — باکس کامل و بدون clip */
.haika-mini-cart__coupon.is-collapsible .haika-mini-cart__coupon-fields {
	width: 100% !important;
	height: 32px !important;
	margin-top: 8px !important;
	background: rgba(100, 170, 210, .06) !important;
	border: 1px solid rgba(100, 170, 210, .18) !important;
	border-radius: 8px !important;
	padding: 0 4px 0 0 !important;
	overflow: visible !important;
}

/* ════════════════════════════════════════════════════════════════
   📱 Drawer موبایل = دسکتاپ — هم‌اندازه‌سازی جزئیات آیتم
   (خنثی‌کردن overrideهای پراکنده‌ی موبایل تا ظاهر دقیقاً مثل دسکتاپ شود)
═════════════════════════════════════════════════════════════════ */
@media (max-width: 720px) {
	.haika-mini-cart__item { padding: 12px 10px !important; }
	.haika-mini-cart__item-img-wrap { width: 58px !important; height: 72px !important; }
	.haika-mini-cart__item-img { width: 100% !important; height: 100% !important; }
	.haika-mini-cart__qty--vertical { width: 30px !important; height: 76px !important; }
	.haika-mini-cart__qty--vertical .haika-mini-cart__qty-btn { height: 24px !important; font-size: 14px !important; }
	.haika-mini-cart__qty--vertical input { height: 26px !important; font-size: 12.5px !important; }
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-total { font-size: 13px !important; }
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit { font-size: 10px !important; }
	.haika-mini-cart__swatch--color-pill { width: 24px !important; height: 24px !important; }
	.haika-mini-cart__opt-trigger { height: 30px !important; font-size: 11.5px !important; }
}
@media (max-width: 480px) {
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-total { font-size: 13px !important; }
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit { font-size: 10px !important; }
	.haika-mini-cart__qty--vertical { width: 30px !important; height: 76px !important; }
	.haika-mini-cart__qty--vertical .haika-mini-cart__qty-btn { height: 24px !important; }
	.haika-mini-cart__qty--vertical input { height: 26px !important; font-size: 12.5px !important; }
}

/* ════════════════════════════════════════════════════════════════
   🛒 Drawer — کوپن یک‌سطری (نسخه نهایی، override قبلی‌ها)
   بسته: لینک «کد تخفیف دارید؟» | باز: [بستن] [input] [اعمالِ آیکنی] در همان سطر
═════════════════════════════════════════════════════════════════ */
.haika-mini-cart__header { flex-wrap: nowrap !important; align-items: center !important; gap: 8px !important; }
.haika-mini-cart__header-row { flex: 0 0 auto !important; min-width: 0 !important; }

.haika-mini-cart__coupon.is-collapsible {
	flex: 1 1 auto !important; min-width: 0 !important;
	flex-direction: row !important; flex-wrap: wrap !important;
	align-items: center !important; justify-content: flex-start !important;
	margin-top: 0 !important; gap: 0 !important;
}
.haika-mini-cart__coupon.is-collapsible.is-open {
	flex-basis: auto !important; width: auto !important; margin-top: 0 !important;
}
.haika-mini-cart__coupon.is-collapsible.is-open .haika-mini-cart__coupon-toggle { display: none !important; }
.haika-mini-cart__coupon-toggle { white-space: nowrap !important; font-size: 11.5px !important; padding: 4px 0 !important; }

.haika-mini-cart__coupon.is-collapsible .haika-mini-cart__coupon-fields {
	width: 100% !important; height: 28px !important; margin: 0 !important;
	display: flex !important; align-items: center !important; gap: 4px !important;
	background: rgba(100, 170, 210, .06) !important;
	border: 1px solid rgba(100, 170, 210, .18) !important;
	border-radius: 7px !important; padding: 0 3px !important; overflow: hidden !important;
}
.haika-mini-cart__coupon.is-collapsible .haika-mini-cart__coupon-fields[hidden] { display: none !important; }
.haika-mini-cart__coupon-input {
	flex: 1 1 auto !important; min-width: 0 !important; height: 100% !important;
	padding: 0 8px !important; font-size: 11px !important;
	background: transparent !important; border: 0 !important; color: rgba(255,255,255,.85) !important;
}
.haika-mini-cart__coupon-close,
.haika-mini-cart__coupon-apply {
	flex: 0 0 auto !important; width: 22px !important; height: 22px !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	border-radius: 5px !important; cursor: pointer !important; padding: 0 !important; border: 0 !important;
}
.haika-mini-cart__coupon-apply { background: linear-gradient(135deg, #6aaecc, #a0d0e8) !important; color: #fff !important; }
.haika-mini-cart__coupon-apply:hover { transform: scale(1.06) !important; box-shadow: 0 3px 10px rgba(100,170,210,.4) !important; }
.haika-mini-cart__coupon-close { background: rgba(255, 255, 255, .08) !important; color: rgba(255, 255, 255, .65) !important; }
.haika-mini-cart__coupon-close:hover { background: rgba(255, 255, 255, .16) !important; color: #fff !important; }
.haika-mini-cart__coupon.is-collapsible .haika-mini-cart__coupon-msg { flex: 0 0 100% !important; width: 100% !important; }

/* ════════════════════════════════════════════════════════════════
   📱 تکمیل یکدست‌سازی drawer موبایل با دسکتاپ (trigger label/value/swatch)
═════════════════════════════════════════════════════════════════ */
@media (max-width: 720px) {
	.haika-mini-cart__opt-trigger { height: 30px !important; font-size: 11.5px !important; padding: 0 10px !important; }
	.haika-mini-cart__opt-trigger-label { font-size: 10.5px !important; }
	.haika-mini-cart__opt-trigger-value { font-size: 11.5px !important; }
	.haika-mini-cart__opt-trigger-swatch { width: 20px !important; height: 20px !important; }
}

/* ════════════════════════════════════════════════════════════════
   ✂️ کوتاه‌سازی متن انتخابگر (trigger): اول حذف عنوان، بعد ... روی مقدار
   (فقط روی خود trigger — dropdown دست‌نخورده)
═════════════════════════════════════════════════════════════════ */
.haika-mini-cart__opt-trigger { min-width: 0; }
.haika-mini-cart__opt-trigger-value {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
	flex: 0 1 auto;
}
.haika-mini-cart__opt-trigger-label { flex: 0 0 auto; white-space: nowrap; }
.haika-mini-cart__opt-trigger.is-tight .haika-mini-cart__opt-trigger-label { display: none !important; }

/* ════════════════════════════════════════════════════════════════
   🏷️ کوپن: لینک سمت چپ + باز شدن فقط تا وسط drawer
═════════════════════════════════════════════════════════════════ */
.haika-mini-cart__coupon.is-collapsible { justify-content: flex-end !important; }
.haika-mini-cart__coupon.is-collapsible .haika-mini-cart__coupon-fields {
	width: 185px !important;
	max-width: 72% !important;
	margin-inline-start: 0 !important;
}

/* ════════════════════════════════════════════════════════════════
   📱 یکدست‌سازی کامل drawer موبایل با دسکتاپ (نسخه نهایی، آخرین override)
   کلید اصلی: grid آیتم دقیقاً مثل دسکتاپ تا ستون opts (و در نتیجه عرض
   انتخابگرها) یکسان شود.
═════════════════════════════════════════════════════════════════ */
@media (max-width: 720px) {
	.haika-mini-cart__item {
		grid-template-columns: 56px minmax(0, 1fr) 36px minmax(78px, max-content) 26px !important;
		gap: 8px !important;
		padding: 12px 10px !important;
	}
	.haika-mini-cart__item-img-wrap { width: 56px !important; height: 72px !important; }
	.haika-mini-cart__item-img { width: 100% !important; height: 100% !important; }
	.haika-mini-cart__item-qty-col { width: 36px !important; }
	.haika-mini-cart__qty--vertical { width: 30px !important; height: 76px !important; }
	.haika-mini-cart__qty--vertical .haika-mini-cart__qty-btn { height: 24px !important; font-size: 14px !important; }
	.haika-mini-cart__qty--vertical input { height: 26px !important; font-size: 12.5px !important; }
	.haika-mini-cart__item-prices-col { min-width: 78px !important; }
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-total { font-size: 13px !important; }
	.haika-mini-cart__item-prices-col .haika-mini-cart__price-unit { font-size: 10px !important; }
	.haika-mini-cart__opt-trigger { height: 30px !important; font-size: 11.5px !important; padding: 0 10px !important; }
	.haika-mini-cart__opt-trigger-label { font-size: 10.5px !important; }
	.haika-mini-cart__opt-trigger-value { font-size: 11.5px !important; }
	.haika-mini-cart__opt-trigger-swatch { width: 20px !important; height: 20px !important; }
}

/* ════════════════════════════════════════════════════════════════
   📱 drawer موبایل: تمام‌عرض (edge-to-edge) + عرض یکسانِ انتخابگرها مثل دسکتاپ
   ستون opts را به‌جای 1fr، عرض ثابت (=دسکتاپ) می‌کنیم تا همه‌ی باکس‌ها
   هم‌عرض شوند و یکسان کوتاه شوند (اول عنوان، بعد …). فضای اضافه به ستون قیمت می‌رود.
═════════════════════════════════════════════════════════════════ */
@media (max-width: 720px) {
	.haika-mini-cart__item {
		grid-template-columns: 56px 80px 36px minmax(78px, 1fr) 26px !important;
	}
	.haika-mini-cart__opt-trigger {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

/* ════════════════════════════════════════════════════════════════
   🖥️ drawer دسکتاپ: کشویی تمام‌ارتفاع از کنار (off-canvas side drawer)
   - از لبه‌ی چپ (RTL) اسلاید می‌شود
   - هدر و فوتر ثابت، ناحیه‌ی آیتم‌ها اسکرول می‌خورد
═════════════════════════════════════════════════════════════════ */
@media (min-width: 721px) {
	.haika-mini-cart {
		top: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		right: auto !important;
		width: 400px !important;
		max-width: 90vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		max-height: none !important;
		border: 0 !important;
		border-inline-end: 1px solid rgba(100, 170, 210, .22) !important;
		border-radius: 0 18px 18px 0 !important;
		box-shadow: 24px 0 60px rgba(0, 0, 0, .5) !important;
		opacity: 1 !important;
		transform: translateX(-100%) !important;
		transition: transform .42s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .42s !important;
	}
	[dir="rtl"] .haika-mini-cart { left: 0 !important; right: auto !important; }
	.haika-mini-cart.is-open {
		transform: translateX(0) !important;
		visibility: visible !important;
		transition: transform .42s cubic-bezier(.22, 1, .36, 1), visibility 0s linear 0s !important;
	}
	.haika-mini-cart__inner { max-height: none !important; height: 100% !important; }
	.haika-mini-cart__items { max-height: none !important; flex: 1 1 auto !important; overflow-y: auto !important; }
}

/* ================================================================
 * نوار مراحل خرید (مشترک: سبد خرید + تسویه) — .haika-steps
 * سبد: مرحله ۱ فعال | تسویه: ۱ انجام‌شده، ۲ فعال، ۳ در انتظار
 * ================================================================ */
.haika-steps {
	display: flex; align-items: center; gap: 4px;
	list-style: none; margin: 0; padding: 0; flex-wrap: nowrap;
}
.haika-steps__item {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 12.5px; font-weight: 600; color: var(--cb-muted, #4a6e88);
	white-space: nowrap;
}
.haika-steps__item::after {
	content: ''; width: 24px; height: 2px; border-radius: 2px;
	background: var(--cb-border, rgba(100,170,210,.14)); margin: 0 4px;
}
.haika-steps__item:last-child::after { display: none; }
.haika-steps__dot {
	display: inline-flex; align-items: center; justify-content: center;
	width: 24px; height: 24px; border-radius: 50%;
	font-size: 12px; font-weight: 800;
	background: var(--cb-bg-3, #161d2a);
	border: 1.5px solid var(--cb-border, rgba(100,170,210,.14));
	color: var(--cb-muted, #4a6e88);
	flex-shrink: 0;
}
.haika-steps__item.is-done { color: var(--cb-text-2, #7aaec8); }
.haika-steps__item.is-done .haika-steps__dot {
	background: var(--cb-badge-bg, rgba(100,170,210,.09));
	border-color: var(--cb-steel-d, #3a7ea0);
	color: var(--cb-steel-l, #a0d0e8);
}
.haika-steps__item.is-active {
	color: var(--cb-text, #ddeaf6); font-weight: 800;
}
.haika-steps__item.is-active .haika-steps__dot {
	background: linear-gradient(135deg, var(--cb-steel-d, #3a7ea0), var(--cb-steel, #6aaecc));
	border-color: transparent; color: #fff;
	box-shadow: 0 0 0 4px var(--cb-glow, rgba(80,140,200,.22));
}
@media (max-width: 600px) {
	.haika-steps { gap: 2px; }
	.haika-steps__item { font-size: 11px; gap: 5px; }
	.haika-steps__item::after { width: 12px; margin: 0 2px; }
	.haika-steps__dot { width: 21px; height: 21px; font-size: 11px; }
}

/* ════════════════════════════════════════════════════════════════
   🛒 CART DRAWER — هماهنگی رنگ با تم Curvana (سه‌نما: dark/light/colorful)
   [فاز ۹] رنگ‌های هاردکدِ آبیِ قدیمی (KingSize) با توکن‌های --cb-* جایگزین
   می‌شوند تا drawer در هر سه نما با کنتراست و خوانایی درست دیده شود.
   !important برای غلبه بر انبوه قواعد قدیمیِ هاردکد لازم است. متن روی دکمه‌های
   پُررنگ از --cb-bg گرفته می‌شود تا در هر نما خودکار وارونه و خوانا شود.
═════════════════════════════════════════════════════════════════ */
html .haika-mini-cart{
	background: var(--cb-bg-2, #111822) !important;
	border-color: var(--cb-border, rgba(100,170,210,.18)) !important;
	color: var(--cb-text, #ddeaf6) !important;
}
html .haika-mini-cart::before{ background: var(--cb-border-hover, rgba(150,150,150,.4)) !important; }

/* Header */
html .haika-mini-cart__header{
	background: var(--cb-bg-2, #111822) !important;
	border-bottom-color: var(--cb-border, rgba(100,170,210,.15)) !important;
}
html .haika-mini-cart__title{ color: var(--cb-text, #fff) !important; }
html .haika-mini-cart__close{ background: var(--cb-badge-bg, rgba(127,127,127,.08)) !important; color: var(--cb-text-2, #9bb8ce) !important; }
html .haika-mini-cart__close:hover{ color: var(--cb-text, #fff) !important; }

/* Coupon */
html .haika-mini-cart__coupon{ background: var(--cb-badge-bg, rgba(127,127,127,.06)) !important; border-color: var(--cb-border, rgba(100,170,210,.2)) !important; }
html .haika-mini-cart__coupon-toggle{ color: var(--cb-text-2, #9bb8ce) !important; }
html .haika-mini-cart__coupon-input{ color: var(--cb-text, #fff) !important; }
html .haika-mini-cart__coupon-input::placeholder{ color: var(--cb-text-muted, rgba(127,127,127,.6)) !important; }
html .haika-mini-cart__coupon-apply{ background: var(--cb-acc, #6aaecc) !important; color: var(--cb-bg, #0d1117) !important; }
html .haika-mini-cart__coupon-close{ color: var(--cb-text-2, #9bb8ce) !important; }

/* Items */
html .haika-mini-cart__items::-webkit-scrollbar-thumb{ background: var(--cb-border-hover, rgba(100,170,210,.4)) !important; }
html .haika-mini-cart__item{ border-bottom-color: var(--cb-border, rgba(100,170,210,.08)) !important; }
html .haika-mini-cart__item:hover{ background: var(--cb-badge-bg, rgba(127,127,127,.05)) !important; }
html .haika-mini-cart__item-img,
html .haika-mini-cart__item-img-wrap{ border-color: var(--cb-border, rgba(100,170,210,.15)) !important; }

/* Options / triggers */
html .haika-mini-cart__opt-trigger{ background: var(--cb-badge-bg, rgba(127,127,127,.06)) !important; border-color: var(--cb-border, rgba(100,170,210,.2)) !important; color: var(--cb-text, #fff) !important; }
html .haika-mini-cart__opt-trigger-label{ color: var(--cb-text-muted, rgba(127,127,127,.6)) !important; }
html .haika-mini-cart__opt-trigger-value{ color: var(--cb-text, #fff) !important; }
html .haika-mini-cart__opt-trigger-caret{ color: var(--cb-text-2, #9bb8ce) !important; }

/* Qty */
html .haika-mini-cart__qty{ background: var(--cb-badge-bg, rgba(127,127,127,.05)) !important; border-color: var(--cb-border, rgba(100,170,210,.2)) !important; }
html .haika-mini-cart__qty-btn{ color: var(--cb-acc, #6aaecc) !important; }
html .haika-mini-cart__qty-btn:hover:not(:disabled){ background: var(--cb-badge-bg, rgba(100,170,210,.15)) !important; }
html .haika-mini-cart__qty input,
html .haika-mini-cart__qty [data-haika-qty-val]{ color: var(--cb-text, #fff) !important; }

/* Prices */
html .haika-mini-cart__price-unit,
html .haika-mini-cart__price-x{ color: var(--cb-text-muted, rgba(127,127,127,.6)) !important; }
html .haika-mini-cart__price-num,
html .haika-mini-cart__price-q{ color: var(--cb-text-2, #9bb8ce) !important; }
html .haika-mini-cart__price-total{ color: var(--cb-acc, #6aaecc) !important; }

/* Remove */
html .haika-mini-cart__item-remove{ color: var(--cb-text-muted, rgba(127,127,127,.5)) !important; }
html .haika-mini-cart__item-remove:hover{ color: #ef4444 !important; background: rgba(239,68,68,.1) !important; }

/* Swatch pills */
html .haika-mini-cart__swatch--size-pill{ background: var(--cb-badge-bg, rgba(127,127,127,.05)) !important; border-color: var(--cb-border, rgba(100,170,210,.25)) !important; color: var(--cb-text-2, #9bb8ce) !important; }
html .haika-mini-cart__swatch--size-pill.is-active{ background: var(--cb-acc, #6aaecc) !important; color: var(--cb-bg, #0d1117) !important; border-color: var(--cb-acc, #6aaecc) !important; }
html .haika-mini-cart__swatch--color-pill.is-active{ border-color: var(--cb-acc, #6aaecc) !important; }

/* Footer + sums */
html .haika-mini-cart__footer{ background: var(--cb-bg-3, #161d2a) !important; border-top-color: var(--cb-border, rgba(100,170,210,.15)) !important; }
html .haika-mini-cart__sumcol-label,
html .haika-mini-cart__sumcol-count{ color: var(--cb-text-2, #9bb8ce) !important; }
html .haika-mini-cart__sumcol-value{ color: var(--cb-text, #fff) !important; }
html .haika-mini-cart__sumcol--grand .haika-mini-cart__sumcol-value{ color: var(--cb-acc, #6aaecc) !important; }
html .haika-mini-cart__freeship{ color: var(--cb-text-2, #9bb8ce) !important; }
html .haika-mini-cart__freeship-bar{ background: var(--cb-border, rgba(100,170,210,.2)) !important; }
html .haika-mini-cart__freeship-bar span{ background: var(--cb-acc, #6aaecc) !important; }

/* Buttons */
html .haika-mini-cart__btn--cart{ background: var(--cb-badge-bg, rgba(127,127,127,.06)) !important; color: var(--cb-text, #fff) !important; border-color: var(--cb-border, rgba(100,170,210,.3)) !important; }
html .haika-mini-cart__btn--checkout{ background: var(--cb-acc, #6aaecc) !important; color: var(--cb-bg, #0d1117) !important; }

/* Trust + empty */
html .haika-mini-cart__trust,
html .haika-mini-cart__trust-item{ color: var(--cb-text-muted, rgba(127,127,127,.6)) !important; }
html .haika-mini-cart__empty{ color: var(--cb-text-2, #9bb8ce) !important; }
html .haika-mini-cart__empty svg{ color: var(--cb-border-hover, rgba(100,170,210,.45)) !important; }

/* Dropdown انتخاب متغیر (به body منتقل می‌شود، بیرون از .haika-mini-cart) */
html .haika-mini-cart__opt-items{ background: var(--cb-bg-3, #161d2a) !important; border-color: var(--cb-border, rgba(100,170,210,.2)) !important; color: var(--cb-text, #fff) !important; }
html .haika-mini-cart__opt-items .haika-mini-cart__swatch--size-pill{ color: var(--cb-text, #fff) !important; }
/* پایان بلوک هماهنگی رنگ سبد */

/* ════════════════════════════════════════════════════════════════
   🔔 TOAST — هماهنگی رنگ با تم Curvana (سه‌نما) [فاز ۱۰]
   مثل سبد، رنگ‌های هاردکد قدیمی با توکن‌های --cb-* جایگزین می‌شوند.
   آیکن‌های success/error عمداً سبز/قرمز (معنایی) می‌مانند.
═════════════════════════════════════════════════════════════════ */
html .haika-toast{
	background: var(--cb-bg-2, #111822) !important;
	border-color: var(--cb-border, rgba(100,170,210,.35)) !important;
	color: var(--cb-text, #fff) !important;
}
html .haika-toast__text{ color: var(--cb-text, #fff) !important; }
html .haika-toast__hint{ color: var(--cb-text-2, #9bb8ce) !important; }
html .haika-toast__img{ border-color: var(--cb-border, rgba(100,170,210,.25)) !important; }
html .haika-toast__close{ color: var(--cb-text-muted, rgba(127,127,127,.5)) !important; }
html .haika-toast__close:hover{ color: var(--cb-text, #fff) !important; background: var(--cb-badge-bg, rgba(127,127,127,.1)) !important; }
html .haika-toast__cta{ background: var(--cb-acc, #6aaecc) !important; color: var(--cb-bg, #0d1117) !important; }
html .haika-toast--info .haika-toast__icon{ background: var(--cb-acc, #6aaecc) !important; color: var(--cb-bg, #0d1117) !important; }
/* پایان بلوک هماهنگی toast */
