/*
 * Tochko 1.0 – Детски стаи ТОЧКО: the 2021 design (green menu bar with coloured icons, coloured stars at the sides), the shop features
 * of the Relaxiram theme it is built on. One stylesheet, own font (Manrope, OFL), no libraries.
 */

/* ---------- fonts (self-hosted, Latin + Cyrillic) ---------- */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/manrope-cyrillic-400-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/manrope-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/manrope-cyrillic-600-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/manrope-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/manrope-cyrillic-700-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/manrope-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/playfair-display-cyrillic-500-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/playfair-display-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 500; font-display: swap; src: url(../fonts/playfair-display-cyrillic-500-italic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 500; font-display: swap; src: url(../fonts/playfair-display-latin-500-italic.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- tokens ---------- */
:root {
	/* Детски стаи ТОЧКО (2021 design): green menu bar, blue "home", raspberry "contacts", the colours of the stars */
	--tch-ink: #262a2e;
	--tch-text: #464b50;
	--tch-muted: #7c8187;
	--tch-cream: #f4f4f2;
	--tch-paper: #fff;
	--tch-blush: #fff4e0;
	--tch-blush-2: #ffe2ad;
	--tch-rose: #ff9f00;
	--tch-bordo: #5e8c10;
	--tch-berry: #da0066;
	--tch-pink: #da0066;
	--tch-leaf: #5e8c10;
	--tch-sage: #ecf4df;
	--tch-lav: #e3f4fb;
	--tch-peach: #fff1da;
	--tch-sky: #e3f4fb;
	--tch-sand: #f6f1e6;
	--tch-terra: #e55a00;
	--tch-pool: #009ece;
	--tch-navy: #1e5a86;
	--tch-navy-d: #143f60;
	--tch-line: #e3e3e3;
	/* second colour next to the green bar: the blue of the "home" button and of the stars */
	--tch-green-d: #00739a;
	--tch-green: #009ece;
	--tch-green-l: #45bfe6;
	--tch-sage-l: #eaf7fc;
	--tch-sage-m: #cfeef9;
	--tch-grad-green: linear-gradient(115deg, #006f95 0%, #009ece 46%, #36b9e3 100%);
	--tch-grad: linear-gradient(115deg, #4c7409 0%, #5e8c10 40%, #73a51a 100%);
	--tch-shadow: 0 30px 70px -38px rgba(20, 35, 50, .38);
	--tch-shadow-sm: 0 14px 34px -24px rgba(20, 35, 50, .34);
	--tch-r: 22px;
	--tch-r-lg: 32px;
	--tch-wrap: 1320px;
	--tch-sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--tch-serif: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--tch-ease: cubic-bezier(.22, .8, .24, 1);
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0; color: var(--tch-text); font: 400 15.5px/1.65 var(--tch-sans); -webkit-font-smoothing: antialiased;
	background:
		radial-gradient(900px 520px at 6% -6%, #f8e6d6 0, rgba(248, 230, 214, 0) 70%),
		radial-gradient(800px 480px at 100% 2%, #e6eddf 0, rgba(230, 237, 223, 0) 65%),
		var(--tch-cream);
	background-repeat: no-repeat;
}
img { max-width: 100%; height: auto; }
a { color: var(--tch-berry); text-decoration: none; transition: color .2s; }
a:hover { color: var(--tch-bordo); }
button { font: inherit; cursor: pointer; color: inherit; }
:focus-visible { outline: 3px solid rgba(196, 106, 71, .55); outline-offset: 3px; border-radius: 6px; }
::selection { background: #f1d3c0; color: var(--tch-ink); }
h1, h2, h3, h4 { color: var(--tch-ink); font-family: var(--tch-serif); font-weight: 500; line-height: 1.2; letter-spacing: -.005em; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { position: fixed !important; left: 8px; top: 8px; width: auto; height: auto; clip: auto; z-index: 1000; background: #fff; padding: 10px 16px; border-radius: 12px; }
.tch-wrap { width: 100%; max-width: var(--tch-wrap); margin: 0 auto; padding: 0 24px; }
.tch-ico { flex: none; }

/* the coloured stars of the 2021 design at the sides of the page (background only, where there is room) */
.tch-page { position: relative; isolation: isolate; min-height: 100vh; overflow-x: clip; }
@media (min-width: 1400px) {
	.tch-page::before, .tch-page::after {
		content: ""; position: fixed; top: 150px; bottom: 0; z-index: -1; pointer-events: none;
		width: min(330px, calc((100vw - var(--tch-wrap)) / 2 + 40px));
		background: no-repeat top / contain;
	}
	.tch-page::before { left: 0; background-image: url(../img/stars-left.webp); background-position: left top; }
	.tch-page::after { right: 0; background-image: url(../img/stars-right.webp); background-position: right top; }
}

/* ---------- small pieces ---------- */
.tch-kicker {
	display: inline-flex; align-items: center; gap: 10px; margin: 0 0 12px;
	font: 700 12px/1 var(--tch-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--tch-berry);
}
.tch-kicker::before {
	content: ""; width: 18px; height: 18px; flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff9f00' d='M12 1.8l3.1 6.6 7.2.9-5.3 5 1.4 7.1L12 17.9l-6.4 3.5L7 14.3l-5.3-5 7.2-.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tch-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px;
	border-radius: 999px; border: 0; font: 700 14.5px/1 var(--tch-sans); letter-spacing: .02em; white-space: nowrap;
	transition: transform .3s var(--tch-ease), box-shadow .3s var(--tch-ease), background .3s, color .3s;
}
.tch-btn--primary { background: var(--tch-grad); color: #fff; box-shadow: 0 16px 30px -14px rgba(94, 140, 16, .75); }
.tch-btn--primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 22px 36px -14px rgba(94, 140, 16, .8); }
.tch-btn--primary .tch-ico { transition: transform .3s var(--tch-ease); }
.tch-btn--primary:hover .tch-ico { transform: translateX(4px); }
.tch-btn--tone { background: var(--tch-grad); color: #fff; box-shadow: 0 16px 30px -14px rgba(94, 140, 16, .75); }
.tch-btn--green, .tch-tone--green .tch-btn--tone { background: var(--tch-grad-green); color: #fff; box-shadow: 0 16px 30px -14px rgba(43, 70, 48, .75); }
.tch-btn--tone:hover, .tch-btn--green:hover { color: #fff; transform: translateY(-2px); }
.tch-btn--tone:hover { box-shadow: 0 22px 36px -14px rgba(94, 140, 16, .8); }
.tch-btn--green:hover, .tch-tone--green .tch-btn--tone:hover { box-shadow: 0 22px 36px -14px rgba(43, 70, 48, .8); }
.tch-btn--tone .tch-ico, .tch-btn--green .tch-ico { transition: transform .3s var(--tch-ease); }
.tch-btn--tone:hover .tch-ico, .tch-btn--green:hover .tch-ico { transform: translateX(4px); }
.tch-btn--ghost { background: rgba(255, 255, 255, .7); color: var(--tch-ink); box-shadow: inset 0 0 0 1.5px rgba(42, 37, 33, .16); backdrop-filter: blur(6px); }
.tch-btn--ghost:hover { color: var(--tch-bordo); background: #fff; box-shadow: inset 0 0 0 1.5px rgba(94, 140, 16, .4); }
.tch-link-more {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px;
	background: #fff; color: var(--tch-bordo); font-weight: 700; font-size: 14px; box-shadow: var(--tch-shadow-sm); white-space: nowrap;
}
.tch-link-more .tch-ico { transition: transform .3s var(--tch-ease); }
.tch-link-more:hover .tch-ico { transform: translateX(4px); }

/* ---------- utility bar ---------- */
.tch-util { background: linear-gradient(90deg, #efe2d2 0%, #f6f0e7 50%, #e2e9da 100%); color: #5a4a3e; font-size: 13px; }
.tch-util__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.tch-util__item { display: inline-flex; align-items: center; gap: 8px; color: inherit; font-weight: 600; }
.tch-util__item .tch-ico { color: var(--tch-berry); }
a.tch-util__item:hover { color: var(--tch-bordo); }
.tch-util__promo { flex: 1; justify-content: center; text-align: center; font-weight: 500; }
.tch-langs { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; }
.tch-langs a { display: block; line-height: 0; border-radius: 4px; overflow: hidden; box-shadow: 0 0 0 2px #fff, 0 2px 6px rgba(80, 30, 50, .25); opacity: .8; transition: opacity .2s, transform .2s; }
.tch-langs a:hover, .tch-langs a[aria-current] { opacity: 1; transform: translateY(-1px); }
.tch-flag { display: block; width: 22px; height: 15px; }

/* ---------- header ---------- */
.tch-header { position: relative; z-index: 70; }
.tch-header__top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 32px; padding-top: 22px; padding-bottom: 18px; }
.tch-burger { display: none; align-items: center; gap: 8px; height: 46px; padding: 0 16px 0 12px; border: 0; border-radius: 999px; background: #fff; color: var(--tch-bordo); font-weight: 700; font-size: 14px; box-shadow: var(--tch-shadow-sm); }
.tch-logo { display: block; line-height: 0; }
.tch-logo img, .custom-logo { display: block; width: var(--tch-logo-w, 240px); height: auto; }
.tch-header__search { width: 100%; max-width: 600px; justify-self: center; }
.tch-searchform { position: relative; display: flex; width: 100%; }
.tch-searchform input[type="search"] {
	flex: 1; min-width: 0; height: 54px; padding: 0 64px 0 26px; border: 1.5px solid #e8ddcf; border-radius: 999px;
	background: rgba(255, 255, 255, .92); color: var(--tch-ink); font: inherit; font-size: 15px;
	box-shadow: 0 10px 30px -22px rgba(110, 30, 60, .45); transition: border-color .25s, box-shadow .25s;
	-webkit-appearance: none; appearance: none;
}
.tch-searchform input[type="search"]::placeholder { color: #a39385; }
.tch-searchform input[type="search"]:focus { outline: 0; border-color: var(--tch-rose); box-shadow: 0 0 0 5px rgba(196, 106, 71, .14); }
.tch-searchform button { position: absolute; right: 6px; top: 6px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--tch-grad); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: transform .3s var(--tch-ease); }
.tch-searchform button:hover { transform: scale(1.06); }
.tch-header__tools { display: flex; align-items: center; gap: 6px; }
.tch-tool { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 10px; border-radius: 999px; color: var(--tch-ink); font-weight: 700; font-size: 14px; transition: background .25s, color .25s; }
.tch-tool:hover { background: #fff; color: var(--tch-bordo); box-shadow: var(--tch-shadow-sm); }
.tch-tool > .tch-ico, .tch-cart__ico { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--tch-blush); color: var(--tch-bordo); }
.tch-tool > .tch-ico { padding: 9px; box-sizing: border-box; }
.tch-cart__ico { position: relative; }
.tch-cart__count, .tch-count { position: absolute; top: -4px; right: -6px; min-width: 21px; height: 21px; padding: 0 5px; border-radius: 999px; border: 2px solid #fff; background: var(--tch-pink); color: #fff; font: 700 11px/17px var(--tch-sans); text-align: center; }

/* ---------- menu bar ---------- */
.tch-nav { position: sticky; top: 0; z-index: 80; padding: 0 0 4px; }
.admin-bar .tch-nav { top: 32px; }
.tch-nav__inner {
	position: relative; display: flex; align-items: stretch; min-height: 70px; padding: 0 9px;
	border-radius: 22px; background: var(--tch-grad); box-shadow: 0 20px 44px -26px rgba(94, 140, 16, .85);
	transition: box-shadow .3s, border-radius .3s;
}
.tch-nav__inner::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(420px 90px at 16% 0, rgba(255, 255, 255, .16), transparent 70%); }
.tch-nav.is-stuck .tch-nav__inner { box-shadow: 0 18px 40px -18px rgba(90, 15, 35, .7); }
.tch-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex: 1; align-items: center; gap: 2px; }
.tch-nav__item { position: static; display: flex; align-items: center; }
.tch-nav__link {
	position: relative; display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 16px 0 10px; border-radius: 16px;
	color: #fff; font-weight: 700; font-size: 13.5px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
	transition: background .25s;
}
.tch-nav__link:hover, .tch-nav__link:focus-visible { color: #fff; }
.tch-nav__link > .tch-ico:first-child { width: 34px; height: 34px; padding: 7px; border-radius: 50%; background: rgba(255, 255, 255, .14); box-sizing: border-box; transition: background .25s, transform .35s var(--tch-ease); }
.tch-nav__link .tch-ico--chevdown { opacity: .75; margin-left: -2px; transition: transform .3s var(--tch-ease); }
.tch-nav__item:hover > .tch-nav__link, .tch-nav__item:focus-within > .tch-nav__link, .tch-nav__item.is-current > .tch-nav__link { background: rgba(255, 255, 255, .13); }
.tch-nav__item:hover > .tch-nav__link > .tch-ico:first-child { background: rgba(255, 255, 255, .24); transform: rotate(-8deg) scale(1.06); }
.tch-nav__item:hover > .tch-nav__link .tch-ico--chevdown { transform: rotate(180deg); }
.tch-nav__item.is-promo { margin-left: auto; }
.tch-nav__item.is-promo > .tch-nav__link { overflow: hidden; padding-right: 22px; background: linear-gradient(135deg, #f0338a 0%, #da0066 60%, #b80056 100%); box-shadow: 0 12px 26px -12px rgba(218, 0, 102, .9), inset 0 1px 0 rgba(255, 255, 255, .3); }
.tch-nav__item.is-promo > .tch-nav__link::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-20deg); animation: tch-shine 4.5s ease-in-out infinite; }
.tch-nav__item.is-promo > .tch-nav__link > .tch-ico:first-child { background: rgba(255, 255, 255, .22); }
@keyframes tch-shine { 0%, 62% { left: -60%; } 100% { left: 130%; } }

/* category icons as CSS masks (long lists in the menu: an empty span instead of an inline svg per item) */
.tch-ci-garden { --tch-ci: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M3 9h9l1.5 1.5L21 6l1 1-6.5 6.5V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V12L3 9Zm2.5-3.5 1-1L9 7 8 8 5.5 5.5Z'/%3E%3C/svg%3E"); }
.tch-ci-wellness { --tch-ci: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='17' cy='6' r='2.4'/%3E%3Cpath d='M2 17c2 0 2-1 4-1s2 1 4 1 2-1 4-1 2 1 4 1 2-1 4-1v2c-2 0-2 1-4 1s-2-1-4-1-2 1-4 1-2-1-4-1-2 1-4 1v-2Zm4-3 5.5-5.5L9 6l2-2 6 6-3.5 3.5L12 12l-2 2H6Z'/%3E%3C/svg%3E"); }
.tch-ci-interior { --tch-ci: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M3 11h18v2a6 6 0 0 1-4 5.6V21h-2v-2H9v2H7v-2.4A6 6 0 0 1 3 13v-2Zm2-7a2 2 0 0 1 4 0v5H7V4H5v5H3V4Zm9 2h1v2h-1V6Zm3-1h1v2h-1V5Zm-2 2.5h1v1.5h-1V7.5Z'/%3E%3C/svg%3E"); }
.tch-ci-hobby { --tch-ci: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='m14.6 3.4 2.1 2.1-1.4 1.4 2.8 2.8 1.4-1.4 2.1 2.1-3.5 3.5-2.1-2.1 1.4-1.4-2.8-2.8-1.4 1.4-2.1-2.1 3.5-3.5ZM9.4 8.6l6 6-6.8 6.8-6-6 6.8-6.8Z'/%3E%3C/svg%3E"); }
.tch-ci-zoo { --tch-ci: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='6' cy='9' r='2.2'/%3E%3Ccircle cx='18' cy='9' r='2.2'/%3E%3Ccircle cx='9.5' cy='5.5' r='2.2'/%3E%3Ccircle cx='14.5' cy='5.5' r='2.2'/%3E%3Cpath d='M12 11c2.5 0 6 4.2 6 7a2.6 2.6 0 0 1-3 2.6c-1.2-.2-1.9-.8-3-.8s-1.8.6-3 .8A2.6 2.6 0 0 1 6 18c0-2.8 3.5-7 6-7Z'/%3E%3C/svg%3E"); }
.tch-ci-bag { --tch-ci: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8Z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E"); }
.tch-cthumb.is-icon[class*="tch-ci-"]::before { content: ""; display: block; width: 50%; height: 50%; background: currentColor; -webkit-mask: var(--tch-ci) center / contain no-repeat; mask: var(--tch-ci) center / contain no-repeat; }

/* ---------- mega panel ---------- */
.tch-mega {
	position: absolute; left: 0; right: 0; top: calc(100% + 12px); z-index: 60;
	background: #fff; color: var(--tch-text); border-radius: 30px;
	box-shadow: 0 50px 90px -40px rgba(60, 40, 25, .5), 0 0 0 1px rgba(60, 40, 25, .06);
	visibility: hidden; opacity: 0; transform: translateY(10px) scale(.99); transform-origin: 50% 0;
	transition: opacity .22s, transform .3s var(--tch-ease), visibility 0s .3s;
}
.tch-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.tch-nav__item:hover > .tch-mega, .tch-nav__item:focus-within > .tch-mega { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
/* while the mouse is on another item, a panel opened by keyboard focus closes (only one panel at a time) */
.tch-nav__list:hover .tch-nav__item:not(:hover) > .tch-mega { visibility: hidden; opacity: 0; }
/* a big tree as masonry: the photo card, then every group as a soft tinted block with all its links, packed in columns */
.tch-mega__in { max-height: calc(100vh - 150px); overflow-y: auto; overscroll-behavior: contain; padding: 12px; border-radius: inherit; scrollbar-width: thin; scrollbar-color: #e3d6c6 transparent; }
.admin-bar .tch-mega__in { max-height: calc(100vh - 182px); }
.tch-mega__cols { columns: var(--tch-mega-cols, 5); column-gap: 7px; }
.tch-mega__cols > * { break-inside: avoid; margin: 0 0 7px; }
.tch-mega__card { display: block; padding: 7px 11px 8px; border-radius: 14px; background: #f9f1ec; }
.tch-mega__card--t2 { background: #f0f4ea; }
.tch-mega__card--t3 { background: #f7f0e4; }
.tch-mega__card--t4 { background: #eef3f4; }
.tch-mega__head { display: flex; align-items: center; gap: 8px; margin: 0 0 2px; color: var(--tch-ink); font: 700 12.5px/1.22 var(--tch-sans); letter-spacing: .005em; }
.tch-mega__head:hover { color: var(--tch-bordo); }
.tch-mega__head .tch-cthumb { width: 26px; height: 26px; flex: none; padding: 2px; border-radius: 9px; background: #fff; object-fit: contain; }
.tch-mega__head .tch-cthumb.is-photo { padding: 0; object-fit: cover; }
.tch-mega__head .tch-cthumb.is-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--tch-bordo); }
.tch-mega__head .tch-cthumb.is-icon .tch-ico { width: 14px; height: 14px; }
.tch-mega__list { list-style: none; margin: 0; padding: 0; }
.tch-mega__list a { display: block; padding: 1px 0; color: var(--tch-text); font-size: 12px; line-height: 1.22; transition: color .2s, transform .25s var(--tch-ease); }
.tch-mega__list a:hover { color: var(--tch-bordo); transform: translateX(2px); }
/* the photo card of the category: the first block */
.tch-mega__photo { position: relative; isolation: isolate; overflow: hidden; display: block; aspect-ratio: 4 / 3; border-radius: 16px; background: var(--tch-grad); color: #fff; }
.tch-mega__photo img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--tch-ease); }
.tch-mega__photo::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(22, 18, 14, .8) 0%, rgba(22, 18, 14, .12) 62%, rgba(22, 18, 14, 0) 100%); }
.tch-mega__photo:hover { color: #fff; }
.tch-mega__photo:hover img { transform: scale(1.05); }
.tch-mega__phototxt { position: absolute; left: 12px; right: 12px; bottom: 11px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.tch-mega__phototxt strong { font: 500 19px/1.1 var(--tch-serif); }
.tch-mega__phototxt small { color: rgba(255, 255, 255, .8); font-size: 11.5px; font-weight: 700; letter-spacing: .03em; }
.tch-mega__phototxt > span { display: inline-flex; align-items: center; gap: 4px; margin-top: 5px; padding: 5px 10px 5px 12px; border-radius: 999px; background: #fff; color: var(--tch-bordo); font-size: 11.5px; font-weight: 700; }
/* groups without subcategories: chips in one block */
.tch-mega__chips { display: flex; flex-wrap: wrap; gap: 4px; padding: 9px 10px; border-radius: 16px; box-shadow: inset 0 0 0 1.5px #f1e8de; }
.tch-mega__chipsttl { flex-basis: 100%; margin: 0 0 1px 3px; color: var(--tch-muted); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.tch-mega__group.is-chip { min-width: 0; max-width: 100%; }
.tch-mega__group.is-chip .tch-mega__head { gap: 6px; margin: 0; padding: 2px 10px 2px 2px; border-radius: 999px; background: #f7f2ea; font-size: 12px; font-weight: 600; transition: background .2s, color .2s; }
.tch-mega__group.is-chip .tch-mega__head:hover { background: var(--tch-blush-2); }
.tch-mega__group.is-chip .tch-cthumb { width: 22px; height: 22px; padding: 1px; border-radius: 50%; }
/* ---------- mega menu style А „panes“: groups on the left, picture tiles of the active group, its photo card ---------- */
.tch-mega--panes .tch-mega__in { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 16px; padding: 14px; }
.tch-mega--panes.is-two .tch-mega__in { grid-template-columns: 430px minmax(0, 1fr); }
.tch-mega__tabs { list-style: none; margin: 0; padding: 0 14px 0 0; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 1px; border-right: 1px solid var(--tch-line); }
.is-two .tch-mega__tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 6px; }
.tch-mega__tab { position: relative; display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 3px 10px 3px 3px; border-radius: 14px; color: #2a2525; transition: background .2s, color .2s; }
/* the picture wrappers carry the tint, so a product on white blends into it (mix-blend-mode) */
.tch-cthumb-w { display: flex; align-items: center; justify-content: center; overflow: hidden; }
.tch-cthumb-w > .tch-cthumb { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.tch-cthumb-w > .tch-cthumb.is-photo { object-fit: cover; mix-blend-mode: normal; }
.tch-mega__tab .tch-cthumb-w { flex: none; width: 40px; height: 40px; padding: 3px; border-radius: 50%; background: #f7f1ea; }
.tch-mega__tab .tch-cthumb-w:has(.is-photo) { padding: 0; }
.tch-mega__tab .tch-cthumb.is-icon { color: var(--tch-bordo); }
.tch-mega__tabname { flex: 1; min-width: 0; font: 600 15px/1.2 var(--tch-sans); }
.tch-mega__tabcount { flex: none; min-width: 24px; padding: 2px 7px; border-radius: 999px; background: #f4ece4; color: var(--tch-muted); font-size: 12px; font-weight: 700; text-align: center; }
.tch-mega__tabgo { flex: none; color: #c8b8a6; }
.tch-mega__tab:hover { background: #faf5ef; color: #2a2525; }
.tch-mega__tab.is-active { background: linear-gradient(90deg, #f8e6e8 0%, #fbf1ef 100%); color: var(--tch-bordo); box-shadow: inset 3px 0 0 var(--tch-bordo); }
.tch-mega__tab.is-active .tch-cthumb-w { background: #fff; }
.tch-mega__tab.is-active .tch-mega__tabcount { background: var(--tch-bordo); color: #fff; }
.tch-mega__tab.is-link:hover .tch-mega__tabgo { color: var(--tch-bordo); }
.tch-mega__panes { min-width: 0; }
.tch-mega__pane { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 14px; height: 100%; }
.is-two .tch-mega__pane { grid-template-columns: minmax(0, 1fr) 160px; }
.tch-mega__pane[hidden] { display: none; }
.tch-mega__pane.is-anim { animation: tch-tabin .35s var(--tch-ease); }
.tch-mega--panes .tch-mega__head { display: none; }
.tch-mega__tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: start; gap: 8px; }
.tch-mega__tiles a { display: flex; align-items: center; gap: 10px; min-height: 72px; height: 100%; padding: 4px 10px 4px 4px; border-radius: 16px; background: #fff; color: #2a2525; box-shadow: 0 0 0 1px #efe6db; transition: background .2s, box-shadow .2s, color .2s; }
.tch-mega__tiles a > span:last-child { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font: 600 15px/1.2 var(--tch-sans); }
.tch-mega__tiles .tch-cthumb-w { flex: none; width: 64px; height: 64px; padding: 6px; border-radius: 50%; background: #f7f1ea; }
.tch-mega__tiles .tch-cthumb-w:has(.is-photo) { padding: 0; }
.tch-mega__tiles li:nth-child(even) .tch-cthumb-w { background: #eef3e8; }
/* 7–9 subcategories: 80 px pictures */
.tch-mega__tiles.is-mid a { min-height: 90px; }
.tch-mega__tiles.is-mid .tch-cthumb-w { width: 80px; height: 80px; }
/* up to 6 subcategories: picture cards that fill the pane (photo fills the top, a product sits on a soft tint) */
.tch-mega__tiles.is-few { height: 100%; grid-auto-rows: minmax(150px, 1fr); align-content: stretch; }
.tch-mega__tiles.is-few li { min-height: 0; }
.tch-mega__tiles.is-few a { flex-direction: column; align-items: stretch; gap: 0; min-height: 0; padding: 6px; }
.tch-mega__tiles.is-few .tch-cthumb-w { flex: 1 1 0; width: 100%; height: auto; min-height: 0; padding: 8% 14%; border-radius: 12px; }
.tch-mega__tiles.is-few .tch-cthumb-w:has(.is-photo) { padding: 0; }
.tch-mega__tiles.is-few .tch-cthumb.is-icon::before { width: 46px; height: 46px; }
.tch-mega__tiles.is-few a > span:last-child { padding: 9px 6px 4px; text-align: center; -webkit-line-clamp: 2; }
.tch-mega__tiles .tch-cthumb.is-icon { color: var(--tch-bordo); }
.tch-mega__tiles li:nth-child(even) .tch-cthumb.is-icon { color: var(--tch-green-d); }
.tch-mega__tiles a:hover { transform: none; background: #fdf8f3; color: var(--tch-bordo); box-shadow: 0 0 0 1.5px #e7c9c9, 0 12px 22px -16px rgba(60, 40, 25, .5); }
/* the photo card of the active group */
.tch-mega__feat { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 260px; border-radius: 18px; background: linear-gradient(160deg, #f8efe6 0%, #ecdfd0 100%); color: #2a2525; }
.tch-mega__featpic { position: absolute; z-index: -1; inset: 0 0 130px; display: flex; align-items: center; justify-content: center; padding: 14px; background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .85) 0 38%, rgba(255, 255, 255, 0) 39%); }
.tch-mega__featpic img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .8s var(--tch-ease); }
.tch-mega__feat.is-photo { color: #fff; background: #2a2521; }
.tch-mega__feat.is-photo .tch-mega__featpic { inset: 0; padding: 0; background: none; }
.tch-mega__feat.is-photo .tch-mega__featpic img { height: 100%; max-height: none; object-fit: cover; mix-blend-mode: normal; }
.tch-mega__feat.is-photo::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(22, 18, 14, .82) 0%, rgba(22, 18, 14, .15) 55%, rgba(22, 18, 14, 0) 100%); }
.tch-mega__feat:hover .tch-mega__featpic img { transform: scale(1.05); }
.tch-mega__feattxt { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 14px; }
.tch-mega__feattxt strong { font: 500 20px/1.15 var(--tch-serif); }
.tch-mega__feattxt small { color: var(--tch-muted); font-size: 12px; font-weight: 700; }
.tch-mega__feat.is-photo .tch-mega__feattxt small { color: rgba(255, 255, 255, .8); }
.tch-mega__featbtn { display: inline-flex; align-items: center; gap: 4px; margin-top: 8px; padding: 8px 12px 8px 14px; border-radius: 999px; background: var(--tch-grad); color: #fff; font-size: 13px; font-weight: 700; transition: transform .3s var(--tch-ease); }
.tch-mega__feat.is-photo .tch-mega__featbtn { background: #fff; color: var(--tch-bordo); }
.tch-mega__feat:hover { color: inherit; }
.tch-mega__feat:hover .tch-mega__featbtn { transform: translateX(3px); }

/* ---------- mega menu style Б „blocks“: white blocks with a bordo / green band, readable 15 px links ---------- */
.tch-mega--big .tch-mega__in { padding: 16px; }
/* when the panel scrolls: a soft white fade at the bottom shows there is more */
.tch-mega--big .tch-mega__in::after { content: ""; position: sticky; bottom: -16px; display: block; height: 34px; margin: -34px -16px -16px; background: linear-gradient(rgba(255, 255, 255, 0), #fff); pointer-events: none; }
.tch-mega--big .tch-mega__cols { column-gap: 12px; }
.tch-mega--big .tch-mega__cols > * { margin: 0 0 12px; }
.tch-mega--big .tch-mega__card { padding: 12px 14px 12px; border-radius: 16px; background: #fff; box-shadow: inset 0 4px 0 var(--tch-bordo), 0 0 0 1px #efe4d8; }
.tch-mega--big .tch-mega__card--t2, .tch-mega--big .tch-mega__card--t4 { background: #fff; box-shadow: inset 0 4px 0 var(--tch-green), 0 0 0 1px #e3eadb; }
.tch-mega--big .tch-mega__head { gap: 10px; margin: 2px 0 6px; color: var(--tch-bordo); font: 700 16.5px/1.2 var(--tch-sans); }
.tch-mega--big .tch-mega__card--t2 .tch-mega__head, .tch-mega--big .tch-mega__card--t4 .tch-mega__head { color: var(--tch-green-d); }
.tch-mega--big .tch-mega__head .tch-cthumb { width: 40px; height: 40px; padding: 3px; border-radius: 50%; background: #f7f1ea; mix-blend-mode: multiply; }
.tch-mega--big .tch-mega__head .tch-cthumb.is-photo { padding: 0; mix-blend-mode: normal; }
.tch-mega--big .tch-mega__list a { position: relative; padding: 2px 0 2px 0; color: #2a2525; font-size: 15px; line-height: 1.5; transition: color .2s, padding .25s var(--tch-ease); }
.tch-mega--big .tch-mega__list a::before { content: "\2192"; position: absolute; left: -2px; top: 2px; color: var(--tch-bordo); font-weight: 700; opacity: 0; transition: opacity .2s, left .25s var(--tch-ease); }
.tch-mega--big .tch-mega__list a:hover { padding-left: 18px; color: var(--tch-bordo); transform: none; }
.tch-mega--big .tch-mega__list a:hover::before { left: 0; opacity: 1; }
.tch-mega--big .tch-mega__photo { aspect-ratio: 4 / 3; }
.tch-mega--big .tch-mega__phototxt strong { font-size: 22px; }
.tch-mega--big .tch-mega__chips { gap: 6px; padding: 12px; background: #fff; box-shadow: inset 0 4px 0 var(--tch-bordo), 0 0 0 1px #efe4d8; }
.tch-mega--big .tch-mega__chipsttl { margin: 2px 0 2px 2px; color: var(--tch-bordo); font-size: 12px; }
.tch-mega--big .tch-mega__group.is-chip .tch-mega__head { margin: 0; padding: 3px 12px 3px 3px; border-radius: 999px; background: #f7f2ea; color: #2a2525; font-size: 14.5px; font-weight: 600; }
.tch-mega--big .tch-mega__group.is-chip .tch-cthumb { width: 30px; height: 30px; }

/* low screens (laptops 1366 × 768): one more column, tighter lines, a flatter photo card – so even Градина fits */
@media (max-height: 820px) and (min-width: 1081px) {
	.tch-mega:not(.tch-mega--big):not(.tch-mega--panes) .tch-mega__cols[style*="cols:6"] { columns: 7; }
	.tch-mega:not(.tch-mega--big):not(.tch-mega--panes) .tch-mega__cols[style*="cols:5"] { columns: 6; }
	.tch-mega:not(.tch-mega--big):not(.tch-mega--panes) .tch-mega__list a { font-size: 11.5px; line-height: 1.18; }
	.tch-mega:not(.tch-mega--big):not(.tch-mega--panes) .tch-mega__card { padding: 6px 10px 7px; }
	.tch-mega:not(.tch-mega--big):not(.tch-mega--panes) .tch-mega__head { font-size: 12px; }
	.tch-mega:not(.tch-mega--big):not(.tch-mega--panes) .tch-mega__head .tch-cthumb { width: 22px; height: 22px; }
	.tch-mega:not(.tch-mega--big):not(.tch-mega--panes) .tch-mega__photo { aspect-ratio: 5 / 3; }
	.tch-mega:not(.tch-mega--big) .tch-mega__phototxt small { display: none; }
	.tch-mega:not(.tch-mega--big) .tch-mega__phototxt strong { font-size: 17px; }
}

/* ---------- off-canvas (phone) ---------- */
.tch-offcanvas { position: fixed; inset: 0; z-index: 200; background: rgba(32, 28, 22, .42); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s; }
.tch-offcanvas.is-open { opacity: 1; }
.tch-offcanvas__panel { position: absolute; left: 0; top: 0; bottom: 0; width: min(88vw, 390px); display: flex; flex-direction: column; background: var(--tch-cream); overflow-y: auto; border-radius: 0 28px 28px 0; box-shadow: 20px 0 60px -20px rgba(43, 20, 32, .5); transform: translateX(-104%); transition: transform .38s var(--tch-ease); }
.tch-offcanvas.is-open .tch-offcanvas__panel { transform: none; }
.admin-bar .tch-offcanvas__panel { top: 32px; }
@media (max-width: 782px) { .admin-bar .tch-offcanvas__panel { top: 46px; } }
.tch-offcanvas__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 18px 14px; background: #fff; border-bottom: 1px solid var(--tch-line); }
.tch-offcanvas__head .tch-logo img { width: 170px; }
.tch-offcanvas__close { width: 42px; height: 42px; border-radius: 50%; border: 0; background: var(--tch-blush); color: var(--tch-bordo); display: inline-flex; align-items: center; justify-content: center; }
.tch-acc { list-style: none; margin: 0; padding: 0; }
.tch-acc--0 { padding: 10px 12px; }
.tch-acc .tch-acc { display: none; margin: 0 0 6px; padding: 4px 0 4px 10px; border-left: 2px solid var(--tch-blush-2); margin-left: 26px; }
.tch-acc li.is-open > .tch-acc { display: block; animation: tch-fade .3s var(--tch-ease); }
@keyframes tch-fade { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.tch-acc__row { display: flex; align-items: center; border-radius: 16px; }
.tch-acc__row a { flex: 1; display: flex; align-items: center; gap: 12px; padding: 11px 10px; color: var(--tch-ink); font-weight: 600; }
.tch-acc--0 > li > .tch-acc__row { margin-bottom: 4px; background: #fff; box-shadow: 0 8px 20px -18px rgba(110, 30, 60, .5); }
.tch-acc--0 > li > .tch-acc__row a { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 13.5px; }
.tch-acc--0 > li > .tch-acc__row a .tch-ico { width: 34px; height: 34px; padding: 7px; border-radius: 50%; background: var(--tch-blush); color: var(--tch-bordo); box-sizing: border-box; }
.tch-acc--2 .tch-acc__row a { font-size: 14px; font-weight: 500; padding: 8px 10px; }
.tch-acc li.is-more > .tch-acc__row a { color: var(--tch-bordo); font-weight: 700; }
.tch-acc li.is-more > .tch-acc__row a::after { content: "\2192"; margin-left: -4px; }
/* the phone bottom bar sits above the page: hide it while the menu is open (the menu has its own phone and flags) */
.tch-menu-open .tch-mbar { display: none; }
.tch-acc li.is-promo > .tch-acc__row { background: linear-gradient(135deg, #f0338a, #da0066); }
.tch-acc li.is-promo > .tch-acc__row a { color: #fff; }
.tch-acc li.is-promo > .tch-acc__row a .tch-ico { background: rgba(255, 255, 255, .25); color: #fff; }
.tch-acc__toggle { width: 44px; height: 44px; margin-right: 4px; border: 0; border-radius: 50%; background: none; color: var(--tch-muted); display: inline-flex; align-items: center; justify-content: center; }
.tch-acc__toggle svg { transition: transform .3s var(--tch-ease); }
.tch-acc li.is-open > .tch-acc__row .tch-acc__toggle { color: var(--tch-bordo); }
.tch-acc li.is-open > .tch-acc__row .tch-acc__toggle svg { transform: rotate(180deg); }
.tch-offcanvas__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 24px; border-top: 1px solid var(--tch-line); }
.tch-offcanvas__foot > a { display: inline-flex; align-items: center; gap: 8px; color: var(--tch-ink); font-weight: 700; }
.tch-offcanvas__foot > a .tch-ico { color: var(--tch-berry); }

/* ---------- layout ---------- */
.tch-main { padding: 0 0 10px; }
.tch-page-body { padding-top: 26px; }
.tch-card { background: var(--tch-paper); border: 1px solid var(--tch-line); border-radius: 32px; padding: 44px 48px; margin-bottom: 28px; box-shadow: var(--tch-shadow-sm); }

/* ---------- hero ---------- */
.tch-hero {
	position: relative; margin-top: 18px; border-radius: var(--tch-r-lg); overflow: hidden; isolation: isolate;
	background: linear-gradient(118deg, #f3e1cf 0%, #f8f0e5 46%, #dfe8d6 100%);
	box-shadow: var(--tch-shadow);
}
.tch-hero__track { display: flex; transition: transform .9s cubic-bezier(.7, 0, .2, 1); }
.tch-hero__slide { flex: 0 0 100%; min-width: 0; }
.tch-hero__slide--design { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); align-items: center; gap: 30px; min-height: 540px; padding: 52px 56px 126px 72px; }
/* slide tones: bordo = the accepted peach / cream / sage look, green = garden sage, sand = warm linen */
.tch-hero__slide--design, .tch-tone--bordo.tch-hero__slide--design {
	background:
		radial-gradient(760px 560px at 92% -16%, rgba(255, 214, 170, .78), rgba(255, 214, 170, 0) 62%),
		radial-gradient(700px 560px at -10% 118%, rgba(171, 196, 160, .62), rgba(171, 196, 160, 0) 62%),
		linear-gradient(118deg, #f3e1cf 0%, #f8f0e5 46%, #dfe8d6 100%);
}
.tch-tone--green.tch-hero__slide--design {
	background:
		radial-gradient(720px 540px at 90% -14%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 60%),
		radial-gradient(760px 600px at -12% 120%, rgba(140, 176, 124, .55), rgba(140, 176, 124, 0) 62%),
		linear-gradient(118deg, #dfe9d3 0%, #f2f3e9 50%, #e4ecd9 100%);
}
.tch-tone--sand.tch-hero__slide--design {
	background:
		radial-gradient(720px 540px at 90% -14%, rgba(255, 228, 190, .95), rgba(255, 228, 190, 0) 60%),
		radial-gradient(700px 560px at -10% 118%, rgba(222, 186, 146, .5), rgba(222, 186, 146, 0) 62%),
		linear-gradient(118deg, #f1e2cc 0%, #faf4ea 50%, #efe0ca 100%);
}
.tch-tone--green .tch-kicker { color: var(--tch-green-d); }
.tch-tone--sand .tch-kicker { color: #ad0051; }
.tch-tone--green .tch-hero__title em { background-image: linear-gradient(90deg, #2b4630 0%, #45703f 52%, #6f9562 100%); }
.tch-tone--sand .tch-hero__title em { background-image: linear-gradient(90deg, #ad0051 0%, #da0066 48%, #f0338a 100%); }
.tch-tone--sand .tch-hero__ring { border-color: rgba(196, 106, 71, .32); }
.tch-hero__slide--design:not(:first-child) .tch-hero__arch img { object-position: 50% 55%; }
.tch-hero[data-tone="green"] .tch-hero__dots button[aria-current] { background: var(--tch-green); }
.tch-hero[data-tone="green"] .tch-hero__arrow { color: var(--tch-green-d); }
.tch-hero[data-tone="green"] .tch-hero__arrow:hover { background: var(--tch-green-d); color: #fff; }
.tch-hero[data-tone="sand"] .tch-hero__dots button[aria-current] { background: #da0066; }
.tch-hero__slide--image { display: flex; align-items: center; }
.tch-hero__slide--image a { display: block; width: 100%; }
.tch-hero__slide--image img { display: block; width: 100%; height: auto; }
.tch-hero__title { margin: 0 0 18px; color: var(--tch-ink); font: 500 clamp(36px, 4.3vw, 60px)/1.06 var(--tch-serif); letter-spacing: -.015em; }
.tch-hero__title em { display: block; font-style: italic; background: linear-gradient(90deg, #4c7409 0%, #5e8c10 45%, #73a51a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.tch-hero__lead { max-width: 480px; margin: 0 0 30px; font-size: 17px; line-height: 1.7; color: #6b5d52; }
.tch-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.tch-hero__art { position: relative; height: 430px; }
.tch-hero__ring { position: absolute; left: 12%; right: 4%; top: -4%; bottom: -6%; border-radius: 260px 260px 40px 40px; border: 1.5px dashed rgba(91, 122, 76, .35); transform: rotate(4deg); }
.tch-hero__arch {
	position: absolute; inset: 0 9% 0 16%; overflow: hidden;
	border-radius: 260px 260px 34px 34px; background: #ececec; border: 9px solid #fff;
	box-shadow: 0 40px 70px -36px rgba(60, 40, 25, .55);
}
.tch-hero__arch img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 78%; }
.tch-hero__badge { position: absolute; z-index: 2; width: 104px; left: 6%; top: 18px; border-radius: 50%; box-shadow: 0 0 0 6px #fff, 0 20px 30px -14px rgba(60, 30, 50, .5); transform: rotate(-12deg); animation: tch-float 6s ease-in-out infinite; }
.tch-hero__chip {
	position: absolute; z-index: 2; right: 0; bottom: 34px; display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px;
	border-radius: 20px; background: rgba(255, 255, 255, .88); backdrop-filter: blur(10px); box-shadow: 0 24px 40px -24px rgba(80, 30, 50, .55);
	animation: tch-float 7s ease-in-out infinite reverse;
}
.tch-hero__chip strong { display: block; color: var(--tch-ink); font-size: 14px; line-height: 1.2; }
.tch-hero__chip small { display: block; color: var(--tch-muted); font-size: 12.5px; line-height: 1.3; }
.tch-hero__chipico { width: 40px; height: 40px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: var(--tch-sage); color: var(--tch-leaf); flex: none; }
@keyframes tch-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
/* hotspots on the photo: links to the collection */
.tch-hot { position: absolute; z-index: 3; width: 36px; height: 36px; margin: -18px 0 0 -18px; display: flex; align-items: center; justify-content: center; }
.tch-hot__dot { position: relative; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(255, 255, 255, .5), 0 6px 14px rgba(0, 0, 0, .28); transition: transform .3s var(--tch-ease); }
.tch-hot__dot::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid #fff; animation: tch-pulse 2.4s ease-out infinite; }
.tch-hot:hover .tch-hot__dot { transform: scale(1.2); background: var(--tch-terra); }
@keyframes tch-pulse { 0% { transform: scale(.6); opacity: 1; } 100% { transform: scale(2.3); opacity: 0; } }
.tch-hot__tip { position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translate(-50%, 6px); padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .96); color: var(--tch-ink); font-size: 13px; font-weight: 700; white-space: nowrap; box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .4); opacity: 0; pointer-events: none; transition: opacity .25s, transform .3s var(--tch-ease); }
.tch-hot:hover .tch-hot__tip, .tch-hot:focus-visible .tch-hot__tip { opacity: 1; transform: translate(-50%, 0); }
.tch-hero__controls { position: absolute; left: 50%; bottom: 72px; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 5px; border-radius: 999px; background: rgba(255, 255, 255, .5); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6), 0 12px 28px -20px rgba(60, 40, 25, .5); transform: translateX(-50%); }
.tch-hero__arrow { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: var(--tch-bordo); display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--tch-shadow-sm); transition: transform .3s var(--tch-ease), background .25s, color .25s; }
.tch-hero__arrow:hover { background: var(--tch-bordo); color: #fff; transform: scale(1.06); }
.tch-hero__arrow--prev svg { transform: rotate(180deg); }
.tch-hero__dots { display: flex; gap: 8px; }
.tch-hero__dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(42, 37, 33, .2); transition: width .35s var(--tch-ease), background .3s; }
.tch-hero__dots button[aria-current] { width: 30px; background: var(--tch-berry); }

/* real blossom sprig with its leaf (cut from the 2019 blossom photos): tucked behind a frame, only part of it shows */
.tch-sprig { position: absolute; z-index: 0; display: block; max-width: none; height: auto; pointer-events: none; user-select: none; filter: drop-shadow(0 16px 14px rgba(60, 40, 25, .2)); }
.tch-hero__sprig--1 { width: 200px; left: 1%; bottom: -7%; transform: rotate(-16deg); }
.tch-hero__sprig--2 { width: 190px; right: -3%; top: -5%; transform: scaleX(-1) rotate(-14deg); }

/* ---------- services strip (overlaps the hero) ---------- */
.tch-services { position: relative; z-index: 3; width: calc(100% - 96px); margin: -58px auto 0; padding: 10px; border-radius: 30px; background: rgba(255, 255, 255, .96); box-shadow: var(--tch-shadow); }
.tch-services ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tch-services li { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 22px; transition: background .25s; }
.tch-services li + li { position: relative; }
.tch-services li + li::before { content: ""; position: absolute; left: 0; top: 24%; bottom: 24%; border-left: 1px dashed #e4d8ca; }
.tch-services li:hover { background: #fbf7f2; }
.tch-services__ico { width: 56px; height: 56px; flex: none; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: var(--tch-blush); color: var(--tch-berry); transition: transform .4s var(--tch-ease); }
.tch-services li:nth-child(2) .tch-services__ico { background: var(--tch-sage); color: var(--tch-leaf); }
.tch-services li:nth-child(3) .tch-services__ico { background: var(--tch-sky); color: var(--tch-pool); }
.tch-services li:nth-child(4) .tch-services__ico { background: var(--tch-sand); color: #a8682f; }
.tch-services li:hover .tch-services__ico { transform: rotate(-6deg) scale(1.06); }
.tch-services strong { display: block; color: var(--tch-ink); font-size: 15px; font-weight: 700; line-height: 1.3; }
.tch-services small { display: block; margin-top: 2px; color: var(--tch-muted); font-size: 13px; line-height: 1.45; }

/* ---------- sections ---------- */
.tch-section { margin-top: 92px; }
.tch-section__head { margin: 0 0 34px; text-align: center; }
.tch-section__head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; text-align: left; }
.tch-section__title { margin: 0; font-size: clamp(30px, 3.1vw, 44px); line-height: 1.12; }
.tch-section--soft { padding: 44px 40px 26px; border-radius: var(--tch-r-lg); background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(239, 229, 214, .7)); box-shadow: inset 0 0 0 1px rgba(235, 226, 214, .9); }

/* ---------- category cards of the home page: А photo / Б round / В split (theme option „Карти на категориите“) ---------- */
.tch-cats {
	--tch-cat-cols: var(--tch-cat-cols-d, 5); --tch-cat-gap: 18px;
	list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--tch-cat-gap);
}
/* equal columns; an incomplete last row stays centred */
.tch-cats > li { flex: 0 0 calc((100% - (var(--tch-cat-cols) - 1) * var(--tch-cat-gap)) / var(--tch-cat-cols)); min-width: 0; }
.tch-cat__link { position: relative; display: block; color: var(--tch-ink); }
.tch-cat__link:hover { color: var(--tch-ink); }
.tch-cat__pic { display: flex; align-items: center; justify-content: center; overflow: hidden; }
.tch-cat__pic img { display: block; width: 100%; height: 100%; transition: transform .9s var(--tch-ease); }
.tch-cat__pic.is-photo img { object-fit: cover; }
.tch-cat__pic.is-cut img { object-fit: contain; mix-blend-mode: multiply; }
/* no picture: the category's menu icon in a white circle */
.tch-cat__ico { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 50%; background: #fff; color: var(--tch-bordo); box-shadow: 0 0 0 8px rgba(255, 255, 255, .35), 0 18px 30px -18px rgba(60, 40, 25, .5); transition: transform .9s var(--tch-ease); }
.tch-cat__ico .tch-ico { width: 36%; height: 36%; }
.tch-tone--green .tch-cat__ico { color: var(--tch-green-d); }
.tch-tone--sand .tch-cat__ico { color: #da0066; }
.tch-cat:hover .tch-cat__ico { transform: scale(1.06); }
.tch-cat__name { display: block; font: 500 22px/1.15 var(--tch-serif); letter-spacing: -.005em; transition: color .25s; }
.tch-cat__count { display: block; margin-top: 5px; color: var(--tch-muted); font-size: 12.5px; font-weight: 700; letter-spacing: .04em; }
.tch-cat__go { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--tch-bordo); box-shadow: 0 10px 20px -12px rgba(60, 40, 25, .5); transition: background .3s, color .3s, transform .35s var(--tch-ease); }
.tch-cat:hover .tch-cat__go { background: var(--tch-bordo); color: #fff; transform: translateX(3px); }
/* tints behind cut-out pictures and icons */
.tch-cat .tch-cat__pic.is-cut, .tch-cat .tch-cat__pic.is-icon { background: linear-gradient(150deg, #f7ebe2, #efdcd2); }
.tch-tone--green .tch-cat__pic.is-cut, .tch-tone--green .tch-cat__pic.is-icon { background: linear-gradient(150deg, #eef3e7, #dbe6d0); }
.tch-tone--sand .tch-cat__pic.is-cut, .tch-tone--sand .tch-cat__pic.is-icon { background: linear-gradient(150deg, #f7eee1, #ecdcc5); }

/* А – photo cards: the picture fills a tall card, the name on a soft shade */
.tch-cats--photo .tch-cat__link { isolation: isolate; overflow: hidden; aspect-ratio: 4 / 5; border-radius: 28px; box-shadow: var(--tch-shadow-sm); transition: transform .5s var(--tch-ease), box-shadow .5s var(--tch-ease); }
.tch-cats--photo .tch-cat:hover .tch-cat__link { transform: translateY(-6px); box-shadow: 0 36px 54px -32px rgba(60, 40, 25, .6); }
.tch-cats--photo .tch-cat__pic { position: absolute; z-index: -1; inset: 0; }
.tch-cats--photo .tch-cat:hover .tch-cat__pic img { transform: scale(1.06); }
.tch-cats--photo .tch-cat__pic.is-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(22, 18, 14, .78) 0%, rgba(22, 18, 14, .34) 34%, rgba(22, 18, 14, 0) 58%); transition: opacity .5s; }
/* А without a photo: a deep tone of the palette, the picture in a white circle (same white text as the photo cards) */
.tch-cats--photo .tch-cat:not(.has-photo) .tch-cat__link { background: radial-gradient(260px 220px at 50% 34%, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 70%), var(--tch-grad); }
.tch-cats--photo .tch-tone--green:not(.has-photo) .tch-cat__link { background: radial-gradient(260px 220px at 50% 34%, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 70%), var(--tch-grad-green); }
.tch-cats--photo .tch-tone--sand:not(.has-photo) .tch-cat__link { background: radial-gradient(260px 220px at 50% 34%, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 70%), linear-gradient(125deg, #7a4630 0%, #9a5a3c 52%, #b47650 100%); }
.tch-cats--photo .tch-cat__pic.is-cut, .tch-cats--photo .tch-cat__pic.is-icon { flex-direction: column; justify-content: flex-start; padding-top: 16%; background: none !important; }
.tch-cats--photo .tch-cat__pic.is-cut img { width: 64%; height: auto; aspect-ratio: 1; padding: 10%; border-radius: 50%; background: #fff; mix-blend-mode: normal; box-shadow: 0 0 0 8px rgba(255, 255, 255, .14), 0 22px 34px -18px rgba(0, 0, 0, .45); }
.tch-cats--photo .tch-cat__ico { width: 64%; box-shadow: 0 0 0 8px rgba(255, 255, 255, .14), 0 22px 34px -18px rgba(0, 0, 0, .45); }
.tch-cats--photo .tch-cat__body { position: absolute; left: 22px; right: 70px; bottom: 22px; }
.tch-cats--photo .tch-cat__go { position: absolute; right: 18px; bottom: 22px; }
.tch-cats--photo .tch-cat__name, .tch-cats--photo .tch-cat:hover .tch-cat__name { color: #fff; }
.tch-cats--photo .tch-cat__count { color: rgba(255, 255, 255, .78); }
.tch-cats--photo .tch-cat__go { background: rgba(255, 255, 255, .2); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); backdrop-filter: blur(6px); }
.tch-cats--photo .tch-cat:hover .tch-cat__go { background: #fff; color: var(--tch-bordo); }

/* Б – round pictures on a tinted ring, the name under them */
.tch-cats--round { --tch-cat-gap: 22px; }
.tch-cats--round .tch-cat__link { display: flex; flex-direction: column; align-items: center; padding: 10px 4px 6px; text-align: center; }
.tch-cats--round .tch-cat__pic { position: relative; width: min(100%, 196px); aspect-ratio: 1; overflow: visible; border-radius: 50%; padding: 10px; background: linear-gradient(150deg, #f6e2da, #ecd0c8); transition: transform .5s var(--tch-ease); }
.tch-cats--round .tch-tone--green .tch-cat__pic { background: linear-gradient(150deg, #e7efdf, #cfdec3); }
.tch-cats--round .tch-tone--sand .tch-cat__pic { background: linear-gradient(150deg, #f5e8d6, #e6d0b2); }
.tch-cats--round .tch-cat__pic::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; border: 1.5px dashed rgba(94, 140, 16, .3); transition: transform 1.2s var(--tch-ease); }
.tch-cats--round .tch-tone--green .tch-cat__pic::before { border-color: rgba(69, 112, 63, .38); }
.tch-cats--round .tch-tone--sand .tch-cat__pic::before { border-color: rgba(168, 71, 47, .32); }
.tch-cats--round .tch-cat__pic img, .tch-cats--round .tch-cat__ico { border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, .7), 0 16px 26px -16px rgba(60, 40, 25, .55); }
.tch-cats--round .tch-cat__pic.is-cut img { padding: 15%; mix-blend-mode: normal; }
.tch-cats--round .tch-cat__ico { width: 100%; }
.tch-cats--round .tch-cat:hover .tch-cat__pic { transform: translateY(-6px); }
.tch-cats--round .tch-cat:hover .tch-cat__pic::before { transform: rotate(60deg) scale(1.04); }
.tch-cats--round .tch-cat:hover .tch-cat__pic img { transform: scale(1.05); }
.tch-cats--round .tch-cat__body { margin-top: 18px; }
.tch-cats--round .tch-cat__name { font-size: 19px; }
.tch-cats--round .tch-cat:hover .tch-cat__name { color: var(--tch-bordo); }
.tch-cats--round .tch-cat__count { margin-top: 4px; font-weight: 600; letter-spacing: .02em; }
.tch-cats--round .tch-cat__go { display: none; }

/* В – split cards: a big picture, a coloured band with the name, the subcategories listed */
.tch-cats--split .tch-cat { display: flex; flex-direction: column; overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line), var(--tch-shadow-sm); transition: transform .5s var(--tch-ease), box-shadow .5s var(--tch-ease); }
.tch-cats--split .tch-cat:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px #e3d6c6, 0 34px 50px -30px rgba(60, 40, 25, .55); }
.tch-cats--split .tch-cat__pic { aspect-ratio: 5 / 4; }
.tch-cats--split .tch-cat__pic.is-cut img { padding: 10% 12% 16%; }
.tch-cats--split .tch-cat__pic.is-icon { padding-bottom: 6%; }
.tch-cats--split .tch-cat__ico { width: 44%; }
.tch-cats--split .tch-cat:hover .tch-cat__pic img { transform: scale(1.05); }
.tch-cats--split .tch-cat__body { position: relative; z-index: 1; display: block; margin-top: -22px; padding: 18px 64px 18px 22px; border-radius: 22px 22px 0 0; background: var(--tch-grad); color: #fff; }
.tch-cats--split .tch-tone--green .tch-cat__body { background: var(--tch-grad-green); }
.tch-cats--split .tch-tone--sand .tch-cat__body { background: linear-gradient(115deg, #ecdcc4 0%, #f4e9d8 100%); color: var(--tch-ink); }
.tch-cats--split .tch-cat__name { color: inherit; font-size: 23px; }
.tch-cats--split .tch-cat__count { color: rgba(255, 255, 255, .72); }
.tch-cats--split .tch-tone--sand .tch-cat__count { color: #8a6a50; }
.tch-cats--split .tch-cat__link { display: flex; flex-direction: column; }
.tch-cats--split .tch-cat__link > .tch-cat__go { position: absolute; z-index: 2; right: 16px; bottom: 21px; width: 38px; height: 38px; }
.tch-cats--split .tch-tone--green .tch-cat__go { color: var(--tch-green-d); }
.tch-cats--split .tch-tone--sand .tch-cat__go { color: #8a4a2c; }
.tch-cats--split .tch-cat:hover .tch-cat__go { background: #fff; color: var(--tch-bordo); }
.tch-cat__subs { list-style: none; flex: 1; margin: 0; padding: 8px 20px 14px; }
.tch-cat__subs li + li { border-top: 1px dashed var(--tch-line); }
.tch-cat__subs a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 2px; color: var(--tch-text); font-size: 14px; font-weight: 600; transition: color .2s, padding .3s var(--tch-ease); }
.tch-cat__subs a .tch-ico { flex: none; color: #c8b8a6; transition: color .2s, transform .3s var(--tch-ease); }
.tch-cat__subs a:hover { color: var(--tch-bordo); }
.tch-cat__subs a:hover .tch-ico { color: var(--tch-bordo); transform: translateX(3px); }
.tch-cat__subs .tch-cat__all { color: var(--tch-bordo); font-weight: 700; }
.tch-cat__subs .tch-cat__all .tch-ico { color: var(--tch-bordo); }

/* ---------- home: one block per top category with its subcategories (tabs / rows; inc/categories.php) ---------- */
.tch-cblocks__nav { display: flex; justify-content: center; gap: 6px; width: max-content; max-width: 100%; margin: -8px auto 26px; padding: 5px; overflow-x: auto; border-radius: 999px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line), var(--tch-shadow-sm); scrollbar-width: none; }
.tch-cblocks__nav::-webkit-scrollbar { display: none; }
.tch-cblocks__nav button { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 20px 0 14px; border: 0; border-radius: 999px; background: none; color: var(--tch-text); font: 700 14px/1 var(--tch-sans); white-space: nowrap; transition: background .3s, color .3s, box-shadow .3s; }
.tch-cblocks__nav button .tch-ico { width: 28px; height: 28px; padding: 5px; border-radius: 50%; background: var(--tch-blush); color: var(--tch-bordo); box-sizing: border-box; transition: background .3s, color .3s; }
.tch-cblocks__nav button:hover { background: var(--tch-sage-l); color: var(--tch-green-d); }
.tch-cblocks__nav button[aria-selected="true"] { background: var(--tch-grad); color: #fff; box-shadow: 0 10px 22px -12px rgba(94, 140, 16, .85); }
.tch-cblocks__nav button[aria-selected="true"] .tch-ico { background: rgba(255, 255, 255, .2); color: #fff; }
.tch-cblock { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 16px; align-items: stretch; }
.tch-cblock[hidden] { display: none; }
.tch-cblock.is-anim { animation: tch-tabin .55s var(--tch-ease); }
.tch-cblocks--rows .tch-cblock + .tch-cblock { margin-top: 22px; }
/* the card of the top category: a photo with the name on a soft shade, or the deep tone with the picture in a white circle */
.tch-cblock__card { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 300px; border-radius: 26px; color: #fff; background: var(--tch-grad); box-shadow: var(--tch-shadow-sm); transition: box-shadow .5s var(--tch-ease); }
.tch-tone--green .tch-cblock__card { background: var(--tch-grad-green); }
.tch-tone--sand .tch-cblock__card { background: linear-gradient(125deg, #7a4630 0%, #9a5a3c 52%, #b47650 100%); }
.tch-cblock__card:hover { color: #fff; box-shadow: 0 30px 50px -30px rgba(60, 40, 25, .6); }
.tch-cblock__pic { position: absolute; z-index: -1; inset: 0; display: flex; align-items: flex-start; justify-content: center; }
.tch-cblock__card.has-photo .tch-cblock__pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--tch-ease); }
.tch-cblock__card.has-photo .tch-cblock__pic::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(22, 18, 14, .8) 0%, rgba(22, 18, 14, .3) 42%, rgba(22, 18, 14, 0) 66%); }
.tch-cblock__card:hover .tch-cblock__pic img { transform: scale(1.05); }
.tch-cblock__circle { display: flex; align-items: center; justify-content: center; width: 54%; aspect-ratio: 1; margin-top: 12%; overflow: hidden; border-radius: 50%; background: #fff; color: var(--tch-bordo); box-shadow: 0 0 0 9px rgba(255, 255, 255, .14), 0 22px 34px -18px rgba(0, 0, 0, .45); }
.tch-tone--green .tch-cblock__circle { color: var(--tch-green-d); }
.tch-cblock__circle img { width: 78%; height: 78%; object-fit: contain; }
.tch-cblock__circle .tch-ico { width: 36%; height: 36%; }
.tch-cblock__body { display: flex; flex-direction: column; align-items: flex-start; padding: 22px 22px 22px; }
.tch-cblock__name { font: 500 28px/1.1 var(--tch-serif); letter-spacing: -.01em; }
.tch-cblock__count { margin-top: 6px; color: rgba(255, 255, 255, .78); font-size: 13px; font-weight: 700; letter-spacing: .03em; }
.tch-cblock__all { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; padding: 9px 14px 9px 16px; border-radius: 999px; background: #fff; color: var(--tch-bordo); font-size: 13px; font-weight: 700; transition: transform .3s var(--tch-ease); }
.tch-tone--green .tch-cblock__all { color: var(--tch-green-d); }
.tch-tone--sand .tch-cblock__all { color: #8a4a2c; }
.tch-cblock__card:hover .tch-cblock__all { transform: translateX(3px); }
/* the subcategories: small picture tiles */
.tch-cblock__subs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--tch-cb-cols, 6), minmax(0, 1fr)); grid-auto-rows: 1fr; align-content: start; gap: 12px; }
.tch-cblock.is-one-row .tch-cblock__card { min-height: 230px; }
.tch-cblock.is-one-row .tch-cblock__subs { grid-auto-rows: auto; align-self: center; }
.tch-cblock__subs a { display: flex; flex-direction: column; height: 100%; padding: 6px 6px 10px; border-radius: 20px; background: #fff; color: var(--tch-ink); box-shadow: 0 0 0 1px var(--tch-line); transition: transform .4s var(--tch-ease), box-shadow .4s var(--tch-ease); }
.tch-cblock__subs a:hover { color: var(--tch-bordo); transform: translateY(-3px); box-shadow: 0 0 0 1px #e3d6c6, 0 22px 34px -24px rgba(60, 40, 25, .5); }
.tch-cblock__thumb { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 15px; background: linear-gradient(150deg, #faf4ee, #f1e6dc); }
.tch-tone--green .tch-cblock__thumb { background: linear-gradient(150deg, #f4f7ef, #e4ecdb); }
.tch-tone--sand .tch-cblock__thumb { background: linear-gradient(150deg, #faf5ec, #efe3d0); }
.tch-cblock__thumb img { width: 100%; height: 100%; padding: 8%; object-fit: contain; mix-blend-mode: multiply; transition: transform .7s var(--tch-ease); }
.tch-cblock__thumb img.is-photo { padding: 0; object-fit: cover; mix-blend-mode: normal; }
.tch-cblock__subs a:hover .tch-cblock__thumb img { transform: scale(1.06); }
.tch-cblock__thumb .tch-cthumb.is-icon { display: flex; align-items: center; justify-content: center; width: 46%; aspect-ratio: 1; border-radius: 50%; background: #fff; color: var(--tch-bordo); box-shadow: 0 0 0 6px rgba(255, 255, 255, .5); }
.tch-tone--green .tch-cblock__thumb .tch-cthumb.is-icon { color: var(--tch-green-d); }
.tch-tone--sand .tch-cblock__thumb .tch-cthumb.is-icon { color: #da0066; }
.tch-cblock__thumb .tch-cthumb.is-icon .tch-ico { width: 44%; height: 44%; }
.tch-cblock__sub { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; margin: 9px 4px 0; font-size: 13.5px; font-weight: 600; line-height: 1.3; text-align: center; }
.tch-cblock__more .tch-cblock__thumb { flex-direction: column; gap: 2px; background: var(--tch-grad); color: #fff; }
.tch-tone--green .tch-cblock__more .tch-cblock__thumb { background: var(--tch-grad-green); }
.tch-tone--sand .tch-cblock__more .tch-cblock__thumb { background: linear-gradient(125deg, #7a4630 0%, #9a5a3c 52%, #b47650 100%); }
.tch-cblock__more .tch-cblock__thumb b { font: 500 30px/1 var(--tch-serif); }
.tch-cblock__more .tch-cblock__thumb small { font-size: 12px; font-weight: 700; letter-spacing: .04em; opacity: .85; }
.tch-cblock__more .tch-cblock__sub { color: var(--tch-bordo); font-weight: 700; }

/* ---------- home (default): compact cards of the top categories with their first subcategories ---------- */
.tch-hcards { --tch-cat-cols: var(--tch-cat-cols-d, 5); --tch-cat-gap: 16px; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: var(--tch-cat-gap); }
.tch-hcard { flex: 0 0 calc((100% - (var(--tch-cat-cols) - 1) * var(--tch-cat-gap)) / var(--tch-cat-cols)); min-width: 0; display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line), var(--tch-shadow-sm); transition: transform .45s var(--tch-ease), box-shadow .45s var(--tch-ease); }
.tch-hcard:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px #e3d6c6, 0 30px 46px -30px rgba(60, 40, 25, .55); }
.tch-hcard__top { position: relative; isolation: isolate; display: flex; align-items: flex-end; aspect-ratio: 16 / 11; overflow: hidden; color: #fff; background: var(--tch-grad); }
.tch-tone--green .tch-hcard__top { background: var(--tch-grad-green); }
.tch-tone--sand .tch-hcard__top { background: linear-gradient(125deg, #7a4630 0%, #9a5a3c 52%, #b47650 100%); }
.tch-hcard__top:hover { color: #fff; }
.tch-hcard__pic { position: absolute; z-index: -1; inset: 0; display: flex; align-items: flex-start; justify-content: center; }
.tch-hcard__top.has-photo .tch-hcard__pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--tch-ease); }
.tch-hcard__top.has-photo .tch-hcard__pic::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(22, 18, 14, .78) 0%, rgba(22, 18, 14, .2) 48%, rgba(22, 18, 14, 0) 70%); }
.tch-hcard:hover .tch-hcard__pic img { transform: scale(1.05); }
.tch-hcard__circle { display: flex; align-items: center; justify-content: center; width: 44%; aspect-ratio: 1; margin-top: 7%; overflow: hidden; border-radius: 50%; background: #fff; color: var(--tch-bordo); box-shadow: 0 0 0 7px rgba(255, 255, 255, .14); }
.tch-hcard__circle img { width: 78%; height: 78%; object-fit: contain; }
.tch-hcard__ttl { display: flex; flex-direction: column; padding: 14px 16px; }
.tch-hcard__name { font: 500 22px/1.1 var(--tch-serif); }
.tch-hcard__count { margin-top: 3px; color: rgba(255, 255, 255, .8); font-size: 12px; font-weight: 700; letter-spacing: .03em; }
.tch-hcard__subs { list-style: none; flex: 1; margin: 0; padding: 6px 10px 0; }
.tch-hcard__subs li + li { border-top: 1px dashed var(--tch-line); }
.tch-hcard__subs a { display: flex; align-items: center; gap: 10px; padding: 6px 4px; border-radius: 12px; color: var(--tch-text); font-size: 13.5px; font-weight: 600; transition: background .2s, color .2s; }
.tch-hcard__subs a:hover { background: #faf5ef; color: var(--tch-bordo); }
.tch-hcard__subs a > span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tch-hcard__subs .tch-cthumb { flex: none; width: 34px; height: 34px; padding: 2px; border-radius: 10px; background: #faf5ef; object-fit: contain; mix-blend-mode: multiply; }
.tch-hcard__subs .tch-cthumb.is-photo { padding: 0; object-fit: cover; mix-blend-mode: normal; }
.tch-hcard__subs .tch-cthumb.is-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--tch-bordo); background: var(--tch-blush); mix-blend-mode: normal; }
.tch-tone--green .tch-hcard__subs .tch-cthumb.is-icon { color: var(--tch-green-d); background: var(--tch-sage-l); }
.tch-hcard__subs .tch-cthumb.is-icon .tch-ico { width: 16px; height: 16px; }
.tch-js .tch-hcard:not(.is-open) .tch-hcard__subs .is-extra { display: none; }
.tch-hcard.is-open .tch-hcard__subs .is-extra { animation: tch-hc-in .35s var(--tch-ease) both; }
@keyframes tch-hc-in { from { opacity: 0; transform: translateY(-4px); } }
.tch-hcard.is-open .tch-hcard__all .tch-ico { transform: rotate(180deg); }
.tch-hcard__all .tch-ico { transition: transform .25s; }
button.tch-hcard__all { width: calc(100% - 20px); border: 0; font-family: inherit; text-align: left; cursor: pointer; }
.tch-hcard__all { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 6px 10px 10px; padding: 10px 14px; border-radius: 14px; background: var(--tch-blush); color: var(--tch-bordo); font-size: 13px; font-weight: 700; transition: background .25s, color .25s; }
.tch-tone--green .tch-hcard__all { background: var(--tch-sage-l); color: var(--tch-green-d); }
.tch-tone--sand .tch-hcard__all { background: #f6ede0; color: #8a4a2c; }
.tch-hcard__all:hover { background: var(--tch-grad); color: #fff; }
.tch-tone--green .tch-hcard__all:hover { background: var(--tch-grad-green); color: #fff; }

/* ---------- category pages: the subcategories as big picture cards under the header ---------- */
.tch-subcards { margin: 0 0 26px; }
.tch-subcards__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--tch-sc-cols, 4), minmax(0, 1fr)); gap: 16px; }
.tch-subcards__grid[style*="cols:5"], .tch-subcards__grid[style*="cols:6"] { --tch-sc-ratio: 1; }
.tch-subcards__grid[style*="cols:6"] .tch-subcard__name { font-size: 14px; }
.tch-js .tch-subcards:not(.is-open) .tch-subcard.is-extra { display: none; }
@media (min-width: 681px) { .tch-subcards__more.is-phone-only { display: none; } }
@media (max-width: 680px) { .tch-js .tch-subcards:not(.is-open) .tch-subcard.is-extra-m { display: none; } }
.tch-subcard a { position: relative; isolation: isolate; display: block; aspect-ratio: var(--tch-sc-ratio, 6 / 5); overflow: hidden; border-radius: 24px; background: linear-gradient(150deg, #faf2ec, #f0e1d6); box-shadow: 0 0 0 1px rgba(235, 226, 214, .8), var(--tch-shadow-sm); transition: transform .45s var(--tch-ease), box-shadow .45s var(--tch-ease); }
.tch-subcard.tch-tone--green a { background: linear-gradient(150deg, #f3f6ee, #e1eada); }
.tch-subcard.tch-tone--sand a { background: linear-gradient(150deg, #faf4ea, #efe2cd); }
.tch-subcard a:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px #e3d6c6, 0 34px 50px -30px rgba(60, 40, 25, .6); }
.tch-subcard__pic { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.tch-subcard__pic img { display: block; width: 100%; height: 100%; transition: transform .9s var(--tch-ease); }
.tch-subcard__pic.is-photo img { object-fit: cover; }
.tch-subcard__pic.is-cut { padding: 6% 12% 32%; }
.tch-subcard__pic.is-cut img { object-fit: contain; mix-blend-mode: multiply; }
.tch-subcard__pic.is-cut::before { content: ""; position: absolute; z-index: -1; width: 58%; aspect-ratio: 1; left: 21%; top: 4%; border-radius: 50%; background: rgba(255, 255, 255, .6); }
.tch-subcard a:hover .tch-subcard__pic img { transform: scale(1.06); }
.tch-subcard__pic.is-icon { padding-bottom: 20%; }
.tch-subcard__ico { display: flex; align-items: center; justify-content: center; width: 36%; aspect-ratio: 1; border-radius: 50%; background: #fff; color: var(--tch-bordo); box-shadow: 0 0 0 10px rgba(255, 255, 255, .45); }
.tch-tone--green .tch-subcard__ico { color: var(--tch-green-d); }
.tch-tone--sand .tch-subcard__ico { color: #da0066; }
.tch-subcard__ico .tch-ico { width: 40%; height: 40%; }
/* the name on a white glass bar with a round arrow */
.tch-subcard__bar { position: absolute; z-index: 1; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 14px; border-radius: 16px; background: rgba(255, 255, 255, .88); backdrop-filter: blur(8px); box-shadow: 0 10px 24px -16px rgba(40, 25, 15, .55); }
.tch-subcard__txt { flex: 1; min-width: 0; }
.tch-subcard__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--tch-ink); font-size: 15px; font-weight: 700; line-height: 1.25; transition: color .25s; }
.tch-subcard__count { display: block; margin-top: 2px; color: var(--tch-muted); font-size: 12px; font-weight: 600; }
.tch-subcard__go { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--tch-grad); color: #fff; transition: transform .35s var(--tch-ease); }
.tch-tone--green .tch-subcard__go { background: var(--tch-grad-green); }
.tch-subcard a:hover .tch-subcard__go { transform: translateX(3px); }
.tch-subcard a:hover .tch-subcard__name { color: var(--tch-bordo); }
.tch-subcards__more { margin: 18px 0 0; text-align: center; }
.tch-subcards__more .tch-ico { transition: transform .3s var(--tch-ease); }
.tch-subcards.is-open .tch-subcards__more .tch-ico { transform: rotate(180deg); }

/* home article: centred, editorial */
.tch-story { position: relative; margin-top: 96px; overflow: hidden; border-radius: var(--tch-r-lg); text-align: center; background: linear-gradient(135deg, #fffdf9 0%, #f6efe4 60%, #e9efe2 100%); box-shadow: var(--tch-shadow-sm); border: 1px solid var(--tch-line); }
.tch-story::before { content: "\201C"; position: absolute; left: 50%; top: -34px; transform: translateX(-50%); font: 500 260px/1 var(--tch-serif); color: rgba(94, 140, 16, .07); pointer-events: none; }
.tch-story__text { position: relative; max-width: 820px; margin: 0 auto; padding: 72px 40px 66px; }
.tch-story .tch-section__title { margin-bottom: 22px; }
.tch-story .tch-content { font-size: 17px; }
.tch-story .tch-content ul { display: inline-block; text-align: left; }

/* ---------- three promo banners under the slider (the first one big): green / bordo / sand ---------- */
.tch-promos { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(214px, auto)); gap: 22px; margin-top: 48px; }
.tch-promos--1 { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
.tch-promos--2 { grid-template-rows: auto; }
.tch-promo {
	position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; gap: 22px; min-width: 0;
	padding: 30px 30px 30px 36px; border-radius: 30px; color: var(--tch-ink);
	background: linear-gradient(135deg, #f6eadb 0%, #ecdac3 100%);
	box-shadow: var(--tch-shadow-sm); transition: transform .45s var(--tch-ease), box-shadow .45s var(--tch-ease);
}
.tch-promo::before { content: ""; position: absolute; z-index: -1; width: 74%; aspect-ratio: 1; right: -22%; top: -42%; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .62) 0, rgba(255, 255, 255, 0) 68%); pointer-events: none; transition: transform .8s var(--tch-ease); }
.tch-promo:hover { color: var(--tch-ink); transform: translateY(-5px); box-shadow: 0 34px 50px -32px rgba(70, 45, 25, .55); }
.tch-promo:hover::before { transform: scale(1.12); }
.tch-promo--big { grid-row: span 2; padding: 50px 46px 50px 56px; gap: 28px; }
.tch-promos--2 .tch-promo--big, .tch-promos--1 .tch-promo--big { grid-row: auto; }
.tch-promo__txt { position: relative; z-index: 2; flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.tch-promo .tch-kicker { margin-bottom: 10px; font-size: 11.5px; letter-spacing: .2em; color: #ad0051; }
.tch-promo__title { display: block; color: inherit; font: 500 25px/1.16 var(--tch-serif); letter-spacing: -.005em; }
.tch-promo__title em { font-style: italic; color: #da0066; }
.tch-promo--big .tch-promo__title { font-size: clamp(34px, 3.2vw, 46px); line-height: 1.08; }
.tch-promo--big .tch-promo__title em { display: block; }
.tch-promo__text { display: block; max-width: 330px; margin-top: 14px; color: #5f6658; font-size: 15px; line-height: 1.65; }
.tch-promo__btn {
	display: inline-flex; align-items: center; gap: 8px; min-height: 42px; margin-top: 20px; padding: 0 18px 0 20px; border-radius: 999px;
	background: #fff; color: var(--tch-bordo); font: 700 13.5px/1 var(--tch-sans); letter-spacing: .02em; white-space: nowrap;
	box-shadow: 0 12px 24px -16px rgba(60, 40, 25, .55); transition: background .3s, color .3s, box-shadow .3s;
}
.tch-promo__btn .tch-ico { transition: transform .3s var(--tch-ease); }
.tch-promo:hover .tch-promo__btn .tch-ico { transform: translateX(4px); }
.tch-promo--big .tch-promo__btn { min-height: 50px; margin-top: 28px; padding: 0 24px 0 28px; font-size: 14.5px; }
.tch-promo__art { position: relative; z-index: 1; flex: none; width: 168px; aspect-ratio: 1; }
.tch-promo__img { position: absolute; z-index: 1; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 0 0 8px rgba(255, 255, 255, .42), 0 26px 40px -24px rgba(60, 40, 25, .5); }
.tch-promo__img img { display: block; width: 78%; height: 78%; object-fit: contain; transition: transform .8s var(--tch-ease); }
.tch-promo:hover .tch-promo__img img { transform: scale(1.07); }
/* big banner: the product in a white arch, like the photo in the slider */
.tch-promo--big .tch-promo__art { width: min(42%, 330px); aspect-ratio: 33 / 38; align-self: center; }
.tch-promo--big .tch-promo__art::before { content: ""; position: absolute; inset: -16px -14px -14px -16px; border-radius: 50% 50% 34px 34px / 40% 40% 34px 34px; border: 1.5px dashed rgba(69, 112, 63, .36); transform: rotate(3.5deg); }
.tch-promo--big .tch-promo__img { border: 8px solid #fff; border-radius: 50% 50% 28px 28px / 40% 40% 28px 28px; box-shadow: 0 40px 60px -34px rgba(43, 70, 48, .6); }
.tch-promo--big .tch-promo__img img { width: 84%; height: 74%; margin-top: 12%; }
.tch-promo__sprig { width: 190px; left: -40%; top: -7%; transform: rotate(12deg); }
/* tones */
.tch-promo.tch-tone--green {
	background:
		radial-gradient(520px 420px at 82% 18%, rgba(255, 255, 255, .8), rgba(255, 255, 255, 0) 64%),
		linear-gradient(140deg, #e5edda 0%, #f1f2e7 52%, #d9e5cb 100%);
}
.tch-promo.tch-tone--green .tch-kicker { color: var(--tch-green-d); }
.tch-promo.tch-tone--green .tch-promo__title em { color: var(--tch-green); }
.tch-promo.tch-tone--green .tch-promo__btn { background: var(--tch-grad-green); color: #fff; box-shadow: 0 16px 30px -14px rgba(43, 70, 48, .75); }
.tch-promo.tch-tone--bordo { color: #fff; background: radial-gradient(420px 300px at 88% 0, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 70%), var(--tch-grad); }
.tch-promo.tch-tone--bordo::before { background: radial-gradient(circle, rgba(255, 255, 255, .12) 0, rgba(255, 255, 255, 0) 68%); }
.tch-promo.tch-tone--bordo:hover { color: #fff; box-shadow: 0 34px 50px -30px rgba(110, 20, 35, .7); }
.tch-promo.tch-tone--bordo .tch-kicker { color: #f8cdd5; }
.tch-promo.tch-tone--bordo .tch-promo__title em { color: #ffd6b0; }
.tch-promo.tch-tone--bordo .tch-promo__text { color: rgba(255, 255, 255, .78); }
.tch-promo.tch-tone--bordo .tch-promo__img { box-shadow: 0 0 0 8px rgba(255, 255, 255, .14), 0 26px 40px -22px rgba(40, 5, 15, .6); }
.tch-promo.tch-tone--sand { background: radial-gradient(420px 300px at 88% 0, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 70%), linear-gradient(135deg, #f6eadb 0%, #ead6bc 100%); }

/* ---------- products in tabs: Избрани / Промоции / Нови ---------- */
.tch-ptabs__nav { display: inline-flex; flex: none; gap: 4px; padding: 5px; border-radius: 999px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line), var(--tch-shadow-sm); }
.tch-ptabs__nav button { min-height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: none; color: var(--tch-text); font: 700 14px/1 var(--tch-sans); letter-spacing: .02em; white-space: nowrap; transition: background .3s, color .3s, box-shadow .3s; }
.tch-ptabs__nav button:hover { color: var(--tch-green-d); background: var(--tch-sage-l); }
.tch-ptabs__nav button[aria-selected="true"] { background: var(--tch-grad-green); color: #fff; box-shadow: 0 10px 22px -12px rgba(43, 70, 48, .85); }
.tch-ptabs__panel.is-anim { animation: tch-tabin .55s var(--tch-ease); }
@keyframes tch-tabin { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.tch-ptabs__more { margin: 8px 0 0; text-align: center; }

/* ---------- deal of the week: deep garden green band, the product in a big white circle, a real blossom sprig behind it ---------- */
.tch-deal {
	position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); align-items: center; gap: 48px;
	margin-top: 96px; padding: 66px 64px 66px 76px; border-radius: var(--tch-r-lg); color: rgba(255, 255, 255, .78);
	background:
		radial-gradient(480px 480px at 74% 50%, rgba(255, 255, 255, .1), rgba(255, 255, 255, 0) 70%),
		radial-gradient(700px 420px at 0 0, rgba(233, 194, 125, .12), rgba(233, 194, 125, 0) 70%),
		linear-gradient(125deg, #213726 0%, #2d4a33 50%, #3c6141 100%);
	box-shadow: var(--tch-shadow);
}
.tch-deal__txt { position: relative; z-index: 1; min-width: 0; }
.tch-deal .tch-kicker { color: #e9c27d; }
.tch-deal__title { margin: 0 0 14px; font-size: clamp(32px, 3.2vw, 46px); line-height: 1.1; }
.tch-deal__title a { color: #fff; }
.tch-deal__title a:hover { color: #f3dcae; }
.tch-deal__text { max-width: 500px; margin: 0 0 22px; color: rgba(255, 255, 255, .72); font-size: 16px; }
.tch-deal__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 0 0 20px; color: #fff; font: 500 40px/1.1 var(--tch-serif); }
.tch-deal__price del { order: 2; color: rgba(255, 255, 255, .5); font: 500 19px var(--tch-sans); }
.tch-deal__price ins { text-decoration: none; }
.tch-deal .tch-countdown { display: inline-flex; margin: 0 0 30px; padding: 12px 14px 12px 18px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.tch-deal .tch-countdown__label { color: #e9c27d; }
.tch-deal .tch-countdown__unit { box-shadow: none; }
.tch-deal .tch-countdown__unit b { color: var(--tch-green-d); }
.tch-deal__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.tch-deal .tch-btn--green { background: #f7f2ea; color: var(--tch-green-d); box-shadow: 0 16px 30px -14px rgba(0, 0, 0, .5); }
.tch-deal .tch-btn--green:hover { background: #fff; color: var(--tch-green-d); }
.tch-deal__art { position: relative; justify-self: center; display: block; width: min(100%, 410px); aspect-ratio: 1; }
.tch-deal__art::before { content: ""; position: absolute; inset: -26px; border-radius: 50%; border: 1.5px dashed rgba(255, 255, 255, .22); }
.tch-deal__circle { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 0 0 12px rgba(255, 255, 255, .08), 0 44px 70px -30px rgba(0, 0, 0, .55); }
.tch-deal__circle img { display: block; width: 72%; height: 72%; object-fit: contain; transition: transform .8s var(--tch-ease); }
.tch-deal__art:hover .tch-deal__circle img { transform: scale(1.05); }
.tch-deal__pct { position: absolute; z-index: 2; top: 5%; right: 3%; display: flex; align-items: center; justify-content: center; width: 94px; height: 94px; border-radius: 50%; background: linear-gradient(135deg, #ff5aa2 0%, #e6197c 60%, #cc0f6b 100%); color: #fff; font: 700 25px/1 var(--tch-sans); letter-spacing: -.01em; box-shadow: 0 0 0 6px #fff, 0 20px 30px -14px rgba(0, 0, 0, .55); transform: rotate(-10deg); }
.tch-deal__sprig { width: 240px; left: -31%; top: 3%; transform: rotate(10deg); filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .35)); }

/* ---------- green section (latest products) ---------- */
.tch-section--green {
	background:
		radial-gradient(640px 320px at 100% 0, rgba(255, 255, 255, .75), rgba(255, 255, 255, 0) 70%),
		linear-gradient(180deg, #f4f6ee 0%, #e2ead6 100%);
	box-shadow: inset 0 0 0 1px rgba(214, 226, 201, .95);
}
.tch-section--green .tch-kicker { color: var(--tch-green-d); }
.tch-section--green .tch-rail__btn { color: var(--tch-green-d); }
.tch-section--green .tch-rail__btn:hover { background: var(--tch-green-d); color: #fff; }

/* typography of content */
.tch-content { color: var(--tch-text); font-size: 16px; line-height: 1.8; }
.tch-content > :first-child { margin-top: 0; }
.tch-content > :last-child { margin-bottom: 0; }
.tch-content p { margin: 0 0 1.1em; }
.tch-content h2 { font-size: 30px; margin: 1.6em 0 .6em; }
.tch-content h3 { font-size: 24px; margin: 1.4em 0 .5em; }
.tch-content a { color: var(--tch-berry); text-decoration: underline; text-decoration-color: rgba(163, 36, 74, .3); text-underline-offset: 3px; }
.tch-content a:hover { text-decoration-color: currentColor; }
.tch-content ul { padding-left: 0; list-style: none; }
.tch-content ul li { position: relative; padding-left: 26px; margin-bottom: .45em; }
.tch-content ul li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 9px; height: 9px; border-radius: 50%; background: var(--tch-leaf); box-shadow: 0 0 0 4px var(--tch-sage); }
.tch-content blockquote { margin: 1.4em 0; padding: 22px 28px; border-radius: 22px; background: var(--tch-blush); font: italic 500 20px/1.5 var(--tch-serif); color: var(--tch-ink); }
.tch-content img { border-radius: 20px; }

/* ---------- products: a tight catalogue grid – clean white squares joined by hairlines (columns, button, labels and alignment from the theme options) ---------- */
.woocommerce ul.products, .woocommerce-page ul.products {
	--tch-pline: #ece4d9;
	display: grid; grid-template-columns: repeat(var(--tch-cols-d, 4), minmax(0, 1fr)); gap: 1px; margin: 0 0 26px; padding: 0;
	background: #fff; border: 1px solid var(--tch-pline); border-radius: 24px; overflow: hidden;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	float: none !important; width: auto !important; margin: 0 !important; position: relative; display: flex; flex-direction: column; align-items: center;
	padding: 14px 14px 16px; background: #fff; border: 0; text-align: center;
	box-shadow: 0 0 0 1px var(--tch-pline); /* the hairlines: each cell draws its line into the 1px gap */
	transition: box-shadow .4s var(--tch-ease);
}
.woocommerce ul.products li.product:hover { z-index: 2; box-shadow: 0 0 0 1px var(--tch-pline), 0 24px 44px -26px rgba(70, 45, 25, .42); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; flex: 1; color: var(--tch-ink); }
.tch-thumb { position: relative; display: block; width: 100%; aspect-ratio: 1; margin: 0 0 12px; overflow: hidden; background: #fff; border-radius: 14px; }
.woocommerce ul.products li.product .tch-thumb img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0 !important; padding: 5%; object-fit: contain; transition: opacity .5s, transform .8s var(--tch-ease); }
.woocommerce ul.products li.product .tch-thumb .tch-thumb__hover { opacity: 0; }
.woocommerce ul.products li.product:hover .tch-thumb img:first-child { transform: scale(1.04); }
.woocommerce ul.products li.product:hover .tch-thumb.has-hover img:first-child { opacity: 0; }
.woocommerce ul.products li.product:hover .tch-thumb .tch-thumb__hover { opacity: 1; transform: scale(1.03); }
.tch-labels { position: absolute; z-index: 2; top: 8px; left: 8px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.tch-label { display: inline-flex; align-items: center; justify-content: center; min-height: 24px; padding: 0 10px; border-radius: 999px; color: #fff; font: 700 11px/1 var(--tch-sans); letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 8px 16px -10px rgba(0, 0, 0, .5); }
.tch-label--round { width: 44px; height: 44px; padding: 0; font-size: 12.5px; letter-spacing: 0; }
.tch-label--sale { background: var(--tch-pink); }
.tch-label--new { background: var(--tch-green); }
.tch-label--out { background: #6f6760; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 4px !important; margin: 0 0 6px !important; color: var(--tch-ink); font: 600 14px/1.42 var(--tch-sans) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.84em; transition: color .2s; }
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--tch-bordo); }
.woocommerce ul.products li.product .price { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 8px; min-height: 36px; margin: auto 0 0 !important; padding: 0 4px; color: var(--tch-bordo) !important; font: 700 16.5px/1.2 var(--tch-sans) !important; transition: opacity .25s; }
.woocommerce ul.products li.product .price del { color: #a99c8f !important; font-weight: 500; font-size: 13.5px; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: 0 auto 6px; }
/* add to cart: on a computer it takes the place of the price while the card is pointed at (no empty space under the cards) */
.woocommerce ul.products li.product .button {
	position: absolute; z-index: 3; left: 14px; right: 14px; bottom: 16px; display: flex; align-items: center; justify-content: center; gap: 8px;
	height: 36px; margin: 0 !important; padding: 0 14px !important; overflow: hidden; border-radius: 999px !important; background: var(--tch-grad) !important; color: #fff !important;
	font: 700 13px/1 var(--tch-sans) !important; text-transform: none !important; letter-spacing: .01em; white-space: nowrap; text-overflow: ellipsis;
	box-shadow: 0 12px 22px -14px rgba(94, 140, 16, .7) !important;
	opacity: 0; transform: translateY(6px); pointer-events: none; transition: opacity .25s, transform .35s var(--tch-ease), box-shadow .3s !important;
}
.woocommerce ul.products li.product:hover .button, .woocommerce ul.products li.product .button:focus-visible { opacity: 1; transform: none; pointer-events: auto; }
.tch-btn-hover ul.products li.product:hover .price, .tch-btn-hover ul.products li.product:has(.button:focus-visible) .price { opacity: 0; }
.tch-btn-always ul.products li.product .button { position: static; width: 100%; margin: 10px 0 0 !important; opacity: 1; transform: none; pointer-events: auto; }
.tch-btn-hidden ul.products li.product .button { display: none !important; }
@media (hover: none) { .tch-btn-hover ul.products li.product .button { display: none !important; } }
.woocommerce ul.products li.product .button.loading { opacity: .75; }
.woocommerce ul.products li.product .added_to_cart { position: absolute; z-index: 4; top: 12px; left: 50%; transform: translateX(-50%); padding: 6px 12px; border-radius: 999px; background: var(--tch-green-d); color: #fff; font-weight: 700; font-size: 12px; white-space: nowrap; box-shadow: 0 10px 20px -12px rgba(0, 0, 0, .5); }
.tch-card-left ul.products li.product, .tch-card-left ul.products li.product a.woocommerce-LoopProduct-link { align-items: flex-start; text-align: left; }
.tch-card-left ul.products li.product .price { justify-content: flex-start; }
.woocommerce span.onsale {
	top: 18px !important; left: 18px !important; right: auto !important; margin: 0 !important; z-index: 9;
	width: 60px; height: 60px; min-width: 0 !important; min-height: 0 !important; padding: 0 !important;
	border-radius: 50% !important; color: #fff; font: 700 15px/60px var(--tch-sans) !important; text-align: center; box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .5);
}
.woocommerce span.onsale.tch-sale--text { width: auto; height: auto; padding: 9px 15px !important; border-radius: 999px !important; font-size: 12px !important; line-height: 1 !important; letter-spacing: .05em; text-transform: uppercase; }
.tch-catalog ul.products li.product .price, .tch-catalog div.product p.price { display: none !important; }
/* home: the product tabs show at least 5 per row on a computer */
@media (min-width: 1081px) { .tch-ptabs ul.products { grid-template-columns: repeat(var(--tch-cols-home, 5), minmax(0, 1fr)); max-width: var(--tch-home-w, 100%); margin-left: auto; margin-right: auto; } }

/* latest products row (scrolls sideways): the same hairline grid as one strip */
.tch-rail__nav { display: flex; gap: 10px; }
.tch-rail__btn { width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; color: var(--tch-bordo); display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--tch-shadow-sm); transition: background .25s, color .25s, transform .3s var(--tch-ease); }
.tch-rail__btn:hover { background: var(--tch-bordo); color: #fff; transform: scale(1.06); }
.tch-rail__btn[data-dir="-1"] svg { transform: rotate(180deg); }
.tch-rail ul.products {
	grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: calc((100% - 4px) / 5); gap: 1px !important;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; margin: 0 !important;
	scrollbar-width: none; overscroll-behavior-x: contain;
}
.tch-rail ul.products::-webkit-scrollbar { display: none; }
.tch-rail ul.products li.product { scroll-snap-align: start; }

/* ---------- newsletter band ---------- */
.tch-newsband { margin-top: 100px; }
.tch-newsband__card {
	position: relative; overflow: hidden; isolation: isolate; padding: 72px 24px 76px; border-radius: 40px; text-align: center;
	background:
		radial-gradient(600px 260px at 50% 0, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 70%),
		linear-gradient(120deg, #f2dfcc 0%, #f8f1e7 50%, #dde7d4 100%);
	box-shadow: var(--tch-shadow);
}
.tch-newsband__body { max-width: 640px; margin: 0 auto; }
.tch-newsband__ico { display: inline-flex; align-items: center; justify-content: center; width: 66px; height: 66px; margin-bottom: 18px; border-radius: 22px; background: #fff; color: var(--tch-bordo); box-shadow: 0 20px 36px -20px rgba(70, 45, 25, .6); transform: rotate(-6deg); animation: tch-float 6s ease-in-out infinite; }
.tch-newsband__title { margin: 0 0 12px; font-size: clamp(28px, 3vw, 42px); }
.tch-newsband__text { margin: 0 auto; max-width: 520px; color: #6b5d52; }
.tch-news { display: flex; align-items: center; max-width: 540px; margin: 28px auto 0; padding: 6px; border-radius: 999px; background: #fff; box-shadow: 0 20px 40px -26px rgba(80, 30, 50, .55); }
.tch-news input { flex: 1; min-width: 0; height: 52px; padding: 0 22px; border: 0; background: transparent; color: var(--tch-ink); font: inherit; }
.tch-news input:focus { outline: 0; }
.tch-news button { height: 52px; padding: 0 30px; border: 0; border-radius: 999px; background: #354e71; color: #fff; font-weight: 700; letter-spacing: .03em; transition: background .25s, transform .3s var(--tch-ease); }
.tch-news button:hover { background: #263a56; transform: translateY(-1px); }

/* ---------- footer ---------- */
.tch-foot { position: relative; overflow: hidden; isolation: isolate; margin-top: 90px; padding-top: 70px; border-radius: 48px 48px 0 0; color: #dfe3d8; background: linear-gradient(165deg, #1c241e 0%, #243128 55%, #2d3d31 100%); }
.tch-foot::before { content: ""; position: absolute; z-index: -1; width: 640px; height: 640px; right: -220px; top: -320px; border-radius: 50%; background: radial-gradient(circle, rgba(232, 163, 127, .22), transparent 65%); }
.tch-foot::after { content: ""; position: absolute; z-index: -1; width: 560px; height: 560px; left: -220px; bottom: -320px; border-radius: 50%; background: radial-gradient(circle, rgba(94, 140, 16, .3), transparent 65%); }
.tch-foot__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 48px; padding-bottom: 56px; }
.tch-foot h2 { position: relative; margin: 6px 0 22px; padding-bottom: 14px; color: #fff; font-size: 22px; }
.tch-foot h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #e8a37f, #f0c27a); }
.tch-foot a { color: #d3d9cc; }
.tch-foot a:hover { color: #fff; }
.tch-foot__brand .tch-logo { display: inline-block; padding: 14px 20px; border-radius: 20px; background: #fff; box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .6); }
.tch-foot__brand .tch-logo img, .tch-foot__brand .custom-logo { width: 200px; }
.tch-foot__contacts { list-style: none; margin: 26px 0 0; padding: 0; }
.tch-foot__contacts li { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; font-size: 14.5px; }
.tch-foot__contacts span > a { display: block; }
.tch-foot__ico { flex: none; width: 40px; height: 40px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .07); color: #f0c27a; }
.tch-foot__links { list-style: none; margin: 0; padding: 0; }
.tch-foot__links li { margin-bottom: 12px; font-size: 14.5px; }
.tch-foot__links a { position: relative; display: inline-block; transition: color .2s, transform .3s var(--tch-ease); }
.tch-foot__links a:hover { transform: translateX(4px); }
.tch-foot__bottom { border-top: 1px solid rgba(255, 255, 255, .1); padding: 20px 0 24px; font-size: 13px; color: #a9b1a3; }
.tch-foot__bottom .tch-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }
.tch-foot__made::before { content: "\2665"; margin-right: 8px; color: #e8a37f; }
.tch-totop { position: fixed; right: 22px; bottom: 22px; z-index: 90; width: 50px; height: 50px; border-radius: 50%; border: 0; background: var(--tch-grad); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 16px 30px -12px rgba(94, 140, 16, .8); transition: transform .3s var(--tch-ease); }
.tch-totop[hidden] { display: none; }
.tch-totop:hover { transform: translateY(-3px); }

/* ---------- inner pages ---------- */
.tch-article__title { margin: 0 0 18px; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.12; }
.tch-article__meta { margin: -6px 0 22px; color: var(--tch-muted); font-size: 13.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.tch-article__img { margin: 0 0 28px; overflow: hidden; border-radius: 26px; line-height: 0; }
.tch-crumbs { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0 0 20px; padding: 9px 18px; border-radius: 999px; background: #fff; color: var(--tch-muted); font-size: 13px; box-shadow: var(--tch-shadow-sm); }
.tch-crumbs a { color: var(--tch-berry); font-weight: 600; }
.tch-cols { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 28px; align-items: start; }
.tch-box { margin-bottom: 24px; padding: 24px; border-radius: 26px; background: #fff; border: 1px solid var(--tch-line); box-shadow: var(--tch-shadow-sm); }
.tch-box__title { margin: 0 0 14px; font-size: 21px; }
.tch-box ul { list-style: none; margin: 0; padding: 0; }
.tch-box li { padding: 6px 0; }
.tch-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.tch-post { display: flex; flex-direction: column; }
.tch-post__img { display: block; overflow: hidden; border-radius: 24px; line-height: 0; }
.tch-post__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s var(--tch-ease); }
.tch-post:hover .tch-post__img img { transform: scale(1.05); }
.tch-post__title { margin: 16px 0 8px; font-size: 22px; }
.tch-post__title a { color: var(--tch-ink); }
.tch-post__title a:hover { color: var(--tch-bordo); }
.tch-post__excerpt { color: var(--tch-muted); font-size: 14.5px; }
.navigation.pagination, .woocommerce nav.woocommerce-pagination { margin-top: 30px; text-align: center; }
.nav-links { display: flex; justify-content: center; gap: 8px; }
.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px; background: #fff; border: 1px solid var(--tch-line); color: var(--tch-ink); font-weight: 700; }
.page-numbers.current { background: var(--tch-grad); color: #fff; border-color: transparent; }
a.page-numbers:hover { border-color: var(--tch-rose); color: var(--tch-bordo); }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 8px; border: 0 !important; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; float: none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; height: 44px; padding: 0 12px !important; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 999px; background: #fff; border: 1px solid var(--tch-line); color: var(--tch-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--tch-grad) !important; color: #fff !important; border-color: transparent; }
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--tch-blush) !important; color: var(--tch-bordo) !important; }

/* ---------- WooCommerce pages ---------- */
.woocommerce-wrap { min-width: 0; }
.woocommerce-products-header { margin: 0 0 8px; }
.woocommerce-products-header__title.page-title { margin: 0 0 10px; font-size: clamp(30px, 3.4vw, 46px); }
.term-description { color: var(--tch-muted); max-width: 760px; }
.woocommerce .woocommerce-result-count { margin: 10px 0 26px; color: var(--tch-muted); font-size: 14px; }
.woocommerce .woocommerce-ordering { margin: 0 0 26px; }
.woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
	height: 46px; padding: 0 42px 0 18px; border: 1.5px solid #ecdfe5; border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3244a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center / 16px no-repeat;
	color: var(--tch-ink); font: 600 14px var(--tch-sans); -webkit-appearance: none; appearance: none;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	border-radius: 999px !important; padding: 13px 24px !important; background: var(--tch-blush) !important; color: var(--tch-bordo) !important;
	font: 700 14px/1.2 var(--tch-sans) !important; transition: background .3s, color .3s, transform .3s var(--tch-ease) !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--tch-blush-2) !important; color: var(--tch-bordo) !important; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #place_order, .woocommerce .checkout-button {
	background: var(--tch-grad) !important; color: #fff !important; box-shadow: 0 16px 30px -14px rgba(94, 140, 16, .75);
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover, .woocommerce .checkout-button:hover { color: #fff !important; transform: translateY(-2px); }
.woocommerce .quantity .qty { width: 84px; height: 54px; border: 1.5px solid #ecdfe5; border-radius: 999px; font: 700 16px var(--tch-sans); color: var(--tch-ink); text-align: center; }

/* single product: images and summary side by side (from the theme), sticky summary, accordion, sticky cart bar */
.tch-product-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; position: relative; }
.woocommerce .tch-product-top div.images, .woocommerce .tch-product-top div.summary, .woocommerce-page .tch-product-top div.images, .woocommerce-page .tch-product-top div.summary { float: none !important; width: auto !important; margin: 0 !important; }
.tch-sticky-summary .tch-product-top div.summary { position: sticky; top: 100px; }
.admin-bar.tch-sticky-summary .tch-product-top div.summary { top: 132px; }
.tch-accordion { clear: both; margin-top: 40px; border-top: 1px solid var(--tch-line); }
.tch-accordion__item { border-bottom: 1px solid var(--tch-line); }
.tch-accordion__item > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 4px; cursor: pointer; list-style: none; color: var(--tch-ink); font: 500 22px/1.3 var(--tch-serif); }
.tch-accordion__item > summary::-webkit-details-marker { display: none; }
.tch-accordion__item > summary .tch-ico { color: var(--tch-bordo); transition: transform .3s var(--tch-ease); }
.tch-accordion__item[open] > summary .tch-ico { transform: rotate(180deg); }
.tch-accordion__body { padding: 0 4px 26px; }
.tch-accordion__body > h2:first-child { display: none; }
.tch-stickycart { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; padding: 10px 0; background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); box-shadow: 0 -14px 34px -22px rgba(0, 0, 0, .45); transform: translateY(110%); transition: transform .4s var(--tch-ease); }
.tch-stickycart.is-on { transform: none; }
.tch-stickycart__inner { display: flex; align-items: center; gap: 16px; }
.tch-stickycart img { width: 52px; height: 52px; object-fit: contain; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line); }
.tch-stickycart__name { flex: 1; min-width: 0; color: var(--tch-ink); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tch-stickycart__price { color: var(--tch-bordo); font-weight: 700; white-space: nowrap; }
.tch-stickycart__price del { color: #a99c8f; font-weight: 500; margin-right: 6px; }
.tch-stickycart__price ins { text-decoration: none; }
.tch-stickycart__btn { min-height: 46px; }

/* cookie notice */
.tch-cookie { position: fixed; left: 20px; bottom: 20px; z-index: 120; display: flex; align-items: center; gap: 18px; max-width: 560px; padding: 18px 20px; border-radius: 22px; background: #fff; box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .45); font-size: 14px; }
.tch-cookie p { margin: 0; }
.tch-cookie .tch-btn { min-height: 44px; padding: 0 22px; flex: none; }

/* footer colour schemes */
.tch-foot-plum .tch-foot { background: linear-gradient(165deg, #2c1622 0%, #3a1d2e 55%, #4a2337 100%); }
.tch-foot-charcoal .tch-foot { background: linear-gradient(165deg, #1e1e1f 0%, #29292b 55%, #333336 100%); }
.tch-foot-primary .tch-foot { background: var(--tch-grad); }
.tch-foot-primary .tch-foot__ico { color: #fff; }

/* switches */
.tch-no-flowers .tch-page::before, .tch-no-flowers .tch-page::after { display: none; }
.tch-no-sticky .tch-nav { position: relative; top: auto !important; }
.tch-no-anim [data-reveal], .tch-no-anim [data-reveal] li { opacity: 1 !important; transform: none !important; translate: 0 0 !important; transition: none !important; }
.tch-radius-soft .tch-hero, .tch-radius-soft .tch-services, .tch-radius-soft .tch-cats--photo .tch-cat__link, .tch-radius-soft .tch-cats--split .tch-cat, .tch-radius-soft .woocommerce ul.products, .tch-radius-soft .tch-story, .tch-radius-soft .tch-section--soft, .tch-radius-soft .tch-newsband__card, .tch-radius-soft .tch-card, .tch-radius-soft .tch-mega, .tch-radius-soft .tch-thumb, .tch-radius-soft .tch-nav__inner, .tch-radius-soft .tch-box, .tch-radius-soft .tch-promo, .tch-radius-soft .tch-deal { border-radius: 12px !important; }
.tch-radius-soft .tch-foot { border-radius: 16px 16px 0 0; }
.tch-radius-square .tch-hero, .tch-radius-square .tch-services, .tch-radius-square .tch-cats--photo .tch-cat__link, .tch-radius-square .tch-cats--split .tch-cat, .tch-radius-square .tch-cats--split .tch-cat__body, .tch-radius-square .woocommerce ul.products, .tch-radius-square .tch-story, .tch-radius-square .tch-section--soft, .tch-radius-square .tch-newsband__card, .tch-radius-square .tch-card, .tch-radius-square .tch-mega, .tch-radius-square .tch-thumb, .tch-radius-square .tch-nav__inner, .tch-radius-square .tch-box, .tch-radius-square .tch-foot, .tch-radius-square .tch-hero__arch, .tch-radius-square .tch-btn, .tch-radius-square .tch-searchform input[type="search"], .tch-radius-square .tch-news, .tch-radius-square .tch-news button, .tch-radius-square .woocommerce ul.products li.product .button, .tch-radius-square .tch-promo, .tch-radius-square .tch-deal, .tch-radius-square .tch-promo__btn, .tch-radius-square .tch-ptabs__nav, .tch-radius-square .tch-ptabs__nav button { border-radius: 0 !important; }

/* single product */
.woocommerce div.product { position: relative; }
.woocommerce div.product div.images { border-radius: 30px; overflow: hidden; background: linear-gradient(160deg, #fbf3f6, #f6f1ee); }
.woocommerce div.product div.images img { mix-blend-mode: multiply; }
.woocommerce div.product div.images .flex-control-thumbs { padding: 12px !important; display: flex; gap: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 76px !important; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 14px; background: #fff; opacity: .65; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce div.product .woocommerce-product-gallery__trigger { background: #fff !important; box-shadow: var(--tch-shadow-sm); }
.woocommerce div.product .product_title { margin: 0 0 14px; font-size: clamp(28px, 3vw, 42px); line-height: 1.12; }
.woocommerce div.product p.price, .woocommerce div.product span.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; color: var(--tch-bordo) !important; font: 500 32px/1.2 var(--tch-serif) !important; }
.woocommerce div.product p.price del { order: 2; color: #b3a3ac; font: 400 18px var(--tch-sans); opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--tch-text); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 24px 0 26px !important; padding: 18px; border-radius: 26px; background: #fcf6f8; }
.woocommerce div.product form.cart .quantity { margin: 0 !important; float: none !important; }
.woocommerce div.product form.cart .button { float: none !important; height: 54px; padding: 0 34px !important; font-size: 15px !important; }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product .product_meta { display: grid; gap: 6px; padding-top: 18px; border-top: 1px dashed var(--tch-line); color: var(--tch-muted); font-size: 13.5px; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 34px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 999px !important; background: #f8eff3 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 22px !important; color: var(--tch-text) !important; font-weight: 700 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--tch-grad) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 30px 34px; border-radius: 26px; background: #fdf9fa; border: 1px solid var(--tch-line); }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font-size: 26px; margin-top: 0; }
.woocommerce table.shop_attributes { border: 0; border-radius: 18px; overflow: hidden; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: 12px 16px !important; border: 0 !important; background: transparent !important; }
.woocommerce table.shop_attributes tr:nth-child(odd) { background: #fff; }
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce .cross-sells > h2 { margin: 56px 0 26px; font-size: clamp(28px, 2.6vw, 38px); }

/* notices, forms, cart */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 0 !important; border-radius: 20px !important; background: #fff !important; box-shadow: var(--tch-shadow-sm); color: var(--tch-text) !important; }
.woocommerce-message { box-shadow: inset 4px 0 0 var(--tch-leaf), var(--tch-shadow-sm); }
.woocommerce-message::before { color: var(--tch-leaf) !important; }
.woocommerce-info { box-shadow: inset 4px 0 0 var(--tch-navy), var(--tch-shadow-sm); }
.woocommerce-info::before { color: var(--tch-navy) !important; }
.woocommerce-error { box-shadow: inset 4px 0 0 var(--tch-berry), var(--tch-shadow-sm); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-page form .form-row .select2-container .select2-selection {
	min-height: 50px; padding: 12px 18px; border: 1.5px solid #ecdfe5; border-radius: 16px; background: #fff; color: var(--tch-ink); font: inherit;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { outline: 0; border-color: var(--tch-rose); box-shadow: 0 0 0 4px rgba(217, 102, 138, .14); }
.woocommerce form .form-row label { font-weight: 600; color: var(--tch-ink); }
.woocommerce table.shop_table { border: 1px solid var(--tch-line) !important; border-radius: 22px !important; border-collapse: separate !important; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th { background: #fcf5f8; color: var(--tch-ink); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--tch-line) !important; padding: 14px 16px !important; }
.woocommerce table.shop_table img { width: 72px !important; border-radius: 14px; }
.woocommerce-cart .cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-size: 26px; }
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; background: var(--tch-grad) !important; color: #fff !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select { border-radius: 14px !important; }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--tch-sans); }

/* ---------- shop features (inc/features.php + assets/js/features.js) ---------- */
/* live search */
.tch-suggest { position: absolute; z-index: 90; left: 0; right: 0; top: calc(100% + 10px); max-height: 70vh; overflow-y: auto; padding: 8px; border-radius: 22px; background: #fff; box-shadow: 0 30px 60px -24px rgba(40, 25, 15, .45), 0 0 0 1px var(--tch-line); }
.tch-suggest__item { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 8px 10px; border-radius: 14px; color: var(--tch-ink); }
.tch-suggest__item:hover, .tch-suggest__item.is-sel { background: var(--tch-blush); color: var(--tch-ink); }
.tch-suggest__item img { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line); }
.tch-suggest__t { font-weight: 600; font-size: 14px; line-height: 1.35; }
.tch-suggest__p { color: var(--tch-bordo); font-weight: 700; font-size: 14px; white-space: nowrap; }
.tch-suggest__p del { color: #a99c8f; font-weight: 500; margin-right: 4px; }
.tch-suggest__p ins { text-decoration: none; }
.tch-suggest__all { display: block; margin-top: 4px; padding: 12px; border-top: 1px solid var(--tch-line); text-align: center; font-weight: 700; color: var(--tch-bordo); }
.tch-suggest__msg { margin: 0; padding: 14px; color: var(--tch-muted); text-align: center; }

/* card actions: wishlist, compare, quick view */
.tch-acts { position: absolute; z-index: 3; top: 12px; right: 12px; display: flex; flex-direction: column; gap: 8px; }
.tch-act { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--tch-ink); box-shadow: 0 8px 20px -10px rgba(40, 25, 15, .45); opacity: 0; transform: translateX(8px); transition: opacity .3s, transform .35s var(--tch-ease), background .25s, color .25s; }
.tch-act:nth-child(2) { transition-delay: .04s; }
.tch-act:nth-child(3) { transition-delay: .08s; }
li.product:hover .tch-act, .tch-act:focus-visible, .tch-act.is-on { opacity: 1; transform: none; }
@media (hover: none) { .tch-act { opacity: 1; transform: none; width: 36px; height: 36px; } }
.tch-act:hover { background: var(--tch-bordo); color: #fff; }
.tch-act.is-on { color: var(--tch-pink); }
.tch-act--wish.is-on svg { fill: currentColor; }
.tch-act.is-loading { opacity: .6; pointer-events: none; }
.tch-single-acts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: -6px 0 22px; }
.tch-act-line { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; color: var(--tch-text); font-weight: 600; font-size: 14px; }
.tch-act-line:hover, .tch-act-line.is-on { color: var(--tch-bordo); }
.tch-act-line.tch-act--wish.is-on svg { fill: currentColor; color: var(--tch-pink); }

/* toast */
.tch-toast { position: fixed; z-index: 130; left: 50%; bottom: 26px; padding: 14px 22px; border-radius: 999px; background: var(--tch-ink); color: #fff; font-size: 14px; font-weight: 600; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .6); opacity: 0; pointer-events: none; transform: translate(-50%, 20px); transition: opacity .3s, transform .35s var(--tch-ease); }
.tch-toast.is-on { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.tch-toast a { margin-left: 8px; color: #f6c9a6; text-decoration: underline; }

/* modal: quick view + popup */
.tch-modal { position: fixed; inset: 0; z-index: 210; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(32, 26, 20, .5); backdrop-filter: blur(4px); opacity: 0; transition: opacity .25s; }
.tch-modal.is-open { opacity: 1; }
.tch-modal__box { position: relative; width: min(980px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; border-radius: 28px; background: #fff; box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .6); transform: translateY(16px) scale(.98); transition: transform .35s var(--tch-ease); }
.tch-modal.is-open .tch-modal__box { transform: none; }
.tch-modal--popup .tch-modal__box { width: min(760px, 100%); }
.tch-modal__close { position: absolute; z-index: 3; top: 14px; right: 14px; width: 42px; height: 42px; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--tch-blush); color: var(--tch-ink); }
.tch-modal__close:hover { background: var(--tch-bordo); color: #fff; }
.tch-qv { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 34px; padding: 34px; }
.tch-qv__gallery { position: relative; }
.tch-qv__img { display: none; margin: 0; border-radius: 22px; overflow: hidden; background: #fff; box-shadow: 0 0 0 1px var(--tch-line); }
.tch-qv__img.is-on { display: block; }
.tch-qv__img img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.tch-qv__thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.tch-qv__thumbs button { width: 64px; height: 64px; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 0 0 1px var(--tch-line); opacity: .6; }
.tch-qv__thumbs button[aria-current] { opacity: 1; box-shadow: 0 0 0 2px var(--tch-bordo); }
.tch-qv__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.tch-qv__summary { position: relative; padding-top: 10px; }
.tch-qv__summary .tch-labels { position: static; flex-direction: row; margin-bottom: 12px; }
.tch-qv__title { margin: 0 0 12px; font-size: 30px; line-height: 1.15; padding-right: 40px; }
.tch-qv .price { color: var(--tch-bordo); font: 700 24px/1.2 var(--tch-sans); margin: 0 0 14px; }
.tch-qv .price del { color: #a99c8f; font-size: 16px; font-weight: 500; margin-right: 8px; }
.tch-qv .price ins { text-decoration: none; }
.tch-qv__desc { color: var(--tch-text); font-size: 15px; }
.tch-qv form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 18px 0; padding: 14px; border-radius: 22px; background: #fbf6f0; }
.tch-qv form.variations_form { display: block; }
.tch-qv .quantity .qty { width: 80px; height: 50px; border: 1.5px solid #e8ddcf; border-radius: 999px; text-align: center; font: 700 16px var(--tch-sans); }
.tch-qv .single_add_to_cart_button { height: 50px; padding: 0 28px !important; }
.tch-popup { display: grid; grid-template-columns: 1fr; }
.tch-popup.has-img { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.tch-popup__img { margin: 0; min-height: 300px; }
.tch-popup__img img { width: 100%; height: 100%; object-fit: cover; }
.tch-popup__body { padding: 52px 44px; }
.tch-popup__body h2 { margin: 0 0 12px; font-size: 34px; }
.tch-popup__body p { margin: 0 0 24px; color: var(--tch-muted); }

/* side cart */
.tch-sidecart { position: fixed; inset: 0; z-index: 205; background: rgba(32, 26, 20, .45); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s; }
.tch-sidecart.is-open { opacity: 1; }
.tch-sidecart__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(92vw, 420px); display: flex; flex-direction: column; background: #fff; border-radius: 28px 0 0 28px; box-shadow: -20px 0 60px -20px rgba(0, 0, 0, .45); transform: translateX(104%); transition: transform .38s var(--tch-ease); }
.tch-sidecart.is-open .tch-sidecart__panel { transform: none; }
.admin-bar .tch-sidecart__panel { top: 32px; }
.tch-sidecart__head { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid var(--tch-line); }
.tch-sidecart__head strong { font: 500 24px/1 var(--tch-serif); color: var(--tch-ink); }
.tch-sidecart__close { width: 42px; height: 42px; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--tch-blush); color: var(--tch-ink); }
.tch-sidecart__body, .tch-drawer__body { flex: 1; overflow-y: auto; padding: 18px 24px 24px; display: flex; flex-direction: column; }
.tch-sidecart__body .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; }
.tch-sidecart .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.tch-sidecart .woocommerce-mini-cart-item { position: relative; display: block; min-height: 76px; padding: 12px 34px 12px 86px !important; border-bottom: 1px solid var(--tch-line); font-size: 14px; }
.tch-sidecart .woocommerce-mini-cart-item a:not(.remove) { color: var(--tch-ink); font-weight: 600; }
.tch-sidecart .woocommerce-mini-cart-item img { position: absolute; left: 0; top: 12px; width: 70px !important; height: 70px; object-fit: contain; margin: 0 !important; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line); }
.tch-sidecart .woocommerce-mini-cart-item .quantity { display: block; margin-top: 4px; color: var(--tch-muted); }
.tch-sidecart .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 12px; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--tch-muted) !important; background: #f6efe7; font-size: 18px; line-height: 1; }
.tch-sidecart .woocommerce-mini-cart-item .remove:hover { background: var(--tch-bordo); color: #fff !important; }
.tch-sidecart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: auto 0 14px; padding-top: 18px; font-size: 16px; }
.tch-sidecart .woocommerce-mini-cart__total .amount { color: var(--tch-bordo); font-weight: 700; }
.tch-sidecart .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.tch-sidecart .woocommerce-mini-cart__buttons .button { display: flex !important; justify-content: center; margin: 0 !important; }
.tch-sidecart .woocommerce-mini-cart__empty-message { margin: 30px 0; text-align: center; color: var(--tch-muted); }
.tch-freeship { margin-bottom: 10px; padding: 14px 16px; border-radius: 18px; background: #f3f6ee; font-size: 14px; }
.tch-freeship p { margin: 0 0 10px; color: var(--tch-ink); }
.tch-freeship__bar { display: block; height: 6px; border-radius: 6px; overflow: hidden; background: #dfe6d6; }
.tch-freeship__bar i { display: block; height: 100%; border-radius: 6px; background: var(--tch-leaf); transition: width .6s var(--tch-ease); }

/* show more / filters without reload */
.tch-more { display: flex; justify-content: center; margin: 10px 0 20px; }
.tch-more__btn { min-width: 220px; }
.tch-page-body.is-loading .tch-cols__main, .tch-page-body.is-loading .tch-one { opacity: .45; pointer-events: none; transition: opacity .2s; }

/* variation buttons */
.tch-sw-select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.tch-sw { display: flex; flex-wrap: wrap; gap: 8px; }
.tch-sw__btn { min-width: 44px; min-height: 40px; padding: 6px 14px; border: 1.5px solid #e4d8ca; border-radius: 999px; background: #fff; color: var(--tch-ink); font: 600 13.5px/1.2 var(--tch-sans); transition: border-color .2s, background .2s, color .2s; }
.tch-sw__btn:hover { border-color: var(--tch-bordo); }
.tch-sw__btn.is-on { border-color: var(--tch-bordo); background: var(--tch-bordo); color: #fff; }
.tch-sw__btn:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.tch-sw__btn.has-color { width: 40px; min-width: 0; height: 40px; padding: 4px; }
.tch-sw__btn.has-color i { display: block; width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.tch-sw__btn.has-color.is-on { background: #fff; box-shadow: 0 0 0 2px var(--tch-bordo); }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { display: block; padding: 0 0 8px; text-align: left; }
.woocommerce div.product form.cart .variations tr { display: block; margin-bottom: 10px; }
.woocommerce div.product form.cart .variations label { font-weight: 700; color: var(--tch-ink); }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; }

/* wishlist / compare pages */
.tch-list__empty { margin: 10px 0 20px; color: var(--tch-muted); font-size: 16px; }
.tch-cmp-wrap { overflow-x: auto; margin: 0 -6px; padding: 0 6px 10px; }
.tch-cmp { width: 100%; min-width: 640px; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.tch-cmp th, .tch-cmp td { padding: 14px 16px; border-bottom: 1px solid var(--tch-line); vertical-align: top; text-align: left; }
.tch-cmp tbody th { width: 160px; color: var(--tch-muted); font-weight: 700; }
.tch-cmp thead th { position: relative; vertical-align: bottom; }
.tch-cmp thead a { display: block; color: var(--tch-ink); font-weight: 700; }
.tch-cmp thead img { display: block; width: 100%; max-width: 180px; aspect-ratio: 1; object-fit: contain; margin-bottom: 10px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line); }
.tch-cmp__rm { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #f6efe7; color: var(--tch-muted); }
.tch-cmp__rm:hover { background: var(--tch-bordo); color: #fff; }
.tch-cmp td .amount { color: var(--tch-bordo); font-weight: 700; }
.tch-cmp a, .tch-cmp ins { text-decoration: none !important; }
.tch-cmp del { color: #a99c8f; margin-right: 6px; }
.tch-cmp del .amount { color: #a99c8f; font-weight: 500; }
.tch-sidecart .woocommerce-mini-cart__buttons .checkout { background: var(--tch-grad) !important; color: #fff !important; }

/* phone bottom bar */
.tch-mbar { display: none; }
@media (max-width: 680px) {
	.tch-mbar { position: fixed; z-index: 96; left: 10px; right: 10px; bottom: 10px; display: flex; justify-content: space-around; padding: 6px 4px; border-radius: 22px; background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .45), 0 0 0 1px var(--tch-line); }
	.tch-mbar__item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 2px; color: var(--tch-text); font-size: 11px; font-weight: 600; }
	.tch-mbar__ico { position: relative; display: inline-flex; }
	.tch-mbar__ico .tch-cart__count, .tch-mbar__ico .tch-count { top: -6px; right: -10px; }
	.tch-has-mbar { padding-bottom: 84px; }
	.tch-has-mbar .tch-totop { bottom: 92px; }
	.tch-has-mbar .tch-stickycart { bottom: 78px; left: 10px; right: 10px; border-radius: 18px; }
	.tch-has-mbar .tch-toast { bottom: 96px; }
	.tch-has-mbar .tch-cookie { bottom: 92px; }
	.tch-acts { top: 6px; right: 6px; gap: 5px; }
	ul.products .tch-act { width: 30px; height: 30px; }
	ul.products .tch-act .tch-ico { width: 15px; height: 15px; }
	ul.products .tch-act--qv { display: none; } /* on a phone a tap on the card opens the product */
	.tch-qv { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
	.tch-qv__title { font-size: 24px; }
	.tch-popup.has-img { grid-template-columns: 1fr; }
	.tch-popup__img { min-height: 180px; max-height: 220px; overflow: hidden; }
	.tch-popup__body { padding: 30px 22px; }
	.tch-sidecart__panel { border-radius: 22px 0 0 22px; }
}

/* maintenance page */
.tch-maint { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 24px; }
.tch-maint__box { max-width: 560px; padding: 56px 44px; border-radius: 32px; background: #fff; text-align: center; box-shadow: var(--tch-shadow); }
.tch-maint__box .tch-logo { display: inline-block; margin-bottom: 24px; }
.tch-maint__box h1 { margin: 0 0 12px; font-size: 38px; }
.tch-maint__box p { color: var(--tch-muted); }

/* ---------- product extras (inc/product-extras.php) ---------- */
/* sale countdown */
.tch-countdown { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 6px 0 18px; padding: 14px 16px; border-radius: 18px; background: #fdf0f4; }
.tch-countdown__label { display: inline-flex; align-items: center; gap: 8px; color: var(--tch-bordo); font-weight: 700; font-size: 14px; }
.tch-countdown__time { display: inline-flex; gap: 6px; }
.tch-countdown__unit { display: inline-flex; flex-direction: column; align-items: center; min-width: 50px; padding: 6px 4px; border-radius: 12px; background: #fff; box-shadow: 0 6px 16px -12px rgba(0, 0, 0, .4); }
.tch-countdown__unit b { color: var(--tch-ink); font: 700 18px/1.1 var(--tch-sans); font-variant-numeric: tabular-nums; }
.tch-countdown__unit small { color: var(--tch-muted); font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; }
.tch-countdown--mini { display: inline-flex; gap: 6px; margin: 8px 0 0; padding: 5px 10px; border-radius: 999px; color: var(--tch-bordo); font-size: 12px; }
.tch-countdown--mini .tch-countdown__time { gap: 2px; }
.tch-countdown--mini .tch-countdown__unit { min-width: 0; padding: 0; flex-direction: row; background: none; box-shadow: none; }
.tch-countdown--mini .tch-countdown__unit b { font-size: 12.5px; color: var(--tch-bordo); }
.tch-countdown--mini .tch-countdown__unit small { display: none; }
.tch-countdown--mini .tch-countdown__unit + .tch-countdown__unit::before { content: ":"; font-weight: 700; margin-right: 2px; }
.tch-countdown--mini .tch-countdown__unit:first-child b::after { content: "д"; margin: 0 4px 0 1px; font-weight: 600; }
.tch-countdown--mini .tch-countdown__unit:nth-child(2)::before { content: none; }
/* size guide + video in the modal */
.tch-sg { padding: 40px 40px 34px; }
.tch-sg h2 { margin: 0 0 18px; padding-right: 50px; font-size: 30px; }
.tch-sg table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.tch-sg th, .tch-sg td { padding: 10px 12px; border-bottom: 1px solid var(--tch-line); text-align: left; }
.tch-sg tr:nth-child(odd) td { background: #fcf8f3; }
.tch-sg .wp-block-table { margin: 0; }
.tch-sg .wp-block-table th, .tch-sg .wp-block-table td { border: 0; border-bottom: 1px solid var(--tch-line); }
.tch-sg .wp-block-table thead { border-bottom: 2px solid var(--tch-blush-2); }
.tch-sg figcaption { margin-top: 10px; color: var(--tch-muted); font-size: 13px; }
.tch-modal--video .tch-modal__box { width: min(1040px, 100%); background: #000; overflow: hidden; }
.tch-modal--video .tch-modal__close { background: rgba(255, 255, 255, .9); }
.tch-video { position: relative; aspect-ratio: 16 / 9; }
.tch-video iframe, .tch-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tch-video-btn { position: absolute; z-index: 9; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px 10px 12px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--tch-bordo); font-weight: 700; font-size: 14px; box-shadow: 0 12px 26px -14px rgba(0, 0, 0, .5); transition: transform .3s var(--tch-ease), background .25s, color .25s; }
.tch-video-btn:hover { background: var(--tch-bordo); color: #fff; transform: translateY(-2px); }
/* frequently bought together */
.tch-fbt { clear: both; margin: 44px 0 10px; padding: 30px 32px; border-radius: 28px; background: #fbf6f0; border: 1px solid var(--tch-line); }
.tch-fbt__title { margin: 0 0 22px; font-size: 28px; }
.tch-fbt__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.tch-fbt__pics { grid-column: 1; grid-row: 1; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.tch-fbt__pics li { position: relative; width: 120px; transition: opacity .3s; }
.tch-fbt__pics li + li::before { content: "+"; position: absolute; left: -14px; top: 50%; transform: translateY(-50%); color: var(--tch-muted); font-weight: 700; }
.tch-fbt__pics li.is-off { opacity: .35; }
.tch-fbt__pics img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line); }
.tch-fbt__items { grid-column: 2; grid-row: 1 / span 2; list-style: none; margin: 0; padding: 0; }
.tch-fbt__item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 10px 0; border-bottom: 1px dashed var(--tch-line); font-size: 14.5px; }
.tch-fbt__item label { flex: 1; display: flex; align-items: baseline; gap: 8px; cursor: pointer; }
.tch-fbt__item input { accent-color: var(--tch-bordo); width: 17px; height: 17px; transform: translateY(2px); }
.tch-fbt__item em { color: var(--tch-muted); font-style: normal; }
.tch-fbt__item a { color: var(--tch-ink); font-weight: 600; }
.tch-fbt__plus { display: none; }
.tch-fbt__price { color: var(--tch-bordo); font-weight: 700; white-space: nowrap; }
.tch-fbt__price del { color: #a99c8f; font-weight: 500; margin-right: 4px; }
.tch-fbt__price ins { text-decoration: none; }
.tch-fbt__opts { flex-basis: 100%; padding-left: 25px; font-size: 13px; font-weight: 700; }
.tch-fbt__total { grid-column: 1; grid-row: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.tch-fbt__total span { color: var(--tch-muted); }
.tch-fbt__sum { color: var(--tch-bordo); font: 700 24px/1 var(--tch-sans); }
.tch-fbt__add { min-height: 48px; }
.tch-fbt__add:disabled { opacity: .5; }
/* login / register side panel */
.tch-tabs { display: flex; gap: 6px; margin-bottom: 20px; padding: 5px; border-radius: 999px; background: #f6efe7; }
.tch-tabs button { flex: 1; min-height: 42px; border: 0; border-radius: 999px; background: none; color: var(--tch-text); font-weight: 700; }
.tch-tabs button[aria-selected="true"] { background: #fff; color: var(--tch-bordo); box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .35); }
.tch-drawer .woocommerce-form-login, .tch-drawer .woocommerce-form-register { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.tch-drawer .form-row { display: block; margin: 0 0 14px; }
.tch-drawer .form-row label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 14px; color: var(--tch-ink); }
.tch-drawer .input-text { width: 100%; min-height: 50px; padding: 12px 18px; border: 1.5px solid #e8ddcf; border-radius: 16px; font: inherit; }
.tch-drawer .input-text:focus { outline: 0; border-color: var(--tch-rose); box-shadow: 0 0 0 4px rgba(196, 106, 71, .14); }
.tch-drawer .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; }
.tch-drawer .button { width: 100%; justify-content: center; align-items: center; display: flex !important; min-height: 50px; padding: 0 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--tch-grad) !important; color: #fff !important; font: 700 15px/1 var(--tch-sans) !important; }
.tch-drawer .lost_password { margin: 14px 0 0; text-align: center; font-size: 14px; }
.tch-drawer .woocommerce-privacy-policy-text { font-size: 13px; color: var(--tch-muted); }
@media (max-width: 760px) {
	.tch-fbt { padding: 22px 18px; }
	.tch-fbt__grid { grid-template-columns: 1fr; }
	.tch-fbt__pics, .tch-fbt__items, .tch-fbt__total { grid-column: 1; grid-row: auto; }
	.tch-fbt__pics li { width: 84px; }
	.tch-sg { padding: 28px 20px; }
	.tch-countdown__unit { min-width: 44px; }
}

/* ---------- shop extras (inc/shop-extras.php) ---------- */
/* category bar in the shop */
.tch-catbar { position: relative; z-index: 20; margin: 0 -10px 22px; padding: 10px; border-radius: 22px; background: rgba(255, 255, 255, .94); backdrop-filter: blur(8px); }
.tch-catbar.is-sticky { position: sticky; top: 88px; }
.admin-bar .tch-catbar.is-sticky { top: 120px; }
.tch-no-sticky .tch-catbar.is-sticky { top: 10px; }
.tch-catbar ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.tch-catbar ul::-webkit-scrollbar { display: none; }
/* many subcategories: the row fades at the edge that has more, arrows at both ends (theme.js) */
.tch-catbar.is-scroll:not(.at-end) ul { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 70px), transparent calc(100% - 8px)); mask-image: linear-gradient(90deg, #000 calc(100% - 70px), transparent calc(100% - 8px)); }
.tch-catbar.is-scroll.at-end:not(.at-start) ul { -webkit-mask-image: linear-gradient(90deg, transparent 8px, #000 70px); mask-image: linear-gradient(90deg, transparent 8px, #000 70px); }
.tch-catbar.is-scroll:not(.at-start):not(.at-end) ul { -webkit-mask-image: linear-gradient(90deg, transparent 8px, #000 70px, #000 calc(100% - 70px), transparent calc(100% - 8px)); mask-image: linear-gradient(90deg, transparent 8px, #000 70px, #000 calc(100% - 70px), transparent calc(100% - 8px)); }
.tch-catbar__arrow { position: absolute; z-index: 2; top: 50%; width: 34px; height: 34px; margin-top: -17px; padding: 0; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--tch-bordo); box-shadow: 0 6px 16px -8px rgba(60, 40, 25, .55), 0 0 0 1px var(--tch-line); transition: opacity .25s, background .25s, color .25s; }
.tch-catbar__arrow:hover { background: var(--tch-bordo); color: #fff; }
.tch-catbar__arrow--prev { left: 6px; }
.tch-catbar__arrow--prev svg { transform: rotate(180deg); }
.tch-catbar__arrow--next { right: 6px; }
.tch-catbar.at-start .tch-catbar__arrow--prev, .tch-catbar.at-end .tch-catbar__arrow--next { opacity: 0; pointer-events: none; }
@media (hover: none) { .tch-catbar__arrow { display: none; } }
.tch-catbar li { flex: none; }
.tch-catbar a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px 6px 6px; border-radius: 999px; background: #f7f1ea; color: var(--tch-ink); font-weight: 600; font-size: 14px; white-space: nowrap; transition: background .2s, color .2s; }
.tch-catbar a.tch-catbar__all { padding-left: 16px; }
.tch-catbar img, .tch-catbar .tch-cthumb { flex: none; width: 34px; height: 34px; max-width: none !important; object-fit: contain; border-radius: 50%; background: #fff; }
.tch-catbar img.is-photo { object-fit: cover; }
.tch-catbar .tch-cthumb.is-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--tch-bordo); background: var(--tch-blush); }
.tch-catbar .tch-cthumb.is-icon .tch-ico { width: 16px; height: 16px; }
.tch-catbar a[aria-current] .tch-cthumb.is-icon { background: rgba(255, 255, 255, .2); color: #fff; }
.tch-catbar a:hover { background: var(--tch-blush-2); }
.tch-catbar a[aria-current] { background: var(--tch-grad); color: #fff; }

/* ---------- header banner of the shop and the categories (inc/category-header.php) ---------- */
.tch-chead {
	position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 340px; margin: 0 0 26px;
	padding: 34px 52px 44px; border-radius: var(--tch-r-lg); color: var(--tch-text);
	box-shadow: var(--tch-shadow-sm);
}
.tch-chead.has-bar { padding-bottom: 76px; }
.tch-chead__in { position: relative; z-index: 2; flex: 1 1 auto; min-width: 0; max-width: 640px; }
.tch-chead__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 26px; font-size: 13px; font-weight: 600; color: var(--tch-muted); }
.tch-chead__crumbs a { color: var(--tch-berry); }
.tch-chead__crumbs span { opacity: .45; }
.tch-chead .tch-kicker { margin-bottom: 10px; }
.tch-chead__title { margin: 0 0 14px; font-size: clamp(36px, 4.2vw, 58px); line-height: 1.05; letter-spacing: -.015em; }
.tch-chead__desc { max-width: 560px; font-size: 16.5px; line-height: 1.7; }
.tch-chead__desc p { margin: 0; }
.tch-chead__meta { display: inline-flex; align-items: center; gap: 8px; margin: 20px 0 0; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .72); color: var(--tch-ink); font-size: 13px; font-weight: 700; letter-spacing: .02em; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .8); }
.tch-chead__meta::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--tch-green); box-shadow: 0 0 0 3px rgba(69, 112, 63, .18); }
/* photo: the picture fills the banner, a soft shade on the text side */
/* (.tch-chead img: stronger than WooCommerce's .woocommerce img { height: auto }) */
.tch-chead img.tch-chead__bg { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% var(--tch-focus, 45%); }
.tch-chead--photo::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.tch-chead--light { color: rgba(255, 255, 255, .86); }
.tch-chead--light::before { background: linear-gradient(90deg, rgba(22, 18, 14, .74) 0%, rgba(22, 18, 14, .5) 36%, rgba(22, 18, 14, .12) 68%, rgba(22, 18, 14, 0) 100%), linear-gradient(0deg, rgba(22, 18, 14, .32) 0%, rgba(22, 18, 14, 0) 42%); }
.tch-chead--light .tch-chead__title { color: #fff; }
.tch-chead--light .tch-chead__crumbs, .tch-chead--light .tch-chead__crumbs a { color: rgba(255, 255, 255, .82); }
.tch-chead--light .tch-chead__crumbs a:hover { color: #fff; }
.tch-chead--light .tch-kicker { color: #f3d7a6; }
.tch-chead--light .tch-chead__meta { background: rgba(255, 255, 255, .14); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); backdrop-filter: blur(6px); }
.tch-chead--light .tch-chead__meta::before { background: #b9d8a6; box-shadow: 0 0 0 3px rgba(185, 216, 166, .25); }
.tch-chead--dark::before { background: linear-gradient(90deg, rgba(250, 246, 240, .94) 0%, rgba(250, 246, 240, .78) 38%, rgba(250, 246, 240, .1) 72%, rgba(250, 246, 240, 0) 100%); }
/* no photo: the tint of the top category, the category picture in a white circle */
.tch-chead--tint.tch-tone--bordo, .tch-chead--tint {
	background:
		radial-gradient(640px 420px at 88% -10%, rgba(255, 214, 170, .7), rgba(255, 214, 170, 0) 62%),
		radial-gradient(620px 460px at -8% 120%, rgba(214, 160, 164, .38), rgba(214, 160, 164, 0) 62%),
		linear-gradient(118deg, #f4e1d6 0%, #f9f1e8 50%, #f1e0db 100%);
}
.tch-chead--tint.tch-tone--green {
	background:
		radial-gradient(640px 420px at 88% -10%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 62%),
		radial-gradient(640px 480px at -8% 120%, rgba(140, 176, 124, .5), rgba(140, 176, 124, 0) 62%),
		linear-gradient(118deg, #dfe9d3 0%, #f2f3e9 50%, #e2ebd7 100%);
}
.tch-chead--tint.tch-tone--sand {
	background:
		radial-gradient(640px 420px at 88% -10%, rgba(255, 228, 190, .95), rgba(255, 228, 190, 0) 62%),
		radial-gradient(620px 460px at -8% 120%, rgba(222, 186, 146, .45), rgba(222, 186, 146, 0) 62%),
		linear-gradient(118deg, #f1e2cc 0%, #faf4ea 50%, #efe0ca 100%);
}
.tch-chead--tint.tch-tone--green .tch-kicker { color: var(--tch-green-d); }
.tch-chead--tint.tch-tone--sand .tch-kicker { color: #ad0051; }
.tch-chead__art { position: relative; z-index: 1; flex: none; display: flex; align-items: center; justify-content: center; width: 250px; aspect-ratio: 1; margin: 0 40px 0 30px; }
.tch-chead__sprig { width: 170px; left: -40%; top: 4%; transform: rotate(8deg); }
.tch-chead__art::before { content: ""; position: absolute; inset: -18px; border-radius: 50%; border: 1.5px dashed rgba(94, 140, 16, .22); }
.tch-tone--green .tch-chead__art::before { border-color: rgba(69, 112, 63, .3); }
.tch-tone--sand .tch-chead__art::before { border-color: rgba(168, 71, 47, .26); }
.tch-chead__pic { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 0 0 10px rgba(255, 255, 255, .45), 0 34px 56px -32px rgba(70, 45, 25, .5); }
.tch-chead__pic img { display: block; width: 74%; height: 74%; object-fit: contain; }
.tch-chead__pic.is-photo img { width: 100%; height: 100%; object-fit: cover; }
.tch-chead__pic.is-icon { color: var(--tch-bordo); }
.tch-tone--green .tch-chead__pic.is-icon { color: var(--tch-green-d); }
.tch-tone--sand .tch-chead__pic.is-icon { color: #da0066; }
.tch-chead__pic.is-icon .tch-ico { width: 30%; height: 30%; }
/* the category bar sits on the lower edge of the banner, then sticks under the menu */
.tch-chead + .tch-catbar { margin: -58px 28px 26px; padding: 8px; border-radius: 999px; background: rgba(255, 255, 255, .96); box-shadow: 0 18px 40px -24px rgba(60, 40, 25, .5); }
.tch-chead + .tch-catbar a { padding: 5px 16px 5px 5px; background: none; }
.tch-chead + .tch-catbar a.tch-catbar__all { padding-left: 16px; }
.tch-chead + .tch-catbar a:hover { background: #f7f1ea; }
.tch-chead + .tch-catbar a[aria-current] { background: var(--tch-grad); color: #fff; }
.tch-chead + .tch-catbar img, .tch-chead + .tch-catbar .tch-cthumb { width: 36px; height: 36px; box-shadow: 0 0 0 1px var(--tch-line); }
/* the rest of a long description: under the products */
.tch-cdesc { max-width: 860px; margin: 34px auto 6px; padding-top: 28px; border-top: 1px dashed var(--tch-line); font-size: 15.5px; }
.tch-chead ~ .tch-one .tch-card, .tch-chead ~ .tch-cols .tch-cols__main { padding-top: 30px; }
/* recently viewed */
.tch-recent { clear: both; margin-top: 50px; }
.tch-recent__title { margin: 0 0 24px; font-size: clamp(26px, 2.4vw, 34px); }
.tch-recent ul.products { grid-template-columns: repeat(var(--tch-cols-d, 4), minmax(0, 1fr)); }
/* buy now */
.woocommerce div.product form.cart .tch-buy-now, .tch-qv form.cart .tch-buy-now { height: 54px; padding: 0 30px !important; border-radius: 999px !important; background: var(--tch-ink) !important; color: #fff !important; font: 700 15px/1 var(--tch-sans) !important; }
.woocommerce div.product form.cart .tch-buy-now:hover { background: #000 !important; }
.tch-qv form.cart .tch-buy-now { height: 50px; }
/* mega menu promo banner */
.tch-mega__promo { position: sticky; top: 0; align-self: start; display: block; overflow: hidden; border-radius: 22px; background: #2a2521; color: #fff; }
.tch-mega__promo img { display: block; width: 100%; height: 100%; min-height: 260px; object-fit: cover; transition: transform .8s var(--tch-ease); }
.tch-mega__promo:hover img { transform: scale(1.05); }
.tch-mega__promo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20, 16, 12, .7), rgba(20, 16, 12, 0) 60%); }
.tch-mega__promotxt { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 18px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.tch-mega__promotxt strong { color: #fff; font: 500 24px/1.15 var(--tch-serif); }
.tch-mega__promotxt .tch-btn { min-height: 40px; padding: 0 18px; font-size: 13px; }
.tch-mega__promo:hover { color: #fff; }
/* age check */
.tch-age { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(32, 26, 20, .7); backdrop-filter: blur(8px); }
.tch-age__box { width: min(480px, 100%); padding: 40px 34px 34px; border-radius: 28px; background: #fff; text-align: center; box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .6); }
.tch-age__box .tch-logo { display: inline-block; margin-bottom: 18px; }
.tch-age__box .tch-logo img { width: 180px; }
.tch-age__box h2 { margin: 0 0 10px; font-size: 28px; }
.tch-age__box p { color: var(--tch-muted); }
.tch-age__q { color: var(--tch-ink) !important; font-weight: 700; }
.tch-age__btns { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
.tch-age__btns .tch-btn { min-width: 120px; }
.tch-age__no { color: var(--tch-bordo) !important; font-weight: 700; }

/* ---------- page templates (templates/*.php) ---------- */
.tch-tpl__head { margin: 6px 0 30px; text-align: center; }
.tch-tpl__title { margin: 0; font-size: clamp(34px, 4vw, 56px); line-height: 1.08; }
.tch-tpl__intro { max-width: 720px; margin: 16px auto 0; color: var(--tch-muted); }
.tch-tpl__hero { position: relative; overflow: hidden; margin: 0 0 28px; padding: 60px 40px; border-radius: 32px; background: linear-gradient(118deg, #f3e1cf 0%, #f8f0e5 46%, #dfe8d6 100%); text-align: center; }
.tch-tpl__hero.has-img { display: flex; align-items: flex-end; min-height: 440px; padding: 0; text-align: left; color: #fff; }
.tch-tpl__heroimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tch-tpl__hero.has-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(22, 18, 14, .7) 0%, rgba(22, 18, 14, 0) 60%); }
.tch-tpl__herotxt { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
.tch-tpl__hero.has-img .tch-tpl__herotxt { margin: 0; padding: 48px 52px; }
.tch-tpl__hero.has-img .tch-tpl__title { color: #fff; }
.tch-tpl__lead { margin: 14px 0 0; font-size: 18px; color: inherit; opacity: .9; }
.tch-content--cols { column-count: 2; column-gap: 56px; }
.tch-content--cols > * { break-inside: avoid; }
.tch-tpl--about .tch-services { margin: 24px auto 10px; }
.tch-tpl__cta { margin: 40px 0 10px; padding: 46px 30px; border-radius: 32px; background: #fbf6f0; border: 1px solid var(--tch-line); text-align: center; }
.tch-tpl__cta h2 { margin: 0 0 18px; font-size: 32px; }
.tch-ccards { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.tch-ccards li { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 26px; border-radius: 26px; background: #fff; border: 1px solid var(--tch-line); box-shadow: var(--tch-shadow-sm); }
.tch-ccards__ico { width: 52px; height: 52px; margin-bottom: 8px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--tch-blush); color: var(--tch-bordo); }
.tch-ccards strong { color: var(--tch-ink); font: 500 20px/1.2 var(--tch-serif); }
.tch-ccards a, .tch-ccards span { color: var(--tch-text); }
.tch-ccards a:hover { color: var(--tch-bordo); }
.tch-tpl__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: stretch; }
.tch-tpl__split .tch-card { margin: 0; }
.tch-map { position: relative; min-height: 380px; overflow: hidden; border-radius: 32px; background: linear-gradient(135deg, #e6ecdf, #f4ece1); }
.tch-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tch-map__load { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border: 0; background: none; color: var(--tch-bordo); font-weight: 700; font-size: 16px; }
.tch-map__load small { color: var(--tch-muted); font-weight: 500; font-size: 13px; }
.tch-faq { max-width: 900px; margin-left: auto; margin-right: auto; padding-top: 18px; padding-bottom: 18px; }
@media (max-width: 1080px) {
	.tch-tpl__split { grid-template-columns: 1fr; }
	.tch-content--cols { column-count: 1; }
	.tch-catbar.is-sticky { top: 10px; }
	.admin-bar .tch-catbar.is-sticky { top: 42px; }
	.tch-chead { min-height: 300px; padding: 30px 36px 40px; }
	.tch-chead.has-bar { padding-bottom: 72px; }
	.tch-chead__art { width: 200px; margin: 0 16px 0 20px; }
	.tch-chead__sprig { width: 130px; }
}
@media (max-width: 680px) {
	.tch-tpl__hero.has-img { min-height: 340px; }
	.tch-tpl__hero.has-img .tch-tpl__herotxt { padding: 28px 22px; }
	.tch-tpl__hero { padding: 40px 20px; border-radius: 26px; }
	.tch-map { min-height: 300px; border-radius: 26px; }
	.woocommerce div.product form.cart .tch-buy-now { flex: 1 1 100%; }
	.tch-recent ul.products { grid-template-columns: repeat(var(--tch-cols-m, 2), minmax(0, 1fr)); }
}

/* product description built with Tochko Blocks: no extra card around it */
.woocommerce div.product .woocommerce-tabs .panel:has(.tchb-phero, .tchb-kit, .tchb-spec, .tchb-section) { padding: 6px 0 0; border: 0; background: none; }
.woocommerce div.product .woocommerce-tabs .panel:has(.tchb-phero, .tchb-kit, .tchb-spec, .tchb-section) > .is-style-tch-line { margin-top: 46px; font-size: clamp(26px, 2.6vw, 36px); }
.tch-accordion__body:has(.tchb-phero, .tchb-kit, .tchb-spec) > .is-style-tch-line { margin-top: 40px; }

/* full-width block pages (templates/blocks.php) */
.tch-blocks-page { padding: 26px 0 10px; }
.tch-blocks-page > :not(.tchb-layout-full):not(.alignfull) { width: calc(100% - 48px); max-width: var(--tch-wrap); margin-left: auto; margin-right: auto; }
.tch-blocks-page > .tchb-layout-full { margin-top: 0; }
@media (max-width: 680px) { .tch-blocks-page > :not(.tchb-layout-full):not(.alignfull) { width: calc(100% - 32px); } }

/* ---------- soft reveal (only when JS runs; nothing is hidden without it) ---------- */
.tch-js [data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--tch-ease), transform .9s var(--tch-ease); }
.tch-js [data-reveal].is-in { opacity: 1; transform: none; }
.tch-js [data-reveal] .tch-cats > li, .tch-js [data-reveal] ul.products li.product { opacity: 0; translate: 0 26px; transition: opacity .8s var(--tch-ease), translate .8s var(--tch-ease), transform .45s var(--tch-ease), box-shadow .45s var(--tch-ease), border-color .3s; }
.tch-js [data-reveal].is-in .tch-cats > li, .tch-js [data-reveal].is-in ul.products li.product { opacity: 1; translate: 0 0; }
.tch-js [data-reveal].is-in .tch-cats > li:nth-child(2), .tch-js [data-reveal].is-in ul.products li.product:nth-child(2) { transition-delay: .08s, .08s, 0s, 0s, 0s; }
.tch-js [data-reveal].is-in .tch-cats > li:nth-child(3), .tch-js [data-reveal].is-in ul.products li.product:nth-child(3) { transition-delay: .16s, .16s, 0s, 0s, 0s; }
.tch-js [data-reveal].is-in .tch-cats > li:nth-child(4), .tch-js [data-reveal].is-in ul.products li.product:nth-child(4) { transition-delay: .24s, .24s, 0s, 0s, 0s; }
.tch-js [data-reveal].is-in .tch-cats > li:nth-child(5), .tch-js [data-reveal].is-in ul.products li.product:nth-child(5) { transition-delay: .32s, .32s, 0s, 0s, 0s; }
.tch-js [data-reveal].is-in ul.products li.product:nth-child(6) { transition-delay: .4s, .4s, 0s, 0s, 0s; }

/* ---------- tablet ---------- */
@media (max-width: 1280px) {
	.tch-nav__link { padding: 0 12px 0 8px; gap: 8px; font-size: 12.5px; letter-spacing: .05em; }
	.tch-nav__link > .tch-ico:first-child { width: 30px; height: 30px; padding: 6px; }
	.tch-hero__slide--design { padding: 48px 40px 124px 52px; }
	.tch-cat__name { font-size: 20px; }
	.tch-cats--split .tch-cat__name { font-size: 21px; }
	.tch-rail ul.products { grid-auto-columns: calc((100% - 3px) / 4); }
	.tch-promo--big { padding: 44px 36px 44px 44px; }
	.tch-promo { padding: 26px 24px 26px 30px; }
	.tch-promo__art { width: 146px; }
	.tch-deal { padding: 58px 48px 58px 56px; gap: 36px; }
}
@media (max-width: 1080px) {
	.tch-header__top { grid-template-columns: auto 1fr auto; grid-template-areas: "burger logo tools" "search search search"; gap: 14px 16px; padding-top: 14px; padding-bottom: 14px; }
	.tch-burger { display: inline-flex; grid-area: burger; }
	.tch-header__logo { grid-area: logo; justify-self: center; }
	.tch-header__search { grid-area: search; max-width: none; }
	.tch-header__tools { grid-area: tools; }
	.tch-tool__label { display: none; }
	.tch-tool { padding: 4px; }
	.tch-logo img, .custom-logo { width: 200px; }
	.tch-nav { display: none; }
	.tch-hero__slide--design { grid-template-columns: 1fr; gap: 26px; min-height: 0; padding: 44px 36px 134px; text-align: center; }
	.tch-hero__lead { margin-left: auto; margin-right: auto; }
	.tch-hero__cta { justify-content: center; }
	.tch-hero .tch-kicker { justify-content: center; }
	.tch-hero__art { height: 380px; max-width: 560px; width: 100%; margin: 0 auto; }
	.tch-hero__controls { bottom: 72px; }
	.tch-services { width: calc(100% - 40px); }
	.tch-services ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tch-services li:nth-child(3)::before { display: none; }
	.tch-cats { --tch-cat-cols: var(--tch-cat-cols-t, 3); }
	.tch-hcards { --tch-cat-cols: 3; }
	.tch-subcards__grid { --tch-sc-cols: 3 !important; }
	.tch-cblock { grid-template-columns: 220px minmax(0, 1fr); }
	.tch-cblock__subs { --tch-cb-cols: 4 !important; }
	.tch-cblock__name { font-size: 24px; }
	.tch-cols { grid-template-columns: 1fr; }
	.tch-cols__main { order: -1; }
	.tch-promos { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
	.tch-promo--big { grid-column: 1 / -1; grid-row: auto; }
	.tch-promo--big .tch-promo__art { width: min(32%, 250px); }
	.tch-promo__art { width: 118px; }
	.tch-promo__title { font-size: 22px; }
	.tch-deal { grid-template-columns: 1fr; gap: 44px; padding: 60px 44px 52px; text-align: center; }
	.tch-deal__art { order: -1; width: min(64%, 340px); }
	.tch-deal__text { margin-left: auto; margin-right: auto; }
	.tch-deal .tch-kicker, .tch-deal__price, .tch-deal__cta { justify-content: center; }
	.tch-deal .tch-countdown { justify-content: center; }
	.tch-hero__sprig--1 { width: 170px; left: 0; }
	.tch-hero__sprig--2 { width: 160px; right: 0; }
	.tch-foot__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
	.tch-foot__brand { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 20px 40px; }
	.tch-foot__contacts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; }
	.tch-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tch-rail ul.products { grid-auto-columns: calc((100% - 2px) / 3); }
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(var(--tch-cols-t, 3), minmax(0, 1fr)); }
	.tch-product-top { grid-template-columns: 1fr; gap: 28px; }
	.tch-sticky-summary .tch-product-top div.summary { position: static; }
}

/* ---------- phone ---------- */
@media (max-width: 680px) {
	body { font-size: 15px; }
	.tch-wrap { padding: 0 16px; }
	.tch-util__promo { display: none; }
	.tch-util__inner { min-height: 36px; }
	.tch-burger { height: 42px; padding: 0 12px 0 9px; }
	.tch-burger span { display: none; }
	.tch-burger { width: 42px; justify-content: center; padding: 0; }
	.tch-logo img, .custom-logo { width: 158px; }
	.tch-header__tools { gap: 2px; }
	.tch-header__tools .tch-tool:first-child { display: none; }
	.tch-tool > .tch-ico, .tch-cart__ico { width: 42px; height: 42px; }
	.tch-searchform input[type="search"] { height: 50px; }
	.tch-searchform button { width: 38px; height: 38px; }
	.tch-hero { margin-top: 6px; border-radius: 28px; }
	.tch-hero__slide--design { padding: 34px 20px 116px; gap: 18px; }
	.tch-hero__title { font-size: 34px; }
	.tch-hero__lead { font-size: 15.5px; margin-bottom: 22px; }
	.tch-hero__cta .tch-btn { flex: 1 1 100%; }
	.tch-hero__art { height: 290px; }
	.tch-hero__arch { inset: 0 8% 0 8%; border-width: 7px; }
	.tch-hero__ring { left: 4%; right: 2%; }
	.tch-hero__badge { width: 76px; left: 0; top: 6px; }
	.tch-hero__chip { right: -4px; bottom: 14px; padding: 9px 12px 9px 9px; text-align: left; }
	.tch-hero__chip small { display: none; }
	.tch-hero__controls { bottom: 62px; gap: 8px; padding: 4px; }
	.tch-hero__arrow { width: 34px; height: 34px; }
	.tch-services { width: calc(100% - 20px); margin-top: -50px; padding: 6px; border-radius: 24px; }
	.tch-services ul { grid-template-columns: 1fr 1fr; }
	.tch-services li { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 12px; }
	.tch-services li + li::before { display: none; }
	.tch-services__ico { width: 46px; height: 46px; border-radius: 15px; }
	.tch-services strong { font-size: 14px; }
	.tch-services small { font-size: 12.5px; }
	.tch-section { margin-top: 64px; }
	.tch-section__head { margin-bottom: 24px; }
	.tch-section__head--row { flex-wrap: wrap; align-items: flex-end; gap: 14px; }
	.tch-section__head--row > div:first-child { flex: 1 1 100%; }
	.tch-link-more { padding: 9px 14px; font-size: 13px; }
	.tch-section--soft { margin-left: -6px; margin-right: -6px; padding: 30px 16px 14px; border-radius: 28px; }
	.tch-cats { --tch-cat-cols: 2; --tch-cat-gap: 12px; }
	.tch-hcards { --tch-cat-cols: 1; --tch-cat-gap: 12px; }
	.tch-hcard { border-radius: 22px; }
	.tch-hcard:hover { transform: none; }
	.tch-hcard__top { aspect-ratio: 16 / 7; }
	.tch-hcard__circle { width: 84px; margin: 0 16px 0 auto; align-self: center; }
	.tch-hcard__top:not(.has-photo) .tch-hcard__pic { align-items: center; }
	.tch-hcard__name { font-size: 22px; }
	/* the subcategories as chips */
	.tch-hcard__subs { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 10px 0; }
	.tch-hcard__subs li + li { border: 0; }
	.tch-hcard__subs li { min-width: 0; max-width: 100%; }
	.tch-hcard__subs a { gap: 6px; padding: 3px 12px 3px 3px; border-radius: 999px; background: #f8f3ec; font-size: 12.5px; }
	.tch-hcard__subs .tch-cthumb { width: 26px; height: 26px; border-radius: 50%; background: #fff; }
	.tch-hcard__all { margin: 10px; padding: 9px 14px; }
	.tch-subcards__grid { --tch-sc-cols: 2 !important; gap: 10px; }
	.tch-subcard a { aspect-ratio: 1; border-radius: 18px; }
	.tch-subcard a:hover { transform: none; }
	.tch-subcard__pic.is-cut { padding: 8% 10% 34%; }
	.tch-subcard__bar { left: 6px; right: 6px; bottom: 6px; gap: 6px; padding: 7px 6px 7px 10px; border-radius: 12px; }
	.tch-subcard__name { font-size: 13px; }
	.tch-subcard__count { font-size: 11px; }
	.tch-subcard__go { width: 26px; height: 26px; }
	.tch-subcard__go .tch-ico { width: 13px; height: 13px; }
	.tch-cblocks__nav { justify-content: flex-start; width: auto; margin: -6px -16px 18px; padding: 4px 16px; border-radius: 0; background: none; box-shadow: none; }
	.tch-cblocks__nav button { min-height: 42px; padding: 0 16px 0 10px; background: #fff; box-shadow: 0 0 0 1px var(--tch-line); font-size: 13.5px; }
	.tch-cblock { grid-template-columns: 1fr; gap: 12px; }
	.tch-cblock__card { min-height: 0; height: 150px; border-radius: 22px; }
	.tch-cblock__card:not(.has-photo) .tch-cblock__pic { justify-content: flex-end; align-items: center; padding-right: 18px; }
	.tch-cblock__circle { width: 112px; margin: 0; }
	.tch-cblock__body { padding: 16px 18px; }
	.tch-cblock__name { font-size: 24px; }
	.tch-cblock__all { margin-top: 10px; padding: 7px 12px 7px 14px; font-size: 12.5px; }
	.tch-cblock__subs { --tch-cb-cols: 3 !important; gap: 8px; }
	.tch-cblock__subs a { padding: 4px 4px 8px; border-radius: 16px; }
	.tch-cblock__subs a:hover { transform: none; }
	.tch-cblock__thumb { border-radius: 12px; }
	.tch-cblock__sub { margin: 7px 2px 0; font-size: 11.5px; }
	/* a lone tile in the last row of three: full width, picture left */
	.tch-cblock__subs li:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
	.tch-cblock__subs li:last-child:nth-child(3n+1) a { flex-direction: row; align-items: center; gap: 12px; padding: 4px 14px 4px 4px; }
	.tch-cblock__subs li:last-child:nth-child(3n+1) .tch-cblock__thumb { flex: 0 0 calc((100% - 16px) / 3); }
	.tch-cblock__subs li:last-child:nth-child(3n+1) .tch-cblock__sub { margin: 0; font-size: 13.5px; text-align: left; }
	.tch-cblock__more .tch-cblock__thumb b { font-size: 24px; }
	.tch-cblock__more .tch-cblock__thumb small { font-size: 10.5px; }
	.tch-cat__name { font-size: 18px; }
	.tch-cat__count { margin-top: 3px; font-size: 11.5px; }
	.tch-cat__go { width: 32px; height: 32px; }
	.tch-cat__go .tch-ico { width: 14px; height: 14px; }
	.tch-cats--photo .tch-cat__link { aspect-ratio: 3 / 4; border-radius: 22px; }
	.tch-cats--photo .tch-cat__body { left: 14px; right: 46px; bottom: 14px; }
	.tch-cats--photo .tch-cat__name { font-size: 16.5px; }
	.tch-cats--photo .tch-cat__pic.is-cut, .tch-cats--photo .tch-cat__pic.is-icon { padding-top: 14%; }
	.tch-cats--photo .tch-cat__go { right: 12px; bottom: 14px; }
	.tch-cats--photo.tch-cats--odd > li:last-child { flex-basis: 100%; }
	.tch-cats--photo.tch-cats--odd > li:last-child .tch-cat__link { aspect-ratio: 16 / 9; }
	.tch-cats--photo.tch-cats--odd > li:last-child .tch-cat__pic.is-cut, .tch-cats--photo.tch-cats--odd > li:last-child .tch-cat__pic.is-icon { align-items: flex-end; justify-content: center; padding: 0 17% 8% 0; }
	.tch-cats--photo.tch-cats--odd > li:last-child .tch-cat__pic.is-cut img, .tch-cats--photo.tch-cats--odd > li:last-child .tch-cat__ico { width: 31%; }
	.tch-cats--photo.tch-cats--odd > li:last-child .tch-cat__name { font-size: 20px; }
	.tch-cats--round { --tch-cat-cols: 3; --tch-cat-gap: 10px; }
	.tch-cats--round .tch-cat__link { padding: 8px 0 4px; }
	.tch-cats--round .tch-cat__pic { width: 92px; padding: 6px; }
	.tch-cats--round .tch-cat__pic::before { inset: -6px; }
	.tch-cats--round .tch-cat__body { margin-top: 12px; }
	.tch-cats--round .tch-cat__name { font-size: 15px; }
	.tch-cats--round .tch-cat__count { font-size: 11px; }
	.tch-cats--split .tch-cat { border-radius: 20px; }
	.tch-cats--split .tch-cat__body { margin-top: -16px; padding: 12px 42px 13px 14px; border-radius: 16px 16px 0 0; }
	.tch-cats--split .tch-cat__name { font-size: 17px; }
	.tch-cats--split .tch-cat__link > .tch-cat__go { right: 9px; bottom: 13px; width: 28px; height: 28px; }
	.tch-cats--split .tch-cat__subs { display: none; }
	.tch-cats--split.tch-cats--odd > li:last-child { flex-basis: 100%; }
	.tch-cats--split.tch-cats--odd > li:last-child .tch-cat__pic { aspect-ratio: 16 / 8; }
	.tch-cats--split.tch-cats--odd > li:last-child .tch-cat__ico { width: 26%; }
	.tch-story { margin-top: 64px; border-radius: 28px; }
	.tch-hero__sprig--1 { width: 128px; left: -2%; bottom: -4%; }
	.tch-chead { min-height: 0; margin-bottom: 20px; padding: 22px 20px 30px; border-radius: 26px; }
	.tch-chead.has-bar { padding-bottom: 66px; }
	.tch-chead__crumbs { margin-bottom: 18px; padding-right: 96px; font-size: 12.5px; }
	.tch-chead--photo { min-height: 330px; align-items: flex-end; padding-top: 56px; }
	.tch-chead--photo .tch-chead__in { position: static; }
	.tch-chead--photo .tch-chead__crumbs { position: absolute; z-index: 2; top: 20px; left: 20px; right: 20px; padding: 0; }
	.tch-chead--light::before { background: linear-gradient(0deg, rgba(22, 18, 14, .74) 0%, rgba(22, 18, 14, .46) 52%, rgba(22, 18, 14, .16) 100%); }
	.tch-chead--dark::before { background: linear-gradient(0deg, rgba(250, 246, 240, .95) 0%, rgba(250, 246, 240, .8) 55%, rgba(250, 246, 240, .35) 100%); }
	.tch-chead__title { font-size: 34px; margin-bottom: 10px; }
	.tch-chead__desc { font-size: 15px; line-height: 1.6; }
	.tch-chead__meta { margin-top: 14px; padding: 6px 12px; font-size: 12px; }
	.tch-chead__art { position: absolute; top: 16px; right: 16px; width: 82px; margin: 0; }
	.tch-chead__art::before { inset: -8px; }
	.tch-chead__pic { box-shadow: 0 0 0 5px rgba(255, 255, 255, .45), 0 16px 26px -16px rgba(70, 45, 25, .5); }
	.tch-chead__sprig { display: none; }
	.tch-chead + .tch-catbar { margin: -50px 12px 20px; padding: 6px; }
	.tch-chead + .tch-catbar a { font-size: 13.5px; }
	.tch-chead + .tch-catbar img, .tch-chead + .tch-catbar .tch-cthumb { width: 32px; height: 32px; }
	.tch-chead ~ .tch-one .tch-card { padding-top: 22px; }
	.tch-hero__sprig--2 { width: 120px; right: -2%; top: -4%; }
	.tch-promos { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 30px; }
	.tch-promo, .tch-promo--big { grid-column: auto; padding: 22px 16px 22px 22px; gap: 14px; border-radius: 24px; }
	.tch-promo__art { width: 108px; }
	.tch-promo__img { box-shadow: 0 0 0 6px rgba(255, 255, 255, .42), 0 18px 30px -20px rgba(60, 40, 25, .5); }
	.tch-promo__title { font-size: 20px; }
	.tch-promo .tch-kicker { margin-bottom: 8px; font-size: 10.5px; letter-spacing: .16em; }
	.tch-promo__btn { min-height: 38px; margin-top: 14px; padding: 0 14px 0 16px; font-size: 12.5px; }
	.tch-promo--big { flex-direction: column; align-items: stretch; gap: 26px; padding: 30px 22px 0; }
	.tch-promo--big .tch-promo__title { font-size: 34px; }
	.tch-promo--big .tch-promo__text { font-size: 14.5px; }
	.tch-promo--big .tch-promo__btn { min-height: 46px; margin-top: 20px; }
	.tch-promo--big .tch-promo__art { width: 68%; aspect-ratio: 33 / 31; margin: 0 auto -22px; }
	.tch-promo--big .tch-promo__img img { height: 68%; margin-top: 0; }
	.tch-promo__sprig { width: 140px; left: -36%; top: -4%; }
	.tch-ptabs__nav { display: flex; width: 100%; }
	.tch-ptabs__nav button { flex: 1; min-height: 42px; padding: 0 10px; font-size: 13.5px; }
	.tch-deal { gap: 30px; margin: 64px -6px 0; padding: 44px 22px 36px; border-radius: 28px; }
	.tch-deal__art { width: min(76%, 290px); }
	.tch-deal__art::before { inset: -16px; }
	.tch-deal__pct { width: 70px; height: 70px; font-size: 19px; box-shadow: 0 0 0 5px #fff, 0 16px 26px -12px rgba(0, 0, 0, .55); }
	.tch-deal__sprig { width: 160px; }
	.tch-deal__title { font-size: 30px; }
	.tch-deal__text { font-size: 15px; }
	.tch-deal__price { font-size: 34px; }
	.tch-deal .tch-countdown { display: flex; padding: 12px 14px; }
	.tch-deal__cta .tch-btn { flex: 1 1 100%; }
	.tch-story__text { padding: 46px 22px 40px; }
	.tch-story::before { font-size: 200px; top: -26px; }
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(var(--tch-cols-m, 2), minmax(0, 1fr)); border-radius: 20px; }
	.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding: 10px 10px 12px; }
	.tch-thumb { border-radius: 10px; margin-bottom: 8px; }
	.tch-labels { top: 4px; left: 4px; }
	.tch-label--round { width: 38px; height: 38px; font-size: 11.5px; }
	.woocommerce ul.products li.product .price { min-height: 30px; }
	.tch-btn-always ul.products li.product .button { height: 34px; font-size: 12px !important; padding: 0 8px !important; }
	.tch-stickycart__name { display: none; }
	.tch-stickycart__btn { flex: 1; }
	.tch-cookie { left: 12px; right: 12px; bottom: 12px; flex-direction: column; align-items: stretch; text-align: center; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px !important; }
	.woocommerce ul.products li.product .price { font-size: 15px !important; }
	.woocommerce ul.products li.product .price del { font-size: 12px; }
	.tch-rail__btn { width: 42px; height: 42px; }
	.tch-rail ul.products { grid-auto-columns: 46%; }
	.tch-newsband { margin-top: 70px; }
	.tch-newsband__card { padding: 56px 18px 46px; border-radius: 30px; }
	.tch-news { flex-direction: column; gap: 6px; padding: 6px; border-radius: 26px; }
	.tch-news input { width: 100%; text-align: center; }
	.tch-news button { width: 100%; }
	.tch-foot { margin-top: 64px; padding-top: 48px; border-radius: 34px 34px 0 0; }
	.tch-foot__grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; padding-bottom: 36px; }
	.tch-foot__brand { display: block; }
	.tch-foot__contacts { margin-top: 22px; grid-template-columns: 1fr; }
	.tch-foot__grid > section:last-child { grid-column: 1 / -1; }
	.tch-foot h2 { font-size: 19px; margin-bottom: 16px; }
	.tch-foot__bottom .tch-wrap { flex-direction: column; text-align: center; align-items: center; }
	.tch-card { padding: 26px 18px; border-radius: 26px; }
	.tch-posts { grid-template-columns: 1fr; }
	.woocommerce div.product form.cart { padding: 12px; }
	.woocommerce div.product form.cart .button { flex: 1; }
	.woocommerce div.product .woocommerce-tabs .panel { padding: 22px 18px; }
	.tch-totop { right: 14px; bottom: 14px; width: 46px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.tch-js [data-reveal], .tch-js [data-reveal] .tch-cats > li, .tch-js [data-reveal] ul.products li.product { opacity: 1; transform: none; translate: 0 0; }
}


/* ---------- Детски стаи ТОЧКО (2021 design): the coloured menu icons, blue "home" and raspberry "contacts" in the green bar ---------- */
.tch-ico--img { display: block; width: auto; height: 34px; object-fit: contain; }
.tch-nav .tch-ico--img, .tch-menu .tch-ico--img { height: 30px; }
.tch-nav__item.is-home > .tch-nav__link { background: var(--tch-green); }
.tch-nav__item.is-home > .tch-nav__link:hover { background: var(--tch-green-d); }
.tch-nav__item.is-home > .tch-nav__link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* =========================================================================================================
   Детски стаи ТОЧКО – the children's hero banner, v2 (owner 22.10.2026: „супер шарено е, искам стил“ – colourful and
   childish, but with style): a soft pastel scene per slide with two big colour blobs, four stars and a dashed flight line;
   the title in deep navy with ONE accent colour per slide and a hand-drawn underline; the photo in a white house-shaped frame
   with a chimney in the accent colour; a clean „до -NN%“ sticker. Markup: inc/kid-hero.php + front-page.php.
   ========================================================================================================= */
.tch-hero { background: #fdf7ee; border-radius: 40px; box-shadow: 0 34px 70px -38px rgba(20, 60, 100, .42); }
.tch-hero .tch-kid { --kid-a: #ff8a00; --kid-a-d: #d96f00; --kid-b1: #ffe2bd; --kid-b2: #d6effc; --kid-ink: #163a5c; }
.tch-hero .tch-kid--green { --kid-a: #5e8c10; --kid-a-d: #45690a; --kid-b1: #dcf0c6; --kid-b2: #fff0c4; }
.tch-hero .tch-kid--sand { --kid-a: #da0066; --kid-a-d: #ad0051; --kid-b1: #ffd7e7; --kid-b2: #dff3fb; }
.tch-hero .tch-kid.tch-hero__slide--design { position: relative; overflow: hidden; isolation: isolate; min-height: 560px; padding: 60px 56px 150px 72px; gap: 34px;
	background: linear-gradient(180deg, #fffaf3 0%, #fdf5ea 100%); }
.tch-kid .tch-hero__text, .tch-kid .tch-hero__art { position: relative; z-index: 1; }

/* scene */
.tch-kid__scene { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.tch-kid__blob { position: absolute; border-radius: 50%; filter: blur(2px); }
.tch-kid__blob--1 { right: 4%; top: -12%; width: 560px; height: 560px; background: radial-gradient(circle at 40% 40%, var(--kid-b1) 0%, var(--kid-b1) 55%, rgba(255, 255, 255, 0) 71%); animation: tch-kid-breathe 12s ease-in-out infinite; }
.tch-kid__blob--2 { left: -8%; bottom: -30%; width: 520px; height: 520px; background: radial-gradient(circle at 50% 50%, var(--kid-b2) 0%, var(--kid-b2) 50%, rgba(255, 255, 255, 0) 70%); animation: tch-kid-breathe 14s ease-in-out infinite reverse; }
.tch-kid__path { position: absolute; left: 36%; top: 10%; width: 300px; height: 120px; color: var(--kid-a); opacity: .45; }
.tch-kid__star { position: absolute; width: 22px; height: 22px; animation: tch-kid-twinkle 4s ease-in-out infinite; }
.tch-kid__star--1 { left: 58%; top: 9%; width: 26px; height: 26px; color: #ffb400; }
.tch-kid__star--2 { right: 4%; top: 38%; width: 20px; height: 20px; color: #009ece; animation-delay: -1.3s; }
.tch-kid__star--3 { right: 9%; bottom: 20%; width: 16px; height: 16px; color: #da0066; animation-delay: -2.6s; }
.tch-kid__star--4 { left: 49%; bottom: 26%; width: 18px; height: 18px; color: #5e8c10; animation-delay: -.7s; }
.tch-kid__wave { position: absolute; left: 0; bottom: 0; width: 100%; height: 90px; fill: rgba(255, 255, 255, .8); }

/* text */
.tch-kid__kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; padding: 9px 18px 9px 12px; border-radius: 999px; background: #fff;
	box-shadow: 0 10px 24px -16px rgba(20, 60, 100, .5); font: 800 12.5px/1 var(--tch-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--kid-ink); }
.tch-kid__kstar { color: var(--kid-a); }
.tch-kid .tch-hero__title { margin: 0 0 20px; color: var(--kid-ink); font: 800 clamp(38px, 4.2vw, 60px)/1.06 var(--tch-sans); letter-spacing: -.025em; text-shadow: none; }
.tch-kid .tch-hero__title .tch-kid__rainbow { display: block; width: fit-content; margin-top: .06em; padding: 0 0 .16em; font-style: normal; color: var(--kid-a);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9c40-6 80-7 120-3s95 5 174-4' fill='none' stroke='%23009ece' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") left bottom / 100% .26em no-repeat;
	-webkit-background-clip: border-box; background-clip: border-box; }
.tch-hero .tch-kid--sand .tch-hero__title .tch-kid__rainbow { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9c40-6 80-7 120-3s95 5 174-4' fill='none' stroke='%23ffb400' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E"); }
.tch-kid__w { display: inline-block; white-space: nowrap; }
.tch-kid__l { display: inline-block; color: inherit; text-shadow: none; }
.tch-kid.is-on .tch-kid__l { animation: tch-kid-pop .6s cubic-bezier(.34, 1.4, .64, 1) both; animation-delay: calc(var(--i) * 28ms + .15s); }
.tch-kid .tch-hero__lead { max-width: 500px; margin: 0 0 30px; color: #4a5f74; font-size: 17px; font-weight: 500; line-height: 1.7; }
.tch-kid__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 28px; border-radius: 999px;
	font: 800 15px/1 var(--tch-sans); color: #fff; text-decoration: none; white-space: nowrap; background: var(--kid-a);
	box-shadow: 0 4px 0 var(--kid-a-d), 0 18px 28px -16px var(--kid-a); transition: transform .2s var(--tch-ease), box-shadow .2s, background .2s; }
.tch-kid__btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 6px 0 var(--kid-a-d), 0 24px 32px -16px var(--kid-a); }
.tch-kid__btn:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--kid-a-d); }
.tch-kid__btn .tch-ico { transition: transform .3s var(--tch-ease); }
.tch-kid__btn:hover .tch-ico { transform: translateX(4px); }
.tch-kid__btn--ghost { color: var(--kid-ink); background: #fff; box-shadow: inset 0 0 0 2px rgba(22, 58, 92, .14), 0 14px 24px -18px rgba(20, 60, 100, .5); }
.tch-kid__btn--ghost:hover { color: var(--kid-ink); box-shadow: inset 0 0 0 2px var(--kid-a), 0 18px 28px -18px rgba(20, 60, 100, .55); }
.tch-kid__btn--ghost:active { box-shadow: inset 0 0 0 2px var(--kid-a); }
.tch-kid__perks { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 28px 0 0; padding: 0; list-style: none; }
.tch-kid__perks li { position: relative; padding-left: 24px; color: #4a5f74; font: 700 13px/1.4 var(--tch-sans); }
.tch-kid__perks li::before { content: "✓"; position: absolute; left: 0; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; color: #fff; font: 900 11px/18px var(--tch-sans); text-align: center; background: #5e8c10; }
.tch-kid__perks li:nth-child(2)::before { background: #009ece; }
.tch-kid__perks li:nth-child(3)::before { background: #da0066; }

/* picture: white house-shaped frame, chimney in the accent colour */
.tch-kid .tch-hero__art { height: 450px; }
.tch-kid__house { position: absolute; inset: 14px 10% 0 14%; filter: drop-shadow(0 30px 34px rgba(20, 60, 100, .28)); animation: tch-kid-house 9s ease-in-out infinite; }
.tch-kid__frame { position: absolute; inset: 0; padding: 12px; clip-path: polygon(50% 0, 100% 33%, 100% 100%, 0 100%, 0 33%); background: #fff; }
.tch-kid__pic { display: block; width: 100%; height: 100%; overflow: hidden; background: #eef3f7; clip-path: polygon(50% 0, 100% 33%, 100% 100%, 0 100%, 0 33%); }
.tch-kid__pic img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 70%; transition: transform 6s var(--tch-ease); }
.tch-kid.is-on .tch-kid__pic img { transform: scale(1.05); }
.tch-kid__chimney { position: absolute; z-index: -1; right: 19%; top: 6%; width: 30px; height: 64px; border-radius: 6px 6px 0 0; background: var(--kid-a); }
.tch-kid__chimney::before, .tch-kid__chimney::after { content: ""; position: absolute; left: 5px; top: -16px; width: 20px; height: 20px; border-radius: 50%; background: rgba(255, 255, 255, .95); box-shadow: 0 4px 10px -4px rgba(20, 60, 100, .3); animation: tch-kid-smoke 4s ease-out infinite; }
.tch-kid__chimney::after { animation-delay: 2s; }
.tch-kid__sticker { position: absolute; z-index: 3; left: 2%; top: 26px; width: 108px; height: 108px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center;
	background: #fff; color: var(--kid-ink); transform: rotate(-10deg); box-shadow: inset 0 0 0 3px var(--kid-a), 0 20px 30px -18px rgba(20, 60, 100, .5); animation: tch-kid-wobble 6s ease-in-out infinite; }
.tch-kid__sticker small { font: 800 12px/1 var(--tch-sans); letter-spacing: .14em; text-transform: uppercase; color: #6b7f90; }
.tch-kid__sticker b { font: 900 30px/1.08 var(--tch-sans); color: var(--kid-a); }
.tch-kid__bubble { position: absolute; z-index: 3; right: 0; bottom: 30px; display: flex; flex-direction: column; gap: 3px; max-width: 220px; padding: 12px 18px; border-radius: 20px 20px 6px 20px; background: #fff;
	box-shadow: 0 22px 34px -22px rgba(20, 60, 100, .55); animation: tch-float 8s ease-in-out infinite reverse; }
.tch-kid__bubble b { color: var(--kid-ink); font: 800 14px/1.2 var(--tch-sans); }
.tch-kid__bubble small { color: #6b7f90; font-size: 12.5px; line-height: 1.3; }

/* controls */
.tch-hero .tch-hero__controls { bottom: 82px; background: rgba(255, 255, 255, .8); }
.tch-hero .tch-hero__arrow { color: #163a5c; }
.tch-hero .tch-hero__arrow:hover { background: #163a5c; color: #fff; }
.tch-hero .tch-hero__dots button { background: rgba(22, 58, 92, .2); }
.tch-hero .tch-hero__dots button[aria-current], .tch-hero[data-tone] .tch-hero__dots button[aria-current] { width: 30px; background: #ff8a00; }
.tch-hero[data-tone="green"] .tch-hero__dots button[aria-current] { background: #5e8c10; }
.tch-hero[data-tone="sand"] .tch-hero__dots button[aria-current] { background: #da0066; }

@keyframes tch-kid-breathe { 0%, 100% { scale: 1; } 50% { scale: 1.06; } }
@keyframes tch-kid-twinkle { 0%, 100% { scale: 1; rotate: 0deg; } 50% { scale: .8; rotate: 20deg; } }
@keyframes tch-kid-pop { 0% { opacity: 0; transform: translateY(.4em); } 100% { opacity: 1; transform: none; } }
@keyframes tch-kid-house { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes tch-kid-smoke { 0% { opacity: 0; transform: translate(0, 0) scale(.5); } 25% { opacity: .95; } 100% { opacity: 0; transform: translate(-18px, -62px) scale(1.6); } }
@keyframes tch-kid-wobble { 0%, 100% { transform: rotate(-10deg); } 50% { transform: rotate(-4deg); } }

@media (max-width: 1080px) {
	.tch-hero .tch-kid.tch-hero__slide--design { grid-template-columns: 1fr; gap: 24px; padding: 46px 32px 150px; text-align: center; min-height: 0; }
	.tch-kid .tch-hero__title .tch-kid__rainbow { margin-left: auto; margin-right: auto; }
	.tch-kid .tch-hero__lead { margin-left: auto; margin-right: auto; }
	.tch-kid .tch-hero__cta, .tch-kid__perks { justify-content: center; }
	.tch-kid .tch-hero__art { height: 380px; max-width: 560px; width: 100%; margin: 0 auto; }
	.tch-kid__path, .tch-kid__star--4 { display: none; }
	.tch-kid__star--1 { left: 6%; top: 4%; }
}
@media (max-width: 680px) {
	.tch-hero { border-radius: 28px; }
	.tch-hero .tch-kid.tch-hero__slide--design { padding: 30px 18px 138px; }
	.tch-kid__kicker { font-size: 11px; padding: 8px 14px 8px 10px; margin-bottom: 16px; }
	.tch-kid .tch-hero__title { font-size: 34px; }
	.tch-kid .tch-hero__lead { font-size: 15.5px; margin-bottom: 22px; }
	.tch-kid__btn { flex: 1 1 100%; min-height: 52px; }
	.tch-kid__perks { gap: 6px 14px; margin-top: 20px; }
	.tch-kid__perks li { font-size: 12px; }
	.tch-kid .tch-hero__art { height: 290px; }
	.tch-kid__house { inset: 10px 7% 0 7%; }
	.tch-kid__chimney { width: 24px; height: 50px; }
	.tch-kid__sticker { width: 84px; height: 84px; left: -2px; top: 6px; }
	.tch-kid__sticker b { font-size: 23px; }
	.tch-kid__sticker small { font-size: 10px; }
	.tch-kid__bubble { right: -4px; bottom: 12px; padding: 9px 13px; }
	.tch-kid__bubble small { display: none; }
	.tch-kid__blob--1 { width: 360px; height: 360px; right: -30%; }
	.tch-kid__blob--2 { width: 340px; height: 340px; }
	.tch-hero .tch-hero__controls { bottom: 74px; }
}
/* the coloured 2021 menu icons: bigger, without the round bubble */
.tch-nav__link > .tch-ico--img:first-child, .tch-nav__item:hover > .tch-nav__link > .tch-ico--img:first-child, .tch-nav__item.is-promo > .tch-nav__link > .tch-ico--img:first-child { width: auto; height: 30px; padding: 0; border-radius: 0; background: none; }
@media (prefers-reduced-motion: reduce) {
	.tch-kid *, .tch-kid *::before, .tch-kid *::after { animation: none !important; transition: none !important; }
}
