/**
 * Samatova — NEXDNA design tokens (Lola Samatova Children’s Bookstore)
 */

:root {
	--color-surface: #f8f9ff;
	--color-surface-low: #eef4ff;
	--color-surface-container: #e5eeff;
	--color-surface-container-high: #dbe9ff;
	--color-surface-container-highest: #d1e4ff;
	--color-surface-lowest: #ffffff;
	--color-background: #d1e4ff38;
	--color-on-surface: #001d36;
	--color-on-surface-variant: #3d494b;
	--color-primary: #006671;
	--color-primary-container: #00818e;
	--color-on-primary: #ffffff;
	--color-on-primary-container: #f7feff;
	--color-secondary: #325f99;
	--color-secondary-container: #93bdfd;
	--color-on-secondary: #ffffff;
	--color-on-secondary-container: #194c84;
	--color-tertiary: #704e88;
	--color-tertiary-container: #8a66a3;
	--color-outline: #6d797b;
	--color-outline-variant: #bdc9cb;
	--color-primary-fixed: #95f1ff;
	--color-primary-fixed-dim: #6ad6e5;
	--color-on-primary-fixed: #001f24;
	--color-brand-accent: #1999a8;
	--color-cfa: #FFB74D;
	--color-on-cfa: #001d36;
	--color-error: #ba1a1a;
	--shadow-card: 0 8px 30px rgba(28, 52, 83, 0.06);
	--shadow-card-hover: 0 12px 40px rgba(28, 52, 83, 0.12);
	--shadow-header: 0 2px 15px -3px rgb(132 160 163 / 40%);
	--radius-sm: 4px;
	--radius-md: 9px;
	--radius-lg: 9px;
	--radius-xl: 9px;
	--radius-2xl: 12px;
	--radius-full: 9999px;
	--space-xs: 4px;
	--space-sm: 12px;
	--space-md: 24px;
	--space-lg: 48px;
	--space-xl: 80px;
	--container-max: 1280px;
	/* Front-page (and reviews): equal vertical padding inside each slide band */
	--samatova-header-height: 5rem;
	--samatova-slide-padding-y: 120px;
	--font-body: "Google Sans", sans-serif;
	--text-h1: 800 3rem/1.2 var(--font-body);
	--text-h2: 700 2rem/1.3 var(--font-body);
	--text-h3: 700 1.5rem/1.4 var(--font-body);
	--text-body-lg: 400 1.125rem/1.6 var(--font-body);
	--text-body-md: 400 1rem/1.6 var(--font-body);
	--text-label: 600 0.875rem/1.2 var(--font-body);
	--text-button: 700 1rem/1 var(--font-body);
}

@media (max-width: 768px) {
	:root {	
		--text-h1: 800 2.5rem/1.2 var(--font-body);
		--text-h2: 700 2rem/1.3 var(--font-body);
		--samatova-slide-padding-y: 60px;
	}
}

@media (max-width: 540px) {
	:root {
		--text-h1: 800 2rem/1.2 var(--font-body);
		--text-h2: 700 1.5rem/1.3 var(--font-body);
	}
}


.main-font {
	font-family: "Google Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
	  "GRAD" 0;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font-body);
	background: var(--color-surface-lowest);
	color: var(--color-on-surface);
	font: var(--text-body-md);
}

::selection {
	background: var(--color-primary-fixed-dim);
	color: var(--color-on-primary-fixed);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--color-brand-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

p {margin-top: 0;margin-bottom: 1em;}

a:hover {
	color: var(--color-primary);
}

.material-symbols-outlined {
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
	font-size: 1.5rem;
	vertical-align: middle;
	line-height: 1;
}

.samatova-screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}

/* Layout */
.samatova-container {
	width: 100%;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--space-md);
	padding-right: var(--space-md);
}

.samatova-wrap {
	padding-top: var(--samatova-header-height);
	padding-bottom: var(--space-xl);
}

.samatova-wrap--shop {
	background: var(--color-background);
}

/* Header */
.samatova-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(12px);
	box-shadow: var(--shadow-header);
}

.samatova-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 5rem;
	gap: var(--space-md);
}

.samatova-header__brand {
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--color-brand-accent);
	text-decoration: none;
	line-height: 1.1;
}

.samatova-header__brand:hover {
	color: var(--color-primary);
	text-decoration: none;
}

.samatova-header__logo .custom-logo-link {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.samatova-header__logo .custom-logo {
	max-height: 2.5rem;
	width: auto;
}

.samatova-header__brand img {
	max-height: 2.5rem;
	width: auto;
}

.samatova-nav {
	display: none;
	align-items: center;
	gap: 2rem;
}

.samatova-nav__list {
	display: flex;
	align-items: center;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 768px) {
	.samatova-nav {
		display: flex;
	}
}

.samatova-nav__link {
	font-size: 0.875rem;
	font-weight: 500;
	color: #64748b;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	padding-bottom: 0.25rem;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.samatova-nav__link:hover {
	color: var(--color-brand-accent);
	text-decoration: none;
}

.samatova-nav__link--current {
	color: var(--color-brand-accent);
	border-bottom-color: var(--color-brand-accent);
}

.samatova-header__actions {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
}

.samatova-header__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: none;
	background: transparent;
	border-radius: var(--radius-full);
	color: var(--color-on-surface-variant);
	cursor: pointer;
	text-decoration: none;
	position: relative;
	transition: background 0.15s ease, transform 0.1s ease;
}

.samatova-header__icon:hover {
	background: #f8fafc;
	color: var(--color-on-surface);
	text-decoration: none;
}

.samatova-header__icon:active {
	transform: scale(0.95);
}

/* Temporarily hide header search; remove this rule to re-enable */
.samatova-header__icon--search {
	display: none !important;
}

@media (max-width: 449px) {
	.samatova-header__cart,
	.samatova-header__icon--account {
		display: none !important;
	}

	.samatova-container {padding-left: var(--space-sm);padding-right: var(--space-sm);}
}

.samatova-cart-count {
	position: absolute;
	top: 0.25rem;
	right: 0.25rem;
	width: 16px;
	height: 16px;
	padding: 0 4px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1rem;
	color: var(--color-on-primary);
	background: var(--color-primary);
	border-radius: var(--radius-full);
	display: none;
	align-items: center;
	justify-content: center;
}

.samatova-cart-count--visible {
	display: inline-flex;
}

.samatova-menu-toggle {
	display: inline-flex;
}

@media (min-width: 768px) {
	.samatova-menu-toggle {
		display: none;
	}
}

/* Mobile panel — z-index must beat WC gallery trigger (z-index:99) */
.samatova-mobile-nav {
	display: none;
	position: fixed;
	inset: 5rem 0 0;
	background: var(--color-surface-lowest);
	padding: var(--space-md);
	flex-direction: column;
	gap: 0;
	z-index: 100;
	border-top: 1px solid var(--color-outline-variant);
	box-shadow: var(--shadow-card);
}

.samatova-mobile-nav.is-open {
	display: flex;
}

@media (min-width: 768px) {
	.samatova-mobile-nav,
	.samatova-mobile-nav.is-open {
		display: none !important;
	}
}

.samatova-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.samatova-mobile-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding-left: var(--space-md);
}

.samatova-mobile-nav a {
	font-weight: 600;
	color: var(--color-on-surface);
	text-decoration: none;
	padding: var(--space-sm) 0;
	border-bottom: 1px solid var(--color-outline-variant);
	display: block;
	font-size: 15px;
}

/* Buttons */
.samatova-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 3rem;
	padding: 1rem 2rem;
	font: var(--text-button);
	letter-spacing: 0.02em;
	border: none;
	border-radius: var(--radius-xl);
	cursor: pointer;
	text-decoration: none;
	transition: transform 0.1s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.samatova-btn--primary {
	background: var(--color-primary);
	color: var(--color-on-primary);
	box-shadow: 0 10px 25px rgba(0, 102, 113, 0.2);
}

.samatova-btn--primary:hover {
	background: var(--color-primary-container);
	color: var(--color-on-primary);
	text-decoration: none;
	transform: scale(1.02);
}

.samatova-btn--secondary {
	background: var(--color-secondary-container);
	color: var(--color-on-secondary-container);
}

.samatova-btn--secondary:hover {
	opacity: 0.9;
	text-decoration: none;
	color: var(--color-on-secondary-container);
}

.samatova-btn--outline {
	background: transparent;
	border: 2px solid var(--color-outline-variant);
	color: var(--color-on-surface);
}

.samatova-btn--outline:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
	text-decoration: none;
}

/* Hero */
.samatova-hero {
	background: var(--color-surface-low);
	overflow: hidden;
}

.samatova-hero__grid {
	display: grid;
	gap: var(--space-lg);
	align-items: center;
	padding-top: var(--space-xl);
	padding-bottom: var(--space-xl);
}

@media (min-width: 768px) {
	.samatova-hero__grid {
		grid-template-columns: 1fr 1fr;
		padding-top: calc(var(--space-xl) + var(--space-md));
		padding-bottom: calc(var(--space-xl) + var(--space-md));
	}
}

.samatova-hero__content {
	text-align: center;
}

@media (min-width: 768px) {
	.samatova-hero__content {
		text-align: left;
	}
}

.samatova-pill {
	display: inline-block;
	padding: 0.375rem 1rem;
	margin-bottom: var(--space-md);
	border-radius: var(--radius-full);
	background: var(--color-primary-fixed);
	color: var(--color-on-primary-fixed);
	font: var(--text-label);
}

.samatova-hero h1 {
	font: var(--text-h1);
	letter-spacing: -0.02em;
	margin: 0 0 var(--space-md);
	color: var(--color-on-surface);
}

.samatova-hero h1 em {
	color: var(--color-primary);
	font-style: italic;
}

.samatova-hero__lead {
	font: var(--text-body-lg);
	color: var(--color-on-surface-variant);
	margin: 0 0 var(--space-lg);
	max-width: 36rem;
}

.samatova-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
	justify-content: center;
}

@media (min-width: 768px) {
	.samatova-hero__actions {
		justify-content: flex-start;
	}
}

.samatova-hero__visual {
	position: relative;
}

.samatova-hero__frame {
	position: relative;
	z-index: 1;
	border-radius: var(--radius-2xl);
	overflow: hidden;
	box-shadow: 0 25px 50px -12px rgba(0, 29, 54, 0.25);
	aspect-ratio: 1;
}

.samatova-hero__frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.samatova-hero__blob {
	position: absolute;
	border-radius: var(--radius-2xl);
	z-index: 0;
}

.samatova-hero__blob--1 {
	width: 8rem;
	height: 8rem;
	background: var(--color-tertiary-container);
	bottom: -1.5rem;
	left: -1.5rem;
}

.samatova-hero__blob--2 {
	width: 12rem;
	height: 12rem;
	border: 4px solid var(--color-primary-fixed-dim);
	border-radius: 50%;
	top: -1.5rem;
	right: -1.5rem;
}

/* Home hero: single centered slide over cover image */
.samatova-hero--cover {
	position: relative;
	background-image: url("./../img/cover.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
	/* Fixed header (5rem) clears above hero content; slide padding is symmetric inside .samatova-hero-cover */
	padding-top: var(--samatova-header-height);
}

.samatova-hero--cover::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(6, 23, 43, 0.55);
	pointer-events: none;
}

