/* Lean extras — keep small */

.shf-preloader {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	background: var(--shf-bg, #f7f9f6);
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

.shf-preloader.is-done {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.shf-preloader__spin {
	width: 2rem;
	height: 2rem;
	border: 2px solid var(--shf-line, #ddd);
	border-top-color: var(--shf-primary-deep, #3d4f3a);
	border-radius: 50%;
	animation: shf-spin 0.7s linear infinite;
}

@keyframes shf-spin {
	to { transform: rotate(360deg); }
}

.shf-back-top {
	position: fixed;
	inset-block-end: 1.25rem;
	z-index: 90;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 50%;
	background: var(--shf-primary-deep, #3d4f3a);
	color: #fff;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.shf-back-top--start { inset-inline-start: 1.25rem; }
.shf-back-top--end { inset-inline-end: 1.25rem; }

.shf-back-top.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.shf-topbar {
	background: var(--shf-primary-deep, #3d4f3a);
	color: #f4f0e6;
	font-size: 0.82rem;
}

.shf-topbar__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1rem;
	align-items: center;
	justify-content: space-between;
	padding: 0.4rem 0;
}

.shf-topbar a { color: inherit; text-decoration: none; }

.shf-lang {
	display: inline-flex;
	gap: 0.45rem;
}

.shf-lang a {
	opacity: 0.75;
	text-decoration: none;
	color: inherit;
}

.shf-lang a.is-active,
.shf-lang .current-lang { opacity: 1; font-weight: 700; }

body.shf-header-transparent .shf-header {
	position: absolute;
	inset-inline: 0;
	background: transparent;
	box-shadow: none;
}

body.shf-header-layout--minimal .shf-header-cta,
body.shf-header-layout--minimal .shf-brand__tag {
	display: none;
}

body.shf-header-layout--shop .shf-header__bar {
	border-radius: 0.85rem;
}

.shf-search-live {
	position: absolute;
	inset-inline: 0;
	top: calc(100% + 0.35rem);
	z-index: 40;
	background: var(--shf-surface, #fff);
	border: 1px solid var(--shf-border, rgba(0,0,0,.1));
	border-radius: 0.85rem;
	box-shadow: 0 12px 28px rgba(0,0,0,.12);
	max-height: 280px;
	overflow: auto;
	display: none;
}

.shf-search-live.is-open { display: block; }

.shf-search-live a {
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 0.55rem;
	align-items: center;
	padding: 0.55rem 0.7rem;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid rgba(0,0,0,.05);
}

.shf-search-live img {
	width: 36px;
	height: 36px;
	object-fit: cover;
	border-radius: 0.4rem;
}

.shf-mini-cart {
	position: absolute;
	inset-inline-end: 0;
	top: calc(100% + 0.4rem);
	width: min(300px, 80vw);
	padding: 0.85rem;
	background: var(--shf-surface, #fff);
	border: 1px solid var(--shf-border, rgba(0,0,0,.1));
	border-radius: 0.85rem;
	box-shadow: 0 12px 28px rgba(0,0,0,.12);
	display: none;
	z-index: 45;
}

.shf-header-cart { position: relative; }
.shf-header-cart.is-open .shf-mini-cart { display: block; }

body.shf-footer-cols--1 .shf-footer__grid { grid-template-columns: 1fr; }
body.shf-footer-cols--2 .shf-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.shf-footer-cols--3 .shf-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.shf-brand__mark--sticky,
.shf-brand__mark--mobile { display: none; }

.is-scrolled .shf-brand__mark--sticky { display: inline-flex; }
.is-scrolled .shf-brand__mark--light:not(.shf-brand__mark--sticky),
.is-scrolled .shf-brand__mark--logo:not(.shf-brand__mark--sticky):not(.shf-brand__mark--dark):not(.shf-brand__mark--mobile) {
	display: none;
}

@media (max-width: 760px) {
	.shf-brand__mark--mobile { display: inline-flex; }
	.shf-brand__mark--light:not(.shf-brand__mark--mobile),
	.shf-brand__mark--logo:not(.shf-brand__mark--mobile):not(.shf-brand__mark--dark):not(.shf-brand__mark--sticky) {
		display: none;
	}
}

.shf-lean-countdown {
	padding: 1.25rem 0;
	background: var(--shf-gradient, linear-gradient(135deg, var(--shf-primary-deep, #3d4f3a), var(--shf-gold, #c4a574)));
	color: #fff;
}

.shf-lean-countdown__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	align-items: center;
	justify-content: space-between;
}

.shf-lean-quotes__track {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.shf-lean-quotes blockquote {
	margin: 0;
	padding: 1rem 1.1rem;
	background: var(--shf-surface, #fff);
	border-inline-start: 3px solid var(--shf-primary, #87a987);
}

.shf-lean-brands__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	justify-content: center;
	opacity: 0.75;
	font-weight: 700;
}

.shf-lean-video-banner {
	padding: 3rem 0;
	background: var(--shf-primary-deep, #3d4f3a);
	color: #f4f0e6;
	text-align: center;
}

.shf-pay-icons__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.55rem;
	border: 1px solid var(--shf-border, rgba(0,0,0,.12));
	border-radius: 0.4rem;
	font-size: 0.75rem;
}

body.shf-shop-card--compact .product,
body.shf-shop-card--compact .shf-crs-card { font-size: 0.92em; }

body.shf-shop-card--media .product img,
body.shf-shop-card--media .shf-crs-card img { transform: scale(1.02); }

body.shf-blog-sidebar--none .widget-area { display: none; }
body.shf-blog-sidebar--left .shf-blog-layout { direction: ltr; }
body.shf-blog-sidebar--left .shf-blog-layout > * { direction: rtl; }

.shf-header-wish {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
}

/* end extras below previous rules */

.shf-pay-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.75rem;
}

.shf-pay-icons img {
	height: 28px;
	width: auto;
	opacity: 0.85;
}

body.shf-shop-card--lift .product,
body.shf-shop-card--lift .shf-crs-card {
	transition: transform 0.2s ease;
}

body.shf-shop-card--lift .product:hover,
body.shf-shop-card--lift .shf-crs-card:hover {
	transform: translateY(-3px);
}

body.shf-shop-card--border .product,
body.shf-shop-card--border .shf-crs-card {
	border: 1px solid var(--shf-border, rgba(0,0,0,.1));
}

body.shf-page-transition {
	animation: shf-fade-in 0.35s ease;
}

@keyframes shf-fade-in {
	from { opacity: 0.01; }
	to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.shf-preloader__spin,
	body.shf-page-transition {
		animation: none;
	}
}
