/*
 * LittleNoor Storefront — design layer on top of Kadence.
 * Every rule is scoped to body.lnsf(-part) so switching a part off in
 * WooCommerce → LittleNoor Design restores Kadence's own styling.
 */

/* ------------------------------------------------------------------ tokens */
body.lnsf {
	--ln-navy: #3d3f8c;
	--ln-navy-d: #2c2e6e;
	--ln-ink: #1f2140;
	--ln-text: #3a3c56;
	--ln-muted: #6c6f87;
	--ln-line: #e9e8f1;
	--ln-soft: #f6f5fb;
	--ln-pink: #fbd6e6;
	--ln-pink-s: #d23c78;
	--ln-green: #1f7a4d;
	--ln-r: 14px;
	--ln-r-lg: 20px;
	--ln-shadow: 0 1px 2px rgba(31, 33, 64, .06), 0 4px 14px rgba(31, 33, 64, .07);
	--ln-gutter: var(--global-content-edge-padding, 1.5rem);
	/* Kadence palette: buttons/links in brand navy instead of default blue. */
	--global-palette1: #3d3f8c;
	--global-palette2: #2c2e6e;
	--global-palette7: #f1f0f6;
	--global-palette8: #fafafc;
	background: #fff;
	-webkit-tap-highlight-color: transparent;
}

body.lnsf .lnsf-ico { width: 22px; height: 22px; flex: none; }

.lnsf .screen-reader-text:not(:focus) {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* Kadence page/archive hero bands → compact titles. */
body.lnsf .entry-hero .entry-hero-container-inner,
body.lnsf .entry-hero .hero-section-overlay {
	background: none !important;
}
body.lnsf .entry-hero .entry-hero-container-inner { min-height: 0 !important; }
body.lnsf .entry-hero .hero-container { padding-top: 18px; padding-bottom: 6px; }
body.lnsf .entry-hero .entry-header { text-align: left; min-height: 0 !important; padding: 0; }
body.lnsf .entry-hero h1,
body.lnsf .entry-hero .page-title {
	font-size: 22px;
	line-height: 1.25;
	color: var(--ln-ink);
	margin: 0;
}
body.lnsf .kadence-breadcrumbs { font-size: 12px; color: var(--ln-muted); margin-top: 4px; }
body.lnsf .kadence-breadcrumbs a { color: var(--ln-muted); text-decoration: none; }
body.lnsf.single-product .product-title.product-above .kadence-breadcrumbs,
body.lnsf.single-product .kadence-breadcrumbs { margin: 0 0 10px; }

/* Buttons everywhere: pill, brand navy. */
body.lnsf .button,
body.lnsf button.button,
body.lnsf a.button,
body.lnsf input[type="submit"].button,
body.lnsf .wp-element-button {
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
}

.lnsf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 22px;
	border-radius: 999px;
	background: var(--ln-navy);
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none !important;
	border: 0;
	cursor: pointer;
}
.lnsf-btn:hover { background: var(--ln-navy-d); }
.lnsf-btn--light { background: #fff; color: var(--ln-navy) !important; }
.lnsf-btn--light:hover { background: var(--ln-soft); }

/* ------------------------------------------------------------------ header */
@media (max-width: 1024px) {
	body.lnsf-header #masthead {
		position: sticky;
		top: 0;
		z-index: 90;
		background: #fff;
	}
	body.lnsf-header.admin-bar #masthead { top: 46px; }
	body.lnsf-header #mobile-header .site-header-upper-inner-wrap { position: relative; }
	body.lnsf-header #mobile-header .site-header-row-container-inner {
		background: #fff !important;
		border: 0 !important;
	}
	body.lnsf-header #mobile-header .site-top-header-wrap .site-header-row-container-inner > .site-container,
	body.lnsf-header #mobile-header .site-top-header-inner-wrap {
		min-height: 56px !important;
		height: 56px;
		padding-top: 0;
		padding-bottom: 0;
	}
	body.lnsf-header #mobile-header .site-branding a.brand img,
	body.lnsf-header #mobile-header .custom-logo {
		max-height: 30px !important;
		width: auto !important;
		max-width: 150px !important;
	}
	/* Second row (menu / cart / search) laid over the logo row: one 56px bar. */
	body.lnsf-header #mobile-header .site-main-header-wrap {
		position: absolute;
		inset: 0;
		pointer-events: none;
		background: transparent !important;
	}
	body.lnsf-header #mobile-header .site-main-header-wrap .site-header-row-container-inner { background: transparent !important; }
	body.lnsf-header #mobile-header .site-main-header-inner-wrap {
		display: flex !important;
		align-items: center;
		min-height: 56px !important;
		height: 56px;
	}
	body.lnsf-header #mobile-header .site-header-main-section-left { flex: 1; justify-content: flex-start; }
	body.lnsf-header #mobile-header .site-header-main-section-center { order: 3; flex: none; }
	body.lnsf-header #mobile-header .site-header-main-section-right { order: 2; flex: none; }
	body.lnsf-header #mobile-header .site-header-item { pointer-events: auto; margin: 0; }
	body.lnsf-header #mobile-header .menu-toggle-open,
	body.lnsf-header #mobile-header .search-toggle-open,
	body.lnsf-header #mobile-header .header-cart-button {
		color: var(--ln-ink) !important;
		background: transparent !important;
		padding: 8px !important;
		min-width: 40px;
		min-height: 40px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: relative;
		font-size: 22px;
	}
	body.lnsf-header #mobile-header .menu-toggle-open .kadence-svg-iconset svg,
	body.lnsf-header #mobile-header .search-toggle-open .kadence-svg-iconset svg,
	body.lnsf-header #mobile-header .header-cart-button .kadence-svg-iconset svg {
		width: 22px;
		height: 22px;
	}
	body.lnsf-header #mobile-header .header-cart-total {
		position: absolute;
		top: 2px;
		right: 0;
		min-width: 18px;
		height: 18px;
		padding: 0 4px;
		border-radius: 999px;
		background: var(--ln-pink-s) !important;
		color: #fff !important;
		font-size: 11px;
		line-height: 18px;
		font-weight: 700;
		margin: 0;
	}
	body.lnsf-header #mobile-header .header-cart-is-empty-true + .header-cart-inner-wrap .header-cart-total { display: none; }
	body.lnsf-header #masthead { border-bottom: 1px solid var(--ln-line); }
}

@media (min-width: 1025px) {
	/* The info strip replaces Kadence's navy top bar. */
	body.lnsf-header #main-header .site-top-header-wrap { display: none; }
	body.lnsf-header #main-header .site-main-header-wrap .site-header-row-container-inner {
		background: #fff;
		border-bottom: 1px solid var(--ln-line);
	}
	body.lnsf-header #main-header .site-main-header-inner-wrap { min-height: 76px; }
	body.lnsf-header #main-header .custom-logo { max-height: 40px; width: auto; }
	body.lnsf-header .main-navigation .primary-menu-container > ul > li.menu-item > a {
		font-size: 14.5px;
		font-weight: 600;
		color: var(--ln-ink);
		padding-left: .6em;
		padding-right: .6em;
		white-space: nowrap;
	}
	body.lnsf-header .main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: var(--ln-navy); }
	body.lnsf-header .header-navigation .header-menu-container ul ul {
		border-radius: 12px;
		box-shadow: var(--ln-shadow);
		background: #fff;
		padding: 6px 0;
	}
	body.lnsf-header .header-navigation .header-menu-container ul ul li.menu-item > a {
		color: var(--ln-text);
		font-size: 14px;
		padding: .55em 1.1em;
	}
	body.lnsf-header .header-navigation .header-menu-container ul ul li.menu-item > a:hover {
		color: var(--ln-navy);
		background: var(--ln-soft);
	}
	body.lnsf-header #main-header .header-cart-total { background: var(--ln-pink-s); color: #fff; }
}

/* Mobile drawer menu. */
body.lnsf-header #mobile-drawer .drawer-inner { background: #fff; color: var(--ln-ink); }
body.lnsf-header #mobile-drawer .drawer-header .drawer-toggle { color: var(--ln-ink); }
body.lnsf-header .mobile-navigation ul li > a,
body.lnsf-header .mobile-navigation ul li > .drawer-nav-drop-wrap > a {
	color: var(--ln-ink);
	font-weight: 700;
	font-size: 16px;
	padding-top: .8em;
	padding-bottom: .8em;
}
body.lnsf-header .mobile-navigation ul li > .drawer-nav-drop-wrap { padding: 0; color: var(--ln-ink); }
body.lnsf-header .mobile-navigation ul li > .drawer-nav-drop-wrap .drawer-sub-toggle { color: var(--ln-muted); }
body.lnsf-header .mobile-navigation ul ul li > a { font-weight: 500; font-size: 15px; color: var(--ln-text); padding-top: .6em; padding-bottom: .6em; }
body.lnsf-header .mobile-navigation ul li:not(.menu-item-has-children) > a,
body.lnsf-header .mobile-navigation ul li > .drawer-nav-drop-wrap { border-bottom: 1px solid var(--ln-line); }
body.lnsf-header .mobile-navigation ul ul li:not(.menu-item-has-children) > a { border-bottom: 0; }
body.lnsf-header .mobile-navigation .current-menu-item > a,
body.lnsf-header .mobile-navigation .current-menu-ancestor > .drawer-nav-drop-wrap > a,
body.lnsf-header .mobile-navigation .current-menu-item > .drawer-nav-drop-wrap > a,
body.lnsf-header .mobile-navigation .current-menu-item > .drawer-nav-drop-wrap .drawer-sub-toggle { color: var(--ln-navy) !important; }

