:root {
	--teasphera-bg: #fcfbf8;
	--teasphera-surface: #ffffff;
	--teasphera-surface-alt: #f5f1ea;
	--teasphera-line: #e6dfd4;
	--teasphera-line-strong: #d2c6b6;
	--teasphera-text: #181613;
	--teasphera-text-soft: #696259;
	--teasphera-accent: #2f5946;
	--teasphera-shadow: 0 22px 60px rgba(48, 38, 26, 0.08);
	--teasphera-radius-lg: 32px;
	--teasphera-radius-md: 22px;
	--teasphera-shell: 1240px;
	--teasphera-headings: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
	--teasphera-body: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;
}

body {
	background: var(--teasphera-bg);
	color: var(--teasphera-text);
	font-family: var(--teasphera-body);
}

body,
button,
input,
select,
textarea {
	font-family: var(--teasphera-body);
}

#masthead.site-header {
	display: none;
}

.teasphera-topbar {
	background: #ffffff;
	border-bottom: 1px solid #ece7de;
	position: relative;
	z-index: 40;
}

.teasphera-topbar__inner {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	min-height: 72px;
}

.teasphera-topbar__brand-wrap,
.teasphera-topbar__actions {
	align-items: center;
	display: flex;
	gap: 12px;
}

.teasphera-topbar__brand {
	color: #111111;
	font-family: var(--teasphera-body);
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	text-decoration: none;
}

/* Лого-картинка «ТИАСФЕРА» вместо текстового бренда (Жека/Никита 2026-05-29).
   Ссылка-обёртка ведёт на главную — это и есть «кнопка главной сверху». */
.teasphera-topbar__brand {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}
.teasphera-topbar__logo {
	display: block;
	height: 36px;
	width: auto;
}

