/* Limark Shop: Products page, side panel filters and product page.
   Builds on limark-vehicles.css: same tokens, cards, gallery and spec table. */

/* Fallback palette; the inline :root palette from Limark Vehicles outranks :where(). */
:where(:root){
	--lmk-primary:#A3248F;--lmk-accent:#ED1B24;--lmk-ink:#1A0620;--lmk-dark:#16041A;
	--lmk-primary-soft:#A3248F1a;--lmk-primary-line:#A3248F4d;--lmk-accent-dark:#b91520;
}
.lmk-shop{
	--lmk-white:#fff;--lmk-line:#e4dce7;--lmk-band:#f7f5f9;--lmk-soft:#f5f3f7;
	--lmk-body:#5c4a63;--lmk-mute:#8a7a92;--lmk-dbody:#c3a9c8;--lmk-dmute:#a98fb0;
	--lmk-ease:cubic-bezier(.2,.7,.3,1);
	--lmk-display:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
	--lmk-text:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
	--lmk-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
	--lmk-side:290px;
}

.lmk-shop :where(ul,ol,fieldset,legend,figure){margin:0;padding:0;border:0}
.lmk-shop :where(ul){list-style:none}
.lmk-shop .lmk-i{width:18px;height:18px;flex:none}
.lmk-shop .lmk-btn .lmk-i{width:17px;height:17px}

/* ---------- page frame: clear the overlay header ----------
   The theme header sits on top of the content (header-above-content), so the
   first band starts under it. --lmk-head is measured by limark-shop.js;
   the fallbacks cover the first paint. */
body.lmk-branded{--lmk-head:150px;--lmk-head-gap:64px;--lmk-head-min:130px}
body.lmk-branded #header{z-index:1000}
body.lmk-branded #header .sub-menu,body.lmk-branded #header .menu-dropdown{z-index:1001}
body.lmk-branded .lmk-scope{display:block;width:100%;max-width:none;float:none;clear:both}
body.lmk-branded .lmk-scope .lmk-wrap{width:100%;max-width:1240px;margin-left:auto;margin-right:auto}
body.lmk-branded .lmk-hero{padding-top:calc(max(var(--lmk-head),var(--lmk-head-min)) + var(--lmk-head-gap));padding-bottom:64px}
body.lmk-branded .lmk-banner{padding-top:calc(max(var(--lmk-head),var(--lmk-head-min)) + var(--lmk-head-gap) + 8px);padding-bottom:64px}
body.lmk-branded .lmk-hero__title,body.lmk-branded .lmk-banner__title{margin-top:20px}
body.lmk-branded .lmk-hero .lmk-wrap > .lmk-hero__title:first-child{margin-top:0}
@media (max-width:991px){body.lmk-branded{--lmk-head:90px;--lmk-head-gap:40px;--lmk-head-min:72px}}
@media (max-width:767px){body.lmk-branded{--lmk-head-gap:30px}
	body.lmk-branded .lmk-hero,body.lmk-branded .lmk-banner{padding-bottom:44px}}

/* ---------- hero ---------- */
.lmk-shop__hero .lmk-crumbs{margin-top:22px}

/* ---------- layout ---------- */
.lmk-shop__layout{
	display:grid;grid-template-columns:var(--lmk-side) minmax(0,1fr);gap:36px;
	align-items:start;padding-top:44px;padding-bottom:100px;
}
.lmk-shop__main{min-width:0}

/* ---------- side panel ---------- */
.lmk-sf{position:sticky;top:24px;align-self:start}
.lmk-sf__form{
	background:var(--lmk-white);border:1px solid var(--lmk-line);
	border-top:3px solid var(--lmk-primary);
}
.lmk-sf__head{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:20px 22px 16px;border-bottom:1px solid var(--lmk-line);
}
.lmk-sf__title{
	font-family:var(--lmk-display);font-size:18px;font-weight:700;letter-spacing:-.3px;
	color:var(--lmk-ink);margin:0;
}
.lmk-sf__close{display:none}
.lmk-sf__block{padding:18px 22px;border-bottom:1px solid var(--lmk-line)}
.lmk-sf__label{
	display:block;margin:0 0 12px;font-family:var(--lmk-mono);font-size:10.5px;
	letter-spacing:1.6px;text-transform:uppercase;color:var(--lmk-mute);
}
fieldset.lmk-sf__block legend.lmk-sf__label{float:left;width:100%}
fieldset.lmk-sf__block .lmk-sf__tree{clear:both}