/* Info strip. */
.lnsf-strip {
	background: var(--ln-soft);
	color: var(--ln-navy);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
	border-bottom: 1px solid var(--ln-line);
}
.lnsf-strip__track {
	position: relative;
	height: 32px;
	max-width: var(--global-content-width, 1290px);
	margin: 0 auto;
	padding: 0 var(--ln-gutter);
}
.lnsf-strip__item {
	position: absolute;
	inset: 0 var(--ln-gutter);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .35s ease, transform .35s ease;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.lnsf-strip__item.is-active { opacity: 1; transform: none; }
@media (min-width: 1025px) {
	.lnsf-strip__track { display: flex; justify-content: center; gap: 28px; }
	.lnsf-strip__item { position: static; opacity: 1; transform: none; }
	.lnsf-strip__item + .lnsf-strip__item::before {
		content: "";
		width: 4px;
		height: 4px;
		border-radius: 50%;
		background: currentColor;
		opacity: .4;
		margin-right: 28px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.lnsf-strip__item { transition: none; }
}

/* ------------------------------------------------------------------ home */
.lnsf-home { padding: 14px 0 8px; }
.lnsf-intro { margin-bottom: 14px; }
.lnsf-intro__title {
	font-size: 20px;
	line-height: 1.25;
	margin: 0 0 2px;
	color: var(--ln-ink);
}
.lnsf-intro__sub { margin: 0 0 12px; font-size: 13.5px; line-height: 1.45; color: var(--ln-muted); }
.lnsf-search {
	position: relative;
	display: flex;
	align-items: center;
	max-width: 640px;
}
.lnsf-search .lnsf-ico { position: absolute; left: 14px; width: 20px; height: 20px; color: var(--ln-muted); pointer-events: none; }
body.lnsf .lnsf-search input[type="search"] {
	width: 100%;
	height: 46px;
	padding: 0 16px 0 42px;
	border-radius: 999px;
	border: 1px solid var(--ln-line);
	background: var(--ln-soft);
	font-size: 15px;
	color: var(--ln-ink);
	box-shadow: none;
}
body.lnsf .lnsf-search input[type="search"]:focus {
	outline: none;
	border-color: var(--ln-navy);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(61, 63, 140, .14);
}

.lnsf-tiles {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px 10px;
}
.lnsf-tile a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	color: var(--ln-ink);
}
.lnsf-tile__img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 18px;
	background: var(--tint, var(--ln-soft));
	overflow: hidden;
	isolation: isolate;
}
.lnsf-tile__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
	transition: transform .4s ease;
}
.lnsf-tile a:hover .lnsf-tile__img img { transform: scale(1.05); }
.lnsf-tile__label {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}
.lnsf-tile--sale .lnsf-tile__label { color: var(--ln-pink-s); }
@media (min-width: 640px) {
	.lnsf-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1025px) {
	.lnsf-tiles { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 16px; }
	.lnsf-home { padding-top: 24px; }
	.lnsf-intro { display: grid; grid-template-columns: 1fr 420px; align-items: end; column-gap: 24px; row-gap: 2px; margin-bottom: 22px; }
	.lnsf-intro__title { font-size: 26px; }
	.lnsf-intro__sub { margin: 0; }
	.lnsf-search { grid-row: 1 / span 2; grid-column: 2; }
}

.lnsf-sec { margin-top: 30px; }
.lnsf-sec--tiles { margin-top: 6px; }
.lnsf-sec__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.lnsf-sec__title { font-size: 18px; line-height: 1.25; margin: 0; color: var(--ln-ink); }
.lnsf-sec__sub { margin: 2px 0 0; font-size: 13px; color: var(--ln-muted); }
.lnsf-sec__more {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ln-navy);
	text-decoration: none;
	padding: 6px 0;
}
.lnsf-sec__more:hover { text-decoration: underline; }
@media (min-width: 1025px) {
	.lnsf-sec { margin-top: 44px; }
	.lnsf-sec__title { font-size: 22px; }
}

.lnsf-why__list {
	list-style: none;
	margin: 0;
	padding: 16px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 12px;
	background: var(--ln-soft);
	border-radius: var(--ln-r-lg);
}
.lnsf-why__list li { display: flex; gap: 10px; align-items: flex-start; }
.lnsf-why__list .lnsf-ico { color: var(--ln-navy); width: 26px; height: 26px; margin-top: 1px; }
.lnsf-why__list strong { display: block; font-size: 13.5px; line-height: 1.3; color: var(--ln-ink); }
.lnsf-why__list small { display: block; font-size: 12px; line-height: 1.4; color: var(--ln-muted); margin-top: 2px; }
@media (min-width: 1025px) {
	.lnsf-why__list { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 22px 26px; }
}

.lnsf-reviews__list {
	list-style: none;
	margin: 0 calc(var(--ln-gutter) * -1);
	padding: 2px var(--ln-gutter) 6px;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 82%;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 var(--ln-gutter);
	scrollbar-width: none;
}
.lnsf-reviews__list::-webkit-scrollbar { display: none; }
.lnsf-review {
	scroll-snap-align: start;
	border: 1px solid var(--ln-line);
	border-radius: var(--ln-r);
	padding: 16px;
	background: #fff;
}
.lnsf-review__stars { display: flex; gap: 1px; color: #f2a516; margin-bottom: 8px; }
.lnsf-review__stars .lnsf-ico { width: 16px; height: 16px; stroke: none; }
.lnsf-review blockquote {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ln-text);
}
.lnsf-review cite { font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--ln-ink); }
@media (min-width: 768px) {
	.lnsf-reviews__list { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; overflow: visible; }
}

.lnsf-help {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: flex-start;
	padding: 20px;
	border-radius: var(--ln-r-lg);
	background: var(--ln-navy);
	color: #fff;
}
.lnsf-help h2 { color: #fff; font-size: 18px; margin: 0 0 4px; }
.lnsf-help p { margin: 0; font-size: 13.5px; line-height: 1.5; color: rgba(255, 255, 255, .85); }
@media (min-width: 768px) {
	.lnsf-help { flex-direction: row; align-items: center; justify-content: space-between; padding: 26px 30px; }
}

/* ------------------------------------------------------------------ product grid + cards */
body.lnsf-cards .woocommerce ul.products.products,
body.lnsf-cards ul.products.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 12px;
	margin: 0 0 8px;
	padding: 0;
}
body.lnsf-cards ul.products::before,
body.lnsf-cards ul.products::after { display: none; }
@media (min-width: 768px) {
	body.lnsf-cards .woocommerce ul.products.products,
	body.lnsf-cards ul.products.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 16px; }
}
@media (min-width: 1025px) {
	body.lnsf-cards .woocommerce ul.products.products,
	body.lnsf-cards ul.products.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 20px; }
}

/* Horizontal rails on the homepage. */
body.lnsf-cards .lnsf-rail ul.products.products {
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: none;
	grid-auto-columns: 42%;
	gap: 12px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 var(--ln-gutter);
	margin: 0 calc(var(--ln-gutter) * -1);
	padding: 0 var(--ln-gutter) 4px;
	scrollbar-width: none;
}
body.lnsf-cards .lnsf-rail ul.products::-webkit-scrollbar { display: none; }
body.lnsf-cards .lnsf-rail ul.products li.product { scroll-snap-align: start; }
@media (min-width: 768px) {
	body.lnsf-cards .lnsf-rail ul.products.products { grid-auto-columns: 28%; gap: 16px; }
}
@media (min-width: 1025px) {
	body.lnsf-cards .lnsf-rail ul.products.products {
		grid-auto-columns: calc((100% - 80px) / 5);
		gap: 20px;
		margin: 0;
		padding: 0 0 6px;
		scrollbar-width: thin;
	}
}

body.lnsf-cards ul.products li.product {
	position: relative;
	container-type: inline-size;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	float: none;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: left;
	overflow: visible;
}
body.lnsf-cards ul.products li.product .woocommerce-loop-image-link,
body.lnsf-cards ul.products li.product > a:first-child {
	display: block;
	position: relative;
	aspect-ratio: 1;
	border-radius: var(--ln-r);
	overflow: hidden;
	background: var(--ln-soft);
	margin: 0;
	isolation: isolate;
}
body.lnsf-cards ul.products li.product .woocommerce-loop-image-link img,
body.lnsf-cards ul.products li.product > a:first-child img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0 !important;
	border-radius: 0;
	mix-blend-mode: multiply; /* white photo backgrounds take the card tint */
	transition: transform .4s ease;
}
@media (hover: hover) {
	body.lnsf-cards ul.products li.product:hover .woocommerce-loop-image-link img { transform: scale(1.04); }
}
body.lnsf-cards ul.products li.product .product-details {
	padding: 8px 2px 0 !important;
	background: transparent !important;
	border: 0;
	box-shadow: none;
}
body.lnsf-cards ul.products li.product .woocommerce-loop-product__title,
body.lnsf-cards ul.products li.product h2,
body.lnsf-cards ul.products li.product h3 {
	font-family: var(--global-body-font-family, inherit);
	font-size: 13.5px !important;
	font-weight: 500;
	line-height: 1.35 !important;
	letter-spacing: 0;
	color: var(--ln-ink);
	margin: 0 0 4px !important;
	padding: 0 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body.lnsf-cards ul.products li.product .woocommerce-loop-product__title a { color: inherit; text-decoration: none; }
body.lnsf-cards ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 6px;
	font-size: 15px !important;
	font-weight: 700;
	color: var(--ln-ink) !important;
	margin: 0 !important;
	line-height: 1.3;
}
body.lnsf-cards ul.products li.product .price ins { text-decoration: none; color: var(--ln-pink-s); font-weight: 700; order: -1; }
body.lnsf-cards ul.products li.product .price del { font-size: 12.5px; font-weight: 500; color: var(--ln-muted); opacity: 1; }
.lnsf .lnsf-from { font-size: .8em; font-weight: 500; color: var(--ln-muted); }
body.lnsf-cards ul.products li.product .price .woocommerce-price-suffix,
body.lnsf-cards ul.products li.product .price .screen-reader-text { display: none; }
body.lnsf-cards ul.products li.product .price .lnsf-from { order: -2; font-size: 12px; }
body.lnsf-cards ul.products li.product .star-rating,
body.lnsf-cards ul.products li.product .kadence-star-rating,
body.lnsf-cards ul.products li.product .product-excerpt { display: none !important; }

