@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/manrope-400.ttf") format("truetype");
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/manrope-500.ttf") format("truetype");
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/manrope-600.ttf") format("truetype");
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/pt-serif-400.ttf") format("truetype");
}

@font-face {
  font-family: "PT Serif";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/pt-serif-700.ttf") format("truetype");
}

@font-face {
  font-family: "PT Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/pt-serif-400-italic.ttf") format("truetype");
}

:root {
  --kt-canvas: #f2ede7;
  --kt-canvas-muted: #eae3da;
  --kt-plum: #3e2b4e;
  --kt-ink: #3a3340;
  --kt-gold: #b08a47;
  --kt-muted: #7c7484;
  --kt-line: rgba(62, 43, 78, .16);
  --kt-serif: 'PT Serif',Georgia,serif;
  --kt-sans: "Manrope", Inter, Arial, sans-serif;
  --wp--preset--font-family--serif: var(--kt-serif);
  --wp--preset--font-family--sans: var(--kt-sans);
  /* The supplied desktop prototype is built on a 1440px canvas with a
     1240px content frame. Keep these values in one place: every public
     template, including WooCommerce and GMC output, inherits them. */
  --kt-canvas-max: 1440px;
  --kt-content-max: 1240px;
  --kt-gutter: clamp(2rem, 5vw, 4.5rem);
  --kt-edge: max(var(--kt-gutter), calc((100vw - var(--kt-canvas-max)) / 2 + 4.5rem));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
/* Keep the desktop content frame fixed when a short page has no natural
   scrollbar. Long and short templates then use the same 1240px source grid. */
@media (min-width: 900px) {
	html { overflow-y: scroll; }
}
body.kalpa-taru-site { margin: 0; overflow-x: clip; background: var(--kt-canvas); color: var(--kt-ink); font-family: var(--kt-sans); font-size: 12px; line-height: 1.65; }
img { height: auto; max-width: 100%; }
a { color: var(--kt-plum); text-underline-offset: .2em; }
a:hover { color: var(--kt-gold); }
button, input, select, textarea { font: inherit; }
.kt-shell { width: min(100%, var(--kt-canvas-max)); margin-inline: auto; padding-inline: var(--kt-gutter); }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; }
.screen-reader-text:focus { clip: auto; clip-path: none; height: auto; width: auto; left: 1rem; top: 1rem; z-index: 100; padding: .75rem 1rem; background: var(--kt-plum); color: var(--kt-canvas); }

