@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/onest-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/onest-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/onest-latin.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: "Geologica";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geologica-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Geologica";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geologica-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Geologica";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geologica-latin.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;
}

:root {
  --tmk-ink: #17211b;
  --tmk-forest: #2f7455;
  --tmk-forest-dark: #225a42;
  --tmk-lime: #9fbe7d;
  --tmk-sand: #f2efe7;
  --tmk-paper: #fff;
  --tmk-muted: #66736b;
  --tmk-line: #dce2dd;
  --tmk-soft: #f6f8f6;
  --tmk-danger: #9b3f35;
  --tmk-radius-sm: 10px;
  --tmk-radius: 18px;
  --tmk-radius-lg: 28px;
  --tmk-shadow: 0 16px 45px rgb(23 33 27 / 10%);
  --tmk-container: 1240px;
  --tmk-font-body: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --tmk-font-display: "Geologica", "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

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

html {
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  color: var(--tmk-ink);
  background: var(--tmk-paper);
  font-family: var(--tmk-font-body);
  font-size: 16px;
  font-weight: 410;
  line-height: 1.68;
  letter-spacing: -0.009em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}

body.has-mobile-menu,
body.has-shop-filters {
  overflow: hidden;
}

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

a {
  color: var(--tmk-forest);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--tmk-forest-dark);
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
summary,
a {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid rgb(159 190 125 / 55%);
  outline-offset: 3px;
}

h1,
h2,
h3,
h4 {
  margin: 0 0 0.7em;
  font-family: var(--tmk-font-display);
  font-weight: 640;
  line-height: 1.11;
  letter-spacing: -0.029em;
}

h1 {
  font-size: clamp(1.95rem, 3.15vw, 3.15rem);
}

h2 {
  font-size: clamp(1.5rem, 2.05vw, 2.08rem);
}

h3 {
  font-size: clamp(1.15rem, 1.7vw, 1.4rem);
}

p {
  margin: 0 0 1.25rem;
}

ul,
ol {
  margin: 0 0 1.5rem;
}

.tmk-container {
  width: min(calc(100% - 40px), var(--tmk-container));
  margin-inline: auto;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  z-index: 100000;
  top: 8px;
  left: 8px;
  width: auto;
  height: auto;
  padding: 12px 16px;
  clip: auto;
  background: var(--tmk-paper);
  color: var(--tmk-ink);
  border-radius: 8px;
  box-shadow: var(--tmk-shadow);
}

.tmk-icon {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
}

.tmk-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wp-block-button__link {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0.8rem 1.25rem;
  border: 1px solid transparent;
  border-radius: var(--tmk-radius-sm);
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.tmk-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  transform: translateY(-2px);
}

.tmk-button--primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  color: var(--tmk-paper);
  background: var(--tmk-forest);
}

.tmk-button--primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  color: var(--tmk-paper);
  background: var(--tmk-forest-dark);
}

body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt {
  color: var(--tmk-paper) !important;
  background: var(--tmk-forest) !important;
}

body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce a.button.alt:hover,
body.woocommerce button.button.alt:hover {
  color: var(--tmk-paper) !important;
  background: var(--tmk-forest-dark) !important;
}

.tmk-button--ghost {
  border-color: var(--tmk-line);
  color: var(--tmk-ink);
  background: var(--tmk-paper);
}

.tmk-eyebrow {
  margin-bottom: 0.9rem;
  color: var(--tmk-forest);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Header */
.site-header {
  position: relative;
  z-index: 100;
  border-bottom: 1px solid var(--tmk-line);
  background: rgb(255 255 255 / 96%);
}

.tmk-topbar {
  color: #dfe9e2;
  background: var(--tmk-ink);
  font-size: 0.82rem;
}

.tmk-topbar__inner,
.tmk-topbar__links,
.tmk-header-main,
.tmk-header-actions,
.tmk-nav-row {
  display: flex;
  align-items: center;
}

.tmk-topbar__inner {
  min-height: 34px;
  justify-content: space-between;
  gap: 20px;
}

.tmk-topbar p {
  margin: 0;
}

.tmk-topbar__links {
  gap: 20px;
}

.tmk-topbar a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--tmk-paper);
  font-weight: 700;
  text-decoration: none;
}

.tmk-topbar .tmk-icon {
  width: 15px;
  height: 15px;
}

.tmk-header-main {
  min-height: 92px;
  gap: clamp(22px, 4vw, 56px);
}

.tmk-header-main__brand {
  min-width: 220px;
}

.tmk-brand,
.custom-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--tmk-ink);
  text-decoration: none;
}

.custom-logo {
  width: auto;
  max-width: 250px;
  max-height: 66px;
}

.tmk-brand__mark {
  display: grid;
  width: 48px;
  height: 48px;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 8px;
  border-radius: 13px;
  background: var(--tmk-forest);
  transform: skewX(-8deg);
}

.tmk-brand__mark span {
  border-radius: 2px;
  background: var(--tmk-lime);
}

.tmk-brand__mark span:nth-child(2) {
  opacity: 0.72;
}

.tmk-brand__mark span:nth-child(3) {
  opacity: 0.45;
}

.tmk-brand__copy {
  display: flex;
  flex-direction: column;
  line-height: 1.12;
}

.tmk-brand__copy strong {
  font-family: var(--tmk-font-display);
  font-size: 1.25rem;
  letter-spacing: -0.03em;
}

.tmk-brand__copy small {
  margin-top: 4px;
  color: var(--tmk-muted);
  font-size: 0.7rem;
}

.tmk-header-search {
  flex: 1;
  max-width: 590px;
}

.tmk-header-search form,
.tmk-empty-state form {
  position: relative;
  margin: 0;
}

.tmk-header-search input[type="search"],
.tmk-empty-state input[type="search"] {
  width: 100%;
  min-height: 50px;
  padding: 0 54px 0 18px;
  border: 1px solid var(--tmk-line);
  border-radius: 13px;
  color: var(--tmk-ink);
  background: var(--tmk-soft);
}

.tmk-header-search button,
.tmk-header-search input[type="submit"],
.tmk-empty-state input[type="submit"] {
  position: absolute;
  top: 5px;
  right: 5px;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 9px;
  color: var(--tmk-paper);
  background: var(--tmk-forest);
  cursor: pointer;
}

.tmk-header-actions {
  margin-left: auto;
  gap: 8px;
}

.tmk-header-messengers {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.tmk-header-messenger {
  --tmk-messenger-color: var(--tmk-ink);
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tmk-line);
  border-radius: 50%;
  color: var(--tmk-messenger-color);
  background: var(--tmk-paper);
  box-shadow: 0 7px 18px rgb(20 28 24 / 6%);
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.tmk-header-messenger--viber {
  --tmk-messenger-color: #7360f2;
}

.tmk-header-messenger--telegram {
  --tmk-messenger-color: #229ed9;
}

.tmk-header-messenger--whatsapp {
  --tmk-messenger-color: #1fa855;
}

.tmk-header-messenger .tmk-icon {
  width: 21px;
  height: 21px;
}

.tmk-header-messenger:hover,
.tmk-header-messenger:focus-visible {
  border-color: var(--tmk-messenger-color);
  color: #fff;
  background: var(--tmk-messenger-color);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--tmk-messenger-color) 28%, transparent);
  transform: translateY(-2px);
}

.tmk-header-messenger:focus-visible {
  outline: 2px solid var(--tmk-messenger-color);
  outline-offset: 3px;
}

.tmk-header-phone,
.tmk-cart,
.tmk-menu-toggle {
  position: relative;
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tmk-line);
  border-radius: 12px;
  color: var(--tmk-ink);
  background: var(--tmk-paper);
  cursor: pointer;
  text-decoration: none;
}

.tmk-cart-count {
  position: absolute;
  top: -6px;
  right: -6px;
  display: grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  padding-inline: 4px;
  border: 2px solid var(--tmk-paper);
  border-radius: 999px;
  color: var(--tmk-paper);
  background: var(--tmk-forest);
  font-size: 0.68rem;
  font-weight: 800;
}

.tmk-menu-toggle {
  display: none;
}

.tmk-nav-wrap {
  border-top: 1px solid var(--tmk-line);
}

.tmk-nav-row {
  min-height: 58px;
  gap: 28px;
}

.tmk-catalog-menu {
  position: relative;
  align-self: stretch;
  width: 240px;
}

.tmk-catalog-menu > summary {
  display: flex;
  height: 100%;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  border-radius: 10px 10px 0 0;
  color: var(--tmk-paper);
  background: var(--tmk-forest);
  font-weight: 780;
  cursor: pointer;
  list-style: none;
}

.tmk-catalog-menu > summary::-webkit-details-marker {
  display: none;
}

.tmk-catalog-menu__panel {
  position: absolute;
  z-index: 20;
  top: 100%;
  left: 0;
  display: none;
  width: min(360px, 90vw);
  padding: 12px;
  border: 1px solid var(--tmk-line);
  border-radius: 0 0 14px 14px;
  background: var(--tmk-paper);
  box-shadow: var(--tmk-shadow);
}

.tmk-catalog-menu[open] .tmk-catalog-menu__panel {
  display: block;
}

.tmk-catalog-menu ul,
.tmk-primary-nav ul,
.site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tmk-catalog-menu__panel a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--tmk-ink);
  font-weight: 650;
  text-decoration: none;
}

.tmk-catalog-menu__panel a:hover {
  background: var(--tmk-soft);
}

.tmk-primary-nav {
  flex: 1;
}

.tmk-primary-nav > ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(14px, 2.2vw, 30px);
}

.tmk-primary-nav > ul > li {
  position: relative;
}

.tmk-primary-nav a {
  display: block;
  padding-block: 17px;
  color: var(--tmk-ink);
  font-size: 0.93rem;
  font-weight: 720;
  text-decoration: none;
}

.tmk-primary-nav a:hover,
.tmk-primary-nav .current-menu-item > a {
  color: var(--tmk-forest);
}

.tmk-primary-nav .sub-menu {
  position: absolute;
  top: 100%;
  left: -16px;
  display: none;
  min-width: 240px;
  padding: 10px 16px;
  border: 1px solid var(--tmk-line);
  border-radius: 12px;
  background: var(--tmk-paper);
  box-shadow: var(--tmk-shadow);
}

.tmk-primary-nav li:hover > .sub-menu,
.tmk-primary-nav li:focus-within > .sub-menu {
  display: block;
}

.tmk-primary-nav .sub-menu a {
  padding: 9px 0;
}

/* Hero */
.tmk-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 7vw, 100px) 0;
  background: linear-gradient(145deg, #f7faf7 0%, #edf3ee 55%, #e2eadf 100%);
}

.tmk-hero::before {
  position: absolute;
  top: -100px;
  left: 44%;
  width: 580px;
  height: 580px;
  border: 90px solid rgb(47 116 85 / 5%);
  border-radius: 50%;
  content: "";
}

.tmk-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  align-items: center;
  gap: clamp(42px, 7vw, 100px);
}

.tmk-hero h1 {
  max-width: 850px;
  margin-bottom: 1.5rem;
  font-size: clamp(2.25rem, 3.7vw, 3.7rem);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.tmk-hero__lead {
  max-width: 680px;
  color: #465249;
  font-size: clamp(1.08rem, 2vw, 1.3rem);
  line-height: 1.58;
}

.tmk-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 2rem 0;
}

.tmk-hero__proofs,
.tmk-assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tmk-hero__proofs li,
.tmk-assurances li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #415048;
  font-size: 0.92rem;
  font-weight: 650;
}

.tmk-hero__proofs .tmk-icon,
.tmk-assurances .tmk-icon {
  width: 18px;
  height: 18px;
  color: var(--tmk-forest);
}

.tmk-hero__visual {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  border-radius: var(--tmk-radius-lg);
  background: #8d9182;
  box-shadow: var(--tmk-shadow);
}

.tmk-hero__texture {
  position: absolute;
  inset: 0;
  opacity: 0.88;
  background:
    linear-gradient(120deg, rgb(10 23 16 / 8%), rgb(10 23 16 / 65%)),
    repeating-linear-gradient(75deg, #7e7968 0 5px, #9c9785 5px 9px, #6d6d61 9px 13px, #aaa492 13px 17px);
  transform: scale(1.12) rotate(-5deg);
}

.tmk-hero__visual::before {
  position: absolute;
  z-index: 2;
  top: 40px;
  right: 36px;
  width: 210px;
  height: 210px;
  border: 22px solid rgb(255 255 255 / 17%);
  border-radius: 50%;
  content: "";
}

.tmk-hero__card {
  position: absolute;
  z-index: 3;
  right: 28px;
  bottom: 28px;
  left: 28px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 22px;
  border: 1px solid rgb(255 255 255 / 25%);
  border-radius: 16px;
  color: var(--tmk-paper);
  background: rgb(23 33 27 / 80%);
  backdrop-filter: blur(12px);
}

.tmk-hero__card span {
  color: #dfe8e1;
  font-size: 0.85rem;
}

.tmk-hero__card strong {
  font-size: 1.15rem;
}

/* Sections */
.tmk-section {
  padding: clamp(64px, 8vw, 108px) 0;
}

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

.tmk-section-heading h2 {
  margin-bottom: 0;
}

.tmk-section-heading > a,
.tmk-text-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--tmk-forest);
  font-weight: 750;
  text-decoration: none;
}

.tmk-section-heading > a .tmk-icon,
.tmk-text-link .tmk-icon {
  width: 18px;
  height: 18px;
}

.tmk-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tmk-category-card {
  position: relative;
  min-height: 315px;
  overflow: hidden;
  border-radius: var(--tmk-radius);
  color: var(--tmk-paper);
  background: var(--tmk-ink);
  text-decoration: none;
}

.tmk-category-card__media,
.tmk-category-card__media::after {
  position: absolute;
  inset: 0;
}

.tmk-category-card__media::after {
  background: linear-gradient(to top, rgb(15 25 19 / 88%) 0%, rgb(15 25 19 / 8%) 72%);
  content: "";
}

.tmk-category-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease;
}

.tmk-category-card:hover .tmk-category-card__media img {
  transform: scale(1.045);
}

.tmk-category-card__body {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 22px;
  left: 22px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 2px 14px;
}

.tmk-category-card__body strong {
  font-family: var(--tmk-font-display);
  font-size: 1.35rem;
  line-height: 1.2;
}

.tmk-category-card__body small {
  grid-row: 2;
  color: #d7e0da;
}