.teasphera-topbar__action,
.teasphera-topbar__icon {
	align-items: center;
	background: #ffffff;
	border: 1px solid #dfdfdf;
	border-radius: 6px;
	color: #111111;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 600;
	gap: 8px;
	justify-content: center;
	min-height: 42px;
	padding: 0 14px;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.teasphera-topbar__action:hover,
.teasphera-topbar__icon:hover {
	background: #f7f7f7;
	border-color: #cfcfcf;
}

.teasphera-topbar__icon {
	min-width: 42px;
	padding: 0 12px;
	position: relative;
}

.teasphera-topbar__icon--cart small {
	align-items: center;
	background: #111111;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 700;
	height: 18px;
	justify-content: center;
	min-width: 18px;
	padding: 0 4px;
	position: absolute;
	right: -6px;
	top: -6px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.woocommerce div.product .product_title,
.teasphera-hero__title {
	color: var(--teasphera-text);
	font-family: var(--teasphera-headings);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.02;
}

.teasphera-shell {
	margin: 0 auto;
	max-width: var(--teasphera-shell);
	padding: 0 24px;
	width: 100%;
}

.teasphera-section {
	padding: 40px 0 96px;
}

.teasphera-section--tinted {
	background:
		radial-gradient(circle at top left, rgba(225, 236, 229, 0.7), transparent 38%),
		radial-gradient(circle at bottom right, rgba(241, 233, 219, 0.8), transparent 33%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.92));
}

.teasphera-eyebrow {
	color: var(--teasphera-text-soft);
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.teasphera-section-heading {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 32px;
}

.teasphera-section-heading h2 {
	font-size: clamp(2rem, 3.3vw, 3.2rem);
	margin: 0;
	max-width: 760px;
}

.teasphera-inline-link {
	color: var(--teasphera-accent);
	font-size: 0.98rem;
	font-weight: 600;
	text-decoration: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.teasphera-inline-link:hover {
	opacity: 0.72;
	transform: translateX(3px);
}

.teasphera-button {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.98rem;
	font-weight: 600;
	gap: 10px;
	justify-content: center;
	min-height: 52px;
	padding: 0 24px;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.teasphera-button:hover {
	transform: translateY(-2px);
}

.teasphera-button--primary {
	background: var(--teasphera-text);
	box-shadow: var(--teasphera-shadow);
	color: #ffffff;
}

.teasphera-button--ghost {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid var(--teasphera-line);
	color: var(--teasphera-text);
}

.teasphera-empty-state {
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid var(--teasphera-line);
	border-radius: var(--teasphera-radius-md);
	padding: 28px;
}

.teasphera-empty-state p {
	color: var(--teasphera-text-soft);
	margin: 0;
}

.teasphera-hero {
	overflow: hidden;
	padding: 28px 0 48px;
	position: relative;
}

.teasphera-hero::before,
.teasphera-hero::after {
	border-radius: 999px;
	content: "";
	filter: blur(28px);
	position: absolute;
	z-index: 0;
}

.teasphera-hero::before {
	background: rgba(225, 236, 229, 0.9);
	height: 320px;
	left: 4%;
	top: 0;
	width: 320px;
}

.teasphera-hero::after {
	background: rgba(245, 233, 219, 0.95);
	height: 380px;
	right: -60px;
	top: 36px;
	width: 380px;
}

.teasphera-hero__grid {
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
	position: relative;
	z-index: 1;
}

.teasphera-hero__copy,
.teasphera-hero__panel {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(230, 223, 212, 0.76);
	border-radius: var(--teasphera-radius-lg);
	box-shadow: var(--teasphera-shadow);
}

.teasphera-hero__copy {
	padding: clamp(32px, 5vw, 64px);
}

.teasphera-hero__title {
	font-size: clamp(3rem, 6vw, 5.6rem);
	margin: 0 0 20px;
	max-width: 720px;
}

.teasphera-hero__text {
	color: var(--teasphera-text-soft);
	font-size: clamp(1rem, 1.45vw, 1.22rem);
	line-height: 1.8;
	margin: 0;
	max-width: 620px;
}

.teasphera-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}

.teasphera-hero__panel {
	display: grid;
	gap: 14px;
	padding: 18px;
}

.teasphera-hero-card {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(251, 248, 242, 0.88));
	border: 1px solid rgba(230, 223, 212, 0.92);
	border-radius: 24px;
	min-height: 150px;
	padding: 24px;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.teasphera-hero-card:hover {
	box-shadow: 0 16px 36px rgba(48, 38, 26, 0.08);
	transform: translateY(-4px);
}

.teasphera-hero-card__label {
	color: var(--teasphera-text);
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 10px;
}

.teasphera-hero-card p {
	color: var(--teasphera-text-soft);
	line-height: 1.65;
	margin: 0;
}

.teasphera-category-grid,
.teasphera-home-products,
ul.products,
.teasphera-product-facts,
.teasphera-product-story {
	display: grid;
	gap: 22px;
}

.teasphera-category-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.teasphera-category-grid--compact {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.teasphera-home-products,
ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.teasphera-product-facts {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 32px;
}

.teasphera-product-story {
	grid-template-columns: 1fr;
	margin-bottom: 0;
}

.teasphera-category-card,
.teasphera-home-product,
.teasphera-card,
.teasphera-fact-card,
.teasphera-story-block {
	background: var(--teasphera-surface);
	border: 1px solid var(--teasphera-line);
	border-radius: var(--teasphera-radius-md);
	box-shadow: 0 10px 30px rgba(48, 38, 26, 0.04);
}

.teasphera-category-card {
	color: inherit;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.teasphera-category-card:hover {
	border-color: var(--teasphera-line-strong);
	box-shadow: 0 18px 44px rgba(48, 38, 26, 0.08);
	transform: translateY(-4px);
}

.teasphera-category-card__media {
	aspect-ratio: 1.18;
	background:
		linear-gradient(180deg, rgba(241, 236, 227, 0.95), rgba(225, 236, 229, 0.95));
	background-position: center;
	background-size: cover;
}

.teasphera-category-card__body,
.teasphera-home-product__body,
.teasphera-card__body {
	display: grid;
	gap: 10px;
	padding: 22px;
}

.teasphera-category-card__body h2,
.teasphera-category-card__body h3,
.teasphera-home-product__body h3,
.teasphera-card__body h2 {
	font-size: 1.44rem;
	margin: 0;
}

.teasphera-category-card__body p,
.teasphera-home-product__body p,
.teasphera-card__note,
.teasphera-brand-story__content p,
.teasphera-fact-card p,
.teasphera-fact-card li,
.teasphera-story-block__content,
.teasphera-story-block__content p,
.teasphera-catalog-header p {
	color: var(--teasphera-text-soft);
	line-height: 1.72;
	margin: 0;
}

.teasphera-home-product,
.teasphera-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	position: relative;
}

.teasphera-home-product__media,
.teasphera-card__media {
	aspect-ratio: 0.92;
	background: linear-gradient(180deg, rgba(246, 243, 237, 0.95), rgba(255, 255, 255, 1));
	display: block;
	overflow: hidden;
	position: relative;
}

.teasphera-home-product__media img,
.teasphera-card__media img {
	height: 100%;
	object-fit: cover;
	transition: transform 0.55s ease;
	width: 100%;
}

.teasphera-home-product:hover img,
.teasphera-card:hover img {
	transform: scale(1.04);
}

.teasphera-home-product__body a,
.teasphera-card__body a {
	color: inherit;
	text-decoration: none;
}

.teasphera-card__purchase {
	display: grid;
	gap: 4px;
}

.teasphera-card__price-note {
	color: var(--teasphera-text-soft);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.teasphera-card__add-to-cart {
	align-items: center;
	background: #111111;
	border: 1px solid #111111;
	border-radius: 999px;
	color: #ffffff !important;
	display: inline-flex;
	font-size: 0.88rem;
	font-weight: 700;
	justify-content: center;
	min-height: 40px;
	padding: 0 16px;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
	white-space: nowrap;
}

.teasphera-card__add-to-cart:hover {
	background: #2b2b2b;
	border-color: #2b2b2b;
	color: #ffffff !important;
}

.teasphera-favorite-toggle {
	align-items: center;
	background: #ffffff;
	border: 1px solid #d9d9d9;
	border-radius: 999px;
	color: #111111;
	display: inline-flex;
	gap: 8px;
	justify-content: center;
	min-height: 42px;
	padding: 0 14px;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.teasphera-favorite-toggle:hover {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.teasphera-favorite-toggle.is-active {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.teasphera-favorite-toggle.is-loading {
	opacity: 0.6;
	pointer-events: none;
}

.teasphera-favorite-toggle.is-icon-only {
	height: 42px;
	padding: 0;
	width: 42px;
}

.teasphera-favorite-toggle__icon {
	display: inline-block;
	font-size: 1.05rem;
	line-height: 1;
}

.teasphera-card__favorite {
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 3;
}

.teasphera-home-product__footer,
.teasphera-card__footer,
.teasphera-shop-toolbar {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.teasphera-card__meta,
.teasphera-product__eyebrow {
	color: var(--teasphera-text-soft);
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.teasphera-brand-story {
	align-items: start;
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.teasphera-brand-story__intro h2 {
	font-size: clamp(2rem, 3.2vw, 3.25rem);
	margin: 0;
}

.teasphera-brand-story__content,
.teasphera-editor-content,
.teasphera-product-hero__gallery,
.teasphera-product-hero__summary {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid var(--teasphera-line);
	border-radius: var(--teasphera-radius-lg);
	padding: clamp(24px, 4vw, 40px);
}

.teasphera-brand-story__list {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

.teasphera-brand-story__list li {
	border-top: 1px solid var(--teasphera-line);
	padding-top: 14px;
}

.teasphera-catalog-header {
	padding: 16px 0 20px;
}

.teasphera-catalog-header h1 {
	font-size: clamp(2.4rem, 4vw, 4rem);
	margin: 0;
}

.teasphera-catalog-page {
	padding: 10px 0 72px;
}

.teasphera-catalog-layout {
	align-items: start;
	display: grid;
	gap: 36px;
	grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
}

.teasphera-catalog-sidebar {
	align-self: start;
	position: sticky;
	top: 28px;
}

.admin-bar .teasphera-catalog-sidebar {
	top: 60px;
}

.teasphera-catalog-sidebar__panel,
.teasphera-catalog-intro,
.teasphera-catalog-products__panel {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.teasphera-catalog-sidebar__panel {
	display: grid;
	gap: 14px;
	padding: 0;
}

.teasphera-catalog-sidebar__head .teasphera-eyebrow {
	display: none;
}

.teasphera-catalog-sidebar__head h2 {
	background: #111111;
	border-radius: 6px;
	color: #ffffff;
	font-family: var(--teasphera-body);
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0;
	padding: 14px 16px;
}

.teasphera-catalog-main {
	display: grid;
	gap: 18px;
	min-width: 0;
}

.teasphera-catalog-intro {
	border-bottom: 1px solid var(--teasphera-line);
	padding: 0 0 18px;
}

.teasphera-catalog-intro--home {
	background: transparent;
}

.teasphera-catalog-intro h1 {
	font-size: clamp(2.2rem, 4vw, 3.6rem);
	margin: 0 0 10px;
}

.teasphera-catalog-intro p {
	max-width: 760px;
}

.teasphera-catalog-intro--term {
	padding-top: 0;
}

.teasphera-catalog-intro__description {
	color: var(--teasphera-text-soft);
	max-width: 880px;
}

.teasphera-catalog-intro__description p {
	line-height: 1.68;
	margin: 0;
}

.teasphera-catalog-intro__description p + p {
	margin-top: 12px;
}

.teasphera-catalog-nav,
.teasphera-catalog-subnav {
	display: grid;
	gap: 4px;
}

.teasphera-catalog-nav__group {
	display: grid;
	gap: 4px;
}

.teasphera-catalog-nav__link,
.teasphera-catalog-subnav__link {
	align-items: center;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 6px;
	color: var(--teasphera-text);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	min-height: 42px;
	padding: 9px 12px;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.teasphera-catalog-subnav {
	padding-left: 12px;
}

.teasphera-catalog-subnav__link {
	min-height: 38px;
}

.teasphera-catalog-nav__link:hover,
.teasphera-catalog-subnav__link:hover,
.teasphera-catalog-nav__link.is-active,
.teasphera-catalog-subnav__link.is-active {
	background: #f4f4f4;
	border-color: #e9e9e9;
	color: #111111;
}

.teasphera-catalog-nav__link small,
.teasphera-catalog-subnav__link small {
	display: none;
}

.teasphera-catalog-nav__group.is-current > .teasphera-catalog-nav__link {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.teasphera-catalog-products {
	padding: 0;
}

.teasphera-catalog-products__panel {
	padding: 0;
}

.teasphera-shop-toolbar--panel {
	border-bottom: 0;
	margin-bottom: 18px;
	padding-bottom: 0;
}

.teasphera-catalog-summary {
	align-items: center;
	color: var(--teasphera-text-soft);
	display: flex;
	font-size: 0.96rem;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 18px;
}

.teasphera-catalog-page .teasphera-card,
.teasphera-catalog-page .teasphera-home-product {
	border-radius: 18px;
	box-shadow: none;
	background: transparent;
	border: 0;
}

.teasphera-catalog-page .teasphera-card__media,
.teasphera-catalog-page .teasphera-home-product__media {
	aspect-ratio: 0.94;
	background: #ffffff;
	border: 1px solid #ececec;
	border-radius: 8px;
}

.teasphera-catalog-page .teasphera-card__body,
.teasphera-catalog-page .teasphera-home-product__body {
	gap: 8px;
	padding: 14px 0 0;
}

.teasphera-catalog-page .teasphera-card__body h2,
.teasphera-catalog-page .teasphera-home-product__body h3 {
	font-size: 1.08rem;
}

.teasphera-catalog-page .teasphera-card__note,
.teasphera-catalog-page .teasphera-home-product__body p {
	font-size: 0.95rem;
	line-height: 1.55;
}

.teasphera-catalog-page .teasphera-card__footer,
.teasphera-catalog-page .teasphera-home-product__footer {
	align-items: center;
	flex-direction: row;
	margin-top: 2px;
}

.teasphera-catalog-page .teasphera-card__footer--purchase {
	align-items: end;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) auto;
	justify-content: stretch;
}

.teasphera-catalog-page .teasphera-card__purchase {
	align-content: end;
	min-width: 0;
}

.teasphera-catalog-page .teasphera-card__add-to-cart {
	align-self: end;
	margin-top: 0;
}

.teasphera-catalog-page .teasphera-card__purchase .price {
	font-size: 1.02rem;
	font-weight: 700;
}

.teasphera-catalog-page .teasphera-inline-link {
	color: #111111;
	font-size: 0.92rem;
}

.teasphera-catalog-categories {
	padding: 12px 0 24px;
}

.teasphera-catalog-products,
.teasphera-single-product {
	padding: 12px 0 96px;
}

.teasphera-product-layout {
	align-items: start;
	display: grid;
	gap: 36px;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 460px);
	margin-bottom: 48px;
}

.teasphera-product-main,
.teasphera-product-sidebar {
	min-width: 0;
}

.teasphera-product-hero__gallery {
	grid-column: 1;
	grid-row: 1;
}

.teasphera-product-facts {
	grid-column: 1;
	grid-row: 2;
}

.teasphera-product-story {
	grid-column: 1;
	grid-row: 2;
}

.teasphera-product-main {
	display: grid;
	gap: 24px;
}

.teasphera-product-sidebar__inner {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid var(--teasphera-line);
	border-radius: var(--teasphera-radius-lg);
	box-shadow: 0 18px 40px rgba(48, 38, 26, 0.05);
	display: grid;
	gap: 18px;
	padding: clamp(24px, 4vw, 40px);
	position: static;
	width: 100%;
}

.teasphera-product-sidebar {
	align-self: start;
	grid-column: 2;
	grid-row: 1 / span 2;
	position: sticky;
	top: 28px;
}

.admin-bar .teasphera-product-sidebar {
	top: 60px;
}

.teasphera-product-sidebar__inner .product_title {
	font-size: clamp(2rem, 2.8vw, 3.3rem);
	line-height: 0.98;
	margin: 0;
}

.teasphera-product-hero {
	align-items: start;
	display: grid;
	gap: 36px;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
	margin-bottom: 34px;
}

.teasphera-product-hero__summary .product_title {
	font-size: clamp(2.3rem, 3.4vw, 4rem);
	margin: 0 0 16px;
}

.teasphera-product-hero__gallery,
.teasphera-product-hero__summary {
	min-width: 0;
}

.woocommerce div.product .teasphera-product-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr) !important;
}

.woocommerce div.product .teasphera-product-hero__gallery div.images,
.woocommerce div.product .teasphera-product-hero__gallery .woocommerce-product-gallery,
.woocommerce div.product .teasphera-product-hero__summary.summary {
	float: none;
	margin: 0;
	width: 100%;
}

.woocommerce div.product .teasphera-product-hero__summary.summary {
	clear: none;
	justify-self: stretch !important;
	max-width: none !important;
	min-width: 0 !important;
}

.woocommerce div.product .teasphera-product-hero__gallery .flex-viewport {
	margin-bottom: 16px;
}

.woocommerce div.product .teasphera-product-hero__gallery .woocommerce-product-gallery__wrapper,
.woocommerce div.product .teasphera-product-hero__gallery .flex-control-thumbs {
	margin-left: 0;
}

.woocommerce div.product .teasphera-product-hero__gallery div.images,
.woocommerce div.product .teasphera-product-hero__gallery .woocommerce-product-gallery,
.woocommerce div.product .teasphera-product-hero__summary.summary,
.woocommerce div.product .teasphera-product-hero__summary.entry-summary {
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.woocommerce div.product .teasphera-product-hero__summary .product_title {
	max-width: none !important;
	width: 100% !important;
	word-break: normal !important;
	hyphens: none !important;
}

.teasphera-product__price .price {
	color: var(--teasphera-text);
	font-size: 1.45rem;
	font-weight: 700;
}

.teasphera-product__excerpt {
	margin-top: 18px;
}

.teasphera-product__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 22px 0 0;
}

.teasphera-product__tags span {
	background: var(--teasphera-surface-alt);
	border: 1px solid var(--teasphera-line);
	border-radius: 999px;
	font-size: 0.92rem;
	padding: 8px 14px;
}

.teasphera-product__cart {
	margin-top: 26px;
}

.teasphera-product__cart form {
	margin: 0;
}

.teasphera-product__cart .variations_form {
	display: grid;
	gap: 14px;
}

.teasphera-product__cart .variations,
.teasphera-product__cart .variations tbody {
	display: block;
	margin: 0;
	width: 100%;
}

.teasphera-product__cart .variations tr {
	display: grid;
	gap: 8px;
	margin-bottom: 12px;
}

.teasphera-product__cart .variations td,
.teasphera-product__cart .variations th {
	display: block;
	padding: 0;
	text-align: left;
	width: 100%;
}

.teasphera-product__cart .variations label {
	color: var(--teasphera-text);
	font-size: 0.92rem;
	font-weight: 600;
}

.teasphera-product__cart .variations select {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--teasphera-line);
	border-radius: 999px;
	min-height: 48px;
	padding: 0 16px;
	width: 100%;
}

.teasphera-product__cart .reset_variations {
	color: var(--teasphera-accent);
	font-size: 0.9rem;
	text-decoration: none;
}

.teasphera-product__cart .single_variation_wrap,
.teasphera-product__cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.teasphera-product__cart .woocommerce-variation-price {
	color: var(--teasphera-text);
	font-weight: 700;
}

.teasphera-product__meta {
	border-top: 1px solid var(--teasphera-line);
	margin-top: 28px;
	padding-top: 18px;
}

.teasphera-sidebar-card {
	background: linear-gradient(180deg, rgba(249, 246, 240, 0.94), rgba(255, 255, 255, 0.92));
	border: 1px solid var(--teasphera-line);
	border-radius: 20px;
	padding: 20px;
}

.teasphera-sidebar-card h2 {
	font-size: 1.15rem;
	margin: 0 0 14px;
}

.teasphera-scale-list {
	display: grid;
	gap: 14px;
}

.teasphera-scale-row {
	display: grid;
	gap: 8px;
}

.teasphera-scale-row__head {
	align-items: center;
	display: flex;
	font-size: 0.92rem;
	font-weight: 600;
	justify-content: space-between;
}

.teasphera-scale-row__dots {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.teasphera-scale-row__dots span {
	background: #ece7de;
	border-radius: 999px;
	height: 8px;
}

.teasphera-scale-row__dots .is-active {
	background: var(--teasphera-accent);
}

.teasphera-sidebar-list {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.teasphera-sidebar-list li {
	align-items: baseline;
	color: var(--teasphera-text-soft);
	display: grid;
	gap: 4px;
}

.teasphera-sidebar-list strong {
	color: var(--teasphera-text);
	font-size: 0.9rem;
}

.teasphera-fact-card--wide {
	grid-column: 1 / -1;
}

.teasphera-fact-card h2,
.teasphera-story-block h2 {
	font-size: 1.75rem;
	margin: 0 0 18px;
}

.teasphera-fact-card ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding-left: 18px;
}

.woocommerce span.onsale {
	background: rgba(24, 22, 19, 0.78);
	border-radius: 999px;
	font-size: 0.78rem;
	left: 16px;
	min-height: auto;
	min-width: auto;
	padding: 6px 12px;
	top: 16px;
}

ul.products li.product {
	float: none;
	margin: 0;
	padding: 0;
	width: auto;
}

.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	display: flex;
	gap: 10px;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	align-items: center;
	background: var(--teasphera-surface);
	border: 1px solid var(--teasphera-line);
	border-radius: 999px;
	display: inline-flex;
	height: 46px;
	justify-content: center;
	min-width: 46px;
	padding: 0 16px;
}

.woocommerce nav.woocommerce-pagination ul li .current,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.teasphera-product__cart .single_add_to_cart_button {
	background: var(--teasphera-text);
	border-color: var(--teasphera-text);
	color: #ffffff;
}

.teasphera-product__cart .quantity input,
.teasphera-shop-toolbar select {
	border-radius: 999px;
	min-height: 48px;
}

.teasphera-shop-toolbar select {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid var(--teasphera-line);
	padding: 0 18px;
}

.woocommerce .woocommerce-product-gallery {
	margin: 0;
	width: 100%;
}

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

.woocommerce div.product div.images img {
	border-radius: 22px;
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 16px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: 100%;
}

.price {
	font-weight: 700;
}

.stock {
	color: var(--teasphera-accent);
	margin: 16px 0 0;
}

.woocommerce-account .entry-content > .woocommerce {
	display: block;
	padding: 28px 0 96px;
}

.teasphera-account-shell {
	align-items: start;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
}

.teasphera-account-shell .woocommerce-MyAccount-navigation,
.teasphera-account-shell .woocommerce-MyAccount-content {
	float: none !important;
	margin: 0 !important;
	min-width: 0;
	width: 100% !important;
}

.teasphera-account-shell .woocommerce-MyAccount-navigation {
	align-self: start;
	position: static;
}

.teasphera-account-shell .woocommerce-MyAccount-navigation ul {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid var(--teasphera-line);
	border-radius: var(--teasphera-radius-lg);
	box-shadow: var(--teasphera-shadow);
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 18px;
}

.teasphera-account-shell .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.teasphera-account-shell .woocommerce-MyAccount-navigation a {
	border: 1px solid transparent;
	border-radius: 18px;
	color: var(--teasphera-text);
	display: block;
	font-size: 0.98rem;
	font-weight: 600;
	padding: 14px 16px;
	text-decoration: none;
	transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.teasphera-account-shell .woocommerce-MyAccount-navigation a:hover,
.teasphera-account-shell .woocommerce-MyAccount-navigation .is-active a {
	background: rgba(245, 241, 234, 0.88);
	border-color: var(--teasphera-line);
	transform: translateX(2px);
}

.teasphera-account-shell .woocommerce-MyAccount-content {
	min-width: 0;
}

.teasphera-account-dashboard,
.teasphera-account-endpoint {
	display: grid;
	gap: 24px;
}

.teasphera-account-card {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--teasphera-line);
	border-radius: var(--teasphera-radius-lg);
	box-shadow: var(--teasphera-shadow);
}

.teasphera-account-hero {
	display: grid;
	gap: 24px;
	padding: clamp(24px, 4vw, 42px);
}

.teasphera-account-hero h1 {
	font-size: clamp(2.2rem, 4vw, 4rem);
	margin: 0 0 14px;
}

.teasphera-account-hero p,
.teasphera-account-note,
.teasphera-account-link-card p,
.teasphera-account-order p,
.teasphera-account-address__content,
.teasphera-review-card__body p,
.teasphera-review-card__meta {
	color: var(--teasphera-text-soft);
	line-height: 1.72;
	margin: 0;
}

.teasphera-account-hero__stats,
.teasphera-account-links,
.teasphera-account-orders,
.teasphera-account-addresses,
.teasphera-review-grid {
	display: grid;
	gap: 18px;
}

.teasphera-account-hero__stats {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.teasphera-account-stat,
.teasphera-account-order,
.teasphera-account-address,
.teasphera-account-link-card,
.teasphera-review-card {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 244, 237, 0.96));
	border: 1px solid var(--teasphera-line);
	border-radius: 24px;
}

.teasphera-account-stat {
	display: grid;
	gap: 8px;
	padding: 20px 22px;
}

.teasphera-account-stat span,
.teasphera-account-progress__hint,
.teasphera-account-tier span,
.teasphera-review-card__status,
.teasphera-review-card__meta {
	font-size: 0.9rem;
}

.teasphera-account-stat strong {
	font-family: var(--teasphera-headings);
	font-size: 1.9rem;
	font-weight: 500;
}

.teasphera-account-progress {
	background: rgba(245, 241, 234, 0.76);
	border: 1px solid var(--teasphera-line);
	border-radius: 24px;
	display: grid;
	gap: 16px;
	padding: 20px 22px;
}

.teasphera-account-progress__head {
	align-items: start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.teasphera-account-progress__head strong,
.teasphera-account-tier strong,
.teasphera-account-address strong,
.teasphera-account-order h3,
.teasphera-review-card__body h3 {
	display: block;
	margin: 0;
}

.teasphera-account-progress__head span,
.teasphera-account-tier span {
	color: var(--teasphera-text-soft);
	display: block;
	margin-top: 4px;
}

.teasphera-account-progress__bar {
	background: rgba(210, 198, 182, 0.42);
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
}

.teasphera-account-progress__bar span {
	background: linear-gradient(90deg, var(--teasphera-accent), #567764);
	border-radius: inherit;
	display: block;
	height: 100%;
}

.teasphera-account-links {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.teasphera-account-link-card {
	color: inherit;
	display: grid;
	gap: 10px;
	padding: 22px;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.teasphera-account-link-card:hover,
.teasphera-review-card:hover {
	border-color: var(--teasphera-line-strong);
	box-shadow: 0 18px 44px rgba(48, 38, 26, 0.08);
	transform: translateY(-4px);
}

.teasphera-account-section {
	padding: 28px;
}

.teasphera-account-orders {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.teasphera-account-order {
	display: grid;
	gap: 14px;
	padding: 22px;
}

.teasphera-account-order__meta {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.teasphera-account-order__meta span {
	color: var(--teasphera-text-soft);
	font-size: 0.9rem;
}

.teasphera-account-order__meta strong,
.teasphera-review-card__status {
	background: rgba(47, 89, 70, 0.08);
	border-radius: 999px;
	color: var(--teasphera-accent);
	font-weight: 700;
	padding: 6px 12px;
}

.teasphera-account-columns {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.teasphera-account-addresses,
.teasphera-account-tiers {
	grid-template-columns: 1fr;
}

.teasphera-account-address {
	display: grid;
	gap: 12px;
	padding: 22px;
}

.teasphera-account-address__content p {
	margin: 0;
}

.teasphera-account-tier {
	align-items: center;
	border-top: 1px solid var(--teasphera-line);
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 16px 0;
}

.teasphera-account-tier:first-child {
	border-top: 0;
	padding-top: 0;
}

.teasphera-account-tier.is-current strong,
.teasphera-account-tier.is-current b {
	color: var(--teasphera-accent);
}

.teasphera-account-tier b {
	font-family: var(--teasphera-headings);
	font-size: 1.45rem;
	font-weight: 500;
}

.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error {
	border-radius: 22px;
	margin-bottom: 18px;
}

.woocommerce-account .woocommerce-Addresses {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account form,
.woocommerce-account table.shop_table {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--teasphera-line);
	border-radius: 24px;
	box-shadow: 0 10px 30px rgba(48, 38, 26, 0.04);
	margin: 0;
	padding: 22px;
}

.woocommerce-account table.shop_table {
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	width: 100%;
}

.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
	border-color: var(--teasphera-line);
	padding: 14px 12px;
}

.woocommerce-account table.shop_table td a,
.woocommerce-account .woocommerce-Address a,
.woocommerce-account .woocommerce-button,
.woocommerce-account button.button,
.woocommerce-account input.button,
.woocommerce-account .button {
	text-decoration: none;
}

.woocommerce-account .woocommerce-form-row input.input-text,
.woocommerce-account .woocommerce-form-row textarea,
.woocommerce-account .woocommerce-form-row select,
.woocommerce-account .select2-container--default .select2-selection--single {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid var(--teasphera-line);
	border-radius: 18px;
	min-height: 50px;
	padding: 0 16px;
}

.woocommerce-account .woocommerce-form-row textarea {
	min-height: 120px;
	padding: 14px 16px;
}

.woocommerce-account .woocommerce-button,
.woocommerce-account button.button,
.woocommerce-account input.button,
.woocommerce-account .button {
	background: var(--teasphera-text);
	border: 1px solid var(--teasphera-text);
	border-radius: 999px;
	box-shadow: var(--teasphera-shadow);
	color: #ffffff;
	min-height: 50px;
	padding: 0 22px;
}

.teasphera-review-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.teasphera-review-card {
	display: grid;
	gap: 0;
	grid-template-columns: 132px minmax(0, 1fr);
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.teasphera-review-card__media {
	background: linear-gradient(180deg, rgba(246, 243, 237, 0.95), rgba(255, 255, 255, 1));
	display: block;
	min-height: 100%;
}

.teasphera-review-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.teasphera-review-card__body {
	display: grid;
	gap: 14px;
	padding: 22px;
}

.teasphera-review-card__top {
	align-items: start;
	display: flex;
	gap: 14px;
	justify-content: space-between;
}

.teasphera-review-card__body h3 {
	font-size: 1.4rem;
}

.teasphera-review-card__body h3 a {
	color: inherit;
	text-decoration: none;
}

.teasphera-review-card__status.is-filled {
	background: rgba(47, 89, 70, 0.12);
}

.teasphera-review-card__status.is-open {
	background: rgba(24, 22, 19, 0.08);
	color: var(--teasphera-text);
}

.teasphera-review-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
}

.teasphera-review-card__excerpt,
.teasphera-review-card__empty {
	background: rgba(245, 241, 234, 0.72);
	border-radius: 18px;
	padding: 16px 18px;
}

.teasphera-review-card__rating .star-rating {
	float: none;
	margin-bottom: 8px;
}

.teasphera-product-reviews .woocommerce-Reviews-title,
.teasphera-product-reviews .comment-reply-title {
	font-size: 1.6rem;
	margin-bottom: 18px;
}

.teasphera-product-reviews #comments ol.commentlist {
	display: grid;
	gap: 16px;
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.teasphera-product-reviews #comments ol.commentlist li {
	margin: 0;
}

.teasphera-product-reviews #comments ol.commentlist li .comment_container {
	display: grid;
	gap: 16px;
	grid-template-columns: 60px minmax(0, 1fr);
}

.teasphera-product-reviews #comments ol.commentlist li img.avatar {
	border-radius: 999px;
	margin: 0;
	position: static;
	width: 60px;
}

.teasphera-product-reviews #comments ol.commentlist li .comment-text {
	background: rgba(249, 246, 240, 0.92);
	border: 1px solid var(--teasphera-line);
	border-radius: 24px;
	margin: 0;
	padding: 18px 20px;
}

.teasphera-product-reviews #comments ol.commentlist li .meta {
	align-items: center;
	color: var(--teasphera-text-soft);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 10px;
}

.teasphera-product-reviews #comments ol.commentlist li .description p:last-child {
	margin-bottom: 0;
}

.teasphera-product-reviews .star-rating {
	float: none;
}

.teasphera-product-reviews #review_form_wrapper {
	border-top: 1px solid var(--teasphera-line);
	margin-top: 30px;
	padding-top: 28px;
}

.teasphera-product-reviews #review_form .comment-form {
	display: grid;
	gap: 16px;
}

.teasphera-product-reviews #review_form label {
	color: var(--teasphera-text);
	display: block;
	font-size: 0.92rem;
	font-weight: 600;
	margin-bottom: 8px;
}

.teasphera-product-reviews #review_form input[type="text"],
.teasphera-product-reviews #review_form input[type="email"],
.teasphera-product-reviews #review_form textarea,
.teasphera-product-reviews #review_form select {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid var(--teasphera-line);
	border-radius: 18px;
	min-height: 52px;
	padding: 0 16px;
	width: 100%;
}

.teasphera-product-reviews #review_form textarea {
	min-height: 150px;
	padding: 16px;
	resize: vertical;
}

.teasphera-product-reviews #review_form .form-submit {
	margin: 0;
}

.teasphera-product-reviews #review_form .submit {
	background: var(--teasphera-text);
	border: 1px solid var(--teasphera-text);
	border-radius: 999px;
	box-shadow: var(--teasphera-shadow);
	color: #ffffff;
	min-height: 52px;
	padding: 0 24px;
}

.teasphera-shop-pagination .page-numbers {
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.teasphera-shop-pagination .page-numbers li {
	margin: 0;
}

.teasphera-shop-pagination .page-numbers a,
.teasphera-shop-pagination .page-numbers span {
	align-items: center;
	background: var(--teasphera-surface);
	border: 1px solid var(--teasphera-line);
	border-radius: 999px;
	color: var(--teasphera-text);
	display: inline-flex;
	height: 46px;
	justify-content: center;
	min-width: 46px;
	padding: 0 16px;
	text-decoration: none;
}

.teasphera-shop-pagination .page-numbers .current,
.teasphera-shop-pagination .page-numbers a:hover {
	background: var(--teasphera-text);
	border-color: var(--teasphera-text);
	color: #ffffff;
}

.teasphera-review-hint,
.teasphera-product-reviews .woocommerce-verification-required {
	background: rgba(245, 241, 234, 0.76);
	border: 1px solid var(--teasphera-line);
	border-radius: 18px;
	color: var(--teasphera-text-soft);
	margin: 0 0 18px;
	padding: 14px 16px;
}

.teasphera-product-reviews .comment-form-rating .stars a {
	color: var(--teasphera-accent);
}

@media (max-width: 1200px) {
	.teasphera-home-products,
	ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.teasphera-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.teasphera-account-links,
	.teasphera-account-orders,
	.teasphera-review-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.teasphera-topbar__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		padding-bottom: 14px;
		padding-top: 14px;
	}

	.teasphera-topbar__brand-wrap,
	.teasphera-topbar__actions {
		flex-wrap: wrap;
	}

	.teasphera-hero__grid,
	.teasphera-brand-story,
	.teasphera-product-hero,
	.teasphera-product-story {
		grid-template-columns: 1fr;
	}

	.teasphera-product-facts,
	.teasphera-category-grid--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.teasphera-product-layout {
		grid-template-columns: 1fr;
	}

	.teasphera-catalog-layout {
		grid-template-columns: 1fr;
	}

	.teasphera-product-hero__gallery,
	.teasphera-product-sidebar,
	.teasphera-product-facts,
	.teasphera-product-story {
		grid-column: auto;
		grid-row: auto;
	}

	.woocommerce div.product .teasphera-product-hero {
		grid-template-columns: 1fr !important;
	}

	.teasphera-product-sidebar {
		position: static;
	}

	.teasphera-catalog-sidebar {
		position: static;
		top: auto;
	}

	.woocommerce-account .entry-content > .woocommerce,
	.teasphera-account-columns,
	.teasphera-account-hero__stats {
		grid-template-columns: 1fr;
	}

	.teasphera-account-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.teasphera-topbar__brand {
		font-size: 1.65rem;
	}

	.teasphera-topbar__logo {
		height: 30px;
	}

	.teasphera-topbar__brand-wrap,
	.teasphera-topbar__actions {
		gap: 8px;
	}

	.teasphera-topbar__catalog-link,
	.teasphera-topbar__action,
	.teasphera-topbar__icon {
		min-height: 40px;
		padding: 0 12px;
	}

	.teasphera-section {
		padding: 28px 0 68px;
	}

	.teasphera-shell {
		padding: 0 18px;
	}

	.teasphera-section-heading,
	.teasphera-home-product__footer,
	.teasphera-card__footer,
	.teasphera-shop-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.teasphera-category-grid,
	.teasphera-category-grid--compact,
	.teasphera-home-products,
	ul.products,
	.teasphera-product-layout,
	.teasphera-product-facts,
	.teasphera-product-story {
		grid-template-columns: 1fr;
	}

	.teasphera-hero__copy,
	.teasphera-hero__panel,
	.teasphera-brand-story__content,
	.teasphera-editor-content,
	.teasphera-product-hero__gallery,
	.teasphera-product-hero__summary,
	.teasphera-fact-card,
	.teasphera-story-block,
	.teasphera-catalog-sidebar__panel,
	.teasphera-catalog-intro,
	.teasphera-catalog-products__panel {
		padding: 22px;
	}

	.teasphera-hero__title {
		font-size: clamp(2.6rem, 12vw, 4.1rem);
	}

	.teasphera-product-hero__summary .product_title {
		font-size: clamp(2rem, 9vw, 3.3rem);
	}

	.woocommerce div.product div.images .flex-control-thumbs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.teasphera-account-shell,
	.teasphera-account-links,
	.teasphera-account-orders,
	.teasphera-review-grid,
	.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.teasphera-account-shell .woocommerce-MyAccount-navigation {
		position: static;
		top: auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul,
	.teasphera-account-section,
	.teasphera-account-hero,
	.woocommerce-account .woocommerce-Address,
	.woocommerce-account form,
	.woocommerce-account table.shop_table {
		padding: 18px;
	}

	.teasphera-account-progress__head,
	.teasphera-review-card,
	.teasphera-review-card__top,
	.teasphera-product-reviews #comments ol.commentlist li .comment_container {
		grid-template-columns: 1fr;
	}

	.teasphera-catalog-subnav {
		padding-left: 10px;
	}

	.teasphera-account-progress__head,
	.teasphera-review-card__top {
		display: grid;
	}

	.teasphera-review-card__media {
		aspect-ratio: 1.2;
	}
}

.woocommerce div.product .teasphera-product-sidebar__inner.summary,
.woocommerce div.product .teasphera-product-sidebar__inner.entry-summary {
	clear: none !important;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.teasphera-fact-card,
.teasphera-story-block {
	padding: 28px !important;
}

.teasphera-fact-card h2,
.teasphera-story-block h2 {
	line-height: 1.02 !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

.teasphera-fact-card p,
.teasphera-fact-card ul,
.teasphera-story-block__content,
.teasphera-story-block__content p {
	margin: 0 !important;
	padding: 0 !important;
}

.teasphera-fact-card ul {
	padding-left: 20px !important;
}

.teasphera-story-block__content p + p {
	margin-top: 14px !important;
}

@media (max-width: 782px) {
	.teasphera-fact-card,
	.teasphera-story-block {
		padding: 22px !important;
	}
}

/* Header search */
.teasphera-topbar__inner {
	display: grid;
	gap: 18px;
	grid-template-columns: auto minmax(280px, 1fr) auto;
}

.teasphera-topbar__search-wrap {
	min-width: 0;
	width: 100%;
}

.teasphera-topbar__search {
	align-items: center;
	display: flex;
	position: relative;
	width: 100%;
}

.teasphera-topbar__search-input {
	background: #ffffff;
	border: 1px solid #d8d8d8;
	border-radius: 8px;
	color: #111111;
	font-size: 0.98rem;
	height: 44px;
	padding: 0 52px 0 14px;
	width: 100%;
}

.teasphera-topbar__search-input::placeholder {
	color: #8b8b8b;
}

.teasphera-topbar__search-input:focus {
	border-color: #111111;
	outline: none;
}

.teasphera-topbar__search-button {
	align-items: center;
	background: transparent;
	border: 0;
	color: #111111;
	cursor: pointer;
	display: inline-flex;
	font-size: 1.1rem;
	height: 44px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 44px;
}

/* Product page refresh */
.single-product .teasphera-single-product {
	padding-top: 22px;
}

.single-product .teasphera-product-layout {
	align-items: start;
	column-gap: 54px;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	margin-bottom: 54px;
}

.single-product .teasphera-product-layout > .teasphera-product-main__header {
	grid-column: 1;
	grid-row: 1;
}

.single-product .teasphera-product-main {
	display: grid;
	gap: 28px;
	grid-column: 1;
	grid-row: 2;
	min-width: 0;
}

.single-product .teasphera-product-main__header {
	border-bottom: 1px solid #ececec;
	margin-bottom: 0;
	padding-bottom: 18px;
}

.single-product .teasphera-product-hero__gallery {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.single-product .teasphera-product-main__header .product_title {
	font-size: clamp(2.35rem, 3.2vw, 4rem);
	line-height: 0.98;
	margin: 8px 0 0;
}

.single-product .teasphera-product-main__lead {
	color: #5b5b5b;
	font-size: 1rem;
	line-height: 1.65;
	margin-top: 14px;
	max-width: 44rem;
}

.single-product .teasphera-product-story {
	margin-top: 8px;
}

.single-product .teasphera-product-sidebar {
	align-self: start;
	grid-column: 2;
	grid-row: 1 / span 2;
	position: sticky;
	top: 28px;
}

.admin-bar.single-product .teasphera-product-sidebar {
	top: 60px;
}

.single-product .teasphera-product-sidebar__inner {
	background: transparent;
	border: 0;
	box-shadow: none;
	gap: 20px;
	padding: 0;
}

.single-product .teasphera-product__eyebrow {
	color: #7c7c7c;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
}

.single-product .teasphera-product__summary-tools {
	align-items: flex-start;
	display: flex;
	gap: 14px;
	justify-content: space-between;
}

.single-product .teasphera-product__rating {
	align-items: center;
	display: grid;
	gap: 8px;
	justify-content: flex-start;
	margin-bottom: 2px;
	min-height: 24px;
	justify-items: start;
	width: 100%;
}

.single-product .teasphera-product__rating-stars {
	display: inline-flex;
	gap: 4px;
	line-height: 1;
}

.single-product .teasphera-product__rating-stars span {
	color: #dddddd;
	font-size: 1.45rem;
}

.single-product .teasphera-product__rating-stars .is-filled {
	color: #111111;
}

.single-product .teasphera-product__rating-meta {
	color: #6d6d6d;
	font-size: 0.82rem;
}

.single-product .teasphera-product__favorite {
	align-items: center;
	background: #ffffff;
	border: 1px solid #d9d9d9;
	border-radius: 999px;
	color: #111111;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 1.25rem;
	height: 42px;
	justify-content: center;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	width: 42px;
}

.single-product a.teasphera-product__favorite {
	display: none;
}

.single-product .teasphera-product__favorite:hover {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.single-product .teasphera-product__favorite.is-active {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.single-product .teasphera-product__price {
	margin-top: -2px;
}

.single-product .teasphera-product__price .price {
	font-size: 2.05rem;
	font-weight: 700;
	margin: 0;
}

.single-product .teasphera-product__price .price del {
	color: #8a8a8a;
	font-size: 1.05rem;
	font-weight: 500;
	margin-right: 8px;
}

.single-product .teasphera-product__price .price ins {
	background: transparent;
	text-decoration: none;
}

.single-product .teasphera-product__excerpt {
	color: #5c5c5c;
	font-size: 0.98rem;
	line-height: 1.65;
	margin-top: 0;
	max-width: 42rem;
}

.single-product .teasphera-product__tags {
	gap: 8px;
	margin: 8px 0 0;
}

.single-product .teasphera-product__tags span {
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
	border-radius: 999px;
	font-size: 0.86rem;
	padding: 6px 12px;
}

.single-product .teasphera-product__cart {
	margin-top: 8px;
}

.single-product .teasphera-product__cart .variations_form {
	align-items: center;
	column-gap: 12px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	row-gap: 12px;
}

.single-product .teasphera-product__cart table.variations {
	align-self: center;
	border: 0 !important;
	border-collapse: collapse;
	display: block !important;
	grid-column: 1;
	grid-row: 2;
	margin-bottom: 0;
	width: 100%;
}

.single-product .teasphera-product__cart .variations tr {
	gap: 0;
	margin-bottom: 0;
}

.single-product .teasphera-product__cart .variations tbody,
.single-product .teasphera-product__cart .variations tr {
	align-items: center;
	display: grid;
}

.single-product .teasphera-product__cart .variations td,
.single-product .teasphera-product__cart .variations th {
	border: 0 !important;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}

.single-product .teasphera-product__cart .variations label,
.single-product .teasphera-product__cart .variations td.label {
	display: none !important;
}

.single-product .teasphera-product__cart .variations td.value {
	align-items: center;
	display: flex;
	min-height: 48px;
}

.single-product .teasphera-product__cart .variations select,
.single-product .teasphera-product__cart .quantity input {
	background: #ffffff;
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	box-shadow: none;
	height: 48px;
	min-height: 48px;
}

.single-product .teasphera-product__cart .variations select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%23111111' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='M1 1.5 7 7.5l6-6'/%3E%3C/svg%3E");
	background-position: right 14px center;
	background-repeat: no-repeat;
	background-size: 14px 9px;
	display: block;
	line-height: 1;
	margin: 0;
	padding-right: 42px;
	width: 100%;
}

.single-product .teasphera-product__cart .quantity input {
	max-width: 78px;
	padding: 0 12px;
}

.single-product .teasphera-product__cart .single_variation_wrap {
	align-content: start;
	display: grid !important;
	gap: 12px;
	grid-column: 2;
	grid-row: 2;
}

.single-product .teasphera-product__cart .single_variation_wrap,
.single-product .teasphera-product__cart .woocommerce-variation-add-to-cart,
.single-product .teasphera-product__cart .quantity {
	align-items: center;
}

.single-product .teasphera-product__cart .single_variation {
	display: none !important;
	margin: 0;
}

.single-product .teasphera-product__cart .woocommerce-variation-price {
	display: none !important;
}

.single-product .teasphera-product__cart .woocommerce-variation-price .price {
	font-size: 2.05rem;
	font-weight: 700;
	line-height: 1;
}

.single-product .teasphera-product__cart .woocommerce-variation-add-to-cart {
	align-items: center;
	align-self: center;
	display: flex !important;
	justify-content: flex-start;
	margin: 0;
}

.single-product .teasphera-product__cart .variations_button {
	align-items: center;
	align-self: center;
	display: flex !important;
	gap: 12px;
	margin: 0;
}

.single-product .teasphera-product__cart .quantity {
	display: none !important;
	margin: 0 !important;
}

.single-product .teasphera-product__cart .reset_variations {
	display: none !important;
}

.single-product .teasphera-product__cart .single_add_to_cart_button.button,
.single-product .teasphera-product__cart .single_add_to_cart_button.button.alt,
.single-product .teasphera-product__cart .single_add_to_cart_button {
	align-items: center;
	background: #111111 !important;
	border: 1px solid #111111 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #ffffff !important;
	display: inline-flex !important;
	font-weight: 600;
	height: 48px;
	justify-content: center;
	line-height: 1;
	min-height: 48px;
	padding: 0 26px !important;
	white-space: nowrap;
}

.single-product .teasphera-product__cart .single_add_to_cart_button.button:hover,
.single-product .teasphera-product__cart .single_add_to_cart_button.button.alt:hover,
.single-product .teasphera-product__cart .single_add_to_cart_button:hover {
	background: #2b2b2b !important;
	border-color: #2b2b2b !important;
}

.single-product .stock,
.single-product .teasphera-product__cart .reset_variations {
	color: #111111;
}

.single-product .woocommerce-notices-wrapper {
	margin-bottom: 26px;
}

.single-product .woocommerce-info,
.single-product .woocommerce-message,
.single-product .woocommerce-error {
	align-items: center;
	background: #ffffff;
	border: 1px solid #111111;
	border-radius: 0;
	box-shadow: none;
	color: #111111;
	display: flex !important;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: space-between;
	margin: 0 0 18px;
	min-height: 74px;
	padding: 18px 18px 18px 50px;
	position: relative;
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.single-product .woocommerce-info.is-dismissing,
.single-product .woocommerce-message.is-dismissing,
.single-product .woocommerce-error.is-dismissing {
	opacity: 0;
	transform: translateY(-6px);
}

.single-product .woocommerce-info::before,
.single-product .woocommerce-message::before,
.single-product .woocommerce-error::before {
	color: #111111;
	left: 18px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.single-product .woocommerce-message .button,
.single-product .woocommerce-message .wc-forward,
.single-product .woocommerce-info .button,
.single-product .woocommerce-info .wc-forward {
	align-items: center;
	background: #111111 !important;
	border: 1px solid #111111 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	color: #ffffff !important;
	display: inline-flex !important;
	float: none !important;
	font-weight: 600;
	justify-content: center;
	line-height: 1;
	margin: 0 0 0 auto !important;
	min-width: 188px;
	min-height: 46px;
	padding: 0 22px !important;
	position: static;
	text-align: center;
	transform: none;
	white-space: nowrap;
}

.single-product .woocommerce-message .button:hover,
.single-product .woocommerce-message .wc-forward:hover,
.single-product .woocommerce-info .button:hover,
.single-product .woocommerce-info .wc-forward:hover {
	background: #2b2b2b !important;
	border-color: #2b2b2b !important;
}

.single-product .teasphera-product__tags + .teasphera-sidebar-card {
	border-top: 0;
	padding-top: 6px !important;
}

.single-product .teasphera-product__meta {
	border-top: 1px solid #e7e7e7;
	margin-top: 6px;
	padding-top: 14px;
}

.single-product .teasphera-sidebar-card,
.single-product .teasphera-story-block,
.single-product .teasphera-fact-card {
	background: transparent;
	border: 0;
	border-top: 1px solid #e7e7e7;
	border-radius: 0;
	box-shadow: none;
	padding: 18px 0 0 !important;
}

.single-product .teasphera-sidebar-card h2,
.single-product .teasphera-story-block h2,
.single-product .teasphera-fact-card h2 {
	font-family: var(--teasphera-body);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3 !important;
	margin: 0 0 14px !important;
}

.single-product .teasphera-sidebar-list {
	gap: 10px;
}

.single-product .teasphera-sidebar-list li {
	gap: 2px;
}

.single-product .teasphera-scale-row__dots {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: flex-start;
}

.single-product .teasphera-scale-row__dots span {
	background: #dfdfdf;
	border-radius: 0;
	clip-path: polygon(50% 0%, 60% 36%, 100% 50%, 60% 64%, 50% 100%, 40% 64%, 0% 50%, 40% 36%);
	display: block;
	flex: 0 0 18px;
	height: 18px;
	width: 18px;
}

.single-product .teasphera-scale-row__dots .is-active {
	background: #111111;
}

.teasphera-favorites-page .products {
	margin-top: 8px;
}

.teasphera-favorites-empty {
	margin-top: 8px;
}

.single-product .teasphera-custom-gallery {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	position: relative;
}

.single-product .teasphera-custom-gallery--single {
	display: block;
}

.single-product .teasphera-custom-gallery__thumbs {
	display: grid;
	flex: 0 0 78px;
	gap: 10px;
	width: 78px;
}

.single-product .teasphera-custom-gallery__thumb {
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 8px;
	cursor: pointer;
	padding: 0;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.single-product .teasphera-custom-gallery__thumb:hover,
.single-product .teasphera-custom-gallery__thumb.is-active {
	border-color: #111111;
	transform: translateY(-1px);
}

.single-product .teasphera-custom-gallery__thumb img {
	border-radius: 8px;
	display: block;
	width: 100%;
}

.single-product .teasphera-custom-gallery__stage {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	position: relative;
}

.single-product .teasphera-custom-gallery__main-image {
	display: block;
	max-height: 760px;
	object-fit: contain;
	object-position: top left;
	transform-origin: center center;
	transition: transform 0.08s linear;
	width: 100%;
}

.single-product .teasphera-custom-gallery__stage.is-zooming {
	cursor: zoom-in;
}

.single-product .teasphera-custom-gallery__stage.is-zooming .teasphera-custom-gallery__main-image {
	transform: scale(1.85);
}

.single-product .teasphera-custom-gallery__zoom {
	align-items: center;
	background: #ffffff;
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	color: #111111;
	display: inline-flex;
	font-size: 1rem;
	height: 36px;
	justify-content: center;
	position: absolute;
	right: 12px;
	text-decoration: none;
	top: 12px;
	width: 36px;
}

.single-product .teasphera-story-block__content,
.single-product .teasphera-story-block__content p {
	color: #404040;
	line-height: 1.72;
}

.single-product .teasphera-related {
	border-top: 1px solid #ececec;
	padding-top: 28px;
}

.single-product .teasphera-related .teasphera-section-heading {
	margin-bottom: 24px;
}

@media (max-width: 1100px) {
	.teasphera-topbar__inner {
		grid-template-columns: 1fr;
	}

	.teasphera-topbar__brand-wrap,
	.teasphera-topbar__actions {
		justify-content: space-between;
	}

	.single-product .teasphera-product-layout {
		grid-template-columns: 1fr;
	}

	.single-product .teasphera-product-sidebar {
		position: static;
		top: auto;
	}
}

@media (max-width: 782px) {
	.teasphera-topbar__actions {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.single-product .woocommerce-product-gallery {
		display: grid;
		gap: 14px;
	}

	.single-product .teasphera-custom-gallery {
		display: grid;
		gap: 14px;
	}

	.single-product .teasphera-custom-gallery__thumbs {
		flex: none;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		width: 100%;
	}

	.single-product .teasphera-product__cart .variations_form {
		grid-template-columns: 1fr;
	}

	.single-product .teasphera-product__cart table.variations,
	.single-product .teasphera-product__cart .single_variation_wrap,
	.single-product .teasphera-product__cart .single_variation,
	.single-product .teasphera-product__cart .woocommerce-variation-add-to-cart {
		grid-column: 1;
		grid-row: auto;
	}

	.single-product .teasphera-product__cart .woocommerce-variation-add-to-cart,
	.single-product .teasphera-product__cart .variations_button {
		grid-template-columns: 1fr;
	}

	.single-product .woocommerce-info,
	.single-product .woocommerce-message,
	.single-product .woocommerce-error {
		padding-right: 18px;
	}

	.single-product .woocommerce-message .button,
	.single-product .woocommerce-message .wc-forward,
	.single-product .woocommerce-info .button,
	.single-product .woocommerce-info .wc-forward {
		justify-self: start;
		min-width: 0;
		width: 100%;
	}
}

/* Account refresh */

.teasphera-account-shell {
	gap: 24px;
	grid-template-columns: minmax(220px, 248px) minmax(0, 1fr);
}

.teasphera-account-shell .woocommerce-MyAccount-navigation ul {
	background: #ffffff;
	border: 1px solid #e7e2d9;
	border-radius: 18px;
	box-shadow: none;
	gap: 6px;
	padding: 12px;
}

.teasphera-account-shell .woocommerce-MyAccount-navigation a {
	border: 1px solid transparent;
	border-radius: 12px;
	font-size: 0.96rem;
	font-weight: 600;
	padding: 13px 14px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.teasphera-account-shell .woocommerce-MyAccount-navigation a:hover {
	background: #f4f1eb;
	border-color: #ebe5db;
	transform: none;
}

.teasphera-account-shell .woocommerce-MyAccount-navigation .is-active a {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
	transform: none;
}

.teasphera-account-dashboard,
.teasphera-account-endpoint {
	gap: 22px;
}

.teasphera-account-card,
.teasphera-account-panel,
.teasphera-account-section,
.teasphera-account-order,
.teasphera-account-address,
.teasphera-account-link-card,
.teasphera-review-card {
	background: #ffffff;
	border: 1px solid #e7e2d9;
	border-radius: 18px;
	box-shadow: none;
}

.teasphera-account-header {
	display: grid;
	gap: 10px;
}

.teasphera-account-header h1 {
	font-size: clamp(2.3rem, 4vw, 3.6rem);
	margin: 0;
}

.teasphera-account-header p {
	color: var(--teasphera-text-soft);
	line-height: 1.72;
	margin: 0;
	max-width: 780px;
}

.teasphera-account-overview {
	align-items: start;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
}

.teasphera-account-panel {
	padding: 28px;
}

.teasphera-account-profile-panel {
	display: grid;
	gap: 22px;
	grid-template-columns: 96px minmax(0, 1fr);
}

.teasphera-account-profile-panel__avatar {
	align-items: center;
	background: #f5f3ef;
	border: 1px solid #e7e2d9;
	border-radius: 18px;
	display: flex;
	font-family: var(--teasphera-headings);
	font-size: 2.5rem;
	font-weight: 600;
	height: 96px;
	justify-content: center;
	width: 96px;
}

.teasphera-account-profile-panel__main,
.teasphera-account-profile-panel__intro,
.teasphera-account-loyalty-panel {
	display: grid;
	gap: 18px;
}

.teasphera-account-profile-panel__intro strong {
	font-family: var(--teasphera-headings);
	font-size: clamp(1.9rem, 3vw, 2.8rem);
	font-weight: 500;
	line-height: 1.02;
}

.teasphera-account-profile-panel__intro p {
	color: var(--teasphera-text-soft);
	line-height: 1.7;
	margin: 0;
	max-width: 640px;
}

.teasphera-account-profile-panel__grid {
	display: grid;
	gap: 14px 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.teasphera-account-profile-panel__field {
	display: grid;
	gap: 6px;
}

.teasphera-account-profile-panel__field span {
	color: var(--teasphera-text-soft);
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.teasphera-account-profile-panel__field strong {
	font-size: 1rem;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.teasphera-account-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.teasphera-account-action {
	align-items: center;
	background: #111111;
	border: 1px solid #111111;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.88rem;
	font-weight: 700;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.teasphera-account-action:hover {
	background: #2d2d2d;
	border-color: #2d2d2d;
	color: #ffffff;
}

.teasphera-account-action--ghost {
	background: #ffffff;
	border-color: #d8d8d8;
	color: #111111;
}

.teasphera-account-action--ghost:hover {
	background: #f5f3ef;
	border-color: #d8d8d8;
	color: #111111;
}

.teasphera-account-loyalty-panel__stats {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.teasphera-account-metric {
	background: #f7f5f1;
	border: 1px solid #ece6dc;
	border-radius: 14px;
	display: grid;
	gap: 8px;
	padding: 16px;
}

.teasphera-account-metric span {
	color: var(--teasphera-text-soft);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.teasphera-account-metric strong {
	font-family: var(--teasphera-headings);
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1;
}

.teasphera-account-progress {
	background: #f7f5f1;
	border: 1px solid #ece6dc;
	border-radius: 16px;
	gap: 12px;
	padding: 18px;
}

.teasphera-account-progress__head {
	align-items: start;
	display: flex;
	gap: 18px;
	justify-content: space-between;
}

.teasphera-account-progress__head strong {
	font-size: 1.02rem;
	font-weight: 700;
}

.teasphera-account-progress__head span,
.teasphera-account-progress__hint,
.teasphera-account-note,
.teasphera-account-order p,
.teasphera-account-address__content,
.teasphera-review-card__body p,
.teasphera-review-card__meta {
	color: var(--teasphera-text-soft);
	line-height: 1.68;
}

.teasphera-account-progress__bar {
	background: #e5ded4;
	height: 8px;
}

.teasphera-account-progress__bar span {
	background: #111111;
}

.teasphera-account-links {
	display: none;
}

.teasphera-account-dashboard .teasphera-section-heading,
.teasphera-account-endpoint .teasphera-section-heading {
	align-items: start;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 18px;
}

.teasphera-account-dashboard .teasphera-section-heading h2,
.teasphera-account-endpoint .teasphera-section-heading h2 {
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	margin: 4px 0 0;
}

.teasphera-account-section {
	padding: 28px;
}

.teasphera-account-orders,
.teasphera-account-addresses {
	display: grid;
	gap: 16px;
}

.teasphera-account-orders {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.teasphera-account-order,
.teasphera-account-address {
	border-radius: 16px;
	padding: 20px;
}

.teasphera-account-order__meta span {
	color: var(--teasphera-text-soft);
	font-size: 0.9rem;
}

.teasphera-account-order__meta strong,
.teasphera-review-card__status {
	background: #f4f4f4;
	border-radius: 999px;
	color: #111111;
	padding: 6px 10px;
}

.teasphera-account-order__meta strong.is-filled,
.teasphera-review-card__status.is-filled {
	background: #111111;
	color: #ffffff;
}

.teasphera-account-columns {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.teasphera-account-tier {
	align-items: center;
	border-top: 1px solid #efe8de;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 16px 0;
}

.teasphera-account-tier:first-child {
	border-top: 0;
	padding-top: 0;
}

.teasphera-account-tier strong {
	font-size: 1rem;
	font-weight: 700;
}

.teasphera-account-tier span {
	color: var(--teasphera-text-soft);
}

.teasphera-account-tier b {
	font-family: var(--teasphera-headings);
	font-size: 1.45rem;
	font-weight: 600;
}

.teasphera-account-tier.is-current strong,
.teasphera-account-tier.is-current b {
	color: #111111;
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account form,
.woocommerce-account table.shop_table,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
	background: #ffffff;
	border: 1px solid #e7e2d9;
	border-radius: 18px;
	box-shadow: none;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
	padding: 18px 20px 18px 52px;
	position: relative;
}

/* Значок-маркер (!/✔/i) не должен налезать на текст ошибки (Жекин скрин 943,
   красный «!» на тексте «Данный ключ…»): position:relative на нотисе +
   left-padding под иконку + центрируем ::before по вертикали. */
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before {
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
}

@media (max-width: 1180px) {
	.teasphera-account-overview,
	.teasphera-account-columns {
		grid-template-columns: 1fr;
	}

	.teasphera-account-orders {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.teasphera-account-shell,
	.teasphera-account-orders,
	.teasphera-account-loyalty-panel__stats {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.teasphera-account-panel,
	.teasphera-account-section {
		padding: 20px;
	}

	.teasphera-account-profile-panel {
		grid-template-columns: 1fr;
	}

	.teasphera-account-profile-panel__avatar {
		height: 88px;
		width: 88px;
	}

	.teasphera-account-profile-panel__grid,
	.teasphera-account-columns {
		grid-template-columns: 1fr;
	}

	.teasphera-account-actions {
		flex-direction: column;
	}

	.teasphera-account-action {
		width: 100%;
	}

	.teasphera-account-dashboard .teasphera-section-heading,
	.teasphera-account-endpoint .teasphera-section-heading {
		display: grid;
	}
}

/* Account layout cleanup */
.woocommerce-account .teasphera-topbar__search-wrap,
.woocommerce-account .teasphera-topbar__search {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.woocommerce-account .teasphera-account-shell {
	gap: 34px;
	grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation {
	position: sticky;
	top: 28px;
}

.admin-bar.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation {
	top: 60px;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation ul {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	gap: 4px;
	padding: 0;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation a {
	background: transparent;
	border: 1px solid transparent;
	border-radius: 6px;
	display: flex;
	font-size: 0.96rem;
	font-weight: 600;
	justify-content: space-between;
	min-height: 42px;
	padding: 9px 12px;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation a:hover {
	background: #f4f4f4;
	border-color: #e9e9e9;
	color: #111111;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation .is-active a {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.woocommerce-account .teasphera-account-header {
	max-width: 760px;
}

.woocommerce-account .teasphera-account-overview {
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
}

.woocommerce-account .woocommerce-Addresses {
	align-items: stretch;
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2 {
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
}

.woocommerce-account .woocommerce-Address {
	display: grid;
	gap: 18px;
	height: 100%;
	padding: 24px;
}

.woocommerce-account .woocommerce-Address-title {
	align-items: start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 0;
}

.woocommerce-account .woocommerce-Address-title h3 {
	font-family: var(--teasphera-headings);
	font-size: clamp(1.9rem, 3vw, 2.9rem);
	font-weight: 500;
	line-height: 1.04;
	margin: 0;
	max-width: 18ch;
}

.woocommerce-account .woocommerce-Address .edit {
	align-items: center;
	background: #111111;
	border: 1px solid #111111;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 700;
	justify-content: center;
	min-height: 38px;
	padding: 0 14px;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-Address .edit:hover {
	background: #2d2d2d;
	border-color: #2d2d2d;
	color: #ffffff;
}

.woocommerce-account .woocommerce-Address address,
.woocommerce-account .woocommerce-Address p {
	color: var(--teasphera-text-soft);
	line-height: 1.72;
	margin: 0;
}

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

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

	.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation {
		position: static;
		top: auto;
	}

	.woocommerce-account .woocommerce-Address {
		padding: 20px;
	}

	.woocommerce-account .woocommerce-Address-title {
		display: grid;
	}
}

/* Account endpoint polish */
.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation,
.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation ul,
.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation li {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation ul {
	gap: 2px;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation a {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #111111;
	min-height: 42px;
	padding: 10px 10px;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation a:hover {
	background: #f6f4ef !important;
	border: 0 !important;
	color: #111111;
}

.woocommerce-account .teasphera-account-shell .woocommerce-MyAccount-navigation .is-active a {
	background: #111111 !important;
	border: 0 !important;
	border-radius: 4px !important;
	color: #ffffff !important;
}

.woocommerce-account .woocommerce-Addresses {
	align-items: start;
	gap: 24px;
}

.woocommerce-account .woocommerce-Address {
	align-content: start;
	gap: 18px;
	min-height: 100%;
	padding: 28px 26px;
}

.woocommerce-account .woocommerce-Address-title,
.woocommerce-account .woocommerce-Address-title.title {
	align-items: start;
	display: grid !important;
	gap: 14px;
	grid-template-columns: 1fr;
	justify-content: start;
}

.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-Address-title.title h3 {
	font-size: clamp(1.75rem, 2.8vw, 2.45rem);
	line-height: 1.08;
	margin: 0;
	max-width: none;
	word-break: normal;
}

.woocommerce-account .woocommerce-Address .edit {
	align-self: start;
	justify-self: start;
	min-height: 40px;
	padding: 0 16px;
}

.woocommerce-account .woocommerce-Address address,
.woocommerce-account .woocommerce-Address p {
	max-width: 34ch;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	align-items: center;
	background: #ffffff !important;
	border: 1px solid #e7e2d9 !important;
	border-top: 1px solid #e7e2d9 !important;
	border-radius: 22px !important;
	box-shadow: none !important;
	color: #111111 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 18px 20px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error::before {
	content: none !important;
	display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .wc-forward,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .wc-backward,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .wc-forward,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .wc-backward,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .wc-forward,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .wc-backward {
	align-items: center;
	background: #111111 !important;
	border: 1px solid #111111 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #ffffff !important;
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 700;
	justify-content: center;
	margin-left: auto;
	min-height: 42px;
	padding: 0 18px;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .wc-forward:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .wc-backward:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .wc-forward:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .wc-backward:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .wc-forward:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .wc-backward:hover {
	background: #2a2a2a !important;
	border-color: #2a2a2a !important;
	color: #ffffff !important;
}

@media (max-width: 782px) {
	.woocommerce-account .woocommerce-Address {
		padding: 22px 20px;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
		align-items: start;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .wc-forward,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .wc-backward,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .wc-forward,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .wc-backward,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .wc-forward,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .wc-backward {
		margin-left: 0;
	}
}

/* Account address endpoint and topbar search fixes */
.woocommerce-account .site-content,
.woocommerce-account .site-main,
.woocommerce-account .entry-content {
	padding-top: 0 !important;
}

.woocommerce-account .entry-content > .woocommerce {
	padding-top: 10px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
	gap: 18px;
	grid-template-columns: 1fr !important;
	max-width: 560px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	gap: 16px;
	height: auto !important;
	min-height: 0;
	padding: 0 0 18px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address:not(:last-child) {
	border-bottom: 1px solid #ece7de !important;
	margin-bottom: 4px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	gap: 12px;
	padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title.title h3 {
	font-size: clamp(1.55rem, 2.2vw, 2rem);
	line-height: 1.1;
	max-width: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit {
	border-radius: 999px;
	font-size: 0.84rem;
	min-height: 36px;
	padding: 0 14px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address p {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-style: normal;
	max-width: none;
	padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .u-column2,
.woocommerce-account .woocommerce-MyAccount-content .col-2 {
	display: none !important;
}

.woocommerce-account .teasphera-topbar__search-wrap {
	min-width: 0;
	width: 100%;
}

.woocommerce-account .teasphera-topbar__search {
	align-items: center;
	display: flex;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.woocommerce-account .teasphera-topbar__search-input {
	background: #ffffff !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 8px !important;
	color: #111111 !important;
	height: 44px !important;
	padding: 0 54px 0 14px !important;
}

.woocommerce-account .teasphera-topbar__search-button,
.woocommerce-account .teasphera-topbar__search button[type="submit"] {
	align-items: center !important;
	background: #111111 !important;
	border: 1px solid #111111 !important;
	border-radius: 0 8px 8px 0 !important;
	box-shadow: none !important;
	color: #ffffff !important;
	cursor: pointer;
	display: inline-flex !important;
	height: 42px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-height: 42px !important;
	min-width: 42px !important;
	padding: 0 !important;
	position: absolute !important;
	right: 1px !important;
	top: 1px !important;
	transform: none !important;
	vertical-align: middle !important;
	width: 42px !important;
}

.woocommerce-account .teasphera-topbar__search-button:hover,
.woocommerce-account .teasphera-topbar__search button[type="submit"]:hover {
	background: #2b2b2b !important;
	border-color: #2b2b2b !important;
	color: #ffffff !important;
}

.teasphera-topbar__search {
	align-items: center;
	display: flex;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.teasphera-topbar__search-input {
	background: #ffffff !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 8px !important;
	color: #111111 !important;
	height: 44px !important;
	padding: 0 54px 0 14px !important;
}

.teasphera-topbar__search-button,
.teasphera-topbar__search button[type="submit"] {
	align-items: center !important;
	background: #111111 !important;
	border: 1px solid #111111 !important;
	border-radius: 0 8px 8px 0 !important;
	box-shadow: none !important;
	color: #ffffff !important;
	cursor: pointer;
	display: inline-flex !important;
	height: 42px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-height: 42px !important;
	min-width: 42px !important;
	padding: 0 !important;
	position: absolute !important;
	right: 1px !important;
	top: 1px !important;
	transform: none !important;
	vertical-align: middle !important;
	width: 42px !important;
}

.teasphera-topbar__search-button:hover,
.teasphera-topbar__search button[type="submit"]:hover {
	background: #2b2b2b !important;
	border-color: #2b2b2b !important;
	color: #ffffff !important;
}

/* Global content spacing */
.site-content > .ast-container {
	padding-top: 14px !important;
}

/* Address book */
.teasphera-address-book {
	display: grid;
	gap: 26px;
}

.teasphera-address-book__header {
	margin-bottom: 0;
}

.teasphera-address-book__form,
.teasphera-address-book__card,
.teasphera-address-book__empty {
	border-radius: 16px;
}

.teasphera-address-book__form h3,
.teasphera-address-book__card h3 {
	font-family: var(--teasphera-headings);
	font-size: clamp(1.6rem, 2.5vw, 2.2rem);
	line-height: 1.08;
	margin: 0;
}

.teasphera-address-book__form-grid {
	display: grid;
	gap: 0 18px;
}

.teasphera-address-book__form-grid .form-row {
	margin: 0 0 18px;
}

.teasphera-address-book__form-grid input[type="text"] {
	background: #ffffff;
	border: 1px solid #d8d8d8;
	border-radius: 10px;
	min-height: 48px;
	padding: 0 14px;
	width: 100%;
}

.teasphera-address-book__form-toggle label {
	align-items: center;
	display: inline-flex;
	gap: 10px;
}

.teasphera-address-book__form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.teasphera-address-book__list {
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr;
	max-width: 720px;
}

.teasphera-address-book__card {
	display: grid;
	gap: 18px;
}

.teasphera-address-book__card-head {
	align-items: start;
	display: flex;
	gap: 18px;
	justify-content: space-between;
}

.teasphera-address-book__card-title {
	display: grid;
	gap: 10px;
}

.teasphera-address-book__badge {
	align-items: center;
	background: #111111;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.76rem;
	font-weight: 700;
	justify-content: center;
	min-height: 28px;
	padding: 0 10px;
	width: fit-content;
}

.teasphera-address-book__card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.teasphera-address-book__card-actions form {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0;
	padding: 0 !important;
}

.teasphera-address-book__card-body {
	color: var(--teasphera-text-soft);
	display: grid;
	gap: 6px;
	line-height: 1.7;
}

.teasphera-address-book__card-body p,
.teasphera-address-book__empty p {
	margin: 0;
}

@media (max-width: 782px) {
	.site-content > .ast-container {
		padding-top: 10px !important;
	}

	.teasphera-address-book__header,
	.teasphera-address-book__card-head {
		display: grid;
	}

	.teasphera-address-book__card-actions {
		justify-content: start;
	}

	.teasphera-address-book__form-actions {
		flex-direction: column;
	}
}

/* Final spacing and address-book cleanup */
body > .teasphera-topbar + #page,
body > .teasphera-topbar + .site {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.site-content,
.site-main,
.woocommerce-account .entry-content,
.woocommerce-account .entry-content > .woocommerce {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.site-content > .ast-container,
.ast-page-builder-template .site-content > .ast-container,
.ast-plain-container .site-content > .ast-container,
.ast-separate-container .site-content > .ast-container {
	padding-top: 18px !important;
}

.teasphera-catalog-page,
.woocommerce-account .entry-content > .woocommerce,
.single-product .site-main,
.single-product .site-content > .ast-container {
	padding-top: 0 !important;
}

.teasphera-topbar__search-wrap {
	align-items: center;
	display: flex;
	min-width: 0;
	width: 100%;
}

.teasphera-topbar__search {
	align-items: stretch !important;
	display: flex !important;
	height: 44px !important;
	min-height: 44px !important;
	overflow: hidden !important;
	position: relative !important;
	width: 100% !important;
}

.teasphera-topbar__search-input {
	box-sizing: border-box !important;
	height: 44px !important;
	line-height: 44px !important;
	margin: 0 !important;
	min-height: 44px !important;
	padding: 0 54px 0 14px !important;
}

.teasphera-topbar__search-button,
.teasphera-topbar__search button[type="submit"] {
	box-sizing: border-box !important;
	height: 44px !important;
	inset: 0 0 0 auto !important;
	margin: 0 !important;
	min-height: 44px !important;
	min-width: 44px !important;
	right: 0 !important;
	top: 0 !important;
	width: 44px !important;
}

.teasphera-address-book__header {
	align-items: start;
	display: flex;
	gap: 18px;
	justify-content: space-between;
}

.teasphera-address-book__form,
.teasphera-address-book__card,
.teasphera-address-book__empty {
	background: #ffffff;
	border: 1px solid #e7e2d9;
	border-radius: 18px;
	box-shadow: none;
	padding: 24px;
}

.teasphera-address-book__list {
	max-width: 840px;
}

.teasphera-address-book__card-body {
	font-style: normal;
}

.teasphera-address-book__card-body p:first-child {
	color: var(--teasphera-text);
	font-weight: 600;
}

.teasphera-address-book__card-actions .teasphera-address-book__delete,
.teasphera-address-book__card-actions button.teasphera-address-book__delete,
.woocommerce-account .teasphera-address-book__card-actions button.teasphera-address-book__delete[type="submit"] {
	align-items: center !important;
	appearance: none;
	background: #111111 !important;
	border: 1px solid #111111 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #ffffff !important;
	cursor: pointer;
	display: inline-flex !important;
	font-size: 0.84rem;
	font-weight: 700;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0;
	min-height: 36px !important;
	padding: 0 14px !important;
	text-decoration: none !important;
}

.teasphera-address-book__card-actions .teasphera-address-book__delete:hover,
.teasphera-address-book__card-actions button.teasphera-address-book__delete:hover,
.woocommerce-account .teasphera-address-book__card-actions button.teasphera-address-book__delete[type="submit"]:hover {
	background: #2b2b2b !important;
	border-color: #2b2b2b !important;
	color: #ffffff !important;
}

@media (max-width: 782px) {
	.site-content > .ast-container,
	.teasphera-catalog-page,
	.woocommerce-account .entry-content > .woocommerce {
		padding-top: 14px !important;
	}

	.teasphera-address-book__header {
		display: grid;
	}
}

/* Contacts and legal details */
.teasphera-legal-footer {
	background: #f6f3ed;
	border-top: 1px solid #e7e2d9;
	margin-top: 56px;
	padding: 32px 0 36px;
}

.teasphera-legal-footer__inner {
	display: grid;
	gap: 24px;
}

.teasphera-legal-footer__intro {
	display: grid;
	gap: 10px;
	max-width: 760px;
}

.teasphera-legal-footer__intro h2 {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1;
	margin: 0;
}

.teasphera-legal-footer__intro p {
	color: var(--teasphera-text-soft);
	margin: 0;
}

.teasphera-legal-footer__content {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

.teasphera-legal-footer__list {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.teasphera-legal-footer__item {
	border-bottom: 1px solid #e7e2d9;
	display: grid;
	gap: 6px;
	padding-bottom: 14px;
}

.teasphera-legal-footer__item dt {
	color: var(--teasphera-text-soft);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 0;
	text-transform: uppercase;
}

.teasphera-legal-footer__item dd {
	color: var(--teasphera-text);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
}

.teasphera-legal-footer__extra {
	background: #ffffff;
	border: 1px solid #e7e2d9;
	padding: 18px 20px;
}

.teasphera-legal-footer__extra h3,
.teasphera-contacts-card__extra h3 {
	font-size: 0.95rem;
	margin: 0 0 8px;
}

.teasphera-legal-footer__extra p,
.teasphera-contacts-card__extra p {
	color: var(--teasphera-text-soft);
	line-height: 1.7;
	margin: 0;
}

.teasphera-legal-footer__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.teasphera-legal-footer__button,
.teasphera-legal-footer__link {
	color: #111111;
	font-weight: 700;
	text-decoration: none;
}

.teasphera-legal-footer__button {
	background: #111111;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	min-height: 42px;
	padding: 0 18px;
	align-items: center;
}

.teasphera-static-page {
	padding: 24px 0 0;
}

.teasphera-static-page__header {
	display: grid;
	gap: 10px;
	margin-bottom: 30px;
	max-width: 760px;
}

.teasphera-static-page__header h1 {
	font-size: clamp(2.6rem, 6vw, 4.4rem);
	line-height: 0.95;
	margin: 0;
}

.teasphera-static-page__header p {
	color: var(--teasphera-text-soft);
	margin: 0;
}

.teasphera-contacts-page__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.teasphera-contacts-card {
	background: #ffffff;
	border: 1px solid #e7e2d9;
	padding: 28px;
}

.teasphera-contacts-card h2 {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	line-height: 1;
	margin: 0 0 18px;
}

.teasphera-contacts-card__list {
	display: grid;
	gap: 16px;
	margin: 0;
}

.teasphera-contacts-card__list div {
	border-bottom: 1px solid #ece7dd;
	display: grid;
	gap: 6px;
	padding-bottom: 14px;
}

.teasphera-contacts-card__list dt {
	color: var(--teasphera-text-soft);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 0;
	text-transform: uppercase;
}

.teasphera-contacts-card__list dd {
	margin: 0;
}

.teasphera-contacts-card__list a {
	color: inherit;
	text-decoration: none;
}

.teasphera-contacts-card__content {
	border-top: 1px solid #ece7dd;
	margin-top: 20px;
	padding-top: 20px;
}

.teasphera-contacts-card__content > :first-child {
	margin-top: 0;
}

.teasphera-contacts-card__content > :last-child {
	margin-bottom: 0;
}

@media (max-width: 920px) {
	.teasphera-legal-footer__content,
	.teasphera-contacts-page__grid {
		grid-template-columns: 1fr;
	}

	.teasphera-legal-footer__list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.teasphera-static-page {
		padding-top: 18px;
	}

	.teasphera-contacts-card,
	.teasphera-legal-footer__extra {
		padding: 20px;
	}
}

/* ============================================================
   v23 MOBILE NAV (2026-05-29, Никита, образец moychay.ru):
   бургер+поиск в шапке + нижний фикс-бар с иконками.
   ============================================================ */
.teasphera-topbar__burger { display: none; }
.teasphera-bottomnav { display: none; }

@media (max-width: 1024px) {
	/* Отступ сверху у шапки: на ≤782 `.teasphera-shell { padding:0 18px }`
	   (шорткат) обнулял padding-top иннера → лого впритык к кромке (Жека 2026-05-29).
	   Этот блок в конце файла → перебивает по порядку. +safe-area под «чёлку». */
	.teasphera-topbar__inner {
		padding-top: calc(20px + env(safe-area-inset-top, 0px));
		/* Лого по центру на мобиле (Жека 2026-05-29). brand-wrap auto-width
		   центрируется; search-wrap width:100% остаётся на всю ширину. */
		align-items: center;
	}
	.teasphera-topbar__brand-wrap {
		justify-content: center;
	}

	/* Шапка: бургер + поиск в одну строку */
	.teasphera-topbar__search-wrap {
		display: flex !important;
		align-items: center;
		gap: 10px;
		width: 100%;
	}
	.teasphera-topbar__search-wrap .teasphera-topbar__search { flex: 1 1 auto; margin: 0; }

	.teasphera-topbar__burger {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		gap: 4px;
		flex: none;
		width: 46px;
		height: 46px;
		padding: 0 12px;
		border: 0;
		border-radius: 8px;
		background: #111111;
		cursor: pointer;
	}
	.teasphera-topbar__burger-bar {
		display: block;
		height: 2px;
		width: 100%;
		background: #ffffff;
		border-radius: 2px;
		transition: transform 0.2s ease, opacity 0.2s ease;
	}
	.teasphera-topbar__burger.is-open .teasphera-topbar__burger-bar:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.teasphera-topbar__burger.is-open .teasphera-topbar__burger-bar:nth-child(2) { opacity: 0; }
	.teasphera-topbar__burger.is-open .teasphera-topbar__burger-bar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

	/* Разгрузка шапки: текст-кнопки и иконки уезжают в нижний бар */
	.teasphera-topbar__actions { display: none !important; }

	/* Нижний фикс-бар (как у moychay) */
	.teasphera-bottomnav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
		display: flex;
		justify-content: space-around;
		align-items: stretch;
		background: #ffffff;
		border-top: 1px solid #ececec;
		padding: 6px 4px;
		padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
		box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.05);
	}
	.teasphera-bottomnav__item {
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 3px;
		padding: 4px 2px;
		color: #8a8a8a;
		text-decoration: none;
		font-family: 'Inter', system-ui, sans-serif;
		font-size: 10px;
		letter-spacing: 0.01em;
	}
	.teasphera-bottomnav__item.is-active { color: #111111; }
	.teasphera-bottomnav__icon { position: relative; display: inline-flex; }
	.teasphera-bottomnav__icon svg { width: 23px; height: 23px; display: block; }
	.teasphera-bottomnav__badge {
		position: absolute;
		top: -6px;
		right: -9px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 9px;
		background: #d23b3b;
		color: #ffffff;
		font-size: 10px;
		line-height: 16px;
		text-align: center;
		font-weight: 600;
	}
	.teasphera-bottomnav__label { line-height: 1; }

	/* место под фикс-бар, чтобы низ контента/футер не прятались */
	body { padding-bottom: 66px; }
}

/* ============================================================
   ЛИЧНЫЙ КАБИНЕТ (Жекины правки 2026-05-31).
   ============================================================ */

/* A: убрать пустой отступ сверху на страницах ЛК — тот же Astra-зазор
   (.content-area margin-top), что чинили для shop/товара, но account был
   не покрыт. Повторялось в 3 голосовых Жеки + видно на всех 4 скринах. */
body.woocommerce-account .content-area,
body.woocommerce-account .ast-woocommerce-container {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* B: тогл «Вход | Регистрация» вместо двух простыней друг под другом
   (скрин 942). Узкая центрированная карточка — «как на крупных сайтах». */
.tsv23-auth {
	max-width: 460px;
	margin: 8px auto 0;
}
.tsv23-auth__tabs {
	display: flex;
	margin-bottom: 22px;
	border-bottom: 1px solid #e7e2d9;
}
.tsv23-auth__tab {
	flex: 1 1 0;
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	padding: 12px 8px;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	color: #9a9a9a;
	cursor: pointer;
	transition: color 0.18s ease, border-color 0.18s ease;
}
.tsv23-auth__tab.is-active {
	color: #111111;
	border-bottom-color: #111111;
}
/* Снять синюю заливку фокуса (глобальный button:focus Astra) — состояние
   таба показывает подчёркивание .is-active, не фон. */
.tsv23-auth__tab:focus,
.tsv23-auth__tab:focus-visible,
.tsv23-auth__tab:active {
	background: none !important;
	box-shadow: none !important;
	outline: none;
}
.tsv23-auth__panel {
	display: none;
}
.tsv23-auth__panel.is-active {
	display: block;
}

/* login-строка: кнопка + «Запомнить меня» рядом, без нахлёста (скрин 942) */
.tsv23-auth .tsv23-auth__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 4px;
}
.tsv23-auth .tsv23-auth__actions .button {
	margin: 0;
}
.tsv23-auth__remember {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 !important;
	font-size: 14px;
	white-space: nowrap;
}
.tsv23-auth__hint {
	font-size: 13px;
	color: #8a8a8a;
	line-height: 1.45;
	margin: 0 0 6px;
}

.tsv23-auth .woocommerce-privacy-policy-text {
	margin: 8px 0 16px;
}

.tsv23-auth .woocommerce-privacy-policy-text p {
	color: #777777;
	font-size: 11.5px;
	line-height: 1.45;
	margin: 0;
}

.tsv23-auth .woocommerce-privacy-policy-text a {
	color: #111111;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

/* ============================================================
   ЧЕКАУТ: сосуществование СДЭК + OZON Pay (2026-06-02).
   OZON-плагин прячет лейблы ВСЕХ способов доставки
   (`#shipping_method li > label { display:none }`) под свою кнопку
   «Оформить на Озон». Возвращаем видимость лейблов СДЭК (выше
   специфичность + !important), чтобы покупатель мог выбрать и его.
   ============================================================ */
.woocommerce-checkout #shipping_method li > label[for*="official_cdek"] {
	display: block !important;
}

/* ============================================================
   ПУСТАЯ КОРЗИНА: кнопка товара в блоке «Новинка в магазине»
   (Gutenberg New Products) шла дефолтной синью #046BD2 мимо
   бренд-цвета. Приводим к бренду как остальные кнопки сайта.
   Жалоба Жеки 02.06. (2026-06-02)
   ============================================================ */
.wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link.add_to_cart_button {
	background: #111111 !important;
	border-color: #111111 !important;
	color: #ffffff !important;
}
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link.add_to_cart_button:hover {
	background: #2b2b2b !important;
	border-color: #2b2b2b !important;
	color: #ffffff !important;
}

/* ============================================================
   ЧЕКАУТ (перекос): OZON Pay владеет оформлением — прячет форму
   покупателя (#customer_details) и кнопку «Подтвердить заказ»,
   адрес собирается на стороне Озона. Из-за этого блок «Ваш заказ»
   висел float:right, левая половина пустая (жалоба Жеки 02.06).
   Центрируем блок заказа — убираем перекос.
   ВРЕМЕННО: при включении выбора СДЭК/Озон (показ формы покупателя)
   этот блок ревизовать вместе с тоггл-логикой чекаута.
   ============================================================ */
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review {
	float: none !important;
	width: 100% !important;
	max-width: 560px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
/* таблица заказа: плагин выставляет ей px-ширину под всю форму (вылезает
   из центрированного бокса) — прижимаем к контейнеру и разрешаем перенос */
.woocommerce-checkout form.checkout #order_review table.shop_table {
	width: 100% !important;
	min-width: 0 !important;
}
.woocommerce-checkout form.checkout #order_review table.shop_table th,
.woocommerce-checkout form.checkout #order_review table.shop_table td {
	white-space: normal !important;
}