/* Add-to-cart as a round bag button in the photo's corner. */
body.lnsf-cards ul.products li.product .product-details,
body.lnsf-cards ul.products li.product .product-action-wrap {
	position: static !important;
}
body.lnsf-cards ul.products li.product .product-action-wrap {
	margin: 0;
	padding: 0;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}
body.lnsf-cards ul.products li.product .product-action-wrap .button {
	position: absolute;
	top: calc(100cqw - 46px);
	right: 8px;
	z-index: 3;
	width: 38px !important;
	height: 38px !important;
	min-height: 38px !important;
	max-height: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 50%;
	background: #fff !important;
	color: var(--ln-navy) !important;
	border: 0 !important;
	box-shadow: 0 2px 8px rgba(31, 33, 64, .16) !important;
	font-size: 0 !important;
	line-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .15s ease;
}
body.lnsf-cards ul.products li.product .product-action-wrap .button > * { display: none !important; }
body.lnsf-cards ul.products li.product .product-action-wrap .button::before {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12H6.2z'/%3E%3Cpath d='M9 10V7a3 3 0 0 1 6 0v3'/%3E%3Cpath d='M12 12.5v4M10 14.5h4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12H6.2z'/%3E%3Cpath d='M9 10V7a3 3 0 0 1 6 0v3'/%3E%3Cpath d='M12 12.5v4M10 14.5h4'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.lnsf-cards ul.products li.product .product-action-wrap .button:active { transform: scale(.92); }
body.lnsf-cards ul.products li.product .product-action-wrap .button.loading::before { opacity: .35; }
body.lnsf-cards ul.products li.product .product-action-wrap .button.added { background: var(--ln-navy) !important; color: #fff !important; }
body.lnsf-cards ul.products li.product .product-action-wrap .button.added::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
body.lnsf-cards ul.products li.product .added_to_cart { display: none !important; }

/* Badges. */
body.lnsf .lnsf-badge,
body.lnsf-cards ul.products li.product .onsale,
body.lnsf.single-product .product .onsale {
	position: absolute;
	z-index: 2;
	top: 8px;
	left: 8px;
	right: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--ln-pink-s);
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
}
body.lnsf .lnsf-badge--low {
	top: auto;
	bottom: auto;
	top: calc(100cqw - 32px);
	left: 8px;
	background: rgba(255, 255, 255, .94);
	color: var(--ln-pink-s);
	box-shadow: 0 1px 4px rgba(31, 33, 64, .12);
}
body.lnsf-cards ul.products li.product.outofstock .woocommerce-loop-image-link img { opacity: .5; }

/* Category chips above the grid. */
.lnsf-chips {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	margin: 0 calc(var(--ln-gutter) * -1) 14px;
	padding: 2px var(--ln-gutter);
	scrollbar-width: none;
	width: calc(100% + var(--ln-gutter) * 2);
}
.lnsf-chips::-webkit-scrollbar { display: none; }
.lnsf-chip {
	flex: none;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid var(--ln-line);
	background: #fff;
	color: var(--ln-ink) !important;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}
.lnsf-chip:hover { border-color: var(--ln-navy); }
.lnsf-chip.is-active { background: var(--ln-navy); border-color: var(--ln-navy); color: #fff !important; }
@media (min-width: 1025px) {
	.lnsf-chips { flex-wrap: wrap; margin: 0 0 18px; padding: 0; width: auto; overflow: visible; }
}

/* Result count + sorting on one row. */
body.lnsf-cards .kadence-shop-top-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 14px;
	padding: 0;
}
body.lnsf-cards .kadence-shop-top-row .kadence-shop-top-item { margin: 0; padding: 0; width: auto; flex: none; }
body.lnsf-cards .kadence-shop-top-row .kadence-woo-results-count { flex: 1 1 auto; min-width: 0; }
body.lnsf-cards.woocommerce-shop .content-area,
body.lnsf-cards.tax-product_cat .content-area { margin-top: 6px !important; }
body.lnsf-cards .woocommerce-result-count {
	float: none;
	margin: 0 !important;
	font-size: 13px;
	line-height: 1.3;
	color: var(--ln-muted);
}
body.lnsf-cards .woocommerce-ordering { float: none; margin: 0 !important; }
body.lnsf-cards .woocommerce-ordering select {
	height: 38px;
	padding: 0 34px 0 14px;
	border-radius: 999px;
	border: 1px solid var(--ln-line);
	background-color: #fff;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ln-ink);
	width: auto;
	max-width: 168px;
}
body.lnsf-cards ul.products { clear: both; }
body.lnsf-cards .woocommerce-products-header { margin: 0; padding: 0; }
body.lnsf .entry-hero .entry-header,
body.lnsf .entry-hero .entry-header * { text-align: left !important; }
body.lnsf .entry-hero .entry-header { align-items: flex-start !important; justify-content: flex-start !important; }

/* Pagination. */
body.lnsf .woocommerce-pagination ul.page-numbers { border: 0; display: flex; justify-content: center; gap: 6px; }
body.lnsf .woocommerce-pagination ul.page-numbers li { border: 0; }
body.lnsf .woocommerce-pagination .page-numbers a,
body.lnsf .woocommerce-pagination .page-numbers span {
	min-width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1px solid var(--ln-line);
	font-weight: 600;
	color: var(--ln-ink);
}
body.lnsf .woocommerce-pagination .page-numbers .current { background: var(--ln-navy); border-color: var(--ln-navy); color: #fff; }

/* ------------------------------------------------------------------ product page */
body.lnsf-product.single-product .content-area { margin-top: 12px; }
body.lnsf-product.single-product div.product .woocommerce-product-gallery {
	border-radius: var(--ln-r-lg);
	overflow: hidden;
}
body.lnsf-product.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 10px; }
body.lnsf-product.single-product div.product .product_title {
	font-size: 21px;
	line-height: 1.3;
	color: var(--ln-ink);
	margin: 4px 0 6px;
}
body.lnsf-product.single-product div.product .summary > .price {
	font-size: 24px;
	font-weight: 700;
	color: var(--ln-ink);
	margin: 0 0 14px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
}
body.lnsf-product.single-product div.product .summary > .price ins { text-decoration: none; color: var(--ln-pink-s); order: -1; }
body.lnsf-product.single-product div.product .summary > .price del { font-size: 16px; font-weight: 500; color: var(--ln-muted); }
body.lnsf-product .woocommerce-price-suffix,
body.lnsf-product .brief-shipping-details { font-size: 13px; font-weight: 500; color: var(--ln-muted); }
body.lnsf-cards ul.products li.product .price .brief-shipping-details,
.lnsf-buybar__price .brief-shipping-details { display: none; }
@media (min-width: 1025px) {
	body.lnsf-product.single-product div.product .product_title { font-size: 28px; }
	body.lnsf-product.single-product div.product .summary > .price { font-size: 28px; }
}

/* Native variation selects (products without the photo picker). */
body.lnsf-product div.product form.cart .variations { margin-bottom: 10px; border: 0; }
body.lnsf-product div.product form.cart .variations th,
body.lnsf-product div.product form.cart .variations td { display: block; padding: 0; border: 0; text-align: left; }
body.lnsf-product div.product form.cart .variations th label { font-size: 13px; font-weight: 700; color: var(--ln-ink); margin: 0 0 6px; }
body.lnsf-product div.product form.cart .variations td { margin-bottom: 12px; }
body.lnsf-product div.product form.cart .variations select {
	width: 100%;
	max-width: 420px;
	height: 48px;
	padding: 0 40px 0 14px;
	border-radius: 12px;
	border: 1px solid #d9d8e4;
	font-size: 15px;
	color: var(--ln-ink);
	background-color: #fff;
}
body.lnsf-product div.product form.cart .reset_variations { font-size: 13px; color: var(--ln-muted); }
body.lnsf-product div.product .single_variation_wrap .woocommerce-variation-price .price { font-size: 20px; font-weight: 700; color: var(--ln-ink); }
body.lnsf-product div.product .stock { font-size: 13px; font-weight: 600; color: var(--ln-green); margin: 6px 0; }
body.lnsf-product div.product .stock.out-of-stock { color: var(--ln-pink-s); }

/* Quantity + Add to cart + Order now. */
body.lnsf-product div.product form.cart:not(.variations_form),
body.lnsf-product div.product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
}
body.lnsf-product div.product form.cart .quantity {
	margin: 0 !important;
	display: inline-flex;
	align-items: center;
	height: 50px;
	border: 1px solid #d9d8e4;
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
}
body.lnsf-product div.product form.cart .quantity .qty {
	height: 48px;
	width: 42px;
	border: 0;
	background: transparent;
	font-size: 16px;
	font-weight: 700;
	color: var(--ln-ink);
	padding: 0;
	box-shadow: none;
}
body.lnsf-product div.product form.cart .quantity .minus,
body.lnsf-product div.product form.cart .quantity .plus {
	height: 48px;
	width: 38px;
	border: 0;
	background: transparent;
	color: var(--ln-ink);
	font-size: 18px;
	box-shadow: none;
}
body.lnsf-product div.product form.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 150px;
	height: 50px;
	padding: 0 20px;
	margin: 0 !important;
	border-radius: 999px;
	background: #fff !important;
	color: var(--ln-navy) !important;
	border: 2px solid var(--ln-navy) !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
}
body.lnsf-product div.product form.cart .single_add_to_cart_button:hover { background: var(--ln-soft) !important; }
body.lnsf-product div.product form.cart .wsb-button,
body.lnsf-product div.product form.cart .js-wsb-add-to-cart {
	flex: 1 1 100%;
	order: 5;
	height: 52px;
	margin: 0 !important;
	border-radius: 999px;
	background: var(--ln-navy) !important;
	color: #fff !important;
	border: 0 !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
body.lnsf-product div.product form.cart .wsb-button:hover { background: var(--ln-navy-d) !important; }
body.lnsf-product div.product form.cart .button.disabled,
body.lnsf-product div.product form.cart .wsb-button.disabled { opacity: .55; cursor: not-allowed; }

/* Delivery box + Messenger. */
body.lnsf-product .single-product-extras,
body.lnsf-product div.product .product_meta { display: none; }
body.lnsf-product div.product .woocommerce-product-details__short-description {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ln-text);
	margin: 0 0 16px;
}
body.lnsf-product div.product .woocommerce-product-details__short-description p { margin: 0 0 6px; }
.wsb-modal .woocommerce-message { display: none; }
body.lnsf .woocommerce-message,
body.lnsf .woocommerce-info:not(.woocommerce-form-coupon-toggle .woocommerce-info) {
	border-radius: 12px;
	border: 1px solid var(--ln-line);
	border-left-width: 1px;
	background: var(--ln-soft);
	color: var(--ln-text);
	font-size: 14px;
}
body.lnsf .woocommerce-message,
body.lnsf .woocommerce-info { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 14px 16px; line-height: 1.45; }
body.lnsf .woocommerce-message::before,
body.lnsf .woocommerce-info::before { display: none; }
body.lnsf .woocommerce-message .button,
body.lnsf .woocommerce-info .button {
	order: 2;
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 38px;
	min-height: 0;
	margin: 0 !important;
	padding: 0 18px !important;
	line-height: 1 !important;
	font-size: 13.5px;
	background: var(--ln-navy) !important;
	color: #fff !important;
	border: 0;
	white-space: nowrap;
}
.lnsf-delivery {
	margin: 18px 0 8px;
	padding: 14px 14px 12px;
	border-radius: var(--ln-r);
	background: var(--ln-soft);
}
.lnsf-delivery__list { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.lnsf-delivery__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.45; color: var(--ln-text); margin: 0; }
.lnsf-delivery__list .lnsf-ico { color: var(--ln-navy); width: 21px; height: 21px; }
.lnsf-delivery__list strong { color: var(--ln-ink); }
.lnsf-msg-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 16px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--ln-line);
	color: var(--ln-ink) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}