.samatova-hero-cover {
	position: relative;
	z-index: 1;
	min-height: clamp(380px, 58vh, 720px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: var(--samatova-slide-padding-y);
	padding-bottom: var(--samatova-slide-padding-y);
}

.samatova-hero-cover__inner {
	max-width: 62rem;
	text-align: center;
	color: #fff;
}

.samatova-hero-cover__inner h1 {
	margin: 0 0 1rem;
	font: var(--text-h1);
	font-size: clamp(2rem, 4.6vw, 3.75rem);
	line-height: 1.15;
	color: #fff;
}

.samatova-hero-cover__desc {
	margin: 0 auto;
	max-width: 54rem;
	font: var(--text-body-lg);
	font-size: clamp(1.05rem, 2.2vw, 1.35rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.94);
}

.samatova-hero-cover__publisher {
	margin-top: clamp(1.75rem, 4vw, 2.75rem);
	display: flex;
	justify-content: center;
	align-items: center;
}

.samatova-hero-cover__publisher-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border-radius: var(--radius-lg);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.samatova-hero-cover__publisher-link:hover {
	opacity: 0.9;
	transform: translateY(2px);
}

.samatova-hero-cover__publisher-link:focus-visible {
	outline: 2px solid var(--color-primary-fixed);
	outline-offset: 4px;
}

.samatova-hero-cover__publisher-logo {
	display: block;
	width: min(7rem, 42vw);
	height: auto;
	max-height: clamp(7rem, 18vw, 10.5rem);
	margin-inline: auto;
	object-fit: contain;
	/* White logo on transparent PNG: flatten to black, then invert (alpha preserved). */
	filter: brightness(0) invert(1) drop-shadow(0 4px 20px rgba(0, 0, 0, 0.35));
}

/* Section titles */
.samatova-section-head {
	text-align: center;
	margin-bottom: var(--space-lg);
}

.samatova-section-head h2 {
	font: var(--text-h2);
	margin: 0 0 var(--space-sm);
	color: var(--color-on-surface);
}

.samatova-section-head p {
	margin: 0;
	color: var(--color-on-surface-variant);
	font: var(--text-body-md);
}

.samatova-section {
	padding-top: var(--space-xl);
	padding-bottom: var(--space-xl);
}

/* Front page stripes (no two identical flats adjacent):
   popular slate → Lidirus white → author pale blue → reviews soft lavender. */
.samatova-section--home-popular {
	background: #f8fafc;
	border-bottom: 1px solid #f1f5f9;
	padding-top: var(--samatova-slide-padding-y);
	padding-bottom: var(--samatova-slide-padding-y);
}

.samatova-publisher-slide {
	background: var(--color-surface-lowest);
	border-bottom: 1px solid rgba(0, 29, 54, 0.08);
	padding-top: var(--samatova-slide-padding-y);
	padding-bottom: var(--samatova-slide-padding-y);
	scroll-margin-top: calc(var(--samatova-header-height) + 0.75rem);
}

.samatova-publisher-slide__grid {
	display: grid;
	gap: var(--space-lg);
	align-items: center;
}

@media (min-width: 768px) {
	.samatova-publisher-slide__grid {
		grid-template-columns: 1fr min(14rem, 28vw);
		gap: var(--space-xl);
		align-items: start;
	}
}

.samatova-publisher-slide__logo-col {
	display: flex;
	justify-content: center;
}

@media (min-width: 768px) {
	.samatova-publisher-slide__logo-col {
		justify-content: flex-end;
		padding-top: 0.35rem;
	}
}

.samatova-publisher-slide__logo {
	display: block;
	width: min(12rem, 55vw);
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

@media (min-width: 768px) {
	.samatova-publisher-slide__logo {
		width: 100%;
		max-width: 14rem;
	}
}

.samatova-publisher-slide__title {
	font: var(--text-h2);
	margin: 0 0 var(--space-md);
	color: var(--color-on-surface);
	letter-spacing: -0.02em;
}

.samatova-publisher-slide__body {
	margin: 0;
	color: var(--color-on-surface-variant);
}

.samatova-publisher-slide__body p {
	font: var(--text-body-lg);
	line-height: 1.6;
	margin: 0 0 var(--space-md);
}

.samatova-publisher-slide__body p:last-child {
	margin-bottom: 0;
}

/* Bento / series grid */
.samatova-bento {
	display: grid;
	gap: var(--space-md);
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.samatova-bento {
		grid-template-columns: repeat(3, 1fr);
		grid-auto-rows: minmax(0, auto);
	}

	.samatova-bento .samatova-card--wide {
		grid-column: 1 / 3;
		grid-row: 1 / 3;
		min-height: 450px;
	}

	.samatova-bento .samatova-bento__side-top {
		grid-column: 3;
		grid-row: 1;
	}

	.samatova-bento .samatova-bento__side-bottom {
		grid-column: 3;
		grid-row: 2;
	}

	.samatova-bento .samatova-bento__wide-bottom {
		grid-column: 1 / 3;
		grid-row: 3;
	}
}

.samatova-card {
	background: var(--color-surface-lowest);
	border-radius: var(--radius-2xl);
	padding: var(--space-md);
	box-shadow: var(--shadow-card);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	position: relative;
	overflow: hidden;
}

.samatova-card:hover {
	box-shadow: var(--shadow-card-hover);
}

.samatova-card--wide {
	min-height: 280px;
}

.samatova-chip {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	border-radius: var(--radius-full);
	font: var(--text-label);
	font-size: 0.75rem;
	margin-bottom: var(--space-sm);
}

.samatova-chip--pink {
	background: #fce7f3;
	color: #be185d;
}

.samatova-chip--purple {
	background: #f3e8ff;
	color: #7e22ce;
}

.samatova-chip--blue {
	background: #dbeafe;
	color: #1d4ed8;
}

.samatova-card h3 {
	font: var(--text-h3);
	margin: 0 0 var(--space-sm);
}

.samatova-card p {
	margin: 0;
	color: var(--color-on-surface-variant);
	max-width: 28rem;
}

.search-results .samatova-card p {
	max-width: none;
}

.samatova-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: var(--space-md);
	font: var(--text-button);
	color: var(--color-primary);
	text-decoration: none;
}

.samatova-card__link:hover {
	text-decoration: underline;
}

.samatova-card__media {
	border-radius: var(--radius-xl);
	overflow: hidden;
	margin-top: auto;
}

.samatova-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.samatova-card:hover .samatova-card__media img {
	transform: scale(1.05);
}

.samatova-card--tint {
	background: rgba(147, 189, 253, 0.2);
}

@media (min-width: 768px) {
	.samatova-bento .samatova-bento__wide-bottom {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: var(--space-md);
	}
}

/* About */
.samatova-about {
	background: var(--color-surface-lowest);
	border-top: 1px solid #f1f5f9;
	border-bottom: 1px solid #f1f5f9;
}

.samatova-about__grid {
	display: grid;
	gap: var(--space-lg);
	align-items: center;
	padding-top: var(--space-xl);
	padding-bottom: var(--space-xl);
}

@media (min-width: 768px) {
	.samatova-about__grid {
		grid-template-columns: 500px 1fr;
	}
}

.samatova-about__photo-wrap {
	position: relative;
}

.samatova-about__glow {
	position: absolute;
	inset: -1rem;
	background: rgba(149, 241, 255, 0.35);
	border-radius: 50%;
	filter: blur(48px);
	z-index: 0;
}

.samatova-about__photo {
	position: relative;
	z-index: 1;
	border-radius: var(--radius-2xl);
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(0, 29, 54, 0.15);
	max-height: 500px;
	object-fit: cover;
	width: 100%;
}

.samatova-product-cat-desc.samatova-product-cat-desc--box.samatova-rich-text ul {
    padding-left: 2em;
}

.samatova-product-cat-desc.samatova-product-cat-desc--box.samatova-rich-text ul:last-child {margin-bottom: 0;}

.samatova-product-cat-desc.samatova-product-cat-desc--box.samatova-rich-text h2 {
    line-height: 1.2;
    font-size: 20px;
    font-weight: 900;
}

.samatova-kicker {
	font: var(--text-label);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--color-primary);
}

.samatova-about h2 {
	font: var(--text-h2);
	margin: var(--space-sm) 0 var(--space-md);
}

.samatova-about p {
	font: var(--text-body-lg);
	color: var(--color-on-surface-variant);
	margin: 0 0 var(--space-md);
}

.samatova-about__fb-links {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--space-sm);
	margin-top: calc(var(--space-md) + 12px);
}

.samatova-btn--email {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #002350;
	color: #fff !important;
	border: none;
	border-radius: var(--radius-md);
	padding: 0.55rem 1.1rem;
	font: var(--text-label);
	font-size: 0.9rem;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.18s ease;
}

.samatova-btn--email:hover {
	background: #2e445f;
	color: #fff !important;
}

.samatova-btn--email .material-symbols-outlined {
	font-size: 1.1rem;
	flex-shrink: 0;
}

.samatova-btn--fb {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #1877F2;
	color: #fff !important;
	border: none;
	border-radius: var(--radius-md);
	padding: 0.55rem 1.1rem;
	font: var(--text-label);
	font-size: 0.9rem;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.18s ease;
}

.samatova-btn--fb:hover {
	background: #0d65d9;
	color: #fff !important;
}

.samatova-btn--ig {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
	color: #fff !important;
	border: none;
	border-radius: var(--radius-md);
	padding: 0.55rem 1.1rem;
	font: var(--text-label);
	font-size: 0.9rem;
	text-decoration: none !important;
	cursor: pointer;
	transition: filter 0.18s ease;
}

.samatova-btn--ig:hover {
	filter: brightness(1.08);
	color: #fff !important;
}

.samatova-fb-icon {
	flex-shrink: 0;
}

.samatova-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-md);
	margin-top: var(--space-md);
}

.samatova-stat__num {
	font: var(--text-h2);
	font-weight: 800;
	color: var(--color-primary);
}

.samatova-stat__label {
	font: var(--text-label);
	color: var(--color-on-surface-variant);
}

/* Testimonials: tinted band so white cards read off the section (not white-on-white). */
.samatova-reviews {
	background: var(--color-surface);
	padding-top: var(--samatova-slide-padding-y);
	padding-bottom: var(--samatova-slide-padding-y);
}

.samatova-reviews__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-md);
	margin-bottom: var(--space-lg);
}

.samatova-reviews__head h2 {
	font: var(--text-h2);
	margin: 0 0 var(--space-xs);
}

.samatova-reviews__grid {
	display: grid;
	gap: var(--space-md);
}

@media (min-width: 768px) {
	.samatova-reviews__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.samatova-review {
	background: var(--color-surface-lowest);
	padding: var(--space-md);
	border-radius: var(--radius-2xl);
	border: 1px solid rgba(0, 29, 54, 0.07);
	box-shadow: 0 10px 36px rgba(28, 52, 83, 0.1);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100%;
}

.samatova-review--featured {
	border: 2px solid rgba(0, 102, 113, 0.1);
}

.samatova-stars {
	display: flex;
	gap: 2px;
	color: #f59e0b;
	margin-bottom: var(--space-sm);
}

.samatova-stars__icon {
	flex-shrink: 0;
	display: block;
	width: 1.25rem;
	height: 1.25rem;
}

.samatova-stars .material-symbols-outlined {
	font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
	font-size: 1.25rem;
}

.samatova-review__connected {
	margin: 0 0 var(--space-sm);
	font: var(--text-label);
}

.samatova-review__connected a {
	color: var(--color-primary);
	text-decoration: none;
}

.samatova-review__connected a:hover {
	text-decoration: underline;
}

.samatova-review blockquote {
	margin: 0;
	font-style: normal;
	color: var(--color-on-surface);
}

.samatova-review__author {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
}

.samatova-review__avatar {
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	overflow: hidden;
	background: #e2e8f0;
}

.samatova-review__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.samatova-review__name {
	font: var(--text-label);
	margin: 0;
}

.samatova-review__author > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.125rem;
}

.samatova-review__role,
.samatova-review__location {
	margin: 0;
	font-size: 0.75rem;
	color: var(--color-on-surface-variant);
}

/* Newsletter CTA */
.samatova-newsletter {
	padding-top: var(--space-xl);
	padding-bottom: var(--space-xl);
}

.samatova-newsletter__box {
	background: var(--color-primary-container);
	color: var(--color-on-primary-container);
	border-radius: var(--radius-2xl);
	padding: var(--space-lg) var(--space-md);
	text-align: center;
}

.samatova-newsletter__box h2 {
	font: var(--text-h2);
	margin: 0 0 var(--space-md);
}

.samatova-newsletter__box p {
	margin: 0 0 44px;
	opacity: 0.95;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

.samatova-newsletter__form,
.samatova-newsletter__box .er-subscribe-form-wrapper form {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	max-width: 28rem;
	margin: 0 auto;
}

@media (min-width: 640px) {
	.samatova-newsletter__form,
	.samatova-newsletter__box .er-subscribe-form-wrapper form {
		flex-direction: row;
	}
}

.samatova-newsletter__form input[type="email"],
.samatova-newsletter__box .er-subscribe-form-wrapper input[type="email"] {
	flex: 1;
	width: 100%;
	padding: 12px 16px;
	border: none;
	border-radius: var(--radius-xl);
	font: var(--text-body-md);
	color: var(--color-on-surface);
	height: 50px;
}

.samatova-newsletter__form input:focus,
.samatova-newsletter__box .er-subscribe-form-wrapper input[type="email"]:focus {
	outline: 2px solid var(--color-primary-fixed);
	outline-offset: 2px;
}

.samatova-newsletter__form .samatova-btn,
.samatova-newsletter__box .er-subscribe-form-wrapper input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 1rem 2rem;
	font: var(--text-button);
	letter-spacing: 0.02em;
	border: none;
	border-radius: var(--radius-xl);
	cursor: pointer;
	background: var(--color-on-primary-container) !important;
	color: var(--color-primary-container);
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: opacity 0.2s ease;
	height: 50px;
}

.samatova-newsletter__form .samatova-btn:hover,
.samatova-newsletter__box .er-subscribe-form-wrapper input[type="submit"]:hover {
	opacity: 0.92;
	transform: none;
}

.samatova-newsletter__box .er-subscribe-form-wrapper {
	max-width: 28rem;
	margin: 0 auto;
}

.samatova-newsletter__box .er-subscribe-form-wrapper .form-content {
	width: 100%;
}

.samatova-newsletter__box .er-subscribe-form-wrapper .er-email-cont {
	flex: 1;
	min-width: 0;
}

.samatova-newsletter__box .er-subscribe-form-wrapper .er-submit-cont {
	flex-shrink: 0;
}

.samatova-newsletter__box .er-subscribe-form-wrapper .form-response {
	margin-top: var(--space-sm);
	font: var(--text-body-md);
}

.samatova-newsletter__box--sidebar {
	text-align: center;
	padding: var(--space-md);
}

.samatova-newsletter__box--sidebar h2 {
	font: var(--text-h3);
	margin: 0 0 var(--space-sm);
}

.samatova-newsletter__box--sidebar p {
	margin: 0 0 var(--space-md);
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	font-size: 0.875rem;
	line-height: 1.5;
}

.samatova-newsletter__box--sidebar .er-subscribe-form-wrapper {
	max-width: none;
	margin: 0;
}

.samatova-newsletter__box--sidebar .er-subscribe-form-wrapper form {
	flex-direction: column;
	max-width: none;
	margin: 0;
}

.samatova-newsletter__box--sidebar .er-subscribe-form-wrapper input[type="email"],
.samatova-newsletter__box--sidebar .er-subscribe-form-wrapper input[type="submit"] {
	width: 100%;
	height: auto;
	min-height: 2.75rem;
	padding: 0.75rem 1rem;
}

.samatova-newsletter__box--sidebar .er-subscribe-form-wrapper input[type="submit"] {
	padding-inline: 1rem;
}

.samatova-newsletter__box--sidebar .er-subscribe-form-wrapper .form-response {
	text-align: center;
	font-size: 0.875rem;
}

/* Footer */
.samatova-footer {
	background: #e9f0f9;
	border-top: 1px solid #e2e8f0;
	padding: var(--space-lg) 0;
	font-size: 0.875rem;
	color: #64748b;
}

