/* ==========================================================================
   Tank Coffee - stylesheet build 20261101n
   Adds the stacked, brand-colour Meet The Farmers sections on top of build m.
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS
   Brand palette is inherited from the existing Tank Coffee identity:
   brown #804201 (wordmark "tank") and sage #acd68e (wordmark "coffee").
   ========================================================================== */

:root {
  /* Brand: brown ramp */
  --tk-brown-900: #2b1704;
  --tk-brown-800: #3f2103;
  --tk-brown-700: #5c2f01;
  --tk-brown-600: #804201;
  --tk-brown-500: #9d5510;
  --tk-brown-400: #b8702a;
  --tk-brown-300: #d19b62;
  --tk-brown-200: #e8c9a6;
  --tk-brown-100: #f5e8da;

  /* Logo green: sampled from the Tank Coffee wordmark (coffee_logo-Overlay.png) */
  --tk-logo-green: #acd48c; /* sampled from tankcoffee_logo-Overlay.png */

  /* Brand: sage ramp */
  --tk-sage-700: #6d9d4c;
  --tk-sage-600: #8cbe6a;
  --tk-sage-500: #acd68e;
  --tk-sage-400: #c4e3ad;
  --tk-sage-300: #d9edc9;
  --tk-sage-200: #e9f4de;
  --tk-sage-100: #f3f9ec;

  /* Neutrals & surfaces */
  --tk-cream: #faf8f4;
  --tk-cream-2: #f4efe6;
  --tk-white: #ffffff;
  --tk-ink: #2e2e2e;
  --tk-ink-soft: #4a4a4a;
  --tk-muted: #6b6b6b;
  --tk-line: #e5e5e5;
  --tk-line-soft: #efece7;

  /* Semantic */
  --tk-primary: var(--tk-brown-600);
  --tk-primary-hover: var(--tk-brown-700);
  --tk-accent: var(--tk-sage-500);
  --tk-dark: var(--tk-brown-900);
  --tk-surface: var(--tk-cream);
  --tk-body: var(--tk-ink-soft);

  /* Type — matched to prestigedrinks.com (playfair-display + futura-pt) */
  --tk-font-display: "Quicksand", "Quicksand Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --tk-font-body: "Jost", "futura-pt", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --tk-font-head: var(--tk-font-display);

  --tk-text-xs: 0.75rem;
  --tk-text-sm: 0.875rem;
  --tk-text-base: 1.0625rem;
  --tk-text-lg: 1.25rem;
  --tk-text-xl: clamp(1.375rem, 1.2vw + 1rem, 1.625rem);
  --tk-text-2xl: clamp(1.75rem, 1.9vw + 1rem, 2.375rem);
  --tk-text-3xl: clamp(2.125rem, 3vw + 1rem, 3.25rem);
  --tk-text-4xl: clamp(2.5rem, 4.6vw + 1rem, 4.25rem);

  /* Layout */
  --tk-container: 1280px;
  --tk-gutter: 24px;
  --tk-section-y: clamp(56px, 6vw, 96px);
  --tk-radius-sm: 6px;
  --tk-radius: 12px;
  --tk-radius-lg: 20px;
  --tk-radius-pill: 999px;

  /* Effects */
  --tk-shadow-sm: 0 1px 2px rgba(43, 23, 4, 0.06), 0 1px 3px rgba(43, 23, 4, 0.04);
  --tk-shadow: 0 4px 16px rgba(43, 23, 4, 0.08);
  --tk-shadow-lg: 0 18px 48px rgba(43, 23, 4, 0.14);
  --tk-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --tk-header-h: 116px;
}

/* ==========================================================================
   2. RESET & BASE
   ========================================================================== */

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

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--tk-surface);
  color: var(--tk-body);
  font-family: var(--tk-font-body);
  font-size: var(--tk-text-base);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }

a {
  color: var(--tk-primary);
  text-decoration: none;
  transition: color 0.18s var(--tk-ease);
}
a:hover { color: var(--tk-brown-800); }

ul, ol { padding-left: 1.25em; }

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

button { cursor: pointer; }

:focus-visible {
  outline: 2px solid var(--tk-brown-500);
  outline-offset: 2px;
  border-radius: 3px;
}

/* ==========================================================================
   3. TYPOGRAPHY
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--tk-font-display);
  font-weight: 600;
  color: var(--tk-ink);
  line-height: 1.1;
  letter-spacing: normal;
  margin: 0 0 0.5em;
  font-optical-sizing: auto;
  text-wrap: balance;
}

h1 { font-size: var(--tk-text-4xl); }
h2 { font-size: var(--tk-text-3xl); }
h3 { font-size: var(--tk-text-2xl); }
h4 { font-size: var(--tk-text-xl); }
h5 { font-size: var(--tk-text-lg); }
h6 { font-size: var(--tk-text-base); }

p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

strong, b { font-weight: 700; color: var(--tk-ink); }

blockquote {
  margin: 0;
  font-family: var(--tk-font-display);
  font-size: var(--tk-text-xl);
  font-style: italic;
  color: var(--tk-ink);
}

.tk-eyebrow {
  display: inline-block;
  font-family: var(--tk-font-body);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tk-brown-500);
  margin: 0 0 14px;
}

.tk-lede {
  font-size: clamp(1.0625rem, 0.6vw + 0.95rem, 1.1875rem);
  color: var(--tk-muted);
  line-height: 1.7;
  max-width: 58ch;
}

.tk-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: clamp(28px, 3vw, 48px);
  flex-wrap: wrap;
}
.tk-section-head h2 { margin: 0; }
.tk-section-head .tk-lede { margin: 10px 0 0; }

.tk-section-head--center {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.tk-section-head--center .tk-lede { margin-inline: auto; }

/* ==========================================================================
   4. LAYOUT PRIMITIVES
   ========================================================================== */

.tk-container {
  width: 100%;
  max-width: var(--tk-container);
  margin-inline: auto;
  padding-inline: var(--tk-gutter);
}

.tk-container--wide { max-width: 1520px; }
.tk-container--narrow { max-width: 860px; }

.tk-section { padding-block: var(--tk-section-y); }
.tk-section--tight { padding-block: clamp(36px, 4vw, 64px); }
.tk-section--flush-top { padding-top: 0; }
.tk-section--flush-bottom { padding-bottom: 0; }

.tk-bg-cream { background: var(--tk-cream); }
.tk-bg-cream-2 { background: var(--tk-cream-2); }
.tk-bg-white { background: var(--tk-white); }
.tk-bg-sage { background: var(--tk-sage-100); }
.tk-bg-dark { background: var(--tk-brown-900); color: var(--tk-brown-100); }
.tk-bg-dark h1, .tk-bg-dark h2, .tk-bg-dark h3, .tk-bg-dark h4 { color: var(--tk-white); }

.tk-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  background: var(--tk-brown-600);
  color: #fff;
  padding: 12px 20px;
  border-radius: 0 0 var(--tk-radius-sm) 0;
}
.tk-skip-link:focus { left: 0; color: #fff; }

/* ==========================================================================
   5. BUTTONS
   ========================================================================== */

.tk-btn,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 30px;
  border: 1px solid transparent;
  border-radius: var(--tk-radius-pill);
  background: var(--tk-brown-600);
  color: var(--tk-white);
  font-family: var(--tk-font-body);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;
  transition: transform 0.16s var(--tk-ease), background-color 0.16s var(--tk-ease),
              box-shadow 0.16s var(--tk-ease), color 0.16s var(--tk-ease);
  box-shadow: var(--tk-shadow-sm);
}
.tk-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--tk-brown-700);
  color: var(--tk-white);
  transform: translateY(-1px);
  box-shadow: var(--tk-shadow);
}

.tk-btn--ghost {
  background: transparent;
  color: var(--tk-ink);
  border-color: var(--tk-ink);
  box-shadow: none;
}
.tk-btn--ghost:hover {
  background: var(--tk-ink);
  color: var(--tk-white);
  border-color: var(--tk-ink);
}

.tk-btn--light {
  background: var(--tk-white);
  color: var(--tk-brown-700);
}
.tk-btn--light:hover { background: var(--tk-cream-2); color: var(--tk-brown-800); }

.tk-btn--on-dark {
  background: var(--tk-sage-500);
  color: var(--tk-brown-900);
}
.tk-btn--on-dark:hover { background: var(--tk-sage-400); color: var(--tk-brown-900); }

.tk-btn--sm { padding: 11px 22px; font-size: 0.875rem; }
.tk-btn--lg { padding: 18px 38px; font-size: 1rem; }

.tk-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.tk-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--tk-brown-600);
  white-space: nowrap;
}
.tk-link-arrow svg { transition: transform 0.18s var(--tk-ease); }
.tk-link-arrow:hover svg { transform: translateX(4px); }

/* ==========================================================================
   6. HEADER
   ========================================================================== */

.tk-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: var(--tk-cream);
  border-bottom: 1px solid transparent;
  transition: background-color 0.25s var(--tk-ease), box-shadow 0.25s var(--tk-ease),
              border-color 0.25s var(--tk-ease);
}
.tk-header.is-stuck {
  background: rgba(250, 248, 244, 0.97);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom-color: var(--tk-line-soft);
  box-shadow: 0 2px 18px rgba(43, 23, 4, 0.07);
}

.tk-header__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding-block: 18px;
  transition: padding 0.25s var(--tk-ease);
}
.tk-header.is-stuck .tk-header__main { padding-block: 11px; }