.lnsf-msg-btn .lnsf-ico { color: #0a7cff; }
.lnsf-msg-btn:hover { border-color: #0a7cff; }

/* Tabs → stacked sections (description, then reviews); no tab bar to tap through. */
body.lnsf-product .woocommerce-tabs { margin-top: 30px; padding: 0; border: 0; }
body.lnsf-product .woocommerce-tabs ul.tabs { display: none !important; }
body.lnsf-product .woocommerce-tabs .panel {
	display: block !important;
	border: 0 !important;
	border-top: 1px solid var(--ln-line) !important;
	padding: 20px 0 0 !important;
	margin: 0 0 24px !important;
	box-shadow: none !important;
	background: transparent !important;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ln-text);
}
body.lnsf-product .woocommerce-tabs .panel > h2:first-child,
body.lnsf-product .woocommerce-tabs #reviews #comments > h2 {
	display: block;
	font-size: 19px;
	line-height: 1.3;
	color: var(--ln-ink);
	margin: 0 0 12px;
}
body.lnsf-product .woocommerce-tabs #reviews #comments > h2 { font-size: 16px; }
body.lnsf-product #reviews .commentlist { padding: 0; margin: 0 0 18px; }
body.lnsf-product #reviews .commentlist li { border-bottom: 1px solid var(--ln-line); padding: 12px 0; margin: 0; }
body.lnsf-product #reviews .comment-reply-title { font-size: 16px; font-weight: 700; color: var(--ln-ink); }
body.lnsf-product .related.products > h2,
body.lnsf-product .upsells.products > h2 { font-size: 19px; color: var(--ln-ink); margin: 34px 0 14px; }

/* Sticky order bar (mobile + tablet). */
.lnsf-buybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px var(--ln-gutter) calc(10px + env(safe-area-inset-bottom));
	background: #fff;
	border-top: 1px solid var(--ln-line);
	box-shadow: 0 -6px 20px rgba(31, 33, 64, .08);
	transform: translateY(110%);
	transition: transform .25s ease;
}
.lnsf-buybar[hidden] { display: none; }
.lnsf-buybar.is-visible { transform: none; }
.lnsf-buybar__img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; flex: none; }
.lnsf-buybar__info { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.lnsf-buybar__name { font-size: 12.5px; line-height: 1.3; color: var(--ln-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lnsf-buybar__price { font-size: 16px; font-weight: 700; color: var(--ln-ink); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lnsf-buybar__price del { font-size: 12px; color: var(--ln-muted); font-weight: 500; }
.lnsf-buybar__price ins { text-decoration: none; }
.lnsf-buybar__price .woocommerce-price-suffix { display: none; }
.lnsf-buybar__btn {
	flex: none;
	height: 48px;
	padding: 0 26px;
	border-radius: 999px;
	border: 0;
	background: var(--ln-navy);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.lnsf-buybar__btn:hover { background: var(--ln-navy-d); }
@media (min-width: 1025px) { .lnsf-buybar { display: none !important; } }
.lnsf-flash { animation: lnsf-flash 1.2s ease; border-radius: 12px; }
@keyframes lnsf-flash {
	0%, 100% { box-shadow: 0 0 0 0 rgba(210, 60, 120, 0); }
	30% { box-shadow: 0 0 0 4px rgba(210, 60, 120, .35); }
}
.lnsf-pick-msg {
	margin: 8px 0 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--ln-pink-s);
}

/* ------------------------------------------------------------------ bottom nav + sheet */
.lnsf-bnav, .lnsf-sheet { display: none; }
@media (max-width: 1024px) {
	body.lnsf-bottom-nav { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
	body.lnsf-bottom-nav.single-product.lnsf-product { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
	body.lnsf-bottom-nav .lnsf-bnav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 94;
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
		height: calc(62px + env(safe-area-inset-bottom));
		padding-bottom: env(safe-area-inset-bottom);
		background: #fff;
		border-top: 1px solid var(--ln-line);
		box-shadow: 0 -4px 16px rgba(31, 33, 64, .06);
	}
	/* Product pages use the sticky order bar instead. */
	body.lnsf-bottom-nav.single-product.lnsf-product .lnsf-bnav { display: none; }
	.lnsf-bnav__item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		padding: 0;
		margin: 0;
		border: 0;
		background: transparent !important;
		color: var(--ln-muted) !important;
		font: inherit;
		font-size: 11px;
		font-weight: 600;
		line-height: 1;
		text-decoration: none !important;
		cursor: pointer;
		box-shadow: none !important;
		border-radius: 0;
		min-height: 0;
	}
	.lnsf-bnav__item .lnsf-ico { width: 23px; height: 23px; }
	.lnsf-bnav__item.is-active { color: var(--ln-navy) !important; }
	.lnsf-bnav__item--sale { color: var(--ln-pink-s) !important; }
	.lnsf-bnav__icon { position: relative; display: inline-flex; }
	.lnsf-cart-count {
		position: absolute;
		top: -5px;
		right: -9px;
		min-width: 17px;
		height: 17px;
		padding: 0 4px;
		border-radius: 999px;
		background: var(--ln-pink-s);
		color: #fff;
		font-size: 10.5px;
		font-weight: 700;
		line-height: 17px;
		text-align: center;
	}
	.lnsf-cart-count[data-count="0"] { display: none; }
	body.lnsf-bottom-nav #kt-scroll-up,
	body.lnsf-bottom-nav .kadence-scroll-to-top { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }

	.lnsf-sheet:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 200; }
	.lnsf-sheet__backdrop { position: absolute; inset: 0; background: rgba(20, 21, 40, .45); animation: lnsf-fade .2s ease; }
	.lnsf-sheet__panel {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		max-height: 86vh;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: #fff;
		border-radius: 22px 22px 0 0;
		padding: 6px var(--ln-gutter) calc(18px + env(safe-area-inset-bottom));
		animation: lnsf-up .25s ease;
	}
	.lnsf-sheet__head {
		position: sticky;
		top: -6px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 0 10px;
		background: #fff;
		z-index: 1;
	}
	.lnsf-sheet__head h2 { font-size: 18px; margin: 0; color: var(--ln-ink); }
	.lnsf-sheet__close {
		width: 38px;
		height: 38px;
		border-radius: 50%;
		border: 0;
		background: var(--ln-soft) !important;
		color: var(--ln-ink) !important;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		box-shadow: none;
	}
	.lnsf-sheet__list { list-style: none; margin: 0; padding: 0; }
	.lnsf-sheet__list > li { border-bottom: 1px solid var(--ln-line); padding: 8px 0; }
	.lnsf-sheet__list > li:last-child { border-bottom: 0; }
	.lnsf-sheet__group {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 4px 0;
		color: var(--ln-ink) !important;
		text-decoration: none !important;
		font-size: 15.5px;
		font-weight: 700;
	}
	.lnsf-sheet__group .lnsf-ico { width: 18px; height: 18px; color: var(--ln-muted); margin-left: auto; }
	.lnsf-sheet__thumb {
		width: 46px;
		height: 46px;
		border-radius: 12px;
		overflow: hidden;
		background: var(--tint, var(--ln-soft));
		flex: none;
		isolation: isolate;
	}
	.lnsf-sheet__thumb img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
	.lnsf-sheet__kids { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px 0 4px 58px; }
	.lnsf-sheet__kids a {
		padding: 6px 12px;
		border-radius: 999px;
		background: var(--ln-soft);
		color: var(--ln-text) !important;
		font-size: 13px;
		font-weight: 600;
		text-decoration: none !important;
	}
	body.lnsf-sheet-open { overflow: hidden; }
}
@keyframes lnsf-up { from { transform: translateY(100%); } to { transform: none; } }
@keyframes lnsf-fade { from { opacity: 0; } to { opacity: 1; } }

/* ------------------------------------------------------------------ cart (page + drawer) */
.lnsf-meter { margin: 0 0 14px; }
.lnsf-meter p { margin: 0 0 6px; font-size: 13px; line-height: 1.4; color: var(--ln-text); }
.lnsf-meter p strong { color: var(--ln-ink); }
.lnsf-meter__bar { display: block; height: 6px; border-radius: 999px; background: var(--ln-line); overflow: hidden; }
.lnsf-meter__bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ln-navy), var(--ln-pink-s)); transition: width .3s ease; }