.samatova-footer__grid {
	display: grid;
	gap: var(--space-lg);
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.samatova-footer__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.samatova-footer__brand {
	font-size: 1.25rem;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: var(--space-md);
}

.samatova-footer h4 {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #0f172a;
	margin: 0 0 var(--space-md);
}

.samatova-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.samatova-footer li {
	margin-bottom: var(--space-sm);
}

.samatova-footer a {
	color: #64748b;
	text-decoration: none;
}

.samatova-footer a:hover {
	color: #0f172a;
	text-decoration: underline;
	text-decoration-color: var(--color-brand-accent);
}

.samatova-footer__social {
	display: flex;
	gap: var(--space-sm);
	margin-top: var(--space-md);
}

.samatova-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	background: #fff;
	border-radius: 50%;
	color: var(--color-brand-accent);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	text-decoration: none;
}

.samatova-footer__social .samatova-footer__icon {
	display: block;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}

.samatova-footer__social .material-symbols-outlined {
	font-size: 22px;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.samatova-footer__social a:hover {
	transform: scale(1.08);
}

.samatova-footer__bottom {
	margin-top: var(--space-lg);
	padding-top: var(--space-lg);
	border-top: 1px solid #e2e8f0;
	text-align: center;
}


/* ── Author page template ─────────────────────────────────────────────── */

.samatova-author-hero {
	background: var(--color-surface-low);
	border-bottom: 1px solid rgba(0, 29, 54, 0.06);
	padding-top: calc(var(--samatova-header-height) + var(--samatova-slide-padding-y));
	padding-bottom: var(--samatova-slide-padding-y);
}

body.home .samatova-author-hero {
	padding-top: var(--samatova-slide-padding-y);
	overflow: hidden;
}

.samatova-author-hero__grid {
	display: grid;
	gap: var(--space-lg);
	align-items: center;
}

@media (min-width: 768px) {
	.samatova-author-hero__grid {
		grid-template-columns: 500px 1fr;
	}
}

.samatova-author-hero__photo-col {
	position: relative;
}

.samatova-author-hero__photo-wrap {
	position: relative;
}

.samatova-author-hero__glow {
	position: absolute;
	inset: -1.5rem;
	background: rgba(149, 241, 255, 0.3);
	border-radius: 50%;
	filter: blur(56px);
	z-index: 0;
}

.samatova-author-hero__photo {
	position: relative;
	z-index: 1;
	width: 100%;
	max-height: 540px;
	object-fit: cover;
	object-position: top;
	border-radius: var(--radius-2xl);
	box-shadow: 0 20px 50px rgba(0, 29, 54, 0.15);
	display: block;
}

.samatova-author-hero__photo--placeholder {
	background: var(--color-surface-container);
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 4;
	max-height: 540px;
	border-radius: var(--radius-2xl);
}

.samatova-author-hero__photo--placeholder .material-symbols-outlined {
	font-size: 6rem;
	color: var(--color-outline);
}

.samatova-author-hero__content {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}

.samatova-author-hero__name {
	font: var(--text-h2);
	letter-spacing: -0.02em;
	color: var(--color-on-surface);
	margin: 0;
}

.samatova-author-hero__bio {
	color: var(--color-on-surface-variant);
}

.samatova-author-hero__bio p {
	font: var(--text-body-lg);
	margin: 0 0 var(--space-md);
	color: var(--color-on-surface-variant);
}

.samatova-author-hero__bio p:last-child {
	margin-bottom: 0;
}

.samatova-author-stats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-lg);
	padding: var(--space-md) 0;
	border-top: 1px solid var(--color-outline-variant);
	border-bottom: 1px solid var(--color-outline-variant);
}

.samatova-author-stat__num {
	font-size: 2rem;
	font-weight: 800;
	color: var(--color-primary);
	line-height: 1;
	margin-bottom: 0.25rem;
}

.samatova-author-stat__label {
	font: var(--text-label);
	color: var(--color-on-surface-variant);
}

.samatova-author-hero__actions {
	margin-top: var(--space-sm);
}

.samatova-author-values {
	background: var(--color-surface-low);
}

.samatova-author-values__grid {
	display: grid;
	gap: var(--space-md);
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.samatova-author-values__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.samatova-author-value-card {
	background: var(--color-surface-lowest);
	border-radius: var(--radius-xl);
	padding: var(--space-md);
	box-shadow: var(--shadow-card);
	transition: box-shadow 0.25s ease;
}

.samatova-author-value-card:hover {
	box-shadow: var(--shadow-card-hover);
}

.samatova-author-value-card__icon {
	width: 3rem;
	height: 3rem;
	background: var(--color-primary-fixed);
	border-radius: var(--radius-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: var(--space-md);
}

.samatova-author-value-card__icon .material-symbols-outlined {
	color: var(--color-on-primary-fixed);
	font-size: 1.5rem;
}

.samatova-author-value-card h3 {
	font: var(--text-h3);
	margin: 0 0 var(--space-sm);
	color: var(--color-on-surface);
}

.samatova-author-value-card p {
	margin: 0;
	color: var(--color-on-surface-variant);
	font: var(--text-body-md);
}

.samatova-author-quote {
	padding-top: var(--space-xl);
	padding-bottom: var(--space-xl);
	background: var(--color-surface-lowest);
}

.samatova-author-quote__block {
	margin: 0 auto;
	max-width: 52rem;
	text-align: center;
	border: none;
	padding: 0;
}

.samatova-author-quote__block p {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--color-on-surface);
	font-style: italic;
	margin: 0 0 var(--space-md);
}

.samatova-author-quote__block footer {
	font: var(--text-label);
	color: var(--color-primary);
	letter-spacing: 0.04em;
}

/* Page / single content */
.samatova-content {
	margin: 0 auto;
	padding: var(--space-lg) var(--space-md);
}

.samatova-content h1 {
	font: var(--text-h1);
	margin-top: 0;
}

.samatova-content .entry-content {
	font: var(--text-body-md);
	color: var(--color-on-surface-variant);
	line-height: 1.7;
}

/* Shop layout & hero (design: book_catalog) */
.samatova-wrap--shop .woocommerce-breadcrumb {
	margin-bottom: var(--space-md);
}

.samatova-shop-hero {
	margin-bottom: var(--space-lg);
	text-align: left;
}

.samatova-shop-hero__title {
	font: var(--text-h1);
	font-size: clamp(2rem, 4vw, 3rem);
	color: var(--color-on-surface);
	margin: 0 0 var(--space-sm);
	letter-spacing: -0.02em;
}

/* Category / tag description: same surface treatment as paired product card */
.samatova-shop-hero__description-card.samatova-product-card--pair {
	padding: var(--space-lg);
	margin-top: var(--space-md);
}

.samatova-shop-hero__description-card .samatova-shop-hero__lede,
.samatova-shop-hero__description-card .term-description {
	margin: 0;
}

.samatova-shop-hero__lede,
.samatova-shop-hero .term-description {
	font: var(--text-body-lg);
	color: var(--color-on-surface-variant);
	margin: 0;
	line-height: 1.6;
}

.samatova-shop-hero .samatova-rich-text > * + *,
.samatova-shop-hero .term-description > * + * {
	margin-top: 0.65em;
}

.samatova-shop-hero .samatova-rich-text > *:first-child,
.samatova-shop-hero .term-description > *:first-child {
	margin-top: 0;
}

.samatova-shop-hero .samatova-rich-text p,
.samatova-shop-hero .term-description p {
	margin: 0;
}

.samatova-shop-hero .samatova-rich-text ul,
.samatova-shop-hero .samatova-rich-text ol,
.samatova-shop-hero .term-description ul,
.samatova-shop-hero .term-description ol {
	margin: 0;
	padding-left: 1.35em;
}

.samatova-shop-hero .samatova-rich-text a,
.samatova-shop-hero .term-description a {
	color: var(--color-primary);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.samatova-shop-hero .samatova-rich-text a:hover,
.samatova-shop-hero .term-description a:hover {
	color: var(--color-secondary);
}

.samatova-shop-hero .samatova-rich-text h2,
.samatova-shop-hero .samatova-rich-text h3,
.samatova-shop-hero .term-description h2,
.samatova-shop-hero .term-description h3 {
	font: var(--text-h3);
	color: var(--color-on-surface);
	margin: 0.5em 0 0.25em;
}

.samatova-shop-layout {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg);
}

.samatova-shop-layout--loading {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

@media (min-width: 1024px) {
	.samatova-shop-layout {
		flex-direction: row;
		align-items: flex-start;
	}
}

.samatova-shop-sidebar {
	width: 100%;
	flex-shrink: 0;
}

@media (min-width: 1024px) {
	.samatova-shop-sidebar {
		width: 300px;
	}
}

.samatova-shop-sidebar__inner {
	background: var(--color-surface-lowest);
	padding: var(--space-md);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-card);
	border: 1px solid #f1f5f9;
}

.samatova-shop-sidebar__inner--filters {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.samatova-filter-group {
	margin-top: var(--space-md);
}

.samatova-filter-group:first-child {
	margin-top: 0;
}

.samatova-filter-group__title {
	font: var(--text-label);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-primary);
	margin: 0 0 var(--space-sm);
}

.samatova-filter-group__options {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.samatova-filter-group__options--radio {
	gap: 0.4rem;
}

.samatova-filter-check {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	cursor: pointer;
}

.samatova-filter-check--radio {
	cursor: pointer;
}

.samatova-filter-check input[type="checkbox"] {
	width: 1.25rem;
	height: 1.25rem;
	accent-color: var(--color-primary);
	margin: 0;
	flex-shrink: 0;
}

.samatova-filter-check input[type="radio"] {
	width: 1.25rem;
	height: 1.25rem;
	accent-color: var(--color-primary);
	margin: 0;
	flex-shrink: 0;
}

.samatova-filter-check__text {
	font: var(--text-body-md);
	color: var(--color-on-surface-variant);
}

.samatova-filter-check:hover .samatova-filter-check__text {
	color: var(--color-primary);
}

.samatova-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.samatova-filter-pill {
	position: relative;
}

.samatova-filter-pill__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.samatova-filter-pill__label {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 1rem;
	border-radius: var(--radius-full);
	font: var(--text-label);
	font-size: 0.875rem;
	background: var(--color-surface-container-low, #eef4ff);
	color: var(--color-on-surface-variant);
	border: 1px solid transparent;
	cursor: pointer;
	line-height: 1.2;
	transition:
		background 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease;
}

.samatova-filter-pill__input:focus-visible + .samatova-filter-pill__label {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.samatova-filter-pill__input:checked + .samatova-filter-pill__label {
	background: var(--color-primary);
	color: var(--color-on-primary);
	border-color: var(--color-primary);
}

.samatova-filter-pill__label:hover {
	color: var(--color-primary);
	border-color: var(--color-primary-container);
}

/* Age filter: single-thumb range (left stop = «Все», then one year per step) */
.samatova-filter-age-range {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.samatova-filter-age-range__top {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	min-height: 1.5rem;
}

.samatova-filter-age-range__value {
	font: var(--text-label);
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--color-primary);
	text-align: right;
}

.samatova-filter-age-range__input {
	width: 100%;
	height: 2.25rem;
	margin: 0;
	accent-color: var(--color-primary);
	cursor: pointer;
}

.samatova-filter-age-range__input:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 3px;
}

.samatova-filter-age-range__ticks {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
	font: var(--text-label);
	font-size: 0.6875rem;
	color: var(--color-on-surface-variant);
	padding: 0 0.15rem;
	margin-top: -0.15rem;
}

.samatova-catalog-filters__actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.75rem;
	margin: var(--space-md) 0 0;
}

.samatova-catalog-filters__actions--reset-only {
	justify-content: flex-end;
}

.samatova-catalog-filters__actions .button {
	margin: 0;
	border-radius: var(--radius-xl) !important;
}

.samatova-catalog-filters__reset {
	font: var(--text-label);
	color: var(--color-primary);
	white-space: nowrap;
}

.samatova-catalog-filters__reset:hover {
	text-decoration: underline;
}

.samatova-widget__title {
	font: var(--text-label);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-primary);
	margin: 0 0 var(--space-sm);
	font-size: 0.75rem;
}

.samatova-shop-main {
	flex: 1;
	min-width: 0;
}

/* Result count + sort: inside .samatova-catalog-filters (top of filter card) */
.samatova-catalog-filters__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	margin: 0 0 var(--space-md);
	padding-bottom: var(--space-md);
	border-bottom: 1px solid var(--color-outline-variant);
}

.samatova-catalog-filters__bar::after {
	content: "";
	display: table;
	clear: both;
}

.samatova-catalog-filters__bar .woocommerce-result-count {
	order: 1;
	font: var(--text-body-md);
	color: var(--color-on-surface-variant);
	float: none;
	margin: 0;
}

.samatova-catalog-filters__bar .woocommerce-ordering {
	order: 2;
	margin: 0 0 0 auto;
	float: none;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {top: 20px;right: 20px}

.woocommerce .samatova-catalog-filters__bar .woocommerce-ordering select.orderby {
	appearance: none;
	-webkit-appearance: none;
	background-color: var(--color-surface-lowest);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-md);
	padding: 0.5rem 2.25rem 0.5rem 0.75rem;
	font: var(--text-body-md);
	color: var(--color-on-surface);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%236d797b' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.5rem center;
	cursor: pointer;
	min-width: 12rem;
	max-width: 100%;
}

.woocommerce .samatova-catalog-filters__bar .woocommerce-ordering select.orderby:focus {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(0, 102, 113, 0.15);
	outline: none;
}

.woocommerce nav.woocommerce-pagination {
	margin-top: var(--space-lg);
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0 !important;
	box-shadow: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	margin: 0;
	border: 0 !important;
	border-right: 0 !important;
	border-left: 0 !important;
	box-shadow: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.5rem;
	border-radius: var(--radius-full);
	font: var(--text-label);
	text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li a {
	color: var(--color-on-surface-variant);
	border: 1px solid var(--color-outline-variant);
	background: var(--color-surface-lowest);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--color-primary);
	color: var(--color-on-primary);
	border-color: var(--color-primary);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--color-primary);
	color: var(--color-on-primary);
}