.tk-logo { display: flex; align-items: center; flex-shrink: 0; }
.tk-logo img {
  width: auto;
  height: auto;
  max-height: 44px;
  transition: max-height 0.25s var(--tk-ease);
}
.tk-header.is-stuck .tk-logo img { max-height: 36px; }
.tk-logo__text {
  font-family: var(--tk-font-display);
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--tk-brown-600);
  letter-spacing: -0.02em;
}

/* Header search */
.tk-header__search { flex: 1 1 auto; max-width: 520px; }
.tk-header__search form {
  display: flex;
  align-items: center;
  background: var(--tk-white);
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-pill);
  padding: 5px 6px 5px 20px;
  transition: border-color 0.18s var(--tk-ease), box-shadow 0.18s var(--tk-ease);
}
.tk-header__search form:focus-within {
  border-color: var(--tk-brown-300);
  box-shadow: 0 0 0 4px rgba(128, 66, 1, 0.08);
}
.tk-header__search input[type="search"],
.tk-header__search input[type="text"] {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 8px 0;
  font-size: 0.9375rem;
  color: var(--tk-ink);
  outline: none;
  min-width: 0;
}
.tk-header__search input::placeholder { color: #9a9a9a; }
.tk-header__search button {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: var(--tk-brown-600);
  color: #fff;
  transition: background-color 0.18s var(--tk-ease);
}
.tk-header__search button:hover { background: var(--tk-brown-700); }

.tk-header__search .screen-reader-text,
.tk-header__search label { display: none; }

/* Header actions */
.tk-header__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.tk-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  border-radius: var(--tk-radius-pill);
  color: var(--tk-ink);
  font-size: 0.875rem;
  font-weight: 700;
  transition: background-color 0.18s var(--tk-ease), color 0.18s var(--tk-ease);
}
.tk-icon-btn:hover { background: rgba(128, 66, 1, 0.08); color: var(--tk-brown-700); }
.tk-icon-btn .tk-count {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: var(--tk-radius-pill);
  background: var(--tk-brown-600);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}
@media (max-width: 860px) {
  .tk-icon-btn .tk-count {
    position: absolute;
    top: -3px;
    right: -3px;
  }
}
.tk-header__burger { display: none; }

/* Nav row */
.tk-nav-bar { border-top: 1px solid var(--tk-line-soft); }
.tk-header.is-stuck .tk-nav-bar { border-top-color: transparent; }

.tk-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}
.tk-nav > li { position: relative; }
.tk-nav > li > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 15px 16px;
  color: var(--tk-ink);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.005em;
  white-space: nowrap;
  transition: color 0.16s var(--tk-ease);
}
.tk-nav > li > a::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 8px;
  height: 2px;
  background: var(--tk-brown-600);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s var(--tk-ease);
}
.tk-nav > li:hover > a,
.tk-nav > li.current-menu-item > a,
.tk-nav > li.current-menu-ancestor > a { color: var(--tk-brown-700); }
.tk-nav > li:hover > a::after,
.tk-nav > li.current-menu-item > a::after,
.tk-nav > li.current-menu-ancestor > a::after { transform: scaleX(1); }

.tk-nav .tk-caret {
  width: 9px;
  height: 9px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s var(--tk-ease);
  opacity: 0.65;
}
.tk-nav > li:hover .tk-caret { transform: rotate(225deg) translateY(-1px); }

/* Dropdowns */
.tk-nav .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 8px);
  min-width: 236px;
  padding: 10px;
  margin: 0;
  list-style: none;
  background: var(--tk-white);
  border: 1px solid var(--tk-line-soft);
  border-radius: var(--tk-radius);
  box-shadow: var(--tk-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s var(--tk-ease), transform 0.18s var(--tk-ease), visibility 0.18s;
  z-index: 20;
}
.tk-nav li:hover > .sub-menu,
.tk-nav li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.tk-nav .sub-menu li { position: relative; }
.tk-nav .sub-menu a {
  display: block;
  padding: 9px 14px;
  border-radius: var(--tk-radius-sm);
  color: var(--tk-ink-soft);
  font-size: 0.9375rem;
  font-weight: 400;
  white-space: nowrap;
  transition: background-color 0.14s var(--tk-ease), color 0.14s var(--tk-ease);
}
.tk-nav .sub-menu a:hover { background: var(--tk-cream-2); color: var(--tk-brown-700); }

/* Third level */
.tk-nav .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  transform: translate(6px, 0);
}
.tk-nav .sub-menu li:hover > .sub-menu { transform: translate(0, 0); }

/* Mobile nav panel */
.tk-mobile-nav { display: none; }

/* ==========================================================================
   7. HERO
   ========================================================================== */

.tk-hero {
  position: relative;
  background: var(--tk-cream);
  overflow: hidden;
}
.tk-hero__grid {
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  align-items: stretch;
  min-height: clamp(460px, 52vw, 640px);
}
.tk-hero__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(40px, 5vw, 76px) clamp(24px, 4vw, 64px) clamp(40px, 5vw, 76px) 0;
}
.tk-hero__panel h1 {
  margin: 0 0 20px;
  font-size: clamp(2.375rem, 4.4vw, 4rem);
  line-height: 1.04;
  letter-spacing: normal;
}
.tk-hero__panel h1 em {
  font-style: italic;
  color: var(--tk-brown-600);
  font-weight: 500;
}
.tk-hero__panel .tk-lede { margin-bottom: 0; max-width: 46ch; }

.tk-hero__media {
  position: relative;
  background: var(--tk-cream-2);
  border-radius: var(--tk-radius-lg) 0 0 var(--tk-radius-lg);
  overflow: hidden;
  min-height: 320px;
}
.tk-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.tk-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(43, 23, 4, 0.14), transparent 46%);
  pointer-events: none;
}

.tk-hero__badge {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: var(--tk-radius-pill);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  box-shadow: var(--tk-shadow);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--tk-brown-700);
}
.tk-hero__badge .tk-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tk-sage-600);
  flex-shrink: 0;
}

/* ==========================================================================
   8. USP / TRUST STRIP
   ========================================================================== */

.tk-usp {
  background: var(--tk-logo-green);
  border-block: 1px solid var(--tk-sage-700);
}
.tk-usp__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 2.4vw, 40px);
  padding-block: clamp(28px, 3vw, 42px);
}
.tk-usp__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.tk-usp__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--tk-white);
  color: var(--tk-brown-600);
  box-shadow: var(--tk-shadow-sm);
}
.tk-usp__text strong {
  display: block;
  font-size: 0.9375rem;
  line-height: 1.35;
  color: var(--tk-brown-800);
  margin-bottom: 2px;
}
.tk-usp__text span {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--tk-brown-700);
}

/* ==========================================================================
   9. CATEGORY RAIL
   ========================================================================== */

.tk-cat-rail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: clamp(12px, 1.6vw, 22px);
}
.tk-cat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 22px 14px;
  background: var(--tk-white);
  border: 1px solid var(--tk-line-soft);
  border-radius: var(--tk-radius);
  text-align: center;
  transition: transform 0.2s var(--tk-ease), box-shadow 0.2s var(--tk-ease),
              border-color 0.2s var(--tk-ease);
}
.tk-cat-card:hover {
  transform: translateY(-3px);
  border-color: var(--tk-brown-200);
  box-shadow: var(--tk-shadow);
}
.tk-cat-card__thumb {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--tk-cream-2);
  flex-shrink: 0;
}
.tk-cat-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.tk-cat-card__name {
  font-family: var(--tk-font-display);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--tk-ink);
  line-height: 1.25;
}
.tk-cat-card__count {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--tk-muted);
}

/* ==========================================================================
   10. PRODUCT CAROUSEL & GRID
   ========================================================================== */

.tk-carousel-wrap { position: relative; }
.tk-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 1fr);
  gap: clamp(14px, 1.6vw, 24px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 4px;
}
.tk-carousel::-webkit-scrollbar { display: none; }
.tk-carousel > * { scroll-snap-align: start; }

.tk-carousel__nav {
  display: flex;
  gap: 8px;
}
.tk-carousel__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--tk-line);
  border-radius: 50%;
  background: var(--tk-white);
  color: var(--tk-ink);
  transition: background-color 0.16s var(--tk-ease), border-color 0.16s var(--tk-ease),
              color 0.16s var(--tk-ease), opacity 0.16s var(--tk-ease);
}
.tk-carousel__btn:hover:not(:disabled) {
  background: var(--tk-brown-600);
  border-color: var(--tk-brown-600);
  color: #fff;
}
.tk-carousel__btn:disabled { opacity: 0.35; cursor: default; }

/* ==========================================================================
   11. SPLIT FEATURE BAND
   ========================================================================== */

.tk-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  border-radius: var(--tk-radius-lg);
  overflow: hidden;
  background: var(--tk-white);
  box-shadow: var(--tk-shadow);
}
.tk-split--reverse .tk-split__media { order: -1; }
.tk-split__media {
  position: relative;
  min-height: 380px;
  background: var(--tk-cream-2);
}
.tk-split__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tk-split__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(32px, 4vw, 64px);
  background: var(--tk-cream-2);
}
.tk-split__body h2 { margin-bottom: 18px; }
.tk-split__body p { color: var(--tk-ink-soft); }
.tk-split--dark .tk-split__body { background: var(--tk-brown-900); color: var(--tk-brown-200); }
.tk-split--dark .tk-split__body h2 { color: var(--tk-white); }
.tk-split--dark .tk-split__body p { color: var(--tk-brown-200); }
.tk-split--sage .tk-split__body { background: var(--tk-sage-100); }