.lmk-sf__search{display:flex;border:1px solid var(--lmk-line);background:var(--lmk-band);transition:border-color .25s ease}
.lmk-sf__search:focus-within{border-color:var(--lmk-primary);box-shadow:0 0 0 3px var(--lmk-primary-soft)}
.lmk-sf__search input{
	flex:1 1 auto;min-width:0;border:0;background:transparent;border-radius:0;
	padding:11px 12px;font-family:var(--lmk-text);font-size:14px;color:var(--lmk-ink);outline:none;
	box-shadow:none;height:auto;margin:0;
}
.lmk-sf__search button{
	flex:none;display:flex;align-items:center;justify-content:center;width:44px;
	border:0;border-radius:0;background:transparent;color:var(--lmk-primary);cursor:pointer;padding:0;
}
.lmk-sf__search button:hover{color:var(--lmk-accent)}

/* category tree */
.lmk-sf__tree{display:grid;gap:2px}
.lmk-sf__node{border-bottom:1px dashed var(--lmk-line)}
.lmk-sf__node:last-child{border-bottom:0}
.lmk-sf__row{display:flex;align-items:center;gap:4px}
.lmk-sf__row .lmk-sf__check{flex:1 1 auto}
.lmk-sf__check{
	position:relative;display:flex;align-items:center;gap:11px;cursor:pointer;
	padding:10px 0;font-size:14.5px;line-height:1.35;color:var(--lmk-ink);margin:0;
}
.lmk-sf__check input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lmk-sf__box{
	position:relative;flex:none;width:18px;height:18px;background:#fff;
	border:1.5px solid #c9bccf;transition:background-color .2s ease,border-color .2s ease;
}
.lmk-sf__box::after{
	content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
	border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);
	transition:transform .2s var(--lmk-ease);
}
.lmk-sf__check:hover .lmk-sf__box{border-color:var(--lmk-primary)}
.lmk-sf__check input:checked + .lmk-sf__box{background:var(--lmk-primary);border-color:var(--lmk-primary)}
.lmk-sf__check input:checked + .lmk-sf__box::after{transform:rotate(45deg) scale(1)}
.lmk-sf__check input:focus-visible + .lmk-sf__box{outline:3px solid var(--lmk-primary-line);outline-offset:2px}
.lmk-sf__name{flex:1 1 auto;font-weight:500}
.lmk-sf__check input:checked ~ .lmk-sf__name{color:var(--lmk-primary);font-weight:600}
.lmk-sf__num{
	flex:none;min-width:26px;text-align:center;font-family:var(--lmk-mono);font-size:11px;
	color:var(--lmk-mute);background:var(--lmk-band);padding:3px 6px;
}
.lmk-sf__toggle{
	flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;
	border:0;border-radius:0;background:transparent;color:var(--lmk-mute);cursor:pointer;padding:0;
}
.lmk-sf__toggle:hover{color:var(--lmk-primary);background:var(--lmk-band)}
.lmk-sf__toggle .lmk-i{transition:transform .3s var(--lmk-ease)}
.lmk-sf__node.is-open > .lmk-sf__row .lmk-sf__toggle .lmk-i{transform:rotate(180deg)}
.lmk-sf__sub{
	display:none;margin:0 0 10px 8px;padding-left:20px;
	border-left:2px solid var(--lmk-primary-soft);
}
.lmk-sf__node.is-open > .lmk-sf__sub{display:block}
.lmk-sf__sub .lmk-sf__check{padding:7px 0;font-size:13.5px}
.lmk-sf__sub .lmk-sf__name{font-weight:400}