.tmk-category-card__body .tmk-icon {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.tmk-products-section {
  background: var(--tmk-soft);
}

.tmk-products-section .woocommerce ul.products {
  display: grid !important;
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.tmk-products-section .woocommerce ul.products li.product {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  justify-self: stretch;
}

.tmk-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding: 0;
  list-style: none;
  counter-reset: process;
}

.tmk-process li {
  min-height: 275px;
  padding: 26px;
  border: 1px solid var(--tmk-line);
  border-radius: var(--tmk-radius);
  background: var(--tmk-paper);
}

.tmk-process li > span {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  margin-bottom: 62px;
  border-radius: 50%;
  color: var(--tmk-forest);
  background: #e6efdf;
  font-size: 0.78rem;
  font-weight: 850;
}

.tmk-process h3 {
  margin-bottom: 0.6rem;
}

.tmk-process p {
  margin: 0;
  color: var(--tmk-muted);
  font-size: 0.94rem;
}

.tmk-consultation {
  color: var(--tmk-paper);
  background: var(--tmk-ink);
}

.tmk-consultation__grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: center;
  gap: clamp(38px, 8vw, 120px);
}

.tmk-consultation h2 {
  max-width: 620px;
}

.tmk-consultation p:not(.tmk-eyebrow) {
  max-width: 590px;
  color: #bdc9c1;
}

.tmk-consultation__form {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: var(--tmk-radius);
  background: rgb(255 255 255 / 7%);
}

.tmk-consultation__form label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.85rem;
  font-weight: 700;
}

.tmk-consultation__form input:not([type="submit"]),
.tmk-consultation__form textarea,
.tmk-consultation__form select {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 10px;
  color: var(--tmk-paper);
  background: rgb(255 255 255 / 8%);
}

.tmk-consultation__form textarea {
  min-height: 110px;
  resize: vertical;
}

.tmk-consultation .tmk-request-form__consent span,
.tmk-consultation .tmk-request-form__note {
  color: #bdc9c1;
}

.tmk-home-content {
  padding-top: 72px;
}

.tmk-prose {
  max-width: 860px;
}

.tmk-prose > * + * {
  margin-top: 1.25em;
}

.tmk-prose h2,
.tmk-prose h3 {
  margin-top: 1.7em;
}

.tmk-prose a {
  font-weight: 650;
}

.tmk-prose img {
  border-radius: var(--tmk-radius-sm);
}

/* Commerce */
.tmk-commerce,
.tmk-page-shell {
  padding: 34px 0 90px;
}

.tmk-breadcrumbs,
.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 30px;
  color: var(--tmk-muted);
  font-size: 0.82rem;
}

.tmk-breadcrumbs a,
.woocommerce .woocommerce-breadcrumb a {
  color: var(--tmk-muted);
  text-decoration: none;
}

.tmk-shop-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  align-items: start;
  gap: 34px;
}

.tmk-shop-layout--wide {
  display: block;
}

.tmk-shop-content {
  min-width: 0;
}

.woocommerce-products-header {
  position: relative;
  padding: clamp(24px, 4vw, 42px);
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid #dfe9e1;
  border-radius: var(--tmk-radius);
  background:
    radial-gradient(circle at 94% 12%, rgb(143 182 139 / 24%), transparent 32%),
    linear-gradient(135deg, #f8fbf7, #eef4ed);
}

.woocommerce-products-header__title.page-title {
  max-width: 850px;
  margin: 0;
  font-size: clamp(1.9rem, 2.65vw, 2.65rem);
  line-height: 1.06;
}

.woocommerce-products-header .term-description {
  max-width: 820px;
  margin-top: 20px;
  color: #4d5c52;
  font-size: 0.98rem;
  line-height: 1.7;
}

.woocommerce-products-header .term-description p {
  margin: 0;
}

.woocommerce-products-header .term-description p + p {
  margin-top: 11px;
}

.tmk-shop-sidebar {
  position: sticky;
  top: 20px;
  padding: 22px;
  border: 1px solid var(--tmk-line);
  border-radius: var(--tmk-radius);
  background: var(--tmk-paper);
}

.tmk-shop-sidebar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.tmk-shop-sidebar__head strong {
  font-family: var(--tmk-font-display);
  font-size: 1.15rem;
}

.tmk-filter-close {
  display: none;
  border: 0;
  color: var(--tmk-ink);
  background: transparent;
  font-size: 2rem;
  cursor: pointer;
}

.tmk-shop-sidebar .widget + .widget {
  padding-top: 22px;
  margin-top: 22px;
  border-top: 1px solid var(--tmk-line);
}

.tmk-shop-sidebar .widget-title {
  margin-bottom: 14px;
  font-size: 1rem;
}

.tmk-shop-sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tmk-shop-sidebar li + li {
  margin-top: 8px;
}

.tmk-shop-sidebar a {
  color: var(--tmk-ink);
  font-size: 0.9rem;
  text-decoration: none;
}

.tmk-catalog-search .woocommerce-product-search {
  display: grid;
  gap: 8px;
}

.tmk-catalog-search .search-field {
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--tmk-line);
  border-radius: 9px;
}

.tmk-catalog-search button {
  min-height: 42px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: var(--tmk-forest);
  font-weight: 750;
  cursor: pointer;
}

.tmk-category-filter li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 9px;
  border-radius: 8px;
}

.tmk-category-filter li.is-current a,
.tmk-category-filter li a:hover {
  color: var(--tmk-forest-dark);
  background: #edf4ee;
}

.tmk-category-filter small {
  color: var(--tmk-muted);
  font-size: 0.74rem;
}

.tmk-filter-help {
  padding: 17px;
  border-radius: 12px;
  background: #edf4ee;
}

.tmk-filter-help p {
  margin-bottom: 14px;
  color: #4d5c52;
  font-size: 0.84rem;
  line-height: 1.55;
}

.tmk-filter-help .tmk-button {
  width: 100%;
  min-height: 42px;
  font-size: 0.82rem;
}

.tmk-filter-toggle {
  display: none;
  min-height: 43px;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--tmk-line);
  border-radius: 9px;
  color: var(--tmk-ink);
  background: var(--tmk-paper);
  font-weight: 720;
  cursor: pointer;
}

.tmk-filter-backdrop {
  display: none;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 28px;
}

.woocommerce .woocommerce-result-count {
  color: var(--tmk-muted);
  font-size: 0.9rem;
}

.woocommerce .woocommerce-ordering select {
  min-height: 43px;
  padding: 7px 36px 7px 12px;
  border: 1px solid var(--tmk-line);
  border-radius: 9px;
  color: var(--tmk-ink);
  background: var(--tmk-paper);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  position: relative;
  display: flex;
  width: auto;
  min-width: 0;
  flex-direction: column;
  float: none;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--tmk-line);
  border-radius: var(--tmk-radius);
  background: var(--tmk-paper);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

/* WooCommerce can load its percentage column widths after the theme.
 * Make each card fill its CSS-grid track instead of occupying 30.75% of it. */
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  --tmk-catalog-columns: 3;
  display: grid !important;
  width: 100%;
  grid-template-columns: repeat(var(--tmk-catalog-columns), minmax(0, 1fr)) !important;
  gap: 22px !important;
}

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  justify-self: stretch;
}

.woocommerce ul.products li.product:hover {
  border-color: #bdcbbf;
  box-shadow: 0 16px 38px rgb(23 33 27 / 9%);
  transform: translateY(-3px);
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex: 1;
  flex-direction: column;
  color: var(--tmk-ink);
  text-decoration: none;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 1 / 0.88;
  margin: 0;
  object-fit: cover;
  background: var(--tmk-soft);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .tmk-product-status,
.woocommerce ul.products li.product .star-rating {
  margin-right: 18px;
  margin-left: 18px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0;
  margin-top: 10px;
  margin-bottom: 9px;
  color: var(--tmk-ink);
  font-size: 1.02rem;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.tmk-product-status {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 16px;
  color: var(--tmk-forest);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tmk-product-status--order {
  color: #976c1d;
}

.woocommerce ul.products li.product .price {
  margin-top: auto;
  margin-bottom: 15px;
  color: var(--tmk-ink);
  font-size: 1.08rem;
  font-weight: 800;
}

.woocommerce ul.products li.product .price del {
  color: var(--tmk-muted);
  font-size: 0.85rem;
}

.woocommerce ul.products li.product .button {
  min-height: 44px;
  margin: 0 18px 18px;
}

.woocommerce span.onsale {
  top: 14px;
  right: auto;
  left: 14px;
  min-width: 0;
  min-height: 0;
  padding: 7px 10px;
  border-radius: 8px;
  background: var(--tmk-forest);
  font-size: 0.72rem;
  line-height: 1;
}

.woocommerce nav.woocommerce-pagination {
  margin-top: 42px;
}

.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin: 0;
  border: 0;
}

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

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: grid;
  min-width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--tmk-line);
  border-radius: 9px;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  color: var(--tmk-paper);
  background: var(--tmk-forest);
}

.woocommerce div.product {
  margin-top: 20px;
}

.woocommerce div.product div.images img {
  border-radius: var(--tmk-radius);
  background: var(--tmk-soft);
}

.woocommerce div.product .product_title {
  font-size: clamp(1.8rem, 2.4vw, 2.5rem);
  line-height: 1.08;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--tmk-ink);
  font-size: 1.55rem;
  font-weight: 820;
}

.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart input.qty {
  min-height: 48px;
  border: 1px solid var(--tmk-line);
  border-radius: 9px;
}

.tmk-assurances {
  display: grid;
  gap: 10px;
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid var(--tmk-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin-top: 64px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-color: var(--tmk-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 0;
  background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce table.shop_table {
  border-color: var(--tmk-line);
  border-radius: var(--tmk-radius);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--tmk-line);
  border-radius: 9px;
}

/* Blog and generic pages */
.tmk-post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.tmk-post-card {
  overflow: hidden;
  border: 1px solid var(--tmk-line);
  border-radius: var(--tmk-radius);
  background: var(--tmk-paper);
}

.tmk-post-card__media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--tmk-soft);
}

.tmk-post-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tmk-post-card__body {
  padding: 24px;
}

.tmk-post-card__meta,
.tmk-entry-meta {
  color: var(--tmk-muted);
  font-size: 0.78rem;
}

.tmk-post-card h2 {
  font-size: 1.35rem;
}

.tmk-post-card h2 a {
  color: var(--tmk-ink);
  text-decoration: none;
}

.tmk-entry-header {
  margin-bottom: 32px;
}

.tmk-entry-header h1 {
  font-size: clamp(1.85rem, 2.75vw, 2.7rem);
}

.tmk-entry-image {
  margin-bottom: 38px;
}

.tmk-article-width {
  max-width: 960px;
}

.tmk-empty-state {
  display: grid;
  min-height: 55vh;
  place-items: center;
  padding: 80px 0;
  text-align: center;
}

.tmk-empty-state .tmk-container {
  max-width: 700px;
}

.tmk-empty-state form {
  max-width: 520px;
  margin: 28px auto;
}

/* Footer */
.site-footer {
  color: #dbe5de;
  background: #111a15;
}

.tmk-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(260px, 1.25fr);
  gap: clamp(28px, 5vw, 74px);
  padding-top: 70px;
  padding-bottom: 62px;
}

.site-footer .tmk-brand,
.site-footer .tmk-brand__copy strong {
  color: var(--tmk-paper);
}

.site-footer .tmk-brand__copy small {
  color: #aab8ae;
}

.tmk-footer-brand > p {
  max-width: 330px;
  margin-top: 22px;
  color: #aab8ae;
  font-size: 0.9rem;
}

.site-footer h2 {
  margin-bottom: 18px;
  color: var(--tmk-paper);
  font-size: 1rem;
  letter-spacing: 0;
}

.site-footer li + li {
  margin-top: 8px;
}

.site-footer a {
  color: #c6d1c9;
  font-size: 0.9rem;
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--tmk-paper);
}

.tmk-footer-contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.tmk-footer-contacts > a:first-of-type {
  color: var(--tmk-paper);
  font-size: 1.25rem;
  font-weight: 780;
}

.tmk-footer-contacts p {
  margin-top: 18px;
  color: #aab8ae;
  font-size: 0.83rem;
}