.tk-split__list {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.tk-split__list li {
  position: relative;
  padding-left: 30px;
  font-size: 0.9688rem;
  line-height: 1.5;
}
.tk-split__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--tk-sage-500);
  box-shadow: inset 0 0 0 4px var(--tk-sage-100);
}
.tk-split--dark .tk-split__list li::before { box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.12); }

/* ==========================================================================
   12. CTA BAND
   ========================================================================== */

.tk-cta-band {
  position: relative;
  background: var(--tk-brown-900);
  color: var(--tk-brown-100);
  overflow: hidden;
  border-radius: var(--tk-radius-lg);
}
.tk-cta-band__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  padding: clamp(36px, 4.5vw, 66px);
  flex-wrap: wrap;
}
.tk-cta-band h2 { color: var(--tk-white); margin: 0 0 10px; }
.tk-cta-band p { color: var(--tk-brown-200); margin: 0; max-width: 56ch; }
.tk-cta-band__glow {
  position: absolute;
  right: -120px;
  top: -120px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(172, 214, 142, 0.22), transparent 68%);
  pointer-events: none;
}

/* ==========================================================================
   13. TESTIMONIALS
   ========================================================================== */

.tk-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 26px);
}
.tk-testimonial {
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 2.6vw, 34px);
  background: var(--tk-white);
  border: 1px solid var(--tk-line-soft);
  border-radius: var(--tk-radius);
  box-shadow: var(--tk-shadow-sm);
}
.tk-stars {
  display: inline-flex;
  gap: 3px;
  color: #d9a441;
  margin-bottom: 14px;
}
.tk-testimonial__quote {
  font-family: var(--tk-font-display);
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--tk-ink);
  margin: 0 0 20px;
  flex: 1;
}
.tk-testimonial__author {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--tk-ink-soft);
  border-top: 1px solid var(--tk-line-soft);
  padding-top: 16px;
}
.tk-testimonial__author span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--tk-sage-200);
  color: var(--tk-brown-700);
  font-weight: 900;
  flex-shrink: 0;
}

/* ==========================================================================
   14. POST GRID
   ========================================================================== */

.tk-post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2.2vw, 30px);
}
.tk-post-card {
  display: flex;
  flex-direction: column;
  background: var(--tk-white);
  border: 1px solid var(--tk-line-soft);
  border-radius: var(--tk-radius);
  overflow: hidden;
  transition: transform 0.2s var(--tk-ease), box-shadow 0.2s var(--tk-ease);
}
.tk-post-card:hover { transform: translateY(-3px); box-shadow: var(--tk-shadow); }
.tk-post-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--tk-cream-2);
  overflow: hidden;
}
.tk-post-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s var(--tk-ease);
}
.tk-post-card:hover .tk-post-card__media img { transform: scale(1.04); }
.tk-post-card__body { padding: 22px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.tk-post-card__cat {
  font-size: 0.6875rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--tk-brown-500);
  margin-bottom: 9px;
}
.tk-post-card__title {
  font-family: var(--tk-font-display);
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 10px;
}
.tk-post-card__title a { color: var(--tk-ink); }
.tk-post-card__title a:hover { color: var(--tk-brown-700); }
.tk-post-card__excerpt {
  font-size: 0.9063rem;
  color: var(--tk-muted);
  line-height: 1.6;
  margin: 0 0 16px;
  flex: 1;
}
.tk-post-card__meta {
  font-size: 0.8125rem;
  color: var(--tk-muted);
  display: flex;
  gap: 10px;
  align-items: center;
}

/* ==========================================================================
   15. FOOTER
   ========================================================================== */

.tk-footer {
  background: var(--tk-brown-900);
  color: var(--tk-brown-200);
  margin-top: auto;
}
.tk-footer a { color: var(--tk-brown-200); }
.tk-footer a:hover { color: var(--tk-sage-500); }

.tk-footer__top {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: clamp(28px, 3.4vw, 56px);
  padding-block: clamp(48px, 5vw, 76px);
}
.tk-footer__brand img { max-height: 40px; width: auto; margin-bottom: 18px; filter: brightness(0) invert(1); opacity: 0.92; }
.tk-footer__brand p { font-size: 0.9063rem; line-height: 1.65; color: var(--tk-brown-300); max-width: 34ch; }

.tk-footer__col h3 {
  font-family: var(--tk-font-body);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--tk-white);
  margin: 0 0 18px;
}
.tk-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.tk-footer__col a { font-size: 0.9063rem; }

.tk-footer__social { display: flex; gap: 10px; margin-top: 20px; }
.tk-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  transition: background-color 0.18s var(--tk-ease), border-color 0.18s var(--tk-ease);
}
.tk-footer__social a:hover { background: var(--tk-sage-500); border-color: var(--tk-sage-500); color: var(--tk-brown-900); }

.tk-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-block: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  color: var(--tk-brown-300);
}
.tk-footer__bottom ul { display: flex; gap: 20px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }

.site { display: flex; flex-direction: column; min-height: 100vh; }
.site-content { flex: 1 0 auto; }

/* ==========================================================================
   16. WOOCOMMERCE — SHOP ARCHIVE
   ========================================================================== */

.woocommerce-page .tk-shop-hero {
  background: var(--tk-cream-2);
  padding-block: clamp(36px, 4vw, 64px);
  border-bottom: 1px solid var(--tk-line-soft);
}
.tk-shop-hero h1 { margin: 0 0 10px; font-size: var(--tk-text-3xl); }
.tk-shop-hero p { margin: 0; color: var(--tk-muted); max-width: 62ch; }

/* Breadcrumbs */
.tk-woo-main .woocommerce-breadcrumb,
.woocommerce-breadcrumb,
.tk-breadcrumbs {
  font-size: 0.8125rem;
  color: var(--tk-muted);
  margin: 0 0 18px;
}
.woocommerce-breadcrumb a,
.tk-breadcrumbs a { color: var(--tk-muted); }
.woocommerce-breadcrumb a:hover,
.tk-breadcrumbs a:hover { color: var(--tk-brown-600); }

.tk-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding-block: 22px;
  border-bottom: 1px solid var(--tk-line-soft);
  margin-bottom: clamp(24px, 3vw, 40px);
}
.tk-shop-toolbar .woocommerce-result-count { margin: 0; font-size: 0.875rem; color: var(--tk-muted); }
.tk-shop-toolbar .woocommerce-ordering { margin: 0; }
.tk-shop-toolbar select {
  padding: 10px 38px 10px 16px;
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-pill);
  background-color: var(--tk-white);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--tk-ink);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232e2e2e' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  cursor: pointer;
}

/* Product grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2vw, 28px);
  margin: 0 0 40px;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0;
  display: flex;
  flex-direction: column;
  background: var(--tk-white);
  border: 1px solid var(--tk-line-soft);
  border-radius: var(--tk-radius);
  overflow: hidden;
  transition: transform 0.2s var(--tk-ease), box-shadow 0.2s var(--tk-ease),
              border-color 0.2s var(--tk-ease);
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  border-color: var(--tk-brown-200);
  box-shadow: var(--tk-shadow);
}

/* Product card internals */
.tk-card__media {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  background: var(--tk-cream-2);
  overflow: hidden;
}
.tk-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s var(--tk-ease);
}
.woocommerce ul.products li.product:hover .tk-card__media img { transform: scale(1.05); }

.tk-card__badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 2;
}
.tk-badge {
  display: inline-block;
  padding: 5px 11px;
  border-radius: var(--tk-radius-pill);
  background: var(--tk-brown-600);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.4;
}
.tk-badge--sale { background: #b3261e; }
.tk-badge--sage { background: var(--tk-sage-600); color: var(--tk-brown-900); }

.tk-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px 20px 20px;
}
.tk-card__cat {
  font-size: 0.6875rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tk-muted);
  margin-bottom: 7px;
}
.tk-card__title {
  font-family: var(--tk-font-display);
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.32;
  margin: 0 0 8px;
}
.tk-card__title a { color: var(--tk-ink); }
.tk-card__title a:hover { color: var(--tk-brown-700); }
.tk-card__meta {
  font-size: 0.8125rem;
  color: var(--tk-muted);
  margin-bottom: 12px;
  line-height: 1.45;
}
.tk-card__foot {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  padding-top: 14px;
}

.woocommerce ul.products li.product .price {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0;
  font-family: var(--tk-font-body);
  font-size: 1.0625rem;
  font-weight: 900;
  color: var(--tk-brown-700);
  line-height: 1.3;
}
.woocommerce ul.products li.product .price del {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--tk-muted);
  opacity: 1;
}
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol { font-size: 0.9em; }

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  margin: 0;
  padding: 11px 20px;
  font-size: 0.8125rem;
  border-radius: var(--tk-radius-pill);
  white-space: nowrap;
  width: 100%;
  text-align: center;
  justify-content: center;
  box-sizing: border-box;
}
.woocommerce ul.products li.product a.added_to_cart {
  background: var(--tk-sage-200);
  color: var(--tk-brown-800);
  box-shadow: none;
}
.woocommerce ul.products li.product a.added_to_cart:hover { background: var(--tk-sage-300); color: var(--tk-brown-900); }