.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next {
	min-width: 2.5rem;
	width: 2.5rem;
	padding: 0;
	aspect-ratio: 1;
	border-radius: var(--radius-full);
}

/* WooCommerce overrides */
/* WooCommerce layout.css clearfix pseudo-elements become grid items and break ul.products grid */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce .products ul::before,
.woocommerce .products ul::after {
	content: none !important;
	display: none !important;
}

.samatova-home-shop-cta {
	margin: var(--space-lg) 0 0;
	text-align: center;
}

.samatova-home-shop-cta .samatova-btn .material-symbols-outlined {
	font-size: 1.25rem;
	margin-left: 0.25rem;
	vertical-align: -0.2em;
}

.woocommerce .woocommerce-breadcrumb {
	font: var(--text-label);
	color: var(--color-on-surface-variant);
	margin-bottom: var(--space-md);
	margin-top: var(--space-md);
	line-height: 1.7;
}

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: var(--space-md) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

@media (min-width: 600px) {
	.woocommerce .samatova-shop-main ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
	}
	.woocommerce ul.products {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

@media (min-width: 1200px) {
	.woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	background: var(--color-surface-lowest);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	border: 1px solid #f8fafc;
	transition: box-shadow 0.3s ease;
	padding: 0 !important;
}

.woocommerce .woocommerce-customer-details .woocommerce-column__title {margin-top: 24px;
    margin-bottom: 8px;
    font-size: 21px;}

.woocommerce ul.products li.product a img {margin: 0;}

.woocommerce ul.products li.product:hover {
	box-shadow: var(--shadow-card-hover);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	text-decoration: none;
}

.woocommerce ul.products li.product:not(.samatova-product-card) a.woocommerce-LoopProduct-link img {
	aspect-ratio: 1;
	width: 100%;
	height: auto;
	object-fit: contain;
	background: var(--color-surface-low);
}

.woocommerce ul.products li.product:not(.samatova-product-card) .woocommerce-loop-product__title {
	font: var(--text-h3);
	padding: 0 var(--space-md);
	margin: var(--space-sm) 0 0;
	color: var(--color-on-surface);
}

.woocommerce ul.products li.product:not(.samatova-product-card) .price {
	font: var(--text-h3);
	color: var(--color-secondary) !important;
	padding: 0 var(--space-md);
	margin: var(--space-xs) 0 0;
}

.woocommerce ul.products li.product:not(.samatova-product-card) .button {
	margin: var(--space-md) !important;
	width: calc(100% - 3rem) !important;
	border-radius: var(--radius-xl) !important;
	background: var(--color-primary) !important;
	color: var(--color-on-primary) !important;
	font: var(--text-button) !important;
	min-height: 3rem !important;
	line-height: 1 !important;
}

.woocommerce ul.products li.product:not(.samatova-product-card) .button:hover {
	background: var(--color-primary-container) !important;
	color: var(--color-on-primary) !important;
}

/* Book card (design/book_catalog) */
.woocommerce ul.products li.samatova-product-card,
.woocommerce .products li.samatova-product-card {
	display: flex;
	flex-direction: column;
}

.samatova-product-card__inner {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	height: 100%;
	min-height: 0;
}

.samatova-product-card__media {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--color-surface-low);
	border-bottom: 1px solid #eee;
}

.samatova-product-card__image-link {
	display: block;
	height: 100%;
	color: inherit;
}

.samatova-product-card__media .woocommerce-LoopProduct-link,
.samatova-product-card a.samatova-product-card__image-link {
	text-decoration: none;
}

.samatova-product-card__media img {
	width: 100%;
	height: auto;
	max-width: none;
	object-fit: contain;
	display: block;
	transition: transform 0.5s ease;
}

.samatova-product-card:hover .samatova-product-card__media img {
	transform: scale(1.05);
}

.samatova-product-card__free-banner {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 1;
	margin: 0;
	padding: 0.35rem 0.65rem;
	border-radius: var(--radius-sm);
	font: var(--text-label);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-on-primary);
	background: var(--color-primary);
	box-shadow: 0 2px 8px rgba(0, 29, 54, 0.12);
	pointer-events: none;
}

.samatova-product-card__media .onsale,
.woocommerce .samatova-product-card__media span.onsale {
	position: absolute;
	top: 1rem;
	right: 1rem;
	left: auto;
	margin: 0;
	z-index: 1;
}

.samatova-product-card__body {
	padding: var(--space-md);
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	flex: 1 1 auto;
}

.samatova-product-card__row-title {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-sm);
}

.samatova-product-card__title-block {
	min-width: 0;
}

.samatova-product-card__kicker {
	margin: 0 0 var(--space-xs);
	font: 600 0.75rem/1.2 var(--font-body);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-primary);
}

a.samatova-product-card__title-link {
	color: inherit;
	text-decoration: none;
}

a.samatova-product-card__title-link:hover {
	color: var(--color-primary);
}

.samatova-product-card__title-block .woocommerce-loop-product__title {
	font: var(--text-h3);
	margin: 0;
	padding: 0;
	color: var(--color-on-surface);
	line-height: 1.25;
	transition: color 0.2s ease;
}

.samatova-product-card__price {
	flex: 0 0 auto;
	text-align: left;
	white-space: normal;
}

.samatova-product-card__price-list {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.samatova-product-card__price-line {
	display: flex;
	gap: 0.35rem;
	align-items: center;
	justify-content: flex-start;
	white-space: nowrap;
}

.samatova-product-card__price-icon {
	font-size: 1rem;
	line-height: 1;
	color: var(--color-on-surface-variant);
	font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 20;
}

.samatova-product-card__price-sep {
	color: var(--color-outline);
	font: 600 0.95rem/1 var(--font-body);
}

.samatova-product-card__price-value .woocommerce-Price-amount,
.samatova-product-card__price-value {
	font: 700 1.25rem/1.2 var(--font-body);
	color: var(--color-secondary) !important;
}

.samatova-product-card__price .price,
.samatova-product-card__price .woocommerce-Price-amount {
	font-size: 21px;
	color: var(--color-secondary) !important;
}

.samatova-product-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.samatova-product-card__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.35rem 0.7rem;
	border-radius: var(--radius-full);
	font: 600 0.8rem/1.2 var(--font-body);
	letter-spacing: 0.01em;
}

.samatova-product-card__chip-label {
	opacity: 0.85;
}

.samatova-product-card__chip-value {
	font-weight: 800;
}

.samatova-product-card__chip--age {
	background: #fde9f1;
	color: #a01e54;
}

.samatova-product-card__chip--level {
	background: #dff4f4;
	color: #0a6670;
}

@media (max-width: 1023px) {
	.samatova-catalog-filters__bar {
		flex-direction: column;
		align-items: stretch;
	}

	.samatova-catalog-filters__bar .woocommerce-ordering {
		margin-left: 0;
		width: 100%;
	}

	.woocommerce .samatova-catalog-filters__bar .woocommerce-ordering select.orderby {
		width: 100%;
		min-width: 0;
	}
}

.samatova-product-card__actions {
	margin-top: auto;
	padding-top: var(--space-sm);
}

.samatova-product-card__actions .button,
.samatova-product-card a.button.samatova-product-card__btn,
.samatova-product-card a.samatova-product-card__btn {
	display: flex !important;
	width: 100% !important;
	margin: 0 !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border-radius: var(--radius-xl) !important;
	background: var(--color-primary) !important;
	color: var(--color-on-primary) !important;
	font: var(--text-button) !important;
	padding: 1rem var(--space-md) !important;
	line-height: 1 !important;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.15s ease, color 0.2s ease;
}

.samatova-product-card a.samatova-product-card__btn .samatova-product-card__btn-icon,
.samatova-product-card__actions .button .samatova-product-card__btn-icon {
	font-size: 1.125rem;
	line-height: 1;
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.samatova-product-card__actions .button:hover,
.samatova-product-card a.samatova-product-card__btn:hover {
	background: var(--color-primary-container) !important;
	color: var(--color-on-primary) !important;
}

.woocommerce span.onsale {
	background: var(--color-primary);
	color: var(--color-on-primary);
	border-radius: var(--radius-full);
	min-height: auto;
	line-height: 1;
	padding: 0.25rem 0.75rem;
}

.woocommerce div.product {
	display: grid;
	gap: var(--space-lg);
}

.woocommerce div.product div.summary, .woocommerce div.product div.images {margin-bottom: 0;}

.woocommerce div.product .variations span.price {color: #000}
.woocommerce div.product form.cart .variations {margin-bottom: var(--space-md)}
.woocommerce div.product form.cart .variations .samatova-variation-radio label.samatova-variation-radio__btn:has(input:checked) .samatova-variation-radio__price,
.woocommerce div.product form.cart .variations .samatova-variation-radio label.samatova-variation-radio__btn:has(input:checked) .samatova-variation-radio__price .woocommerce-Price-amount {
	color: var(--color-on-primary);
}
.woocommerce div.product section.related.products, .samatova-product-reviews {grid-column: -1 / 1;}

/* Paired / related products: full-width block (data from wp_samatova_product_rel) */
.woocommerce div.product .samatova-product-pair-list {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 100%;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}

.samatova-product-pair-list__title {
	font: var(--text-h3);
	margin: 0 0 var(--space-xs);
	color: var(--color-on-surface);
}

.woocommerce div.product .samatova-product-pair-list .samatova-product-pair {
	margin: 0;
}

.woocommerce div.product .samatova-product-pair {
	width: 100%;
	max-width: 100%;
}

.samatova-product-card.samatova-product-card--pair {
	display: block;
	background: var(--color-surface-lowest);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	border: 1px solid var(--color-surface-container-highest);
	transition: box-shadow 0.25s ease;
}

.samatova-product-card.samatova-product-card--pair:hover {
	box-shadow: var(--shadow-card-hover);
}

.samatova-product-pair__grid {
	display: grid;
	grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr) minmax(10.5rem, 15rem);
	column-gap: 36px;
	row-gap: 0;
	align-items: stretch;
	padding: 0 36px 0 0;
	min-height: 0;
}

.samatova-product-pair__media-col {
	display: flex;
	align-items: stretch;
	justify-content: stretch;
	align-self: stretch;
	min-height: 100%;
}

.samatova-product-card--pair .samatova-product-pair__media.samatova-product-card__media {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	border: none;
	border-bottom: none;
	background: var(--color-surface-low);
	border-radius: 0;
	padding: 36px;
	min-height: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
}

.samatova-product-card--pair .samatova-product-pair__media img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 15rem;
	object-fit: contain;
}

.samatova-product-pair__mid {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-sm);
	padding: 36px 0;
	justify-content: center;
}

.samatova-product-pair__eyebrow {
	margin: 0;
	font: 800 0.625rem/1.25 var(--font-body);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-on-surface-variant);
}

.samatova-product-pair__series {
	margin: 0;
	font: 600 0.8125rem/1.35 var(--font-body);
	color: var(--color-primary);
}

a.samatova-product-pair__title-link {
	color: inherit;
	text-decoration: none;
}

a.samatova-product-pair__title-link:hover .samatova-product-pair__title {
	color: var(--color-primary);
}

.samatova-product-pair__title {
	margin: 0;
	font: 800 1.2rem/1.28 var(--font-body);
	color: var(--color-on-surface);
	transition: color 0.2s ease;
}

.samatova-product-pair__excerpt {
	margin: 0.1rem 0 0;
	font: var(--text-body-md);
	color: var(--color-on-surface-variant);
	line-height: 1.55;
	max-width: 44rem;
}

.samatova-product-pair__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: var(--space-sm);
	text-align: right;
	min-width: 0;
	padding: 36px 0;
	border: none;
	background: transparent;
}

.samatova-product-pair__chips.samatova-product-card__chips {
	justify-content: flex-end;
	flex-wrap: wrap;
	width: 100%;
}

.samatova-product-pair__price.samatova-product-card__price {
	width: 100%;
	text-align: right;
}

.samatova-product-pair__aside .samatova-product-card__price-list {
	justify-content: flex-end;
	width: 100%;
}

.samatova-product-pair__aside .samatova-product-card__price-line {
	justify-content: flex-end;
}

.samatova-product-pair__aside .samatova-product-card__price-value,
.samatova-product-pair__aside .samatova-product-card__price-value .woocommerce-Price-amount {
	font-size: clamp(1.15rem, 2.5vw, 1.45rem);
	font-weight: 800;
}

.samatova-product-pair__cta {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	margin-top: 0.15rem;
}

.samatova-product-pair__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.65rem 1.15rem;
	border-radius: var(--radius-xl);
	border: 2px solid var(--color-primary);
	background: transparent;
	color: var(--color-primary);
	font: var(--text-button);
	line-height: 1;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.samatova-product-pair__btn:hover {
	background: var(--color-primary);
	color: var(--color-on-primary);
	border-color: var(--color-primary);
}

.samatova-product-pair__btn-arrow {
	font-weight: 700;
}

@media (max-width: 767px) {
	.samatova-product-pair__grid {
		grid-template-columns: 1fr;
		justify-items: stretch;
		padding: 0 36px 36px;
		column-gap: 0;
		row-gap: 0;
	}

	.samatova-product-pair__media-col {
		justify-self: stretch;
		max-width: none;
		margin-left: -36px;
		margin-right: -36px;
		width: calc(100% + 72px);
	}

	.samatova-product-card--pair .samatova-product-pair__media.samatova-product-card__media {
		max-width: none;
		min-height: 0;
		padding: 36px;
	}

	.samatova-product-card--pair .samatova-product-pair__media img {
		max-height: 20rem;
	}

	.samatova-product-pair__mid {
		padding: 36px 0 0;
	}

	.samatova-product-pair__aside {
		align-items: flex-start;
		text-align: left;
		border-top: 1px solid var(--color-surface-container-highest);
		padding-top: var(--space-md);
		margin-top: var(--space-xs);
	}

	.samatova-product-pair__chips.samatova-product-card__chips {
		justify-content: flex-start;
	}

	.samatova-product-pair__price.samatova-product-card__price {
		text-align: left;
	}

	.samatova-product-pair__aside .samatova-product-card__price-list,
	.samatova-product-pair__aside .samatova-product-card__price-line {
		justify-content: flex-start;
	}

	.samatova-product-pair__cta {
		justify-content: flex-start;
	}
}