.tmk-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.site-footer .tmk-footer-social__link {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  padding: 8px 14px 8px 10px;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 999px;
  color: #eef3ef;
  background: rgb(255 255 255 / 5%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.tmk-footer-social__link svg {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.tmk-footer-social__link svg path,
.tmk-footer-social__link .tmk-footer-social__dot {
  fill: currentColor;
  stroke: none;
}

.site-footer .tmk-footer-social__link:hover,
.site-footer .tmk-footer-social__link:focus-visible {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(100deg, #69c522 0%, #568f3c 100%);
  box-shadow: 0 10px 24px rgb(79 145 50 / 25%);
  transform: translateY(-2px);
}

.site-footer .tmk-footer-social__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.tmk-footer-bottom {
  border-top: 1px solid rgb(255 255 255 / 9%);
}

.tmk-footer-bottom .tmk-container {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.tmk-footer-bottom p {
  margin: 0;
  color: #89988e;
  font-size: 0.78rem;
}

.tmk-mobile-cta {
  display: none;
}

@media (max-width: 1100px) {

  body.woocommerce ul.products,
  body.woocommerce-page ul.products {
    --tmk-catalog-columns: 2;
  }

  .tmk-header-main__brand {
    min-width: auto;
  }

  .tmk-primary-nav > ul {
    gap: 16px;
  }

  .tmk-primary-nav a {
    font-size: 0.86rem;
  }

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

  .tmk-process li {
    min-height: 230px;
  }

  .tmk-process li > span {
    margin-bottom: 36px;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tmk-products-section .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 960px) {
  .tmk-topbar p,
  .tmk-languages,
  .tmk-header-phone {
    display: none;
  }

  .tmk-topbar__inner {
    justify-content: flex-end;
  }

  .tmk-header-main {
    min-height: 76px;
  }

  .tmk-header-messengers {
    gap: 5px;
  }

  .tmk-header-messenger {
    width: 36px;
    height: 36px;
  }

  .tmk-header-messenger .tmk-icon {
    width: 18px;
    height: 18px;
  }

  .tmk-header-search {
    position: absolute;
    top: 110px;
    right: 20px;
    left: 20px;
    max-width: none;
  }

  .tmk-nav-wrap {
    padding-top: 66px;
  }

  .tmk-nav-row {
    position: relative;
  }

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

  .tmk-primary-nav {
    position: fixed;
    z-index: 80;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(86vw, 390px);
    padding: 90px 26px 32px;
    overflow-y: auto;
    background: var(--tmk-paper);
    box-shadow: -20px 0 60px rgb(23 33 27 / 18%);
    transform: translateX(105%);
    transition: transform 240ms ease;
  }

  .tmk-primary-nav.is-open {
    transform: translateX(0);
  }

  .tmk-primary-nav > ul {
    display: block;
  }

  .tmk-primary-nav a {
    padding: 13px 0;
    border-bottom: 1px solid var(--tmk-line);
    font-size: 1rem;
  }

  .tmk-primary-nav .sub-menu {
    position: static;
    display: block;
    padding: 0 0 0 16px;
    border: 0;
    box-shadow: none;
  }

  .tmk-catalog-menu {
    width: 230px;
  }

  .tmk-hero__grid {
    grid-template-columns: 1fr;
  }

  .tmk-hero__content {
    max-width: 780px;
  }

  .tmk-hero__visual {
    min-height: 440px;
  }

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

  .tmk-consultation__grid {
    grid-template-columns: 1fr;
  }

  .tmk-shop-layout {
    display: block;
  }

  .tmk-shop-sidebar {
    position: fixed;
    z-index: 1001;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(88vw, 390px);
    padding: 24px;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    box-shadow: 20px 0 60px rgb(23 33 27 / 20%);
    transform: translateX(-105%);
    transition: transform 240ms ease;
  }

  .tmk-shop-sidebar.is-open {
    transform: translateX(0);
  }

  .tmk-filter-close,
  .tmk-filter-toggle {
    display: inline-flex;
  }

  .tmk-filter-backdrop {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: block;
    border: 0;
    background: rgb(12 21 15 / 58%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 200ms ease;
  }

  .has-shop-filters .tmk-filter-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

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

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

@media (max-width: 640px) {
  .tmk-header-messenger {
    width: 34px;
    height: 34px;
  }

  .tmk-header-messenger .tmk-icon {
    width: 17px;
    height: 17px;
  }


  body.woocommerce ul.products,
  body.woocommerce-page ul.products {
    --tmk-catalog-columns: 1;
  }

  .tmk-container {
    width: min(calc(100% - 28px), var(--tmk-container));
  }

  .woocommerce-products-header {
    padding: 24px;
  }

  .woocommerce-products-header__title.page-title {
    font-size: clamp(1.8rem, 7.8vw, 2.1rem);
  }

  .woocommerce-products-header .term-description {
    margin-top: 16px;
    font-size: 0.94rem;
    line-height: 1.64;
  }

  .woocommerce nav.woocommerce-pagination {
    width: 100%;
    overflow: hidden;
  }

  .woocommerce nav.woocommerce-pagination ul {
    display: flex;
    width: 100%;
  }

  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span {
    min-width: 38px;
    height: 38px;
  }

  h1 {
    font-size: clamp(1.8rem, 7.7vw, 2.25rem);
  }

  h2 {
    font-size: clamp(1.4rem, 6vw, 1.85rem);
  }

  .tmk-hero h1 {
    font-size: clamp(2rem, 8vw, 2.3rem);
  }

  .tmk-topbar__inner {
    min-height: 32px;
  }

  .tmk-topbar__links {
    width: 100%;
    justify-content: center;
  }

  .tmk-header-main {
    min-height: 72px;
    gap: 10px;
  }

  .tmk-brand {
    gap: 8px;
  }

  .tmk-brand__mark {
    width: 40px;
    height: 40px;
    padding: 7px;
  }

  .tmk-brand__copy strong {
    font-size: 1rem;
  }

  .tmk-brand__copy small {
    display: none;
  }

  .custom-logo {
    max-width: 175px;
    max-height: 48px;
  }

  .tmk-header-actions {
    gap: 5px;
  }

  .tmk-cart,
  .tmk-menu-toggle {
    width: 42px;
    height: 42px;
  }

  .tmk-header-search {
    top: 104px;
    right: 14px;
    left: 14px;
  }

  .tmk-nav-wrap {
    padding-top: 64px;
  }

  .tmk-nav-row {
    min-height: 54px;
  }

  .tmk-catalog-menu {
    width: 100%;
  }

  .tmk-catalog-menu > summary {
    border-radius: 9px;
  }

  .tmk-hero {
    padding: 50px 0;
  }

  .tmk-hero__lead {
    font-size: 1.03rem;
  }

  .tmk-hero__actions {
    display: grid;
  }

  .tmk-hero__proofs {
    display: grid;
    gap: 9px;
  }

  .tmk-hero__visual {
    display: none;
  }

  .tmk-hero__card {
    right: 16px;
    bottom: 16px;
    left: 16px;
    padding: 17px;
  }

  .tmk-section {
    padding: 58px 0;
  }

  .tmk-section-heading {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 28px;
  }

  .tmk-category-grid,
  .tmk-process,
  .tmk-post-grid {
    grid-template-columns: 1fr;
  }

  .tmk-category-card {
    min-height: 265px;
  }

  .tmk-process li {
    display: grid;
    min-height: 0;
    grid-template-columns: 48px 1fr;
    gap: 17px;
    padding: 20px;
  }

  .tmk-process li > span {
    margin: 0;
  }

  .woocommerce ul.products {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .tmk-products-section .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    border-radius: 14px;
  }

  .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 132px minmax(0, 1fr);
    align-items: start;
  }

  .woocommerce ul.products li.product a img {
    grid-row: 1 / span 5;
    width: 132px;
    height: 100%;
    min-height: 180px;
    aspect-ratio: auto;
  }

  .woocommerce ul.products li.product .tmk-product-status,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .star-rating {
    grid-column: 2;
    margin-right: 14px;
    margin-left: 14px;
  }

  .woocommerce ul.products li.product .tmk-product-status {
    margin-top: 14px;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin-top: 7px;
    font-size: 0.95rem;
  }

  .woocommerce ul.products li.product .price {
    margin-top: 0;
    margin-bottom: 10px;
  }

  .woocommerce ul.products li.product .button {
    grid-column: 2;
    min-height: 40px;
    margin: 0 14px 14px;
    font-size: 0.83rem;
  }

  .woocommerce .woocommerce-result-count {
    display: none;
  }

  .woocommerce .woocommerce-ordering {
    float: right;
    max-width: calc(100% - 118px);
  }

  .woocommerce .woocommerce-ordering select {
    width: 100%;
    max-width: 220px;
    font-size: 0.84rem;
  }

  .tmk-footer-grid {
    grid-template-columns: 1fr;
    padding-top: 52px;
    padding-bottom: 100px;
  }

  .tmk-footer-bottom .tmk-container {
    min-height: 88px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
  }

  .tmk-mobile-cta {
    position: fixed;
    z-index: 900;
    right: 10px;
    bottom: 10px;
    left: 10px;
    display: grid;
    grid-template-columns: 0.72fr 1.28fr;
    gap: 6px;
    padding: 6px;
    border: 1px solid rgb(255 255 255 / 65%);
    border-radius: 15px;
    background: rgb(255 255 255 / 92%);
    box-shadow: 0 12px 44px rgb(23 33 27 / 20%);
    backdrop-filter: blur(12px);
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 24px));
    transition: opacity 180ms ease, transform 220ms ease;
  }

  .tmk-mobile-cta.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .tmk-mobile-cta a {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 10px;
    color: var(--tmk-ink);
    font-size: 0.78rem;
    font-weight: 780;
    text-align: center;
    text-decoration: none;
  }

  .tmk-mobile-cta .tmk-icon {
    width: 18px;
    height: 18px;
  }

  .tmk-mobile-cta__primary {
    color: var(--tmk-paper) !important;
    background: var(--tmk-forest);
  }
}

/* Contact page — 0.5.4 */
.tmk-contact-page {
  padding: 30px 0 90px;
  background:
    radial-gradient(circle at 4% 13%, rgb(105 197 34 / 7%), transparent 25rem),
    radial-gradient(circle at 95% 45%, rgb(197 157 91 / 8%), transparent 27rem),
    linear-gradient(180deg, #fafaf7 0%, #fff 44%, #f7f6f1 100%);
}

.tmk-contact-page .tmk-breadcrumbs {
  margin-bottom: 22px;
}

.tmk-contact-hero {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: clamp(30px, 6vw, 78px);
  align-items: center;
  padding: clamp(34px, 6vw, 76px);
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 10%, rgb(105 197 34 / 20%), transparent 19rem),
    radial-gradient(circle at 4% 100%, rgb(255 255 255 / 7%), transparent 25rem),
    linear-gradient(125deg, #0d1110 0%, #171d1a 56%, #202820 100%);
  box-shadow: 0 28px 76px rgb(15 23 18 / 18%);
}

.tmk-contact-hero::after {
  position: absolute;
  right: -90px;
  bottom: -130px;
  width: 330px;
  height: 330px;
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgb(255 255 255 / 2%), 0 0 0 76px rgb(255 255 255 / 2%);
  content: "";
  pointer-events: none;
}

.tmk-contact-hero__content,
.tmk-contact-hero__aside {
  position: relative;
  z-index: 1;
}

.tmk-contact-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  color: #8fd34f;
  font-size: 0.78rem;
  font-weight: 780;
  letter-spacing: 0.105em;
  text-transform: uppercase;
}

.tmk-contact-eyebrow::before {
  width: 26px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  content: "";
}

.tmk-contact-hero h1 {
  max-width: 760px;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(2.15rem, 4.8vw, 4.7rem);
  font-weight: 640;
  letter-spacing: -0.045em;
}

.tmk-contact-hero__lead {
  max-width: 760px;
  margin-bottom: 30px;
  color: #c7d0ca;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.7;
}

.tmk-contact-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.tmk-contact-button--accent {
  color: #102016;
  background: linear-gradient(100deg, #75d317 0%, #a0dc56 100%);
  box-shadow: 0 14px 32px rgb(105 197 34 / 22%);
}

.tmk-contact-button--accent:hover {
  color: #0c160f;
  background: linear-gradient(100deg, #83e222 0%, #afe767 100%);
}

.tmk-contact-button--ghost {
  border-color: rgb(255 255 255 / 18%);
  color: #fff;
  background: rgb(255 255 255 / 6%);
}

.tmk-contact-button--ghost:hover {
  border-color: rgb(255 255 255 / 32%);
  color: #fff;
  background: rgb(255 255 255 / 11%);
}

.tmk-contact-hero__aside {
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 22px;
  background: rgb(255 255 255 / 7%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
  backdrop-filter: blur(12px);
}

.tmk-contact-status {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 26px;
  color: #eff5f0;
  font-size: 0.82rem;
  font-weight: 700;
}

.tmk-contact-status > span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #75d317;
  box-shadow: 0 0 0 5px rgb(117 211 23 / 14%);
}

.tmk-contact-hero__aside > p {
  margin-bottom: 13px;
  color: #aebbb2;
  font-size: 0.82rem;
}

.tmk-contact-hero__aside > small {
  display: block;
  margin-top: 20px;
  color: #8e9b92;
  font-size: 0.73rem;
}

.tmk-contact-messengers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.tmk-contact-messengers a {
  display: flex;
  min-width: 0;
  min-height: 78px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgb(255 255 255 / 11%);
  border-radius: 14px;
  color: #fff;
  background: rgb(255 255 255 / 5%);
  font-size: 0.73rem;
  font-weight: 650;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tmk-contact-messengers a:hover {
  border-color: rgb(117 211 23 / 42%);
  color: #fff;
  background: rgb(117 211 23 / 12%);
  transform: translateY(-2px);
}

.tmk-contact-messengers .tmk-icon {
  width: 25px;
  height: 25px;
}

.tmk-contact-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  margin-top: 22px;
}

.tmk-contact-card {
  grid-column: span 6;
  min-width: 0;
  padding: clamp(24px, 3.4vw, 40px);
  border: 1px solid #e0e5df;
  border-radius: 24px;
  background: rgb(255 255 255 / 90%);
  box-shadow: 0 16px 46px rgb(20 31 24 / 7%);
}

.tmk-contact-card__icon {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 27px;
  place-items: center;
  border: 1px solid rgb(68 123 51 / 13%);
  border-radius: 16px;
  color: #477b35;
  background: linear-gradient(145deg, #eff8e9, #fff);
  box-shadow: 0 9px 24px rgb(53 100 38 / 9%);
}

.tmk-contact-card__icon .tmk-icon {
  width: 24px;
  height: 24px;
}

.tmk-contact-card__label {
  margin-bottom: 10px;
  color: #758178;
  font-size: 0.75rem;
  font-weight: 760;
  letter-spacing: 0.085em;
  text-transform: uppercase;
}

.tmk-contact-card h2 {
  margin-bottom: 14px;
  color: #151d18;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  overflow-wrap: anywhere;
}

.tmk-contact-card h2 a {
  color: inherit;
  text-decoration: none;
}

.tmk-contact-card h2 a:hover {
  color: #4e833b;
}

.tmk-contact-card > p:not(.tmk-contact-card__label) {
  max-width: 640px;
  margin-bottom: 22px;
  color: #637068;
}

.tmk-contact-card__meta,
.tmk-contact-location__footer {
  display: flex;
  align-items: center;
  gap: 9px;
}

.tmk-contact-card__meta {
  color: #315a3f;
}

.tmk-contact-card__meta .tmk-icon {
  width: 19px;
  height: 19px;
}

.tmk-contact-card__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #386b4e;
  font-weight: 720;
  text-decoration: none;
}

.tmk-contact-card__link .tmk-icon {
  width: 18px;
  height: 18px;
  transition: transform 180ms ease;
}

.tmk-contact-card__link:hover .tmk-icon {
  transform: translateX(3px);
}

.tmk-contact-card--location {
  grid-column: span 7;
  background:
    radial-gradient(circle at 100% 0, rgb(197 157 91 / 10%), transparent 17rem),
    #fff;
}

.tmk-contact-card--sites {
  grid-column: span 5;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgb(117 211 23 / 15%), transparent 16rem),
    linear-gradient(145deg, #161c19, #202821);
}

.tmk-contact-card--sites .tmk-contact-card__icon {
  border-color: rgb(255 255 255 / 10%);
  color: #8bd847;
  background: rgb(255 255 255 / 7%);
}

.tmk-contact-card--sites .tmk-contact-card__label {
  color: #92a198;
}

.tmk-contact-card--sites h2 {
  color: #fff;
}

.tmk-contact-location__footer {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 18px;
  padding-top: 22px;
  border-top: 1px solid #e4e8e3;
}

.tmk-contact-location__footer > div {
  display: grid;
  gap: 3px;
}

.tmk-contact-location__footer small {
  color: #7a867e;
  font-size: 0.72rem;
}

.tmk-contact-location__footer .tmk-button {
  min-height: 46px;
  padding-inline: 18px;
}

.tmk-contact-location__footer .tmk-icon {
  width: 17px;
  height: 17px;
}

.tmk-contact-sites {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.tmk-contact-sites a {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 16px;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 14px;
  color: #fff;
  background: rgb(255 255 255 / 5%);
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tmk-contact-sites a:hover {
  border-color: rgb(117 211 23 / 35%);
  color: #fff;
  background: rgb(255 255 255 / 9%);
  transform: translateY(-2px);
}

.tmk-contact-sites span {
  display: grid;
  min-width: 0;
}

.tmk-contact-sites small {
  color: #929f97;
  font-size: 0.7rem;
}

.tmk-contact-sites strong {
  overflow: hidden;
  font-size: 0.93rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tmk-contact-sites .tmk-icon {
  width: 18px;
  height: 18px;
  color: #8bd847;
}

.tmk-contact-form {
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  margin-top: 22px;
  border: 1px solid #dfe4de;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 20px 58px rgb(20 31 24 / 8%);
}

.tmk-contact-form__intro {
  padding: clamp(30px, 4vw, 50px);
  color: #fff;
  background:
    radial-gradient(circle at 20% 100%, rgb(117 211 23 / 16%), transparent 18rem),
    linear-gradient(145deg, #121714, #202821);
}

.tmk-contact-form__intro h2 {
  color: #fff;
  font-size: clamp(1.65rem, 2.6vw, 2.45rem);
}

.tmk-contact-form__intro > p:not(.tmk-contact-eyebrow) {
  color: #b4c0b8;
}

.tmk-contact-form__intro ul {
  display: grid;
  gap: 12px;
  padding: 24px 0 0;
  margin: 0;
  border-top: 1px solid rgb(255 255 255 / 10%);
  list-style: none;
}

.tmk-contact-form__intro li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #dbe5de;
  font-size: 0.87rem;
}

.tmk-contact-form__intro li .tmk-icon {
  width: 18px;
  height: 18px;
  color: #83d33f;
}

.tmk-contact-form__body {
  padding: clamp(28px, 4.5vw, 54px);
}

.tmk-contact-form__body .tmk-request-form {
  height: 100%;
  align-content: center;
}

.tmk-contact-form__body .tmk-request-form input:not([type="checkbox"]):not([type="hidden"]),
.tmk-contact-form__body .tmk-request-form textarea,
.tmk-contact-form__body .tmk-request-form select {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #cfd8d1;
  border-radius: 10px;
  color: var(--tmk-ink);
  background: #fff;
  box-shadow: inset 0 1px 2px rgb(22 34 26 / 3%);
}

.tmk-contact-form__body .tmk-request-form textarea {
  min-height: 112px;
  resize: vertical;
}

.tmk-contact-form__body .tmk-request-form > .button[type="submit"] {
  justify-self: center;
  width: min(100%, 360px);
  min-height: 50px;
  padding: 12px 28px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(100deg, #69c522 0%, #568f3c 100%);
  box-shadow: 0 12px 28px rgb(79 145 50 / 20%);
  font-weight: 760;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.tmk-contact-form__body .tmk-request-form > .button[type="submit"]:hover {
  box-shadow: 0 15px 32px rgb(79 145 50 / 25%);
  filter: brightness(1.05);
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .tmk-contact-hero {
    grid-template-columns: 1fr;
  }

  .tmk-contact-card,
  .tmk-contact-card--location,
  .tmk-contact-card--sites {
    grid-column: 1 / -1;
  }

  .tmk-contact-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .tmk-contact-page {
    padding: 18px 0 58px;
  }

  .tmk-contact-page > .tmk-container {
    width: min(calc(100% - 28px), var(--tmk-container));
  }

  .tmk-contact-hero {
    gap: 26px;
    padding: 28px 20px 22px;
    border-radius: 22px;
  }

  .tmk-contact-hero h1 {
    font-size: clamp(2rem, 11vw, 3rem);
  }

  .tmk-contact-hero__actions {
    display: grid;
  }

  .tmk-contact-hero__actions .tmk-button {
    width: 100%;
  }

  .tmk-contact-hero__aside {
    padding: 20px 16px;
  }

  .tmk-contact-messengers {
    gap: 6px;
  }

  .tmk-contact-messengers a {
    min-height: 70px;
  }

  .tmk-contact-grid {
    gap: 14px;
    margin-top: 14px;
  }

  .tmk-contact-card {
    padding: 25px 20px;
    border-radius: 19px;
  }

  .tmk-contact-card__icon {
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    border-radius: 14px;
  }

  .tmk-contact-location__footer {
    align-items: stretch;
  }

  .tmk-contact-location__footer .tmk-button {
    width: 100%;
  }

  .tmk-contact-form {
    margin-top: 14px;
    border-radius: 20px;
  }

  .tmk-contact-form__intro,
  .tmk-contact-form__body {
    padding: 26px 20px;
  }
}

/* Delivery and payment page — 0.5.6 */
.tmk-delivery-page {
  padding: 30px 0 90px;
  background:
    radial-gradient(circle at 95% 12%, rgb(197 157 91 / 9%), transparent 27rem),
    radial-gradient(circle at 3% 62%, rgb(105 197 34 / 6%), transparent 25rem),
    linear-gradient(180deg, #fafaf7 0%, #fff 43%, #f6f5f0 100%);
}

.tmk-delivery-page .tmk-breadcrumbs {
  margin-bottom: 22px;
}

.tmk-delivery-hero {
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
  gap: clamp(30px, 5vw, 64px);
  align-items: center;
  padding: clamp(34px, 5.7vw, 70px);
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 83% 0, rgb(105 197 34 / 17%), transparent 20rem),
    radial-gradient(circle at 8% 100%, rgb(255 255 255 / 6%), transparent 24rem),
    linear-gradient(125deg, #0c100f 0%, #171d1a 55%, #222a23 100%);
  box-shadow: 0 28px 76px rgb(15 23 18 / 18%);
}

.tmk-delivery-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  color: #82d33f;
  font-size: 0.76rem;
  font-weight: 780;
  letter-spacing: 0.105em;
  text-transform: uppercase;
}

.tmk-delivery-eyebrow::before {
  width: 25px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  content: "";
}

.tmk-delivery-hero h1 {
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(2.25rem, 4.5vw, 4.35rem);
  font-weight: 640;
  letter-spacing: -0.045em;
}

.tmk-delivery-hero__content > p:not(.tmk-delivery-eyebrow) {
  max-width: 720px;
  margin-bottom: 30px;
  color: #c4cec7;
  font-size: clamp(1rem, 1.3vw, 1.14rem);
}

.tmk-delivery-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.tmk-delivery-button--accent {
  color: #102016;
  background: linear-gradient(100deg, #75d317, #a0dc56);
  box-shadow: 0 14px 32px rgb(105 197 34 / 22%);
}

.tmk-delivery-button--accent:hover {
  color: #0d180f;
  background: linear-gradient(100deg, #84e524, #afe768);
}

.tmk-delivery-button--ghost {
  border-color: rgb(255 255 255 / 17%);
  color: #fff;
  background: rgb(255 255 255 / 6%);
}

.tmk-delivery-button--ghost:hover {
  border-color: rgb(255 255 255 / 30%);
  color: #fff;
  background: rgb(255 255 255 / 11%);
}

.tmk-delivery-hero__actions .tmk-icon {
  width: 18px;
  height: 18px;
}

.tmk-delivery-hero__shipping {
  padding: clamp(24px, 3.2vw, 36px);
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 24px;
  background: rgb(255 255 255 / 7%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
  backdrop-filter: blur(12px);
}

.tmk-delivery-hero__icon {
  display: grid;
  width: 58px;
  height: 58px;
  margin-bottom: 28px;
  place-items: center;
  border: 1px solid rgb(130 211 63 / 25%);
  border-radius: 17px;
  color: #95df56;
  background: rgb(130 211 63 / 10%);
}

.tmk-delivery-hero__icon .tmk-icon {
  width: 29px;
  height: 29px;
}

.tmk-delivery-hero__label {
  margin-bottom: 9px;
  color: #91a096;
  font-size: 0.73rem;
  font-weight: 760;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.tmk-delivery-hero__shipping h2 {
  margin-bottom: 15px;
  color: #fff;
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
}

.tmk-delivery-hero__shipping > p:not(.tmk-delivery-hero__label) {
  color: #b2beb6;
  font-size: 0.9rem;
}

.tmk-delivery-shipping-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tmk-delivery-shipping-tags span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 999px;
  color: #dfe7e1;
  background: rgb(255 255 255 / 5%);
  font-size: 0.72rem;
  font-weight: 650;
}

.tmk-delivery-shipping-tags .tmk-icon {
  width: 15px;
  height: 15px;
  color: #8ad849;
}

.tmk-delivery-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-top: 20px;
  border: 1px solid #dfe4de;
  border-radius: 20px;
  background: #dfe4de;
  box-shadow: 0 14px 40px rgb(20 31 24 / 6%);
}

.tmk-delivery-flow article {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 17px;
  padding: 25px 27px;
  background: rgb(255 255 255 / 96%);
}

.tmk-delivery-flow article > span {
  color: #68aa39;
  font-family: var(--tmk-font-display);
  font-size: 0.78rem;
  font-weight: 700;
}

.tmk-delivery-flow strong {
  display: block;
  margin-bottom: 3px;
  color: #18211b;
}

.tmk-delivery-flow p {
  margin: 0;
  color: #6c7870;
  font-size: 0.8rem;
  line-height: 1.55;
}

.tmk-payment-section {
  padding-top: clamp(58px, 8vw, 96px);
  scroll-margin-top: 140px;
}

.tmk-payment-section__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.65fr);
  gap: 50px;
  align-items: end;
  margin-bottom: 30px;
}

.tmk-payment-section__header h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(1.85rem, 3.4vw, 3.15rem);
}

.tmk-payment-section__header > p {
  margin: 0 0 7px;
  color: #69756d;
}

.tmk-payment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tmk-payment-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(25px, 3vw, 34px);
  border: 1px solid #dfe4df;
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 17px 50px rgb(20 31 24 / 7%);
}

.tmk-payment-card--featured {
  border-color: rgb(104 170 57 / 27%);
  background:
    radial-gradient(circle at 100% 0, rgb(117 211 23 / 9%), transparent 17rem),
    #fff;
  box-shadow: 0 20px 55px rgb(58 101 42 / 11%);
}

.tmk-payment-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 30px;
}

.tmk-payment-card__top > span {
  padding: 7px 10px;
  border-radius: 999px;
  color: #58704f;
  background: #f0f5ed;
  font-size: 0.68rem;
  font-weight: 720;
}

.tmk-payment-card__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgb(78 131 62 / 13%);
  border-radius: 15px;
  color: #4f823d;
  background: linear-gradient(145deg, #eef7e9, #fff);
}

.tmk-payment-card__icon .tmk-icon {
  width: 23px;
  height: 23px;
}

.tmk-payment-card__number {
  margin-bottom: 9px;
  color: #9aa49d;
  font-size: 0.75rem;
  font-weight: 720;
  letter-spacing: 0.08em;
}

.tmk-payment-card h3 {
  min-height: 3.25em;
  margin-bottom: 15px;
  font-size: clamp(1.22rem, 1.75vw, 1.52rem);
}

.tmk-payment-card > p:not(.tmk-payment-card__number) {
  min-height: 7.1em;
  margin-bottom: 22px;
  color: #68746c;
  font-size: 0.88rem;
}

.tmk-payment-card__details {
  padding: 20px 0;
  margin-top: auto;
  border-top: 1px solid #e7ebe7;
  border-bottom: 1px solid #e7ebe7;
}

.tmk-payment-card__details > strong {
  display: block;
  margin-bottom: 12px;
  color: #344139;
  font-size: 0.75rem;
}

.tmk-payment-card__details ul {
  display: grid;
  gap: 9px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.tmk-payment-card__details li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #536158;
  font-size: 0.81rem;
}

.tmk-payment-card__details .tmk-icon {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex: 0 0 16px;
  color: #65a93a;
}

.tmk-payment-card > small {
  display: block;
  padding-top: 18px;
  color: #8a958d;
  font-size: 0.7rem;
}

.tmk-payment-help {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(26px, 4vw, 42px);
  margin-top: 20px;
  border: 1px solid #dce4d8;
  border-radius: 23px;
  background:
    radial-gradient(circle at 100% 0, rgb(105 197 34 / 10%), transparent 19rem),
    linear-gradient(135deg, #f2f8ee, #fff);
  box-shadow: 0 16px 48px rgb(20 31 24 / 6%);
}

.tmk-payment-help__icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 18px;
  color: #4e823b;
  background: #fff;
  box-shadow: 0 10px 28px rgb(59 100 44 / 10%);
}

.tmk-payment-help__icon .tmk-icon {
  width: 28px;
  height: 28px;
}

.tmk-payment-help .tmk-delivery-eyebrow {
  margin-bottom: 7px;
}

.tmk-payment-help h2 {
  margin-bottom: 8px;
  font-size: clamp(1.4rem, 2.1vw, 1.9rem);
}

.tmk-payment-help p:not(.tmk-delivery-eyebrow) {
  max-width: 720px;
  margin: 0;
  color: #657168;
  font-size: 0.88rem;
}

.tmk-payment-help > .tmk-button .tmk-icon {
  width: 17px;
  height: 17px;
}

.tmk-payment-contacts {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(30px, 6vw, 72px);
  align-items: center;
  padding: clamp(30px, 4.5vw, 52px);
  margin-top: 20px;
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 0, rgb(117 211 23 / 13%), transparent 19rem),
    linear-gradient(135deg, #121714, #202821);
}

.tmk-payment-contacts > div > p {
  margin-bottom: 8px;
  color: #8d9b92;
  font-size: 0.74rem;
  font-weight: 720;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tmk-payment-contacts h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.45rem, 2.4vw, 2.2rem);
}

.tmk-payment-contacts nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tmk-payment-contacts nav a {
  display: flex;
  min-width: 0;
  min-height: 76px;
  align-items: center;
  gap: 13px;
  padding: 14px 16px;
  border: 1px solid rgb(255 255 255 / 11%);
  border-radius: 15px;
  color: #fff;
  background: rgb(255 255 255 / 5%);
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tmk-payment-contacts nav a:hover {
  border-color: rgb(117 211 23 / 35%);
  color: #fff;
  background: rgb(255 255 255 / 9%);
  transform: translateY(-2px);
}

.tmk-payment-contacts nav > a > .tmk-icon {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  color: #8bd849;
}

.tmk-payment-contacts nav span {
  display: grid;
  min-width: 0;
}

.tmk-payment-contacts nav small {
  color: #91a097;
  font-size: 0.67rem;
}

.tmk-payment-contacts nav strong {
  overflow: hidden;
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .tmk-delivery-hero {
    grid-template-columns: 1fr;
  }

  .tmk-payment-grid {
    grid-template-columns: 1fr;
  }

  .tmk-payment-card h3,
  .tmk-payment-card > p:not(.tmk-payment-card__number) {
    min-height: 0;
  }

  .tmk-payment-help {
    grid-template-columns: auto 1fr;
  }

  .tmk-payment-help > .tmk-button {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .tmk-payment-contacts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .tmk-delivery-flow {
    grid-template-columns: 1fr;
  }

  .tmk-payment-section__header {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 640px) {
  .tmk-delivery-page {
    padding: 18px 0 58px;
  }

  .tmk-delivery-page > .tmk-container {
    width: min(calc(100% - 28px), var(--tmk-container));
  }

  .tmk-delivery-hero {
    gap: 27px;
    padding: 28px 20px 22px;
    border-radius: 22px;
  }

  .tmk-delivery-hero h1 {
    font-size: clamp(2rem, 10.5vw, 3rem);
  }

  .tmk-delivery-hero__actions {
    display: grid;
  }

  .tmk-delivery-hero__actions .tmk-button {
    width: 100%;
  }

  .tmk-delivery-hero__shipping {
    padding: 22px 18px;
    border-radius: 19px;
  }

  .tmk-delivery-flow {
    margin-top: 14px;
    border-radius: 18px;
  }

  .tmk-delivery-flow article {
    padding: 21px 20px;
  }

  .tmk-payment-section {
    padding-top: 56px;
  }

  .tmk-payment-grid {
    gap: 14px;
  }

  .tmk-payment-card {
    padding: 25px 20px;
    border-radius: 19px;
  }

  .tmk-payment-help {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 25px 20px;
    border-radius: 19px;
  }

  .tmk-payment-help > .tmk-button {
    width: 100%;
  }

  .tmk-payment-contacts {
    gap: 24px;
    padding: 26px 20px;
    border-radius: 19px;
  }

  .tmk-payment-contacts nav {
    grid-template-columns: 1fr;
  }
}

/* Returns and exchanges policy — 0.5.7 */
.tmk-return-page {
  padding: 30px 0 90px;
  background:
    radial-gradient(circle at 96% 13%, rgb(197 157 91 / 9%), transparent 26rem),
    radial-gradient(circle at 2% 58%, rgb(105 197 34 / 6%), transparent 24rem),
    linear-gradient(180deg, #fafaf7 0%, #fff 44%, #f7f6f1 100%);
}

.tmk-return-page .tmk-breadcrumbs {
  margin-bottom: 22px;
}

.tmk-return-hero {
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.28fr) minmax(330px, 0.72fr);
  gap: clamp(32px, 5vw, 68px);
  align-items: center;
  padding: clamp(34px, 5.8vw, 72px);
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 0, rgb(105 197 34 / 18%), transparent 20rem),
    radial-gradient(circle at 5% 100%, rgb(255 255 255 / 6%), transparent 24rem),
    linear-gradient(125deg, #0c100f 0%, #171d1a 55%, #222a23 100%);
  box-shadow: 0 28px 76px rgb(15 23 18 / 18%);
}

.tmk-return-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  color: #82d33f;
  font-size: 0.76rem;
  font-weight: 780;
  letter-spacing: 0.105em;
  text-transform: uppercase;
}

.tmk-return-eyebrow::before {
  width: 25px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  content: "";
}

.tmk-return-hero h1 {
  max-width: 820px;
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(2.1rem, 4.35vw, 4.25rem);
  font-weight: 640;
  letter-spacing: -0.045em;
}

.tmk-return-hero__content > p:not(.tmk-return-eyebrow) {
  max-width: 760px;
  margin-bottom: 30px;
  color: #c4cec7;
  font-size: clamp(1rem, 1.3vw, 1.14rem);
}

.tmk-return-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.tmk-return-button--accent {
  color: #102016;
  background: linear-gradient(100deg, #75d317, #a0dc56);
  box-shadow: 0 14px 32px rgb(105 197 34 / 22%);
}

.tmk-return-button--accent:hover {
  color: #0d180f;
  background: linear-gradient(100deg, #84e524, #afe768);
}

.tmk-return-button--ghost {
  border-color: rgb(255 255 255 / 17%);
  color: #fff;
  background: rgb(255 255 255 / 6%);
}

.tmk-return-button--ghost:hover {
  border-color: rgb(255 255 255 / 30%);
  color: #fff;
  background: rgb(255 255 255 / 11%);
}

.tmk-return-hero__actions .tmk-icon {
  width: 18px;
  height: 18px;
}

.tmk-return-hero__summary {
  padding: clamp(24px, 3.2vw, 36px);
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 24px;
  background: rgb(255 255 255 / 7%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
  backdrop-filter: blur(12px);
}

.tmk-return-hero__badge {
  display: flex;
  align-items: center;
  gap: 17px;
  padding-bottom: 24px;
  margin-bottom: 23px;
  border-bottom: 1px solid rgb(255 255 255 / 11%);
}

.tmk-return-hero__badge strong {
  color: #91df50;
  font-family: var(--tmk-font-display);
  font-size: 3.8rem;
  font-weight: 620;
  line-height: 1;
}

.tmk-return-hero__badge span {
  max-width: 150px;
  color: #e5ece7;
  font-size: 0.8rem;
  line-height: 1.45;
}

.tmk-return-hero__summary ul {
  display: grid;
  gap: 17px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.tmk-return-hero__summary li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  color: #aebbb2;
  font-size: 0.78rem;
  line-height: 1.55;
}

.tmk-return-hero__summary li .tmk-icon {
  width: 17px;
  height: 17px;
  margin-top: 2px;
  flex: 0 0 17px;
  color: #8bd849;
}

.tmk-return-hero__summary li strong {
  color: #fff;
}

.tmk-return-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 15px;
  margin-top: 18px;
  border: 1px solid #dfe4de;
  border-radius: 18px;
  background: rgb(255 255 255 / 92%);
  box-shadow: 0 13px 38px rgb(20 31 24 / 6%);
}

.tmk-return-nav a {
  padding: 9px 13px;
  border-radius: 999px;
  color: #4d5d53;
  background: #f3f5f2;
  font-size: 0.76rem;
  font-weight: 670;
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.tmk-return-nav a:hover {
  color: #fff;
  background: #2f7455;
  transform: translateY(-1px);
}

.tmk-return-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-top: 24px;
}

.tmk-return-card {
  min-width: 0;
  padding: clamp(25px, 3.2vw, 38px);
  border: 1px solid #dfe4df;
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 17px 50px rgb(20 31 24 / 7%);
  scroll-margin-top: 140px;
}

.tmk-return-card--wide {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(24px, 4vw, 42px);
}

.tmk-return-card--positive {
  border-color: rgb(91 155 66 / 22%);
  background:
    radial-gradient(circle at 100% 0, rgb(117 211 23 / 9%), transparent 19rem),
    linear-gradient(135deg, #f3f9ef, #fff);
}

.tmk-return-card--restricted {
  border-color: #e5ddda;
  background:
    radial-gradient(circle at 100% 0, rgb(153 75 59 / 7%), transparent 18rem),
    #fff;
}

.tmk-return-card__icon {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 26px;
  place-items: center;
  border: 1px solid rgb(78 131 62 / 13%);
  border-radius: 16px;
  color: #4f823d;
  background: linear-gradient(145deg, #eef7e9, #fff);
  box-shadow: 0 9px 24px rgb(53 100 38 / 8%);
}

.tmk-return-card--wide > .tmk-return-card__icon {
  margin: 0;
}

.tmk-return-card--restricted .tmk-return-card__icon {
  border-color: rgb(143 74 60 / 13%);
  color: #9b5142;
  background: linear-gradient(145deg, #faf0ed, #fff);
}

.tmk-return-card__icon .tmk-icon {
  width: 24px;
  height: 24px;
}

.tmk-return-card__label {
  margin-bottom: 9px;
  color: #77837a;
  font-size: 0.73rem;
  font-weight: 760;
  letter-spacing: 0.085em;
  text-transform: uppercase;
}

.tmk-return-card h2 {
  margin-bottom: 15px;
  font-size: clamp(1.35rem, 2.15vw, 1.9rem);
}

.tmk-return-card > p:not(.tmk-return-card__label):not(.tmk-return-card__note),
.tmk-return-card__content > p:not(.tmk-return-card__label):not(.tmk-return-card__note) {
  color: #657168;
}

.tmk-return-card__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
  padding: 20px 0;
  border-top: 1px solid #dde8d8;
  border-bottom: 1px solid #dde8d8;
}

.tmk-return-card__columns ul,
.tmk-return-conditions ul,
.tmk-return-simple-list {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.tmk-return-card__columns li,
.tmk-return-conditions li,
.tmk-return-simple-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #516057;
  font-size: 0.83rem;
}

.tmk-return-card__columns li .tmk-icon,
.tmk-return-conditions li .tmk-icon,
.tmk-return-simple-list li .tmk-icon {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex: 0 0 16px;
  color: #62a338;
}

.tmk-return-card--restricted .tmk-return-simple-list li .tmk-icon {
  color: #a45e4f;
}

.tmk-return-card__note {
  padding: 14px 15px;
  margin: 18px 0 0;
  border-radius: 12px;
  color: #5c695f;
  background: rgb(84 129 68 / 7%);
  font-size: 0.78rem;
}

.tmk-return-conditions {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid #e5e9e5;
}

.tmk-return-conditions > strong {
  display: block;
  margin-bottom: 13px;
  color: #344139;
  font-size: 0.77rem;
}

.tmk-return-options {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 20px 0 0;
  list-style: none;
}

.tmk-return-options li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 13px;
  border: 1px solid #e5e9e5;
  border-radius: 12px;
  color: #536158;
  background: #fafbf9;
  font-size: 0.82rem;
}

.tmk-return-options li span {
  color: #68a940;
  font-family: var(--tmk-font-display);
  font-size: 0.69rem;
  font-weight: 720;
}

.tmk-return-refund-note {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 15px;
  margin-top: 20px;
  border: 1px solid #e2e7e2;
  border-radius: 13px;
  background: #f8faf7;
}

.tmk-return-refund-note .tmk-icon {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex: 0 0 18px;
  color: #568b43;
}

.tmk-return-refund-note p {
  margin: 0;
  color: #647067;
  font-size: 0.76rem;
}

.tmk-return-receiving {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(28px, 5vw, 64px);
  padding: clamp(30px, 5vw, 56px);
  margin-top: 18px;
  border: 1px solid #dfe4df;
  border-radius: 24px;
  background:
    radial-gradient(circle at 0 100%, rgb(105 197 34 / 8%), transparent 18rem),
    #fff;
  box-shadow: 0 18px 52px rgb(20 31 24 / 7%);
}

.tmk-return-receiving .tmk-return-card__icon {
  margin-bottom: 24px;
}

.tmk-return-receiving h2 {
  font-size: clamp(1.55rem, 2.6vw, 2.35rem);
}

.tmk-return-receiving__intro > p:not(.tmk-return-eyebrow) {
  color: #69756d;
}

.tmk-return-receiving__list {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid #e1e6e1;
  border-radius: 17px;
  background: #e1e6e1;
}

.tmk-return-receiving__list > div {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  padding: 17px 18px;
  background: #fbfcfa;
}

.tmk-return-receiving__list span {
  color: #67a43f;
  font-family: var(--tmk-font-display);
  font-size: 0.7rem;
  font-weight: 720;
}

.tmk-return-receiving__list p {
  margin: 0;
  color: #68746c;
  font-size: 0.79rem;
}

.tmk-return-receiving__list strong {
  color: #263129;
}

.tmk-return-receiving__notice {
  display: flex;
  grid-column: 1 / -1;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  margin: 0;
  border-radius: 12px;
  color: #526057;
  background: #f0f5ed;
  font-size: 0.78rem;
}

.tmk-return-receiving__notice .tmk-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #568b43;
}

.tmk-return-process {
  padding: clamp(32px, 5vw, 54px);
  margin-top: 18px;
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 0, rgb(117 211 23 / 14%), transparent 19rem),
    linear-gradient(135deg, #121714, #202821);
  scroll-margin-top: 140px;
}

.tmk-return-process header {
  max-width: 720px;
  margin-bottom: 30px;
}

.tmk-return-process h2 {
  color: #fff;
  font-size: clamp(1.65rem, 3vw, 2.65rem);
}

.tmk-return-process__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tmk-return-process__steps article {
  min-width: 0;
  padding: 21px;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 15px;
  background: rgb(255 255 255 / 5%);
}

.tmk-return-process__steps article > span {
  display: grid;
  width: 32px;
  height: 32px;
  margin-bottom: 24px;
  place-items: center;
  border-radius: 10px;
  color: #0f1c13;
  background: #8bd849;
  font-family: var(--tmk-font-display);
  font-size: 0.76rem;
  font-weight: 720;
}

.tmk-return-process__steps h3 {
  margin-bottom: 8px;
  color: #fff;
  font-size: 1rem;
}

.tmk-return-process__steps p {
  margin: 0;
  color: #aebbb2;
  font-size: 0.77rem;
}

.tmk-return-contact {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 6vw, 70px);
  align-items: center;
  padding: clamp(29px, 4.5vw, 50px);
  margin-top: 18px;
  border: 1px solid #dce4d8;
  border-radius: 23px;
  background:
    radial-gradient(circle at 100% 0, rgb(105 197 34 / 10%), transparent 19rem),
    linear-gradient(135deg, #f2f8ee, #fff);
  box-shadow: 0 16px 48px rgb(20 31 24 / 6%);
}

.tmk-return-contact > div > p {
  margin-bottom: 7px;
  color: #6f7d73;
  font-size: 0.74rem;
  font-weight: 720;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tmk-return-contact h2 {
  margin-bottom: 17px;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
}

.tmk-return-contact > div > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #3d6d50;
  font-size: 0.76rem;
  font-weight: 670;
  text-decoration: none;
}

.tmk-return-contact > div > a .tmk-icon {
  width: 16px;
  height: 16px;
}

.tmk-return-contact nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tmk-return-contact nav a {
  display: flex;
  min-width: 0;
  min-height: 74px;
  align-items: center;
  gap: 13px;
  padding: 14px 16px;
  border: 1px solid #dce4d8;
  border-radius: 14px;
  color: #263329;
  background: #fff;
  box-shadow: 0 10px 27px rgb(46 83 34 / 7%);
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.tmk-return-contact nav a:hover {
  border-color: rgb(82 137 61 / 28%);
  color: #263329;
  box-shadow: 0 14px 31px rgb(46 83 34 / 11%);
  transform: translateY(-2px);
}

.tmk-return-contact nav > a > .tmk-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: #5d993f;
}

.tmk-return-contact nav span {
  display: grid;
  min-width: 0;
}

.tmk-return-contact nav small {
  color: #829087;
  font-size: 0.67rem;
}

.tmk-return-contact nav strong {
  overflow: hidden;
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .tmk-return-hero {
    grid-template-columns: 1fr;
  }

  .tmk-return-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tmk-return-contact {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .tmk-return-grid {
    grid-template-columns: 1fr;
  }

  .tmk-return-card--wide {
    display: block;
  }

  .tmk-return-card--wide > .tmk-return-card__icon {
    margin-bottom: 24px;
  }

  .tmk-return-receiving {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .tmk-return-page {
    padding: 18px 0 58px;
  }

  .tmk-return-page > .tmk-container {
    width: min(calc(100% - 28px), var(--tmk-container));
  }

  .tmk-return-hero {
    gap: 27px;
    padding: 28px 20px 22px;
    border-radius: 22px;
  }

  .tmk-return-hero h1 {
    font-size: clamp(1.95rem, 9.8vw, 2.8rem);
  }

  .tmk-return-hero__actions {
    display: grid;
  }

  .tmk-return-hero__actions .tmk-button {
    width: 100%;
  }

  .tmk-return-hero__summary {
    padding: 22px 18px;
    border-radius: 19px;
  }

  .tmk-return-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 10px;
    margin-top: 14px;
    border-radius: 15px;
  }

  .tmk-return-nav a {
    display: grid;
    min-height: 44px;
    place-items: center;
    padding: 7px 8px;
    border-radius: 10px;
    font-size: 0.67rem;
    text-align: center;
  }

  .tmk-return-grid {
    gap: 14px;
    padding-top: 14px;
  }

  .tmk-return-card {
    padding: 25px 20px;
    border-radius: 19px;
  }

  .tmk-return-card__columns {
    grid-template-columns: 1fr;
  }

  .tmk-return-receiving {
    gap: 24px;
    padding: 26px 20px;
    margin-top: 14px;
    border-radius: 19px;
  }

  .tmk-return-process {
    padding: 27px 20px;
    margin-top: 14px;
    border-radius: 19px;
  }

  .tmk-return-process__steps {
    grid-template-columns: 1fr;
  }

  .tmk-return-contact {
    gap: 24px;
    padding: 26px 20px;
    margin-top: 14px;
    border-radius: 19px;
  }

  .tmk-return-contact nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Premium visual system — 2026 refresh */
:root {
  --tmk-ink: #13251c;
  --tmk-forest: #246b4f;
  --tmk-forest-dark: #164c37;
  --tmk-emerald: #3d8b66;
  --tmk-lime: #a8c58d;
  --tmk-gold: #c9a66b;
  --tmk-sand: #f2ecdf;
  --tmk-paper: #fffefa;
  --tmk-muted: #647269;
  --tmk-line: #d8e1da;
  --tmk-soft: #f3f7f3;
  --tmk-radius-sm: 12px;
  --tmk-radius: 21px;
  --tmk-radius-lg: 32px;
  --tmk-shadow: 0 20px 55px rgb(18 48 34 / 11%);
  --tmk-shadow-soft: 0 12px 34px rgb(18 48 34 / 7%);
}

body {
  background:
    radial-gradient(circle at 10% 4%, rgb(168 197 141 / 10%), transparent 24rem),
    linear-gradient(180deg, #fbfdfb 0, #fffefa 45rem, #fbfcfa 100%);
}

.site-header {
  border-bottom-color: rgb(36 107 79 / 13%);
  background: rgb(255 254 250 / 96%);
  box-shadow: 0 8px 30px rgb(17 55 37 / 5%);
  backdrop-filter: blur(16px);
}

.tmk-topbar {
  background:
    radial-gradient(circle at 22% 0, rgb(201 166 107 / 17%), transparent 25%),
    linear-gradient(100deg, #102219 0%, #153d2c 55%, #102219 100%);
}

.tmk-header-main {
  position: relative;
}

.tmk-header-search form {
  padding: 4px;
  border: 1px solid rgb(36 107 79 / 13%);
  border-radius: 14px;
  background: #fff;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 75%), 0 8px 24px rgb(28 74 50 / 6%);
}

.tmk-header-search .search-field {
  border: 0;
  background: transparent;
}

.tmk-header-search button,
.tmk-catalog-search button {
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--tmk-forest) 0%, var(--tmk-emerald) 100%);
  box-shadow: 0 8px 20px rgb(36 107 79 / 18%);
}

.tmk-nav-wrap {
  border-top: 1px solid rgb(36 107 79 / 9%);
  background: rgb(255 254 250 / 84%);
}

.tmk-catalog-menu > summary {
  background:
    linear-gradient(135deg, rgb(255 255 255 / 8%), transparent),
    linear-gradient(120deg, var(--tmk-forest-dark), var(--tmk-emerald));
  box-shadow: 0 10px 26px rgb(22 76 55 / 18%);
}

.tmk-primary-nav a {
  position: relative;
}

.tmk-primary-nav > ul > li > a::after {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--tmk-forest), var(--tmk-gold));
  content: "";
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 180ms ease, transform 180ms ease;
}

.tmk-primary-nav > ul > li > a:hover::after,
.tmk-primary-nav > ul > .current-menu-item > a::after {
  opacity: 1;
  transform: scaleX(1);
}

.tmk-button--primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt {
  border-color: rgb(255 255 255 / 10%) !important;
  background: linear-gradient(135deg, var(--tmk-forest-dark) 0%, var(--tmk-forest) 50%, var(--tmk-emerald) 100%) !important;
  box-shadow: 0 10px 25px rgb(36 107 79 / 20%);
}

.tmk-button--primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce a.button.alt:hover,
body.woocommerce button.button.alt:hover {
  background: linear-gradient(135deg, #123f2e 0%, var(--tmk-forest-dark) 48%, #327f5d 100%) !important;
  box-shadow: 0 14px 30px rgb(27 86 61 / 26%);
}

.tmk-button--ghost {
  border-color: rgb(36 107 79 / 16%);
  background: rgb(255 254 250 / 82%);
  box-shadow: 0 8px 24px rgb(18 48 34 / 6%);
}

.tmk-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid rgb(201 166 107 / 30%);
  border-radius: 999px;
  color: #67502e;
  background: rgb(242 236 223 / 72%);
  letter-spacing: 0.12em;
}

.tmk-eyebrow::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--tmk-gold), #e2c58f);
  box-shadow: 0 0 0 4px rgb(201 166 107 / 12%);
  content: "";
}

.tmk-hero {
  border-bottom: 1px solid rgb(37 40 38 / 9%);
  background:
    radial-gradient(circle at 82% 17%, rgb(201 166 107 / 16%), transparent 20rem),
    radial-gradient(circle at 52% 30%, rgb(108 113 109 / 7%), transparent 29rem),
    linear-gradient(138deg, #fffefa 0%, #f7f5ef 48%, #eeece5 100%);
}

.tmk-hero::before {
  top: -180px;
  left: 45%;
  width: 690px;
  height: 690px;
  border: 1px solid rgb(42 45 43 / 8%);
  box-shadow: inset 0 0 0 88px rgb(255 255 255 / 22%), inset 0 0 0 176px rgb(42 45 43 / 2%);
}

.tmk-hero::after {
  position: absolute;
  right: 6%;
  bottom: -90px;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(201 166 107 / 14%), transparent 68%);
  content: "";
  filter: blur(4px);
}

.tmk-hero__grid {
  z-index: 1;
}

.tmk-hero h1 {
  color: #171b19;
  text-wrap: balance;
}

.tmk-hero__lead {
  color: #555d59;
}

.tmk-hero__proofs li {
  padding: 8px 11px;
  border: 1px solid rgb(37 40 38 / 11%);
  border-radius: 999px;
  background: rgb(255 254 250 / 55%);
  backdrop-filter: blur(8px);
}

.tmk-hero__visual {
  border: 1px solid rgb(255 255 255 / 55%);
  background: #595b57;
  box-shadow: 0 30px 78px rgb(29 31 30 / 20%), 0 0 0 8px rgb(255 255 255 / 32%);
}

.tmk-hero__texture {
  opacity: 1;
  background:
    radial-gradient(circle at 28% 18%, rgb(255 255 255 / 18%), transparent 28%),
    linear-gradient(125deg, rgb(18 19 18 / 2%), rgb(18 19 18 / 52%)),
    repeating-linear-gradient(76deg, #50514d 0 5px, #74756f 5px 9px, #3c3d3a 9px 13px, #8b8c83 13px 17px);
}

.tmk-hero__card {
  border-color: rgb(255 255 255 / 25%);
  background: linear-gradient(135deg, rgb(24 26 25 / 92%), rgb(48 51 48 / 84%));
  box-shadow: 0 18px 42px rgb(12 13 12 / 28%);
}

.tmk-category-section {
  background:
    radial-gradient(circle at 8% 8%, rgb(201 166 107 / 10%), transparent 20rem),
    linear-gradient(180deg, #fffefa 0%, #fcfaf5 100%);
}

.tmk-category-card {
  border: 1px solid rgb(255 255 255 / 72%);
  border-radius: 24px;
  box-shadow: var(--tmk-shadow-soft);
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.tmk-category-card:hover {
  box-shadow: 0 24px 58px rgb(16 19 18 / 18%);
  transform: translateY(-6px);
}

.tmk-category-card__media::after {
  background: linear-gradient(
    to top,
    rgb(8 10 11 / 92%) 0%,
    rgb(8 10 11 / 34%) 43%,
    rgb(8 10 11 / 2%) 78%
  );
}

.tmk-category-card__body .tmk-icon {
  padding: 5px;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 50%;
  background: rgb(255 255 255 / 10%);
}

.tmk-products-section {
  position: relative;
  overflow: hidden;
  border-block: 1px solid rgb(36 107 79 / 9%);
  background:
    radial-gradient(circle at 93% 2%, rgb(201 166 107 / 16%), transparent 24rem),
    radial-gradient(circle at 5% 90%, rgb(61 139 102 / 10%), transparent 25rem),
    linear-gradient(135deg, #eef5ef 0%, #f8faf6 50%, #f3eee4 100%);
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border-color: rgb(31 94 67 / 13%);
  border-radius: 22px;
  background: rgb(255 254 250 / 97%);
  box-shadow: 0 12px 34px rgb(18 48 34 / 7%);
}

.woocommerce ul.products li.product:hover {
  border-color: rgb(36 107 79 / 25%);
  box-shadow: 0 22px 52px rgb(18 48 34 / 14%);
  transform: translateY(-6px);
}

.woocommerce ul.products li.product a img {
  border-bottom: 1px solid rgb(36 107 79 / 9%);
  background: linear-gradient(145deg, #f7faf7, #eef3ee);
}

.tmk-product-status {
  padding: 5px 9px;
  border: 1px solid rgb(36 107 79 / 14%);
  border-radius: 999px;
  background: rgb(36 107 79 / 7%);
  letter-spacing: 0.06em;
}

.tmk-product-status--order {
  border-color: rgb(201 166 107 / 26%);
  background: rgb(201 166 107 / 12%);
}

.woocommerce ul.products li.product .button {
  border-radius: 12px;
}

.tmk-process-section {
  background:
    linear-gradient(90deg, transparent 0 49.9%, rgb(36 107 79 / 4%) 50%, transparent 50.1%),
    #fffefa;
  background-size: 110px 100%;
}

.tmk-process li {
  position: relative;
  overflow: hidden;
  border-color: rgb(36 107 79 / 12%);
  background:
    radial-gradient(circle at 100% 0, rgb(168 197 141 / 20%), transparent 8rem),
    linear-gradient(145deg, #fff 0%, #fbfdf9 100%);
  box-shadow: var(--tmk-shadow-soft);
}

.tmk-process li::after {
  position: absolute;
  right: -34px;
  bottom: -50px;
  width: 120px;
  height: 120px;
  border: 18px solid rgb(36 107 79 / 5%);
  border-radius: 50%;
  content: "";
}

.tmk-process li > span {
  color: var(--tmk-forest-dark);
  background: linear-gradient(145deg, #f0e6d4, #e0eed8);
  box-shadow: inset 0 0 0 1px rgb(36 107 79 / 9%), 0 7px 18px rgb(24 75 52 / 10%);
}

.tmk-consultation {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 10%, rgb(105 197 34 / 20%), transparent 19rem),
    radial-gradient(circle at 4% 100%, rgb(255 255 255 / 7%), transparent 25rem),
    linear-gradient(125deg, #0d1110 0%, #171d1a 56%, #202820 100%);
}

.tmk-consultation .tmk-eyebrow {
  border-color: rgb(143 211 79 / 26%);
  color: #8fd34f;
  background: rgb(255 255 255 / 6%);
}

.tmk-consultation__grid {
  position: relative;
  z-index: 1;
}

.tmk-consultation__form {
  border-color: rgb(255 255 255 / 12%);
  border-radius: 24px;
  background: rgb(255 255 255 / 7%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%), 0 24px 70px rgb(6 9 7 / 25%);
  backdrop-filter: blur(16px);
}

.tmk-consultation .tmk-request-form > .button[type="submit"] {
  border: 0;
  color: #102016;
  background: linear-gradient(100deg, #75d317 0%, #a0dc56 100%);
  box-shadow: 0 14px 32px rgb(105 197 34 / 22%);
  font-weight: 760;
}

.tmk-consultation .tmk-request-form > .button[type="submit"]:hover {
  color: #0c160f;
  background: linear-gradient(100deg, #83e222 0%, #afe767 100%);
  box-shadow: 0 17px 36px rgb(105 197 34 / 27%);
  transform: translateY(-2px);
}

.tmk-commerce,
.tmk-page-shell {
  background:
    radial-gradient(circle at 92% 2%, rgb(168 197 141 / 12%), transparent 25rem),
    linear-gradient(180deg, #fbfdfb 0%, #fffefa 34rem, #fbfcfa 100%);
}

.tmk-shop-sidebar {
  border-color: rgb(36 107 79 / 13%);
  background: linear-gradient(145deg, rgb(255 255 255 / 98%), rgb(248 251 247 / 96%));
  box-shadow: var(--tmk-shadow-soft);
}

.tmk-catalog-search .search-field,
.woocommerce .woocommerce-ordering select {
  border-color: rgb(36 107 79 / 14%);
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgb(18 48 34 / 3%), 0 6px 18px rgb(18 48 34 / 4%);
}

.tmk-category-filter li.is-current a,
.tmk-category-filter li a:hover {
  color: var(--tmk-forest-dark);
  background: linear-gradient(90deg, rgb(36 107 79 / 11%), rgb(168 197 141 / 10%));
}

.woocommerce-products-header {
  border-color: rgb(36 107 79 / 14%);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 5%, rgb(201 166 107 / 22%), transparent 16rem),
    radial-gradient(circle at 72% 110%, rgb(61 139 102 / 17%), transparent 24rem),
    linear-gradient(135deg, #f9fcf8 0%, #eaf3eb 62%, #e6eee4 100%);
  box-shadow: 0 18px 50px rgb(18 48 34 / 8%);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-color: rgb(36 107 79 / 14%);
  background: #fff;
  box-shadow: 0 6px 16px rgb(18 48 34 / 5%);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: linear-gradient(135deg, var(--tmk-forest-dark), var(--tmk-emerald));
}

.single-product .tmk-commerce {
  background:
    radial-gradient(circle at 92% 4%, rgb(201 166 107 / 13%), transparent 24rem),
    radial-gradient(circle at 4% 38%, rgb(61 139 102 / 9%), transparent 28rem),
    linear-gradient(180deg, #fbfdfb, #fffefa 42rem, #f8faf8);
}

.single-product div.product div.images {
  padding: 12px;
  border: 1px solid rgb(36 107 79 / 12%);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 20px 55px rgb(18 48 34 / 10%);
}

.single-product div.product div.images img {
  border-radius: 17px;
}

.single-product div.product .summary {
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid rgb(36 107 79 / 13%);
  border-radius: 25px;
  background:
    radial-gradient(circle at 100% 0, rgb(201 166 107 / 14%), transparent 14rem),
    linear-gradient(145deg, #fff 0%, #f8fbf8 100%);
  box-shadow: 0 20px 55px rgb(18 48 34 / 9%);
}

.single-product div.product .product_title {
  color: #10231a;
}

.single-product div.product p.price,
.single-product div.product span.price {
  color: var(--tmk-forest-dark);
}

.single-product div.product .woocommerce-tabs {
  clear: both;
  padding-top: 26px;
}

.single-product div.product .woocommerce-tabs .panel {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgb(36 107 79 / 11%);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--tmk-shadow-soft);
}

.tmk-page-shell .tmk-entry:not(.tmk-reviews-page) {
  padding: clamp(26px, 5vw, 56px);
  border: 1px solid rgb(36 107 79 / 12%);
  border-radius: 25px;
  background:
    radial-gradient(circle at 100% 0, rgb(168 197 141 / 13%), transparent 18rem),
    #fff;
  box-shadow: var(--tmk-shadow-soft);
}

.tmk-reviews-intro {
  border-color: rgb(36 107 79 / 14%) !important;
  background:
    radial-gradient(circle at 92% 4%, rgb(201 166 107 / 20%), transparent 30%),
    radial-gradient(circle at 72% 100%, rgb(61 139 102 / 14%), transparent 35%),
    linear-gradient(135deg, #fbfdf9, #eaf3eb) !important;
  box-shadow: 0 20px 55px rgb(18 48 34 / 8%);
}

.site-footer {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 2%, rgb(201 166 107 / 13%), transparent 23rem),
    radial-gradient(circle at 8% 100%, rgb(61 139 102 / 17%), transparent 25rem),
    linear-gradient(125deg, #0d1d15 0%, #122f21 55%, #0e2017 100%);
}

.site-footer::before {
  position: absolute;
  top: -150px;
  right: -100px;
  width: 390px;
  height: 390px;
  border: 60px solid rgb(255 255 255 / 2.5%);
  border-radius: 50%;
  content: "";
}

.tmk-footer-grid,
.tmk-footer-bottom {
  position: relative;
  z-index: 1;
}

@media (max-width: 960px) {
  .tmk-primary-nav > ul > li > a::after {
    display: none;
  }

  .tmk-hero::after {
    right: -120px;
  }

  .single-product div.product .summary {
    padding: 24px;
  }
}

@media (max-width: 640px) {
  .tmk-eyebrow {
    padding: 6px 9px;
    font-size: 0.68rem;
  }

  .tmk-hero {
    background:
      radial-gradient(circle at 100% 0, rgb(201 166 107 / 18%), transparent 15rem),
      linear-gradient(145deg, #f9fcf8, #e8f1e9);
  }

  .tmk-hero__proofs li {
    width: 100%;
    border-radius: 12px;
  }

  .tmk-category-card,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .tmk-process li,
  .woocommerce-products-header,
  .tmk-shop-sidebar,
  .single-product div.product div.images,
  .single-product div.product .summary,
  .tmk-page-shell .tmk-entry:not(.tmk-reviews-page) {
    border-radius: 17px;
  }

  .tmk-products-section {
    background:
      radial-gradient(circle at 100% 0, rgb(201 166 107 / 14%), transparent 15rem),
      linear-gradient(160deg, #eef5ef, #f8f7f1);
  }

  .single-product div.product .summary {
    padding: 20px;
  }
}

/* Navigation and CTA refinement — 0.4.1 */
:root {
  --tmk-cta-start: #69c522;
  --tmk-cta-mid: #5cae2d;
  --tmk-cta-end: #4e833e;
  --tmk-cta-shadow: rgb(72 132 46 / 28%);
}

.tmk-header-search button,
.tmk-catalog-search button,
.tmk-button--primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt,
.tmk-mobile-cta__primary {
  color: #fff !important;
  background: linear-gradient(100deg, var(--tmk-cta-start) 0%, var(--tmk-cta-mid) 48%, var(--tmk-cta-end) 100%) !important;
  box-shadow: 0 10px 24px var(--tmk-cta-shadow) !important;
}

.tmk-header-search button:hover,
.tmk-catalog-search button:hover,
.tmk-button--primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce a.button.alt:hover,
body.woocommerce button.button.alt:hover,
.tmk-mobile-cta__primary:hover {
  background: linear-gradient(100deg, #75cf2b 0%, #62b833 45%, #477b39 100%) !important;
  box-shadow: 0 14px 30px rgb(72 132 46 / 35%) !important;
}

.tmk-nav-wrap {
  position: relative;
  z-index: 40;
  box-shadow: 0 10px 30px rgb(19 51 34 / 5%);
}

.tmk-nav-row {
  min-height: 64px;
}

.tmk-catalog-menu {
  width: 264px;
}

.tmk-catalog-menu > summary {
  height: calc(100% - 8px);
  margin-block: 4px;
  padding-inline: 20px 16px;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 14px;
  background:
    linear-gradient(115deg, rgb(255 255 255 / 12%), transparent 42%),
    linear-gradient(100deg, var(--tmk-cta-start), var(--tmk-cta-mid) 48%, var(--tmk-cta-end));
  box-shadow: 0 12px 28px var(--tmk-cta-shadow);
  transition: filter 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.tmk-catalog-menu > summary:hover {
  filter: saturate(1.06) brightness(1.03);
  box-shadow: 0 15px 34px rgb(72 132 46 / 34%);
  transform: translateY(-1px);
}

.tmk-catalog-menu > summary::after {
  width: 8px;
  height: 8px;
  margin-left: auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: "";
  opacity: 0.9;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 180ms ease;
}

.tmk-catalog-menu[open] > summary::after {
  transform: rotate(225deg) translate(-2px, -1px);
}

.tmk-catalog-menu__panel {
  top: calc(100% + 10px);
  width: min(590px, calc(100vw - 40px));
  padding: 18px;
  border: 1px solid rgb(36 107 79 / 13%);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgb(105 197 34 / 10%), transparent 15rem),
    rgb(255 254 250 / 98%);
  box-shadow: 0 28px 75px rgb(12 43 27 / 19%);
  backdrop-filter: blur(20px);
}

.tmk-catalog-menu__panel::before {
  position: absolute;
  top: -7px;
  left: 30px;
  width: 14px;
  height: 14px;
  border-top: 1px solid rgb(36 107 79 / 13%);
  border-left: 1px solid rgb(36 107 79 / 13%);
  background: #fffefa;
  content: "";
  transform: rotate(45deg);
}

.tmk-catalog-menu__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 2px 3px 14px;
  border-bottom: 1px solid rgb(36 107 79 / 10%);
}

.tmk-catalog-menu__head strong,
.tmk-catalog-menu__head small {
  display: block;
}

.tmk-catalog-menu__head strong {
  color: #11231a;
  font-family: var(--tmk-font-heading);
  font-size: 1.08rem;
  font-weight: 720;
}

.tmk-catalog-menu__head small {
  margin-top: 2px;
  color: var(--tmk-muted);
  font-size: 0.76rem;
}

.tmk-catalog-menu__head > span {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid rgb(78 131 62 / 14%);
  border-radius: 999px;
  color: #416b36;
  background: rgb(105 197 34 / 10%);
  font-size: 0.7rem;
  font-weight: 760;
}

.tmk-catalog-menu__panel .menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  counter-reset: tmk-catalog;
}

.tmk-catalog-menu__panel .menu > li {
  min-width: 0;
  counter-increment: tmk-catalog;
}

.tmk-catalog-menu__panel .menu > li > a {
  display: grid;
  min-height: 58px;
  grid-template-columns: 32px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid rgb(36 107 79 / 9%);
  border-radius: 13px;
  background: rgb(255 255 255 / 72%);
  box-shadow: 0 5px 16px rgb(18 48 34 / 3%);
  font-size: 0.86rem;
  line-height: 1.25;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.tmk-catalog-menu__panel .menu > li > a::before {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 10px;
  color: #4d7c3d;
  background: linear-gradient(145deg, rgb(105 197 34 / 18%), rgb(78 131 62 / 10%));
  content: counter(tmk-catalog, decimal-leading-zero);
  font-size: 0.66rem;
  font-weight: 800;
}

.tmk-catalog-menu__panel .menu > li > a::after {
  color: #568347;
  content: "→";
  font-size: 1rem;
  opacity: 0.7;
  transition: transform 180ms ease;
}

.tmk-catalog-menu__panel .menu > li > a:hover {
  border-color: rgb(91 162 50 / 24%);
  background: linear-gradient(110deg, rgb(105 197 34 / 9%), rgb(255 255 255 / 94%));
  box-shadow: 0 10px 22px rgb(51 101 40 / 9%);
  transform: translateY(-2px);
}

.tmk-catalog-menu__panel .menu > li > a:hover::after {
  transform: translateX(3px);
}

.tmk-catalog-menu__all {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: linear-gradient(100deg, var(--tmk-cta-start), var(--tmk-cta-end));
  box-shadow: 0 9px 22px var(--tmk-cta-shadow);
}

.tmk-primary-nav > ul > li > a {
  padding: 10px 12px;
  border-radius: 10px;
  transition: color 180ms ease, background 180ms ease;
}

.tmk-primary-nav > ul > li > a:hover,
.tmk-primary-nav > ul > .current-menu-item > a {
  background: linear-gradient(110deg, rgb(105 197 34 / 9%), rgb(201 166 107 / 6%));
}

.tmk-primary-nav > ul > li > a::after {
  right: 12px;
  bottom: 4px;
  left: 12px;
  background: linear-gradient(90deg, var(--tmk-cta-start), var(--tmk-cta-end));
}

.tmk-primary-nav .sub-menu {
  top: calc(100% + 8px);
  min-width: 270px;
  padding: 10px;
  border-color: rgb(36 107 79 / 12%);
  border-radius: 18px;
  background: rgb(255 254 250 / 98%);
  box-shadow: 0 24px 60px rgb(12 43 27 / 16%);
  backdrop-filter: blur(18px);
}

.tmk-primary-nav .sub-menu a {
  padding: 10px 11px;
  border-radius: 10px;
}

.tmk-primary-nav .sub-menu a:hover {
  background: linear-gradient(105deg, rgb(105 197 34 / 10%), transparent);
}

.tmk-primary-nav__head,
.tmk-primary-nav__footer {
  display: none;
}

@media (max-width: 960px) {
  body.has-mobile-menu::before {
    position: fixed;
    z-index: 75;
    inset: 0;
    background: rgb(7 24 14 / 54%);
    content: "";
    backdrop-filter: blur(4px);
  }

  .tmk-primary-nav {
    width: min(88vw, 400px);
    padding: 0 20px 28px;
    background:
      radial-gradient(circle at 100% 0, rgb(105 197 34 / 13%), transparent 16rem),
      #fffefa;
  }

  .tmk-primary-nav__head {
    display: flex;
    min-height: 88px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgb(36 107 79 / 10%);
  }

  .tmk-primary-nav__head small,
  .tmk-primary-nav__head strong {
    display: block;
  }

  .tmk-primary-nav__head small {
    color: #568347;
    font-size: 0.68rem;
    font-weight: 760;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .tmk-primary-nav__head strong {
    color: #11231a;
    font-family: var(--tmk-font-heading);
    font-size: 1.35rem;
  }

  .tmk-menu-close {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 1px solid rgb(36 107 79 / 13%);
    border-radius: 12px;
    color: var(--tmk-ink);
    background: #fff;
    font-size: 1.65rem;
    line-height: 1;
  }

  .tmk-primary-nav > ul {
    display: grid;
    gap: 7px;
    padding-block: 18px;
  }

  .tmk-primary-nav > ul > li > a {
    padding: 13px 14px;
    border: 1px solid rgb(36 107 79 / 9%);
    border-radius: 12px;
    background: rgb(255 255 255 / 74%);
    box-shadow: 0 5px 14px rgb(18 48 34 / 3%);
  }

  .tmk-primary-nav > ul > .current-menu-item > a {
    border-color: rgb(89 158 50 / 20%);
    color: #3f7133;
    background: linear-gradient(105deg, rgb(105 197 34 / 13%), rgb(255 255 255 / 75%));
  }

  .tmk-primary-nav .sub-menu {
    margin-top: 5px;
    padding: 0 0 0 12px;
    background: transparent;
  }

  .tmk-primary-nav__footer {
    display: block;
    padding: 16px;
    border: 1px solid rgb(78 131 62 / 13%);
    border-radius: 16px;
    background: linear-gradient(120deg, rgb(105 197 34 / 13%), rgb(201 166 107 / 9%));
  }

  .tmk-primary-nav__footer > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border: 0;
    color: #315d29;
    font-family: var(--tmk-font-heading);
    font-weight: 720;
  }

  .tmk-primary-nav__footer small {
    display: block;
    margin-top: 5px;
    color: var(--tmk-muted);
    font-size: 0.72rem;
    line-height: 1.45;
  }
}

@media (max-width: 640px) {
  .tmk-nav-row {
    min-height: 58px;
  }

  .tmk-catalog-menu {
    width: 100%;
  }

  .tmk-catalog-menu > summary {
    min-height: 50px;
    border-radius: 12px;
  }

  .tmk-catalog-menu__panel {
    right: 0;
    left: 0;
    width: 100%;
    padding: 14px;
    border-radius: 17px;
  }

  .tmk-catalog-menu__head {
    margin-bottom: 10px;
  }

  .tmk-catalog-menu__head small {
    display: none;
  }

  .tmk-catalog-menu__panel .menu {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .tmk-catalog-menu__panel .menu > li > a {
    min-height: 50px;
  }
}

/* Product information and compact brand lockup — 0.4.2 */
.tmk-header-main {
  min-height: 82px;
}

.tmk-header-main__brand {
  min-width: 194px;
}

.custom-logo {
  max-width: 210px;
  max-height: 54px;
}

.single-product div.product .woocommerce-tabs {
  margin-top: 26px;
  padding-top: 0;
}

.single-product div.product .woocommerce-tabs ul.tabs {
  display: inline-flex;
  max-width: 100%;
  gap: 6px;
  padding: 6px;
  margin: 0 0 14px;
  overflow-x: auto;
  border: 1px solid rgb(36 107 79 / 10%);
  border-radius: 16px;
  background: linear-gradient(145deg, #edf3ec, #f8faf6);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 75%);
  scrollbar-width: none;
}

.single-product div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
  display: none;
}

.single-product div.product .woocommerce-tabs ul.tabs::before {
  display: none;
}

.single-product div.product .woocommerce-tabs ul.tabs li {
  flex: 0 0 auto;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 11px;
  background: transparent;
}

.single-product div.product .woocommerce-tabs ul.tabs li a {
  padding: 11px 17px;
  border-radius: 11px;
  color: #58675d;
  font-family: var(--tmk-font-heading);
  font-size: 0.84rem;
  font-weight: 680;
  white-space: nowrap;
  transition: color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.single-product div.product .woocommerce-tabs ul.tabs li:hover a {
  color: #35662c;
  background: rgb(255 255 255 / 70%);
}

.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fff;
  background: linear-gradient(100deg, var(--tmk-cta-start), var(--tmk-cta-end));
  box-shadow: 0 8px 20px var(--tmk-cta-shadow);
}

.single-product div.product .woocommerce-tabs .panel {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid rgb(36 107 79 / 11%);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0, rgb(105 197 34 / 8%), transparent 19rem),
    linear-gradient(145deg, #fff 0%, #fbfdf9 100%);
  box-shadow: 0 20px 55px rgb(18 48 34 / 9%);
}

.single-product div.product .woocommerce-tabs .panel::before {
  position: absolute;
  top: 0;
  left: clamp(26px, 4vw, 48px);
  width: 74px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--tmk-cta-start), var(--tmk-cta-end));
  content: "";
}

.single-product div.product .woocommerce-tabs .panel > h2,
.tmk-characteristics-intro h2 {
  max-width: 760px;
  margin: 0 0 18px;
  color: #10231a;
  font-size: clamp(1.55rem, 2.5vw, 2.15rem);
  letter-spacing: -0.035em;
}

.single-product .woocommerce-Tabs-panel--description > p,
.single-product .woocommerce-Tabs-panel--description > ul,
.single-product .woocommerce-Tabs-panel--description > ol {
  max-width: 880px;
}

.single-product .woocommerce-Tabs-panel--description > p {
  color: #4d5f54;
  font-size: 1.01rem;
  line-height: 1.78;
}

.single-product .woocommerce-Tabs-panel--description > h2:not(:first-child) {
  position: relative;
  margin: 34px 0 13px;
  padding-left: 18px;
  color: #193527;
  font-size: clamp(1.2rem, 2vw, 1.48rem);
}

.single-product .woocommerce-Tabs-panel--description > h2:not(:first-child)::before {
  position: absolute;
  top: 0.2em;
  bottom: 0.2em;
  left: 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--tmk-cta-start), var(--tmk-cta-end));
  content: "";
}

.single-product .woocommerce-Tabs-panel--description > ul,
.single-product .woocommerce-Tabs-panel--description > ol {
  display: grid;
  gap: 9px;
  padding: 0;
  list-style: none;
}

.single-product .woocommerce-Tabs-panel--description > ul li,
.single-product .woocommerce-Tabs-panel--description > ol li {
  position: relative;
  padding: 11px 14px 11px 44px;
  border: 1px solid rgb(36 107 79 / 9%);
  border-radius: 12px;
  color: #34493d;
  background: rgb(245 249 244 / 78%);
}

.single-product .woocommerce-Tabs-panel--description > ul li::before,
.single-product .woocommerce-Tabs-panel--description > ol li::before {
  position: absolute;
  top: 12px;
  left: 14px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--tmk-cta-start), var(--tmk-cta-end));
  content: "✓";
  font-size: 0.68rem;
  font-weight: 800;
}

.tmk-characteristics-intro {
  max-width: 780px;
  margin-bottom: 26px;
}

.tmk-characteristics-intro .tmk-eyebrow {
  margin: 0 0 12px;
  color: #4d762f;
  background: rgb(105 197 34 / 10%);
  border-color: rgb(105 197 34 / 18%);
}

.tmk-characteristics-intro > p:last-child {
  margin: 0;
  color: var(--tmk-muted);
}

.tmk-product-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.tmk-product-spec {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1.2fr);
  gap: 16px;
  align-items: center;
  padding: 15px 16px;
  border: 1px solid rgb(36 107 79 / 10%);
  border-radius: 13px;
  background: rgb(255 255 255 / 78%);
  box-shadow: 0 6px 18px rgb(18 48 34 / 4%);
}

.tmk-product-spec:nth-child(4n + 2),
.tmk-product-spec:nth-child(4n + 3) {
  background: linear-gradient(110deg, rgb(105 197 34 / 6%), rgb(255 255 255 / 82%));
}

.tmk-product-spec dt,
.tmk-product-spec dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.tmk-product-spec dt {
  color: #6b786f;
  font-size: 0.78rem;
  font-weight: 650;
}

.tmk-product-spec dd {
  color: #17291f;
  font-weight: 680;
}

.tmk-characteristics-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgb(201 166 107 / 22%);
  border-radius: 13px;
  background: linear-gradient(110deg, rgb(242 236 223 / 65%), rgb(255 255 255 / 75%));
}

.tmk-characteristics-note > span {
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #b48c51;
  font-family: Georgia, serif;
  font-weight: 700;
}

.tmk-characteristics-note p {
  margin: 0;
  color: #5d513e;
  font-size: 0.86rem;
  line-height: 1.5;
}

@media (max-width: 960px) {
  .tmk-header-main__brand {
    min-width: auto;
  }

  .custom-logo {
    max-width: 170px;
    max-height: 46px;
  }

  .tmk-product-specs {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .custom-logo {
    max-width: 145px;
    max-height: 40px;
  }

  .single-product div.product .woocommerce-tabs ul.tabs {
    display: flex;
    width: 100%;
    border-radius: 13px;
  }

  .single-product div.product .woocommerce-tabs ul.tabs li a {
    padding: 10px 13px;
    font-size: 0.78rem;
  }

  .single-product div.product .woocommerce-tabs .panel {
    padding: 24px 18px;
    border-radius: 17px;
  }

  .single-product div.product .woocommerce-tabs .panel::before {
    left: 18px;
  }

  .single-product .woocommerce-Tabs-panel--description > p {
    font-size: 0.95rem;
    line-height: 1.72;
  }

  .single-product .woocommerce-Tabs-panel--description > ul li,
  .single-product .woocommerce-Tabs-panel--description > ol li {
    padding: 10px 11px 10px 39px;
  }

  .tmk-product-spec {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 13px 14px;
  }
}

/* Header sizing corrections — 0.4.3 */
.custom-logo {
  width: 190px !important;
  max-width: 190px !important;
  height: auto !important;
  max-height: none;
}

.tmk-header-search form {
  min-height: 58px;
  padding: 5px 6px 5px 18px;
  border-color: rgb(78 131 62 / 14%);
  border-radius: 999px;
  background: linear-gradient(110deg, #fff, #f5f8f3);
  box-shadow: 0 8px 24px rgb(39 76 49 / 7%), inset 0 0 0 1px rgb(255 255 255 / 74%);
}

.tmk-header-search .search-field {
  min-width: 0;
  min-height: 46px;
  padding: 0 10px 0 2px;
  font-size: 0.94rem;
}

.tmk-header-search button {
  align-self: stretch;
  min-width: 112px;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 720;
  line-height: 1;
  white-space: nowrap;
}

.single-product div.product .tmk-product-top {
  display: grid;
  clear: both;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  align-items: start;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.single-product div.product .tmk-product-top::after {
  display: table;
  clear: both;
  content: "";
}

.single-product div.product .tmk-product-top > div.images,
.single-product div.product .tmk-product-top > .summary {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.single-product div.product .tmk-product-top > div.images {
  padding: 14px;
  border: 1px solid rgb(36 107 79 / 12%);
  border-right: 0;
  border-radius: 26px 0 0 26px;
  background: linear-gradient(145deg, #fff, #f5f8f4);
  box-shadow: 0 24px 65px rgb(18 48 34 / 9%);
}

.single-product div.product .tmk-product-top > .summary {
  align-self: start;
  min-height: 0;
  height: auto;
  border: 1px solid rgb(36 107 79 / 12%);
  border-radius: 0 26px 26px 0;
  background:
    radial-gradient(circle at 100% 0, rgb(201 166 107 / 12%), transparent 16rem),
    linear-gradient(145deg, #fff 0%, #fafcf9 100%);
  box-shadow: 0 24px 65px rgb(18 48 34 / 9%);
}

.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fff !important;
}

@media (max-width: 960px) {
  .custom-logo {
    width: 158px !important;
    max-width: 158px !important;
  }

  .tmk-primary-nav {
    top: 0;
    bottom: auto;
    height: 100dvh;
    max-height: 100dvh;
  }
}

@media (max-width: 640px) {
  .custom-logo {
    width: 138px !important;
    max-width: 138px !important;
  }

  .tmk-header-search form {
    min-height: 54px;
    padding: 4px 5px 4px 15px;
    border-radius: 16px;
  }

  .tmk-header-search {
    z-index: 42;
  }

  .tmk-header-search .search-field {
    min-height: 44px;
    padding-right: 6px;
    font-size: 0.88rem;
  }

  .tmk-header-search button {
    min-width: 94px;
    min-height: 44px;
    padding-inline: 14px;
    border-radius: 12px;
    font-size: 0.84rem;
  }

  .tmk-nav-wrap {
    padding-top: 86px;
  }

  .single-product div.product .tmk-product-top {
    grid-template-columns: 1fr;
  }

  .single-product div.product .tmk-product-top > div.images {
    padding: 9px;
    border-right: 1px solid rgb(36 107 79 / 12%);
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
  }

  .single-product div.product .tmk-product-top > .summary {
    min-height: 0;
    border-top: 1px solid rgb(36 107 79 / 11%);
    border-left: 1px solid rgb(36 107 79 / 12%);
    border-radius: 0 0 18px 18px;
  }
}

/* Graphite catalogue trigger and footer — 0.4.5 */
.tmk-catalog-menu > summary {
  border-color: rgb(255 255 255 / 9%);
  background:
    radial-gradient(circle at 12% 0, rgb(255 255 255 / 8%), transparent 42%),
    linear-gradient(105deg, #111415 0%, #1b2020 55%, #272d2a 100%);
  box-shadow: 0 12px 28px rgb(11 14 13 / 25%);
}

.tmk-catalog-menu > summary:hover {
  box-shadow: 0 15px 34px rgb(11 14 13 / 31%);
  filter: brightness(1.08);
}

.site-footer {
  background:
    radial-gradient(circle at 84% 0, rgb(105 197 34 / 7%), transparent 24rem),
    radial-gradient(circle at 8% 100%, rgb(255 255 255 / 3%), transparent 26rem),
    linear-gradient(125deg, #0c0e0f 0%, #151819 52%, #0b0d0e 100%);
}

.site-footer::before {
  border-color: rgb(255 255 255 / 2%);
}

.single-product div.product > .tmk-product-request {
  clear: both;
  margin: 28px 0 0;
  padding: clamp(24px, 4vw, 42px);
  border-color: rgb(78 131 62 / 14%);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgb(105 197 34 / 11%), transparent 20rem),
    linear-gradient(145deg, #f3f8f0, #fffefa);
  box-shadow: 0 18px 48px rgb(18 48 34 / 8%);
}

.single-product div.product > .tmk-product-request .tmk-request-form__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.single-product div.product > .related.products ul.products {
  --tmk-catalog-columns: 3;
}

@media (max-width: 960px) {
  .tmk-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .tmk-footer-grid {
    grid-template-columns: 1fr;
  }

  .tmk-footer-social {
    margin-top: 18px;
  }

  .single-product div.product > .tmk-product-request {
    padding: 22px 18px;
    border-radius: 17px;
  }

  .single-product div.product > .tmk-product-request .tmk-request-form__grid {
    grid-template-columns: 1fr;
  }

  .single-product div.product > .related.products ul.products {
    --tmk-catalog-columns: 1;
  }

  body.woocommerce ul.products li.product a img,
  body.woocommerce-page ul.products li.product a img {
    width: 132px !important;
    height: 180px !important;
    min-height: 180px;
    max-height: 180px;
    object-fit: cover;
  }
}