body.lnsf .woocommerce-cart-form .shop_table,
body.lnsf .woocommerce-cart-form table.cart { border: 0; border-radius: 0; }
body.lnsf .woocommerce-cart-form thead { display: none; }
body.lnsf .woocommerce-cart-form tr.cart_item {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) auto;
	grid-template-areas:
		"thumb name remove"
		"thumb price price"
		"thumb qty subtotal";
	column-gap: 12px;
	row-gap: 4px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--ln-line);
	background: transparent !important;
}
body.lnsf .woocommerce-cart-form tr.cart_item td {
	display: block;
	padding: 0 !important;
	border: 0 !important;
	text-align: left !important;
	background: transparent !important;
}
body.lnsf .woocommerce-cart-form tr.cart_item td::before { display: none !important; }
body.lnsf .woocommerce-cart-form td.product-thumbnail { grid-area: thumb; display: block !important; width: auto; }
body.lnsf .woocommerce-cart-form td.product-thumbnail img { width: 76px; height: 76px; object-fit: cover; border-radius: 12px; max-width: none; }
body.lnsf .woocommerce-cart-form td.product-name { grid-area: name; font-size: 14px; font-weight: 600; line-height: 1.35; }
body.lnsf .woocommerce-cart-form td.product-name a { color: var(--ln-ink); text-decoration: none; }
body.lnsf .woocommerce-cart-form td.product-name .variation { margin: 4px 0 0; font-size: 12.5px; font-weight: 500; color: var(--ln-muted); }
body.lnsf .woocommerce-cart-form td.product-name .variation dt,
body.lnsf .woocommerce-cart-form td.product-name .variation dd { display: inline; margin: 0; float: none; }
body.lnsf .woocommerce-cart-form td.product-name .variation dd p { display: inline; margin: 0; }
body.lnsf .woocommerce-cart-form td.product-price { grid-area: price; font-size: 13px; color: var(--ln-muted); }
body.lnsf .woocommerce-cart-form td.product-quantity { grid-area: qty; }
body.lnsf .woocommerce-cart-form td.product-subtotal { grid-area: subtotal; font-weight: 700; color: var(--ln-ink); text-align: right !important; }
body.lnsf .woocommerce-cart-form td.product-remove { grid-area: remove; align-self: start; }
body.lnsf .woocommerce-cart-form td.product-remove a.remove {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--ln-soft);
	color: var(--ln-muted) !important;
	font-size: 18px;
	font-weight: 400;
}
body.lnsf .woocommerce-cart-form td.product-remove a.remove:hover { background: var(--ln-pink); color: var(--ln-pink-s) !important; }
body.lnsf .woocommerce-cart-form .quantity {
	display: inline-flex;
	align-items: center;
	height: 38px;
	border: 1px solid #d9d8e4;
	border-radius: 999px;
	overflow: hidden;
}
body.lnsf .woocommerce-cart-form .quantity .qty { width: 36px; height: 36px; border: 0; padding: 0; font-weight: 700; background: transparent; }
body.lnsf .woocommerce-cart-form .quantity .minus,
body.lnsf .woocommerce-cart-form .quantity .plus { width: 32px; height: 36px; border: 0; background: transparent; color: var(--ln-ink); padding: 0; }
body.lnsf .woocommerce-cart-form tr:not(.cart_item) { display: block; }
body.lnsf .woocommerce-cart-form td.actions { display: block; padding: 14px 0 0 !important; border: 0 !important; }
body.lnsf .woocommerce-cart-form td.actions .coupon { display: flex; gap: 8px; float: none; width: 100%; }
body.lnsf .woocommerce-cart-form td.actions .coupon .input-text { flex: 1; height: 44px; border-radius: 999px; padding: 0 16px; border: 1px solid #d9d8e4; width: auto; }
body.lnsf .woocommerce-cart-form td.actions .coupon .button { height: 44px; padding: 0 18px; background: var(--ln-soft); color: var(--ln-ink); border: 0; font-size: 14px; width: auto; }
body.lnsf .woocommerce-cart-form td.actions > .button[name="update_cart"] { display: none; }
body.lnsf .cart-collaterals .cart_totals {
	background: var(--ln-soft);
	border-radius: var(--ln-r-lg);
	padding: 18px;
	border: 0;
}
body.lnsf .cart-collaterals .cart_totals > h2 { font-size: 18px; margin: 0 0 10px; color: var(--ln-ink); }
body.lnsf .cart-collaterals .cart_totals table { border: 0; margin: 0; }
body.lnsf .cart-collaterals .cart_totals th,
body.lnsf .cart-collaterals .cart_totals td { border: 0 !important; padding: 8px 0 !important; background: transparent !important; font-size: 14px; }
body.lnsf .cart-collaterals .cart_totals td::before { display: none !important; }
body.lnsf .cart-collaterals .cart_totals tr { display: flex; justify-content: space-between; gap: 12px; }
body.lnsf .cart-collaterals .cart_totals tr.order-total { border-top: 1px solid var(--ln-line); margin-top: 6px; padding-top: 6px; }
body.lnsf .cart-collaterals .cart_totals tr.order-total th,
body.lnsf .cart-collaterals .cart_totals tr.order-total td { font-size: 17px; font-weight: 700; color: var(--ln-ink); }
body.lnsf .cart-collaterals .woocommerce-shipping-calculator { display: none; }
body.lnsf .cart-collaterals .woocommerce-shipping-destination,
body.lnsf .cart-collaterals .woocommerce-shipping-totals p { font-size: 12.5px; color: var(--ln-muted); margin: 2px 0 0; }
body.lnsf .wc-proceed-to-checkout { padding: 12px 0 0; }
body.lnsf .wc-proceed-to-checkout .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 54px;
	margin: 0 !important;
	border-radius: 999px;
	background: var(--ln-navy) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700;
	padding: 0 20px !important;
}
body.lnsf .wc-proceed-to-checkout .checkout-button:hover { background: var(--ln-navy-d) !important; }

/* Kadence slide-out cart. */
body.lnsf #cart-drawer .drawer-inner { background: #fff; }
body.lnsf #cart-drawer .woocommerce-mini-cart-item {
	position: relative;
	padding: 12px 34px 12px 0 !important;
	border-bottom: 1px solid var(--ln-line);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}
body.lnsf #cart-drawer .woocommerce-mini-cart-item a:not(.remove) { color: var(--ln-ink); }
body.lnsf #cart-drawer .woocommerce-mini-cart-item img { width: 60px !important; height: 60px; object-fit: cover; border-radius: 10px; float: left; margin: 0 12px 0 0 !important; }
body.lnsf #cart-drawer .woocommerce-mini-cart-item .quantity { display: block; font-size: 13px; font-weight: 500; color: var(--ln-muted); }
body.lnsf #cart-drawer .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 12px; left: auto; }
body.lnsf #cart-drawer .woocommerce-mini-cart__total { border: 0; padding: 14px 0 10px; display: flex; justify-content: space-between; font-size: 16px; }
body.lnsf #cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 8px; }
body.lnsf #cart-drawer .woocommerce-mini-cart__buttons .button {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	margin: 0;
	border-radius: 999px;
	font-size: 15px;
	background: #fff;
	color: var(--ln-navy);
	border: 2px solid var(--ln-navy);
}
body.lnsf #cart-drawer .woocommerce-mini-cart__buttons .button.checkout { order: -1; background: var(--ln-navy); color: #fff; border-color: var(--ln-navy); }