.woocommerce ul.products li.product .star-rating,
.tk-card__rating .star-rating {
  font-size: 0.8125rem;
  margin: 0 0 10px;
  color: #d9a441;
  float: none;
  width: 5.4em;
}

/* Sale flash (native) hidden — we render our own badges */
.woocommerce span.onsale { display: none; }

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin: 40px 0 0; text-align: center; }
.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: inline-flex;
  gap: 6px;
  margin: 0;
}
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-pill);
  background: var(--tk-white);
  color: var(--tk-ink);
  font-size: 0.875rem;
  font-weight: 700;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--tk-brown-600);
  border-color: var(--tk-brown-600);
  color: #fff;
}

/* ==========================================================================
   17. WOOCOMMERCE — SINGLE PRODUCT
   ========================================================================== */

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  padding-block: clamp(28px, 3.5vw, 52px);
}
.woocommerce div.product .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0;
  border-radius: var(--tk-radius);
  overflow: hidden;
  background: var(--tk-cream-2);
}
.woocommerce div.product div.images img { border-radius: 0; }
.woocommerce div.product div.images .flex-control-thumbs {
  display: flex;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  width: 76px;
  margin: 0;
  border-radius: var(--tk-radius-sm);
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color 0.16s var(--tk-ease);
}
.woocommerce div.product div.images .flex-control-thumbs li img { opacity: 1; }
.woocommerce div.product div.images .flex-control-thumbs li:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { border-color: var(--tk-brown-600); }

.woocommerce div.product .summary {
  width: 100% !important;
  float: none !important;
  margin: 0;
}
.woocommerce div.product .product_title {
  font-size: clamp(1.75rem, 2.4vw, 2.5rem);
  margin: 0 0 14px;
  line-height: 1.12;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--tk-brown-700);
  margin: 0 0 18px;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.woocommerce div.product p.price del { font-size: 1rem; font-weight: 400; color: var(--tk-muted); opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }

.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--tk-ink-soft);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--tk-line-soft);
}

.woocommerce div.product form.cart {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.woocommerce div.product form.cart .quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-pill);
  background: var(--tk-white);
  overflow: hidden;
  height: 52px;
}
.woocommerce div.product form.cart .quantity input.qty,
.woocommerce .quantity input.qty {
  width: 62px;
  height: 100%;
  padding: 0 6px;
  border: 0;
  background: transparent;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  -moz-appearance: textfield;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button {
  flex: 1 1 auto;
  min-height: 52px;
  font-size: 1rem;
}

.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 18px; }
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th { padding: 6px 0; vertical-align: middle; }
.woocommerce div.product form.cart .variations label {
  font-size: 0.8125rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tk-muted);
}
.woocommerce div.product form.cart .variations select {
  width: 100%;
  padding: 13px 40px 13px 18px;
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-sm);
  background-color: var(--tk-white);
  font-size: 0.9375rem;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232e2e2e' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
}
.woocommerce div.product form.cart .reset_variations {
  font-size: 0.8125rem;
  color: var(--tk-muted);
  margin-top: 6px;
  display: inline-block;
}

.woocommerce div.product .product_meta {
  font-size: 0.8125rem;
  color: var(--tk-muted);
  border-top: 1px solid var(--tk-line-soft);
  padding-top: 18px;
  margin-top: 8px;
  display: grid;
  gap: 6px;
}
.woocommerce div.product .product_meta > span { display: block; }
.woocommerce div.product .product_meta a { color: var(--tk-brown-600); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: clamp(32px, 4vw, 56px); }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--tk-line-soft);
  flex-wrap: wrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 13px 20px;
  color: var(--tk-muted);
  font-family: var(--tk-font-body);
  font-size: 0.9063rem;
  font-weight: 700;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.16s var(--tk-ease), border-color 0.16s var(--tk-ease);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--tk-brown-700);
  border-bottom-color: var(--tk-brown-600);
}
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: var(--tk-text-xl); margin-bottom: 16px; }

/* Related products */
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; margin-top: clamp(40px, 5vw, 72px); }
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 { font-size: var(--tk-text-2xl); margin-bottom: 26px; }

/* ==========================================================================
   18. WOOCOMMERCE — CART / CHECKOUT / ACCOUNT / NOTICES
   ========================================================================== */

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-noreviews {
  border: 1px solid var(--tk-line-soft);
  border-top: 3px solid var(--tk-sage-600);
  background: var(--tk-sage-100);
  border-radius: var(--tk-radius-sm);
  padding: 16px 20px 16px 52px;
  color: var(--tk-ink-soft);
  font-size: 0.9375rem;
  margin-bottom: 26px;
  position: relative;
  list-style: none;
}
.woocommerce .woocommerce-error { border-top-color: #b3261e; background: #fdf3f2; }
.woocommerce .woocommerce-info { border-top-color: var(--tk-brown-500); background: var(--tk-cream-2); }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
  left: 20px;
  top: 17px;
  color: var(--tk-brown-600);
}
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
  margin-left: auto;
  padding: 9px 18px;
  font-size: 0.8125rem;
}

.woocommerce table.shop_table {
  border: 1px solid var(--tk-line-soft);
  border-radius: var(--tk-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: var(--tk-white);
  margin-bottom: 28px;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 15px 18px;
  border-bottom: 1px solid var(--tk-line-soft);
  font-size: 0.9375rem;
}
.woocommerce table.shop_table th {
  background: var(--tk-cream-2);
  font-family: var(--tk-font-body);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--tk-ink);
}
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table td.product-name a { font-weight: 700; color: var(--tk-ink); }
.woocommerce table.shop_table td.product-name a:hover { color: var(--tk-brown-700); }
.woocommerce table.shop_table img { width: 68px; border-radius: var(--tk-radius-sm); }
.woocommerce table.shop_table .quantity input.qty { width: 60px; padding: 8px; border: 1px solid var(--tk-line); border-radius: var(--tk-radius-sm); }

.woocommerce .cart_totals h2,
.woocommerce #order_review_heading { font-size: var(--tk-text-xl); margin-bottom: 18px; }
.woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
.woocommerce .coupon { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.woocommerce .coupon input.input-text {
  padding: 12px 18px; border: 1px solid var(--tk-line); border-radius: var(--tk-radius-pill);
  min-width: 200px; background: var(--tk-white); font-size: 0.9375rem;
}

.woocommerce form .form-row { padding: 0 0 18px; margin: 0; }
.woocommerce form .form-row label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: var(--tk-ink);
  margin-bottom: 7px;
}
.woocommerce form .form-row .required { color: #b3261e; text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  width: 100%;
  padding: 13px 18px;
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-sm);
  background: var(--tk-white);
  font-size: 0.9375rem;
  color: var(--tk-ink);
  min-height: 50px;
  box-shadow: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--tk-brown-300);
  box-shadow: 0 0 0 4px rgba(128, 66, 1, 0.08);
  outline: none;
}
.woocommerce form .form-row textarea { min-height: 110px; }

.woocommerce #payment {
  background: var(--tk-white);
  border: 1px solid var(--tk-line-soft);
  border-radius: var(--tk-radius);
  padding: 4px 22px 22px;
}
.woocommerce #payment ul.payment_methods { border-bottom: 1px solid var(--tk-line-soft); padding: 16px 0; }
.woocommerce #payment ul.payment_methods li { list-style: none; margin-bottom: 8px; }
.woocommerce #payment div.payment_box { background: var(--tk-cream-2); border-radius: var(--tk-radius-sm); font-size: 0.875rem; }
.woocommerce #payment div.payment_box::before { display: none; }
.woocommerce #payment #place_order { width: 100%; min-height: 54px; font-size: 1rem; }

.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; float: none; margin-bottom: 28px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: inline-block;
  padding: 11px 20px;
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-pill);
  background: var(--tk-white);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--tk-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--tk-brown-600);
  border-color: var(--tk-brown-600);
  color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }

.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-register,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--tk-line-soft);
  border-radius: var(--tk-radius);
  padding: 26px;
  background: var(--tk-white);
}

/* ==========================================================================
   19. BLOG / CONTENT
   ========================================================================== */

.tk-entry-header { margin-bottom: clamp(24px, 3vw, 40px); }
.tk-entry-header h1 { margin: 0 0 14px; }
.tk-entry-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  color: var(--tk-muted);
}
.tk-entry-meta .tk-dot-sep { width: 4px; height: 4px; border-radius: 50%; background: var(--tk-line); }

.tk-entry-content { font-size: 1.0625rem; line-height: 1.75; color: var(--tk-body); }
.tk-entry-content > * + * { margin-top: 1.1em; }
.tk-entry-content h2 { margin-top: 2em; margin-bottom: 0.6em; font-size: var(--tk-text-2xl); }
.tk-entry-content h3 { margin-top: 1.7em; margin-bottom: 0.5em; font-size: var(--tk-text-xl); }
.tk-entry-content h4 { margin-top: 1.5em; margin-bottom: 0.5em; font-size: var(--tk-text-lg); }
.tk-entry-content ul,
.tk-entry-content ol { padding-left: 1.4em; }
.tk-entry-content li { margin-bottom: 0.5em; }
.tk-entry-content img { border-radius: var(--tk-radius); }
.tk-entry-content figure { margin: 1.6em 0; }
.tk-entry-content figcaption { font-size: 0.8125rem; color: var(--tk-muted); margin-top: 8px; text-align: center; }
.tk-entry-content blockquote {
  padding: 6px 0 6px 26px;
  border-left: 3px solid var(--tk-sage-500);
  margin: 1.6em 0;
  color: var(--tk-ink);
}
.tk-entry-content table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.tk-entry-content th,
.tk-entry-content td { border: 1px solid var(--tk-line); padding: 11px 14px; text-align: left; }
.tk-entry-content th { background: var(--tk-cream-2); font-weight: 700; }
.tk-entry-content a { text-decoration: underline; text-underline-offset: 2px; }

