:root{--mb:#1147c4;--mr:#e31e2d;--mi:#0f172a}

	/* ---------- Card ---------- */
	html body ul.products li.product{
		display:flex;flex-direction:column;padding:12px 12px 16px !important;
		background:rgba(255,255,255,.92);border:1px solid rgba(17,71,196,.08);border-radius:18px;
		box-shadow:0 10px 26px -16px rgba(15,36,112,.3);
		transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	}
	html body ul.products li.product:hover{transform:translateY(-4px);border-color:rgba(17,71,196,.28);box-shadow:0 18px 36px -18px rgba(17,71,196,.45)}

	/* Interactive glow: rotating blue-red edge on hover (CSS only, mouse devices only) */
	@property --mgc-a{syntax:'<angle>';inherits:false;initial-value:0deg}
	@keyframes mgcSpin{to{--mgc-a:360deg}}
	@media (hover:hover) and (pointer:fine){
		html body ul.products li.product{position:relative;isolation:isolate}
		html body ul.products li.product::before{
			content:"" !important;position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;z-index:3;
			background:conic-gradient(from var(--mgc-a),#1147c4,#7c9cff,#e31e2d,#ff7a8c,#1147c4);
			-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
			opacity:0;transition:opacity .3s ease;
		}
		html body ul.products li.product:hover::before{opacity:1;animation:mgcSpin 3s linear infinite}
		html body ul.products li.product:hover{border-color:transparent;box-shadow:0 18px 38px -18px rgba(17,71,196,.5),0 0 26px -8px rgba(227,30,45,.28)}
	}
	@media (prefers-reduced-motion:reduce){html body ul.products li.product:hover::before{animation:none}}

	/* Image panel: soft plain background + HUD corners */
	html body ul.products li.product .astra-shop-thumbnail-wrap{
		position:relative;display:block;border-radius:14px;overflow:hidden;margin:0 0 12px !important;
		background:#f3f6ff;
	}
	html body ul.products li.product .astra-shop-thumbnail-wrap::before,
	html body ul.products li.product .astra-shop-thumbnail-wrap::after{
		content:"";position:absolute;width:14px;height:14px;border:2px solid var(--mb);opacity:.4;z-index:2;pointer-events:none;transition:opacity .25s
	}
	html body ul.products li.product .astra-shop-thumbnail-wrap::before{top:8px;left:8px;border-right:0;border-bottom:0;border-radius:5px 0 0 0}
	html body ul.products li.product .astra-shop-thumbnail-wrap::after{bottom:8px;right:8px;border-left:0;border-top:0;border-radius:0 0 5px 0;border-color:var(--mr)}
	html body ul.products li.product:hover .astra-shop-thumbnail-wrap::before,
	html body ul.products li.product:hover .astra-shop-thumbnail-wrap::after{opacity:1}
	html body ul.products li.product img{display:block;width:100% !important;height:auto !important;aspect-ratio:1/1;object-fit:contain !important;padding:10px;margin:0 !important;mix-blend-mode:multiply}

	/* Text block: tight and even, button at the bottom */
	html body ul.products li.product .astra-shop-summary-wrap{display:flex !important;flex-direction:column;flex:1 1 auto;padding:0 4px !important;margin:0 !important}
	html body ul.products li.product .astra-shop-summary-wrap > *{margin-top:0 !important}
	html body ul.products li.product .ast-woo-shop-product-description{display:none !important}

	html body ul.products li.product .ast-woo-product-category{
		display:inline-flex !important;align-items:center;align-self:flex-start;width:fit-content !important;max-width:100%;
		height:24px;margin:0 0 10px !important;padding:0 10px !important;border-radius:999px;
		background:rgba(17,71,196,.08);color:var(--mb) !important;
		font:700 10.5px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;letter-spacing:.06em;text-transform:uppercase;
		white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
	}
	html body ul.products li.product .ast-woo-product-category a{color:inherit !important;text-decoration:none !important}
	html body ul.products li.product .woocommerce-loop-product__title{
		color:var(--mi) !important;font-size:15px !important;font-weight:700 !important;line-height:1.35 !important;
		margin:0 0 8px !important;padding:0 !important;min-height:2.7em;
		display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
	}
	html body ul.products li.product .price{display:block !important;margin:0 0 14px !important;color:var(--mb) !important;font-size:18px !important;font-weight:800 !important}
	html body ul.products li.product .price del{color:#64748b !important;font-size:13px !important;font-weight:500 !important}
	html body ul.products li.product .price ins{text-decoration:none}
	html body ul.products li.product .button{margin-top:auto !important;width:100% !important;max-width:none !important;text-align:center;border-radius:12px !important;padding:12px 10px !important;font-weight:700 !important}
	html body ul.products li.product .onsale{top:14px !important;right:14px !important;left:auto !important;min-height:0 !important;padding:4px 10px !important;border-radius:999px !important;line-height:1.3 !important;font-size:11px !important;background:var(--mr) !important}

	/* Inner spacing that page-builder product widgets (home page) can't remove */
	html body ul.products.products li.product.product{padding:16px 16px 20px !important;box-sizing:border-box}
	html body ul.products.products li.product.product .astra-shop-thumbnail-wrap,
	html body ul.products.products li.product.product > a:first-child{margin-bottom:14px !important}
	html body ul.products.products li.product.product .ast-woo-product-category{margin:2px 0 10px !important}
	@media (max-width:767px){
		html body ul.products.products li.product.product{padding:10px 10px 14px !important}
		html body ul.products.products li.product.product .ast-woo-product-category{margin:0 0 8px !important}
	}

	/* One clean left line for chip, title, price and button on every product widget
	   (beats the old "12px inset" / "fit-content button" rules from Additional CSS v22) */
	html body ul.products.products li.product.product:not(.product-category) :is(.woocommerce-loop-product__title,h2,h3,.price,.star-rating,[class*="categor"],.posted_in){
		padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important;text-align:left !important
	}
	html body ul.products.products li.product.product:not(.product-category) [class*="categor"] [class*="categor"]{margin:0 !important;padding:0 !important}
	html body ul.products.products li.product.product:not(.product-category) .woocommerce-loop-product__title{margin-bottom:8px !important;height:auto !important}
	html body ul.products.products li.product.product:not(.product-category) .price{height:auto !important;margin-top:0 !important;color:var(--mb) !important}
	html body ul.products.products li.product.product:not(.product-category) .price *{color:inherit}
	html body ul.products.products li.product.product:not(.product-category) :is(.button,.add_to_cart_button){
		display:flex !important;align-items:center;justify-content:center;
		width:100% !important;max-width:none !important;align-self:stretch !important;
		margin:auto 0 0 !important;white-space:nowrap
	}
	html body ul.products.products li.product.product:not(.product-category) .ast-woo-product-category{padding:0 10px !important}
	@media (max-width:767px){
		html body ul.products.products li.product.product:not(.product-category) .ast-woo-product-category{padding:0 8px !important}
		html body ul.products.products li.product.product:not(.product-category) :is(.button,.add_to_cart_button){padding:10px 6px !important;font-size:13px !important}
	}

	/* ---------- Category + brand lists (rows tagged by the script) ---------- */
	html body .mgs-title{display:flex !important;align-items:center;gap:10px}
	html body .mgs-title::before{content:"";width:9px;height:9px;border-radius:2px;flex:none;transform:rotate(45deg);background:linear-gradient(135deg,var(--mb),var(--mr))}
	html body ul:has(> li.mgs-row){padding:0 !important;margin:0 !important;list-style:none !important}
	html body li.mgs-row.mgs-row,html body a.mgs-row.mgs-row{
		display:flex !important;align-items:center;justify-content:space-between;gap:12px;
		padding:0 !important;margin:0 0 4px !important;border:0 !important;border-image:none !important;outline:none !important;
		border-radius:12px !important;background:transparent !important;box-shadow:none !important;transform:none !important;
		color:var(--mi) !important;text-decoration:none !important;transition:background .2s
	}
	html body a.mgs-row.mgs-row.mgs-row{padding:12px 16px !important}
	html body .mgs-row.mgs-row::before,html body .mgs-row.mgs-row::after{display:none !important}
	html body .mgs-row.mgs-row *{margin-top:0 !important;margin-bottom:0 !important}
	html body li.mgs-row.mgs-row:hover,html body a.mgs-row.mgs-row:hover{background:rgba(17,71,196,.06) !important}
	html body .mgs-row.mgs-row.mgs-current{background:rgba(17,71,196,.09) !important;box-shadow:inset 0 0 0 1px rgba(17,71,196,.14) !important}
	html body li.mgs-row .mgs-link.mgs-link.mgs-link{display:flex !important;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0;width:100%;padding:12px 16px !important;box-sizing:border-box;border:0 !important;background:none !important;color:inherit !important;text-decoration:none !important}
	html body .mgs-row:hover,html body .mgs-row:hover .mgs-link,html body .mgs-current .mgs-link{color:var(--mb) !important}
	html body .mgs-row .mgs-count.mgs-count{flex:none;margin-left:auto !important;padding:4px 9px !important;border-radius:999px;background:rgba(17,71,196,.08) !important;color:var(--mb) !important;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;white-space:nowrap}


	/* hide the plugin's red "x" (remove filter) mark and other decorations inside list rows */
	html body .mgs-row a::before,html body .mgs-row a::after,html body .mgs-row .mgs-link::before,html body .mgs-row .mgs-link::after{display:none !important;content:none !important}

	/* ---------- Categories / Brands list: clean panel (desktop) and tiles (phone) ---------- */
	html body .mgs-list.mgs-list{max-height:none !important;overflow:visible !important;height:auto !important}
	html body .mgs-list.mgs-list ul.products.products,html body .mgs-list.mgs-list ul{display:block !important;gap:0 !important;grid-template-columns:none !important}
	html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row{width:auto !important;max-width:none !important;margin:0 !important;padding:0 !important;border-radius:0 !important;border-bottom:1px solid #eef2f8 !important;min-height:0 !important}
	html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row:last-child{border-bottom:0 !important}
	html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row img,html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row noscript{display:none !important}
	html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row .mgs-link.mgs-link.mgs-link{padding:12px 34px 12px 12px !important;border-radius:10px !important;align-items:center;
		background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 5l5 5-5 5'/%3E%3C/svg%3E") no-repeat right 10px center/14px !important}
	html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row h2,html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row h3,html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row .woocommerce-loop-category__title{display:flex !important;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0 !important;padding:0 !important;font-size:15px !important;line-height:1.35 !important;font-weight:500 !important;color:inherit !important;text-align:left !important;white-space:normal !important;word-break:normal !important}
	html body .mgs-row mark.mgs-count.mgs-count{background:rgba(17,71,196,.08) !important}
	html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row:hover .mgs-link.mgs-link.mgs-link{background-color:rgba(17,71,196,.06) !important}
	html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row.mgs-current .mgs-link.mgs-link.mgs-link{background-color:rgba(17,71,196,.09) !important;font-weight:600}
	html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row:hover,html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row.mgs-current{background:transparent !important;box-shadow:none !important}
	@media (min-width:768px){
		html body .mgs-list.mgs-list{background:#fff !important;border:1px solid rgba(17,71,196,.08) !important;border-radius:18px !important;box-shadow:0 10px 26px -16px rgba(15,36,112,.3) !important;padding:8px !important;box-sizing:border-box}
		html body .mgs-list.mgs-list{max-height:460px !important;overflow-y:auto !important;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
		html body .mgs-list.mgs-list::-webkit-scrollbar{width:6px}html body .mgs-list.mgs-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}
	}
	@media (max-width:767px){
		html body .mgs-list.mgs-list ul.products.products,html body .mgs-list.mgs-list ul{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important}
		html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row,html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row:last-child,html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row.mgs-current{border:1px solid rgba(17,71,196,.1) !important;border-radius:14px !important;background:#fff !important;box-shadow:0 6px 16px -12px rgba(15,36,112,.35) !important}
		html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row .mgs-link.mgs-link.mgs-link{padding:12px !important;min-height:56px;background-image:none !important;border-radius:14px !important}
		html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row h2,html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row h3,html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row .woocommerce-loop-category__title{font-size:14px !important;align-items:center}
		html body .mgs-list.mgs-list li.mgs-row.mgs-row.mgs-row.mgs-row.mgs-current{border-color:var(--mb) !important}
		html body .mgs-list.mgs-list:not(.mgs-cats){max-height:360px !important;overflow-y:auto !important;padding:2px 2px 8px !important;box-sizing:border-box}
	}

	/* ---------- Shop filter box ("Shop Page": sort / order / price) ---------- */
	html body .mgs-filter.mgs-filter{background:#fff !important;border:1px solid rgba(17,71,196,.08) !important;border-radius:18px !important;box-shadow:0 10px 26px -16px rgba(15,36,112,.3) !important}
	html body .mgs-filter .mgs-filter-title{display:flex !important;align-items:center;justify-content:flex-start;gap:10px;text-align:left !important;font-size:20px !important;font-weight:700 !important;margin:0 !important}
	html body .mgs-filter .mgs-filter-title::before{content:"";width:9px;height:9px;border-radius:2px;flex:none;transform:rotate(45deg);background:linear-gradient(135deg,var(--mb),var(--mr))}
	html body .mgs-filter .elementor-widget-divider,html body .mgs-filter hr{display:none !important}
	html body .mgs-filter select{
		width:100% !important;max-width:100% !important;height:46px !important;margin:0 !important;
		padding:0 40px 0 14px !important;border-radius:12px !important;border:1px solid rgba(17,71,196,.18) !important;
		background:#f7f9ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231147c4' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px !important;
		color:var(--mi) !important;font-size:15px !important;text-align:left !important;-webkit-appearance:none;appearance:none;box-shadow:none !important
	}
	html body .mgs-filter select:focus{outline:none;border-color:var(--mb) !important;box-shadow:0 0 0 4px rgba(17,71,196,.12) !important}
	/* price slider in brand colours (WooCommerce / common slider plugins) */
	html body .ui-slider .ui-slider-range,html body .price_slider .ui-slider-range,html body .irs-bar,html body .noUi-connect{background:linear-gradient(90deg,var(--mb),var(--mr)) !important}
	html body .ui-slider .ui-slider-handle,html body .irs-handle,html body .noUi-handle{background:#fff !important;border:3px solid var(--mb) !important;border-radius:50% !important;box-shadow:0 3px 8px -2px rgba(17,71,196,.5) !important}
	html body .ui-slider-horizontal,html body .price_slider_wrapper .ui-widget-content{background:rgba(17,71,196,.12) !important;border:0 !important}
	html body input[type=range]{accent-color:var(--mb)}

	/* ---------- Phones ---------- */
	@media (max-width:767px){
		html,html body{overflow-x:clip !important}

		/* full-width sections sit exactly on the screen edges */
		html body .elementor-section.elementor-section-stretched,
		html body .elementor > .e-con.e-con-full,
		html body .elementor > .e-con.e-parent{
			width:100vw !important;max-width:100vw !important;left:0 !important;transform:none !important;
			margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;
		}

		/* product grid: whole screen width with 10px edges, whatever the page padding is */
		/* every product grid (home page, related, widgets): 2 columns, centred in its section */
		html body ul.products{
			display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;
			width:100% !important;max-width:100% !important;margin:0 auto !important;padding:0 !important;box-sizing:border-box;
		}

		html body ul.products::before,html body ul.products::after{display:none !important}
		html body ul.products li.product{width:auto !important;max-width:none !important;min-width:0 !important;float:none !important;margin:0 !important;padding:8px 8px 12px !important;border-radius:16px}
		html body ul.products li.product:hover{transform:none}
		html body ul.products li.product .astra-shop-thumbnail-wrap{margin-bottom:8px !important;border-radius:12px}
		html body ul.products li.product img{padding:6px}
		html body ul.products li.product .astra-shop-summary-wrap{padding:0 2px !important}
		html body ul.products li.product .ast-woo-product-category{height:21px;margin-bottom:7px !important;padding:0 8px !important;font-size:9px !important}
		html body ul.products li.product .woocommerce-loop-product__title{font-size:13.5px !important;min-height:2.6em;margin-bottom:6px !important}
		html body ul.products li.product .price{font-size:15px !important;margin-bottom:10px !important}
		html body ul.products li.product .button{padding:10px 6px !important;font-size:13px !important;border-radius:11px !important}
		html body li.mgs-row .mgs-link.mgs-link.mgs-link,html body a.mgs-row.mgs-row.mgs-row{padding:12px 14px !important}

		/* sidebar lists + titles + filter box: full width with 10px edges, like the product grid */
		html body .mgs-bleed{
			width:calc(100vw - 32px) !important;max-width:none !important;
			margin-left:calc(50% - 50vw + 16px) !important;margin-right:0 !important;
			padding-left:0 !important;padding-right:0 !important;
		}
		html body .mgs-title.mgs-title{display:flex !important;visibility:visible !important;opacity:1 !important;color:var(--mi) !important;font-size:26px !important;margin:18px 0 8px 14px !important}
		html body .mgs-title-box{display:block !important;visibility:visible !important}

		/* filter box on phones: one clean column */
		html body .mgs-filter.mgs-filter{padding:16px !important;margin-top:12px !important}
		html body .mgs-filter,html body .mgs-filter .e-con,html body .mgs-filter .e-con-inner,html body .mgs-filter .elementor-container,html body .mgs-filter .elementor-widget-wrap{
			display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:10px !important;--gap:10px;
			--padding-left:0px;--padding-right:0px;
		}
		html body .mgs-filter .elementor-widget,html body .mgs-filter .elementor-widget-container,html body .mgs-filter form,html body .mgs-filter .e-con,html body .mgs-filter .elementor-column{
			width:100% !important;max-width:100% !important;margin:0 !important;padding-left:0 !important;padding-right:0 !important;--container-widget-width:100%;
		}
		html body .mgs-filter .mgs-filter-title{font-size:18px !important;padding:0 2px 4px !important}
	}
	@media (prefers-reduced-motion:reduce){html body ul.products li.product{transition:none}}

	/* Star rating on cards: one row at the very bottom (after Compare) on EVERY card, so the rows line up across a line */
	html body ul.products li.product .star-rating:not(.mvpc-stars){display:none !important}
	html body ul.products.products li.product.product .mvpc-rate{display:flex !important;align-items:center;justify-content:center;text-align:center;gap:8px;height:20px;margin:12px 0 0 !important;padding:0 2px;flex:none;font-size:12px;font-weight:600;color:#64748b;line-height:1}
	html body ul.products.products li.product.product .mvpc-rate .star-rating.mvpc-stars{display:block !important;float:none !important;margin:0 !important;font-size:14px !important;flex:none}
	html body ul.products.products li.product.product .mvpc-rate b{color:#0f172a;font-weight:800}
	@media (max-width:767px){html body ul.products.products li.product.product .mvpc-rate{margin-top:10px !important;font-size:11px}html body ul.products.products li.product.product .mvpc-rate .star-rating.mvpc-stars{font-size:12px !important}}
	/* one tidy line, whatever the theme's text size; quieter when there are no reviews yet */
	html body ul.products.products li.product.product .mvpc-rate{white-space:nowrap !important;overflow:hidden;gap:6px !important;min-width:0}
	html body ul.products.products li.product.product .mvpc-rate > span{font-size:11.5px !important;line-height:1 !important;white-space:nowrap !important;overflow:hidden;text-overflow:ellipsis;min-width:0;letter-spacing:0 !important;font-weight:600 !important}
	html body ul.products.products li.product.product .mvpc-rate .star-rating.mvpc-stars{font-size:12px !important;width:5.4em !important;height:1em !important;line-height:1 !important;letter-spacing:0 !important;overflow:hidden}
	html body ul.products.products li.product.product .mvpc-rate.none > span{color:#94A3B8 !important}
	html body ul.products.products li.product.product .mvpc-rate.none .star-rating.mvpc-stars,html body ul.products.products li.product.product .mvpc-rate.none .star-rating.mvpc-stars::before{color:#CBD5E1 !important;opacity:1}
	@media (max-width:767px){html body ul.products.products li.product.product .mvpc-rate > span{font-size:11px !important}html body ul.products.products li.product.product .mvpc-rate .star-rating.mvpc-stars{font-size:11px !important}}

/* Equal product cards (computers and tablets): every column the same width (a long category chip or name can no
   longer widen its column), every photo the same size, and the buttons line up along the bottom of each row. */
@media (min-width:768px){
	html:not(.mvsh-on) body ul.products.products > li.product.product{min-width:0 !important;max-width:none !important}
	html:not(.mvsh-on) body ul.products.products > li.product.product:not(.product-category){display:flex !important;flex-direction:column !important;height:100%;box-sizing:border-box}
	html:not(.mvsh-on) body ul.products.products > li.product.product:not(.product-category) > .astra-shop-thumbnail-wrap{flex:none;width:100% !important}
	html:not(.mvsh-on) body ul.products.products > li.product.product:not(.product-category) > .astra-shop-summary-wrap{flex:1 1 auto !important;min-width:0}
	html:not(.mvsh-on) body ul.products.products > li.product.product:not(.product-category) > :is(.mvc-btn,.mvpc-rate){flex:none}
	html:not(.mvsh-on) body ul.products.products > li.product.product:not(.product-category) .ast-woo-product-category{max-width:100% !important;min-width:0;display:block !important;line-height:24px !important}
	html:not(.mvsh-on) body ul.products.products > li.product.product:not(.product-category) .woocommerce-loop-product__title{min-height:2.7em !important}
	html:not(.mvsh-on) body ul.products.products > li.product.product:not(.product-category) :is(.button,.add_to_cart_button){white-space:normal !important;min-width:0}
}
