/* ModaOnline24 — Cart overlays and Jaroti native mini-cart 2026 v2.4.0 */
:root {
	--mo24-mini-ink:#111;
	--mo24-mini-muted:#77736d;
	--mo24-mini-line:#e9e4dc;
	--mo24-mini-soft:#f7f4ef;
	--mo24-mini-accent:#b89a5b;
}

/* Exact Jaroti dropdown from the live markup. */
.header-right .shopping-cart-wrapper .ts-tiny-cart-wrapper .cart-dropdown-form.dropdown-container.woocommerce {
	width: 390px !important;
	min-width: 390px !important;
	max-width: calc(100vw - 24px) !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: calc(100vh - 92px) !important;
	left: auto !important;
	right: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background:#fff !important;
	border:1px solid var(--mo24-mini-line) !important;
	border-radius:10px !important;
	box-shadow:0 24px 70px rgba(0,0,0,.14),0 4px 14px rgba(0,0,0,.05) !important;
	overflow:hidden !important;
}
.mo24-mini-cart-native .form-content,
.mo24-mini-cart-native .cart-wrapper,
.mo24-mini-cart-native .cart-content {
	width:100% !important;
	max-width:100% !important;
	height:auto !important;
	min-height:0 !important;
	max-height:none !important;
	margin:0 !important;
	padding:0 !important;
	background:#fff !important;
	overflow:visible !important;
}
.mo24-mini-cart-native h3.theme-title {
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	width:100% !important;
	margin:0 !important;
	padding:17px 20px !important;
	border:0 !important;
	border-bottom:1px solid var(--mo24-mini-line) !important;
	background:#fff !important;
	color:var(--mo24-mini-ink) !important;
	font-size:17px !important;
	line-height:1.2 !important;
	font-weight:700 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
}
.mo24-mini-cart-native h3.theme-title > span {
	display:grid !important;
	place-items:center !important;
	width:26px !important;
	min-width:26px !important;
	height:26px !important;
	padding:0 !important;
	border-radius:50% !important;
	background:#111 !important;
	color:#fff !important;
	font-size:11px !important;
	line-height:1 !important;
	font-weight:700 !important;
}
.mo24-mini-cart-native ul.cart_list {
	display:block !important;
	width:100% !important;
	max-height:350px !important;
	margin:0 !important;
	padding:0 20px !important;
	overflow-x:hidden !important;
	overflow-y:auto !important;
	list-style:none !important;
	scrollbar-width:thin;
	scrollbar-color:#cfc8bd transparent;
}
.mo24-mini-cart-native ul.cart_list::-webkit-scrollbar { width:5px; }
.mo24-mini-cart-native ul.cart_list::-webkit-scrollbar-thumb { background:#cfc8bd;border-radius:20px; }
.mo24-mini-cart-native ul.cart_list li.woocommerce-mini-cart-item {
	position:relative !important;
	display:grid !important;
	grid-template-columns:72px minmax(0,1fr) !important;
	column-gap:14px !important;
	align-items:start !important;
	width:100% !important;
	height:auto !important;
	min-height:0 !important;
	margin:0 !important;
	padding:14px 0 !important;
	float:none !important;
	border:0 !important;
	border-bottom:1px solid #eeeae4 !important;
	background:#fff !important;
}
.mo24-mini-cart-native ul.cart_list li.woocommerce-mini-cart-item:last-child { border-bottom:0 !important; }
.mo24-mini-cart-native ul.cart_list li > a.thumbnail {
	grid-column:1 !important;
	display:block !important;
	width:72px !important;
	min-width:72px !important;
	max-width:72px !important;
	height:96px !important;
	margin:0 !important;
	padding:0 !important;
	float:none !important;
	overflow:hidden !important;
	border-radius:7px !important;
	background:#f6f5f3 !important;
}
.mo24-mini-cart-native ul.cart_list li > a.thumbnail img {
	display:block !important;
	width:72px !important;
	min-width:72px !important;
	max-width:72px !important;
	height:96px !important;
	margin:0 !important;
	float:none !important;
	object-fit:cover !important;
	object-position:center !important;
	border:0 !important;
	border-radius:7px !important;
}
.mo24-mini-cart-native .cart-item-wrapper {
	grid-column:2 !important;
	position:relative !important;
	display:block !important;
	width:100% !important;
	min-width:0 !important;
	height:auto !important;
	min-height:0 !important;
	margin:0 !important;
	padding:1px 30px 0 0 !important;
	float:none !important;
}
.mo24-mini-cart-native .cart-item-wrapper .product-name {
	width:100% !important;
	margin:0 0 7px !important;
	padding:0 !important;
	color:#111 !important;
	font-size:13px !important;
	line-height:1.38 !important;
	font-weight:600 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	overflow:hidden !important;
	display:-webkit-box !important;
	-webkit-box-orient:vertical !important;
	-webkit-line-clamp:3 !important;
}
.mo24-mini-cart-native .cart-item-wrapper .product-name a {
	color:#111 !important;
	font:inherit !important;
	text-decoration:none !important;
}
.mo24-mini-cart-native .cart-item-wrapper > span.price {
	display:block !important;
	margin:0 !important;
	color:#111 !important;
	font-size:14px !important;
	line-height:1.2 !important;
	font-weight:700 !important;
}
.mo24-mini-cart-native .cart-item-wrapper > .quantity,
.mo24-mini-cart-native .cart-item-wrapper > .subtotal { display:none !important; }
.mo24-mini-cart-native .cart-item-wrapper a.remove.remove_from_cart_button {
	position:absolute !important;
	top:-3px !important;
	right:-2px !important;
	display:grid !important;
	place-items:center !important;
	width:26px !important;
	height:26px !important;
	margin:0 !important;
	padding:0 !important;
	float:none !important;
	background:transparent !important;
	color:#777 !important;
	border:0 !important;
	border-radius:50% !important;
	font-size:21px !important;
	line-height:1 !important;
	font-weight:300 !important;
	text-decoration:none !important;
}
.mo24-mini-cart-native .cart-item-wrapper a.remove.remove_from_cart_button::before,
.mo24-mini-cart-native .cart-item-wrapper a.remove.remove_from_cart_button::after { content:none !important;display:none !important; }
.mo24-mini-cart-native .cart-item-wrapper a.remove.remove_from_cart_button:hover { background:var(--mo24-mini-soft) !important;color:#111 !important; }
.mo24-mini-cart-native .dropdown-footer {
	position:relative !important;
	width:100% !important;
	margin:0 !important;
	padding:16px 20px 19px !important;
	background:#fff !important;
	border:0 !important;
	border-top:1px solid var(--mo24-mini-line) !important;
	float:none !important;
}
.mo24-mini-cart-native .dropdown-footer .total {
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	width:100% !important;
	margin:0 0 14px !important;
	padding:0 !important;
	border:0 !important;
}
.mo24-mini-cart-native .dropdown-footer .total-title { color:#111 !important;font-size:14px !important;font-weight:600 !important; }
.mo24-mini-cart-native .dropdown-footer .total .amount { color:var(--mo24-mini-accent) !important;font-size:19px !important;font-weight:700 !important; }
.mo24-mini-cart-native .dropdown-footer a.button {
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	min-height:45px !important;
	margin:0 !important;
	padding:11px 15px !important;
	border-radius:4px !important;
	box-shadow:none !important;
	font-size:11px !important;
	line-height:1 !important;
	font-weight:700 !important;
	letter-spacing:.025em !important;
	text-transform:uppercase !important;
	text-decoration:none !important;
}
.mo24-mini-cart-native .dropdown-footer a.button::before,
.mo24-mini-cart-native .dropdown-footer a.button::after { content:none !important;display:none !important; }
.mo24-mini-cart-native .dropdown-footer a.view-cart { margin-bottom:8px !important;background:#fff !important;color:#111 !important;border:1px solid #111 !important; }
.mo24-mini-cart-native .dropdown-footer a.checkout-button { background:#111 !important;color:#fff !important;border:1px solid #111 !important; }
.mo24-mini-cart-native .dropdown-footer a.view-cart:hover { background:#f7f5f1 !important; }
.mo24-mini-cart-native .dropdown-footer a.checkout-button:hover { background:#222 !important; }

/* Jaroti AJAX confirmation after adding a product. */
#ts-add-to-cart-popup-modal .overlay {
	background:rgba(17,17,17,.64) !important;
	backdrop-filter:blur(2px);
}

body #ts-add-to-cart-popup-modal .add-to-cart-popup-container {
	width:min(560px, calc(100vw - 40px)) !important;
	max-width:560px !important;
	height:auto !important;
	max-height:calc(100dvh - 40px) !important;
	padding:34px !important;
	border:1px solid #e7e3dc !important;
	border-radius:0 !important;
	background:#fff !important;
	box-shadow:0 30px 90px rgba(0,0,0,.22) !important;
	overflow:auto !important;
	font-family:var(--mo24-font-sans, "Albert Sans", Arial, sans-serif) !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .heading {
	margin:0 0 28px !important;
	padding:0 48px 18px 0 !important;
	border:0 !important;
	border-bottom:1px solid #e8e4de !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .heading .theme-title {
	display:flex !important;
	align-items:center !important;
	gap:11px !important;
	min-height:30px !important;
	margin:0 !important;
	padding:0 !important;
	color:#111 !important;
	font-size:14px !important;
	font-weight:700 !important;
	line-height:1.35 !important;
	letter-spacing:.08em !important;
	text-transform:uppercase !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .heading .theme-title::before {
	content:'✓' !important;
	dis:grid !important;
	place-items:center !important;
	flex:0 0 25px !important;
	width:25px !important;
	height:25px !important;
	margin:0 !important;
	border:1px solid #111 !important;
	border-radius:50% !important;
	color:#111 !important;
	font-family:var(--mo24-font-sans, "Albert Sans", Arial, sans-serif) !important;
	font-size:13px !important;
	font-weight:600 !important;
	line-height:1 !important;
	position:static !important;
}

body #ts-add-to-cart-popup-modal .close {
	position:absolute !important;
	top:28px !important;
	right:28px !important;
	display:block !important;
	width:36px !important;
	height:36px !important;
	margin:0 !important;
	border:1px solid #111 !important;
	border-radius:0 !important;
	background:#111 !important;
	cursor:pointer !important;
	transform:none !important;
}

body #ts-add-to-cart-popup-modal .close::before,
body #ts-add-to-cart-popup-modal .close::after {
	content:'' !important;
	position:absolute !important;
	top:50% !important;
	left:50% !important;
	display:block !important;
	width:16px !important;
	height:1px !important;
	margin:0 !important;
	background:#fff !important;
	font-size:0 !important;
	line-height:0 !important;
}

body #ts-add-to-cart-popup-modal .close::before { transform:translate(-50%,-50%) rotate(45deg) !important; }
body #ts-add-to-cart-popup-modal .close::after { transform:translate(-50%,-50%) rotate(-45deg) !important; }
body #ts-add-to-cart-popup-modal .close:hover { border-color:#a98c4f !important;background:#a98c4f !important; }

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item {
	dis:grid !important;
	grid-template-columns:160px minmax(0,1fr) !important;
	gap:28px !important;
	align-items:center !important;
	width:100% !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .product-image {
	width:160px !important;
	height:240px !important;
	margin:0 !important;
	background:#f3f1ed !important;
	overflow:hidden !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .product-image img {
	display:block !important;
	width:100% !important;
	height:100% !important;
	margin:0 !important;
	object-fit:cover !important;
	object-position:center top !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .product-meta {
	width:auto !important;
	min-width:0 !important;
	margin:0 !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .product-name {
	dis:block !important;
	margin:0 0 14px !important;
	padding:0 !important;
	color:#111 !important;
	font-size:18px !important;
	font-weight:500 !important;
	line-height:1.4 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	text-decoration:none !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .price {
	dis:flex !important;
	flex-wrap:wrap !important;
	align-items:baseline !important;
	gap:8px !important;
	color:#a98c4f !important;
	font-size:17px !important;
	font-weight:700 !important;
	line-height:1.4 !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .price ins {
	order:-1 !important;
	background:transparent !important;
	color:#a98c4f !important;
	text-decoration:none !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .price del {
	color:#7f7b75 !important;
	font-size:13px !important;
	font-weight:400 !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action {
	display:grid !important;
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	gap:10px !important;
	width:100% !important;
	margin:28px 0 0 !important;
	padding:24px 0 0 !important;
	border:0 !important;
	border-top:1px solid #e8e4de !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action .button {
	dis:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	min-height:50px !important;
	margin:0 !important;
	padding:12px 16px !important;
	border:1px solid #111 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	font-size:11px !important;
	font-weight:700 !important;
	line-height:1.2 !important;
	letter-spacing:.07em !important;
	text-align:center !important;
	text-decoration:none !important;
	text-transform:uppercase !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action .view-cart,
#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action .view-cart:hover {
	background:#fff !important;
	color:#111 !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action .checkout,
#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action .checkout:hover {
	background:#111 !important;
	color:#fff !important;
}

#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action .view-cart:hover { background:#f5f2ec !important; }
#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action .checkout:hover { background:#2b2a28 !important; }

#ts-add-to-cart-popup-modal :where(.close,.button):focus-visible {
	outline:2px solid #a98c4f !important;
	outline-offset:3px !important;
}

/* Fallback for the standard Woo mini-cart template if another area uses it. */
.mo24-mini-cart {
	width:430px;
	max-width:100%;
	padding:20px;
	background:#fff;
}

@media (max-width:767px) {
	body #ts-add-to-cart-popup-modal .add-to-cart-popup-container {
		width:calc(100vw - 24px) !important;
		max-width:440px !important;
		max-height:calc(100dvh - 24px) !important;
		padding:22px !important;
	}
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .heading {
		margin-bottom:20px !important;
		padding:0 42px 15px 0 !important;
	}
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .heading .theme-title {
		gap:8px !important;
		font-size:12px !important;
		letter-spacing:.055em !important;
	}
	body #ts-add-to-cart-popup-modal .close {
		top:18px !important;
		right:18px !important;
		width:34px !important;
		height:34px !important;
	}
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item {
		grid-template-columns:92px minmax(0,1fr) !important;
		gap:17px !important;
	}
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .product-image {
		width:92px !important;
		height:138px !important;
	}
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .product-name {
		margin-bottom:10px !important;
		font-size:14px !important;
	}
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .price {
		gap:6px !important;
		font-size:14px !important;
	}
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .item .price del { font-size:11px !important; }
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action {
		grid-template-columns:1fr !important;
		gap:8px !important;
		margin-top:20px !important;
		padding-top:18px !important;
	}
	#ts-add-to-cart-popup-modal .add-to-cart-popup-content .action .button {
		min-height:46px !important;
	}

	.header-right .shopping-cart-wrapper .ts-tiny-cart-wrapper .cart-dropdown-form.dropdown-container.woocommerce {
		width:calc(100vw - 20px) !important;
		min-width:0 !important;
		max-width:360px !important;
		max-height:calc(100dvh - 82px) !important;
		right:10px !important;
		border-radius:10px !important;
	}
	.mo24-mini-cart-native h3.theme-title { padding:14px 15px !important;font-size:15px !important; }
	.mo24-mini-cart-native ul.cart_list { max-height:47dvh !important;padding:0 15px !important; }
	.mo24-mini-cart-native ul.cart_list li.woocommerce-mini-cart-item {
		grid-template-columns:60px minmax(0,1fr) !important;
		column-gap:11px !important;
		padding:12px 0 !important;
	}
	.mo24-mini-cart-native ul.cart_list li > a.thumbnail,
	.mo24-mini-cart-native ul.cart_list li > a.thumbnail img {
		width:60px !important;min-width:60px !important;max-width:60px !important;height:80px !important;
	}
	.mo24-mini-cart-native .cart-item-wrapper .product-name { font-size:12px !important;line-height:1.35 !important; }
	.mo24-mini-cart-native .cart-item-wrapper > span.price { font-size:13px !important; }
	.mo24-mini-cart-native .dropdown-footer { padding:13px 15px 15px !important; }
	.mo24-mini-cart-native .dropdown-footer a.button { min-height:43px !important;font-size:10px !important; }
}

.mo24-mini-cart-native :where(a, button):focus-visible {
	outline:2px solid #111 !important;
	outline-offset:2px !important;
}

@media (prefers-reduced-motion:reduce) {
	#ts-add-to-cart-popup-modal *,
	#ts-add-to-cart-popup-modal *::before,
	#ts-add-to-cart-popup-modal *::after,
	.mo24-mini-cart-native *,
	.mo24-mini-cart-native *::before,
	.mo24-mini-cart-native *::after {
		transition-duration:.01ms !important;
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
	}
}