.tk-post-hero {
  position: relative;
  border-radius: var(--tk-radius);
  overflow: hidden;
  margin-bottom: clamp(28px, 3.5vw, 44px);
  aspect-ratio: 21 / 9;
  background: var(--tk-cream-2);
}
.tk-post-hero img { width: 100%; height: 100%; object-fit: cover; }

/* Author / share */
.tk-post-footer {
  margin-top: clamp(32px, 4vw, 52px);
  padding-top: 26px;
  border-top: 1px solid var(--tk-line-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

/* ==========================================================================
   20. FORMS
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
  max-width: 100%;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  padding: 13px 18px;
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-sm);
  background: var(--tk-white);
  font-size: 0.9375rem;
}
.wpcf7 textarea { min-height: 150px; }
.wpcf7 input[type="submit"] {
  padding: 15px 34px;
  border: 0;
  border-radius: var(--tk-radius-pill);
  background: var(--tk-brown-600);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.16s var(--tk-ease);
}
.wpcf7 input[type="submit"]:hover { background: var(--tk-brown-700); }

/* ==========================================================================
   21. UTILITIES
   ========================================================================== */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.skip-link:focus {
  background-color: var(--tk-cream-2);
  clip: auto !important;
  clip-path: none;
  color: var(--tk-brown-700);
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 6px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 6px;
  width: auto;
  z-index: 100000;
}

.alignleft { float: left; margin: 0 24px 20px 0; }
.alignright { float: right; margin: 0 0 20px 24px; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide { margin-inline: clamp(-80px, -4vw, 0px); max-width: none; }
.alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; width: 100vw; }

.sticky .tk-post-card { border-color: var(--tk-sage-400); }

.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 0.8125rem; color: var(--tk-muted); text-align: center; margin-top: 8px; }

.tk-empty {
  padding: clamp(40px, 5vw, 72px);
  text-align: center;
  background: var(--tk-cream-2);
  border-radius: var(--tk-radius);
}
.tk-empty h2 { margin-bottom: 10px; }

/* ==========================================================================
   22. RESPONSIVE
   ========================================================================== */

@media (max-width: 1180px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
  .tk-footer__top { grid-template-columns: 1.4fr 1fr 1fr; }
  .tk-footer__col:last-child { grid-column: span 3; }
}

@media (max-width: 1024px) {
  :root { --tk-gutter: 20px; }

  .tk-header__search { display: none; }
  .tk-header__burger { display: inline-flex; }
  .tk-header__actions .tk-label { display: none; }

  .tk-nav-bar { display: none; }

  /* Mobile panel */
  .tk-mobile-nav {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: var(--tk-cream);
    padding: 18px var(--tk-gutter) 40px;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.28s var(--tk-ease);
    visibility: hidden;
  }
  .tk-mobile-nav.is-open { transform: translateX(0); visibility: visible; }
  .tk-mobile-nav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--tk-line-soft);
    margin-bottom: 12px;
  }
  .tk-mobile-nav__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--tk-line);
    border-radius: 50%;
    background: var(--tk-white);
  }
  .tk-mobile-nav ul { list-style: none; margin: 0; padding: 0; }
  .tk-mobile-nav > ul > li { border-bottom: 1px solid var(--tk-line-soft); }
  .tk-mobile-nav > ul > li > a,
  .tk-mobile-nav .tk-sub-toggle {
    display: flex;
    align-items: center;
    background: none;
    border: 0;
    text-align: left;
    font-family: var(--tk-font-body);
    font-size: 1rem;
    font-weight: 700;
    color: var(--tk-ink);
  }
  .tk-mobile-nav > ul > li > a {
    flex: 1 1 auto;
    min-width: 0;
    padding: 15px 2px;
  }
  /* Row layout: parent link + caret toggle on one line, submenu below */
  .tk-mobile-nav li.menu-item-has-children {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .tk-mobile-nav li.menu-item-has-children > a { flex: 1 1 auto; min-width: 0; }
  .tk-mobile-nav li.menu-item-has-children > .sub-menu { flex: 1 0 100%; }
  .tk-mobile-nav .tk-sub-toggle {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    justify-content: center;
    padding: 0;
    margin-left: 4px;
    color: var(--tk-ink-soft);
    cursor: pointer;
  }
  .tk-mobile-nav .tk-sub-toggle .tk-caret {
    display: block;
    width: 9px;
    height: 9px;
    border-right: 1.6px solid currentColor;
    border-bottom: 1.6px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s var(--tk-ease);
  }
  .tk-mobile-nav .tk-sub-toggle[aria-expanded="true"] .tk-caret { transform: rotate(225deg) translateY(-1px); }
  .tk-mobile-nav .sub-menu {
    display: none;
    padding: 0 0 12px 14px;
    border-left: 2px solid var(--tk-sage-300);
    margin-left: 2px;
  }
  .tk-mobile-nav .sub-menu.is-open { display: block; }
  .tk-mobile-nav .sub-menu a { display: block; padding: 9px 0; color: var(--tk-ink-soft); font-size: 0.9375rem; }
  .tk-mobile-nav__search { margin-bottom: 14px; }

  .tk-hero__grid { grid-template-columns: 1fr; min-height: 0; }
  .tk-hero__panel { padding: 40px 0 32px; }
  .tk-hero__media { border-radius: var(--tk-radius); min-height: 300px; }

  .tk-usp__grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
  .tk-split { grid-template-columns: 1fr; }
  .tk-split__media { min-height: 300px; }
  .tk-split--reverse .tk-split__media { order: 0; }
  .tk-testimonials { grid-template-columns: 1fr; }
  .tk-post-grid { grid-template-columns: repeat(2, 1fr); }

  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-product-gallery { margin-bottom: 8px; }

  .tk-footer__top { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .tk-footer__col:last-child { grid-column: span 2; }
  .tk-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  :root { --tk-text-base: 1rem; --tk-gutter: 16px; }

  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .tk-post-grid { grid-template-columns: 1fr; }
  .tk-cat-rail { grid-template-columns: repeat(2, 1fr); }

  .tk-card__body { padding: 14px 15px 16px; }
  .tk-card__title { font-size: 0.9688rem; }
  .tk-card__foot { flex-direction: column; align-items: stretch; gap: 10px; }
  .woocommerce ul.products li.product .button { width: 100%; }

  .tk-section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .tk-cta-band__inner { flex-direction: column; align-items: flex-start; }
  .tk-cta-band__inner .tk-btn { width: 100%; }

  .tk-footer__top { grid-template-columns: 1fr; }
  .tk-footer__col:last-child,
  .tk-footer__brand { grid-column: auto; }
  .tk-footer__bottom { flex-direction: column; align-items: flex-start; }

  .tk-btn-row .tk-btn { width: 100%; }
  .woocommerce table.shop_table_responsive tr td { text-align: right; }
  .woocommerce-cart .cart-collaterals { width: 100%; }
}

@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .tk-usp__grid { grid-template-columns: 1fr; }
}

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

/* Print */
@media print {
  .tk-header, .tk-footer, .tk-mobile-nav, .tk-carousel__nav { display: none !important; }
  body { background: #fff; }
}

/* ==========================================================================
   23. PAGE, ARCHIVE, SEARCH & 404
   ========================================================================== */

.tk-page-wrap {
  padding-top: clamp(32px, 4vw, 56px);
  padding-bottom: clamp(56px, 7vw, 96px);
}
.tk-page-wrap--narrow { max-width: 780px; }

.tk-page-hero {
  padding-bottom: clamp(24px, 3vw, 40px);
  margin-bottom: clamp(28px, 3.5vw, 44px);
  border-bottom: 1px solid var(--tk-line);
}
.tk-page-hero h1 {
  margin: 10px 0 0;
  font-size: clamp(1.875rem, 3.2vw, 2.875rem);
  line-height: 1.08;
  letter-spacing: normal;
}

.tk-archive-head {
  max-width: 62ch;
  margin-bottom: clamp(28px, 3.5vw, 44px);
}
.tk-archive-head h1 {
  margin: 10px 0 0;
  font-size: clamp(1.875rem, 3.4vw, 3rem);
  line-height: 1.06;
  letter-spacing: normal;
}
.tk-archive-head__desc {
  margin-top: 14px;
  color: var(--tk-ink-2);
  font-size: 1.0625rem;
  line-height: 1.65;
}
.tk-archive-head__desc p { margin: 0 0 10px; }
.tk-archive-head__desc p:last-child { margin-bottom: 0; }
.tk-search-again { margin-top: 22px; max-width: 520px; }

.tk-empty {
  padding: clamp(40px, 6vw, 72px) 0;
  max-width: 56ch;
}
.tk-empty p {
  margin: 0 0 20px;
  color: var(--tk-ink-2);
  font-size: 1.0625rem;
}

.tk-404 {
  max-width: 62ch;
  padding: clamp(24px, 5vw, 56px) 0;
}
.tk-404 h1 {
  margin: 12px 0 16px;
  font-size: clamp(2rem, 3.8vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: normal;
}
.tk-404 p {
  margin: 0 0 26px;
  color: var(--tk-ink-2);
  font-size: 1.0625rem;
  line-height: 1.65;
}
.tk-search-form-wrap { max-width: 520px; margin-bottom: 26px; }

/* Post cards: category pill + no-image placeholder */
.tk-post-card__cat {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tk-brown-600);
}
.tk-post-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  background: var(--tk-cream-2);
  color: var(--tk-sage-400);
}