.lmk-sf__actions{padding:18px 22px 22px;display:grid;gap:12px;text-align:center}
.lmk-sf__actions .lmk-btn{padding:14px 20px;font-size:13px}
.lmk-sf__reset{font-size:13px;color:var(--lmk-mute);text-decoration:underline;text-underline-offset:3px}
.lmk-sf__reset:hover{color:var(--lmk-accent)}
/* With JavaScript on desktop the list updates as soon as a box is ticked. */
.lmk-js .lmk-sf__actions .lmk-btn{display:none}
.lmk-js .lmk-sf__actions:not(:has(.lmk-sf__reset)){display:none}
.lmk-sf__scrim{display:none}

/* ---------- toolbar ---------- */
.lmk-shop__bar{
	display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;
	background:var(--lmk-white);border:1px solid var(--lmk-line);
	padding:12px 14px 12px 20px;margin:0 0 18px;
}
.lmk-shop__open{display:none}
.lmk-shop__count{
	margin:0 auto 0 0;font-family:var(--lmk-mono);font-size:11px;letter-spacing:1.6px;
	text-transform:uppercase;color:var(--lmk-mute);
}
.lmk-shop__count strong{color:var(--lmk-ink)}
.lmk-shop__sort{display:flex;align-items:center;gap:10px;margin:0}
.lmk-shop__sort label{
	font-family:var(--lmk-mono);font-size:10.5px;letter-spacing:1.4px;
	text-transform:uppercase;color:var(--lmk-mute);white-space:nowrap;margin:0;
}
.lmk-shop__sort select{
	font-family:var(--lmk-text);font-size:14px;color:var(--lmk-ink);background:var(--lmk-band);
	border:1px solid var(--lmk-line);border-radius:0;padding:10px 34px 10px 12px;cursor:pointer;
	height:auto;margin:0;min-width:190px;
}
.lmk-shop__sort select:hover,.lmk-shop__sort select:focus{border-color:var(--lmk-primary);outline:none}