/* ------------------------------------------------------------------ checkout */
body.lnsf-checkout .lnsf-hidden-field { display: none !important; }
body.lnsf-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: transparent;
	border: 1px dashed var(--ln-line);
	border-radius: 12px;
	color: var(--ln-muted);
	font-size: 13.5px;
	padding: 10px 14px;
	margin-bottom: 16px;
}
body.lnsf-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
body.lnsf-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--ln-navy); font-weight: 700; }
body.lnsf-checkout form.checkout_coupon { border: 1px solid var(--ln-line); border-radius: var(--ln-r); padding: 14px; }

body.lnsf-checkout .woocommerce-billing-fields > h3,
body.lnsf-checkout #order_review_heading,
body.lnsf-checkout .woocommerce-additional-fields > h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 18px;
	line-height: 1.3;
	color: var(--ln-ink);
	margin: 6px 0 14px;
	padding: 0;
	border: 0;
}
body.lnsf-checkout .woocommerce-billing-fields > h3::before,
body.lnsf-checkout #order_review_heading::before {
	content: "1";
	width: 26px;
	height: 26px;
	flex: none;
	border-radius: 50%;
	background: var(--ln-navy);
	color: #fff;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
body.lnsf-checkout #order_review_heading::before { content: "2"; }
body.lnsf-checkout .woocommerce-additional-fields > h3 { display: none; }
body.lnsf-checkout .woocommerce-shipping-fields { display: none; }

body.lnsf-checkout form.checkout .form-row { margin: 0 0 14px; padding: 0; }
body.lnsf-checkout form.checkout .form-row label {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ln-ink);
	margin: 0 0 6px;
	line-height: 1.3;
}
body.lnsf-checkout form.checkout .form-row .optional { font-weight: 500; color: var(--ln-muted); }
body.lnsf-checkout form.checkout .form-row .required { color: var(--ln-pink-s); text-decoration: none; }
body.lnsf-checkout form.checkout .input-text,
body.lnsf-checkout form.checkout select,
body.lnsf-checkout form.checkout .select2-container .select2-selection--single {
	height: 50px;
	padding: 0 14px;
	border-radius: 12px;
	border: 1px solid #d9d8e4;
	background: #fff;
	font-size: 16px; /* 16px stops iOS zooming into fields. */
	color: var(--ln-ink);
	box-shadow: none;
	width: 100%;
}
body.lnsf-checkout form.checkout textarea.input-text { height: 84px; padding: 12px 14px; line-height: 1.45; }
body.lnsf-checkout form.checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; padding: 0; color: var(--ln-ink); }
body.lnsf-checkout form.checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; right: 10px; }
body.lnsf-checkout form.checkout .input-text:focus,
body.lnsf-checkout form.checkout select:focus,
body.lnsf-checkout .select2-container--focus .select2-selection--single,
body.lnsf-checkout .select2-container--open .select2-selection--single {
	outline: none;
	border-color: var(--ln-navy) !important;
	box-shadow: 0 0 0 3px rgba(61, 63, 140, .14);
}
body.lnsf-checkout form.checkout .woocommerce-invalid .input-text,
body.lnsf-checkout form.checkout .woocommerce-invalid .select2-selection { border-color: var(--ln-pink-s) !important; }
body.lnsf-checkout .select2-dropdown { border-radius: 12px; border-color: #d9d8e4; overflow: hidden; }
body.lnsf-checkout .select2-search--dropdown .select2-search__field { height: 42px; border-radius: 10px; font-size: 16px; }
body.lnsf-checkout .select2-results__option { padding: 10px 14px; font-size: 15px; }
body.lnsf-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.lnsf-checkout .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--ln-navy); }

body.lnsf-checkout #order_review {
	background: var(--ln-soft);
	border-radius: var(--ln-r-lg);
	padding: 16px;
}
body.lnsf-checkout #order_review .shop_table { border: 0; margin: 0 0 12px; background: transparent; }
body.lnsf-checkout #order_review .shop_table thead { display: none; }
body.lnsf-checkout #order_review .shop_table th,
body.lnsf-checkout #order_review .shop_table td {
	border: 0 !important;
	padding: 8px 0 !important;
	background: transparent !important;
	font-size: 14px;
	color: var(--ln-text);
	vertical-align: top;
}
body.lnsf-checkout #order_review .shop_table td:last-child,
body.lnsf-checkout #order_review .shop_table tfoot td { text-align: right; }
body.lnsf-checkout #order_review .shop_table .cart_item td.product-name { font-weight: 600; color: var(--ln-ink); padding-right: 12px !important; }
body.lnsf-checkout #order_review .shop_table .cart_item .product-quantity { color: var(--ln-muted); font-weight: 500; }
body.lnsf-checkout #order_review .shop_table .cart_item .variation { font-size: 12.5px; font-weight: 500; color: var(--ln-muted); margin: 2px 0 0; }
body.lnsf-checkout #order_review .shop_table .cart_item .variation dt,
body.lnsf-checkout #order_review .shop_table .cart_item .variation dd { display: inline; float: none; margin: 0; }
body.lnsf-checkout #order_review .shop_table .cart_item .variation dd p { display: inline; margin: 0; }
body.lnsf-checkout #order_review .shop_table tfoot tr:first-child th,
body.lnsf-checkout #order_review .shop_table tfoot tr:first-child td { border-top: 1px solid var(--ln-line) !important; padding-top: 12px !important; }
body.lnsf-checkout #order_review .shop_table .woocommerce-shipping-totals td { font-weight: 600; color: var(--ln-ink); }
body.lnsf-checkout #order_review .shop_table ul#shipping_method { margin: 0; padding: 0; list-style: none; }
body.lnsf-checkout #order_review .shop_table ul#shipping_method li { margin: 0; padding: 0; text-indent: 0; }
body.lnsf-checkout #order_review .shop_table .order-total th,
body.lnsf-checkout #order_review .shop_table .order-total td {
	font-size: 18px !important;
	font-weight: 700;
	color: var(--ln-ink);
	border-top: 1px solid var(--ln-line) !important;
	padding-top: 12px !important;
}

body.lnsf-checkout #payment { background: transparent; border-radius: 0; }
body.lnsf-checkout #payment ul.payment_methods { border: 0; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
body.lnsf-checkout #payment ul.payment_methods li {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 14px 16px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--ln-line);
	line-height: 1.4;
}
body.lnsf-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--ln-navy); box-shadow: 0 0 0 1px var(--ln-navy); }
/* Native radio is visually replaced by the label's own dot (Kadence hides/positions it). */
body.lnsf-checkout #payment ul.payment_methods li > input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
}
body.lnsf-checkout #payment ul.payment_methods li > label {
	display: flex !important;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ln-ink);
	cursor: pointer;
	width: 100%;
}
body.lnsf-checkout #payment ul.payment_methods li > label::before {
	content: "" !important;
	position: static !important;
	flex: none;
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	border-radius: 50% !important;
	border: 2px solid #c8c7d6 !important;
	background: #fff !important;
	box-shadow: none !important;
	transform: none !important;
}
body.lnsf-checkout #payment ul.payment_methods li > input:checked + label::before {
	border-color: var(--ln-navy) !important;
	box-shadow: inset 0 0 0 4px #fff !important;
	background: var(--ln-navy) !important;
}
body.lnsf-checkout #payment ul.payment_methods li > label::after { display: none !important; }
body.lnsf-checkout #payment ul.payment_methods li > label img { max-height: 22px; width: auto; margin: 0 0 0 auto; }
body.lnsf-checkout #payment div.payment_box {
	background: transparent !important;
	padding: 6px 0 0 32px !important;
	margin: 0 !important;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ln-muted);
	border: 0 !important;
}
body.lnsf-checkout #payment div.payment_box::before { display: none !important; }
body.lnsf-checkout #payment div.payment_box p { margin: 0; }
body.lnsf-checkout #payment .place-order { padding: 4px 0 0; margin: 0; }
body.lnsf-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--ln-muted); margin-bottom: 12px; }
body.lnsf-checkout .woocommerce-privacy-policy-text p { font-size: 12px; color: var(--ln-muted); }
body.lnsf-checkout #place_order {
	width: 100%;
	height: 56px;
	float: none;
	border-radius: 999px;
	background: var(--ln-navy) !important;
	color: #fff !important;
	font-size: 17px;
	font-weight: 700;
	border: 0;
	margin: 0;
}
body.lnsf-checkout #place_order:hover { background: var(--ln-navy-d) !important; }
body.lnsf-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
body.lnsf .woocommerce-error {
	border-radius: 12px;
	background: #fff1f5;
	border: 1px solid #f5c2d4;
	color: #8f1d4b;
	font-size: 14px;
}
@media (min-width: 1025px) {
	body.lnsf-checkout form.checkout #order_review { position: sticky; top: 24px; }
}

/* Order received. */
body.lnsf .woocommerce-thankyou-order-received {
	font-size: 20px;
	font-weight: 700;
	color: var(--ln-ink);
	padding: 18px;
	border-radius: var(--ln-r-lg);
	background: #eef8f2;
	margin-bottom: 16px;
}
body.lnsf .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 0;
	margin: 0 0 18px !important;
	list-style: none;
}
body.lnsf .woocommerce-order-overview li {
	margin: 0 !important;
	padding: 12px !important;
	border: 1px solid var(--ln-line) !important;
	border-radius: 12px;
	font-size: 12px;
	text-transform: none;
	color: var(--ln-muted);
}
body.lnsf .woocommerce-order-overview li strong { display: block; margin-top: 2px; font-size: 15px; color: var(--ln-ink); }
.lnsf-thanks {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: flex-start;
	padding: 16px;
	border-radius: var(--ln-r);
	background: var(--ln-soft);
	margin: 0 0 22px;
}
.lnsf-thanks p { margin: 0; font-size: 14px; color: var(--ln-text); }