/* Post tags, pagination links, prev/next */
.tk-tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tk-tag {
  display: inline-block;
  padding: 6px 13px;
  border: 1px solid var(--tk-line);
  border-radius: 100px;
  font-size: 0.8125rem;
  color: var(--tk-ink-2);
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.tk-tag:hover {
  border-color: var(--tk-brown-600);
  color: var(--tk-brown-700);
  background: var(--tk-cream-2);
}

.tk-page-links { margin: 26px 0 0; }

.tk-post-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: clamp(36px, 4vw, 56px) 0;
  padding-top: clamp(24px, 3vw, 34px);
  border-top: 1px solid var(--tk-line);
}
.tk-post-nav a {
  display: block;
  padding: 18px 20px;
  border: 1px solid var(--tk-line);
  border-radius: var(--tk-radius-lg);
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease;
}
.tk-post-nav a:hover {
  border-color: var(--tk-brown-600);
  transform: translateY(-2px);
}
.tk-post-nav .nav-next { text-align: right; }
.tk-nav-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tk-brown-600);
  margin-bottom: 6px;
}
.tk-nav-title {
  display: block;
  font-family: var(--tk-font-head);
  font-size: 1rem;
  line-height: 1.35;
  color: var(--tk-ink);
}

/* ==========================================================================
   24. SEARCH FORM, COMMENTS & WIDGETS
   ========================================================================== */

.tk-search-form {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--tk-white);
  border: 1px solid var(--tk-line);
  border-radius: 100px;
  padding: 5px 5px 5px 16px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.tk-search-form:focus-within {
  border-color: var(--tk-brown-600);
  box-shadow: 0 0 0 3px rgba(128, 66, 1, 0.1);
}
.tk-search-form__icon {
  display: flex;
  color: var(--tk-ink-3);
  flex: 0 0 auto;
}
.tk-search-form__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 9px 0;
  font-size: 0.9375rem;
  color: var(--tk-ink);
  outline: none;
}
.tk-search-form__input::placeholder { color: var(--tk-ink-3); }
.tk-search-form__submit {
  flex: 0 0 auto;
  border: 0;
  cursor: pointer;
  padding: 10px 20px;
  border-radius: 100px;
  background: var(--tk-brown-600);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: background .18s ease;
}
.tk-search-form__submit:hover { background: var(--tk-brown-700); }

.tk-comments {
  margin-top: clamp(36px, 4vw, 56px);
  padding-top: clamp(24px, 3vw, 34px);
  border-top: 1px solid var(--tk-line);
}
.tk-comments__title {
  font-size: 1.25rem;
  margin: 0 0 20px;
}
.tk-comments__closed { color: var(--tk-ink-3); }

.tk-comment-list {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}
.tk-comment-list .comment-body {
  padding: 18px 0;
  border-bottom: 1px solid var(--tk-line);
}
.tk-comment-list .comment-author img {
  border-radius: 50%;
  margin-right: 10px;
  vertical-align: middle;
}
.tk-comment-list .comment-meta { font-size: 0.8125rem; color: var(--tk-ink-3); }
.tk-comment-list .children { list-style: none; margin: 0; padding-left: 26px; }

.comment-respond .comment-reply-title { font-size: 1.25rem; margin: 0 0 16px; }
.comment-respond p { margin: 0 0 16px; }
.comment-respond label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--tk-ink-2);
}

.tk-widget { margin-bottom: 32px; }
.tk-widget__title {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tk-brown-600);
  margin: 0 0 14px;
}
.tk-widget ul { list-style: none; margin: 0; padding: 0; }
.tk-widget li { padding: 7px 0; border-bottom: 1px solid var(--tk-line); }
.tk-widget li:last-child { border-bottom: 0; }
.tk-widget a { text-decoration: none; color: var(--tk-ink-2); }
.tk-widget a:hover { color: var(--tk-brown-700); }

/* ==========================================================================
   25. WOOCOMMERCE FIXES (hero header, carousel, trust row, wrapper)
   ========================================================================== */

.tk-woo-main { padding-top: clamp(20px, 3vw, 36px); padding-bottom: clamp(48px, 6vw, 84px); }

.woocommerce-products-header {
  padding-bottom: clamp(20px, 2.5vw, 30px);
}
.woocommerce-products-header .woocommerce-products-header__title.page-title {
  font-size: clamp(1.75rem, 3.2vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.028em;
  margin: 0 0 12px;
}
.woocommerce-products-header .term-description {
  max-width: 66ch;
  color: var(--tk-ink-2);
  line-height: 1.65;
}
.woocommerce-products-header .term-description p { margin: 0 0 12px; }

/* Product shortcode inside the horizontal carousel: let the li's be the scroller items */
.tk-carousel ul.products.tk-products-carousel {
  display: contents;
}
.tk-carousel li.product {
  flex: 0 0 clamp(220px, 26vw, 268px);
  width: auto;
  margin: 0;
}

/* Trust row under the single product add-to-cart */
.tk-trust-row {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin: 22px 0 0;
  padding: 0;
}
.tk-trust-row li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--tk-ink-2);
}
.tk-trust-row svg { color: var(--tk-sage-500); flex: 0 0 auto; }

/* Header cart link */
.tk-icon-btn.tk-cart-toggle { position: relative; }

/* Core posts pagination (the_posts_pagination) */
.navigation.pagination { margin-top: clamp(32px, 4vw, 48px); }
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--tk-line);
  border-radius: 100px;
  background: var(--tk-white);
  color: var(--tk-ink-2);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.navigation.pagination .page-numbers:hover {
  border-color: var(--tk-brown-600);
  color: var(--tk-brown-700);
}
.navigation.pagination .page-numbers.current {
  background: var(--tk-brown-600);
  border-color: var(--tk-brown-600);
  color: #fff;
}
.navigation.pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
  min-width: 24px;
  padding: 0;
}
.navigation.pagination .page-numbers svg { display: block; }

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

@media (max-width: 767px) {
  .tk-post-nav { grid-template-columns: 1fr; }
  .tk-post-nav .nav-next { text-align: left; }
  .tk-search-form { padding-left: 14px; }
  .tk-search-form__submit { padding: 10px 16px; }
  .tk-carousel li.product { flex: 0 0 72vw; }
}

/* ==========================================================================
   HERO — award / delivery pill row (sits under the hero buttons)
   ========================================================================== */
/* Wrapper keeps the two hero buttons and the award pill on one shared width,
   so the black pill is exactly as wide as the button row above it. */
.tk-hero__cta {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.tk-hero__pills {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  max-width: 100%;
  margin-top: 20px;
  padding: 10px 24px 10px 16px;
  background: #101010;
  border-radius: var(--tk-radius-pill);
  box-shadow: 0 8px 22px rgba(16, 16, 16, 0.18);
}
.tk-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
}
.tk-pill__logo {
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex: 0 0 auto;
}
.tk-pill__text { display: block; }

@media (max-width: 1100px) {
  .tk-hero__pills {
    justify-content: flex-start;
    padding: 10px 20px 10px 14px;
    border-radius: var(--tk-radius-lg);
  }
}

/* Testimonial source link (real reviews link through to the product) */
.tk-testimonial__source {
  margin-left: auto;
  align-self: center;
  max-width: 50%;
  text-align: right;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--tk-muted);
  text-decoration: none;
}
.tk-testimonial__source:hover,
.tk-testimonial__source:focus {
  color: var(--tk-brown-600);
  text-decoration: underline;
}

/* ==========================================================================
   Roastery split: studio photo of the Has Garanti 15 kg roaster
   ========================================================================== */

.tk-split__media--photo {
  display: grid;
  place-items: center;
  padding: clamp(20px, 3vw, 40px);
  background: #fff;
}
.tk-split__media--photo .tk-roastery-figure {
  position: relative;
  z-index: 1;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
}
.tk-split__media--photo img.tk-roastery-photo {
  position: static;
  inset: auto;
  width: auto;
  max-width: min(100%, 420px);
  height: auto;
  max-height: 440px;
  object-fit: contain;
}
.tk-split__media--photo .tk-roastery-figure figcaption {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tk-brown-500, #7d5a3c);
  text-align: center;
}
@media (max-width: 760px) {
  .tk-split__media--photo { padding: 20px 16px; }
  .tk-split__media--photo img.tk-roastery-photo { max-height: 300px; }
}