@media (min-width: 900px) {
	.woocommerce div.product {
		grid-template-columns: 1fr 1fr;
	}
}

.woocommerce div.product div.images {
	background: var(--color-surface-lowest);
	padding: var(--space-sm);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-card);
	border: 1px solid var(--color-surface-container-highest);
}

.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	aspect-ratio: 1;
	background: var(--color-surface-low);
	overflow: hidden;
}

.woocommerce div.product div.images .flex-viewport {
	margin-bottom: var(--space-sm);
	border-radius: var(--radius-lg);
}

.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__wrapper {
	height: 100%;
}

.woocommerce div.product div.summary .product_meta {margin-bottom: var(--space-md);font: var(--text-body-lg);}
.woocommerce div.product form.cart div.quantity {margin: 0 12px 0 0}
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--space-sm);
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .flex-control-thumbs li {
	aspect-ratio: 1;
	background: var(--color-surface-low);
	overflow: hidden;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	border-radius: var(--radius-sm);
	border: 1px solid var(--color-surface-low);
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
	display: flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-surface-low);
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
	width: 100%;
	height: 100%;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain !important;
	display: block;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	width: 100%;
	height: 100% !important;
	display: block;
	object-fit: contain !important;
}



.woocommerce div.product .product_title {
	font: var(--text-h1);
	font-size: 2rem;
	color: var(--color-on-surface);
	margin-bottom: 12px;
}

.samatova-product-meta {
	margin: 0 0 var(--space-md);
	font: var(--text-body-lg);
	color: var(--color-on-surface-variant);
	line-height: 1.5;
}

.samatova-product-meta__label {
	font-weight: 600;
	color: var(--color-on-surface);
	margin-right: 0.25em;
}

.samatova-product-meta--subtitle {
	margin: 0 0 var(--space-md);
	font-weight: 300;
	font-size: 1.4rem;
	line-height: 1.45;
	color: var(--color-on-surface-variant);
}

.samatova-product-meta--authors {
	margin-top: -0.25rem;
}

.woocommerce div.product .summary:has(.samatova-product-meta--subtitle) .samatova-product-meta--authors {
	margin-top: 0;
}

.woocommerce-product-details__short-description {
    margin-bottom: var(--space-md);
}

.woocommerce div.product p.price {
	display: none !important;
}

.woocommerce div.product .single_variation .woocommerce-variation-price {
	display: none !important;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart .samatova-product-add-to-cart-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: nowrap;
	width: 100%;
}

/* Simple products with both edition buttons: stack edition row + cart row. */
.woocommerce div.product form.cart:not(.variations_form):has(.samatova-variation-field--simple) {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	gap: 0;
}

/* Print-only simple: qty + add to cart in one row. */
.woocommerce div.product form.cart:not(.variations_form).samatova-cart--show-qty:not(:has(.samatova-variation-field--simple)),
.samatova-print-format-only .woocommerce div.product form.cart:not(.variations_form) {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
}

/* PDF-only: full-width add to cart, no quantity. */
.samatova-pdf-format-only .woocommerce div.product form.cart:not(.variations_form),
.woocommerce div.product form.cart:not(.variations_form).samatova-cart--pdf-only {
	display: block;
	width: 100%;
}

.samatova-pdf-format-only .woocommerce div.product form.cart:not(.variations_form) .quantity,
.woocommerce div.product form.cart:not(.variations_form).samatova-cart--pdf-only .quantity,
.woocommerce div.product form.variations_form.samatova-cart--pdf-only .quantity {
	display: none !important;
}

.woocommerce div.product form.cart.samatova-cart--show-qty .quantity {
	display: inline-flex !important;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity {
	margin: 0 !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 !important;
	min-height: 48px;
	padding-inline: 24px !important;
	white-space: nowrap;
	flex: 1 1 0;
	min-width: 0;
	width: 100%;
	max-width: none;
	background-color: var(--color-cfa) !important;
	color: var(--color-on-cfa) !important;
	border: 2px solid var(--color-cfa) !important;
	border-radius: var(--radius-xl) !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background-color: #ffa726 !important;
	border-color: #ffa726 !important;
}

@media (max-width: 539px) {
	.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
	.woocommerce div.product form.cart .samatova-product-add-to-cart-row,
	.woocommerce div.product form.cart:not(.variations_form).samatova-cart--show-qty:not(:has(.samatova-variation-field--simple)),
	.samatova-print-format-only .woocommerce div.product form.cart:not(.variations_form) {
		flex-direction: column;
		align-items: stretch;
		flex-wrap: wrap;
		gap: var(--space-md);
	}

	.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity,
	.woocommerce div.product form.cart .samatova-product-add-to-cart-row .quantity,
	.woocommerce div.product form.cart:not(.variations_form).samatova-cart--show-qty .quantity {
		margin: 0 auto 0 0 !important;
		width: auto;
		max-width: 100%;
		align-self: center;
	}

	.woocommerce div.product form.cart .samatova-qty-wrap {
		width: auto;
		max-width: 100%;
	}

	.woocommerce div.product form.cart .single_add_to_cart_button {
		flex: 1 1 auto;
		width: 100%;
	}

	.woocommerce div.product div.images .flex-control-thumbs {gap: 6px}

	.woocommerce div.product .product_title {font-size: 1.5rem;}
}

.samatova-add-to-cart__label {
	display: inline-block;
	font-weight: 800;
}

.samatova-add-to-cart__total {
	font-weight: 800;
	background: #fff;
	color: #001d36;
	padding: 0.35rem 0.8rem;
	border-radius: 12px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 5.5rem;
	flex-shrink: 0;
}

.woocommerce table.shop_table,
.woocommerce-checkout #payment,
.woocommerce-cart .cart-collaterals .cart_totals {
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-card);
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-radius: var(--radius-xl) !important;
	font: var(--text-button) !important;
	background: var(--color-primary) !important;
	color: var(--color-on-primary) !important;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--color-primary-container) !important;
}

/* WooCommerce notices — no gap when the wrapper is empty (e.g. shop archive). */
.woocommerce-notices-wrapper {
	margin: 0;
}

.woocommerce-notices-wrapper:empty,
.woocommerce-notices-wrapper:not(:has(
		.woocommerce-message,
		.woocommerce-info,
		.woocommerce-error,
		.wc-block-components-notice-banner,
		.is-success,
		.is-info,
		.is-error
	)) {
	display: none;
	margin: 0;
}

.woocommerce-notices-wrapper:has(
		.woocommerce-message,
		.woocommerce-info,
		.woocommerce-error,
		.wc-block-components-notice-banner,
		.is-success,
		.is-info,
		.is-error
	) {
	margin: 0 0 var(--space-md);
}

.woocommerce ul.order_details {padding-left: 0;}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	margin: 0 0 var(--space-md) !important;
	padding: 1rem 1.25rem !important;
	border: 1px solid var(--color-outline-variant) !important;
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-card);
	background: var(--color-surface-lowest);
	color: var(--color-on-surface);
	font: var(--text-body-md);
	line-height: 1.45;
	list-style: none;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before, .woocommerce ul.order_details::after, .woocommerce ul.order_details::before {
	content: none !important;
}

.woocommerce-message {
	border-color: rgba(0, 102, 113, 0.35) !important;
	background: #e0f5f5;
	outline: none;
}

.woocommerce-info {
	border-color: rgba(50, 95, 153, 0.35) !important;
	background: var(--color-surface-low);
}

.woocommerce-error {
	display: block;
	border-color: rgba(186, 26, 26, 0.35) !important;
	background: #ffebee;
	color: #5f1111;
}