/* ------------------------------------------------------------------ footer */
body.lnsf-footer .site-footer .site-top-footer-wrap,
body.lnsf-footer .site-footer .site-middle-footer-wrap { display: none; }
body.lnsf-footer .site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { background: var(--ln-soft); border-top: 1px solid var(--ln-line); }
body.lnsf-footer .site-footer .site-bottom-footer-wrap { font-size: 12.5px; color: var(--ln-muted); }
.lnsf-foot { background: var(--ln-soft); padding: 32px 0 10px; margin-top: 44px; }
.lnsf-foot__inner { display: grid; gap: 26px; }
.lnsf-foot__brand .custom-logo-link,
.lnsf-foot__brand img { display: inline-block; max-height: 34px; width: auto; }
.lnsf-foot__brand p { margin: 10px 0 12px; font-size: 14px; line-height: 1.55; color: var(--ln-text); max-width: 340px; }
.lnsf-foot__social { display: flex; gap: 8px; }
.lnsf-foot__social a {
	padding: 7px 14px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--ln-line);
	font-size: 13px;
	font-weight: 700;
	color: var(--ln-ink) !important;
	text-decoration: none !important;
}
.lnsf-foot__col h3 {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--ln-ink);
	margin: 0 0 10px;
}
.lnsf-foot__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lnsf-foot__col li { margin: 0; font-size: 14px; color: var(--ln-text); }
.lnsf-foot__col a { color: var(--ln-text) !important; text-decoration: none !important; }
.lnsf-foot__col a:hover { color: var(--ln-navy) !important; text-decoration: underline !important; }
@media (max-width: 767px) {
	.lnsf-foot__inner { grid-template-columns: 1fr 1fr; }
	.lnsf-foot__brand { grid-column: 1 / -1; }
	.lnsf-foot__col:last-child { grid-column: 1 / -1; }
}
@media (min-width: 768px) {
	.lnsf-foot__inner { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
}

.lnsf-field-hint { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--ln-pink-s); }
body.lnsf-checkout form.checkout .checkout-inline-error-message {
	display: block;
	margin: 6px 0 0;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ln-pink-s);
}
body.lnsf-checkout form.checkout .form-row:has(.checkout-inline-error-message) .lnsf-field-hint { display: none; }
body.lnsf .woocommerce-error a,
body.lnsf .woocommerce-error li a { color: inherit !important; text-decoration: none !important; font-weight: 600; }
body.lnsf-checkout form.checkout .woocommerce-validated .input-text { border-color: #d9d8e4; }

/* Cart page fixes: Kadence hides table headers on phones; totals need their labels. */
body.lnsf .cart-collaterals .cart_totals th { display: block !important; font-weight: 600; color: var(--ln-text); text-align: left; }
body.lnsf .cart-collaterals .cart_totals td { text-align: right !important; }
body.lnsf .cart-collaterals .cart_totals .woocommerce-shipping-totals td { max-width: 70%; }
body.lnsf .cart-collaterals .cart_totals ul#shipping_method { margin: 0; padding: 0; list-style: none; }
body.lnsf .cart-collaterals .cart_totals ul#shipping_method li { margin: 0; text-indent: 0; }
body.lnsf .cart-summary > h2 { font-size: 18px; margin: 4px 0 4px; color: var(--ln-ink); }
body.lnsf .woocommerce-cart-form td.actions .coupon { flex-wrap: nowrap; }
body.lnsf .woocommerce-cart-form td.actions .coupon .input-text { min-width: 0; }
body.lnsf .woocommerce-cart-form td.actions .coupon .button { white-space: nowrap; flex: none; }
body.lnsf .woocommerce-cart-form td.actions { background: transparent !important; }
body.lnsf .woocommerce-cart-form table.shop_table,
body.lnsf .woocommerce-cart-form table.shop_table tbody { display: block; width: 100% !important; margin-right: 0; }
body.lnsf .woocommerce-order-overview::before,
body.lnsf .woocommerce-order-overview::after { display: none; }
body.lnsf .woocommerce-order-received .woocommerce-column--shipping-address,
body.lnsf.woocommerce-order-received .woocommerce-column--shipping-address { display: none; }
body.lnsf .woocommerce-order-details__title,
body.lnsf .woocommerce-column__title { font-size: 18px; color: var(--ln-ink); }
body.lnsf .woocommerce-order-details .shop_table { border-radius: var(--ln-r); border-color: var(--ln-line); }
body.lnsf .woocommerce-customer-details address { border-radius: var(--ln-r); border-color: var(--ln-line); font-style: normal; }

/* Added-to-cart toast. */
.lnsf-toast {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: calc(74px + env(safe-area-inset-bottom));
	z-index: 120;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 460px;
	margin: 0 auto;
	padding: 12px 14px 12px 16px;
	border-radius: 14px;
	background: var(--ln-ink, #1f2140);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	box-shadow: 0 10px 30px rgba(20, 21, 40, .25);
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
}
.lnsf-toast.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.lnsf-toast span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lnsf-toast a {
	flex: none;
	padding: 8px 14px;
	border-radius: 999px;
	background: #fff;
	color: var(--ln-navy, #3d3f8c) !important;
	font-weight: 700;
	text-decoration: none !important;
}
@media (min-width: 1025px) { .lnsf-toast { bottom: 24px; } }
/* Buy Now plugin's card button: the round bag button + toast handle quick buying on cards. */
body.lnsf-cards ul.products li.product .wsb-button,
body.lnsf-cards ul.products li.product .js-wsb-add-to-cart,
body.lnsf-cards ul.products li.product form.cart { display: none !important; }
/* Kadence "show button on hover" mode slides the card text up over the photo; keep cards still. */
body.lnsf-cards ul.products li.product .entry-content-wrap,
body.lnsf-cards ul.products li.product:hover .entry-content-wrap,
body.lnsf-cards ul.products li.product:focus-within .entry-content-wrap { transform: none !important; }
body.lnsf-product .woocommerce-tabs ul.tabs li a { white-space: nowrap; line-height: 1.3; }
body.lnsf-product .woocommerce-tabs.wc-tabs-wrapper { border: 0; padding: 0; }
body.lnsf-product div.product form.cart::before,
body.lnsf-product div.product form.cart::after,
body.lnsf-product div.product form.cart .woocommerce-variation-add-to-cart::before,
body.lnsf-product div.product form.cart .woocommerce-variation-add-to-cart::after { display: none; }
/* Checkout: no bottom bar distraction, tighter gap before the note field. */
@media (max-width: 1024px) {
	body.lnsf-bottom-nav.woocommerce-checkout:not(.woocommerce-order-received) .lnsf-bnav { display: none; }
	body.lnsf-bottom-nav.woocommerce-checkout:not(.woocommerce-order-received) { padding-bottom: 0; }
}
body.lnsf-checkout .woocommerce-additional-fields { margin-top: 0; padding-top: 0; }
body.lnsf-checkout .woocommerce-billing-fields__field-wrapper::after { content: ""; display: block; clear: both; }
@media (max-width: 1024px) {
	body.lnsf-checkout #customer_details .col-2 { margin-top: 0; }
}

/* ------------------------------------------------------------------ QA round 2 */

/* Footer bottom row: theme paints the outer row dark; keep the whole row light with readable text. */
body.lnsf-footer .site-footer .site-bottom-footer-wrap,
body.lnsf-footer .site-footer .site-bottom-footer-wrap .site-footer-row-container-inner,
body.lnsf-footer .site-footer .site-bottom-footer-wrap .site-container {
	background: var(--ln-soft) !important;
	color: var(--ln-muted) !important;
}
body.lnsf-footer .site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid var(--ln-line); }
body.lnsf-footer .site-footer .site-bottom-footer-wrap *,
body.lnsf-footer .site-footer .site-bottom-footer-wrap a { color: var(--ln-muted) !important; }
body.lnsf-footer .site-footer .site-bottom-footer-wrap a:hover { color: var(--ln-navy) !important; }
body.lnsf-footer .site-footer .site-bottom-footer-wrap .site-footer-bottom-section-1,
body.lnsf-footer .site-footer .site-bottom-footer-wrap p { font-size: 12.5px; margin: 0; }
body.lnsf-footer .site-footer { background: var(--ln-soft) !important; }

/* Pages (cart, checkout, contact): theme adds 80px above content plus a padded white box. */
body.lnsf.page:not(.home) #primary.content-area { margin-top: 8px !important; margin-bottom: 40px; }
body.lnsf.woocommerce-cart .entry-content-wrap,
body.lnsf.woocommerce-checkout .entry-content-wrap,
body.lnsf.woocommerce-account .entry-content-wrap { padding: 0 !important; box-shadow: none !important; background: transparent !important; }
body.lnsf.woocommerce-cart article.entry,
body.lnsf.woocommerce-checkout article.entry { background: transparent !important; box-shadow: none !important; }
body.lnsf .entry-hero .hero-container { padding-bottom: 0; }

/* Desktop menu never wraps; tighter between 1025 and 1279px. */
@media (min-width: 1025px) {
	body.lnsf-header .main-navigation .primary-menu-container > ul { flex-wrap: nowrap !important; }
	body.lnsf-header .main-navigation .primary-menu-container > ul > li.menu-item > a { white-space: nowrap; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
	body.lnsf-header .main-navigation .primary-menu-container > ul > li.menu-item > a { font-size: 14px; padding-left: .5em; padding-right: .5em; }
	body.lnsf-header #main-header .custom-logo { max-height: 36px; }
}

/* Checkout: promo line stays a simple line; no extra gap before the note field. */
body.lnsf-checkout .woocommerce-form-coupon-toggle .woocommerce-info { display: block; }
body.lnsf-checkout #customer_details .col-2 { margin-top: 0 !important; }
body.lnsf-checkout #customer_details .col-1 .form-row:last-child { margin-bottom: 14px; }

/* Gallery: thumbnails in one scrollable row; hidden when the design picker already shows every design. */
body.lnsf-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	margin: 10px 0 0 !important;
	padding: 0 0 2px !important;
}
body.lnsf-product div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
body.lnsf-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	flex: 0 0 64px;
	width: 64px !important;
	margin: 0 !important;
	float: none !important;
}
body.lnsf-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
	opacity: 1 !important;
	border: 2px solid transparent;
	background: var(--ln-soft);
}
body.lnsf-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--ln-navy); }
body.lnsf-product div.product:has(.ln-age-picker) .woocommerce-product-gallery .flex-control-thumbs { display: none !important; }
body.lnsf-product div.product .woocommerce-product-gallery__image img { border-radius: var(--ln-r-lg); }