.kt-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--kt-line); background: color-mix(in srgb, var(--kt-canvas) 94%, transparent); backdrop-filter: blur(10px); }
.kt-header__inner { min-height: 78px; display: grid; grid-template-columns: 185px minmax(0, 1fr) auto; align-items: center; gap: 2rem; }
.kt-brand { display: inline-flex; flex-direction: column; justify-content: center; width: 185px; min-width: 0; color: var(--kt-plum); text-decoration: none; line-height: 1; }
.kt-brand .custom-logo-link { display: block; }
.kt-brand .custom-logo { display: block; max-width: 185px; max-height: 52px; width: auto; }
.kt-brand__default-logo { display: block; width: min(185px, 100%); height: auto; }
.kt-brand__eyebrow, .kt-eyebrow { color: var(--kt-gold); font-family: var(--kt-sans); font-size: .64rem; font-weight: 600; letter-spacing: .22em; line-height: 1.4; text-transform: uppercase; }
.kt-brand__name { margin-top: .22rem; font-size: 1.35rem; font-weight: 700; letter-spacing: -.03em; }
.kt-menu { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2vw, 2.25rem); list-style: none; padding: 0; margin: 0; }
.kt-menu a, .kt-footer-menu a { color: var(--kt-ink); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.kt-menu .current-menu-item > a, .kt-menu a:hover { color: var(--kt-gold); }
.kt-header__actions { display: flex; align-items: center; gap: .9rem; }
.kt-search-toggle { display: none; }
.kt-icon-link { position: relative; display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; color: var(--kt-plum); }
.kt-icon-link svg { width: 1.3rem; height: 1.3rem; fill: none; stroke: currentColor; stroke-width: 1.45; }
.kt-cart-link__count { position: absolute; right: 0; top: 0; display: grid; place-items: center; min-width: 1rem; height: 1rem; padding: 0 .2rem; border-radius: 50%; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .58rem; }
.kt-menu-toggle { display: none; width: 2.75rem; height: 2.75rem; padding: .75rem; border: 1px solid var(--kt-line); background: transparent; }
.kt-menu-toggle span { display: block; height: 1px; background: var(--kt-plum); }
.kt-menu-toggle span + span { margin-top: .38rem; }
body.is-search-open { overflow: hidden; }
.kt-search-panel { position: fixed; z-index: 50; inset: 0; display: grid; place-items: start center; overflow-y: auto; padding: clamp(1rem, 7vw, 6rem) 1rem; background: rgba(35, 24, 44, .62); }
.kt-search-panel[hidden] { display: none; }
.kt-search-panel__dialog { width: min(100%, 680px); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--kt-gold); background: var(--kt-canvas); box-shadow: 0 1.2rem 4rem rgba(0, 0, 0, .25); }
.kt-search-panel__header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.kt-search-panel__header h2 { margin: .55rem 0 0; color: var(--kt-plum); font-size: clamp(2.15rem, 5vw, 4rem); line-height: 1; letter-spacing: -.045em; }
.kt-search-panel__close { display: grid; flex: 0 0 auto; place-items: center; width: 2.65rem; height: 2.65rem; border: 1px solid var(--kt-line); background: transparent; color: var(--kt-plum); font-size: 2rem; line-height: 1; }
.kt-search-panel__close:hover { border-color: var(--kt-gold); color: var(--kt-gold); }
.kt-search-panel__description { margin: 1.25rem 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .84rem; }
.kt-search-panel .woocommerce-product-search, .kt-search-panel .search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; margin: 0; }
.kt-search-panel .woocommerce-product-search label { min-width: 0; }
.kt-search-panel .search-field { width: 100%; min-height: 3.35rem; padding: .75rem .9rem; border: 1px solid var(--kt-line); border-radius: 0; background: transparent; color: var(--kt-ink); }
.kt-search-panel button[type="submit"] { min-height: 3.35rem; padding: .75rem 1rem; border: 1px solid var(--kt-plum); background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.kt-search-panel button[type="submit"]:hover { border-color: var(--kt-gold); background: var(--kt-gold); color: var(--kt-plum); }

.kt-main { min-height: 50vh; }
.kt-hero { overflow: hidden; background: var(--kt-canvas-muted); border-bottom: 1px solid var(--kt-line); }
.kt-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; }
.kt-hero__content { display: flex; flex-direction: column; justify-content: center; min-height: min(700px, calc(100vh - 78px)); padding: clamp(3.25rem, 5.5vw, 5.125rem) clamp(2.375rem, 5vw, 4.5rem); }
.kt-hero h1, .kt-page-header h1, .kt-article h1 { max-width: 650px; margin: 1.15rem 0 0; color: var(--kt-plum); font-size: clamp(3rem, 4.3vw, 3.875rem); line-height: 1.02; letter-spacing: -.05em; }
.kt-hero__benefits { margin: 1.55rem 0 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .65rem; font-weight: 600; letter-spacing: .11em; line-height: 1.5; text-transform: uppercase; }
.kt-hero__lead { max-width: 33rem; margin: 1.3rem 0 0; color: var(--kt-muted); font-size: 1rem; font-style: italic; line-height: 1.55; }
.kt-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button { display: inline-block; margin-top: 2rem; padding: 1rem 1.35rem; border: 1px solid var(--kt-plum); border-radius: 0; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .15em; line-height: 1.2; text-align: center; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; }
.kt-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .wc-block-components-button:hover { background: var(--kt-gold); border-color: var(--kt-gold); color: var(--kt-plum); transform: translateY(-1px); }
.kt-button--outline { border-color: #b08a47; background: transparent; color: #b08a47; }
.kt-button--outline:hover { border-color: var(--kt-gold); color: var(--kt-plum); }
.kt-hero__media { display: grid; align-self: stretch; justify-items: center; margin: 0; }
.kt-hero__media img { width: auto; height: min(700px, calc(100vh - 78px)); max-width: 100%; object-fit: contain; }

.kt-section { padding-block: clamp(4rem, 9vw, 8rem); }
.kt-section h2 { max-width: 17ch; margin: 1rem 0 2.2rem; color: var(--kt-plum); font-size: clamp(2.5rem, 4.8vw, 4.8rem); line-height: 1.04; letter-spacing: -.045em; }
.kt-section--products { border-top: 1px solid var(--kt-line); }
.kt-catalogue-link { display: inline-block; margin-top: 1.5rem; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .72rem; font-weight: 600; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.kt-catalogue-link:hover { color: var(--kt-gold); }
.kt-section--club { background: var(--kt-plum); color: var(--kt-canvas); }
.kt-section--club h2 { color: var(--kt-canvas); }
.kt-section--club p:not(.kt-eyebrow) { max-width: 40rem; font-size: 1.2rem; }
.kt-club-card { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.kt-club-card .kt-button { flex: 0 0 auto; }
.kt-circle-features { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: clamp(3rem, 6vw, 5.5rem); border-top: 1px solid rgba(242, 237, 231, .24); border-left: 1px solid rgba(242, 237, 231, .24); }
.kt-circle-feature { display: flex; flex-direction: column; min-height: 13rem; padding: 1.6rem; border-right: 1px solid rgba(242, 237, 231, .24); border-bottom: 1px solid rgba(242, 237, 231, .24); color: var(--kt-canvas); text-decoration: none; }
.kt-circle-feature:hover { background: rgba(242, 237, 231, .08); color: var(--kt-canvas); }
.kt-circle-feature__title { font-size: 1.38rem; font-weight: 700; line-height: 1.15; }
.kt-circle-feature__lead { margin-top: .85rem; color: rgba(242, 237, 231, .72); font-family: var(--kt-sans); font-size: .75rem; line-height: 1.5; }
.kt-circle-feature__action { margin-top: auto; padding-top: 1.2rem; color: #dfc582; font-family: var(--kt-sans); font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.kt-section--editor { border-top: 1px solid var(--kt-line); }
.kt-home-editor { max-width: none; padding-block: 0; }
.kt-home-story { max-width: none; }
.kt-home-feature { display: grid; grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr); align-items: stretch; overflow: hidden; border-bottom: 1px solid var(--kt-line); }
.kt-home-feature__image { min-height: 100%; margin: 0; background: var(--kt-canvas-muted); }
.kt-home-feature__image img { display: block; width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.kt-home-feature__copy { display: flex; flex-direction: column; justify-content: center; max-width: none; padding: clamp(3rem, 6vw, 6rem); background: var(--kt-canvas-muted); }
.kt-home-feature__copy h2 { max-width: 13ch; margin: 1rem 0 1.35rem; color: var(--kt-plum); font-size: clamp(2.35rem, 4.4vw, 4.5rem); line-height: 1.03; letter-spacing: -.05em; }
.kt-home-feature__copy p:not(.kt-eyebrow) { max-width: 39rem; margin: 0; font-size: 1.1rem; }
.kt-home-feature__copy .wp-block-buttons, .kt-home-review .wp-block-buttons { margin-top: 1.7rem; }
.kt-home-feature__copy .wp-block-button__link, .kt-home-review .wp-block-button__link { border: 1px solid var(--kt-plum); border-radius: 0; background: transparent; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.kt-home-feature__copy .wp-block-button__link:hover, .kt-home-review .wp-block-button__link:hover { border-color: var(--kt-gold); background: var(--kt-gold); color: var(--kt-plum); }
.kt-home-feature--about { grid-template-columns: minmax(0, 1.07fr) minmax(0, .93fr); }
.kt-home-feature--about .kt-home-feature__image { order: 2; }
.kt-home-feature--about .kt-home-feature__copy { background: var(--kt-canvas); }
.kt-home-stats { gap: 0; margin: 0; border-bottom: 1px solid var(--kt-line); }
.kt-home-stats > .wp-block-column { min-width: 0; margin: 0 !important; padding: 2.1rem 1.55rem; border-right: 1px solid var(--kt-line); }
.kt-home-stats > .wp-block-column:last-child { border-right: 0; }
.kt-home-stats h3 { margin: 0; color: var(--kt-plum); font-size: clamp(2rem, 3.2vw, 3.5rem); line-height: 1; letter-spacing: -.05em; }
.kt-home-stats p { margin: .8rem 0 0; font-family: var(--kt-sans); font-size: .75rem; line-height: 1.5; }
.kt-home-review { padding: clamp(3rem, 6vw, 6rem); border-bottom: 1px solid var(--kt-line); background: var(--kt-canvas); }
.kt-home-review .wp-block-quote { max-width: 53rem; margin: 1.15rem 0 0; padding: 0; border: 0; color: var(--kt-plum); font-size: clamp(1.45rem, 2.5vw, 2.35rem); line-height: 1.25; letter-spacing: -.025em; }
.kt-home-circle { display: grid; grid-template-columns: 1fr; max-width: var(--kt-canvas-max); margin: 0 auto clamp(4rem, 8vw, 8.125rem); background: var(--kt-canvas-muted); }
.kt-home-circle__intro, .kt-home-circle__gates { padding: clamp(3.375rem, 6vw, 5.375rem); }
.kt-home-circle__intro h2 { max-width: 14ch; margin: 1rem 0 1.35rem; color: var(--kt-plum); font-size: clamp(2rem, 3.2vw, 2.75rem); line-height: 1.12; letter-spacing: -.02em; }
.kt-home-circle__intro p:not(.kt-eyebrow) { max-width: 44rem; margin: 0; color: var(--kt-ink); font-size: .9375rem; line-height: 1.68; }
.kt-home-circle__gates { padding-top: 0; }
.kt-home-circle__gate { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3125rem 0; border-top: 1px solid var(--kt-line); color: var(--kt-plum); text-decoration: none; transition: background-color .24s ease, color .24s ease; }
.kt-home-circle__gate:last-of-type { border-bottom: 1px solid var(--kt-line); }
.kt-home-circle__gate b { display: block; color: var(--kt-plum); font-family: var(--kt-serif); font-size: 1.0625rem; line-height: 1.2; }
.kt-home-circle__gate i { display: block; margin-top: .35rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .71875rem; font-style: normal; line-height: 1.5; }
.kt-home-circle__action { flex: 0 0 auto; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .625rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; transition: color .24s ease, transform .24s ease; }
.kt-home-circle__gate:hover, .kt-home-circle__gate:focus, .kt-home-circle__gate:focus-visible { background: color-mix(in srgb, var(--kt-canvas) 58%, var(--kt-canvas-muted)); }
.kt-home-circle__gate:hover .kt-home-circle__action, .kt-home-circle__gate:focus .kt-home-circle__action, .kt-home-circle__gate:focus-visible .kt-home-circle__action { color: var(--kt-plum); transform: translateX(-.25rem); }
.kt-home-circle__gate:focus-visible { outline: 1px solid var(--kt-gold); outline-offset: -1px; }
@media (prefers-reduced-motion: reduce) { .kt-home-circle__gate, .kt-home-circle__action { transition: none; } .kt-home-circle__gate:hover .kt-home-circle__action, .kt-home-circle__gate:focus .kt-home-circle__action, .kt-home-circle__gate:focus-visible .kt-home-circle__action { transform: none; } }
.kt-home-circle__link { display: inline-block; margin-top: 1.75rem; padding-bottom: .375rem; border-bottom: 1.5px solid var(--kt-gold); color: var(--kt-plum); font-family: var(--kt-sans); font-size: .65625rem; font-weight: 600; letter-spacing: .2em; text-decoration: none; text-transform: uppercase; }
.kt-home-circle__link--application { display: block; width: fit-content; margin-top: .875rem; }
.kt-empty-state { border: 1px dashed var(--kt-line); padding: 2rem; color: var(--kt-muted); }

.kt-page-header, .kt-article__header { padding-block: clamp(4rem, 8vw, 8rem) clamp(2rem, 4vw, 4rem); border-bottom: 1px solid var(--kt-line); }
.kt-page-header--collection { padding-block: 3.125rem .5rem; border-bottom: 0; }
.kt-page-header--collection h1 { margin-top: .9rem; font-size: clamp(1.6875rem, 3.2vw, 2.75rem); line-height: 1.12; letter-spacing: -.02em; }
.kt-page { width: min(100%, var(--kt-content-max)); max-width: var(--kt-content-max); padding-block: clamp(3rem, 7vw, 6rem); }
.kt-source-composed-page { padding-block: 0; }
.kt-article > .entry-content { width: min(100%, 760px); max-width: 760px; padding-block: clamp(3rem, 7vw, 6rem); }
.entry-content > * + * { margin-top: 1.35rem; }
.entry-content h2, .entry-content h3 { margin-top: 2.7rem; color: var(--kt-plum); line-height: 1.15; }
.entry-content h2 { font-size: clamp(2rem, 3.8vw, 3.35rem); }
.entry-content h3 { font-size: clamp(1.45rem, 2.6vw, 2rem); }
.entry-content .wp-block-button__link { border-radius: 0; font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

/* Editorial Cordyceps page: source content stays in Gutenberg; the theme owns the responsive composition. */
.kt-cordyceps { max-width: none; padding: 0; }
.kt-cordyceps__hero { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); max-width: 1680px; margin: 0 auto; overflow: hidden; background: var(--kt-canvas-muted); }
.kt-cordyceps__hero-copy { display: flex; flex-direction: column; justify-content: center; min-height: min(700px, calc(100vh - 78px)); padding: clamp(3.5rem, 6vw, 5.5rem); }
.kt-cordyceps__hero-copy h1 { max-width: 9ch; margin: 1rem 0 1.65rem; color: var(--kt-plum); font-size: clamp(2.875rem, 4.2vw, 3.875rem); line-height: .98; letter-spacing: -.055em; }
.kt-cordyceps__hero-copy p:not(.kt-eyebrow) { max-width: 38rem; margin: 0; font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.65; }
.kt-cordyceps__hero-copy p:not(.kt-eyebrow) + p:not(.kt-eyebrow) { margin-top: 1.1rem; }
.kt-cordyceps__hero-image { display: grid; min-height: min(700px, calc(100vh - 78px)); margin: 0; background: #e8e1d8; }
.kt-cordyceps__hero-image img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.kt-cordyceps__body { position: relative; z-index: 1; width: min(940px, calc(100vw - 48px)); margin: 0 auto; padding-block: clamp(4.5rem, 8vw, 7rem); }
.kt-cordyceps__detail { margin: 0; border-top: 1px solid var(--kt-line); }
.kt-cordyceps__detail:last-of-type { border-bottom: 1px solid var(--kt-line); }
.kt-cordyceps__detail summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.4rem 0; color: var(--kt-plum); cursor: pointer; font-size: clamp(1.2rem, 2.2vw, 1.65rem); font-weight: 700; line-height: 1.18; list-style: none; }
.kt-cordyceps__detail summary::-webkit-details-marker { display: none; }
.kt-cordyceps__detail summary::after { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; color: var(--kt-gold); content: '+'; font-family: var(--kt-sans); font-size: 1.55rem; font-weight: 400; line-height: .82; text-align: center; }
.kt-cordyceps__detail[open] summary::after { content: '−'; }
.kt-cordyceps__detail > :not(summary) { max-width: 48rem; margin: 0; padding-bottom: 1.45rem; color: var(--kt-ink); }
.kt-cordyceps__detail > p + p { margin-top: .9rem; }
.kt-cordyceps__ingredients { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; max-width: 40rem; margin: .1rem 0 1rem; border-top: 1px solid var(--kt-line); border-left: 1px solid var(--kt-line); }
.kt-cordyceps__ingredients p { min-height: 6.4rem; margin: 0; padding: 1rem; border-right: 1px solid var(--kt-line); border-bottom: 1px solid var(--kt-line); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .78rem; line-height: 1.45; }
.kt-cordyceps__ingredients strong { display: block; margin-bottom: .3rem; color: var(--kt-plum); font-family: var(--kt-serif); font-size: 1.15rem; line-height: 1.1; }
.kt-cordyceps__body .wp-block-buttons { margin-top: 2.7rem; }
.kt-cordyceps__body .wp-block-button__link { padding: 1rem 1.35rem; border: 1px solid var(--kt-plum); background: var(--kt-plum); color: var(--kt-canvas); }
.kt-cordyceps__body .wp-block-button__link:hover { border-color: var(--kt-gold); background: var(--kt-gold); color: var(--kt-plum); }

/* Editorial About page: source content stays in Gutenberg; the theme owns the responsive composition. */
.kt-about { max-width: none; padding: 0; }
.kt-about.entry-content > * + * { margin-top: 0; }
.kt-about__hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: clamp(2.5rem, 4.8vw, 4.5rem); max-width: 1680px; margin: clamp(3rem, 5vw, 4.5rem) auto 0; padding: clamp(2.5rem, 4.2vw, 4rem) clamp(1.5rem, 5vw, 5rem); background: var(--kt-canvas-muted); }
.kt-about__hero-image { grid-column: 1; width: 100%; max-width: 610px; margin: 0; justify-self: center; box-shadow: 0 1.25rem 3.4rem rgba(56, 31, 48, .10); }
.kt-about__hero-image img { display: block; width: 100%; height: auto; }
.kt-about__hero-copy { grid-column: 2; align-self: center; }
.kt-about__hero-copy h1 { max-width: 10ch; margin: 1rem 0 1.5rem; color: var(--kt-plum); font-size: clamp(3rem, 4.6vw, 4.7rem); line-height: 1; letter-spacing: -.055em; }
.kt-about__hero-copy p:not(.kt-eyebrow) { max-width: 35rem; margin: 0; font-size: clamp(1rem, 1.35vw, 1.12rem); line-height: 1.65; }
.kt-about__section { width: min(900px, calc(100vw - 48px)); margin: 0 auto; padding-block: clamp(4.5rem, 7vw, 6.75rem); }
.kt-about__section h2 { max-width: 15ch; margin: 1rem 0 1.5rem; color: var(--kt-plum); font-size: clamp(2.35rem, 4vw, 4rem); line-height: 1.04; letter-spacing: -.05em; }
.kt-about__section p:not(.kt-eyebrow) { max-width: 46rem; margin: 0; font-size: clamp(1rem, 1.35vw, 1.1rem); line-height: 1.7; }
.kt-about__section p:not(.kt-eyebrow) + p:not(.kt-eyebrow) { margin-top: 1.1rem; }
.kt-about__control { width: min(1040px, calc(100vw - 48px)); border-top: 1px solid var(--kt-line); }
.kt-about__rules { max-width: 43rem; margin: 2rem 0; padding: 0; border-top: 1px solid var(--kt-line); list-style: none; }
.kt-about__rules li { position: relative; margin: 0; padding: 1.05rem 2.6rem 1.05rem 0; border-bottom: 1px solid var(--kt-line); color: var(--kt-plum); font-size: clamp(1.1rem, 1.8vw, 1.45rem); font-weight: 700; line-height: 1.25; }
.kt-about__rules li::after { position: absolute; right: 0; color: var(--kt-gold); content: '·'; font-family: var(--kt-sans); font-size: 2rem; line-height: .55; }
.kt-about__production { margin: 0; padding: clamp(3.25rem, 6vw, 5.5rem) max(1.5rem, calc((100vw - 860px) / 2)); background: var(--kt-canvas-muted); }
.kt-about__production > * { max-width: 53.75rem; }
.kt-about__production p:not(.kt-eyebrow) { max-width: 54rem; margin: 1rem 0 0; color: var(--kt-ink); font-size: clamp(1.1rem, 1.65vw, 1.45rem); line-height: 1.55; }
.kt-about__production .wp-block-buttons { margin-top: 2rem; }
.kt-about__production .wp-block-button__link { padding: 1rem 1.35rem; border: 1px solid var(--kt-plum); background: transparent; color: var(--kt-plum); }
.kt-about__production .wp-block-button__link:hover { border-color: var(--kt-gold); background: var(--kt-gold); color: var(--kt-plum); }

/* GMC supplies the membership state; the theme only restores contrast and scale for its native gate. */
.xk-club-gate { display: grid; align-content: center; min-height: 25rem; max-width: 58rem; margin: clamp(3rem, 7vw, 7rem) auto; padding: clamp(2rem, 6vw, 5rem); border: 0; background: var(--kt-plum); color: var(--kt-canvas); }
.xk-club-gate h2 { max-width: 13ch; margin: .6rem 0 1.25rem; color: var(--kt-canvas); font-size: clamp(2.5rem, 4.7vw, 4.8rem); line-height: 1.02; letter-spacing: -.05em; }
.xk-club-gate > p:not(.xk-member-summary__eyebrow) { max-width: 40rem; margin: 0; color: rgba(242, 237, 231, .8); font-size: 1.08rem; line-height: 1.65; }
.xk-club-gate .xk-member-summary__link { width: fit-content; padding-bottom: .3rem; border-bottom: 1px solid currentColor; color: var(--kt-canvas); }
.xk-club-gate .xk-member-summary__link:hover { color: #dfc582; }
.kt-editorial-intro, .kt-reviews-list, .kt-library-list { max-width: 1000px; margin-inline: auto; }
.kt-editorial-intro { padding-block: clamp(3.5rem, 7vw, 6.5rem) 2.5rem; }
.kt-editorial-intro h2 { max-width: 12ch; margin: 1rem 0 1.35rem; color: var(--kt-plum); font-size: clamp(2.6rem, 4.5vw, 4.6rem); line-height: 1.03; letter-spacing: -.05em; }
.kt-editorial-intro p:not(.kt-eyebrow) { max-width: 42rem; margin: 0; font-size: 1.12rem; }
.kt-reviews-list { padding-bottom: clamp(4rem, 7vw, 7rem); }
.kt-reviews-list .wp-block-quote { margin: 0; padding: clamp(1.6rem, 3vw, 2.8rem) 0; border: 0; border-top: 1px solid var(--kt-line); color: var(--kt-plum); font-size: clamp(1.35rem, 2.35vw, 2.25rem); line-height: 1.28; letter-spacing: -.025em; }
.kt-reviews-list .wp-block-quote:last-child { border-bottom: 1px solid var(--kt-line); }
.kt-reviews-list .wp-block-quote cite { display: block; margin-top: 1rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .72rem; font-style: normal; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
@media (min-width: 900px) {
	/* Source reviews are a two-column set of framed cards, not a narrow quote rail. */
	.kt-reviews-list { display: grid; width: calc(100% + (2 * var(--kt-gutter))); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: var(--kt-content-max); margin-left: calc(-1 * var(--kt-gutter)); padding-top: 0; }
	.kt-reviews-list .wp-block-quote { display: flex; min-height: 19.375rem; flex-direction: column; justify-content: space-between; padding: 2.5rem; border: 1px solid var(--kt-line); background: rgba(234, 227, 218, .55); }
	.kt-reviews-list .wp-block-quote:last-child { border-bottom: 1px solid var(--kt-line); }
	.kt-reviews-list .wp-block-quote cite { margin-top: 1.5rem; }

	/* The source library groups open materials and Circle materials in adjacent panels. */
	.kalpa-page-library .kt-page { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; padding-inline: 0; }
	.kalpa-page-library .kt-editorial-intro { grid-column: 1 / -1; width: min(100%, 62.5rem); margin-inline: auto; }
	.kalpa-page-library .kt-library-list { max-width: none; min-width: 0; margin: 0 0 5rem; padding: 2.125rem; border: 1px solid var(--kt-line); }
	.kalpa-page-library .kt-library-list + .kt-library-list { border-left: 0; }
	.kalpa-page-library .kt-library-list--locked { background: var(--kt-canvas-muted); }

	/* The supplied library screen gives the introduction a quieter editorial
	   heading and only highlights open articles when a visitor explores them. */
	.kalpa-page-library .kt-editorial-intro h2 {
		font-size: clamp(2.3rem, 3.9vw, 3.25rem);
		line-height: 1.12;
		letter-spacing: -.02em;
	}

	.kalpa-page-library .kt-library-list:not(.kt-library-list--locked) li {
		transition: background-color .22s ease, color .22s ease;
	}

	@media (hover: hover) and (pointer: fine) {
		.kalpa-page-library .kt-library-list:not(.kt-library-list--locked) li:hover,
		.kalpa-page-library .kt-library-list:not(.kt-library-list--locked) li:focus-within {
			background: rgba(176, 138, 71, .065);
		}
	}
}
@media (max-width: 899px) {
	.kalpa-page-library .kt-page { display: block; }
}
.kt-editorial-gate { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); padding-block: clamp(3rem, 6vw, 5.5rem); padding-inline: var(--kt-edge); background: var(--kt-canvas-muted); }
.kt-editorial-gate > * { max-width: 56rem; }
.kt-editorial-gate h2 { margin: 1rem 0; color: var(--kt-plum); font-size: clamp(2.25rem, 4vw, 4rem); line-height: 1.04; }
.kt-editorial-gate p:not(.kt-eyebrow) { max-width: 42rem; margin: 0; }
.kt-editorial-gate .wp-block-button__link { margin-top: 1rem; border-radius: 0; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }

/* Reviews follow the source's restrained 18px cards and an editorial,
   left-aligned Circle gateway rather than a centred call-to-action panel. */
.kalpa-page-reviews .kt-editorial-intro h2 { max-width: none; font-size: clamp(2rem, 3.2vw, 2.75rem); line-height: 1.12; letter-spacing: -.02em; }
.kalpa-page-reviews .kt-reviews-list .wp-block-quote { color: var(--kt-ink); font-size: 1.125rem; line-height: 1.6; letter-spacing: 0; }
.kalpa-page-reviews .kt-reviews-list .wp-block-quote cite { color: var(--kt-gold); font-size: .6rem; letter-spacing: .18em; }
.kalpa-page-reviews .kt-editorial-gate > * { max-width: 47.5rem; margin-inline: 0 !important; }
.kalpa-page-reviews .kt-editorial-gate h2 { margin: 1rem 0 .9rem !important; font-size: clamp(2rem, 3.2vw, 2.75rem); line-height: 1.12; letter-spacing: -.02em; }
.kalpa-page-reviews .kt-editorial-gate .kt-editorial-gate__description { max-width: 44rem; font-size: .9375rem; line-height: 1.68; }
.kalpa-page-reviews .kt-editorial-gate__entry { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.35rem !important; padding: 1.125rem 0; border-top: 1px solid var(--kt-line); border-bottom: 1px solid var(--kt-line); transition: background-color .22s ease, border-color .22s ease; }
.kalpa-page-reviews .kt-editorial-gate__entry-copy { min-width: 0; }
.kalpa-page-reviews .kt-editorial-gate__entry-copy h3 { margin: 0; color: var(--kt-plum); font-size: 1.0625rem; line-height: 1.2; }
.kalpa-page-reviews .kt-editorial-gate__entry-copy p { margin: .3rem 0 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .72rem; line-height: 1.5; }
.kalpa-page-reviews .kt-editorial-gate__entry-action { flex: 0 0 auto; margin: 0 !important; }
.kalpa-page-reviews .kt-editorial-gate__entry-action a { color: var(--kt-gold); font-family: var(--kt-sans); font-size: .6rem; font-weight: 600; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.kalpa-page-reviews .kt-editorial-gate__entry-action a::after { content: ' →'; }
.kalpa-page-reviews .kt-editorial-gate__entry:focus-within { border-color: rgba(176, 138, 71, .65); background: rgba(176, 138, 71, .065); }
@media (hover: hover) and (pointer: fine) { .kalpa-page-reviews .kt-editorial-gate__entry:hover { border-color: rgba(176, 138, 71, .65); background: rgba(176, 138, 71, .065); } }
@media (max-width: 640px) { .kalpa-page-reviews .kt-editorial-gate__entry { align-items: flex-start; flex-direction: column; } }
.kt-library-list { padding-block: 2rem; }
.kt-library-list > .kt-eyebrow { margin-bottom: 1.1rem; }
.kt-library-list ul { margin: 0; padding: 0; border-top: 1px solid var(--kt-line); list-style: none; }
.kt-library-list li { position: relative; margin: 0; padding: 1.2rem 3rem 1.2rem 0; border-bottom: 1px solid var(--kt-line); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .82rem; line-height: 1.5; }
.kt-library-list li::after { position: absolute; right: 0; top: 1.35rem; color: var(--kt-gold); content: '↗'; font-size: 1.2rem; }
.kt-library-list li strong { color: var(--kt-plum); font-family: var(--kt-serif); font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.15; }
.kt-library-list--locked { padding-bottom: clamp(4rem, 7vw, 6rem); }
.kt-library-list--locked li { color: var(--kt-muted); opacity: .74; }
.kt-library-list--locked li::after { content: 'Circle'; font-family: var(--kt-sans); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.kt-wait-application { max-width: 760px; padding-block: clamp(3.5rem, 7vw, 6.5rem) 3rem; }
.kt-wait-application > .kt-eyebrow { margin-bottom: 1rem; }
.kt-wait-application .gmc-membership-application { color: var(--kt-plum); }
.kt-wait-application .gmc-membership-application h2 { max-width: 10ch; margin: 0 0 1.25rem; color: var(--kt-plum); font-size: clamp(2.65rem, 5vw, 4.9rem); line-height: 1.01; letter-spacing: -.055em; }
.kt-wait-application .gmc-membership-application > p { max-width: 39rem; margin: 0 0 1.25rem; }
.kt-wait-application .gmc-membership-application__closed, .kt-wait-application .gmc-membership-application__notice { padding: 1rem 1.15rem; border-left: 2px solid var(--kt-gold); background: var(--kt-canvas-muted); }
.kt-wait-application .gmc-membership-application form { display: grid; gap: 1rem; max-width: 34rem; margin-top: 1.75rem; }
.kt-wait-application .gmc-membership-application form p { margin: 0; }
.kt-wait-application .gmc-membership-application label { display: grid; gap: .45rem; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.kt-wait-application .gmc-membership-application input[type="text"], .kt-wait-application .gmc-membership-application input[type="email"] { width: 100%; padding: .85rem 0; border: 0; border-bottom: 1px solid var(--kt-line); border-radius: 0; background: transparent; color: var(--kt-plum); font: 400 1rem/1.4 var(--kt-sans); letter-spacing: 0; text-transform: none; }
.kt-wait-application .gmc-membership-application input[type="checkbox"] { accent-color: var(--kt-plum); }
.kt-wait-application .gmc-membership-application .button { width: fit-content; padding: 1rem 1.35rem; border: 0; border-radius: 0; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.kt-wait-benefits { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); padding-block: clamp(3rem, 6vw, 5rem) clamp(4rem, 7vw, 6rem); padding-inline: var(--kt-edge); background: var(--kt-canvas-muted); }
.kt-wait-benefits > * { max-width: 900px; margin-inline: auto; }
.kt-wait-benefits > .kt-eyebrow { margin-bottom: 1.25rem; }
.kt-wait-benefits ul { margin: 0 0 2rem; padding: 0; border-top: 1px solid var(--kt-line); list-style: none; }
.kt-wait-benefits li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; margin: 0; padding: 1rem 0; border-bottom: 1px solid var(--kt-line); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .82rem; line-height: 1.5; }
.kt-wait-benefits li strong { color: var(--kt-plum); font-family: var(--kt-serif); font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.15; }
.kt-wait-benefits li span { align-self: end; text-align: right; }
.kt-wait-benefits .wp-block-button__link { padding: 0; border: 0; background: transparent; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.kt-wait-benefits .wp-block-button__link::after { padding-left: .4rem; color: var(--kt-gold); content: 'здесь'; }
.kt-circle-intro, .kt-circle-tiers { max-width: 1180px; margin-inline: auto; }
.kt-circle-entry { max-width: 900px; margin-inline: auto; }
.kt-circle-intro { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.kt-circle-intro h2 { max-width: 14ch; margin: 1rem 0 1.75rem; color: var(--kt-plum); font-size: clamp(2.5rem, 4.7vw, 4.8rem); line-height: 1.04; letter-spacing: -.055em; }
.kt-circle-intro p:not(.kt-eyebrow) { max-width: 44rem; margin: 0 0 1.25rem; font-size: 1.08rem; line-height: 1.65; }
.kt-circle-benefits { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); padding-block: clamp(3rem, 6vw, 5rem); padding-inline: var(--kt-edge); background: var(--kt-canvas-muted); }
.kt-circle-benefits > .kt-eyebrow { max-width: 900px; margin: 0 auto 1.25rem; }
.kt-circle-benefits ul { max-width: 900px; margin: 0 auto; padding: 0; border-top: 1px solid var(--kt-line); list-style: none; }
.kt-circle-benefits li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; margin: 0; padding: 1rem 0; border-bottom: 1px solid var(--kt-line); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .82rem; line-height: 1.5; }
.kt-circle-benefits li strong { color: var(--kt-plum); font-family: var(--kt-serif); font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.15; }
.kt-circle-benefits li span { align-self: end; text-align: right; }
@media (min-width: 900px) {
	/* Circle benefits are paired tiers across the complete desktop canvas. */
	.kt-circle-benefits > .kt-eyebrow { max-width: none; margin-bottom: 1.375rem; }
	.kt-circle-benefits ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 4.5rem; max-width: none; margin: 0; }
	.kt-circle-benefits li { padding-block: 1.5rem; }
}
.kt-circle-tiers { padding-block: clamp(4rem, 7vw, 6rem); }
.kt-circle-tiers > .kt-eyebrow { margin-bottom: 1.4rem; }
.kt-circle-table { width: 100%; overflow-x: auto; margin: 0 0 2rem; }
.kt-circle-table table { width: 100%; min-width: 680px; border-collapse: collapse; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .8125rem; line-height: 1.4; }
.kt-circle-table th, .kt-circle-table td { border: 0; text-align: center; vertical-align: middle; }
.kt-circle-table th { padding: 0 .875rem 1.25rem; color: var(--kt-plum); font-size: .6875rem; font-weight: 700; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.kt-circle-table th:first-child { width: 34%; text-align: left; }
.kt-circle-table td { padding: 1.125rem .75rem; border-top: 1px solid var(--kt-line); color: var(--kt-plum); }
.kt-circle-table td:first-child { width: 28%; padding-left: 0; padding-right: 1rem; color: var(--kt-ink); text-align: left; font-family: var(--kt-serif); font-size: .9375rem; line-height: 1.25; }
.kt-circle-table .kt-circle-table__condition td { padding-block: 1rem; border-top: 1.5px solid var(--kt-plum); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .6875rem; line-height: 1.5; }
.kt-circle-table .kt-circle-table__condition td:first-child { color: var(--kt-plum); font-family: var(--kt-serif); font-size: .9375rem; font-weight: 700; }
.kt-circle-table .kt-circle-table__yes { color: var(--kt-gold); font-size: 1rem; font-weight: 700; }
.kt-circle-table .kt-circle-table__no { color: var(--kt-muted); font-size: 1.15rem; }
.kt-circle-tiers .wp-block-button__link { border: 1px solid var(--kt-plum); border-radius: 0; background: transparent; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.kt-circle-entry { padding-bottom: clamp(4rem, 8vw, 7rem); }
.kt-circle-entry h2 { max-width: 13ch; margin: 1rem 0 1.25rem; color: var(--kt-plum); font-size: clamp(2.35rem, 4vw, 4rem); line-height: 1.04; letter-spacing: -.05em; }
.kt-circle-entry > p:not(.kt-eyebrow) { max-width: 40rem; margin-bottom: 1.5rem; }
.kt-circle-entry .xk-club-gate { margin-block: 2rem; }
.kt-circle-entry .xk-club-gate h2 { color: var(--kt-canvas); }
.kt-circle-entry .wp-block-button__link { border-radius: 0; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

/* Circle: exact desktop hierarchy of the supplied source composition. */
.kalpa-page-circle .kt-circle-intro { max-width: none; margin: 0; padding: clamp(4rem, 7vw, 6.5rem) clamp(2rem, 5vw, 4.5rem); }
.kalpa-page-circle .kt-circle-intro > * { max-width: 53.75rem; margin-inline: 0 !important; }
.kalpa-page-circle .kt-circle-intro h2 { max-width: 53.75rem; font-size: clamp(3.125rem, 4.7vw, 4.25rem); line-height: 1.01; }
.kalpa-page-circle .kt-circle-intro p:not(.kt-eyebrow) { max-width: 48.75rem; font-size: 1rem; line-height: 1.65; }
.kalpa-page-circle .kt-circle-tiers { max-width: none; margin: 0; padding-block: clamp(4rem, 6.5vw, 6rem) 2.5rem; }
.kalpa-page-circle .kt-circle-tiers > .kt-eyebrow,
.kalpa-page-circle .kt-circle-tiers > .kt-circle-table,
.kalpa-page-circle .kt-circle-tiers > .wp-block-buttons { width: 100%; max-width: 73.75rem; margin-inline: 0; }
.kalpa-page-circle .kt-circle-entry { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); padding-block: clamp(3.75rem, 6vw, 5.75rem) clamp(4.5rem, 8vw, 7rem); padding-inline: var(--kt-edge); background: var(--kt-canvas-muted); }
.kalpa-page-circle .kt-circle-entry > * { width: 100%; max-width: 48.75rem; margin-inline: 0 !important; }
.kalpa-page-circle .kt-circle-entry h2 { max-width: 34rem; font-size: clamp(2.35rem, 3.2vw, 2.75rem); line-height: 1.12; }
.kalpa-page-circle .kt-circle-entry__description { margin-bottom: 0 !important; }
.kalpa-page-circle .kt-circle-entry__facts { margin-top: 1.5rem; border-top: 1px solid var(--kt-line); }
.kalpa-page-circle .kt-circle-entry__fact { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0; padding: 1.0625rem 0; border-bottom: 1px solid var(--kt-line); }
.kalpa-page-circle .kt-circle-entry__fact h3 { margin: 0; color: var(--kt-plum); font-family: var(--kt-serif); font-size: 1rem; line-height: 1.3; }
.kalpa-page-circle .kt-circle-entry__fact p { margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .6875rem; line-height: 1.45; text-align: right; }
.kalpa-page-circle .kt-circle-entry > .wp-block-buttons { margin-top: 1rem; }
.kalpa-page-circle .kt-circle-entry .wp-block-button,
.kalpa-page-circle .kt-circle-entry .wp-block-button__link { width: min(100%, 39.375rem); }
@media (max-width: 640px) { .kt-circle-benefits li { grid-template-columns: 1fr; gap: .3rem; } .kt-circle-benefits li span { text-align: left; } .kt-circle-table { margin-inline: -1.5rem; width: calc(100% + 3rem); } }
.kt-meet-intro, .kt-meet-events { max-width: 1000px; margin-inline: auto; }
.kt-meet-intro { padding-block: clamp(3.5rem, 7vw, 6.5rem) 2.5rem; }
.kt-meet-intro h2 { max-width: 12ch; margin: 1rem 0 1.35rem; color: var(--kt-plum); font-size: clamp(2.6rem, 4.5vw, 4.6rem); line-height: 1.03; letter-spacing: -.05em; }
.kt-meet-intro p:not(.kt-eyebrow) { max-width: 42rem; margin: 0; font-size: 1.12rem; line-height: 1.6; }
.kt-meet-events { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding-bottom: clamp(4rem, 7vw, 6rem); }
.kt-meet-event { display: flex; min-height: 17rem; flex-direction: column; margin: 0; padding: clamp(1.45rem, 2.5vw, 2rem); border: 1px solid var(--kt-line); background: var(--kt-canvas-muted); }
.kt-meet-event__date, .kt-meet-event__tier { margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .68rem; font-weight: 700; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.kt-meet-event h3 { margin: 1.2rem 0 .65rem; color: var(--kt-plum); font-size: clamp(1.45rem, 2vw, 1.9rem); line-height: 1.08; letter-spacing: -.035em; }
.kt-meet-event > p:not(.kt-meet-event__date):not(.kt-meet-event__tier) { margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .84rem; line-height: 1.5; }
.kt-meet-event__tier { margin-top: auto; padding-top: 1.45rem; color: var(--kt-plum); }
.kt-meet-gate { width: min(100%, var(--kt-content-max)); max-width: var(--kt-content-max); margin: 0 auto clamp(4rem, 7vw, 6.25rem); padding: clamp(3.25rem, 4.5vw, 4.25rem) clamp(3.25rem, 4vw, 4.5rem); background: var(--kt-canvas-muted); color: var(--kt-plum); }
.kt-meet-gate > * { max-width: 40rem; margin-inline: 0 !important; }
.kt-meet-gate .kt-eyebrow { margin-bottom: 1rem; }
.kt-meet-gate h2 { max-width: 25rem !important; margin: 0 0 1.25rem !important; color: var(--kt-plum); font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1.12; letter-spacing: -.025em; }
.kt-meet-gate > p:not(.kt-eyebrow) { max-width: 38rem; margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .82rem; line-height: 1.6; }
.kt-meet-gate__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.55rem; }
.kt-meet-gate__actions .wp-block-button { margin: 0; }
.kt-meet-gate__actions .wp-block-button__link { display: grid; min-width: 15.625rem; min-height: 3.25rem; place-items: center; padding: .8rem 1.2rem; border: 1px solid var(--kt-plum); border-radius: 0; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .7rem; font-weight: 700; letter-spacing: .12em; line-height: 1.2; text-decoration: none; text-transform: uppercase; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.kt-meet-gate__actions .is-style-outline .wp-block-button__link { background: transparent; color: var(--kt-plum); }
.kt-meet-gate__actions .wp-block-button__link:hover { border-color: var(--kt-gold); background: var(--kt-gold); color: var(--kt-plum); }
@media (min-width: 900px) {
	.kt-meet-events { width: calc(100% + (2 * var(--kt-gutter))); max-width: var(--kt-content-max); gap: 1.125rem; margin-left: calc(-1 * var(--kt-gutter)); padding-bottom: 4.5rem; }
	.kt-meet-event { min-height: 14.375rem; padding: 1.875rem; }
}
@media (max-width: 760px) { .kt-meet-events { grid-template-columns: 1fr; } .kt-meet-event { min-height: 0; } }
@media (max-width: 560px) { .kt-meet-gate__actions { display: grid; } .kt-meet-gate__actions .wp-block-button__link { width: 100%; min-width: 0; } }
.kt-action-intro, .kt-action-list { max-width: 1000px; margin-inline: auto; }
.kt-action-intro { padding-block: clamp(3.5rem, 7vw, 6.5rem) 2.5rem; }
.kt-action-intro h2 { max-width: 14ch; margin: 1rem 0 1.35rem; color: var(--kt-plum); font-size: clamp(2.6rem, 4.5vw, 4.6rem); line-height: 1.03; letter-spacing: -.05em; }
.kt-action-intro p:not(.kt-eyebrow) { max-width: 44rem; margin: 0; font-size: 1.12rem; line-height: 1.6; }
.kt-action-list { padding-bottom: clamp(4rem, 7vw, 6rem); }
.kt-action-list > .kt-eyebrow { margin-bottom: 1.1rem; }
.kt-action-list ul { margin: 0; padding: 0; border-top: 1px solid var(--kt-line); list-style: none; }
.kt-action-list li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .75fr); gap: 1.5rem; margin: 0; padding: 1.3rem 0; border-bottom: 1px solid var(--kt-line); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .84rem; line-height: 1.5; }
.kt-action-list li strong { color: var(--kt-plum); font-family: var(--kt-serif); font-size: clamp(1.3rem, 2.2vw, 1.75rem); line-height: 1.12; }
.kt-action-list li span { align-self: end; }
.kt-action-gate { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); padding-block: clamp(3rem, 6vw, 5.5rem); padding-inline: var(--kt-edge); background: var(--kt-canvas-muted); }
.kt-action-gate > * { max-width: 900px; margin-inline: auto; }
.kt-action-gate h2 { max-width: 14ch; margin: 1rem 0 1.25rem; color: var(--kt-plum); font-size: clamp(2.35rem, 4.2vw, 4.2rem); line-height: 1.04; letter-spacing: -.05em; }
.kt-action-gate > p:not(.kt-eyebrow) { max-width: 42rem; margin: 0; line-height: 1.6; }
.kt-action-gate .xk-member-summary { max-width: 58rem; margin: 2rem 0 0; }
.kt-action-gate .wp-block-buttons { margin-top: 1.75rem; }
.kt-action-gate .wp-block-button__link { border-radius: 0; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
/* A vertical scrollbar is part of the desktop viewport. Offset viewport-wide editorial bands by half its standard width so their right edge never creates a horizontal page scroll. */
@media (min-width: 900px) {
	.kt-editorial-gate,
	.kt-wait-benefits,
	.kt-circle-benefits,
	.kt-action-gate { width: calc(100vw - 1rem); margin-inline: calc(50% - 50vw + .5rem); }
}
@media (max-width: 640px) { .kt-action-list li { grid-template-columns: 1fr; gap: .35rem; } }
.kt-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; padding-block: 3.5rem 6rem; }
.kt-post-card { display: flex; flex-direction: column; }
.kt-post-card__image { display: block; aspect-ratio: 4 / 3; margin-bottom: 1.2rem; background: var(--kt-canvas-muted); }
.kt-post-card__image img { width: 100%; height: 100%; object-fit: cover; }
.kt-post-card h2 { margin: .65rem 0 .6rem; color: var(--kt-plum); font-size: 1.75rem; line-height: 1.15; }
.kt-post-card h2 a { text-decoration: none; }
.kt-article__image { margin-top: 3rem; }
.kt-article__image img { width: 100%; max-height: 680px; object-fit: cover; }

.kt-footer { margin-top: 0; padding: 3rem 0 2.125rem; background: var(--kt-plum); color: var(--kt-canvas); }
.kt-footer a { color: var(--kt-canvas); }
.kt-footer a:hover { color: #dfc582; }
.kt-footer__grid { display: grid; grid-template-columns: minmax(140px, .7fr) repeat(4, minmax(0, 1fr)); column-gap: clamp(1.75rem, 3.2vw, 3rem); row-gap: 1.75rem; padding-bottom: 2.125rem; }
.kt-brand--footer { color: var(--kt-canvas); }
.kt-footer__mark-link { display: inline-block; }
.kt-footer__mark { display: block; width: auto; max-width: 100%; height: 48px; }
.kt-footer__title { margin: 0 0 .625rem; color: #dfc582; font-family: var(--kt-sans); font-size: .59375rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.kt-footer-menu { list-style: none; margin: 0; padding: 0; }
.kt-footer-menu li + li { margin-top: .25rem; }
.kt-footer-menu a, .kt-footer__socials a, .kt-footer__socials span { color: rgba(242, 237, 231, .82); font-family: var(--kt-sans); font-size: .8125rem; font-weight: 400; letter-spacing: 0; line-height: 1.65; text-decoration: none; text-transform: none; }
.kt-footer__meta { color: rgba(242, 237, 231, .5); font-family: var(--kt-sans); font-size: .8125rem; line-height: 1.55; }
.kt-footer__socials { display: grid; gap: .125rem; margin: 0; }
.kt-footer__join { margin: 1rem 0 0; font-family: var(--kt-sans); font-size: .72rem; font-weight: 600; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
.kt-footer__join a { color: #dfc582; text-decoration: none; }
.kt-footer__join span { padding-left: .35rem; }
.kt-footer__contacts > p { margin: 0 0 .55rem; }
.kt-footer__contacts > p:first-of-type { margin-bottom: 0; }
.kt-footer__contacts > p a { color: var(--kt-canvas); font-size: 1.125rem; text-decoration: none; }
.kt-footer__contacts > p:nth-of-type(3) a { font-family: var(--kt-serif); font-size: 1.125rem; }
.kt-footer__bottom { padding-top: 1.125rem; border-top: 1px solid rgba(242, 237, 231, .2); color: rgba(242, 237, 231, .5); font-family: var(--kt-sans); font-size: .6875rem; }
.kt-footer__legal { display: grid; gap: .125rem; max-width: 39rem; line-height: 1.55; }
.kt-footer__legal p { margin: 0; }
.kt-footer__legal p:nth-child(3) { margin-bottom: .875rem; }
.kt-footer__legal-docs { margin-top: .125rem !important; }
.kt-footer__legal-docs a, .kt-footer__legal-docs span { color: inherit; text-decoration: none; }
.kt-footer__legal-docs a:hover { color: #dfc582; }

/* Perfect-pixel editorial pass: Gutenberg keeps source content editable, while
   the theme owns the shared horizontal rhythm and controls. */
.kt-home-feature__copy > *,
.kt-home-review > * { margin-left: 0 !important; margin-right: 0 !important; }
.kt-home-feature__copy > .kt-eyebrow::after,
.kt-home-review > .kt-eyebrow::after,
.kt-about__hero-copy > .kt-eyebrow::after,
.kt-about__control > .kt-eyebrow::after,
.kt-about__production > .kt-eyebrow::after,
.kalpa-page-library .kt-editorial-intro > .kt-eyebrow::after,
.kalpa-page-meet .kt-meet-intro > .kt-eyebrow::after {
	display: block;
	width: 4rem;
	height: 1px;
	margin-top: .9rem;
	background: var(--kt-gold);
	content: '';
}
.kt-home-feature__copy .wp-block-button__link {
	padding: 0 0 .375rem;
	border: 0;
	border-bottom: 1.5px solid var(--kt-gold);
	background: transparent;
	color: var(--kt-plum);
}
/* Source links remain quiet editorial actions instead of boxed controls. */
.kt-home-feature__copy .wp-block-button__link:hover {
	border-color: var(--kt-plum);
	background: transparent;
	color: var(--kt-gold);
}
.kalpa-page-library .kt-editorial-intro > *,
.kalpa-page-meet .kt-meet-intro > * {
	width: min(100% - 8.75rem, 53.75rem);
	max-width: 53.75rem !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.kalpa-page-library .kt-editorial-intro h2,
.kalpa-page-meet .kt-meet-intro h2 {
	font-size: 2.75rem;
	line-height: 1.12;
	letter-spacing: -.02em;
}
.kalpa-page-library .kt-editorial-intro h2 { max-width: 41rem !important; }
.kalpa-page-library .kt-library-list li strong { font-size: 1.25rem; line-height: 1.2; }
.kalpa-page-library:not(.logged-in) .kt-library-list--locked .xk-member-summary { display: none; }
.kt-library-access {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 20.25rem);
	align-items: center;
	gap: clamp(2rem, 6vw, 7rem);
	width: min(calc(100% - 2rem), var(--kt-content-max));
	margin: 0 auto clamp(4.5rem, 7vw, 7rem);
	padding: clamp(3rem, 5vw, 4.5rem) clamp(2.5rem, 5vw, 4.75rem);
	background: var(--kt-canvas-muted);
}
.kt-library-access__copy > .kt-eyebrow::after {
	display: block;
	width: 4rem;
	height: 1px;
	margin-top: .9rem;
	background: var(--kt-gold);
	content: '';
}
.kt-library-access h2 {
	max-width: 28rem;
	margin: 2rem 0 0;
	color: var(--kt-plum);
	font-size: clamp(2rem, 3.15vw, 2.75rem);
	line-height: 1.12;
	letter-spacing: -.025em;
}
.kt-library-access__actions { display: grid; gap: 1.15rem; }
.kt-library-access__actions .kt-button {
	display: grid;
	min-height: 4rem;
	padding: .9rem 1.25rem;
	place-items: center;
	text-align: center;
}
.kalpa-page-meet .kt-meet-intro h2 { max-width: none !important; }
.kalpa-page-meet .kt-meet-intro p:not(.kt-eyebrow) { font-size: 1.0625rem; line-height: 1.6; }
.kt-about__control h2 { font-size: 2.75rem; }
.kt-about__rules li { font-size: .96875rem; line-height: 1.45; }
.woocommerce .kt-product-card .gmc-wishlist__button::before,
.woocommerce .kt-product-card .gmc-wishlist__login a::before {
	color: var(--kt-muted);
	width: 1.1rem;
	height: 1.1rem;
	background: currentColor;
	content: '';
	-webkit-mask: url('../images/icons/heart-outline.svg') center / contain no-repeat;
	mask: url('../images/icons/heart-outline.svg') center / contain no-repeat;
}
.woocommerce .kt-product-card__add .dashicons,
.woocommerce .kt-card-quantity__button .dashicons { display: none; }
.woocommerce .kt-product-card__add::before,
.woocommerce .kt-card-quantity__button::before {
	color: currentColor;
	width: 1rem;
	height: 1rem;
	background: currentColor;
	content: '';
	-webkit-mask: url('../images/icons/plus.svg') center / contain no-repeat;
	mask: url('../images/icons/plus.svg') center / contain no-repeat;
}
.woocommerce .kt-card-quantity__button[data-kalpa-quantity-decrease]::before {
	-webkit-mask-image: url('../images/icons/minus.svg');
	mask-image: url('../images/icons/minus.svg');
}
.woocommerce .kt-product-card .added_to_cart { display: none !important; }
.kt-footer__title,
.kt-footer__join a { color: #b08a47; }
.kt-footer__join { font-size: .8125rem; }
@media (max-width: 899px) {
	.kalpa-page-library .kt-editorial-intro > *,
	.kalpa-page-meet .kt-meet-intro > * { width: 100%; }
	.kt-library-access { grid-template-columns: 1fr; padding: 2rem 1.5rem; }
}

.woocommerce .woocommerce-breadcrumb { margin: 2rem 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .72rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--kt-muted); }
.woocommerce .page-title, .woocommerce-products-header__title { margin: 2rem 0 2.5rem; color: var(--kt-plum); font-size: clamp(3rem, 5vw, 5.5rem); line-height: 1; letter-spacing: -.05em; }
.woocommerce .woocommerce-result-count { float: none; margin: 0 0 .8rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .74rem; font-weight: 600; letter-spacing: .06em; }
.woocommerce .woocommerce-ordering { float: none; margin: 0 0 2rem; }
.woocommerce .woocommerce-ordering select { min-height: 2.75rem; padding: .6rem .8rem; border: 1px solid var(--kt-line); border-radius: 0; background: var(--kt-canvas); color: var(--kt-plum); font-family: var(--kt-sans); font-size: .72rem; font-weight: 600; letter-spacing: .07em; }
.woocommerce .woocommerce-ordering select:focus { outline: 2px solid var(--kt-gold); outline-offset: 2px; }
.woocommerce-shop .woocommerce-result-count, .woocommerce-shop .woocommerce-ordering,
.tax-product_cat .woocommerce-result-count, .tax-product_cat .woocommerce-ordering { display: none; }
.kt-catalogue-categories { display: flex; align-items: baseline; gap: 1rem; margin: 0 0 2rem; padding-block: 1rem; border-top: 1px solid var(--kt-line); border-bottom: 1px solid var(--kt-line); }
.kt-catalogue-categories__label { flex: 0 0 auto; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .68rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.kt-catalogue-categories ul { display: flex; flex-wrap: wrap; gap: .45rem .7rem; margin: 0; padding: 0; list-style: none; }
.kt-catalogue-categories a { color: var(--kt-plum); font-family: var(--kt-sans); font-size: .75rem; font-weight: 600; text-decoration: none; }
.kt-catalogue-categories a:hover { color: var(--kt-gold); }
.kt-catalogue--grouped { padding-bottom: clamp(4.5rem, 8vw, 7rem); }
.kt-catalogue--grouped .kt-catalogue__header { margin: 0 0 2.75rem; padding-top: 2rem; }
.kt-catalogue--grouped .kt-catalogue__header .kt-eyebrow { margin: 0 0 .55rem; }
.kt-catalogue--grouped .page-title { margin: 0; }
.kt-catalogue-group { margin: 0 0 clamp(3.75rem, 6vw, 5.5rem); }
.kt-catalogue-group:last-child { margin-bottom: 0; }
.kt-catalogue-group__title { margin: 0 0 1.6rem; padding-top: 2rem; border-top: 1px solid var(--kt-line); color: var(--kt-gold); font-family: var(--kt-sans); font-size: .68rem; font-weight: 600; letter-spacing: .22em; line-height: 1.4; text-transform: uppercase; }
.kt-catalogue--grouped .kt-catalogue-group ul.products { margin-bottom: 0; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3.375rem 1.5rem; margin: 0 0 4.5rem; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { display: flex; float: none; width: auto; margin: 0; }
.woocommerce .kt-product-card__inner { position: relative; display: flex; flex: 1 1 auto; flex-direction: column; min-height: 100%; width: 100%; }
.woocommerce .kt-product-card .woocommerce-loop-product__link { display: flex; flex: 1 1 auto; flex-direction: column; color: inherit; text-decoration: none; }
.woocommerce .kt-product-card__media { position: relative; overflow: hidden; aspect-ratio: 1 / 1; background: transparent; }
.woocommerce .kt-product-card__media img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; transition: transform .3s ease, filter .3s ease; }
.woocommerce .kt-product-card:hover .kt-product-card__media img { transform: scale(1.025); filter: saturate(1.06); }
.woocommerce .kt-product-card .onsale { position: absolute; z-index: 1; top: .75rem; left: .75rem; min-height: auto; margin: 0; padding: .38rem .55rem; border: 0; border-radius: 0; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .62rem; font-weight: 600; line-height: 1.25; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce .kt-product-card__content { display: flex; flex: 1 1 auto; flex-direction: column; padding-top: 1.1rem; }
.woocommerce .kt-product-card .woocommerce-loop-product__title { min-height: 2.4em; padding: 0; color: var(--kt-plum); font-size: 1.2rem; line-height: 1.25; }
.woocommerce .kt-product-card__subtitle { min-height: 2.9em; margin: .5rem 0 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .77rem; line-height: 1.45; }
.woocommerce .kt-product-card__meta { margin-top: auto; padding-top: 1rem; }
.woocommerce .kt-product-card__price { margin: 0; padding: 0; }
.woocommerce .kt-product-card .star-rating { display: none; }
.woocommerce .kt-product-card .price { display: block; margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: 1.1rem; }
.woocommerce .kt-product-card .kt-price-on-request { display: none; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce .kt-product-card__availability { margin: .45rem 0 0; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .72rem; font-weight: 600; letter-spacing: .01em; line-height: 1.4; }
.woocommerce .kt-product-card .button { display: grid; width: 100%; min-height: 3.15rem; margin-top: 1rem; place-items: center; }
.woocommerce ul.products li.product .gmc-wishlist__login { display: none; }

/* The source home screen uses three editorial cards with short, cropped imagery;
   the catalogue deliberately remains the denser square-image grid above. */
.kt-section--products .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.625rem 1.625rem; }
.kt-section--products .woocommerce ul.products li.product { padding-bottom: 1.75rem; border-bottom: 1px solid var(--kt-line); }
.kt-section--products .kt-product-card__media { height: clamp(15.625rem, 22vw, 20rem); aspect-ratio: auto; background: transparent; }
.kt-section--products .kt-product-card__media img { object-fit: cover; object-position: center; padding: 0; }
.kt-section--products .kt-product-card__content { padding-top: 1.25rem; }
.kt-section--products .kt-product-card .woocommerce-loop-product__title { font-size: 1.3125rem; }
.woocommerce .kt-catalogue-empty { max-width: 48rem; margin: 0 0 4rem; padding: 1.2rem 1.35rem; border-top: 1px solid var(--kt-gold); color: var(--kt-ink); }
.kt-home-catalogue-note, .kt-catalogue__notice { max-width: 48rem; margin: 1.75rem 0 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .78rem; line-height: 1.5; }
.kt-catalogue__notice { margin-top: 0; padding-top: 1.25rem; border-top: 1px solid var(--kt-line); }
.woocommerce .kt-product-card__media--coming-soon { display: grid; min-height: 0; place-items: center; background: var(--kt-canvas-muted); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase;  text-align: center; }
.woocommerce .kt-product-card--coming-soon .kt-product-card__content { padding-bottom: 1.5rem; }
.kalpa-page-library .xk-member-summary { display: none; }
.woocommerce div.product { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 6vw, 6rem); row-gap: 3.5rem; padding-block: 3rem 6rem; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images { grid-column: 1; grid-row: 1; }
.woocommerce div.product div.summary { grid-column: 2; grid-row: 1; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; float: none; width: auto; }
.woocommerce div.product .woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce div.product .product_title { color: var(--kt-plum); font-size: clamp(2.25rem, 3.4vw, 3rem); line-height: 1.03; letter-spacing: -.045em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--kt-gold); font-family: var(--kt-sans); font-size: 1.2rem; }
.woocommerce .quantity .qty { min-height: 3.15rem; border: 1px solid var(--kt-line); background: transparent; }
.woocommerce div.product .woocommerce-tabs { width: min(100%, 57.5rem); margin: 0 auto; padding: clamp(3.5rem, 7vw, 5.5rem) var(--kt-gutter) clamp(4.75rem, 9vw, 7.375rem); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; border-bottom: 1px solid var(--kt-line); list-style: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 1rem 1.2rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a, .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--kt-plum); box-shadow: inset 0 -2px 0 var(--kt-gold); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: none; margin: 0; padding: clamp(2rem, 4vw, 4rem) 0 0; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { margin-top: 0; color: var(--kt-plum); font-size: clamp(2rem, 3.4vw, 3.4rem); line-height: 1.05; letter-spacing: -.04em; }
.kt-product-accordion { border-top: 1px solid var(--kt-line); }
.kt-product-accordion__item { border-bottom: 1px solid var(--kt-line); }
.kt-product-accordion__summary { display: flex; min-height: 3.75rem; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .7rem 0; color: var(--kt-plum); cursor: pointer; font-family: var(--kt-sans); font-size: .9rem; font-weight: 500; line-height: 1.4; list-style: none; }
.kt-product-accordion__summary::-webkit-details-marker { display: none; }
.kt-product-accordion__icon { position: relative; flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; }
.kt-product-accordion__icon::before, .kt-product-accordion__icon::after { position: absolute; top: 50%; left: 50%; width: .62rem; height: 1px; background: var(--kt-gold); content: ''; transform: translate(-50%, -50%); transition: transform .2s ease; }
.kt-product-accordion__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.kt-product-accordion__item[open] .kt-product-accordion__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.kt-product-accordion__summary:hover { color: var(--kt-gold); }
.kt-product-accordion__summary:focus-visible { outline: 1px solid var(--kt-gold); outline-offset: -1px; }
.kt-product-accordion__body { max-width: 42rem; padding: 0 2.25rem 1.75rem 0; color: var(--kt-text); font-size: 1rem; line-height: 1.65; }
.kt-product-accordion__body > :first-child { margin-top: 0; }
.kt-product-accordion__body > :last-child { margin-bottom: 0; }
.kt-product-accordion__body ul { margin: 0; padding-left: 1.25rem; }
@media (min-width: 900px) {
	/* The source Cordyceps screen uses the same viewport-bound 700px hero
	   height as its supplied desktop HTML (header allowance included). */
	.kt-cordyceps__hero { height: min(43.75rem, calc(100vh - 7.625rem)); min-height: 32.5rem; }
	.kt-cordyceps__hero-copy,
	.kt-cordyceps__hero-image { min-height: 0; height: 100%; }

	/* The 1240px editorial frame from the supplied About screen keeps both
	   title blocks deliberately compact and aligned to their content columns. */
	.kt-about__hero {
		max-width: var(--kt-content-max);
		grid-template-columns: minmax(0, .96fr) minmax(0, .84fr);
		gap: clamp(3rem, 4.2vw, 3.75rem);
		margin-top: clamp(3rem, 4vw, 3.75rem);
		padding: clamp(3.25rem, 4.2vw, 4rem) clamp(1.5rem, 5vw, 4.5rem);
	}

	.kt-about__hero-image {
		width: min(100%, 34.5rem);
		max-width: 34.5rem;
		justify-self: start;
	}

	.kt-about__hero-copy { max-width: 32rem; }

	.kt-about__hero-copy h1 {
		max-width: 13ch;
		margin: .875rem 0 1.25rem !important;
		font-size: clamp(2.75rem, 3.35vw, 3.125rem);
		line-height: 1.05;
		letter-spacing: -.045em;
	}

	.kt-about__hero-copy p:not(.kt-eyebrow) {
		max-width: 29rem;
		margin-inline: 0 !important;
	}

	.kt-about__detail {
		width: min(48.75rem, calc(100vw - 48px));
		padding-block: clamp(6.25rem, 8vw, 7.75rem);
	}

	.kt-about__detail h2 {
		max-width: none;
		margin: 0 0 1.25rem;
		font-size: clamp(2.375rem, 3vw, 3rem);
		line-height: 1.06;
		letter-spacing: -.045em;
	}

	.kt-about__detail p:not(.kt-eyebrow) { max-width: 47.5rem; }

	/* The supplied product screen is a full 1440px two-column composition,
	   unlike the narrower editorial and account pages. */
	.single-product .kt-shell { max-width: var(--kt-canvas-max); padding-inline: 0; }
	.single-product.woocommerce div.product { max-width: var(--kt-canvas-max); margin: 0 auto; padding-block: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; row-gap: 0; border-bottom: 1px solid var(--kt-line); }
	.single-product.woocommerce div.product .woocommerce-tabs { width: min(100%, 57.5rem); padding: 5.5rem clamp(2rem, 5vw, 4.5rem) 7.375rem; }
	.single-product.woocommerce div.product .woocommerce-tabs .panel { padding-top: 2rem; }
	.single-product.woocommerce div.product div.images { display: flex; align-items: center; justify-content: center; min-height: 32.5rem; height: min(45rem, calc(100vh - 7.625rem)); padding: clamp(1.375rem, 3vw, 2.875rem); background: #ebe5dd; }
	.single-product.woocommerce div.product .woocommerce-product-gallery__wrapper,
	.single-product.woocommerce div.product .woocommerce-product-gallery__image,
	.single-product.woocommerce div.product .woocommerce-product-gallery__image > a { display: flex; width: 100%; height: 100%; }
	.single-product.woocommerce div.product .woocommerce-product-gallery__image img { width: 100%; height: 100%; object-fit: contain; }
	.single-product.woocommerce div.product div.summary { padding: clamp(3.25rem, 5vw, 4.875rem); }
	.single-product.woocommerce div.product .related,
	.single-product.woocommerce div.product .upsells { margin: 0; padding: 4.625rem var(--kt-edge) 6.25rem; background: var(--kt-canvas-muted); }
	.single-product .related ul.products,
	.single-product .upsells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.875rem; margin: 0; }
	.single-product .related ul.products li.product,
	.single-product .upsells ul.products li.product { padding: 1.5rem; border: 1px solid var(--kt-line); background: rgba(242, 237, 231, .58); }
	.single-product .related .woocommerce-loop-product__link,
	.single-product .upsells .woocommerce-loop-product__link { flex-direction: row; gap: 1.0625rem; align-items: stretch; }
	.single-product .related .kt-product-card__media,
	.single-product .upsells .kt-product-card__media { flex: 0 0 9.375rem; width: 9.375rem; height: 11.875rem; aspect-ratio: auto; background: #ebe5dd; }
	.single-product .related .kt-product-card__media img,
	.single-product .upsells .kt-product-card__media img { object-fit: contain; padding: .625rem; }
	.single-product .related .kt-product-card__content,
	.single-product .upsells .kt-product-card__content { min-height: 11.875rem; padding-top: 0; }
	.single-product .related .kt-product-card .woocommerce-loop-product__title,
	.single-product .upsells .kt-product-card .woocommerce-loop-product__title { font-size: 1.3125rem; }
}
.kt-account { width: min(100%, var(--kt-content-max)); max-width: var(--kt-content-max); margin: 0 auto; padding: clamp(3.5rem, 7vw, 6.5rem) var(--kt-gutter) clamp(4rem, 7vw, 7rem); }
.kt-account .woocommerce { overflow: hidden; }
.kt-account .gmc-auth-intro { padding: clamp(2rem, 4vw, 3.75rem) clamp(2rem, 5vw, 5.25rem) 1.75rem; }
.kt-account .woocommerce > h1 { max-width: 13ch; margin: 0; color: var(--kt-plum); font-size: clamp(2.7rem, 5vw, 5rem); line-height: 1.02; letter-spacing: -.055em; }
.kt-account .woocommerce > h1 + p { max-width: 42rem; margin: 1.25rem 0 2.5rem; color: var(--kt-muted); font-size: 1.08rem; line-height: 1.6; }
.kt-account .u-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; min-width: 0; }
.kt-account .u-columns::before, .kt-account .u-columns::after { display: none; }
.kt-account .u-column1, .kt-account .u-column2 { float: none; width: auto; min-width: 0; }
.kt-account .u-column2 { border-left: 1px solid var(--kt-line); }
.kt-account .u-column1 > h2, .kt-account .u-column2 > h2 { margin: 0; padding: clamp(2rem, 4vw, 3.5rem) clamp(2rem, 5vw, 5.25rem) 0; color: var(--kt-plum); font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.07; }
.kt-account .woocommerce form.woocommerce-form-login, .kt-account .woocommerce form.woocommerce-form-register { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: .75rem; min-height: 0; margin: 0; padding: clamp(1.75rem, 3.5vw, 3.25rem) clamp(2rem, 5vw, 5.25rem) clamp(2.25rem, 4vw, 3.75rem); border: 0; border-radius: 0; background: transparent; }
.kt-account .woocommerce form .gmc-auth-copy { min-height: 0; margin: 0 0 .15rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .8rem; line-height: 1.5; }
.kt-account .woocommerce form.woocommerce-form-register > p:not(.form-row):not(.gmc-auth-copy) { margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .78rem; line-height: 1.45; }
.kt-account .woocommerce form .form-row { width: 100%; margin: 0; padding: 0; }
.kt-account .woocommerce form .form-row label { display: block; margin-bottom: .3rem; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.kt-account .woocommerce form .password-input { display: block; min-width: 0; }
.kt-account .woocommerce form .form-row input.input-text { box-sizing: border-box; width: 100%; min-height: 2.625rem; padding: .45rem 0; border: 0; border-bottom: 1px solid var(--kt-line); background: transparent; color: var(--kt-plum); }
.kt-account .woocommerce .woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: .55rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .76rem; line-height: 1.45; }
.kt-account .woocommerce .woocommerce-form__label-for-checkbox input { width: 1rem; height: 1rem; margin-top: .12rem; accent-color: var(--kt-plum); }
.kt-account .woocommerce .woocommerce-form-login__submit, .kt-account .woocommerce .woocommerce-form-register__submit { margin-top: .75rem; }
.kt-account .woocommerce .woocommerce-LostPassword { margin: 0; font-family: var(--kt-sans); font-size: .78rem; }
.kt-account .woocommerce .woocommerce-LostPassword a { color: var(--kt-plum); }
.kt-account .woocommerce .woocommerce-privacy-policy-text { margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .72rem; line-height: 1.5; }
.kt-account .kt-account-guest { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
.kt-account-guest__login, .kt-account-guest__circle { min-width: 0; padding: clamp(2rem, 5vw, 4.5rem); }
.kt-account-guest__circle { border-left: 1px solid var(--kt-line); background: var(--kt-canvas-muted); }
.kt-account-guest h2 { max-width: 13ch; margin: 1rem 0 0; color: var(--kt-plum); font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.07; letter-spacing: -.035em; }
.kt-account-guest__about { display: inline-block; margin-top: 1.25rem; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.kt-account-guest__about:hover { color: var(--kt-gold); }
.kt-account .kt-account-guest form.woocommerce-form-login { display: grid; gap: .75rem; margin: 1.75rem 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.kt-account .kt-account-guest form.woocommerce-form-login .form-row { width: 100%; margin: 0; padding: 0; }
.kt-account .kt-account-guest form.woocommerce-form-login input.input-text { box-sizing: border-box; width: 100%; min-height: 2.625rem; padding: .45rem 0; border: 0; border-bottom: 1px solid var(--kt-line); border-radius: 0; background: transparent; color: var(--kt-plum); }
.kt-account .kt-account-guest .woocommerce-form-login__submit { width: 100%; margin: .55rem 0 0; }
.kt-account .kt-account-guest .woocommerce-LostPassword { margin: .15rem 0 0; }
.kt-account-guest__facts { margin: 1.75rem 0 0; border-top: 1px solid var(--kt-line); }
.kt-account-guest__facts div { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--kt-line); font-family: var(--kt-sans); font-size: .78rem; line-height: 1.4; }
.kt-account-guest__facts dt { color: var(--kt-plum); font-weight: 700; }
.kt-account-guest__facts dd { margin: 0; color: var(--kt-muted); text-align: right; }
.kt-account-guest__circle .kt-account-cta { margin-top: 1.5rem; }
@media (min-width: 900px) {
	/* The source authentication screen is a full 1240px framed pair of panels;
	   signed-in dashboard content keeps the narrower internal gutter. */
	.kt-account:has(.u-columns) { padding: 4rem 0 5rem; }
	.kt-account:has(.u-columns) .woocommerce form.woocommerce-form-login,
	.kt-account:has(.u-columns) .woocommerce form.woocommerce-form-register { padding: 2.5rem clamp(2.75rem, 4.5vw, 4.5rem) 3rem; }
	.kt-account:has(.u-columns) .u-column1 > h2,
	.kt-account:has(.u-columns) .u-column2 > h2 { padding: 3rem clamp(2.75rem, 4.5vw, 4.5rem) 0; }
}
@media (max-width: 700px) { .kt-account .u-columns, .kt-account .kt-account-guest { grid-template-columns: 1fr; } .kt-account .u-column2, .kt-account-guest__circle { border-top: 1px solid var(--kt-line); border-left: 0; } .kt-account .u-column1 > h2 + p, .kt-account .u-column2 > h2 + p { min-height: 0; } }
.woocommerce-cart-form, .woocommerce form.checkout, .woocommerce-account .woocommerce-MyAccount-content { padding: 1.5rem; border: 1px solid var(--kt-line); background: rgba(255,255,255,.15); }
:is(.woocommerce-cart, .woocommerce-checkout) .kt-page > .alignwide { width: 100%; max-width: none; margin-inline: 0; }
.woocommerce table.shop_table { border: 1px solid var(--kt-line); border-radius: 0; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--kt-line); }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--kt-gold); }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { color: var(--kt-gold); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid var(--kt-line); border-radius: 0; background: rgba(255,255,255,.25); padding: .8rem; }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout { column-gap: clamp(1.5rem, 4vw, 4rem); }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart .wc-block-components-main,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-checkout .wc-block-components-main,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart .wc-block-components-sidebar,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-checkout .wc-block-components-sidebar { padding: 1.5rem; border: 1px solid var(--kt-line); background: rgba(255,255,255,.15); }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-title,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart-items__header,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-checkout__payment-method,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-order-summary-item__description { color: var(--kt-plum); font-family: var(--kt-sans); letter-spacing: .08em; text-transform: uppercase; }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-name,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-name:visited,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-totals-item__label,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-checkout-step__title { color: var(--kt-plum); }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-price__value,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-totals-item__value { color: var(--kt-gold); font-family: var(--kt-sans); }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input input,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input input[type='email'],
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input input[type='tel'],
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-text-input input[type='text'],
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-combobox .wc-block-components-combobox-control input,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-textarea { border: 1px solid var(--kt-line); border-radius: 0; background: rgba(255,255,255,.25); color: var(--kt-ink); }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-button:not(.is-link),
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart__submit-button,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-checkout-place-order-button { border: 1px solid var(--kt-plum); border-radius: 0; background: var(--kt-plum); color: var(--kt-canvas); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-button:not(.is-link):hover,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart__submit-button:hover,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-checkout-place-order-button:hover { border-color: var(--kt-gold); background: var(--kt-gold); color: var(--kt-plum); }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-quantity-selector { border-color: var(--kt-line); border-radius: 0; }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-quantity-selector input { background: transparent; color: var(--kt-ink); }
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-order-summary { border-color: var(--kt-line); }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title),
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-product-new { display: none; }
.woocommerce-cart .wc-block-cart__empty-cart__title::before { display: none; }
.woocommerce-cart .wc-block-cart__empty-cart__title { margin: 0; color: var(--kt-plum); font-family: var(--kt-serif); font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.12; }
.kt-empty-cart { margin: 1.75rem 0 0; text-align: center; }
.kt-empty-cart .kt-button { margin: 0; }
@media (min-width: 900px) {
	/* Woo Blocks otherwise keeps its percentage flex-bases and wraps the total
	   below the form once a source-faithful column gap is applied. */
	:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout { display: flex; flex-wrap: nowrap; align-items: flex-start; column-gap: clamp(2.625rem, 6vw, 5.625rem); }
	.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main { flex: 1.15 1 0; min-width: 0; }
	.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar { flex: .65 1 0; min-width: 0; }
	.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main { flex: 1.1 1 0; min-width: 0; }
	.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-sidebar { flex: .55 1 0; min-width: 0; }
}

/* GMC owns subscription state and consent; the theme supplies only presentation. */
.gmc-product-interest, .gmc-membership-application { margin-top: 2rem; padding: 1.35rem; border: 1px solid var(--kt-line); background: rgba(255,255,255,.18); }
.gmc-product-interest h2, .gmc-membership-application h2 { margin: 0; color: var(--kt-plum); font-size: clamp(1.55rem, 3vw, 2.15rem); line-height: 1.08; }
.gmc-product-interest > p, .gmc-membership-application > p { margin: .7rem 0 1.15rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .8rem; line-height: 1.55; }
.gmc-product-interest__notice, .gmc-membership-application__notice { padding: .75rem .85rem; border-left: 3px solid var(--kt-gold); background: var(--kt-canvas-muted); color: var(--kt-ink) !important; }
.gmc-product-interest form, .gmc-membership-application form { display: grid; gap: .8rem; }
.gmc-product-interest form p, .gmc-membership-application form p { margin: 0; }
.gmc-product-interest label, .gmc-membership-application label { display: grid; gap: .4rem; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.gmc-product-interest input[type="text"], .gmc-product-interest input[type="email"], .gmc-product-interest input[type="number"], .gmc-membership-application input[type="text"], .gmc-membership-application input[type="email"] { width: 100%; min-height: 2.8rem; padding: .55rem .65rem; border: 1px solid var(--kt-line); border-radius: 0; background: rgba(255,255,255,.28); color: var(--kt-ink); font: inherit; letter-spacing: normal; text-transform: none; }
.gmc-product-interest input[type="checkbox"], .gmc-membership-application input[type="checkbox"] { width: 1rem; height: 1rem; accent-color: var(--kt-plum); }
.gmc-product-interest form p:has(input[type="checkbox"]) label, .gmc-membership-application form p:has(input[type="checkbox"]) label { display: flex; align-items: flex-start; gap: .55rem; color: var(--kt-ink); font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.gmc-product-interest .button, .gmc-membership-application .button { width: fit-content; margin: .25rem 0 0; }
.gmc-product-interest__honeypot, .gmc-membership-application__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* GMC owns saved-product data and access decisions; the theme owns layout only. */
.gmc-wishlist { margin: 2rem 0; padding: clamp(1.25rem, 4vw, 2.25rem); border: 1px solid var(--kt-line); background: rgba(255,255,255,.16); }
.gmc-wishlist h2 { margin: 0; color: var(--kt-plum); font-size: clamp(1.55rem, 3vw, 2.15rem); line-height: 1.08; }
.gmc-wishlist > p { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .8rem; line-height: 1.55; }
.gmc-wishlist__notice { padding: .75rem .85rem; border-left: 3px solid var(--kt-gold); background: var(--kt-canvas-muted); color: var(--kt-ink) !important; }
.gmc-wishlist__items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.gmc-wishlist__item { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .9rem; align-items: center; padding: .8rem; border: 1px solid var(--kt-line); background: rgba(255,255,255,.22); }
.gmc-wishlist__image img { display: block; width: 5rem; height: 5rem; object-fit: cover; }
.gmc-wishlist__content h3 { margin: 0 0 .65rem; color: var(--kt-plum); font-size: 1.05rem; line-height: 1.22; }
.gmc-wishlist__content h3 a { color: inherit; text-decoration: none; }
.gmc-wishlist__form { margin: 0; }
.gmc-wishlist__button { margin: 0; }
.gmc-wishlist__login { margin: .8rem 0 0; font-family: var(--kt-sans); font-size: .74rem; }
.kalpa-page-wishlist .gmc-wishlist { margin: 0; padding: 0; border: 0; background: transparent; }
.kalpa-page-wishlist .gmc-wishlist > h2 { display: none; }
.kalpa-page-wishlist .gmc-wishlist > p { max-width: 42rem; margin: 0; font-size: 1rem; line-height: 1.65; }
.kt-wishlist-catalog { margin: 1.75rem 0 0; }
.kt-wishlist-catalog .kt-button { margin: 0; }
@media (max-width: 640px) { .gmc-wishlist__items { grid-template-columns: 1fr; } }

.kt-gmc { margin-block: 1.5rem 2.5rem; padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--kt-line); background: rgba(255,255,255,.16); }
.kt-gmc--dashboard { background: var(--kt-plum); color: var(--kt-canvas); }
.kt-gmc__eyebrow { margin: 0 0 .65rem; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .68rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.kt-gmc__head h2 { margin: 0; color: inherit; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; }
.kt-gmc__metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 1.6rem; background: color-mix(in srgb, currentColor 22%, transparent); }
.kt-gmc__metrics p { display: grid; gap: .35rem; margin: 0; padding: 1rem; background: var(--kt-plum); }
.kt-gmc__metrics strong { font-size: 1.45rem; }
.kt-gmc__metrics span, .kt-gmc__progress, .kt-gmc__links, .kt-gmc__empty { font-family: var(--kt-sans); font-size: .82rem; }
.kt-gmc__progress { margin: 1.25rem 0 0; }
.kt-gmc__links { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.4rem 0 0; }
.kt-gmc__links a { color: var(--kt-canvas); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }
.kt-gmc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.kt-gmc-card { display: flex; flex-direction: column; min-height: 100%; }
.kt-gmc-card__media { display: block; aspect-ratio: 4 / 3; background: var(--kt-canvas-muted); }
.kt-gmc-card__media img { width: 100%; height: 100%; object-fit: cover; }
.kt-gmc-card h3 { margin: 1rem 0 .55rem; color: var(--kt-plum); font-size: 1.45rem; line-height: 1.14; }
.kt-gmc-card h3 a { color: inherit; text-decoration: none; }
.kt-gmc-card p { margin: 0; color: var(--kt-muted); }
.kt-gmc-card__link { margin-top: auto; padding-top: 1rem; font-family: var(--kt-sans); font-size: .72rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }

/* GMC owns the data and access decisions. The theme only presents its native account templates. */
.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 1.5rem; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: .7rem .85rem; border: 1px solid var(--kt-line); color: var(--kt-plum); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-color: var(--kt-plum); background: var(--kt-plum); color: var(--kt-canvas); }
.gmc-circle-dashboard, .gmc-bonuses, .gmc-reservations { color: var(--kt-ink); }
.gmc-hero { display: flex; justify-content: space-between; gap: 1.25rem; padding: clamp(1.25rem, 4vw, 2.25rem); background: var(--kt-plum); color: var(--kt-canvas); }
.gmc-hero__left { display: flex; align-items: center; gap: 1rem; }
.gmc-hero__icon { display: grid; flex: 0 0 auto; width: 3.5rem; height: 3.5rem; place-items: center; border: 1px solid var(--kt-gold); color: var(--kt-gold); font-size: 1.3rem; }
.gmc-hero__hello, .gmc-hero__tier { margin: 0; }
.gmc-hero__hello { font-size: clamp(1.5rem, 3vw, 2.2rem); }
.gmc-hero__tier { margin-top: .35rem; font-family: var(--kt-sans); font-size: .75rem; }
.gmc-badge, .gmc-pill { display: inline-block; padding: .3rem .5rem; border: 1px solid currentColor; font-family: var(--kt-sans); font-size: .64rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.gmc-hero__joined { margin-left: .55rem; opacity: .75; }
.gmc-status-warning, .gmc-balance-debt { margin: 0; color: #86533a; font-family: var(--kt-sans); font-size: .82rem; line-height: 1.45; }
.gmc-hero .gmc-status-warning { color: var(--kt-gold); }
.gmc-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-block: 1.25rem; background: var(--kt-line); }
.gmc-stat { display: grid; gap: .4rem; padding: 1.15rem; background: rgba(255,255,255,.24); }
.gmc-stat__value { color: var(--kt-plum); font-size: clamp(1.45rem, 3vw, 2.2rem); line-height: 1; }
.gmc-stat__label, .gmc-progress-text, .gmc-progress-remaining, .gmc-goal__benefit { font-family: var(--kt-sans); font-size: .78rem; line-height: 1.5; }
.gmc-goal, .gmc-achievements, .gmc-balance-summary, .gmc-bonus-auto, .gmc-empty { margin-top: 1.25rem; padding: 1.2rem; border: 1px solid var(--kt-line); }
.gmc-goal__head, .gmc-res-card__head, .gmc-res-card__meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.gmc-goal h3, .gmc-achievements h3 { margin: 0; color: var(--kt-plum); font-size: 1.6rem; }
.gmc-progress-bar { height: .4rem; margin-top: .9rem; background: var(--kt-canvas-muted); }
.gmc-progress-bar__fill { height: 100%; background: var(--kt-gold); }
.gmc-achievements__grid, .gmc-res-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.gmc-ach { display: grid; gap: .4rem; min-height: 7rem; padding: .9rem; border: 1px solid var(--kt-line); }
.gmc-ach--locked { opacity: .45; }
.gmc-ach__icon { color: var(--kt-gold); font-size: 1.3rem; }
.gmc-ach__name { font-family: var(--kt-sans); font-size: .72rem; font-weight: 600; }
.gmc-balance-summary { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.gmc-balance-summary p { margin: 0; font-family: var(--kt-sans); }
.gmc-balance-summary strong { color: var(--kt-plum); font-size: 2rem; }
.gmc-bonus-auto { display: grid; gap: .8rem; }
.gmc-bonus-auto .button { width: fit-content; margin: 0; }
.gmc-ledger { margin-top: 1.25rem; font-family: var(--kt-sans); font-size: .78rem; }
.gmc-res-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gmc-res-card { display: grid; gap: .9rem; padding: 1.1rem; border: 1px solid var(--kt-line); }
.gmc-res-card__number { color: var(--kt-plum); font-family: var(--kt-sans); font-size: .75rem; font-weight: 600; letter-spacing: .08em; }
.gmc-pill--ok { color: #2d6644; }
.gmc-pill--warn { color: #8d6424; }
.gmc-pill--bad { color: #86533a; }
.gmc-res-card__items { margin: 0; font-size: 1.15rem; }
.gmc-res-card__meta { flex-wrap: wrap; justify-content: flex-start; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .76rem; }
.gmc-res-card__pay { width: fit-content; margin: 0; }
.gmc-interests { margin-top: 1.25rem; }
.gmc-interests__header { margin-bottom: 1.25rem; padding: 1.25rem; background: var(--kt-plum); color: var(--kt-canvas); }
.gmc-interests__header h2 { margin: 0; color: var(--kt-canvas); font-size: clamp(1.75rem, 3vw, 2.7rem); line-height: 1.08; }
.gmc-interests__header > p:last-child { max-width: 44rem; margin: .75rem 0 0; color: rgba(242,237,231,.75); font-family: var(--kt-sans); font-size: .82rem; line-height: 1.55; }
.gmc-kicker { margin: 0 0 .45rem; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .66rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.gmc-interest-list { display: grid; gap: .75rem; }
.gmc-interest-card { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: 1rem 1.1rem; border: 1px solid var(--kt-line); }
.gmc-interest-card h3 { margin: .35rem 0; color: var(--kt-plum); font-size: 1.35rem; line-height: 1.15; }
.gmc-interest-card h3 a { color: inherit; text-decoration: none; }
.gmc-interest-card__status, .gmc-interest-card__meta { margin: 0; font-family: var(--kt-sans); font-size: .75rem; }
.gmc-interest-card__meta { color: var(--kt-muted); }
.gmc-interest-card form { flex: 0 0 auto; margin: 0; }

@media (max-width: 1100px) {
  .kt-header__inner { grid-template-columns: 1fr auto auto; gap: .85rem; min-height: 66px; }
  .kt-brand { width: auto; }
  .kt-menu-toggle { display: block; order: 2; }
  .kt-header__actions { order: 3; }
  .kt-primary-nav { position: absolute; left: 0; right: 0; top: 100%; display: none; padding: .8rem 1rem 1.4rem; border-bottom: 1px solid var(--kt-line); background: var(--kt-canvas); }
  .is-menu-open .kt-primary-nav { display: block; }
  .kt-menu { display: block; }
  .kt-menu li + li { border-top: 1px solid var(--kt-line); }
  .kt-menu a { display: block; padding: .9rem 0; }
}

@media (max-width: 899px) {
  :root { --kt-gutter: 1rem; }
  .kt-hero__content { min-height: auto; padding-block: 5rem; }
  .kt-hero__grid, .kt-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .kt-hero__media { background: var(--kt-canvas); }
  .kt-hero__media img { height: auto; max-height: 520px; }
  .kt-home-feature, .kt-home-feature--about { grid-template-columns: 1fr; }
  .kt-home-feature--about .kt-home-feature__image { order: 0; }
  .kt-home-feature__image img { min-height: 0; max-height: 560px; }
  .kt-cordyceps__hero { grid-template-columns: 1fr; }
  .kt-cordyceps__hero-copy { min-height: auto; padding: clamp(3.5rem, 9vw, 5rem) 1rem; }
  .kt-cordyceps__hero-image { min-height: 0; max-height: 620px; }
  .kt-cordyceps__hero-image img { max-height: 620px; }
  .kt-about__hero { grid-template-columns: 1fr; gap: 2.25rem; margin-top: 0; padding: 0 1rem 3.5rem; }
  .kt-about__hero-image, .kt-about__hero-copy { grid-column: auto; }
  .kt-about__hero-image { width: min(100% + 2rem, 720px); max-width: none; margin-inline: -1rem; box-shadow: none; }
  .kt-home-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kt-home-stats > .wp-block-column:nth-child(3n) { border-right: 0; }
  .kt-home-stats > .wp-block-column:nth-child(n + 4) { border-top: 1px solid var(--kt-line); }
  .kt-club-card { display: block; }
  .kt-circle-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kt-post-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kt-gmc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gmc-stats { grid-template-columns: 1fr; }
  .gmc-achievements__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce div.product { display: block; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; }
  .woocommerce div.product div.summary { margin-top: 2.5rem; }
  :is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart .wc-block-components-main,
  :is(.woocommerce-cart, .woocommerce-checkout) .wc-block-checkout .wc-block-components-main,
  :is(.woocommerce-cart, .woocommerce-checkout) .wc-block-cart .wc-block-components-sidebar,
  :is(.woocommerce-cart, .woocommerce-checkout) .wc-block-checkout .wc-block-components-sidebar { padding: 1rem; }

	/* `100vw` includes the vertical scrollbar. Keep edge-to-edge source bands
	   inside the actual mobile layout viewport, rather than creating a 5–8px
	   horizontal page scroll. */
	.kt-editorial-gate,
	.kt-wait-benefits,
	.kt-circle-benefits,
	.kt-action-gate { width: calc(100vw - 1rem); margin-inline: calc(50% - 50vw + .5rem); }

	/* The Circle tier table may scroll horizontally inside its own frame; the
	   frame itself must not expand the document beyond the mobile viewport. */
	.kalpa-page-circle .kt-circle-table { width: calc(100% + 2rem) !important; margin-left: -1rem !important; margin-right: -1rem !important; }

	/* The supplied mobile prototype presents catalogue cards as compact
	   horizontal rows. This also protects titles from becoming unreadable in a
	   three-column home grid inherited from the desktop composition. */
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce ul.products,
	.kt-section--products .woocommerce ul.products { display: block; margin: 0; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce ul.products li.product,
	.kt-section--products .woocommerce ul.products li.product { display: block; margin: 0; padding: 0; border-bottom: 1px solid var(--kt-line); }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner,
	.kt-section--products .woocommerce .kt-product-card__inner { min-height: 8.25rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__link,
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__link { min-height: 8.25rem; flex-direction: row; gap: 1.0625rem; padding-block: 1.25rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__media,
	.kt-section--products .woocommerce .kt-product-card__media { flex: 0 0 6rem; width: 6rem; min-width: 0; height: auto; min-height: 5.75rem; aspect-ratio: auto; align-self: stretch; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__media img,
	.kt-section--products .woocommerce .kt-product-card__media img { height: 100%; object-fit: cover; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__content,
	.kt-section--products .woocommerce .kt-product-card__content { justify-content: center; min-height: 0; padding-top: 0; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__title,
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title { min-height: 0; font-size: 1.25rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__subtitle,
	.kt-section--products .woocommerce .kt-product-card__subtitle { min-height: 0; margin-top: .45rem; font-size: .71875rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__price,
	.kt-section--products .woocommerce .kt-product-card__price { margin-top: .55rem; padding-top: 0; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .button,
	.kt-section--products .woocommerce .kt-product-card .button { display: none; }
}

@media (max-width: 520px) {
  .kt-brand__name { font-size: 1.13rem; }
  .kt-header__actions { gap: .3rem; }
  .kt-icon-link { width: 2rem; }
  .kt-catalogue-categories { display: block; }
  .kt-catalogue-categories ul { margin-top: .6rem; }
  .kt-search-panel .woocommerce-product-search, .kt-search-panel .search-form { grid-template-columns: 1fr; }
  .kt-search-panel button[type="submit"] { width: 100%; }
  .kt-hero h1 { font-size: clamp(3.1rem, 15vw, 4.7rem); }
  .kt-home-feature__copy, .kt-home-review { padding: 2.5rem 1.4rem; }
  .kt-home-feature__image img { max-height: 390px; }
  .kt-cordyceps__hero-copy { padding-inline: 1rem; }
  .kt-cordyceps__hero-copy h1 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .kt-cordyceps__body { width: min(100% - 32px, 940px); }
  .kt-cordyceps__detail summary { padding-block: 1.15rem; }
  .kt-cordyceps__ingredients { grid-template-columns: 1fr; }
  .kt-about__hero-copy h1 { font-size: clamp(3rem, 13vw, 4.25rem); }
  .kt-about__section, .kt-about__control { width: min(100% - 32px, 1040px); }
  .kt-about__production { padding-inline: 1rem; }
  .kt-home-stats { grid-template-columns: 1fr; }
  .kt-home-stats > .wp-block-column { border-right: 0; border-top: 1px solid var(--kt-line); }
  .kt-home-stats > .wp-block-column:first-child { border-top: 0; }
  .kt-circle-features { grid-template-columns: 1fr; }
  .kt-circle-feature { min-height: auto; }
  .kt-post-grid, .woocommerce ul.products { grid-template-columns: 1fr; }
  .kt-gmc-grid, .kt-gmc__metrics { grid-template-columns: 1fr; }
  .gmc-hero, .gmc-achievements__grid, .gmc-res-list { display: grid; grid-template-columns: 1fr; }
	.gmc-interest-card { display: grid; grid-template-columns: 1fr; }
  .gmc-hero__joined { display: block; margin: .35rem 0 0; }
	.kt-footer__bottom { display: block; }
	.kt-footer__bottom > span { display: block; margin-top: .4rem; }
	.kt-footer__legal { display: block; }
	.kt-footer__legal span, .kt-footer__legal a { display: block; }
	.kt-footer__legal span + span, .kt-footer__legal a + span, .kt-footer__legal span + a, .kt-footer__legal a + a { margin-top: .4rem; }
}

/* Account — GMC decides access and price visibility. The theme only mirrors
   the source composition: tier selector, 400px summary, and stacked panels. */
.woocommerce-account .kt-account .woocommerce:has(.kt-account-dashboard),
.woocommerce-account .kt-account .woocommerce:has(.kt-account-screen) { overflow: visible; border: 0; box-shadow: none; background: transparent; }
.woocommerce-account .kt-account .woocommerce-MyAccount-navigation { display: none; }
.woocommerce-account .kt-account .woocommerce-MyAccount-content { padding: 0; border: 0; background: transparent; }
.kt-account-dashboard { display: grid; grid-template-columns: minmax(20rem, 25rem) minmax(0, 1fr); gap: 1.5rem clamp(1.5rem, 4vw, 3rem); width: 100%; }
.kt-account-tier-switch { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--kt-line); }
.kt-account-tier-switch__item { display: grid; min-height: 2.55rem; place-items: center; border-right: 1px solid var(--kt-line); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.kt-account-tier-switch__item:last-child { border-right: 0; }
.kt-account-tier-switch__item:hover, .kt-account-tier-switch__item:focus-visible { background: var(--kt-canvas-muted); color: var(--kt-plum); outline: 0; }
.kt-account-tier-switch__item.is-current { background: var(--kt-plum); color: #fff; }
.kt-account-dashboard__summary { position: sticky; top: 6.25rem; align-self: start; border: 1px solid var(--kt-line); background: var(--kt-canvas-muted); }
.kt-account-dashboard__head { padding: clamp(2rem, 4vw, 2.65rem); }
.kt-account__eyebrow { margin: 0 0 .85rem; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .61rem; font-weight: 700; letter-spacing: .17em; line-height: 1.35; text-transform: uppercase; }
.kt-account-dashboard h1 { max-width: 100%; margin: 0; color: var(--kt-plum); font-size: clamp(1.875rem, 2vw, 2.15rem); line-height: 1.14; letter-spacing: -.035em; overflow-wrap: anywhere; word-break: normal; }
.kt-account-dashboard h1 > span { display: block; }
.kt-account-dashboard__greeting { white-space: nowrap; }
.kt-account-dashboard__name { overflow-wrap: anywhere; }
.kt-account-screen h1 { max-width: 12ch; margin: 0; color: var(--kt-plum); font-size: clamp(2.25rem, 3.8vw, 4rem); line-height: 1; letter-spacing: -.05em; }
.kt-account-dashboard__tier { margin: 1.15rem 0 .35rem; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .64rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.kt-account-dashboard__joined, .kt-account-dashboard__status { margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .72rem; line-height: 1.5; }
.kt-account-bonus { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .85rem 1rem; padding: 1.7rem clamp(2rem, 4vw, 2.65rem); border-top: 1px solid var(--kt-line); border-bottom: 1px solid var(--kt-line); color: var(--kt-plum); text-decoration: none; transition: background .22s ease, color .22s ease; }
.kt-account-bonus:hover { background: rgba(255,255,255,.28); color: var(--kt-gold); }
.kt-account-bonus__amount { display: grid; gap: .45rem; }
.kt-account-bonus__amount strong { font-size: clamp(2rem, 3vw, 2.55rem); line-height: 1; }
.kt-account-bonus__amount span, .kt-account-bonus__history, .kt-account-bonus small { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .68rem; line-height: 1.45; }
.kt-account-bonus__history { align-self: end; color: var(--kt-gold); font-size: .57rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.kt-account-bonus small { grid-column: 1 / -1; padding-top: .85rem; border-top: 1px solid var(--kt-line); }
.kt-account-next-level { padding: clamp(1.75rem, 3.5vw, 2.15rem) clamp(2rem, 4vw, 2.65rem); }
.kt-account-next-level > strong { display: block; color: var(--kt-plum); font-size: clamp(1.75rem, 2.75vw, 2.15rem); line-height: 1.08; }
.kt-account-next-level > p { margin: .7rem 0 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .74rem; line-height: 1.55; }
.kt-account-next-level__gains { display: grid; gap: .45rem; margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid var(--kt-line); }
.kt-account-next-level__gains span { position: relative; padding-left: 1rem; color: var(--kt-ink); font-family: var(--kt-sans); font-size: .74rem; line-height: 1.45; }
.kt-account-next-level__gains span::before { position: absolute; left: 0; color: var(--kt-gold); content: '✓'; }
.kt-account-next-level > .kt-account-next-level__note { margin-top: 1rem; }
.kt-account-dashboard__status { margin: 0 clamp(2rem, 4vw, 2.65rem) 1.75rem; color: #8d6424; }
.kt-account-dashboard__content { display: grid; gap: 1.5rem; min-width: 0; }
.kt-account-section { padding: clamp(1.75rem, 4vw, 2.5rem); border: 1px solid var(--kt-line); background: rgba(255,255,255,.16); }
.kt-account-section h2 { margin: 0; padding-bottom: 1.05rem; border-bottom: 1px solid var(--kt-line); color: var(--kt-plum); font-size: clamp(1.28rem, 2.1vw, 1.6rem); line-height: 1.1; }
.kt-account-offer { padding: 1.6rem 0; border-bottom: 1px solid var(--kt-line); }
.kt-account-offer:last-child { padding-bottom: 0; border-bottom: 0; }
.kt-account-offer .kt-account__eyebrow { margin-bottom: .7rem; }
.kt-account-offer h3 { margin: 0; color: var(--kt-plum); font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.1; }
.kt-account-offer > p:not(.kt-account__eyebrow) { max-width: 42rem; margin: .8rem 0 0; color: var(--kt-ink); font-size: 1rem; line-height: 1.48; }
.kt-account-offer > .kt-account-offer__meta { margin-top: .4rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .71rem; line-height: 1.45; }
.kt-account-cta { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; margin-top: 1.15rem; padding: .65rem 1.5rem; background: var(--kt-plum); color: #fff; font-family: var(--kt-sans); font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.kt-account-cta:hover { background: var(--kt-gold); color: var(--kt-plum); }
.kt-account-cta--outline { border: 1px solid var(--kt-line); background: transparent; color: var(--kt-plum); }
.kt-account-cta--outline:hover { border-color: var(--kt-gold); background: var(--kt-canvas-muted); color: var(--kt-gold); }
.kt-account-rows { border-top: 0; }
.kt-account-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; min-height: 5.5rem; padding: 1rem 0; border-bottom: 1px solid var(--kt-line); color: var(--kt-ink); text-decoration: none; transition: padding .23s ease, background .23s ease, color .23s ease; }
.kt-account-row:hover { padding-inline: .8rem; background: var(--kt-canvas-muted); color: var(--kt-plum); }
.kt-account-row__body { display: grid; gap: .32rem; min-width: 0; }
.kt-account-row__body strong { color: inherit; font-size: 1.08rem; line-height: 1.18; }
.kt-account-row__body small { overflow: hidden; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .71rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.kt-account-row__action { max-width: 9rem; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .61rem; font-weight: 700; letter-spacing: .1em; line-height: 1.35; text-align: right; text-transform: uppercase; }
.kt-account-row__action .woocommerce-Price-amount { color: var(--kt-gold); font-family: var(--kt-sans); font-size: .9rem; font-weight: 500; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.kt-account-dashboard__logout { margin: .25rem 0 0; }
.kt-account-dashboard__logout a { color: var(--kt-plum); font-family: var(--kt-sans); font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.kt-account-dashboard__logout a:hover { color: var(--kt-gold); }

.kt-account-screen { width: min(100%, 68.75rem); margin: 0 auto; }
.kt-account-screen__head { max-width: 38rem; margin-bottom: clamp(2rem, 5vw, 4rem); }
.kt-account-screen__head h1 { max-width: 13ch; }
.kt-account-screen__head > p:last-child { margin: 1rem 0 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .84rem; line-height: 1.55; }
.kt-account-order-list { display: grid; gap: .85rem; }
.kt-account-order { padding: clamp(1.15rem, 3vw, 1.75rem); border: 1px solid var(--kt-line); background: rgba(255,255,255,.16); transition: border-color .22s ease, transform .22s ease; }
.kt-account-order:hover { border-color: var(--kt-gold); transform: translateY(-2px); }
.kt-account-order__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.kt-account-order__head p { margin: 0 0 .3rem; color: var(--kt-plum); font-size: 1.25rem; font-weight: 700; line-height: 1.15; }
.kt-account-order__head time, .kt-account-order__meta { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .74rem; line-height: 1.45; }
.kt-account-order__status { padding: .28rem .45rem; border: 1px solid var(--kt-line); color: var(--kt-plum); font-family: var(--kt-sans); font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.kt-account-order__items { margin: 1.25rem 0; color: var(--kt-ink); font-size: 1rem; line-height: 1.45; }
.kt-account-order__meta { display: flex; flex-wrap: wrap; gap: .6rem 1.25rem; padding-top: .9rem; border-top: 1px solid var(--kt-line); }
.kt-account-order__actions { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-top: 1.25rem; }
.kt-account-order__actions a, .kt-account-pagination a, .kt-account-panel__link a { color: var(--kt-plum); font-family: var(--kt-sans); font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.kt-account-order__actions a:hover, .kt-account-pagination a:hover, .kt-account-panel__link a:hover { color: var(--kt-gold); }
.kt-account-pagination { display: flex; gap: 1.25rem; margin-top: 1.5rem; }
.kt-account-empty { padding: 2rem; border: 1px solid var(--kt-line); background: var(--kt-canvas-muted); }
.kt-account-empty h2 { margin: 0; color: var(--kt-plum); font-size: 1.7rem; }
.kt-account-empty p { max-width: 30rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .82rem; line-height: 1.5; }

.kt-account-profile-form { margin: 0; }
.kt-account-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.kt-account-panel { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--kt-line); background: rgba(255,255,255,.16); }
.kt-account-panel h2 { margin: 0 0 1.45rem; color: var(--kt-plum); font-size: clamp(1.7rem, 2.8vw, 2.35rem); line-height: 1.04; }
.kt-account-panel__copy { min-height: 2.5rem; margin: -1rem 0 1.35rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .76rem; line-height: 4.45; }
.kt-account-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; }
.kt-account-profile-form .form-row { float: none; width: auto; margin: 0 0 1rem; padding: 0; }
.kt-account-form-grid .form-row-wide { grid-column: 1 / -1; }
.kt-account-profile-form label { display: block; margin-bottom: .35rem; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.kt-account-profile-form input.input-text { box-sizing: border-box; width: 100%; min-height: 2.65rem; padding: .45rem 0; border: 0; border-bottom: 1px solid var(--kt-line); border-radius: 0; background: transparent; color: var(--kt-ink); font: inherit; }
.kt-account-profile-form input.input-text:focus { border-color: var(--kt-gold); outline: 0; }
.kt-account-profile-form small { display: block; margin-top: .35rem; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .69rem; line-height: 1.4; }
.kt-account-panel__link { margin: 1rem 0 0; }
.kt-account-profile-form__submit { margin: 1.25rem 0 0; }
.kt-account-profile-form__submit .button { margin: 0; }
.kt-account-balance { display: grid; gap: .35rem; margin: 1.5rem 0 0; }
.kt-account-balance strong { color: var(--kt-plum); font-size: clamp(2.3rem, 4vw, 3.5rem); line-height: 1; }
.kt-account-balance span { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .72rem; }
.kt-account-bonus-form { display: grid; gap: 1rem; margin: 1.5rem 0 0; }
.kt-account-bonus-form label { display: flex; gap: .55rem; align-items: flex-start; color: var(--kt-ink); font-family: var(--kt-sans); font-size: .76rem; font-weight: 400; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.kt-account-bonus-form input { width: 1rem; height: 1rem; margin-top: .08rem; accent-color: var(--kt-plum); }
.kt-account-bonus-form .button { width: fit-content; margin: 0; }
.kt-account-ledger { margin-top: clamp(2.5rem, 5vw, 4rem); }
.kt-account-ledger h2 { margin: 0 0 1rem; color: var(--kt-plum); font-size: clamp(1.6rem, 2.8vw, 2.25rem); line-height: 1.08; }
.kt-account-ledger__rows { border-top: 1px solid var(--kt-line); }
.kt-account-ledger__row { display: grid; grid-template-columns: 7.75rem minmax(0, 1fr) auto; gap: .7rem 1.25rem; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid var(--kt-line); }
.kt-account-ledger__row time, .kt-account-ledger__row small { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .7rem; line-height: 1.4; }
.kt-account-ledger__row strong { color: var(--kt-plum); font-size: 1rem; line-height: 1.2; }
.kt-account-ledger__row > span { color: var(--kt-gold); font-family: var(--kt-sans); font-size: .82rem; font-weight: 700; white-space: nowrap; }
.kt-account-ledger__row small { grid-column: 2 / -1; }

.woocommerce-account .kt-account .kt-gmc { width: min(100%, 68.75rem); margin: 0 auto; padding: clamp(1.5rem, 4vw, 3.25rem); border: 1px solid var(--kt-line); background: rgba(255,255,255,.16); }
.woocommerce-account .kt-account .kt-gmc--collection .kt-gmc__head { padding-bottom: 1.25rem; border-bottom: 1px solid var(--kt-line); }
.woocommerce-account .kt-account .kt-gmc--collection .kt-gmc__head h2 { color: var(--kt-plum); }

@media (max-width: 899px) {
	.woocommerce-account .kt-account { padding-top: 2.5rem; }
	.kt-account-dashboard { grid-template-columns: 1fr; }
	.kt-account-dashboard__summary { position: static; min-height: 0; border-right: 1px solid var(--kt-line); border-bottom: 1px solid var(--kt-line); }
	.kt-account-panels { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
	.kt-account-tier-switch__item { min-height: 2.35rem; font-size: .55rem; letter-spacing: .08em; }
	.kt-account-dashboard__head, .kt-account-bonus, .kt-account-next-level, .kt-account-section { padding-right: 1.25rem; padding-left: 1.25rem; }
	.kt-account-dashboard h1 { font-size: 1.875rem; }
	.kt-account-dashboard__content { padding: 0; }
	.kt-account-row { align-items: start; min-height: 0; }
	.kt-account-row:hover { padding-inline: .4rem; }
	.kt-account-row__body small { white-space: normal; }
	.kt-account-row__action { max-width: 7.25rem; padding-top: .2rem; }
	.kt-account-order__head { display: grid; grid-template-columns: 1fr; }
	.kt-account-order__status { width: fit-content; text-align: left; }
	.kt-account-form-grid { grid-template-columns: 1fr; }
	.kt-account-ledger__row { grid-template-columns: 1fr auto; gap: .35rem 1rem; }
	.kt-account-ledger__row small { grid-column: 1 / -1; }
}

/* Catalogue purchase controls: this layer keeps the source's editorial rhythm
   while WooCommerce and GMC remain the only authorities for cart and access. */
.woocommerce .kt-product-card__purchase { display: flex; align-items: center; justify-content: flex-end; min-height: 2.5rem; }
.woocommerce .kt-product-card__add,
.woocommerce .kt-product-card .kt-product-card__add.button { display: grid; width: 2.5rem; min-width: 2.5rem; height: 2.5rem; min-height: 2.5rem; margin: 0; padding: 0; border: 1px solid var(--kt-line); background: transparent; color: var(--kt-plum); place-items: center; }
.woocommerce .kt-product-card__add:hover,
.woocommerce .kt-product-card .kt-product-card__add.button:hover { border-color: var(--kt-gold); background: var(--kt-gold); color: var(--kt-plum); transform: none; }
.woocommerce .kt-product-card__add[hidden],
.woocommerce .kt-card-quantity[hidden] { display: none !important; }
.woocommerce .kt-card-quantity { display: grid; grid-template-columns: 2rem 1.5rem 2rem; align-items: center; width: 5.5rem; height: 2.5rem; border: 1px solid var(--kt-gold); background: transparent; }
.woocommerce .kt-card-quantity__button { display: grid; width: 2rem; height: 100%; padding: 0; border: 0; background: transparent; color: var(--kt-gold); cursor: pointer; place-items: center; }
.woocommerce .kt-card-quantity__button:hover:not(:disabled) { background: rgba(176, 138, 71, .11); color: var(--kt-plum); }
.woocommerce .kt-card-quantity__button:disabled { cursor: wait; opacity: .55; }
.woocommerce .kt-card-quantity__value { display: block; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .78rem; font-weight: 700; line-height: 1; text-align: center; }
.woocommerce .kt-product-card .gmc-wishlist__form,
.woocommerce .kt-product-card .gmc-wishlist__login { display: block !important; margin: 0; }
.woocommerce .kt-product-card .gmc-wishlist__button,
.woocommerce .kt-product-card .gmc-wishlist__login a { display: grid; width: 2.5rem; min-width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid var(--kt-line); border-radius: 0; background: transparent; color: transparent; font-size: 0; line-height: 1; text-decoration: none; place-items: center; }
.woocommerce .kt-product-card .gmc-wishlist__button::before,
.woocommerce .kt-product-card .gmc-wishlist__login a::before { color: var(--kt-muted); content: "\f487"; font-family: dashicons; font-size: 1rem; line-height: 1; }
.woocommerce .kt-product-card .gmc-wishlist__button:hover,
.woocommerce .kt-product-card .gmc-wishlist__login a:hover { border-color: var(--kt-gold); background: rgba(176, 138, 71, .08); }
.woocommerce .kt-product-card .gmc-wishlist__button:hover::before,
.woocommerce .kt-product-card .gmc-wishlist__login a:hover::before { color: var(--kt-gold); }
.woocommerce .kt-product-card .gmc-wishlist__button:focus-visible,
.woocommerce .kt-product-card .gmc-wishlist__login a:focus-visible,
.woocommerce .kt-card-quantity__button:focus-visible,
.woocommerce .kt-product-card__add:focus-visible { outline: 2px solid var(--kt-gold); outline-offset: 2px; }

@media (min-width: 900px) {
	/* Reviews keep their cards intact; only the editorial label and heading sit
	   on the left edge of the 1240px frame, as in the supplied composition. */
	.kalpa-page-reviews .kt-editorial-intro { width: min(100%, var(--kt-content-max)); max-width: none; margin-inline: 0 auto; }
	.kalpa-page-reviews .kt-editorial-intro > .kt-eyebrow { margin-inline: 0 !important; transform: translateX(-1rem); }
	.kalpa-page-reviews .kt-editorial-intro > h2 { transform: translateX(-1rem); }

	/* Gutenberg constrains this group to the 860px text measure by default.
	   The reference puts the whole access panel on the 1240px desktop frame. */
	.kalpa-page-meet .kt-meet-gate {
		position: relative;
		left: 50%;
		width: min(var(--kt-content-max), 100vw);
		max-width: none;
		margin-inline: 0;
		transform: translateX(-50%);
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.625rem 1.625rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce ul.products li.product { min-width: 0; }
	/* Product-card rhythm follows the supplied desktop grid: image, title,
	   description, then one shared baseline for price and controls. */
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner { min-height: 32.625rem; padding-bottom: 0; border-bottom: 1px solid var(--kt-line); }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__link { min-height: 0; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__media { aspect-ratio: 1 / 1; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__content { min-height: 0; padding: 1.05rem 0 5.25rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__title { min-height: 3.15rem; margin: 0; padding: 0 0 .62rem; border-bottom: 1px solid var(--kt-line); color: var(--kt-plum); font-size: 1.35rem; line-height: 1.18; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__subtitle { min-height: 2.65rem; margin: .78rem 0 0; padding-left: 1.35rem; color: var(--kt-muted); font-size: .73rem; line-height: 1.45; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__meta { position: absolute; right: 0; bottom: 1.75rem; left: 0; display: flex; min-height: 2.5rem; align-items: center; margin: 0; padding: 0; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .price { color: var(--kt-plum); font-size: 1rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__purchase { position: absolute; right: 0; bottom: 1.75rem; z-index: 2; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .gmc-wishlist__form,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .gmc-wishlist__login { position: absolute; right: 3.25rem; bottom: 1.75rem; z-index: 2; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__form,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__login { right: 6.25rem; }
	/* Reserve a complete control slot for the wishlist. Access labels must never
	   share pixels with its button, at either the three- or four-column width. */
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__availability { position: static; max-width: calc(100% - 6.5rem); margin: 0 6.5rem 0 auto; color: var(--kt-muted); font-size: .62rem; letter-spacing: .12em; line-height: 1.35; text-align: right; text-transform: uppercase; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card:has(.kt-product-card__purchase) .kt-product-card__availability { max-width: calc(100% - 8rem); margin-right: 8rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability { max-width: calc(100% - 10.25rem); margin-right: 10.25rem; }
	.single-product .related .kt-product-card__purchase,
	.single-product .upsells .kt-product-card__purchase { position: static; margin-top: .7rem; }
	.single-product .related .kt-product-card .gmc-wishlist__form,
	.single-product .related .kt-product-card .gmc-wishlist__login,
	.single-product .upsells .kt-product-card .gmc-wishlist__form,
	.single-product .upsells .kt-product-card .gmc-wishlist__login { position: static; margin-top: .7rem; }
}

@media (min-width: 1360px) {
	/* The 1440px reference uses four products per category row. */
	.woocommerce-shop .kt-woocommerce .kt-catalogue-group ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3.375rem 1.5rem; }
	.woocommerce-shop .kt-woocommerce .kt-catalogue-group .kt-product-card__media { aspect-ratio: 1 / 1; }
}

/* The supplied product screen ends with two calm, equal-height horizontal
   recommendations. The loop keeps WooCommerce/GMC data and actions intact. */
@media (min-width: 900px) {
	/* The recommendation strip breaks out of the product grid. Its children then
	   return to the shared 1240px content frame, so two cards cannot collapse
	   under nested shell padding on a wide desktop. */
	.single-product.woocommerce div.product .related.products { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); padding: 4.625rem var(--kt-edge) 6.25rem; }
	.single-product .related > .kt-related-products__eyebrow,
	.single-product .related > ul.products { width: min(100%, var(--kt-content-max)); max-width: var(--kt-content-max); margin-right: auto; margin-left: auto; }
	.single-product .related .kt-related-products__eyebrow { margin-top: 0; margin-bottom: 1.5rem; }
	.single-product .related > ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.875rem; padding: 0; }
	.single-product .related > ul.products > li.product { display: flex; width: auto !important; min-width: 0; min-height: 15rem; margin: 0; padding: 0; background: rgba(242, 237, 231, .58); }
	.single-product .related .kt-product-card__inner { min-height: 15rem; padding: 2.125rem 2.5rem; }
	.single-product .related .kt-product-card .woocommerce-loop-product__link { display: grid; flex: none; grid-template-columns: 8.25rem minmax(0, 1fr); gap: 1.0625rem; min-height: 10.625rem; }
	.single-product .related .kt-product-card__media { width: 8.25rem; height: 10.625rem; min-height: 10.625rem; background: #ebe5dd; }
	.single-product .related .kt-product-card__media img { padding: .625rem; object-fit: contain; }
	.single-product .related .kt-product-card__content { min-height: 10.625rem; padding: 0; }
	.single-product .related .kt-product-card .woocommerce-loop-product__title { min-height: 0; margin: .45rem 0 0; padding: 0 0 .6rem; border-bottom: 1px solid var(--kt-line); font-size: 1.25rem; line-height: 1.18; }
	.single-product .related .kt-product-card__subtitle { min-height: 0; margin: .8rem 0 0; padding-left: 1.3rem; font-size: .73rem; line-height: 1.45; }
	.single-product .related .kt-product-card__meta { min-height: 2.5rem; margin-top: auto; padding-top: 1rem; }
	.single-product .related .kt-product-card .price { color: var(--kt-plum); font-size: .95rem; }
	.single-product .related .kt-product-card__purchase { position: absolute; top: auto; right: 1.5rem; bottom: 2.125rem; left: auto; z-index: 2; width: auto; height: 2.5rem; min-height: 2.5rem; margin: 0; }
	.single-product .related .kt-product-card .gmc-wishlist__form,
	.single-product .related .kt-product-card .gmc-wishlist__login { display: block !important; position: absolute; top: auto; right: 4.75rem; bottom: 2.125rem; left: auto; z-index: 2; margin: 0; }
	.single-product .related .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__form,
	.single-product .related .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__login { right: 7rem; }
	.single-product .related .kt-product-card__availability { position: absolute; right: 7.75rem; bottom: 2.5rem; max-width: 11rem; margin: 0; color: var(--kt-muted); font-size: .62rem; letter-spacing: .12em; line-height: 1.35; text-align: right; text-transform: uppercase; }
	.single-product .related .kt-product-card:has(.kt-product-card__purchase) .kt-product-card__availability { right: 9.25rem; max-width: 9.5rem; }
	.single-product .related .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability { right: 10.75rem; max-width: 8rem; }
}

body.is-cart-open { overflow: hidden; }
.kt-cart-ui { position: relative; z-index: 60; }
.kt-cart-backdrop { position: fixed; z-index: 61; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: rgba(35, 24, 44, .47); cursor: pointer; }
.kt-cart-backdrop[hidden] { display: none; }
.kt-cart-drawer { position: fixed; z-index: 62; top: 0; right: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(100%, 28rem); height: 100dvh; padding: 1.5rem; background: var(--kt-canvas); box-shadow: -1.2rem 0 4rem rgba(35, 24, 44, .22); outline: 0; transform: translateX(105%); transition: transform .26s ease; }
body.is-cart-open .kt-cart-drawer { transform: translateX(0); }
.kt-cart-drawer__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1.35rem; border-bottom: 1px solid var(--kt-line); }
.kt-cart-drawer__header .kt-eyebrow { margin: 0; }
.kt-cart-drawer__header h2 { margin: .35rem 0 0; color: var(--kt-plum); font-size: 2rem; line-height: 1.05; }
.kt-cart-drawer__close, .kt-cart-toast__close { display: grid; width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid var(--kt-line); background: transparent; color: var(--kt-plum); cursor: pointer; place-items: center; }
.kt-cart-drawer__close:hover, .kt-cart-toast__close:hover { border-color: var(--kt-gold); color: var(--kt-gold); }
.kt-cart-drawer__items { min-height: 0; overflow: auto; padding: 1.4rem 0; }
.kt-cart-drawer__items .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.kt-cart-drawer__items .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .85rem; min-height: 5.25rem; margin: 0; padding: 0 1.7rem 1rem 0; border-bottom: 1px solid var(--kt-line); }
.kt-cart-drawer__items .woocommerce-mini-cart-item + .woocommerce-mini-cart-item { padding-top: 1rem; }
.kt-cart-drawer__items .woocommerce-mini-cart-item a:not(.remove) { color: var(--kt-plum); font-size: .96rem; font-weight: 700; line-height: 1.22; text-decoration: none; }
.kt-cart-drawer__items .woocommerce-mini-cart-item a:not(.remove) img { float: left; grid-row: 1 / span 2; width: 4.5rem; height: 4.5rem; margin: 0 .85rem 0 0; object-fit: cover; }
.kt-cart-drawer__items .woocommerce-mini-cart-item .quantity { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .76rem; }
.kt-cart-drawer__items .woocommerce-mini-cart-item .remove { position: absolute; top: 0; right: 0; display: grid; width: 1.25rem; height: 1.25rem; border: 0; border-radius: 0; background: transparent; color: var(--kt-muted) !important; font-size: 1.35rem; line-height: 1; text-decoration: none; place-items: center; }
.kt-cart-drawer__items .woocommerce-mini-cart-item .remove:hover { color: var(--kt-gold) !important; }
.kt-cart-drawer__items .woocommerce-mini-cart__total { margin: 1.25rem 0 0; padding-top: 1rem; border-top: 1px solid var(--kt-line); color: var(--kt-plum); font-family: var(--kt-sans); font-size: .8rem; text-transform: uppercase; }
.kt-cart-drawer__items .woocommerce-mini-cart__buttons { display: none; }
.kt-cart-drawer__items .woocommerce-mini-cart__empty-message { margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .9rem; }
.kt-cart-drawer__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; padding-top: 1.2rem; border-top: 1px solid var(--kt-line); }
.kt-cart-drawer__actions .kt-button { min-height: 3.1rem; margin: 0; padding: .75rem; display: grid; place-items: center; }
.kt-cart-drawer__actions .kt-button--outline { border-color: var(--kt-plum); color: var(--kt-plum); }
.kt-cart-drawer__actions .kt-button--outline:hover { color: var(--kt-plum); }
.kt-cart-toast { position: fixed; z-index: 55; right: 0; bottom: 0; left: 0; padding: 1.05rem var(--kt-gutter); background: var(--kt-plum); color: var(--kt-canvas); box-shadow: 0 -1rem 2rem rgba(35, 24, 44, .14); }
.kt-cart-toast[hidden] { display: none !important; }
.kt-cart-toast__inner { display: flex; width: min(100%, var(--kt-content-max)); align-items: center; justify-content: space-between; gap: 1.5rem; margin: 0 auto; }
.kt-cart-toast__summary { display: grid; gap: .12rem; }
.kt-cart-toast__summary span { color: rgba(242, 237, 231, .65); font-family: var(--kt-sans); font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.kt-cart-toast__summary strong { color: var(--kt-canvas); font-size: 1.15rem; line-height: 1; }
.kt-cart-toast__actions { display: flex; align-items: center; gap: 1.15rem; }
.kt-cart-toast__cart, .kt-cart-toast__actions a { padding: 0; border: 0; background: transparent; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.kt-cart-toast__cart { cursor: pointer; }
.kt-cart-toast__actions a:hover, .kt-cart-toast__cart:hover { color: var(--kt-canvas); }
.kt-cart-toast__close { width: 1.75rem; height: 1.75rem; border-color: transparent; color: var(--kt-canvas); }

@media (max-width: 899px) {
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner { min-height: 8.25rem; padding-right: 6.25rem; padding-bottom: 0; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__purchase { position: absolute; right: 0; bottom: 1.05rem; z-index: 2; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .gmc-wishlist__form,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .gmc-wishlist__login { position: absolute; right: 3.25rem; bottom: 1.05rem; z-index: 2; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__form,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__login { right: 6.25rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .button,
	.kt-section--products .woocommerce .kt-product-card .button { display: grid; align-content: center; }
	.kt-cart-drawer { width: min(100%, 25rem); padding: 1.15rem; }
	.kt-cart-toast { padding-block: .85rem; }
	.kt-cart-toast__inner { gap: .85rem; }
}

@media (max-width: 560px) {
	.kt-cart-toast__actions { gap: .65rem; }
	.kt-cart-toast__cart, .kt-cart-toast__actions a { font-size: .59rem; letter-spacing: .08em; }
	.kt-cart-toast__close { width: 1.35rem; min-width: 1.35rem; }
}

@media (min-width: 900px) {
	/* The source exposes text navigation from 1280px only. At intermediate
	   desktop widths the editable WordPress menu remains behind its trigger. */
	.kt-header__inner { min-height: 82px; }
	.kt-brand__default-logo, .kt-brand .custom-logo { width: auto; max-width: 176px; max-height: 34px; height: 34px; }
	.kt-header__actions { gap: 1.5rem; }
	.kt-page-header--collection { padding-block: 2.125rem 2.875rem; }
	.kt-page-header--collection .kt-shell { width: min(100%, var(--kt-content-max)); max-width: var(--kt-content-max); }
	:is(.kalpa-page-cart, .kalpa-page-checkout, .kalpa-page-wishlist) .kt-page--collection { padding-top: 0; }

	/* The supplied waitlist screen is a single two-column 1240px frame. The
	   application is real GMC output, but its wrapper must not turn it into a
	   viewport-wide editorial band. */
	.kalpa-page-wait .kt-source-composed-page { display: grid; width: min(100%, var(--kt-content-max)); max-width: var(--kt-content-max); grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 4.5rem auto 6.875rem; padding: 0; border: 1px solid var(--kt-line); box-shadow: 0 1.5rem 4.375rem rgba(45, 34, 50, .12); }
	.kalpa-page-wait .kt-wait-application,
	.kalpa-page-wait .kt-wait-benefits { width: auto; max-width: none; min-width: 0; margin: 0; padding: clamp(3.375rem, 6vw, 5.25rem); }
	.kalpa-page-wait .kt-wait-application .gmc-membership-application { margin: 0; padding: 0; border: 0; background: transparent; }
	.kalpa-page-wait .kt-wait-application .gmc-membership-application h2 { max-width: none; font-size: 2rem; }
	.kalpa-page-wait .kt-wait-application .gmc-membership-application form { max-width: 32.5rem; }
	.kalpa-page-wait .kt-wait-benefits { border-left: 1px solid var(--kt-line); }
	.kalpa-page-wait .kt-wait-benefits > * { max-width: 32.5rem; margin-inline: 0; }

	/* The supplied prototype presents preorder and reservation as a single
	   framed decision flow. GMC and WooCommerce still own all real states. */
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-source-composed-page { display: grid; width: min(100%, var(--kt-content-max)); grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) minmax(0, .95fr); margin: clamp(2.625rem, 5vw, 4.5rem) auto 6.25rem; padding: 0; border: 1px solid var(--kt-line); }
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-intro,
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-list,
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-gate { grid-row: 1; width: auto; max-width: none; margin: 0; padding: clamp(2.625rem, 4vw, 3.75rem); }
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-list,
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-gate { border-left: 1px solid var(--kt-line); }
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-gate { background: var(--kt-canvas-muted); }
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-gate > * { max-width: none; margin-inline: 0; }
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-intro h2 { font-size: clamp(2rem, 3vw, 2.625rem); }
	:is(.kalpa-page-preorder, .kalpa-page-booking, .kalpa-page-notifications) .kt-action-list li { grid-template-columns: 1fr; gap: .55rem; }

	/* Five source-like footer columns, each controllable through its own
	   WordPress location or a safe compatibility fallback. */
	.kt-footer__grid { grid-template-columns: minmax(140px, .7fr) repeat(4, minmax(0, 1fr)); column-gap: clamp(1.75rem, 3.2vw, 3rem); row-gap: 1.75rem; padding-bottom: 2.125rem; }
	.kt-footer__mark { height: 48px; }
	.kt-footer__lead { display: none; }
	.kt-footer-menu li + li { margin-top: .25rem; }
	.kt-footer-menu a { color: rgba(242, 237, 231, .82); font-size: .8125rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
	.kt-footer__socials { display: grid; gap: .25rem; }
	.kt-footer__contacts > p { margin-block: 0 .55rem; }
	.kt-footer__social > .kt-footer__meta { margin-top: 1.25rem; }
}

@media (min-width: 900px) and (max-width: 1279px) {
	.kt-header__inner { grid-template-columns: 1fr auto auto; gap: 1.1rem; }
	.kt-menu-toggle { display: block; order: 3; width: 2.25rem; height: 2.25rem; padding: .55rem; border: 0; }
	.kt-menu-toggle span { height: 1.5px; }
	.kt-header__actions { order: 2; }
	.kt-primary-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; padding: .8rem var(--kt-gutter) 1.4rem; border-bottom: 1px solid var(--kt-line); background: var(--kt-canvas); }
	.is-menu-open .kt-primary-nav { display: block; }
	.kt-menu { display: block; }
	.kt-menu li + li { border-top: 1px solid var(--kt-line); }
	.kt-menu a { display: block; padding: .9rem 0; }
}

@media (min-width: 1280px) {
	/* The original desktop header is editorially narrower than the hero frame. */
	.kt-header > .kt-shell { width: min(calc(100% - 2rem), 1280px); padding-inline: 0; }
	.kt-header__inner { grid-template-columns: 185px minmax(0, 1fr) auto; gap: clamp(1.5rem, 3vw, 3rem); }
	.kt-primary-nav { margin-right: auto; }
	.kt-menu { justify-content: flex-start; gap: clamp(1.125rem, 1.7vw, 1.875rem); }
	.kt-menu a { font-size: .78125rem; font-weight: 500; letter-spacing: .045em; text-transform: none; }
	.kt-home-circle { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
	.kt-home-circle__gates { padding-top: clamp(3.375rem, 6vw, 5.375rem); }
}

@media (min-width: 900px) {
	/* The source keeps the hero as a 1440px composition with a visible outer
	   gutter, instead of letting the colour field run edge to edge. */
	.kt-hero { background: transparent; border-bottom: 0; }
	.kt-hero > .kt-shell { width: min(calc(100% - 2rem), var(--kt-canvas-max)); max-width: var(--kt-canvas-max); padding-inline: 0; background: var(--kt-canvas-muted); }
	.kt-hero__grid { grid-template-columns: minmax(0, 1.2857fr) minmax(0, 1fr); }
	.kt-hero__content { min-height: min(700px, calc(100vh - 80px)); }
	.kt-hero__media { overflow: hidden; justify-items: stretch; }
	.kt-hero__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
	.kt-section--products { padding-block: clamp(4.75rem, 7vw, 6.75rem); }
	.kt-section--products h2 { margin: 1.125rem 0 2.625rem; font-size: clamp(2rem, 3.2vw, 2.75rem); line-height: 1.12; letter-spacing: -.02em; }
	.kt-section--editor { padding-block: 0; }
	.kt-home-editor { width: min(100%, var(--kt-canvas-max)); max-width: var(--kt-canvas-max); padding-inline: 0; }
	.kt-home-story { max-width: none; }
	/* Keep the Cordyceps feature and its figures as one exact 1240px editorial
	   composition. Gutenberg's constrained-layout default is explicitly reset
	   here so it cannot collapse this source block to its 860px content width. */
	.kt-home-feature--cordyceps { width: min(calc(100% - 2rem), var(--kt-content-max)); max-width: var(--kt-content-max); grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr); margin: 0 auto; border-bottom: 0; background: var(--kt-canvas-muted); }
	.kt-home-feature--cordyceps .kt-home-feature__image { align-self: stretch; height: auto; min-height: 0; overflow: hidden; }
	.kt-home-feature--cordyceps .kt-home-feature__image img { height: 100%; min-height: 100%; max-height: none; object-fit: cover; }
	.kt-home-feature--cordyceps .kt-home-feature__copy { padding: clamp(3.25rem, 5.5vw, 4.875rem); }
	.kt-home-stats { display: grid; width: min(calc(100% - 2rem), var(--kt-content-max)); max-width: var(--kt-content-max); grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 auto clamp(4.75rem, 7vw, 6.875rem); border-top: 1px solid var(--kt-line); background: var(--kt-canvas-muted); }
	.kt-home-stats > .wp-block-column { padding: 1.625rem; }
	.kt-home-stats h3 { font-size: 1.5rem; }
	/* These sibling Gutenberg blocks have distinct source widths: the editorial
	   About composition uses the 1440px canvas, while the review remains in the
	   1240px reading frame. Explicit maxima override Gutenberg's 860px default. */
	.kt-home-story > .kt-home-feature--about { grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr); width: min(calc(100% - 2rem), var(--kt-canvas-max)); max-width: var(--kt-canvas-max); margin: 0 auto; border-bottom: 0; background: var(--kt-canvas-muted); }
	.kt-home-feature--about .kt-home-feature__image { order: 0; min-height: 0; }
	.kt-home-feature--about .kt-home-feature__image img { min-height: 0; height: auto; object-fit: contain; }
	.kt-home-feature--about .kt-home-feature__copy { padding: clamp(3.25rem, 5.5vw, 4.875rem); background: var(--kt-canvas-muted); }
	.kt-home-story > .kt-home-review { display: grid; width: min(calc(100% - 2rem), var(--kt-content-max)); max-width: var(--kt-content-max); grid-template-columns: minmax(9.375rem, .28fr) minmax(0, 1fr); gap: 0 clamp(2.375rem, 5vw, 4.5rem); margin: clamp(4.75rem, 7vw, 6.875rem) auto; padding: clamp(3.625rem, 6vw, 5.25rem); border: 1px solid var(--kt-line); background: var(--kt-canvas-muted); }
	.kt-home-review > .kt-eyebrow { grid-column: 1; }
	.kt-home-review .wp-block-quote { grid-column: 2; grid-row: 1 / span 2; max-width: none; margin: 0; padding: 0 0 0 clamp(1.875rem, 3.5vw, 3.25rem); border-left: 1px solid var(--kt-gold); color: var(--kt-plum); font-size: 1.3125rem; line-height: 1.58; letter-spacing: 0; }
	.kt-home-review .wp-block-buttons { grid-column: 1; align-self: end; margin-top: 2.25rem; }
	.kt-home-review .wp-block-button__link { padding: 0 0 .375rem; border: 0; border-bottom: 1.5px solid var(--kt-gold); background: transparent; color: var(--kt-plum); }
	.kt-home-review .wp-block-button__link:hover { border-color: var(--kt-plum); background: transparent; color: var(--kt-gold); }
	.kt-home-circle__intro, .kt-home-circle__gates { padding: clamp(3.375rem, 6vw, 5.375rem); }
}

@media (min-width: 900px) and (max-width: 1279px) {
	.kt-home-circle__intro { padding-bottom: 1.875rem; }
	.kt-home-circle__gates { padding-top: 1.875rem; }
}

/* Keep late desktop layout rules from undoing the control treatment above. */
@media (min-width: 900px) {
	.kalpa-page-library .kt-editorial-intro h2 {
		width: min(100% - 8.75rem, 41rem);
		margin-left: 4.375rem !important;
		margin-right: auto !important;
	}
	.kt-library-access h2 { font-size: 2rem; }
}
.woocommerce .kt-product-card .gmc-wishlist__button::before,
.woocommerce .kt-product-card .gmc-wishlist__login a::before {
	/* The outline follows the original prototype's SVG heart path. */
	color: var(--kt-muted);
	width: 1.1rem;
	height: 1.1rem;
	background: currentColor;
	content: '';
	-webkit-mask: url('../images/icons/heart-outline.svg') center / contain no-repeat;
	mask: url('../images/icons/heart-outline.svg') center / contain no-repeat;
}

/* 1440px home catalogue: the same image/title/description/control rhythm as
   the source grid. The former desktop rule only targeted /shop and category
   archives, leaving this front-page WooCommerce loop in an uncontrolled flow. */
@media (min-width: 900px) {
	.kt-section--products .woocommerce ul.products {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 3.125rem 1.625rem;
		margin: 0;
	}
	.kt-section--products .woocommerce ul.products li.product {
		display: block;
		min-width: 0;
		margin: 0;
		padding: 0;
		border-bottom: 0;
	}
	.kt-section--products .woocommerce .kt-product-card__inner {
		min-height: 31.625rem;
		padding: 0;
		border-bottom: 1px solid var(--kt-line);
	}
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__link {
		display: flex;
		min-height: 0;
		flex-direction: column;
		gap: 0;
		padding: 0;
	}
	.kt-section--products .woocommerce .kt-product-card__media {
		display: block;
		flex: none;
		width: 100%;
		min-height: 0;
		align-self: auto;
		aspect-ratio: auto;
	}
	.kt-section--products .woocommerce .kt-product-card__content {
		display: block;
		min-height: 0;
		padding: 1.25rem 0 4.875rem;
	}
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title {
		display: block;
		width: 100%;
		max-width: none;
		min-height: 0;
		margin: 0;
		padding: 0 0 .75rem;
		border-bottom: 1px solid var(--kt-line);
		color: var(--kt-plum);
		font-size: 1.3125rem;
		line-height: 1.18;
	}
	.kt-section--products .woocommerce .kt-product-card__subtitle {
		min-height: 2.5rem;
		margin: .85rem 0 0;
		padding-left: 1.35rem;
		color: var(--kt-muted);
		font-size: .73rem;
		line-height: 1.45;
	}
	.kt-section--products .woocommerce .kt-product-card__meta {
		position: absolute;
		right: 0;
		bottom: 1.25rem;
		left: 0;
		display: flex;
		min-height: 2.5rem;
		align-items: center;
		margin: 0;
		padding: 0;
	}
	.kt-section--products .woocommerce .kt-product-card .price {
		color: var(--kt-plum);
		font-size: 1rem;
	}
	.kt-section--products .woocommerce .kt-product-card__purchase {
		position: absolute;
		right: 0;
		bottom: 1.25rem;
		z-index: 2;
	}
	.kt-section--products .woocommerce .kt-product-card .gmc-wishlist__form,
	.kt-section--products .woocommerce .kt-product-card .gmc-wishlist__login {
		position: absolute;
		right: 3.25rem;
		bottom: 1.25rem;
		z-index: 2;
	}
	.kt-section--products .woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__form,
	.kt-section--products .woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__login { right: 6.25rem; }
	.kt-section--products .woocommerce .kt-product-card__availability {
		position: static;
		max-width: calc(100% - 6.5rem);
		margin: 0 6.5rem 0 auto;
		color: var(--kt-muted);
		font-size: .62rem;
		letter-spacing: .12em;
		line-height: 1.35;
		text-align: right;
		text-transform: uppercase;
	}
	.kt-section--products .woocommerce .kt-product-card:has(.kt-product-card__purchase) .kt-product-card__availability { max-width: calc(100% - 8rem); margin-right: 8rem; }
	.kt-section--products .woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability { max-width: calc(100% - 10.25rem); margin-right: 10.25rem; }

	/* The source reviews use an 1100px two-column measure, centred separately
	   from the editorial heading. */
	.kalpa-page-reviews .kt-reviews-list {
		position: relative;
		left: 50%;
		width: min(68.75rem, calc(100vw - 2rem));
		max-width: 68.75rem;
		margin-right: auto;
		margin-left: auto;
		transform: translateX(-50%);
	}

	/* Event titles must keep their intended two-line editorial rhythm. */
	.kt-meet-event h3 {
		font-size: 1.5rem;
		line-height: 1.14;
	}
}

@media (min-width: 1280px) {
	/* At the 1440px source frame this name is one deliberate editorial line. */
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title { white-space: nowrap; }

	/* These two headings are authored as one and two lines respectively in the
	   supplied home composition; their surrounding columns already have room. */
	.kt-home-feature--about .kt-home-feature__copy h2 {
		max-width: none;
		font-size: clamp(2.25rem, 3vw, 2.75rem);
		line-height: 1.1;
		white-space: nowrap;
	}
	.kt-home-circle__intro h2 {
		max-width: 18ch;
		font-size: clamp(2rem, 2.65vw, 2.35rem);
		line-height: 1.1;
	}
}

/* The Circle application CTA is a quiet gold text action, not a footer title. */
.kt-footer__join,
.kt-footer__join a {
	color: var(--kt-gold);
	font-size: .6875rem;
	letter-spacing: .07em;
}

/* Final product-card baseline: every card reserves independent slots for the
   price, club availability and controls.  A long club label can therefore
   never push the price into another line or overlap a heart/quantity control. */
@media (min-width: 900px) {
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner,
	.kt-section--products .woocommerce .kt-product-card__inner {
		min-height: 32.625rem;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__title,
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title {
		width: 100%;
		min-height: 0;
		white-space: normal;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__meta,
	.kt-section--products .woocommerce .kt-product-card__meta {
		display: block;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__availability,
	.kt-section--products .woocommerce .kt-product-card__availability {
		position: absolute;
		right: 3.25rem;
		bottom: 1.25rem;
		width: min(11.25rem, calc(100% - 9rem));
		max-width: none;
		margin: 0;
		color: var(--kt-muted);
		font-size: .62rem;
		letter-spacing: .12em;
		line-height: 1.35;
		text-align: right;
		text-transform: uppercase;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card:has(.kt-product-card__purchase) .kt-product-card__availability,
	.kt-section--products .woocommerce .kt-product-card:has(.kt-product-card__purchase) .kt-product-card__availability {
		right: 8rem;
		width: min(9rem, calc(100% - 13.5rem));
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability,
	.kt-section--products .woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability {
		right: 10.25rem;
		width: min(8rem, calc(100% - 15.75rem));
	}
}

/* The product page reads category, title, subtitle, description and actual
   price/stock in that order.  Stock is a live WooCommerce state, not copy. */
.single-product.woocommerce div.product div.summary .product_meta .posted_in,
.single-product.woocommerce div.product div.summary .product_meta .posted_in a {
	color: var(--kt-gold);
	font: inherit;
	text-decoration: none;
}
.single-product.woocommerce div.product div.summary p.price .kt-single-product-stock {
	margin-left: auto;
	color: var(--kt-gold);
	font-family: var(--kt-sans);
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* Latest source review: its quote is deliberately quiet at 17px, while the
   label and editorial action retain the left-hand source column. */
@media (min-width: 900px) {
	.kt-home-review .wp-block-quote { font-size: 17px; }
	.kalpa-page-reviews .kt-reviews-list .wp-block-quote { font-size: 17px; }
}

/* The Circle application in the footer follows the same gold 13px control
   scale as the supplied source rather than inheriting a tiny legal-text size. */
.kt-footer__join,
.kt-footer__join a { font-size: 13px; }

/* Checkout and order confirmation: these are classic WooCommerce templates,
   presented in the same restrained 1240px editorial system as the source. */
.kalpa-page-checkout .kt-page--collection { padding-bottom: clamp(4.5rem, 8vw, 7rem); }
.woocommerce-checkout .woocommerce-form-coupon-toggle { width: min(100%, var(--kt-content-max)); margin: 0 auto 1.5rem; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0; padding: .85rem 0; border: 0; border-bottom: 1px solid var(--kt-line); background: transparent; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .78rem; }
.woocommerce-checkout .checkout_coupon { display: flex; width: min(100%, var(--kt-content-max)); gap: .75rem; margin: 0 auto 2rem; padding: 0; border: 0; background: transparent; }
.woocommerce-checkout .checkout_coupon .form-row { flex: 1 1 auto; margin: 0; padding: 0; }
.woocommerce-checkout .checkout_coupon input { width: 100%; min-height: 3rem; border: 1px solid var(--kt-line); border-radius: 0; background: transparent; color: var(--kt-plum); }
.woocommerce-checkout .checkout_coupon button { flex: 0 0 auto; min-height: 3rem; margin: 0; }
.kt-checkout { width: min(100%, var(--kt-content-max)); max-width: var(--kt-content-max); margin: 0 auto; padding: 0; border: 0 !important; background: transparent !important; }
.kt-checkout__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
.kt-checkout__customer { min-width: 0; }
.kt-checkout__returning-customer { margin: 0 0 2.5rem; padding: 1.05rem 1.25rem; border: 1px solid var(--kt-line); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .8rem; line-height: 1.5; }
.kt-checkout__returning-customer a { color: var(--kt-plum); font-weight: 700; }
.kt-checkout-section { margin: 0; padding: 0; border: 0; background: transparent; }
.kt-checkout-section + .kt-checkout-section { margin-top: clamp(3rem, 6vw, 5rem); }
.kt-checkout-section__header { margin-bottom: 1.5rem; }
.kt-checkout-section__header .kt-eyebrow { margin: 0 0 .7rem; }
.kt-checkout-section__header h2 { margin: 0; color: var(--kt-plum); font-size: clamp(1.75rem, 3vw, 2.35rem); line-height: 1.06; letter-spacing: -.035em; }
.kt-checkout-section__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; row-gap: 1.15rem; }
.kt-checkout-section__fields .form-row { width: auto; margin: 0; padding: 0; }
.kt-checkout-section__fields .form-row-wide { grid-column: 1 / -1; }
.kt-checkout-section__fields .form-row label { display: block; margin: 0 0 .5rem; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .66rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.kt-checkout-section__fields .form-row .required { color: var(--kt-gold); }
.kt-checkout-section__fields .form-row input.input-text,
.kt-checkout-section__fields .form-row select { box-sizing: border-box; width: 100%; min-height: 3.125rem; padding: .65rem 0; border: 0; border-bottom: 1px solid var(--kt-line); border-radius: 0; background: transparent; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .9rem; }
.kt-checkout-section__fields .form-row input:focus,
.kt-checkout-section__fields .form-row select:focus { outline: 0; border-bottom-color: var(--kt-gold); box-shadow: inset 0 -1px 0 var(--kt-gold); }
.kt-checkout-compatibility-field { display: none !important; }
.kt-checkout-delivery__methods { margin-top: 1.5rem; }
.kt-checkout-delivery__rates { display: grid; gap: .75rem; }
.kt-checkout-delivery__rate { display: grid; grid-template-columns: 1.1rem minmax(0, 1fr); gap: .8rem; align-items: center; min-height: 4.5rem; padding: .9rem 1rem; border: 1px solid var(--kt-line); transition: border-color .2s ease, background-color .2s ease; }
.kt-checkout-delivery__rate:hover,
.kt-checkout-delivery__rate:has(input:checked) { border-color: var(--kt-gold); background: rgba(176, 138, 71, .06); }
.kt-checkout-delivery__rate input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--kt-plum); }
.kt-checkout-delivery__rate-main { min-width: 0; cursor: pointer; }
.kt-checkout-delivery__rate-label { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .86rem; line-height: 1.35; }
.kt-checkout-delivery__rate-label .woocommerce-Price-amount { color: var(--kt-gold); font-weight: 700; white-space: nowrap; }
.kt-checkout-delivery__rate :is(.open-pvz-btn, .cdek-office-info) { grid-column: 2; margin: 0; font-family: var(--kt-sans); font-size: .75rem; }
.kt-checkout-delivery__rate .open-pvz-btn a { color: #fff; cursor: pointer; text-decoration: underline; text-underline-offset: .22em; }
.kt-checkout-delivery__hint { margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .8rem; }
.kt-checkout-delivery .kt-checkout-address-field { display: none; margin-top: 1.25rem; }
.kt-checkout-delivery.is-door-delivery .kt-checkout-address-field { display: block; }
.kt-checkout-account-fields,
.kt-checkout-additional-fields { margin-top: 1.5rem; }
.kt-checkout-account-fields .create-account { display: grid; gap: .85rem; }
.kt-checkout__summary { align-self: start; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--kt-line); background: var(--kt-canvas-muted); }
.kt-checkout__summary > .kt-eyebrow { margin: 0 0 1.25rem; }
.kt-checkout-summary__items { border-top: 1px solid var(--kt-line); }
.kt-checkout-summary__item,
.kt-checkout-summary__row,
.kt-checkout-summary__total { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--kt-line); }
.kt-checkout-summary__item > div { display: grid; gap: .2rem; min-width: 0; }
.kt-checkout-summary__item strong { color: var(--kt-plum); font-size: 1rem; line-height: 1.22; }
.kt-checkout-summary__item span,
.kt-checkout-summary__row span { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .73rem; }
.kt-checkout-summary__item b,
.kt-checkout-summary__row b { flex: 0 0 auto; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .8rem; white-space: nowrap; }
.kt-checkout-summary__total { margin-top: .6rem; padding-top: 1.25rem; border-bottom: 0; }
.kt-checkout-summary__total span { color: var(--kt-plum); font-size: 1rem; font-weight: 700; }
.kt-checkout-summary__total b { color: var(--kt-gold); font-family: var(--kt-sans); font-size: 1.2rem; }
.kt-checkout__summary .woocommerce-checkout-payment { margin-top: 1.25rem; padding: 0; border: 0; background: transparent; }
.kt-checkout__summary .wc_payment_methods { margin: 0 0 1rem; padding: 0; border-top: 1px solid var(--kt-line); list-style: none; }
.kt-checkout__summary .wc_payment_method { padding: 1rem 0; border-bottom: 1px solid var(--kt-line); }
.kt-checkout__summary .wc_payment_method > label { color: var(--kt-plum); font-family: var(--kt-sans); font-size: .82rem; }
.kt-checkout__summary .payment_box { margin: .75rem 0 0; padding: .85rem; border: 1px solid var(--kt-line); background: rgba(255,255,255,.2); color: var(--kt-muted); font-family: var(--kt-sans); font-size: .75rem; line-height: 1.45; }
.kt-checkout__summary .form-row.place-order { margin: 0; padding: 0; }
.kt-checkout__summary #place_order { display: block; width: 100%; min-height: 3.25rem; margin: .9rem 0 0; }
.kt-checkout__summary .woocommerce-terms-and-conditions-wrapper { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .68rem; line-height: 1.45; }

.kalpa-order-received .kt-page-header--collection { display: none; }
.kalpa-order-received .kt-page--collection { width: min(100%, var(--kt-content-max)); max-width: var(--kt-content-max); margin: 0 auto; padding: clamp(3.5rem, 8vw, 7.5rem) var(--kt-gutter); }
.kt-order-success { width: 100%; max-width: none; padding: clamp(2.25rem, 5vw, 4.375rem); border: 1px solid var(--kt-line); background: var(--kt-canvas-muted); }
.kt-order-success .kt-eyebrow { margin: 0 0 .85rem; }
.kt-order-success h1 { max-width: 12ch; margin: 0; color: var(--kt-plum); font-size: clamp(3rem, 6vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.kt-order-success__lead { margin: 1.45rem 0 2rem; color: var(--kt-ink); font-size: 1.15rem; }
.kt-order-success__details { display: grid; grid-template-columns: minmax(10rem, .55fr) minmax(0, 1fr); max-width: 39rem; margin: 0; border-top: 1px solid var(--kt-line); }
.kt-order-success__details dt,
.kt-order-success__details dd { margin: 0; padding: .85rem 0; border-bottom: 1px solid var(--kt-line); }
.kt-order-success__details dt { color: var(--kt-muted); font-family: var(--kt-sans); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.kt-order-success__details dd { color: var(--kt-plum); font-family: var(--kt-sans); font-size: .9rem; font-weight: 700; }
.kt-order-success__note { max-width: 35rem; margin: 2rem 0 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .82rem; line-height: 1.5; }

/* Single product: natural editorial order, real WooCommerce quantity and GMC
   controls. Reservation stays a GMC rule, but the crossed-out duplicate button
   from the source revision is not presented in this screen. */
.single-product.woocommerce div.product div.summary { display: flex; flex-direction: column; }
.single-product.woocommerce div.product div.summary .product_meta { order: -6; margin: 0 0 1rem; color: var(--kt-gold); font-family: var(--kt-sans); font-size: .66rem; font-weight: 600; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
.single-product.woocommerce div.product div.summary .product_meta > span { display: block; }
.single-product.woocommerce div.product div.summary .product_meta .sku_wrapper,
.single-product.woocommerce div.product div.summary .product_meta .tagged_as { display: none; }
.single-product.woocommerce div.product div.summary .product_title { order: -5; margin: 0; font-size: clamp(2.75rem, 4.1vw, 4.2rem); line-height: .98; }
.single-product.woocommerce div.product div.summary .woocommerce-product-rating { display: none; }
.single-product.woocommerce div.product div.summary .woocommerce-product-details__short-description { order: -4; max-width: 38rem; margin: 1.75rem 0 0; color: var(--kt-muted); font-size: 1.08rem; font-style: italic; line-height: 1.55; }
.single-product.woocommerce div.product div.summary p.price { order: -3; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 2.25rem 0 0; padding: 1.1rem 0; border-top: 1px solid var(--kt-line); border-bottom: 1px solid var(--kt-line); color: var(--kt-gold); font-size: 1.25rem; }
.single-product.woocommerce div.product div.summary .cart { order: -2; display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; width: 100%; margin: 1.25rem 0 0; }
.single-product.woocommerce div.product div.summary .cart .stock { order: -1; margin: 0; color: var(--kt-muted); font-family: var(--kt-sans); font-size: .75rem; }
.kt-single-quantity { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr) 3.25rem; min-height: 3.25rem; border: 1px solid var(--kt-gold); }
.kt-single-quantity__button { display: grid; width: 100%; min-height: 3.125rem; padding: 0; border: 0; background: transparent; color: var(--kt-gold); cursor: pointer; place-items: center; }
.kt-single-quantity__button:hover { background: rgba(176, 138, 71, .08); color: var(--kt-plum); }
.kt-single-quantity .quantity { width: 100%; margin: 0; }
.kt-single-quantity .quantity .qty { box-sizing: border-box; width: 100%; min-height: 3.125rem; padding: 0; border: 0; border-right: 1px solid var(--kt-line); border-left: 1px solid var(--kt-line); background: transparent; color: var(--kt-plum); font-family: var(--kt-sans); font-weight: 700; text-align: center; }
.single-product.woocommerce div.product div.summary .single_add_to_cart_button { width: 100%; min-height: 3.25rem; margin: 0; }
.single-product.woocommerce div.product div.summary .gmc-reserve-form { display: none; }
.single-product.woocommerce div.product div.summary > .gmc-wishlist__form,
.single-product.woocommerce div.product div.summary > .gmc-wishlist__login { order: 1; width: 100%; margin: .75rem 0 0; }
.single-product.woocommerce div.product div.summary > .gmc-wishlist__form .gmc-wishlist__button,
.single-product.woocommerce div.product div.summary > .gmc-wishlist__login a { display: grid; width: 100%; min-height: 3.125rem; padding: .75rem 1rem; border: 1px solid var(--kt-line); background: transparent; color: var(--kt-plum); font-family: var(--kt-sans); font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-align: center; text-decoration: none; text-transform: uppercase; place-items: center; }
.single-product.woocommerce div.product div.summary > .gmc-wishlist__form .gmc-wishlist__button:hover,
.single-product.woocommerce div.product div.summary > .gmc-wishlist__login a:hover { border-color: var(--kt-gold); color: var(--kt-gold); }
.single-product .related .gmc-wishlist__button,
.single-product .related .gmc-wishlist__login a,
.single-product .upsells .gmc-wishlist__button,
.single-product .upsells .gmc-wishlist__login a { display: grid !important; width: 2.5rem !important; min-width: 2.5rem; height: 2.5rem; min-height: 2.5rem; padding: 0 !important; border: 1px solid var(--kt-line); border-radius: 0; background: transparent url('../images/icons/heart-outline.svg') center / 1rem no-repeat; color: transparent !important; font-size: 0 !important; place-items: center; }
.single-product .related .gmc-wishlist__button:hover,
.single-product .related .gmc-wishlist__login a:hover,
.single-product .upsells .gmc-wishlist__button:hover,
.single-product .upsells .gmc-wishlist__login a:hover { border-color: var(--kt-gold); background-color: rgba(176, 138, 71, .08); }

/* Card baseline: price always starts at the left; access state and controls
   consume independent slots so a club label cannot overlap or wrap a price. */
.woocommerce .kt-product-card .price { white-space: nowrap; }
.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title { white-space: normal; }
@media (min-width: 900px) {
	.kt-section--products .woocommerce .kt-product-card__meta,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; }
	.kt-section--products .woocommerce .kt-product-card__price,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__price { min-width: 0; }
	.kt-section--products .woocommerce .kt-product-card__availability,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__availability { max-width: none; margin: 0 6.5rem 0 0; white-space: normal; }
	.kt-section--products .woocommerce .kt-product-card:has(.kt-product-card__purchase) .kt-product-card__availability,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card:has(.kt-product-card__purchase) .kt-product-card__availability { margin-right: 8rem; }
	.kt-section--products .woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability { margin-right: 10.25rem; }
}

@media (min-width: 900px) {
	.kt-checkout__layout { grid-template-columns: minmax(0, 1fr) minmax(20rem, 25rem); gap: clamp(2.5rem, 6vw, 5.75rem); }
	.kt-checkout__summary { position: sticky; top: 6.5rem; }
}
@media (max-width: 700px) {
	.kt-checkout-section__fields { grid-template-columns: 1fr; }
	.kt-checkout-section__fields .form-row-wide { grid-column: auto; }
	.woocommerce-checkout .checkout_coupon { display: grid; }
	.kt-order-success__details { grid-template-columns: 1fr; }
	.kt-order-success__details dt { padding-bottom: .2rem; border-bottom: 0; }
	.kt-order-success__details dd { padding-top: .2rem; }
}

/* Document reconciliation, 2026-09-02.
   Keep the product data and controls in independent visual slots. This is a
   deliberately final layer: earlier iterations positioned these same elements
   both with flex and absolute offsets, which allowed a club-only label to sit
   on top of a price at four-column desktop widths. */
@media (min-width: 900px) {
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner,
	.kt-section--products .woocommerce .kt-product-card__inner {
		min-height: 32.625rem;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__title,
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title {
		white-space: normal !important;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__meta,
	.kt-section--products .woocommerce .kt-product-card__meta {
		position: absolute !important;
		right: 0;
		bottom: 1.25rem;
		left: 0;
		display: block !important;
		height: 2.5rem;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__price,
	.kt-section--products .woocommerce .kt-product-card__price {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
		min-width: 0;
		max-width: calc(100% - 6rem);
		margin: 0;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--club-only .kt-product-card__price,
	.kt-section--products .woocommerce .kt-product-card--club-only .kt-product-card__price {
		max-width: calc(100% - 12.75rem);
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .price,
	.kt-section--products .woocommerce .kt-product-card .price {
		display: block;
		max-width: 100%;
		white-space: nowrap;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__availability,
	.kt-section--products .woocommerce .kt-product-card__availability {
		position: absolute !important;
		right: 3.25rem !important;
		bottom: 12px !important;
		width: min(8.75rem, calc(100% - 8rem)) !important;
		max-width: none !important;
		margin: 0 !important;
		color: var(--kt-muted);
		font-size: .625rem;
		letter-spacing: .1em;
		line-height: 1.35;
		text-align: right;
		text-transform: uppercase;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--purchasable .gmc-wishlist__form,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--purchasable .gmc-wishlist__login,
	.kt-section--products .woocommerce .kt-product-card--purchasable .gmc-wishlist__form,
	.kt-section--products .woocommerce .kt-product-card--purchasable .gmc-wishlist__login {
		right: 3.25rem !important;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--club-only .gmc-wishlist__form,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--club-only .gmc-wishlist__login,
	.kt-section--products .woocommerce .kt-product-card--club-only .gmc-wishlist__form,
	.kt-section--products .woocommerce .kt-product-card--club-only .gmc-wishlist__login {
		right: 0 !important;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--purchasable .kt-product-card__purchase,
	.kt-section--products .woocommerce .kt-product-card--purchasable .kt-product-card__purchase {
		right: 0 !important;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--purchasable:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__form,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--purchasable:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__login,
	.kt-section--products .woocommerce .kt-product-card--purchasable:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__form,
	.kt-section--products .woocommerce .kt-product-card--purchasable:has(.kt-card-quantity:not([hidden])) .gmc-wishlist__login {
		right: 6.25rem !important;
	}

	/* Meeting cards use one common left edge for date, title, subtitle and tier. */
	.kalpa-page-meet .kt-meet-event,
	.kalpa-page-meet .kt-meet-event * { text-align: center !important; }

	/* The source places the complete "Государственный контроль" block on one
	   left-aligned editorial column, not around the width of its rules list. */
	.kalpa-page-about .kt-about__control {
		width: min(46rem, calc(100% - 4rem));
		margin-right: auto;
		margin-left: auto;
		padding-block: clamp(5rem, 7vw, 7rem);
	}
	.kalpa-page-about .kt-about__control > * { margin-right: 0 !important; margin-left: 0 !important; }
	.kalpa-page-about .kt-about__control h2 {
		max-width: none;
		margin-top: 1rem !important;
		font-size: clamp(2.25rem, 3.1vw, 2.75rem);
		line-height: 1.08;
	}
	.kalpa-page-about .kt-about__control > p:not(.kt-eyebrow) { max-width: 43rem; }

	/* The supplied Cordyceps hero uses a 62px, left-aligned display title. */
	.kalpa-page-cordyceps .kt-cordyceps__hero-copy { align-items: flex-start; text-align: left; }
	.kalpa-page-cordyceps .kt-cordyceps__hero-copy h1 {
		max-width: 13ch;
		font-size: 3.875rem;
		line-height: .98;
		text-align: left;
	}
	.kalpa-page-cordyceps .kt-cordyceps__hero-copy p:not(.kt-eyebrow) { text-align: left; }

	/* Circle benefit names are the 16px editorial labels from the reference. */
	.kalpa-page-circle .kt-circle-benefits li strong { font-size: 1rem; line-height: 1.3; }
}

/* Library access preserves the provider link behaviour while restoring the
   purple primary action specified in the reference. */
.kalpa-page-library .kt-library-access__actions .kt-button:not(.kt-button--outline) {
	border-color: #3e2b4e;
	background: #3e2b4e;
	color: var(--kt-canvas);
}
.kalpa-page-library .kt-library-access__actions .kt-button:not(.kt-button--outline):hover {
	border-color: var(--kt-gold);
	background: var(--kt-gold);
	color: var(--kt-plum);
}

/* Home review: exact restrained 17px reading measure and text-style action. */
@media (min-width: 900px) {
	.kt-home-story > .kt-home-review .wp-block-quote { font-size: 17px !important; }
	.kt-home-story > .kt-home-review > .kt-eyebrow,
	.kt-home-story > .kt-home-review .wp-block-buttons { text-align: left; }
}

/* Footer application remains a 13px gold editorial action rather than a large
   white footer heading. */
.kt-footer__join,
.kt-footer__join a { color: #b08a47 !important; font-size: 12px !important; }

/* Checkout contains only the agreed contact fields, the real CDEK delivery
   methods and real payment gateways. The two notes explain bonuses, coupons
   and payment choices without fabricating a provider rate or method. */
.kt-checkout__promotion-note,
.kt-checkout__payment-note {
	margin: 1.5rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--kt-line);
	color: var(--kt-muted);
	font-family: var(--kt-sans);
	font-size: .78rem;
	line-height: 1.5;
}
.kt-checkout__promotion-note strong { color: var(--kt-plum); }
.kt-checkout__summary .kt-checkout__payment-note { margin: 0 0 1rem; padding-top: 0; border-top: 0; }
.kt-checkout-section__header h2 { font-size: clamp(1.55rem, 2.4vw, 2rem); }
.kt-checkout-section__fields .form-row input.input-text,
.kt-checkout-section__fields .form-row select { min-height: 2.875rem; }

/* The confirmation template owns the entire success screen; legacy WooCommerce
   order/billing tables must not introduce a second information block below it. */
.kalpa-order-received .woocommerce-order-details,
.kalpa-order-received .woocommerce-customer-details { display: none; }
.kt-order-success { border: 0; background: transparent; }

/* Related product cards use two stable horizontal rows. This matches the
   product reference and prevents nested product-grid rules from shrinking the
   image, title and club-access state into an overlapping cluster. */
@media (min-width: 900px) {
	.single-product .related > ul.products > li.product { min-height: 15rem; }
	.single-product .related .kt-product-card__inner { position: relative; min-height: 15rem; padding: 2.125rem 2.5rem; }
	.single-product .related .kt-product-card__meta { position: absolute; right: 2.5rem; bottom: 2.125rem; left: 2.5rem; display: block; height: 2.5rem; margin: 0; padding: 0; }
	.single-product .related .kt-product-card__price { position: absolute; bottom: 0; left: 0; max-width: calc(100% - 12.25rem); }
	.single-product .related .kt-product-card__availability { position: absolute; right: 3.25rem; bottom: 0; width: 8.25rem; max-width: none; margin: 0; font-size: .625rem; letter-spacing: .1em; line-height: 1.35; text-align: right; text-transform: uppercase; }
	.single-product .related .kt-product-card--club-only .gmc-wishlist__form,
	.single-product .related .kt-product-card--club-only .gmc-wishlist__login { right: 2.5rem; }
	.single-product .related .kt-product-card--purchasable .gmc-wishlist__form,
	.single-product .related .kt-product-card--purchasable .gmc-wishlist__login { right: 5.75rem; }
	.single-product .related .kt-product-card--purchasable .kt-product-card__purchase { right: 2.5rem; }
}

/* Wishlist controls: a related-card link already uses the SVG as its visible
   heart. Suppress the generic masked pseudo-element there so only one heart is
   painted. A Circle member's card can correctly be both club-only and
   purchasable; give that combined state the same independent slots as an open
   purchasable product rather than letting both controls claim the right edge. */
.single-product .related .gmc-wishlist__button::before,
.single-product .related .gmc-wishlist__login a::before {
	display: none;
	content: none;
}

@media (min-width: 900px) {
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--club-only.kt-product-card--purchasable .gmc-wishlist__form,
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--club-only.kt-product-card--purchasable .gmc-wishlist__login,
	.kt-section--products .woocommerce .kt-product-card--club-only.kt-product-card--purchasable .gmc-wishlist__form,
	.kt-section--products .woocommerce .kt-product-card--club-only.kt-product-card--purchasable .gmc-wishlist__login {
		right: 3.25rem !important;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--club-only.kt-product-card--purchasable .kt-product-card__availability,
	.kt-section--products .woocommerce .kt-product-card--club-only.kt-product-card--purchasable .kt-product-card__availability {
		right: 6.5rem !important;
		width: min(8.5rem, calc(100% - 13rem)) !important;
	}

	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--club-only.kt-product-card--purchasable:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability,
	.kt-section--products .woocommerce .kt-product-card--club-only.kt-product-card--purchasable:has(.kt-card-quantity:not([hidden])) .kt-product-card__availability {
		right: 10.25rem !important;
		width: min(7rem, calc(100% - 16.75rem)) !important;
	}

	/* Guest club cards have only one action. Keep a clear gap between its label
	   and the heart at every three/four-column catalogue width. */
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card--club-only.kt-product-card--not-purchasable .kt-product-card__availability,
	.kt-section--products .woocommerce .kt-product-card--club-only.kt-product-card--not-purchasable .kt-product-card__availability {
		right: 4rem !important;
		width: min(9rem, calc(100% - 8rem)) !important;
	}
}

/* A WooCommerce .button rule has a taller default min-height. Wishlist is an
   icon-only action in product cards, so explicitly constrain every dimension
   to the same token and keep the visible frame genuinely square. */
.woocommerce .kt-product-card .gmc-wishlist__button,
.woocommerce .kt-product-card .gmc-wishlist__login a {
	box-sizing: border-box;
	flex: 0 0 2.5rem;
	width: 2.5rem !important;
	min-width: 2.5rem !important;
	max-width: 2.5rem;
	height: 2.5rem !important;
	min-height: 2.5rem !important;
	max-height: 2.5rem;
	aspect-ratio: 1;
	align-content: center; 
}

.woocommerce .kt-product-card .gmc-wishlist__button.is-saved {
	border-color: var(--kt-gold);
	background-color: rgba(176, 138, 71, .12);
}

.woocommerce .kt-product-card .gmc-wishlist__button.is-saved::before {
	color: var(--kt-gold);
}

/* Google Docs revision 2899, 2026-09-02.
   One structural footer now owns price, access state and controls. Earlier
   absolute-position experiments are reset here so catalogue and related cards
   share a stable baseline at every viewport. */
.kt-catalogue-link {
	width: fit-content;
	padding-bottom: .35rem;
	border-bottom: 1px solid var(--kt-gold);
}

.woocommerce .kt-product-card__inner {
	min-height: 100% !important;
}
.woocommerce .kt-product-card__footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, auto) auto;
	gap: .75rem;
	min-height: 4rem;
	align-items: end;
	margin-top: auto;
	padding: .75rem 0 1.25rem;
	border-bottom: 1px solid var(--kt-line);
	
}
.woocommerce .kt-product-card__price {
	position: static !important;
	grid-column: 1;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce .kt-product-card__availability {
	position: static !important;
	grid-column: 2;
	width: auto !important;
	max-width: 9rem !important;
	margin: 0 !important;
	color: var(--kt-gold) !important;
	font-size: .625rem !important;
	font-weight: 600;
	letter-spacing: .09em !important;
	line-height: 3.55 !important;
	text-align: left !important;
	text-transform: uppercase;
}
.woocommerce .kt-product-card__actions {
	grid-column: 3;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	gap: .75rem;
	
}
.woocommerce .kt-product-card__actions .gmc-wishlist__form,
.woocommerce .kt-product-card__actions .gmc-wishlist__login,
.woocommerce .kt-product-card__actions .kt-product-card__purchase {
	position: static !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	width: auto;
	height: auto;
	margin: 0 !important;
}
.woocommerce .kt-product-card__actions .gmc-wishlist__login { display: block !important; }
.woocommerce .kt-product-card__actions .gmc-wishlist__button::before,
.woocommerce .kt-product-card__actions .gmc-wishlist__login a::before {
	display: block;
	content: "\f487";
}
.single-product .related .kt-product-card__actions .gmc-wishlist__button,
.single-product .related .kt-product-card__actions .gmc-wishlist__login a {
	background-image: none;
}
.single-product .related .kt-product-card__actions .gmc-wishlist__button::before,
.single-product .related .kt-product-card__actions .gmc-wishlist__login a::before {
	display: block;
	color: var(--kt-muted);
	content: "\f487";
	font-family: dashicons;
	font-size: 1rem;
}

/* The library gate was present in PHP but a legacy mask reduced the whole
   section to a one-pixel glyph. Keep the complete block and only recolour its
   primary action, as requested. */
.kalpa-page-library .kt-library-access {
	-webkit-mask-image: none !important;
	mask-image: none !important;
}

.single-product.woocommerce div.product div.summary .kt-single-product-bonus-note {
	order: 2;
	margin: .8rem 0 0;
	color: var(--kt-muted);
	font-family: var(--kt-sans);
	font-size: .72rem;
	line-height: 1.5;
	text-align: center;
}
.kalpa-page-cordyceps .kt-cordyceps__detail,
.kalpa-page-cordyceps .kt-cordyceps__detail summary,
.kalpa-page-cordyceps .kt-cordyceps__detail p,
.kalpa-page-cordyceps .kt-cordyceps__detail li { font-size: 14px; font-family: 'Manrope'; }

@media (min-width: 900px) {
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner,
	.kt-section--products .woocommerce .kt-product-card__inner {
		min-height: 100% !important;
		padding: 0 !important;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__content,
	.kt-section--products .woocommerce .kt-product-card__content {
		min-height: 8.1rem;
		padding-bottom: 1rem;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__footer,
	.kt-section--products .woocommerce .kt-product-card__footer {
		min-height: 4.5rem;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__title,
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title {
		min-height: 2.8rem;
	}

	/* The source recommendation row is two equal horizontal cards. */
	.single-product.woocommerce div.product .related.products {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		padding: 4.625rem var(--kt-edge) 6.25rem;
		background: var(--kt-canvas-muted);
	}
	.single-product .related > .kt-related-products__eyebrow,
	.single-product .related > ul.products {
		width: min(100%, var(--kt-content-max));
		max-width: var(--kt-content-max);
		margin-right: auto;
		margin-left: auto;
	}
	.single-product .related > ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.875rem;
	}
	.single-product .related > ul.products > li.product {
		width: auto !important;
		min-height: 15rem;
		margin: 0;
		padding: 0;
		border: 1px solid var(--kt-line);
		background: rgba(242, 237, 231, .58);
	}
	.single-product .related .kt-product-card__inner {
		display: grid;
		grid-template-rows: minmax(0, 1fr) auto;
		min-height: 15rem !important;
		padding: 2rem 2.5rem !important;
	}
	.single-product .related .kt-product-card .woocommerce-loop-product__link {
		display: grid;
		grid-template-columns: 8.25rem minmax(0, 1fr);
		gap: 1.0625rem;
		min-height: 9.5rem;
	}
	.single-product .related .kt-product-card__media {
		width: 8.25rem;
		height: 9.5rem;
		min-height: 9.5rem;
		background: #ebe5dd;
	}
	.single-product .related .kt-product-card__media img { padding: .625rem; object-fit: contain; }
	.single-product .related .kt-product-card__content { min-height: 0; padding: 0; }
	.single-product .related .kt-product-card .woocommerce-loop-product__title {
		min-height: 0;
		margin: .35rem 0 0;
		padding: 0 0 .6rem;
		border-bottom: 1px solid var(--kt-line);
		font-size: 1.25rem;
		line-height: 1.18;
	}
	.single-product .related .kt-product-card__subtitle {
		min-height: 0;
		margin: .8rem 0 0;
		padding-left: 1.25rem;
		font-size: .73rem;
	}
	.single-product .related .kt-product-card__footer {
		min-height: 2.5rem;
		margin-top: .75rem;
		padding: 0;
		border: 0;
	}
	.single-product .related .kt-product-card__availability { max-width: 8.25rem !important; }
}

@media (min-width: 1280px) {
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__title,
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title {
		white-space: nowrap !important;
		font-size: 1.25rem;
	}
}

@media (max-width: 899px) {
	.kt-header__inner {
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: .45rem;
		min-height: 64px;
	}
	.kt-header__actions { order: 2; gap: .2rem; }
	.kt-menu-toggle {
		order: 3;
		width: 2.25rem;
		height: 2.25rem;
		padding: .55rem;
		border: 0;
	}
	.kt-brand__default-logo,
	.kt-brand .custom-logo { max-width: 145px; max-height: 32px; }

	.kt-hero__content { padding: 2.75rem 1.25rem; }
	.kt-hero h1 {
		max-width: 10ch;
		margin-top: .9rem;
		font-size: clamp(2.55rem, 12vw, 3.25rem);
		line-height: .98;
	}
	.kt-hero__benefits { margin-top: 1.1rem; }
	.kt-section { padding-block: 2.75rem; }
	.kt-section h2 { margin: .8rem 0 1.5rem; font-size: 2.25rem; }

	/* Compact horizontal home/catalogue cards from the supplied mobile source. */
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce ul.products,
	.kt-section--products .woocommerce ul.products { display: block !important; margin: 0; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce ul.products li.product,
	.kt-section--products .woocommerce ul.products li.product { width: 100% !important; margin: 0; padding: 0; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner,
	.kt-section--products .woocommerce .kt-product-card__inner {
		display: grid;
		grid-template-columns: 7rem minmax(0, 1fr);
		grid-template-rows: minmax(7.75rem, auto) auto;
		column-gap: 1rem;
		min-height: 11.75rem !important;
		padding: 1.25rem 0 !important;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__link,
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__link {
		display: contents;
		min-height: 0;
		padding: 0;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__media,
	.kt-section--products .woocommerce .kt-product-card__media {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 7rem;
		height: 100%;
		min-height: 9.5rem;
		aspect-ratio: auto;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__media img,
	.kt-section--products .woocommerce .kt-product-card__media img {
		width: 100%;
		height: 100%;
		padding: 0;
		object-fit: cover;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__content,
	.kt-section--products .woocommerce .kt-product-card__content {
		grid-column: 2;
		grid-row: 1;
		min-height: 0;
		padding: 0;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card .woocommerce-loop-product__title,
	.kt-section--products .woocommerce .kt-product-card .woocommerce-loop-product__title {
		min-height: 0;
		margin: 0;
		padding: .1rem 0 .65rem;
		border-bottom: 1px solid var(--kt-line);
		font-size: 1.25rem;
		line-height: 1.13;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__subtitle,
	.kt-section--products .woocommerce .kt-product-card__subtitle {
		min-height: 0;
		margin: .75rem 0 0;
		padding-left: 1.25rem;
		font-size: .7rem;
		line-height: 1.45;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__footer,
	.kt-section--products .woocommerce .kt-product-card__footer {
		grid-column: 2;
		grid-row: 2;
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: .55rem;
		min-height: 2.5rem;
		margin: .75rem 0 0;
		padding: 0;
		border: 0;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__availability,
	.kt-section--products .woocommerce .kt-product-card__availability {
		max-width: 7.25rem !important;
		font-size: .55rem !important;
	}
	.woocommerce .kt-product-card__actions { gap: .55rem; }

	.kt-home-stats { margin-bottom: 2.5rem; }
	.kt-home-stats > .wp-block-column { padding: 1.05rem 1rem; }
	.kt-home-feature__copy,
	.kt-home-review { padding: 2rem 1.25rem; }
	.kt-home-feature__copy h2 { font-size: 27px; line-height: 1.08; }
	.kt-home-feature__copy p:not(.kt-eyebrow),
	.kt-home-review .wp-block-quote { font-size: 16px !important; }
	.kt-home-feature__copy .wp-block-buttons,
	.kt-home-review .wp-block-buttons { margin-top: 1.15rem; }
	.kt-home-review .wp-block-button__link {
		padding: .7rem 1rem;
		border: 1px solid var(--kt-plum);
		background: transparent;
	}
	.kt-home-circle { margin-bottom: 3rem; }
	.kt-home-circle__intro,
	.kt-home-circle__gates { padding: 2rem 1.25rem; }
	.kt-home-circle__intro { padding-bottom: .75rem; }
	.kt-home-circle__gates { padding-top: .75rem; }
	.kt-home-circle__intro h2 { max-width: 15ch; font-size: 1.95rem; }
	.kt-home-circle__gate { padding: .95rem 0; }

	.kalpa-page-meet .kt-meet-gate { margin-bottom: 3rem; padding: 2rem 1.25rem; }
	.kalpa-page-meet .kt-meet-gate__actions { display: grid; grid-template-columns: 1fr; gap: .65rem; }
	.kalpa-page-meet .kt-meet-gate__actions .wp-block-button,
	.kalpa-page-meet .kt-meet-gate__actions .wp-block-button__link { width: 100%; min-width: 0; }

	/* Mobile related cards stay horizontal, matching the source rather than the
	   full-width image layout that was reported as broken. */
	.single-product.woocommerce div.product .related.products {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		padding: 3rem 1.25rem;
		background: var(--kt-canvas-muted);
	}
	.single-product .related > ul.products { display: block !important; margin: 0; }
	.single-product .related > ul.products > li.product {
		width: 100% !important;
		margin: 0;
		padding: 0;
		border-top: 1px solid var(--kt-line);
	}
	.single-product .related .kt-product-card__inner {
		display: grid;
		grid-template-columns: 6rem minmax(0, 1fr);
		grid-template-rows: minmax(7.5rem, auto) auto;
		gap: 0 1rem;
		min-height: 11.5rem !important;
		padding: 1.25rem 0 !important;
	}
	.single-product .related .kt-product-card .woocommerce-loop-product__link { display: contents; }
	.single-product .related .kt-product-card__media {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 6rem;
		height: 100%;
		min-height: 9rem;
		background: #ebe5dd;
	}
	.single-product .related .kt-product-card__media img { padding: 0; object-fit: cover; }
	.single-product .related .kt-product-card__content { grid-column: 2; grid-row: 1; min-height: 0; padding: 0; }
	.single-product .related .kt-product-card .woocommerce-loop-product__title {
		min-height: 0;
		margin: 0;
		padding: 0 0 .55rem;
		border-bottom: 1px solid var(--kt-line);
		font-size: 1.2rem;
		line-height: 1.12;
	}
	.single-product .related .kt-product-card__subtitle {
		min-height: 0;
		margin: .7rem 0 0;
		padding-left: 1.2rem;
		font-size: .68rem;
	}
	.single-product .related .kt-product-card__footer {
		grid-column: 2;
		grid-row: 2;
		min-height: 2.5rem;
		margin-top: .6rem;
		padding: 0;
		border: 0;
	}
	.single-product .related .kt-product-card__availability { max-width: 6.5rem !important; }
}

@media (max-width: 420px) {
	.kt-header__actions .kt-icon-link { width: 1.9rem; height: 1.9rem; }
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__inner,
	.kt-section--products .woocommerce .kt-product-card__inner {
		grid-template-columns: 7rem minmax(0, 1fr);
		column-gap: .8rem;
	}
	:is(.woocommerce-shop, .tax-product_cat) .kt-woocommerce .kt-product-card__media,
	.kt-section--products .woocommerce .kt-product-card__media { width: 7rem; }
	.woocommerce .kt-product-card__actions { gap: .35rem; }
}

/* Mobile viewport containment.
   Keep form focus from triggering iOS zoom/sideways panning and confine wide
   content (notably the Circle comparison table) to its own scroll frame. */
@media (max-width: 899px) {
	html,
	body.kalpa-taru-site {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.kt-site,
	.kt-page,
	.kt-shell,
	.kt-account,
	.woocommerce-account .kt-account .woocommerce,
	.woocommerce-account .kt-account .woocommerce-MyAccount-content,
	.kt-account-guest,
	.kt-account-guest__login,
	.kt-account-guest__circle,
	.kt-account-dashboard,
	.kt-account-dashboard__content,
	.kt-account-screen,
	.kt-account-panels,
	.kt-account-panel {
		min-width: 0;
		max-width: 100%;
	}

	.woocommerce-account .kt-account form,
	.woocommerce-account .kt-account fieldset,
	.woocommerce-account .kt-account .form-row,
	.woocommerce-account .kt-account .password-input {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	body.kalpa-taru-site :is(
		input[type="text"],
		input[type="email"],
		input[type="password"],
		input[type="tel"],
		input[type="search"],
		input[type="url"],
		input[type="number"],
		select,
		textarea
	) {
		max-width: 100%;
		font-size: 16px;
	}

	.kalpa-page-circle .kt-circle-table {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
	}
}