.woocommerce-error li {
	margin: 0;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.wc-block-components-notice-banner .button,
.wc-block-components-notice-banner__content .button {
	order: 2;
	flex-shrink: 0;
	margin: 0 0 0 auto !important;
	padding: 0.75rem 1rem !important;
	border-radius: var(--radius-lg) !important;
	background: var(--color-primary) !important;
	color: var(--color-on-primary) !important;
	font: var(--text-button) !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.wc-block-components-notice-banner .button:hover,
.wc-block-components-notice-banner__content .button:hover {
	background: var(--color-primary-container) !important;
	color: var(--color-on-primary) !important;
}

.wc-block-components-notice-banner > svg {
	flex-shrink: 0;
}

.wc-block-components-notice-banner__content {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	width: 100%;
}

@media (max-width: 640px) {
	.woocommerce-message,
	.woocommerce-info,
	.wc-block-components-notice-banner,
	.wc-block-components-notice-banner__content {
		align-items: stretch;
		flex-direction: column;
	}

	.woocommerce-message .button,
	.woocommerce-info .button,
	.woocommerce-error .button,
	.wc-block-components-notice-banner .button,
	.wc-block-components-notice-banner__content .button {
		width: 100%;
		margin-left: 0 !important;
		text-align: center;
	}
}

/* Default qty input styling — overridden inside the custom stepper wrapper */
.woocommerce .quantity .qty {
	border-radius: var(--radius-md);
	border: 1px solid var(--color-outline-variant);
	padding: 0.5rem;
	height: 50px;
}
.samatova-qty-wrap.quantity .qty {
	border-radius: 0;
	border: none;
	border-left: 1.5px solid var(--color-outline-variant);
	border-right: 1.5px solid var(--color-outline-variant);
}

/* Forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	border-radius: var(--radius-md);
	border: 1px solid var(--color-outline-variant);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(0, 102, 113, 0.15);
	outline: none;
}

/* Hide SKU */
.woocommerce div.product .sku_wrapper {
	display: none;
}

/* Primary category taxonomy description under add to cart (match variation option “white box”) */
.woocommerce div.product .summary .samatova-product-cat-desc--box {
	margin-top: var(--space-lg);
	padding: 36px;
	width: 100%;
	box-sizing: border-box;
	font: var(--text-body-lg);
	color: var(--color-on-surface-variant);
	line-height: 1.5;
	background: var(--color-surface-lowest);
	border: 1px solid var(--color-surface-container-highest);
	border-radius: var(--radius-xl);
	font-size: 1em;
}

.woocommerce div.product .summary .samatova-product-cat-desc--box > * + * {
	margin-top: 0.65em;
}

.woocommerce div.product .summary .samatova-product-cat-desc--box > *:first-child {
	margin-top: 0;
}

.woocommerce div.product .summary .samatova-product-cat-desc--box p {
	margin: 0;
}

.woocommerce div.product .summary .samatova-product-cat-desc--box a {
	color: var(--color-primary);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.woocommerce div.product .summary .samatova-product-cat-desc--box a:hover {
	color: var(--color-secondary);
}

/* Edition format buttons: variable + simple products */
.woocommerce div.product form.cart:not(.variations_form) .samatova-variation-field--edition,
.woocommerce div.product form.cart:not(.variations_form) .samatova-variation-field--simple {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	width: 100%;
	margin-bottom: var(--space-md);
}

.woocommerce div.product form.cart:not(.variations_form) .samatova-variation-field--edition .samatova-variation-radios,
.woocommerce div.product form.cart:not(.variations_form) .samatova-variation-field--simple .samatova-variation-radios {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: var(--space-sm);
	width: 100%;
}

/* Variable product: hidden native select (WooCommerce JS), visible radios */
.woocommerce div.product form.cart .variations .samatova-variation-field {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
}

.woocommerce div.product form.cart .variations .samatova-variation-select--hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.woocommerce div.product form.cart .variations .samatova-variation-radios {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: var(--space-sm);
	width: 100%;
}

/* Single format (PDF or print only): hide edition chooser. */
.woocommerce div.product form.variations_form.samatova-cart--single-format table.variations,
.woocommerce div.product form.cart .samatova-variation-field--single-format-hidden {
	display: none !important;
}

.woocommerce div.product form.cart .samatova-variation-radio {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.woocommerce div.product form.cart .samatova-variation-radio input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	opacity: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.woocommerce div.product form.cart .samatova-variation-radio label.samatova-variation-radio__btn {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 12px;
	min-height: 4.5rem;
	height: 100%;
	font: var(--text-label);
	color: var(--color-on-surface);
	background: var(--color-surface-lowest);
	border: 2px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	cursor: pointer;
	width: 100%;
	position: relative;
	text-align: center;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease;
}

.woocommerce div.product form.cart .samatova-variation-radio label.samatova-variation-radio__btn:has(input:focus-visible) {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.woocommerce div.product form.cart .samatova-variation-radio label.samatova-variation-radio__btn:has(input:checked) {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-on-primary);
	box-shadow: var(--shadow-card);
}

.woocommerce div.product form.cart .samatova-variation-radio label.samatova-variation-radio__btn:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.woocommerce div.product form.cart .samatova-variation-radio label.samatova-variation-radio__btn:has(input:checked):hover {
	color: var(--color-on-primary);
	border-color: var(--color-primary);
}

.woocommerce div.product form.cart table.variations th.label {
	display: none;
}

.woocommerce div.product form.cart table.variations td {
	padding-left: 0;
}

.woocommerce div.product form.cart .reset_variations {
	display: none !important;
}

/* Long description is intentionally hidden */
.samatova-product-long-desc {
	display: none !important;
}

/* Inline attributes — hidden */
.samatova-product-attrs {
	display: none !important;
}

.samatova-product-attrs table {
	width: 100%;
	border-collapse: collapse;
}

.samatova-product-attrs table th,
.samatova-product-attrs table td {
	padding: 0.5rem 0;
	text-align: left;
	border-bottom: 1px solid var(--color-outline-variant);
	font: var(--text-body-md);
	vertical-align: top;
}

.samatova-product-attrs table th {
	font-weight: 600;
	color: var(--color-on-surface);
	width: 38%;
	padding-right: 1rem;
}

/* ── Product badges (age / level / pages / weight) ─────────────────────────── */

.samatova-product-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: var(--space-sm) 0 var(--space-md);
}

.samatova-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.35rem 0.75rem 0.35rem 0.55rem;
	border-radius: 999px;
	font: var(--text-label);
	font-size: 0.8125rem;
	line-height: 1.3;
	font-weight: 500;
}

.samatova-badge .material-symbols-outlined {
	font-size: 1rem;
	flex-shrink: 0;
}

.samatova-badge__label {
	opacity: 0.75;
	margin-right: 0.15rem;
}

.samatova-badge__value {
	font-weight: 700;
}

/* Age – warm pink */
.samatova-badge--age {
	background: #fce7ef;
	color: #9c1a45;
}
.samatova-badge--age .material-symbols-outlined {
	color: #c2185b;
}

/* Level – primary teal */
.samatova-badge--level {
	background: #e0f5f5;
	color: #005f6b;
}
.samatova-badge--level .material-symbols-outlined {
	color: var(--color-primary);
}

/* Pages – neutral indigo */
.samatova-badge--pages {
	background: #ede7f6;
	color: #311b92;
}
.samatova-badge--pages .material-symbols-outlined {
	color: #5e35b1;
}

/* Weight – warm amber */
.samatova-badge--weight {
	background: #fff8e1;
	color: #6d4c00;
}
.samatova-badge--weight .material-symbols-outlined {
	color: #f59d00;
}

/* Print/PDF format badges */
.samatova-badge--format-print {
	background: #e8f5e9;
	color: #1b5e20;
}
.samatova-badge--format-print .samatova-badge__icon--print {
	color: #2e7d32;
}

.samatova-badge--format-pdf {
	background: #ffebee;
	color: #b71c1c;
}
.samatova-badge--format-pdf .samatova-badge__icon--print {
	color: #c62828;
}

.samatova-badge--format-both {
	background: linear-gradient(90deg, #e8f5e9 0%, #c8e6c9 100%);
	color: #1b5e20;
}
.samatova-badge--format-both .samatova-badge__icon--print {
	color: #2e7d32;
}

/* ── Variation buttons with embedded price ──────────────────────────────────── */

.samatova-variation-radio__name {
	font-weight: 600;
	line-height: 1.3;
}

.samatova-variation-radio__price {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
	min-height: 1.25em;
	opacity: 1;
}

.woocommerce div.product form.cart .samatova-variation-radio--disabled .samatova-variation-radio__price:empty::before {
	content: "\00a0";
}

.samatova-variation-radio__price .woocommerce-Price-amount {
	font-weight: 700;
}

.samatova-price-compare {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35em;
	text-decoration: none;
	justify-content: center;
}

.samatova-price-compare__retail {
	text-decoration: line-through;
	opacity: 0.85;
	font-weight: 400;
}

.samatova-price-compare__partner {
	text-decoration: none;
	font-weight: 700;
}

.samatova-price-compare del .woocommerce-Price-amount,
.samatova-price-compare ins .woocommerce-Price-amount {
	font-weight: inherit;
}

.woocommerce div.product form.cart .variations .samatova-variation-radio label.samatova-variation-radio__btn:has(input:checked) .samatova-price-compare__retail,
.woocommerce div.product form.cart .variations .samatova-variation-radio label.samatova-variation-radio__btn:has(input:checked) .samatova-price-compare__partner,
.woocommerce div.product form.cart .variations .samatova-variation-radio label.samatova-variation-radio__btn:has(input:checked) .samatova-price-compare__retail .woocommerce-Price-amount,
.woocommerce div.product form.cart .variations .samatova-variation-radio label.samatova-variation-radio__btn:has(input:checked) .samatova-price-compare__partner .woocommerce-Price-amount {
	color: var(--color-on-primary);
}

.samatova-add-to-cart__total .samatova-price-compare {
	align-items: flex-end;
	gap: 0.1em;
	font-size: 0.82em;
	line-height: 1.15;
}

.samatova-add-to-cart__total .samatova-price-compare__retail,
.samatova-add-to-cart__total .samatova-price-compare__partner {
	font-size: 1em;
}

/* ── Quantity stepper (− input +) ───────────────────────────────────────────── */

.samatova-qty-wrap {
	display: inline-flex;
	align-items: center;
	gap: 0;
	background: var(--color-surface-lowest);
	border: 1.5px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	overflow: hidden;
}

.samatova-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 2.5rem;
	width: 2.5rem;
	height: 50px;
	border: none;
	background: transparent;
	cursor: pointer;
	color: var(--color-on-surface-variant);
	transition: background 0.15s ease, color 0.15s ease;
}

.samatova-qty-btn:hover {
	background: var(--color-surface-container-highest);
	color: var(--color-primary);
}

.samatova-qty-btn .material-symbols-outlined {
	font-size: 1.25rem;
}

.samatova-qty-wrap .qty {
	flex: 0 0 3rem;
	width: 3rem;
	text-align: center;
	border: none;
	border-left: 1.5px solid var(--color-outline-variant);
	border-right: 1.5px solid var(--color-outline-variant);
	border-radius: 0;
	background: transparent;
	font: var(--text-body-md);
	font-weight: 600;
	padding: 0.4rem 0;
	appearance: textfield;
	-moz-appearance: textfield;
}

.samatova-qty-wrap .qty::-webkit-outer-spin-button,
.samatova-qty-wrap .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* ── Testimonials page: masonry layout ─────────────────────────────────── */
.samatova-testimonials-shortcode {
	padding-top: 0;
	padding-bottom: 0;background-color: transparent;
}

.samatova-reviews__masonry {
	columns: 1;
	column-gap: var(--space-md);
}

@media (min-width: 600px) {
	.samatova-reviews__masonry { columns: 2; }
}

@media (min-width: 1080px) {
	.samatova-reviews__masonry { columns: 3; }
}

/* Cards must not split across column breaks */
.samatova-review--masonry {
	break-inside: avoid;
	display: block;
	min-height: unset;
	margin-bottom: var(--space-md);
}

/* Product / category pill badge */
.samatova-review__badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: var(--radius-full);
	background: var(--color-surface-container);
	color: var(--color-secondary);
	font: var(--text-label);
	font-size: 0.75rem;
	line-height: 1.5;
	margin-bottom: var(--space-sm);
	text-decoration: none;
}

a.samatova-review__badge:hover {
	background: var(--color-surface-container-high);
	color: var(--color-on-secondary-container);
}

/* Compact one-line author footer */
.samatova-review__footer {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.3rem;
	margin-top: var(--space-sm);
	padding-top: var(--space-sm);
	border-top: 1px solid rgba(0, 29, 54, 0.07);
}

.samatova-review__footer .samatova-review__name {
	font: var(--text-label);
	margin: 0;
}

.samatova-review__footer .samatova-review__sep {
	color: var(--color-outline);
	font-size: 0.875rem;
	line-height: 1;
}

.samatova-review__footer .samatova-review__role,
.samatova-review__footer .samatova-review__location {
	font-size: 0.8125rem;
	color: var(--color-on-surface-variant);
	margin: 0;
}

@media only screen and (max-width: 450px) {
  .samatova-container.samatova-header__inner {padding-right: var(--space-sm);gap: 8px}
  .samatova-header__brand {font-size: 1.4rem;height: 4rem}
  .samatova-footer {padding-bottom: 90px;}
  .woocommerce div.product .summary .samatova-product-cat-desc--box {padding: 20px;}
}

/* ── Checkout: fix shipping row layout so price stays right-aligned ─────────── */

/* WC Blocks totals-shipping: the flex container uses flex-wrap:wrap and includes
   an empty __description div (width:100%) that breaks the label+price into
   separate rows. Switch to grid so label and price are always on the same row. */
.wc-block-components-totals-shipping .wc-block-components-totals-item {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "label value" "desc desc";
	align-items: baseline;
	gap: 0 4px;
}

.wc-block-components-totals-shipping .wc-block-components-totals-item__label {
	grid-area: label;
	min-width: 0;
}

.wc-block-components-totals-shipping .wc-block-components-totals-item__value {
	grid-area: value;
	white-space: nowrap;
	text-align: right;
}

.wc-block-components-totals-shipping .wc-block-components-totals-item__description {
	grid-area: desc;
	width: auto;
}

/* ── Order received page ────────────────────────────────────────────────────── */

/* Order overview list (ORDER NUMBER, DATE, etc.)
   Gap-as-border: container bg = border colour, gap = 1px, cells = white bg.
   No item-level borders — works at every flex-wrap breakpoint. */
.woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	list-style: none;
	padding: 0;
	margin: 0 0 var(--space-lg);
	background: var(--color-outline-variant);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	overflow: hidden;
}

.woocommerce ul.order_details li,
.woocommerce ul.order_details li:last-of-type {
	flex: 1 1 auto;
	float: none;
	background: var(--color-surface-lowest);
	padding: var(--space-sm) var(--space-md);
	margin: 0;
	/* beat woocommerce-general.css which adds border-right after main.css */
	border: none !important;
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--color-on-surface-variant, #666);
}

.woocommerce ul.order_details li strong {
	display: block;
	font-size: 1rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: var(--color-on-surface, #111);
	margin-top: 4px;
}

/* Order details table
   border-collapse: separate + border-spacing: 0 so that border-radius and
   overflow: hidden actually clip the corners. Borders are assigned per zone
   so no edge ever gets two borders regardless of scroll or viewport size. */
.woocommerce-order-details {
	margin-top: var(--space-lg);
}

.woocommerce-table--order-details {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	overflow: hidden;
	font-size: 0.95rem;
}

/* thead: bottom border separates header from body; outer borders = table */
.woocommerce-table--order-details thead th {
	padding: var(--space-sm) var(--space-md);
	background: var(--color-surface-container);
	font-weight: 600;
	text-align: left;
	border-bottom: 1px solid var(--color-outline-variant);
}

.woocommerce-table--order-details thead th:last-child {
	text-align: right;
}

/* tbody: border-bottom between rows only; no other cell borders */
.woocommerce-table--order-details tbody td {
	padding: var(--space-sm) var(--space-md);
	vertical-align: middle;
}

.woocommerce-table--order-details tbody td:last-child {
	text-align: right;
	white-space: nowrap;
}

/* Last tbody row has no bottom border — tfoot provides the divider above */
.woocommerce-table--order-details tbody tr:last-child td {
	border-bottom: none;
}

/* tfoot: top border divides it from tbody; no bottom on last row (= table border) */
.woocommerce-table--order-details tfoot td,
.woocommerce-table--order-details tfoot th {
	padding: var(--space-sm) var(--space-md);
	border-top: 1px solid var(--color-outline-variant);
}

.woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-table--order-details tfoot tr:last-child th {
	border-bottom: none;
}

.woocommerce-table--order-details tfoot th {
	text-align: left;
	font-weight: 500;
	color: var(--color-on-surface-variant);
}

/* tfoot price column: right-aligned, allow wrap (shipping row can be long) */
.woocommerce-table--order-details tfoot td {
	text-align: right;
}

.woocommerce-table--order-details tfoot tr.order-total th,
.woocommerce-table--order-details tfoot tr.order-total td {
	font-weight: 700;
	font-size: 1.05rem;
	border-top: 2px solid var(--color-outline-variant);
}

/* Responsive: fix layout so content wraps inside cells instead of
   pushing the table off-screen. thead gets explicit column widths;
   table-layout: fixed distributes them proportionally at any viewport. */
@media (max-width: 600px) {
	.woocommerce-table--order-details {
		table-layout: fixed;
	}

	/* product name column ~60 %, price column ~40 % */
	.woocommerce-table--order-details thead th:first-child {
		width: 60%;
	}
	.woocommerce-table--order-details thead th:last-child {
		width: 40%;
	}

	/* let every cell wrap freely — no content should escape the column */
	.woocommerce-table--order-details td,
	.woocommerce-table--order-details th {
		word-break: break-word;
		overflow-wrap: break-word;
		white-space: normal !important;
	}
}

/* ── Single product: hide tags row ─────────────────────────────────────────── */

.woocommerce div.product .product_meta .tagged_as {
	display: none;
}

/* Related products + reviews: span product 2-col grid + full-bleed page width */
.single-product .woocommerce div.product > .related.products,
.single-product .woocommerce div.product > section.related.products,
.single-product .woocommerce div.product > .samatova-product-reviews {
	grid-column: 1 / -1;
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	padding: var(--space-lg) max(var(--space-md), calc((100vw - min(100%, var(--container-max))) / 2));
	margin-top: var(--space-md);
}

.single-product .woocommerce div.product > .related.products,
.single-product .woocommerce div.product > section.related.products {
	padding-bottom: var(--space-xl);
}

/* Reviews block: full-bleed band with centered card */
.single-product .woocommerce div.product > .samatova-product-reviews {
	background: var(--color-surface-low);
}

.samatova-product-reviews__inner {
	width: 100%;
	max-width: var(--container-max);
	margin: 0 auto;
}

.samatova-product-reviews__card {
	background: #fff;
	border: 1px solid var(--color-surface-low);
	border-radius: var(--radius-2xl);
	box-shadow: var(--shadow-card);
	padding: var(--space-lg);
}

.samatova-product-reviews__card #reviews #comments h2 {
	font: var(--text-h2);
	margin: 0 0 var(--space-md);
	color: var(--color-on-surface);
}

.samatova-product-reviews__card #reviews ol.commentlist {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--space-md);
}

.samatova-product-reviews__card #reviews ol.commentlist li {
	padding: var(--space-md);
	background: var(--color-surface-lowest);
	border: 1px solid var(--color-surface-low);
	border-radius: var(--radius-md);
	margin-bottom: var(--space-sm);
}

.samatova-product-reviews__card .woocommerce-noreviews {
	margin: 0 0 var(--space-md);
	color: var(--color-on-surface-variant);
}