/* Readable links inside page content and checkout terms. */
body.lnsf .entry-content a:not(.button):not(.lnsf-btn):not(.wp-element-button),
body.lnsf-checkout .woocommerce-terms-and-conditions-link,
body.lnsf-checkout .woocommerce-privacy-policy-link { color: var(--ln-navy); }

/* Search forms (404, no-results, widgets). */
body.lnsf .search-form { position: relative; display: flex; gap: 8px; max-width: 520px; }
body.lnsf .search-form label { flex: 1; margin: 0; }
body.lnsf .search-form .search-field {
	width: 100%;
	height: 46px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1px solid var(--ln-line);
	background: var(--ln-soft);
	font-size: 15px;
}
body.lnsf .search-form .search-submit {
	flex: none;
	width: auto;
	height: 46px;
	padding: 0 20px;
	border-radius: 999px;
	background: var(--ln-navy);
	color: #fff;
	border: 0;
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	position: static;
	clip: auto;
	text-indent: 0;
	overflow: visible;
}
body.lnsf .search-form .kadence-search-icon-wrap { display: none; }

/* ------------------------------------------------------------------ home v2: search, promo cards, rail arrows */
.lnsf-home .site-container { display: flex; flex-direction: column; }
.lnsf-home__search { order: 0; margin: 0 0 16px; max-width: none; }
.lnsf-home .lnsf-sec--tiles { order: 1; }
.lnsf-promos { order: 2; }
.lnsf-home .lnsf-sec:not(.lnsf-sec--tiles) { order: 3; }

.lnsf-promos {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 86%;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 var(--ln-gutter);
	scrollbar-width: none;
	margin: 26px calc(var(--ln-gutter) * -1) 0;
	padding: 0 var(--ln-gutter);
}
.lnsf-promos::-webkit-scrollbar { display: none; }
.lnsf-promo {
	scroll-snap-align: start;
	position: relative;
	display: flex;
	align-items: stretch;
	min-height: 150px;
	border-radius: var(--ln-r-lg);
	background: var(--tint);
	overflow: hidden;
	isolation: isolate;
	text-decoration: none !important;
	color: var(--ln-ink) !important;
}
.lnsf-promo__text {
	position: relative;
	z-index: 1;
	flex: 1 1 58%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	padding: 18px 0 18px 20px;
	min-width: 0;
}
.lnsf-promo__eyebrow {
	align-self: flex-start;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .75);
	color: var(--ln-pink-s);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.lnsf-promo__title {
	font-family: var(--global-heading-font-family, inherit);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	margin-top: 4px;
}
.lnsf-promo__price { font-size: 14px; font-weight: 600; color: var(--ln-text); }
.lnsf-promo__cta {
	align-self: flex-start;
	margin-top: 8px;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--ln-navy);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	transition: background .2s ease;
}
.lnsf-promo:hover .lnsf-promo__cta { background: var(--ln-navy-d); }
.lnsf-promo__img { flex: 0 0 42%; display: flex; align-items: flex-end; justify-content: center; }
.lnsf-promo__img img {
	width: 100%;
	height: 100%;
	max-height: 190px;
	object-fit: contain;
	object-position: center bottom;
	mix-blend-mode: multiply;
	transition: transform .4s ease;
}
.lnsf-promo:hover .lnsf-promo__img img { transform: scale(1.04); }
@media (min-width: 768px) {
	.lnsf-promos { grid-auto-flow: row; grid-template-columns: 1fr 1fr; margin: 26px 0 0; padding: 0; overflow: visible; }
	.lnsf-promo { min-height: 180px; }
	.lnsf-promo__text { padding: 24px 0 24px 28px; }
	.lnsf-promo__title { font-size: 21px; }
}
@media (min-width: 1025px) {
	/* Desktop: search bar, then offers, then categories. */
	.lnsf-home__search { order: -1; width: 100%; max-width: 720px; margin: 0 auto 22px; }
	.lnsf-home__search input[type="search"] { height: 50px !important; font-size: 16px !important; }
	.lnsf-promos { order: 0; margin-top: 0; }
	.lnsf-home .lnsf-sec--tiles { margin-top: 30px; }
	.lnsf-promo { min-height: 200px; }
	.lnsf-promo__title { font-size: 24px; }
	.lnsf-promo__price { font-size: 15px; }
}

/* Rail arrows (desktop); scrollbar hidden. */
.lnsf-rail-nav { display: none; gap: 8px; margin-left: 14px; }
@media (min-width: 1025px) {
	body.lnsf-cards .lnsf-rail ul.products.products { scrollbar-width: none; scroll-behavior: smooth; }
	body.lnsf-cards .lnsf-rail ul.products.products::-webkit-scrollbar { display: none; }
	.lnsf-rail-nav { display: inline-flex; }
}
.lnsf-sec__actions { display: inline-flex; align-items: center; }
.lnsf-rail-btn {
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid var(--ln-line) !important;
	background: #fff !important;
	color: var(--ln-ink) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: none !important;
	min-height: 0;
}
.lnsf-rail-btn:hover:not(:disabled) { border-color: var(--ln-navy) !important; color: var(--ln-navy) !important; }
.lnsf-rail-btn:disabled { opacity: .35; cursor: default; }
.lnsf-rail-btn svg { width: 16px; height: 16px; }

/* Header icons: same size and colour on desktop. */
@media (min-width: 1025px) {
	body.lnsf-header #main-header .header-cart-button,
	body.lnsf-header #main-header .search-toggle-open {
		color: var(--ln-ink) !important;
		background: transparent !important;
		padding: 8px !important;
		font-size: 22px !important;
		display: inline-flex;
		align-items: center;
		position: relative;
	}
	body.lnsf-header #main-header .header-cart-button .kadence-svg-iconset svg,
	body.lnsf-header #main-header .search-toggle-open .kadence-svg-iconset svg { width: 22px !important; height: 22px !important; }
	body.lnsf-header #main-header .header-cart-total {
		position: absolute;
		top: 0;
		right: -2px;
		min-width: 18px;
		height: 18px;
		padding: 0 4px;
		border-radius: 999px;
		font-size: 11px;
		line-height: 18px;
		font-weight: 700;
		margin: 0;
	}
}

/* Desktop header row: logo column only as wide as the logo, menu gets the rest. */
@media (min-width: 1025px) {
	body.lnsf-header #main-header .site-main-header-inner-wrap { display: flex !important; align-items: center; gap: 24px; }
	body.lnsf-header #main-header .site-header-main-section-left { flex: 0 0 auto; }
	body.lnsf-header #main-header .site-header-main-section-right { flex: 1 1 auto; justify-content: flex-end; min-width: 0; }
	body.lnsf-header #main-header .site-header-main-section-right .site-header-item:first-child { margin-right: auto; }
	body.lnsf-header #main-header #site-navigation { flex: 1 1 auto; display: flex; justify-content: center; }
}
/* Promo photo as a rounded tile (photos have mixed white/grey backgrounds). */
.lnsf-promo__img { padding: 14px 14px 14px 0; align-items: center; }
.lnsf-promo__img img {
	mix-blend-mode: normal;
	object-fit: cover;
	object-position: center;
	aspect-ratio: 1;
	width: auto;
	height: 100%;
	max-height: none;
	max-width: 100%;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(31, 33, 64, .10);
}

/* Search lives under the header on every page (homepage: in its content), never as a header icon or popup. */
body.lnsf-header #main-header [data-section="kadence_customizer_header_search"],
body.lnsf-header #mobile-header [data-section="kadence_customizer_header_search"] { display: none !important; }
.lnsf-search--archive { margin: 0 0 14px; max-width: 640px; }
.lnsf-search--sheet { margin: 2px 0 8px; max-width: none; }
body.lnsf .lnsf-search--sheet input[type="search"] { background: var(--ln-soft); }

/* Search under the info strip on every page except the homepage (own search) and checkout —
   same look and spacing as the homepage search. */
.lnsf-band__in { max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 14px var(--ln-gutter) 0; }
.lnsf-search--band { max-width: none; margin: 0; }
@media (min-width: 1025px) {
	.lnsf-band__in { padding-top: 24px; }
	.lnsf-search--band { max-width: 720px; margin: 0 auto; }
	body.lnsf .lnsf-search--band input[type="search"] { height: 50px; font-size: 16px; }
}
/* 16px stops iPhones zooming the page when the search box is tapped. */
@media (max-width: 1024px) {
	body.lnsf .lnsf-search input[type="search"] { font-size: 16px; }
}