.lmk-shop__chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 22px}
.lmk-shop__chip{
	display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 14px;
	background:var(--lmk-primary-soft);border:1px solid var(--lmk-primary-line);
	color:var(--lmk-primary);font-size:13px;font-weight:600;text-decoration:none;
	transition:background-color .2s ease,color .2s ease;
}
.lmk-shop__chip .lmk-i{width:14px;height:14px}
.lmk-shop__chip:hover,.lmk-shop__chip:focus-visible{background:var(--lmk-primary);color:#fff}
.lmk-shop__clear{font-size:13px;color:var(--lmk-mute);text-decoration:underline;text-underline-offset:3px;margin-left:4px}
.lmk-shop__clear:hover{color:var(--lmk-accent)}

/* ---------- grid + cards ---------- */
.lmk-shop__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lmk-shop .lmk-card__media img{height:200px}
.lmk-shop .lmk-card__explore .lmk-i{width:15px;height:15px}
.lmk-shop .lmk-card__amount .woocommerce-Price-amount,.lmk-shop .lmk-card__amount bdi{font:inherit;color:inherit}
.lmk-shop .lmk-card__amount del{opacity:.55;font-size:.8em;margin-right:6px}
.lmk-shop .lmk-card__amount ins{text-decoration:none}
.lmk-shop .lmk-card__specs .lmk-i{width:14px;height:14px;color:var(--lmk-primary);margin-top:.15em}
.lmk-pcard.is-upcoming .lmk-card__flag{background:var(--lmk-accent)}
.lmk-pcard.is-upcoming .lmk-card__media img{filter:saturate(.85)}

.lmk-shop .lmk-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.lmk-shop .lmk-pagination .nav-links{display:contents}

/* ---------- empty ---------- */
.lmk-shop__empty{padding:56px 28px}
.lmk-shop__empty p{max-width:460px;margin-left:auto;margin-right:auto}
.lmk-shop__empty-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* ---------- product page ---------- */
.lmk-shop-single .lmk-namebar__amount--tba{font-size:17px;font-weight:600;color:var(--lmk-ink);letter-spacing:0}
.lmk-shop-single .lmk-namebar__amount .woocommerce-Price-amount,.lmk-shop-single .lmk-namebar__amount bdi{font:inherit;color:inherit}
.lmk-shop-single__lead{font-size:17px;color:var(--lmk-ink)}
.lmk-shop-single__points{margin-top:26px;gap:13px}
.lmk-shop-single__points li{font-size:15px}
.lmk-shop-single__cta{display:grid;gap:12px}
.lmk-shop-single__cta .lmk-btn{padding:15px 20px}
.lmk-shop-single__cart{margin:0 0 14px}
.lmk-shop-single__sku{margin:18px 0 0;font-size:12.5px;color:var(--lmk-mute);text-align:center}
.lmk-shop-single .lmk-crumbs span[aria-hidden]{opacity:.6}

/* ---------- add to cart ---------- */
.lmk-pcard__cart{margin-top:auto;padding-top:20px;display:grid;gap:8px}
.lmk-shop .lmk-pcard__cart .lmk-btn{padding:13px 16px;font-size:12.5px;letter-spacing:.8px}
.lmk-shop .lmk-pcard__add.loading{opacity:.7;pointer-events:none}
.lmk-shop .lmk-pcard__add.loading .lmk-i{animation:lmkSpin .8s linear infinite}
@keyframes lmkSpin{to{transform:rotate(360deg)}}
.lmk-shop .lmk-pcard__add.added{background:var(--lmk-primary)}
.lmk-shop .lmk-pcard__add::after{display:none!important;content:none!important}
.lmk-shop .added_to_cart.wc-forward{
	display:block;text-align:center;font-size:12.5px;font-weight:600;letter-spacing:.6px;
	text-transform:uppercase;color:var(--lmk-primary);text-decoration:none;padding:6px 0 0;
}
.lmk-shop .added_to_cart.wc-forward:hover{color:var(--lmk-accent)}
.lmk-pcard__stock{margin:auto 0 0;padding-top:18px;font-size:13px;font-weight:600;color:var(--lmk-mute)}
.lmk-shop .lmk-card__body{display:flex;flex-direction:column}

/* product page: buy panel */
.lmk-shop-single__panel-price{margin:0 0 6px}
.lmk-shop-single__panel-price .lmk-namebar__amount{font-size:30px}
.lmk-shop-single__stock{display:flex;align-items:center;gap:6px;margin:0 0 18px;font-size:13px;font-weight:600}
.lmk-shop-single__stock.is-in{color:#1f8a4c}
.lmk-shop-single__stock .lmk-i{width:16px;height:16px}
.lmk-shop-single__cart form.cart{display:flex;gap:10px;margin:0;align-items:stretch}
.lmk-shop-single__cart .quantity{flex:none;margin:0}
.lmk-shop-single__cart .quantity .qty{
	width:74px;height:100%;min-height:50px;text-align:center;font-family:var(--lmk-text);
	font-size:16px;font-weight:600;color:var(--lmk-ink);background:#fff;
	border:1px solid var(--lmk-line);border-radius:0;padding:0 6px;margin:0;
}
.lmk-shop-single__cart .quantity .qty:focus{border-color:var(--lmk-primary);outline:none;box-shadow:0 0 0 3px var(--lmk-primary-soft)}
.lmk-shop-single__cart .single_add_to_cart_button{
	flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;
	background:var(--lmk-accent)!important;color:#fff!important;border:0!important;border-radius:0!important;
	font-family:var(--lmk-text);font-size:14px;font-weight:600;letter-spacing:.9px;
	text-transform:uppercase;padding:15px 20px!important;min-height:50px;cursor:pointer;
	transition:background-color .3s ease;box-shadow:none!important;
}
.lmk-shop-single__cart .single_add_to_cart_button:hover{background:var(--lmk-accent-dark)!important}
.lmk-shop-single__cta.is-secondary{grid-template-columns:1fr 1fr;gap:8px}
.lmk-shop-single__cta.is-secondary .lmk-btn{
	background:transparent;color:var(--lmk-ink);border-color:var(--lmk-line);
	padding:12px 10px;font-size:11.5px;letter-spacing:.5px;gap:6px;
}
.lmk-shop-single__cta.is-secondary .lmk-btn:hover{border-color:var(--lmk-ink);background:var(--lmk-ink);color:#fff}
.lmk-shop-single__cta.is-secondary .lmk-btn .lmk-i{width:15px;height:15px}

/* notices */
.lmk-shop-notices:empty{display:none}
.lmk-shop-notices .woocommerce-message,.lmk-shop-notices .woocommerce-error,.lmk-shop-notices .woocommerce-info{
	list-style:none;margin:0 0 20px;padding:14px 18px;background:#fff;
	border:1px solid var(--lmk-line);border-left:3px solid var(--lmk-primary);
	font-size:14px;color:var(--lmk-ink);display:flex;flex-wrap:wrap;align-items:center;gap:12px;
}
.lmk-shop-notices .woocommerce-error{border-left-color:var(--lmk-accent)}
.lmk-shop-notices .woocommerce-message::before,.lmk-shop-notices .woocommerce-info::before,.lmk-shop-notices .woocommerce-error::before{display:none}
.lmk-shop-notices .button.wc-forward{
	order:2;margin-left:auto;background:var(--lmk-ink);color:#fff;border-radius:0;
	padding:9px 16px;font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;text-decoration:none;
}
.lmk-shop-notices .button.wc-forward:hover{background:var(--lmk-primary);color:#fff}

/* ---------- responsive ---------- */
@media (max-width:1200px){
	.lmk-shop{--lmk-side:260px}
	.lmk-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:991px){
	.lmk-shop__layout{grid-template-columns:1fr;gap:0;padding-top:28px}
	.lmk-shop__open{
		display:inline-flex;align-items:center;gap:8px;border:1px solid var(--lmk-ink);
		background:var(--lmk-ink);color:#fff;border-radius:0;cursor:pointer;
		font-family:var(--lmk-text);font-size:13px;font-weight:600;letter-spacing:.6px;
		text-transform:uppercase;padding:10px 14px;
	}
	.lmk-shop__badge{
		display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;
		padding:0 5px;background:var(--lmk-accent);color:#fff;font-size:11px;border-radius:10px;
	}
	.lmk-sf{
		position:fixed;top:0;bottom:0;left:0;z-index:100000;width:min(360px,88vw);
		overflow-y:auto;background:var(--lmk-white);
		transform:translateX(-102%);transition:transform .35s var(--lmk-ease);
		box-shadow:20px 0 60px rgba(26,6,32,.25);
	}
	.lmk-sf.is-open{transform:none}
	.lmk-sf__form{border:0;border-top:3px solid var(--lmk-primary);min-height:100%;display:flex;flex-direction:column}
	.lmk-sf__close{
		display:flex;align-items:center;justify-content:center;width:40px;height:40px;
		border:1px solid var(--lmk-line);background:#fff;color:var(--lmk-ink);border-radius:0;cursor:pointer;padding:0;
	}
	.lmk-sf__actions{margin-top:auto;position:sticky;bottom:0;background:#fff;border-top:1px solid var(--lmk-line)}
	.lmk-js .lmk-sf__actions,.lmk-js .lmk-sf__actions .lmk-btn{display:grid}
	.lmk-sf__scrim{
		display:block;position:fixed;inset:0;z-index:99999;background:rgba(22,4,26,.55);
		opacity:0;transition:opacity .3s ease;
	}
	.lmk-sf__scrim[hidden]{display:none}
	.lmk-sf__scrim.is-on{opacity:1}
	body.lmk-sf-locked{overflow:hidden}
}
@media (max-width:767px){
	.lmk-shop__hero{padding:62px 0 52px}
	.lmk-shop__bar{padding:10px 12px}
	.lmk-shop__count{order:3;width:100%;margin:2px 0 0}
	.lmk-shop__sort{margin-left:auto}
	.lmk-shop__sort label{display:none}
	.lmk-shop__sort select{min-width:0;max-width:52vw}
	.lmk-shop__layout{padding-bottom:70px}
}
@media (max-width:560px){
	.lmk-shop__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
	.lmk-sf,.lmk-sf__scrim,.lmk-sf__box::after{transition:none}
}