.samatova-product-reviews__card #review_form_wrapper {
	margin-top: var(--space-md);
}

.samatova-product-reviews__card #review_form #respond {
	background: transparent;
}

.samatova-product-reviews__card #review_form #respond .comment-reply-title {
	display: block;
	font: var(--text-h3);
	margin: 0 0 var(--space-sm);
	color: var(--color-on-surface);
}

.samatova-product-reviews__card #review_form #respond label {
	display: block;
	margin-bottom: 0.25rem;
	font-weight: 600;
	color: var(--color-on-surface);
}

.samatova-product-reviews__card #review_form #respond textarea,
.samatova-product-reviews__card #review_form #respond input[type="text"],
.samatova-product-reviews__card #review_form #respond input[type="email"] {
	width: 100%;
	max-width: 32rem;
	padding: 0.65rem 0.85rem;
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-md);
	background: #fff;
	font: var(--text-body-md);
	box-sizing: border-box;
}

.samatova-product-reviews__card #review_form #respond textarea {
	max-width: 100%;
	min-height: 8rem;
}

.samatova-product-reviews__card #review_form #respond .form-submit input[type="submit"] {
	background: var(--color-primary);
	color: #fff;
	border: 0;
	border-radius: var(--radius-md);
	padding: 0.75rem 1.5rem;
	font: var(--text-button);
	cursor: pointer;
}

.samatova-product-reviews__card #review_form #respond .form-submit input[type="submit"]:hover {
	background: var(--color-primary-container);
}

/* ── Cart / checkout order summary totals ─────────────────────────────────── */

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item,
.wc-block-components-checkout-order-summary .wc-block-components-totals-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 1rem;
	align-items: start;
	width: 100%;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__label,
.wc-block-components-checkout-order-summary .wc-block-components-totals-item__label {
	grid-column: 1;
	grid-row: 1;
	flex-grow: unset;
	min-width: 0;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__value,
.wc-block-components-checkout-order-summary .wc-block-components-totals-item__value,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	white-space: nowrap;
	font-weight: 700;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__description,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__description,
.wc-block-components-checkout-order-summary .wc-block-components-totals-item__description {
	grid-column: 1 / -1;
	grid-row: 2;
	width: auto;
}

/* Woo blocks: proceed-to-checkout button should follow theme CTA style */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
.wc-block-cart .wp-block-woocommerce-proceed-to-checkout-block .wp-element-button {
	background: var(--color-cfa);
	border: 1px solid var(--color-cfa);
	border-radius: var(--radius-md);
	color: var(--color-on-cfa);
	font: var(--text-button);
	font-weight: 700;
	text-decoration: none;
}

.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover,
.wc-block-cart .wp-block-woocommerce-proceed-to-checkout-block .wp-element-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:focus,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:focus,
.wc-block-cart .wp-block-woocommerce-proceed-to-checkout-block .wp-element-button:focus {
	background: var(--color-cfa);
	border-color: var(--color-cfa);
	color: var(--color-on-cfa);
	text-decoration: none;
}

/* Woo blocks: place-order button should follow theme CTA style */
.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background: var(--color-cfa);
	border: 1px solid var(--color-cfa);
	border-radius: var(--radius-md);
	color: var(--color-on-cfa);
	font: var(--text-button);
	font-weight: 700;
	text-decoration: none;
}

.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button:focus,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button:focus,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:focus {
	background: var(--color-cfa);
	border-color: var(--color-cfa);
	color: var(--color-on-cfa);
	text-decoration: none;
}

/* Country notices: digital-only markets (product/cart/checkout) */
.samatova-country-banner {
	display: block;
	margin: 0 0 1.25rem;
	padding: 0.95rem 1.1rem;
	border: 1px solid #b9e7de;
	border-left: 4px solid #1999a8;
	border-radius: 12px;
	background: linear-gradient(135deg, #f5fffd 0%, #eafaf7 100%);
	color: #0f525a;
	font-size: 0.98rem;
	line-height: 1.55;
	box-shadow: 0 6px 16px rgba(25, 153, 168, 0.08);
}

.samatova-country-banner a,
.samatova-country-banner .samatova-country-picker-trigger {
	color: #0d6f7d;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}

.samatova-country-banner a:hover,
.samatova-country-banner a:focus,
.samatova-country-banner .samatova-country-picker-trigger:hover,
.samatova-country-banner .samatova-country-picker-trigger:focus {
	color: #0a5560;
}

.samatova-country-banner .samatova-country-picker-trigger {
	display: inline;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	cursor: pointer;
}

.samatova-digital-only-notice__line {
	margin: 0;
}

.samatova-digital-only-notice__line + .samatova-digital-only-notice__line {
	margin-top: 12px;
}

.samatova-country-picker {
	width: min(calc(100% - 2.5rem), 420px);
	max-width: none;
	max-height: calc(100% - 2.5rem);
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}

.samatova-country-picker:not([open]).is-open {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	background: rgba(15, 45, 52, 0.45);
}

.samatova-country-picker::backdrop {
	background: rgba(15, 45, 52, 0.45);
}

.samatova-country-picker__panel {
	width: 100%;
	padding: 1.35rem 1.35rem 1.2rem;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(15, 45, 52, 0.18);
}

.samatova-country-picker__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.samatova-country-picker__head h2 {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.3;
}

.samatova-country-picker__close {
	border: 0;
	background: transparent;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	color: #0f525a;
}

.samatova-country-picker__field {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin-bottom: 0.85rem;
}

.samatova-country-picker__label {
	font-size: 0.82rem;
	font-weight: 700;
	color: #35565b;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.samatova-country-picker__select {
	width: 100%;
	min-height: 44px;
	padding: 0.55rem 0.75rem;
	border: 1px solid #b9e7de;
	border-radius: 10px;
	font: inherit;
	color: #0f525a;
	background: #fff;
}

.samatova-country-picker__select:focus {
	outline: 2px solid rgba(25, 153, 168, 0.35);
	outline-offset: 2px;
	border-color: #1999a8;
}

.samatova-country-picker__error {
	margin: 0 0 0.75rem;
	color: #b42318;
	font-size: 0.92rem;
}

.samatova-country-picker__actions {
	display: flex;
	justify-content: flex-end;
	gap: 0.65rem;
}

.samatova-country-picker__cancel,
.samatova-country-picker__save {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 1.25rem;
	border-radius: 10px;
	font: inherit;
	font-size: 0.98rem;
	font-weight: 600;
	cursor: pointer;
	transition: filter 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.samatova-country-picker__cancel {
	border: 1px solid #b9e7de;
	background: #fff;
	color: #0f525a;
}

.samatova-country-picker__cancel:hover,
.samatova-country-picker__cancel:focus {
	background: #f5fffd;
	border-color: #1999a8;
	color: #0a5560;
}

.samatova-country-picker__save {
	border: none;
	background: var(--color-primary, #1999a8);
	color: #fff;
}

.samatova-country-picker__save:hover,
.samatova-country-picker__save:focus {
	filter: brightness(0.95);
}

.samatova-country-picker__save:disabled {
	opacity: 0.65;
	cursor: wait;
}

body.samatova-country-picker-open {
	overflow: hidden;
}

/* ==========================================================================
   WooCommerce My Account — sleek modern redesign
   ========================================================================== */

/* ── Neutralize WC clearfix / float hacks (break flex & grid) ── */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account .addresses::before,
.woocommerce-account .addresses::after,
.woocommerce-account .addresses .title::before,
.woocommerce-account .addresses .title::after,
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after,
.woocommerce-account .woocommerce-Address::before,
.woocommerce-account .woocommerce-Address::after,
.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after,
.woocommerce-account .woocommerce-MyAccount-content::before,
.woocommerce-account .woocommerce-MyAccount-content::after,
.woocommerce-account .woocommerce-MyAccount-navigation::before,
.woocommerce-account .woocommerce-MyAccount-navigation::after,
.woocommerce-account .u-columns::before,
.woocommerce-account .u-columns::after,
.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after,
.woocommerce-account .woocommerce-address-fields::before,
.woocommerce-account .woocommerce-address-fields::after,
.woocommerce-account .woocommerce-EditAccountForm::before,
.woocommerce-account .woocommerce-EditAccountForm::after {
	content: none !important;
	display: none !important;
	clear: none !important;
}

.woocommerce-account .addresses .title h2,
.woocommerce-account .addresses .title h3,
.woocommerce-account .addresses .title .edit,
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-Address-title .edit {
	float: none !important;
}

/* ── Layout ── */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 220px 1fr;
	grid-template-areas: "nav content";
	gap: var(--space-lg);
	align-items: start;
	padding: var(--space-lg) 0;
}

.woocommerce-MyAccount-navigation {
	grid-area: nav;
}

.woocommerce-MyAccount-content {
	grid-area: content;
}

@media (max-width: 767px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		grid-template-areas: "nav" "content";
		gap: var(--space-md);
		padding: var(--space-md) 0;
	}
}

/* ── Sidebar navigation ── */
.woocommerce-MyAccount-navigation {
	position: sticky;
	top: calc(var(--samatova-header-height) + 1rem);
	background: var(--color-surface-lowest);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-2xl);
	box-shadow: var(--shadow-card);
	padding: var(--space-sm);
	overflow: hidden;
}

.woocommerce-account .woocommerce-Address-title h2 {
    margin-bottom: 0 !important;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

@media (max-width: 767px) {
	.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 4px;
	}
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
}

.woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.65rem 1rem;
	border-radius: var(--radius-xl);
	color: var(--color-on-surface-variant);
	font: var(--text-label);
	font-size: 0.9rem;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}

.woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--color-surface-container);
	color: var(--color-on-surface);
	text-decoration: none;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
	background: var(--color-primary);
	color: var(--color-on-primary);
	font-weight: 700;
}

.woocommerce-MyAccount-navigation ul li.is-active a:hover,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a:hover {
	background: var(--color-primary-container);
}

/* ── Content area ── */
.woocommerce-MyAccount-content {
	min-width: 0;
}

.woocommerce-MyAccount-content p:first-child {
	margin-top: 0;
}

/* ── Account page headings ── */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font: var(--text-h3);
	color: var(--color-on-surface);
	margin: 0 0 var(--space-md);
}

/* ── Dashboard welcome message ── */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
	background: var(--color-surface-low);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	padding: 1.25rem 1.5rem;
	margin-bottom: var(--space-md);
	color: var(--color-on-surface);
	line-height: 1.6;
}

/* ── Orders table ── */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	font: var(--text-body-md);
}

.woocommerce-account .woocommerce-orders-table thead th,
.woocommerce-account table.shop_table thead th {
	background: var(--color-surface-container);
	color: var(--color-on-surface);
	font: var(--text-label);
	padding: 0.9rem 1.1rem;
	text-align: left;
	border-bottom: 1px solid var(--color-outline-variant);
}

.woocommerce-account .woocommerce-orders-table tbody tr,
.woocommerce-account table.shop_table tbody tr {
	transition: background 0.12s ease;
}

.woocommerce-account .woocommerce-orders-table tbody tr:hover,
.woocommerce-account table.shop_table tbody tr:hover {
	background: var(--color-surface-low);
}

.woocommerce-account .woocommerce-orders-table tbody td,
.woocommerce-account table.shop_table tbody td,
.woocommerce-account table.shop_table tfoot td,
.woocommerce-account table.shop_table tfoot th {
	padding: 0.85rem 1.1rem;
	border-bottom: 1px solid var(--color-outline-variant);
	vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table tbody tr:last-child td,
.woocommerce-account table.shop_table tbody tr:last-child td {
	border-bottom: none;
}

/* ── Forms (addresses, account details) ── */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm {
	background: var(--color-surface-lowest);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-2xl);
	box-shadow: var(--shadow-card);
	padding: var(--space-md);
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row {
	margin: 0 0 1rem;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row label {
	display: block;
	font: var(--text-label);
	color: var(--color-on-surface-variant);
	margin-bottom: 0.35rem;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content form .form-row input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content form .form-row input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content form .form-row input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content form .form-row select,
.woocommerce-account .woocommerce-MyAccount-content form .form-row textarea {
	width: 100%;
	padding: 0.7rem 1rem;
	border: 1.5px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	background: var(--color-surface-lowest);
	color: var(--color-on-surface);
	font: var(--text-body-md);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row input:focus,
.woocommerce-account .woocommerce-MyAccount-content form .form-row select:focus,
.woocommerce-account .woocommerce-MyAccount-content form .form-row textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(0, 102, 113, 0.12);
}

/* Country/state Select2 — match text inputs (height, border, radius) */
.woocommerce-account .woocommerce-MyAccount-content form .form-row .select2-container {
	width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row .select2-container--default .select2-selection--single {
	height: auto;
	min-height: calc(1.6rem + 1.4rem);
	border: 1.5px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	background: var(--color-surface-lowest);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0.7rem 2.5rem 0.7rem 1rem;
	color: var(--color-on-surface);
	font: var(--text-body-md);
	line-height: 1.6;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 0.75rem;
	height: 100%;
	width: 1.25rem;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-account .woocommerce-MyAccount-content form .form-row .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(0, 102, 113, 0.12);
	outline: none;
}

/* Legacy WC float rows / clearfix — not needed in theme layout */
.woocommerce-account .woocommerce-MyAccount-content form .clear {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
	float: none;
	width: 100%;
}

/* Password show/hide toggle (WC layout stylesheet is dequeued) */
.woocommerce-account form .password-input {
	display: block;
	position: relative;
	width: 100%;
}

.woocommerce-account form .password-input input[type="password"] {
	padding-right: 2.75rem;
}

.woocommerce-account form .password-input input::-ms-reveal {
	display: none;
}

.woocommerce-account form .show-password-input {
	position: absolute;
	right: 0.65rem;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--radius-sm);
	background: transparent;
	cursor: pointer;
	line-height: 1;
	-webkit-appearance: none;
	appearance: none;
}

.woocommerce-account form .show-password-input::before {
	content: "";
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z' fill='%233d494b'/%3E%3C/svg%3E");
}

.woocommerce-account form .show-password-input.display-password::before {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.3 9.5C15 4.9 8.5 3.8 3.9 7.2C2.7 8.1 1.7 9.3 0.9 10.6C1.1 11 1.4 11.4 1.7 11.8C5 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.8 18.3 9.5ZM10.1 7.2C10.6 6.7 11.4 6.7 11.9 7.2C12.4 7.7 12.4 8.5 11.9 9C11.4 9.5 10.6 9.5 10.1 9C9.6 8.5 9.6 7.7 10.1 7.2ZM10 14.9C6.9 14.9 4 13.3 2.3 10.7C3.5 9 5.1 7.8 7 7.2C6.3 8 6 8.9 6 9.9C6 12.1 7.7 14 10 14C12.2 14 14.1 12.3 14.1 10V9.9C14.1 8.9 13.7 7.9 13 7.2C14.9 7.8 16.5 9 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z' fill='%233d494b'/%3E%3C/svg%3E");
}

/* Password strength meter (register, edit account, reset password) */
.woocommerce-account .woocommerce-password-strength {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: 0.5rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-md);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	color: var(--color-on-surface);
	background: var(--color-surface-container);
}

.woocommerce-account .woocommerce-password-strength:empty,
.woocommerce-account .woocommerce-password-strength[style*="display: none"] {
	display: none !important;
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-account .woocommerce-password-strength.short {
	background: #fde8e8;
	border-color: #e35b5b;
	color: #7a1f1f;
}

.woocommerce-account .woocommerce-password-strength.bad {
	background: #ffecd9;
	border-color: #f78b53;
	color: #7a3d10;
}

.woocommerce-account .woocommerce-password-strength.good {
	background: #fff4d6;
	border-color: #ffc733;
	color: #6b5200;
}

.woocommerce-account .woocommerce-password-strength.strong {
	background: #e0f5e8;
	border-color: #83c373;
	color: #1f5c2e;
}

.woocommerce-account .woocommerce-password-hint {
	display: block;
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--color-on-surface-variant);
}

.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: var(--space-md) 0 0;
	padding: var(--space-md);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
}

.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
	font: var(--text-label);
	padding: 0 0.35rem;
}