/* ---- Subscription "how it works" infographic (media panel) ---- */
.tk-split__media--hiw { display: block; padding: 0; background: #fff; }
.tk-hiw { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; height: 100%; padding: clamp(30px,3.4vw,50px) clamp(24px,3vw,42px); background: #fff; }
.tk-hiw__label { display: flex; align-items: center; gap: 12px; margin: 0; font-family: var(--tk-font-body); font-size: .75rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: var(--tk-brown-500); }
.tk-hiw__label::after { content: ""; flex: 1 1 auto; height: 1px; background: linear-gradient(to right, var(--tk-sage-400), rgba(196,227,173,0)); }
.tk-hiw__steps { list-style: none; margin: auto 0; padding: 0; display: grid; gap: 24px; }
.tk-hiw__step { position: relative; display: grid; grid-template-columns: 36px 1fr; gap: 14px; align-items: start; }
.tk-hiw__step::before { content: ""; position: absolute; left: 17px; top: 40px; bottom: -18px; width: 2px; background-image: repeating-linear-gradient(to bottom, var(--tk-sage-500) 0 6px, rgba(0,0,0,0) 6px 12px); }
.tk-hiw__step:last-child::before { display: none; }
.tk-hiw__num { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--tk-brown-700); box-shadow: 0 6px 14px rgba(92,47,1,.18); color: var(--tk-cream); font-family: var(--tk-font-display); font-size: .95rem; font-weight: 700; line-height: 1; }
.tk-hiw__step h3 { margin: 2px 0 3px; font-family: var(--tk-font-display); font-size: 1.0625rem; font-weight: 700; line-height: 1.2; color: var(--tk-brown-800); }
.tk-hiw__step p { margin: 0; font-size: .9125rem; line-height: 1.45; color: var(--tk-ink-soft); }
.tk-hiw__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding-top: 18px; border-top: 1px solid var(--tk-sage-300); }
.tk-hiw__chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--tk-radius-pill); background: var(--tk-sage-100); box-shadow: inset 0 0 0 1px var(--tk-sage-400); color: var(--tk-brown-700); font-size: .8125rem; font-weight: 600; white-space: nowrap; }
.tk-hiw__chip--solid { background: var(--tk-brown-700); box-shadow: none; color: var(--tk-cream); }
@media (max-width: 1100px) {
  .tk-hiw { padding: 26px 20px; gap: 18px; }
  .tk-hiw__steps { gap: 18px; }
  .tk-hiw__step::before { bottom: -14px; }
  .tk-hiw__step h3 { font-size: 1rem; }
}
@media (max-width: 420px) {
  .tk-hiw { padding: 22px 16px; }
  .tk-hiw__chip { padding: 5px 10px; font-size: .78125rem; }
}


/* ===================================================================
   20261101g — roastery scene, About band, award pill, logo-green subs
   =================================================================== */

/* 1. Has Garanti roaster, composited into the warehouse — full-bleed scene */
.tk-split__media--scene {
  display: block;
  padding: 0;
  background: var(--tk-brown-900);
}
.tk-split__media--scene .tk-roastery-figure {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.tk-split__media--scene img.tk-roastery-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center 40%;
}
.tk-split__media--scene .tk-roastery-figure figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 58px 22px 18px;
  text-align: left;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--tk-brown-100);
  background: linear-gradient(to top, rgba(20, 10, 2, 0.92) 0%, rgba(20, 10, 2, 0.7) 45%, rgba(20, 10, 2, 0) 100%);
}