.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type {
	margin: var(--space-md) 0 0;
}

/* ── Addresses: two-up layout ── */
.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-md);
}

@media (max-width: 640px) {
	.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}

.woocommerce-account .woocommerce-Address {
	background: var(--color-surface-lowest);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-2xl);
	box-shadow: var(--shadow-card);
	padding: var(--space-md);
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: var(--space-sm);
	gap: var(--space-sm);
}

.woocommerce-account .woocommerce-Address-title h3 {
	margin: 0;
	font: var(--text-label);
	font-size: 1rem;
	color: var(--color-on-surface);
}

.woocommerce-account .woocommerce-Address-title a {
	font: var(--text-label);
	font-size: 0.8rem;
	color: var(--color-brand-accent);
	text-decoration: none;
	border: 1.5px solid var(--color-outline-variant);
	border-radius: var(--radius-full);
	padding: 0.25rem 0.75rem;
	transition: background 0.15s ease, border-color 0.15s ease;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-Address-title a:hover {
	background: var(--color-surface-container);
	border-color: var(--color-brand-accent);
	color: var(--color-primary);
	text-decoration: none;
}

.woocommerce-account address {
	font-style: normal;
	color: var(--color-on-surface-variant);
	line-height: 1.7;
	font-size: 0.95rem;
}

/* ── Order detail page ── */
.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details {
	margin-bottom: var(--space-md);
}

.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-column__title {
	font: var(--text-h3);
	font-size: 1.1rem;
	margin-bottom: var(--space-sm);
}

/* ── Downloads table ── */
.woocommerce-account .woocommerce-MyAccount-downloads td,
.woocommerce-account .woocommerce-MyAccount-downloads th {
	padding: 0.75rem 1rem;
}

/* ── "No orders" / empty state ── */
.woocommerce-account .woocommerce-message {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
}

/* ── Login / Register forms (not logged in) ── */
.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
	max-width: 860px;
	margin: 0 auto;
	padding: var(--space-lg) 0;
}

.woocommerce-account .u-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-md);
	align-items: start;
}

@media (max-width: 640px) {
	.woocommerce-account .u-columns {
		grid-template-columns: 1fr;
		gap: var(--space-md);
	}
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	background: var(--color-surface-lowest);
	border: 1px solid var(--color-outline-variant);
	border-radius: var(--radius-2xl);
	box-shadow: var(--shadow-card);
	padding: var(--space-md);
}

.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
	font: var(--text-h3);
	margin: 0 0 var(--space-md);
}

.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row {
	margin: 0 0 1rem;
}

.woocommerce-account .woocommerce-form-login .form-row label,
.woocommerce-account .woocommerce-form-register .form-row label {
	display: block;
	font: var(--text-label);
	color: var(--color-on-surface-variant);
	margin-bottom: 0.35rem;
}

.woocommerce-account .woocommerce-form-login input[type="text"],
.woocommerce-account .woocommerce-form-login input[type="email"],
.woocommerce-account .woocommerce-form-login input[type="password"],
.woocommerce-account .woocommerce-form-register input[type="text"],
.woocommerce-account .woocommerce-form-register input[type="email"],
.woocommerce-account .woocommerce-form-register input[type="password"] {
	width: 100%;
	padding: 0.7rem 1rem;
	border: 1.5px solid var(--color-outline-variant);
	border-radius: var(--radius-xl);
	background: var(--color-surface-lowest);
	color: var(--color-on-surface);
	font: var(--text-body-md);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.woocommerce-account .woocommerce-form-login input:focus,
.woocommerce-account .woocommerce-form-register input:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(0, 102, 113, 0.12);
}

.woocommerce-account .woocommerce-form-login .form-row-last,
.woocommerce-account .woocommerce-form-register .form-row-last {
	margin-top: var(--space-sm);
}

/* Bottom row: remember checkbox + submit button — stack vertically */
.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit),
.woocommerce-account .woocommerce-form-register > p:last-of-type {
	margin-top: var(--space-md);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-sm);
}

.woocommerce-account .woocommerce-form-login__submit {
	display: block;
	width: 100%;
	padding: 0.85rem 1.5rem;
	background: var(--color-primary);
	color: var(--color-on-primary);
	border: none;
	border-radius: var(--radius-xl);
	font: var(--text-button);
	cursor: pointer;
	transition: background 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.woocommerce-account .woocommerce-form-login__submit:hover {
	background: var(--color-primary-container);
}

/* "Забыли пароль?" — separate line below the button */
.woocommerce-account .woocommerce-LostPassword {
	margin-top: var(--space-sm);
}

.woocommerce-account .woocommerce-LostPassword a {
	font-size: 0.875rem;
	color: var(--color-on-surface-variant);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.woocommerce-account .woocommerce-LostPassword a:hover {
	color: var(--color-primary);
}

/* ── "Remember me" checkbox row ── */
.woocommerce-account .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	color: var(--color-on-surface-variant);
	order: -1;
}

/* Shipping cost calculator */
.samatova-shipping-calculator {
	max-width: 720px;
	margin: 0 auto;
	padding: 1.5rem;
	border: 1px solid var(--color-outline-variant, #e0e0e0);
	border-radius: 16px;
	background: var(--color-surface, #fff);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.samatova-shipping-calculator__title {
	margin: 0 0 1rem;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--color-on-surface, #1a1a1a);
}

.samatova-shipping-calculator__intro p {
	margin: 0 0 0.75rem;
	line-height: 1.55;
	color: var(--color-on-surface, #1a1a1a);
}

.samatova-shipping-calculator__weights-note {
	font-size: 0.92rem;
	color: var(--color-on-surface-variant, #555);
}

.samatova-shipping-calculator__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin: 1.25rem 0 1rem;
}

.samatova-shipping-calculator__field--country {
	grid-column: 1 / -1;
}

.samatova-shipping-calculator__label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--color-on-surface-variant, #444);
}

.samatova-shipping-calculator__input,
.samatova-shipping-calculator__select {
	width: 100%;
	height: 44px;
	padding: 0 0.75rem;
	border: 1.5px solid var(--color-outline-variant, #d0d0d0);
	border-radius: 10px;
	font-size: 1rem;
	background: #fff;
	box-sizing: border-box;
}

.samatova-shipping-calculator__input:focus,
.samatova-shipping-calculator__select:focus {
	border-color: var(--color-primary, #1999a8);
	outline: none;
	box-shadow: 0 0 0 2px rgba(25, 153, 168, 0.15);
}

.samatova-shipping-calculator__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 1.5rem;
	border: none;
	border-radius: 10px;
	background: var(--color-primary, #1999a8);
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}

.samatova-shipping-calculator__submit:hover {
	filter: brightness(0.95);
}

.samatova-shipping-calculator__result {
	margin-top: 1.25rem;
	padding: 1rem 1.1rem;
	border-radius: 12px;
	line-height: 1.5;
}

.samatova-shipping-calculator__result--success {
	background: #f5fffd;
	border: 1px solid #b9e7de;
}

.samatova-shipping-calculator__result--error {
	background: #fef9e7;
	border: 1px solid #dba617;
	color: #6b4d00;
}

.samatova-shipping-calculator__result-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.35rem 1rem;
	padding: 0.35rem 0;
}

.samatova-shipping-calculator__result-row--total {
	margin-top: 0.5rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.samatova-shipping-calculator__result-label {
	color: var(--color-on-surface-variant, #555);
}

.samatova-shipping-calculator__result-price {
	font-size: 1.35rem;
	color: var(--color-primary, #1999a8);
}

.samatova-shipping-calculator__disclaimer {
	margin: 1rem 0 0;
	font-size: 0.85rem;
	color: var(--color-on-surface-variant, #666);
	line-height: 1.45;
}

@media (max-width: 560px) {
	.samatova-shipping-calculator__grid {
		grid-template-columns: 1fr;
	}

	.samatova-shipping-calculator__field--country {
		grid-column: auto;
	}
}

/* Shipping providers snippet */
.samatova-shipping-providers {
	max-width: 720px;
	line-height: 1.55;
	color: var(--color-on-surface, #1a1a1a);
	margin-bottom: 24px;
}

.samatova-shipping-providers__intro {
	margin: 0 0 1rem;
}

.samatova-shipping-providers__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.samatova-shipping-providers__item {
	margin: 0 0 1.25rem;
}

.samatova-shipping-providers__item:last-child {
	margin-bottom: 0;
}

.samatova-shipping-providers__title {
	margin: 0 0 0.35rem;
	font-weight: 600;
}

.samatova-shipping-providers__title a {
	color: var(--color-primary, #1999a8);
	text-decoration: underline;
}

.samatova-shipping-providers__countries,
.samatova-shipping-providers__days {
	margin: 0 0 0.35rem;
}

.samatova-shipping-providers__days {
	color: var(--color-on-surface-variant, #555);
}

/* Blog layout & sidebar */
.samatova-blog-layout {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg);
}

@media (min-width: 1024px) {
	.samatova-blog-layout {
		flex-direction: row;
		align-items: flex-start;
	}
}

.samatova-blog-main {
	flex: 1;
	min-width: 0;
}

.samatova-blog-sidebar {
	width: 100%;
	flex-shrink: 0;
}

@media (min-width: 1024px) {
	.samatova-blog-sidebar {
		width: 300px;
	}
}

.samatova-blog-sidebar__inner {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}

.samatova-blog-sidebar__inner > .samatova-widget {
	background: var(--color-surface-lowest);
	padding: var(--space-md);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-card);
	border: 1px solid #f1f5f9;
}

.samatova-blog-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.samatova-blog-sidebar__list a {
	font: var(--text-body-md);
	color: var(--color-on-surface);
	text-decoration: none;
}

.samatova-blog-sidebar__list a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

.samatova-search-form {
	display: flex;
	gap: var(--space-sm);
}

.samatova-search-form__input {
	flex: 1;
	min-width: 0;
	padding: 0.75rem 1rem;
	border: 1px solid #e2e8f0;
	border-radius: var(--radius-xl);
	font: var(--text-body-md);
	color: var(--color-on-surface);
	background: #fff;
}

.samatova-search-form__input:focus {
	outline: 2px solid var(--color-primary-fixed);
	outline-offset: 2px;
	border-color: transparent;
}

.samatova-search-form__submit {
	flex-shrink: 0;
	padding: 0.75rem 1rem;
	min-width: 3rem;
}

.samatova-search-form__submit .material-symbols-outlined {
	font-size: 1.25rem;
}

.samatova-blog-post__meta {
	font: var(--text-label);
	color: var(--color-on-surface-variant);
	margin-bottom: var(--space-md);
}

.samatova-blog-post__featured {
	margin-bottom: var(--space-lg);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-card);
}

.samatova-blog-post__thumb {
	display: block;
	width: 100%;
	height: auto;
}

/* Columns page template */
.samatova-page-columns {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: var(--space-lg);
}

.samatova-page-columns__col {
	flex: 1 1 0;
	min-width: 0;
}

.samatova-page-columns--flipped {
	flex-direction: row-reverse;
}

@media (max-width: 960px) {
	.samatova-page-columns {
		flex-direction: column;
	}

	.samatova-page-columns--flipped {
		flex-direction: column-reverse;
	}
}


@media (max-width: 540px) {
	.samatova-product-reviews__card {padding: 20px;}
	.samatova-product-reviews__card #review_form #respond .comment-reply-title {font-size: 1rem !important;}
}

@media (max-width: 450px) {
	.samatova-content {padding-left: var(--space-sm);padding-right: var(--space-sm);}
	.woocommerce div.product form.cart .single_add_to_cart_button {padding-inline: 12px !important;}
	.samatova-product-pair__grid {padding: 0 24px;}
	.samatova-product-pair__aside {margin-top: var(--space-md);}
}