/* 2. About Tank Coffee — brown band under the roastery panel */
.tk-about-band {
  background: var(--tk-brown-800);
  color: var(--tk-brown-100);
}
.tk-about-band h2 {
  color: var(--tk-white);
}
.tk-about-band__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}
.tk-about-band__inner h2 {
  margin: 0;
  max-width: 14ch;
}
.tk-about-band__copy > p {
  margin: 0 0 1.1em;
  max-width: 66ch;
  font-size: 1.0625rem;
  line-height: 1.72;
  color: var(--tk-brown-100);
}
.tk-about-band__copy > p:last-child {
  margin-bottom: 0;
}
.tk-about-band__copy a {
  color: var(--tk-sage-400);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.tk-about-band__copy a:hover {
  color: var(--tk-white);
}
@media (max-width: 900px) {
  .tk-about-band__inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .tk-about-band__inner h2 {
    max-width: none;
  }
}

/* 3. "Great Taste Award Winning Coffee" pill */
.tk-hero__pills .tk-pill.tk-pill--award {
  font-size: 1.25rem;
}

/* 4. "Coffee subscriptions, built around you" — solid warm paper ground */
.tk-bg-paper {
  background-color: #faf8f4 !important;
}
.tk-bg-paper .tk-split,
.tk-bg-paper .tk-split--sage,
.tk-bg-paper .tk-split__body {
  background-color: #faf8f4 !important;
}
.tk-bg-paper .tk-split__list li::before {
  background-color: var(--tk-brown-700, #6b3a06);
}
.tk-bg-paper .tk-split__media--hiw {
  border-radius: var(--tk-radius-lg);
}


/* --- roastery page (432): centre resized images --- */
.page-id-432 .wp-block-image.aligncenter,
.page-id-432 .wp-block-image.aligncenter.is-resized { margin-left: auto; margin-right: auto; }
.page-id-432 .wp-block-image.aligncenter img { margin-left: auto; margin-right: auto; }

/* ==========================================================================
   20261101k - ABOUT-PAGE SPLIT HEROES
   One .tk-split--hero block per page (roastery, story, farmers, values),
   built on the homepage .tk-split family so the type, spacing and imagery
   read as the same design language. Body and media alternate sides; each
   page gets its own colour treatment.
   ========================================================================== */

.tk-about-hero {
  margin: 0 0 clamp(28px, 3.6vw, 52px);
}

.tk-split--hero {
  align-items: stretch;
}

.tk-split--hero .tk-split__body {
  padding: clamp(36px, 4.4vw, 68px);
}

.tk-split--hero .tk-split__body h1 {
  margin: 10px 0 18px;
  font-size: clamp(1.9rem, 2.2vw + 1rem, 2.9rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.tk-split--hero .tk-split__body .tk-eyebrow {
  margin: 0;
}

.tk-split--hero .tk-split__body .tk-lede {
  margin: 0;
  font-size: var(--tk-text-lg);
  line-height: 1.55;
}
.tk-split--hero .tk-split__body .tk-lede + .tk-lede {
  margin-top: 0.8em;
}

.tk-split--hero .tk-split__body .tk-btn-row {
  margin-top: 28px;
}

@media (min-width: 901px) {
  .tk-split--hero .tk-split__media {
    min-height: 560px;
  }
}

/* ---- Colour treatments (one per page) ---- */

/* espresso: deep brown panel, light ink */
.tk-split--espresso .tk-split__body {
  background: var(--tk-brown-900);
}
.tk-split--espresso .tk-split__body h1 {
  color: var(--tk-white);
}
.tk-split--espresso .tk-split__body .tk-lede {
  color: var(--tk-brown-200);
}
.tk-split--espresso .tk-split__body .tk-eyebrow {
  color: var(--tk-sage-400);
}

/* sage deep: soft green panel, brown ink */
.tk-split--sage-deep .tk-split__body {
  background: var(--tk-sage-200);
}
.tk-split--sage-deep .tk-split__body .tk-eyebrow {
  color: var(--tk-sage-700);
}

/* clay: warm sand panel */
.tk-split--clay .tk-split__body {
  background: var(--tk-brown-100);
}
.tk-split--clay .tk-split__body .tk-eyebrow {
  color: var(--tk-brown-600);
}

/* olive: deep green panel, warm off-white ink */
.tk-split--olive .tk-split__body {
  background: #535c33;
}
.tk-split--olive .tk-split__body h1 {
  color: #f7f9ef;
}
.tk-split--olive .tk-split__body .tk-lede {
  color: #e2e8cf;
}
.tk-split--olive .tk-split__body .tk-eyebrow {
  color: var(--tk-sage-400);
}

/* ghost buttons need light ink on the two dark panels */
.tk-split--espresso .tk-split__body .tk-btn--ghost,
.tk-split--olive .tk-split__body .tk-btn--ghost {
  background: transparent;
  color: var(--tk-white);
  border-color: rgba(255, 255, 255, 0.55);
}
.tk-split--espresso .tk-split__body .tk-btn--ghost:hover,
.tk-split--olive .tk-split__body .tk-btn--ghost:hover {
  background: var(--tk-white);
  color: var(--tk-brown-900);
  border-color: var(--tk-white);
}

/* ==========================================================================
   20261101l - SHOP BUTTON HOVER = LOGO GREEN
   Hover state only. Rest colours, sizes, layout, markup and every product
   image are untouched by this block.
   Logo green sampled from the served wordmark:
     /wp-content/uploads/2014/09/tankcoffee_logo-Overlay.png -> #acd48c
     (rgb 172, 212, 140; dominant green pixel bin, 2352 px)
   White text on #acd48c would be 1.67:1, so hover text flips to brown-900
   (10.23:1) - same treatment the theme already uses for .tk-btn--on-dark.
   ========================================================================== */

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .checkout-button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.added_to_cart:hover,
.woocommerce-page .tk-btn:hover,
.woocommerce-page .wp-block-button__link:hover {
  background: var(--tk-logo-green);
  border-color: var(--tk-logo-green);
  color: var(--tk-brown-900);
  transform: translateY(-1px);
  box-shadow: var(--tk-shadow);
}


/* ==========================================================================
   MEET THE FARMERS HERO — logo green (#acd48c, sampled from the wordmark)
   ========================================================================== */
.tk-split--logo-green .tk-split__body {
  background: var(--tk-logo-green);
}
.tk-split--logo-green .tk-split__body h1 {
  color: var(--tk-brown-900);
}
.tk-split--logo-green .tk-split__body .tk-lede {
  color: var(--tk-brown-900);
}
.tk-split--logo-green .tk-split__body .tk-eyebrow {
  color: var(--tk-brown-800);
}
.tk-split--logo-green .tk-split__body .tk-btn--ghost {
  background: transparent;
  color: var(--tk-brown-900);
  border-color: rgba(43, 23, 4, 0.45);
}
.tk-split--logo-green .tk-split__body .tk-btn--ghost:hover {
  background: var(--tk-brown-900);
  color: var(--tk-logo-green);
  border-color: var(--tk-brown-900);
}

/* ==========================================================================
   MEET THE FARMERS (page 1830) — stacked brand-colour sections.
   Each .tk-split is a card; the body/media sides alternate and every card
   carries its own brand colour (sand, mint, amber, leaf, olive).
   Scoped under .tk-farmers so nothing can leak onto other pages.
   ========================================================================== */

.tk-farmers {
  display: grid;
  gap: clamp(18px, 2.2vw, 30px);
  margin: 0 0 clamp(30px, 3.6vw, 54px);
}

.tk-farmers .tk-split {
  box-shadow: var(--tk-shadow-sm);
}

.tk-farmers .tk-split__body h2 {
  margin: 0 0 16px;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2.1rem);
  line-height: 1.15;
  letter-spacing: -0.005em;
}

.tk-farmers .tk-split__body .tk-eyebrow {
  margin: 0 0 10px;
}

.tk-farmers .tk-split__body p {
  margin: 0 0 14px;
  line-height: 1.62;
}

.tk-farmers .tk-split__body > :last-child,
.tk-farmers .tk-split__body p:last-child {
  margin-bottom: 0;
}

/* Portrait medallion inside a coloured panel (farmer cut-outs are circular PNGs). */
.tk-farmers .tk-split__media--portrait {
  display: grid;
  place-items: center;
  padding: clamp(24px, 3vw, 44px);
}

.tk-farmers .tk-split__media--portrait img {
  position: static;
  inset: auto;
  width: min(74%, 300px);
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 50%;
  filter: drop-shadow(0 16px 34px rgba(43, 23, 4, 0.22));
}

/* ---- Colour treatments ----
   Every colour below is taken from the homepage: --tk-cream (#faf8f4 page/section
   background), --tk-cream-2 (#f4efe6 band), --tk-white (#ffffff split panels) and
   --tk-logo-green (#acd48c USP band), plus --tk-brown-800 (#3f2103) for the single
   dark band the homepage uses for its about strip. No new brand colours. ---- */

.tk-farmers .tk-split--farm-cream .tk-split__body { background: var(--tk-cream); }
.tk-farmers .tk-split--farm-cream .tk-split__media { background: var(--tk-cream-2); }
.tk-farmers .tk-split--farm-cream .tk-eyebrow { color: var(--tk-brown-600); }

.tk-farmers .tk-split--farm-green .tk-split__body { background: var(--tk-logo-green); }
.tk-farmers .tk-split--farm-green .tk-split__media { background: var(--tk-cream); }
.tk-farmers .tk-split--farm-green .tk-split__body h2,
.tk-farmers .tk-split--farm-green .tk-split__body p { color: var(--tk-brown-900); }
.tk-farmers .tk-split--farm-green .tk-eyebrow { color: var(--tk-brown-800); }

.tk-farmers .tk-split--farm-cream2 .tk-split__body { background: var(--tk-cream-2); }
.tk-farmers .tk-split--farm-cream2 .tk-split__media { background: var(--tk-logo-green); }
.tk-farmers .tk-split--farm-cream2 .tk-eyebrow { color: var(--tk-brown-600); }

.tk-farmers .tk-split--farm-white .tk-split__body { background: var(--tk-white); }
.tk-farmers .tk-split--farm-white .tk-split__media { background: var(--tk-cream-2); }
.tk-farmers .tk-split--farm-white .tk-eyebrow { color: var(--tk-brown-600); }

.tk-farmers .tk-split--farm-dark .tk-split__body { background: var(--tk-brown-800); }
.tk-farmers .tk-split--farm-dark .tk-split__media { background: var(--tk-cream); }
.tk-farmers .tk-split--farm-dark .tk-split__body h2 { color: var(--tk-cream); }
.tk-farmers .tk-split--farm-dark .tk-split__body p { color: var(--tk-cream-2); }
.tk-farmers .tk-split--farm-dark .tk-split__body p.tk-eyebrow { color: var(--tk-cream); }

/* Bio labels (<strong>Role: / Family: / Background:</strong>) must follow the paragraph
   colour, otherwise the theme's near-black strong colour lands on the dark band. */
.tk-farmers .tk-split__body strong,
.tk-farmers .tk-split__body b { color: inherit; }

/* Section without media (image removed on request): single column, readable measure */
.tk-farmers .tk-split--solo { grid-template-columns: 1fr; }
.tk-farmers .tk-split--solo .tk-split__body { width: 100%; max-width: 760px; margin: 0 auto; }

/* ---- Closing band ---- */

.tk-farmers__cta {
  border-radius: var(--tk-radius-lg);
  background: var(--tk-logo-green);
  padding: clamp(32px, 4vw, 56px);
  text-align: center;
}

.tk-farmers__cta h2 {
  margin: 0 0 12px;
  color: var(--tk-brown-900);
  font-size: clamp(1.4rem, 1.4vw + 1rem, 2rem);
  line-height: 1.2;
}

.tk-farmers__cta p {
  margin: 0 auto;
  max-width: 60ch;
  color: var(--tk-brown-900);
  line-height: 1.62;
}

.tk-farmers__cta .tk-btn-row {
  justify-content: center;
  margin-top: 26px;
}

.tk-farmers__cta .tk-btn--ghost {
  background: transparent;
  color: var(--tk-brown-900);
  border-color: rgba(43, 23, 4, 0.45);
}

.tk-farmers__cta .tk-btn--ghost:hover {
  background: var(--tk-brown-900);
  color: var(--tk-logo-green);
  border-color: var(--tk-brown-900);
}

@media (max-width: 1024px) {
  .tk-farmers .tk-split__media--portrait { min-height: 320px; }
}

@media (max-width: 760px) {
  .tk-farmers .tk-split__media--portrait { padding: 22px 16px; }
  .tk-farmers .tk-split__media--portrait img { width: min(66%, 240px); }
}

/* Medallion panel decoration so the tall colour panel reads as designed. */
.tk-farmers .tk-split__media--portrait { position: relative; overflow: hidden; }
.tk-farmers .tk-split__media--portrait::before {
  content: "";
  position: absolute;
  width: min(92%, 460px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}
.tk-farmers .tk-split__media--portrait img { position: relative; z-index: 1; }

/* --- Checkout (FunnelKit) brand fixes 2026-11-02 ---------------------------------
   1. Aero/Express Checkout design CSS uses Kadence palette vars (--global-palette1/2/7)
      which this theme never defines, so the Next Step button lost its background
      (white text on white page). The vars are mapped to the site palette below.
   2. FunnelKit's design settings still carry an off-brand orange hover (#e74900);
      overridden with the brand brown pair. Coupon "Apply" button (grey #c8c8c8 + white)
      is re-coloured for legibility. */
#wfacp-e-form, .wfacp-checkout-form-block, .wfacp-mini-cart-block {
  --global-palette1: #804201;
  --global-palette2: #3f2103;
  --global-palette7: #f4efe6;
}
#wfacp-e-form .wfacp-next-btn-wrap button:hover,
#wfacp-e-form .wfacp_main_form.woocommerce #payment button#place_order:hover,
#wfacp-e-form .wfacp_main_form button[type="submit"]:hover {
  background-color: #5c2f01 !important;
  border-color: #5c2f01 !important;
  color: #ffffff !important;
}
#wfacp-e-form button.wfacp-coupon-btn {
  background-color: #804201 !important;
  border-color: #804201 !important;
  color: #ffffff !important;
}
#wfacp-e-form button.wfacp-coupon-btn:hover {
  background-color: #5c2f01 !important;
  border-color: #5c2f01 !important;
}

/* YITH gift-card notice on checkout: its design CSS asks for a 10px right accent
   border from a plugin colour variable that no longer resolves, so the border painted
   currentColor (black) next to black text. Re-point both at the brand palette. */
.ywgc_have_code {
  border-right-color: #804201 !important;
  color: #2b1704 !important;
}
.ywgc_have_code a,
.ywgc_have_code .ywgc-code-link { color: #804201 !important; }

/* ==========================================================================
   Homepage hero — photo panel sized to the copy + buttons beside it
   The grid row is driven by the text column instead of the old
   clamp(460px, 52vw, 640px) minimum, so the image starts level with the
   eyebrow and ends level with the last button/pill underneath.
   ========================================================================== */
@media (min-width: 961px) {
  .tk-hero__grid {
    min-height: 0;
    align-items: stretch;
  }
  .tk-hero > .tk-container {
    padding-block: clamp(40px, 5vw, 76px);
  }
  .tk-hero__panel {
    padding-block: 0;
  }
  .tk-hero__media {
    min-height: 0;
  }
  .tk-hero__media img {
    object-position: 50% 28%;
  }
}
