/* ============================================================
   jmt-design.css — ЖМТех Design System v1.0
   Blocksy Child Theme  |  accent: #157A4E  |  dark: #0E1B2A
   ============================================================ */

/* ─── 1. BODY / TYPOGRAPHY ────────────────────────────────── */
body {
  font-family: var(--jmt-font);
  color: var(--jmt-t1);
  background: var(--jmt-bg);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--jmt-acc); text-decoration: none; }
a:hover { color: var(--jmt-acc-h); }
h1,h2,h3,h4,h5,h6 { font-family: var(--jmt-font); color: var(--jmt-t1); font-weight: 700; line-height: 1.25; }

/* ─── 2. BLOCKSY OVERRIDES ────────────────────────────────── */
:root {
  --theme-palette-color-1: #157A4E;
  --theme-palette-color-2: #0E1B2A;
  --theme-palette-color-3: #0E1B2A;
  --theme-palette-color-4: #405161;
  --theme-palette-color-5: #F3F6F7;
  --theme-palette-color-6: #E7ECEF;
  --theme-palette-color-7: #067647;
  --theme-palette-color-8: #FFFFFF;
}
/* Primary button */
.ct-button, button[type="submit"],
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--jmt-acc) !important;
  border-color: var(--jmt-acc) !important;
  color: #fff !important;
  font-family: var(--jmt-font);
  font-weight: 600;
  border-radius: var(--jmt-r-md) !important;
  transition: background .15s, box-shadow .15s;
}
.ct-button:hover, button[type="submit"]:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--jmt-acc-h) !important;
  border-color: var(--jmt-acc-h) !important;
  box-shadow: var(--jmt-sh-md);
}

/* ─── 3. SHOP GRID ────────────────────────────────────────── */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 1199px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 767px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 479px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: 1fr !important; }
}

/* ─── 4. PRODUCT CARD ─────────────────────────────────────── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--jmt-wh);
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-xl);
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  transition: box-shadow .18s, transform .18s;
  position: relative;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  box-shadow: var(--jmt-sh-lg);
  transform: translateY(-2px);
}
/* Image wrapper */
.woocommerce ul.products li.product a img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 12px;
  background: #fafafa;
}
/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-size: 13px;
  font-weight: 600;
  color: var(--jmt-t1);
  line-height: 1.4;
  padding: 0 14px 4px;
  margin: 0;
}
/* Price */
.woocommerce ul.products li.product .price {
  padding: 0 14px 10px;
  font-weight: 700;
  font-size: 15px;
  color: var(--jmt-t1);
  margin-top: auto;
}
.woocommerce ul.products li.product .price del {
  font-size: 12px;
  color: var(--jmt-t4);
  font-weight: 400;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  color: var(--jmt-acc);
}
/* Add to cart button */
.woocommerce ul.products li.product .button {
  display: block;
  text-align: center;
  margin: 0 14px 14px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 600;
  border-radius: var(--jmt-r-md);
}

/* ─── 5. BADGES ───────────────────────────────────────────── */
.jmt-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.jmt-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--jmt-r-f);
  font-size: 11px;
  font-weight: 700;
  font-family: var(--jmt-font);
  letter-spacing: .3px;
  line-height: 1.6;
}
.jmt-badge-hit  { background: var(--jmt-acc); color: #fff; }
.jmt-badge-sale { background: var(--jmt-err); color: #fff; }
.jmt-badge-new  { background: var(--jmt-ok);  color: #fff; }

/* ─── 6. SINGLE PRODUCT ───────────────────────────────────── */
.single-product div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 767px) {
  .single-product div.product { grid-template-columns: 1fr; }
}
/* Gallery */
.woocommerce-product-gallery {
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-xl);
  overflow: hidden;
  background: #fafafa;
}
/* Summary */
.single-product .summary .price {
  font-size: 28px;
  font-weight: 800;
  color: var(--jmt-t1);
  margin-bottom: 16px;
}
.single-product .summary .price del { font-size: 18px; color: var(--jmt-t4); font-weight: 400; }
.single-product .summary .price ins { text-decoration: none; color: var(--jmt-acc); }
/* Add to cart */
.single-product .cart { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.single-product .cart .qty {
  width: 72px;
  height: 44px;
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-md);
  padding: 0 12px;
  font-size: 15px;
  text-align: center;
  font-family: var(--jmt-font);
}
.single-product .cart .single_add_to_cart_button {
  flex: 1;
  min-width: 160px;
  height: 44px;
  font-size: 15px;
  font-weight: 700;
  padding: 0 28px;
}
/* Short description */
.woocommerce-product-details__short-description {
  border-left: 3px solid var(--jmt-acc);
  background: var(--jmt-acc-l);
  padding: 12px 16px;
  border-radius: 0 var(--jmt-r-md) var(--jmt-r-md) 0;
  font-size: 14px;
  color: var(--jmt-t2);
  margin-bottom: 20px;
}
/* Stock */
.stock.in-stock {
  display: inline-block;
  background: var(--jmt-ok-l);
  color: var(--jmt-ok);
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--jmt-r-f);
  margin-bottom: 12px;
}
.stock.out-of-stock {
  display: inline-block;
  background: #FEECEB;
  color: var(--jmt-err);
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--jmt-r-f);
  margin-bottom: 12px;
}
/* Tabs */
.woocommerce-tabs .wc-tabs {
  border-bottom: 2px solid var(--jmt-br);
  margin-bottom: 24px;
  padding: 0;
  display: flex;
  gap: 0;
}
.woocommerce-tabs .wc-tabs li { margin: 0; padding: 0; list-style: none; }
.woocommerce-tabs .wc-tabs li a {
  display: block;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--jmt-t3);
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .15s, border-color .15s;
}
.woocommerce-tabs .wc-tabs li.active a,
.woocommerce-tabs .wc-tabs li a:hover {
  color: var(--jmt-acc);
  border-bottom-color: var(--jmt-acc);
}
/* Attributes table */
.woocommerce-product-attributes {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.woocommerce-product-attributes th {
  background: var(--jmt-acc-l);
  color: var(--jmt-t1);
  font-weight: 600;
  padding: 10px 16px;
  width: 38%;
  border-bottom: 1px solid var(--jmt-br);
  text-align: left;
}
.woocommerce-product-attributes td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--jmt-br);
  color: var(--jmt-t2);
}
.woocommerce-product-attributes tr:nth-child(even) td { background: #fafafa; }

/* ─── 7. ARCHIVE / CATEGORY PAGE ─────────────────────────── */
.woocommerce-products-header { margin-bottom: 24px; }
.woocommerce-products-header .page-title {
  font-size: 28px;
  font-weight: 800;
  color: var(--jmt-t1);
}
/* Breadcrumbs */
.woocommerce-breadcrumb {
  font-size: 13px;
  color: var(--jmt-t3);
  margin-bottom: 16px;
}
.woocommerce-breadcrumb a { color: var(--jmt-t3); }
.woocommerce-breadcrumb a:hover { color: var(--jmt-acc); }
/* Ordering */
.woocommerce-ordering select {
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-md);
  padding: 8px 12px;
  font-family: var(--jmt-font);
  font-size: 13px;
  color: var(--jmt-t2);
}
/* Result count */
.woocommerce-result-count {
  font-size: 13px;
  color: var(--jmt-t3);
}

/* ─── 8. CART ─────────────────────────────────────────────── */
.woocommerce-cart .woocommerce {
  background: var(--jmt-wh);
  border-radius: var(--jmt-r-xl);
  padding: 32px;
  box-shadow: var(--jmt-sh-sm);
}
.woocommerce table.shop_table {
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-lg);
  overflow: hidden;
  border-collapse: collapse;
  width: 100%;
}
.woocommerce table.shop_table th {
  background: var(--jmt-bg);
  font-size: 12px;
  font-weight: 700;
  color: var(--jmt-t3);
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--jmt-br);
}
.woocommerce table.shop_table td {
  padding: 16px;
  border-bottom: 1px solid var(--jmt-br);
  vertical-align: middle;
}
/* Coupon */
.woocommerce .coupon input[type="text"] {
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-md);
  padding: 10px 14px;
  font-family: var(--jmt-font);
}

/* ─── 9. CHECKOUT ─────────────────────────────────────────── */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-size: 18px;
  font-weight: 700;
  color: var(--jmt-t1);
  border-bottom: 2px solid var(--jmt-br);
  padding-bottom: 12px;
  margin-bottom: 20px;
}
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-md);
  padding: 10px 14px;
  font-family: var(--jmt-font);
  font-size: 14px;
  transition: border-color .15s, box-shadow .15s;
  width: 100%;
}
.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce-checkout .woocommerce-input-wrapper select:focus {
  border-color: var(--jmt-acc);
  box-shadow: 0 0 0 3px rgba(21,122,78,.12);
  outline: none;
}
/* Place order button */
#place_order,
.wc-block-components-checkout-place-order-button {
  width: 100%;
  padding: 16px;
  font-size: 16px !important;
  font-weight: 700 !important;
  background: var(--jmt-acc) !important;
  border-color: var(--jmt-acc) !important;
}
#place_order:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: var(--jmt-acc-h) !important;
  border-color: var(--jmt-acc-h) !important;
}

/* ─── 10. PAGINATION ──────────────────────────────────────── */
.woocommerce-pagination ul { display: flex; gap: 6px; list-style: none; padding: 0; margin: 32px 0; justify-content: center; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-md);
  font-size: 14px;
  font-weight: 500;
  color: var(--jmt-t2);
  transition: all .15s;
}
.woocommerce-pagination ul li a:hover { border-color: var(--jmt-acc); color: var(--jmt-acc); }
.woocommerce-pagination ul li span.current {
  background: var(--jmt-acc);
  border-color: var(--jmt-acc);
  color: #fff;
  font-weight: 700;
}

/* ─── 11. NOTICES ─────────────────────────────────────────── */
.woocommerce-message, .wc-block-components-notice-banner.is-success {
  background: var(--jmt-ok-l);
  border-left: 4px solid var(--jmt-ok);
  border-radius: var(--jmt-r-md);
  color: var(--jmt-t1);
  padding: 14px 18px;
}
.woocommerce-error, .wc-block-components-notice-banner.is-error {
  background: #FEECEB;
  border-left: 4px solid var(--jmt-err);
  border-radius: var(--jmt-r-md);
  color: var(--jmt-t1);
  padding: 14px 18px;
}
.woocommerce-info, .wc-block-components-notice-banner.is-info {
  background: var(--jmt-acc-l);
  border-left: 4px solid var(--jmt-acc);
  border-radius: var(--jmt-r-md);
  color: var(--jmt-t1);
  padding: 14px 18px;
}

/* ─── 12. SIDEBAR / WIDGETS ───────────────────────────────── */
.widget-area .widget {
  background: var(--jmt-wh);
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-xl);
  padding: 24px;
  margin-bottom: 20px;
}
.widget-area .widget-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--jmt-t1);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--jmt-br);
}
/* Price filter widget */
.widget_price_filter .price_slider_wrapper .ui-slider {
  background: var(--jmt-br);
  height: 4px;
  border-radius: 2px;
}
.widget_price_filter .price_slider_wrapper .ui-slider-range {
  background: var(--jmt-acc);
}
.widget_price_filter .price_slider_wrapper .ui-slider-handle {
  background: var(--jmt-acc);
  border: 2px solid #fff;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-shadow: var(--jmt-sh-sm);
  cursor: grab;
}

/* ─── 13. MINI CART DRAWER ────────────────────────────────── */
#jmt-cart-drawer {
  position: fixed;
  top: 0; right: -400px;
  width: 380px;
  height: 100vh;
  background: var(--jmt-wh);
  box-shadow: var(--jmt-sh-xl);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  transition: right .28s cubic-bezier(.4,0,.2,1);
  font-family: var(--jmt-font);
}
#jmt-cart-drawer.open { right: 0; }
.jmt-cd-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--jmt-br);
}
.jmt-cd-header h3 { font-size: 17px; font-weight: 700; margin: 0; }
.jmt-cd-close {
  background: none; border: none; cursor: pointer;
  font-size: 22px; color: var(--jmt-t3);
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--jmt-r-sm);
  transition: background .12s, color .12s;
}
.jmt-cd-close:hover { background: var(--jmt-bg); color: var(--jmt-t1); }
.jmt-cd-items { flex: 1; overflow-y: auto; padding: 16px 24px; }
.jmt-cd-item {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--jmt-br);
}
.jmt-cd-item img { width: 64px; height: 64px; object-fit: contain; border-radius: var(--jmt-r-sm); border: 1px solid var(--jmt-br); }
.jmt-cd-item-name { font-size: 13px; font-weight: 600; color: var(--jmt-t1); line-height: 1.4; }
.jmt-cd-item-price { font-size: 13px; color: var(--jmt-t3); margin-top: 2px; }
.jmt-cd-footer { padding: 20px 24px; border-top: 1px solid var(--jmt-br); }
.jmt-cd-total { display: flex; justify-content: space-between; margin-bottom: 16px; font-size: 16px; font-weight: 700; }
.jmt-cd-btn {
  display: block; width: 100%;
  padding: 13px; text-align: center;
  border-radius: var(--jmt-r-md);
  font-weight: 700; font-size: 15px;
  font-family: var(--jmt-font);
  margin-bottom: 10px;
  border: none; cursor: pointer;
  transition: background .15s;
}
.jmt-cd-btn-cart { background: var(--jmt-bg); color: var(--jmt-t1); }
.jmt-cd-btn-cart:hover { background: var(--jmt-br); }
.jmt-cd-btn-checkout { background: var(--jmt-acc); color: #fff; }
.jmt-cd-btn-checkout:hover { background: var(--jmt-acc-h); }
/* Overlay */
#jmt-cart-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9998;
  display: none;
  backdrop-filter: blur(2px);
}
#jmt-cart-overlay.open { display: block; }

/* ─── 14. STICKY ADD-TO-CART ──────────────────────────────── */
#jmt-sticky-atc {
  position: fixed;
  bottom: -80px;
  left: 0; right: 0;
  background: var(--jmt-wh);
  border-top: 1px solid var(--jmt-br);
  box-shadow: var(--jmt-sh-lg);
  z-index: 999;
  padding: 12px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  transition: bottom .2s;
  font-family: var(--jmt-font);
}
#jmt-sticky-atc.visible { bottom: 0; }
.jmt-satc-title { font-size: 14px; font-weight: 700; flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.jmt-satc-price { font-size: 18px; font-weight: 800; color: var(--jmt-acc); white-space: nowrap; }
.jmt-satc-btn {
  background: var(--jmt-acc);
  color: #fff;
  border: none;
  border-radius: var(--jmt-r-md);
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--jmt-font);
  white-space: nowrap;
  transition: background .15s;
}
.jmt-satc-btn:hover { background: var(--jmt-acc-h); }

/* ─── 15. ONE-CLICK ORDER MODAL ───────────────────────────── */
#jmt-oc-modal {
  display: none;
  position: fixed; inset: 0; z-index: 10000;
  align-items: center; justify-content: center;
}
#jmt-oc-modal.open { display: flex; }
.jmt-oc-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.jmt-oc-box {
  position: relative; z-index: 1;
  background: var(--jmt-wh);
  border-radius: var(--jmt-r-2xl);
  padding: 32px;
  width: 420px; max-width: 95vw;
  box-shadow: var(--jmt-sh-xl);
  font-family: var(--jmt-font);
}
.jmt-oc-box h3 { font-size: 20px; font-weight: 700; margin: 0 0 8px; }
.jmt-oc-box p { font-size: 14px; color: var(--jmt-t3); margin: 0 0 20px; }
.jmt-oc-box input[type="text"],
.jmt-oc-box input[type="tel"] {
  width: 100%;
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-md);
  padding: 11px 14px;
  font-size: 14px;
  font-family: var(--jmt-font);
  margin-bottom: 12px;
  transition: border-color .15s, box-shadow .15s;
}
.jmt-oc-box input:focus {
  border-color: var(--jmt-acc);
  box-shadow: 0 0 0 3px rgba(21,122,78,.12);
  outline: none;
}
.jmt-oc-submit {
  width: 100%;
  background: var(--jmt-acc);
  color: #fff;
  border: none;
  border-radius: var(--jmt-r-md);
  padding: 13px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--jmt-font);
  transition: background .15s;
}
.jmt-oc-submit:hover { background: var(--jmt-acc-h); }
.jmt-oc-close {
  position: absolute; top: 16px; right: 16px;
  background: none; border: none;
  font-size: 22px; color: var(--jmt-t3);
  cursor: pointer;
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--jmt-r-sm);
  transition: background .12s;
}
.jmt-oc-close:hover { background: var(--jmt-bg); color: var(--jmt-t1); }

/* ─── 16. HERO / HOMEPAGE ─────────────────────────────────── */
.jmt-hero {
  background: var(--jmt-d8);
  padding: 72px 0 64px;
  position: relative;
  overflow: hidden;
}
.jmt-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(21,122,78,.12) 0%, transparent 60%);
  pointer-events: none;
}
.jmt-hero-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 899px) {
  .jmt-hero-inner { grid-template-columns: 1fr; }
}
.jmt-hero-kicker {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(21,122,78,.15);
  color: var(--jmt-acc);
  font-size: 12px; font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: var(--jmt-r-f);
  margin-bottom: 18px;
}
.jmt-hero-title {
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 20px;
}
.jmt-hero-title em {
  font-style: normal;
  color: var(--jmt-acc);
}
.jmt-hero-desc {
  font-size: 16px;
  color: var(--jmt-d5);
  line-height: 1.7;
  margin-bottom: 32px;
  max-width: 500px;
}
.jmt-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.jmt-hero-btn-primary {
  background: var(--jmt-acc);
  color: #fff;
  padding: 14px 28px;
  border-radius: var(--jmt-r-md);
  font-weight: 700; font-size: 15px;
  transition: background .15s, box-shadow .15s;
  border: none; cursor: pointer;
}
.jmt-hero-btn-primary:hover { background: var(--jmt-acc-h); box-shadow: var(--jmt-sh-md); color: #fff; }
.jmt-hero-btn-secondary {
  background: transparent;
  color: #fff;
  padding: 14px 28px;
  border-radius: var(--jmt-r-md);
  font-weight: 600; font-size: 15px;
  border: 1px solid rgba(255,255,255,.3);
  transition: border-color .15s, background .15s;
}
.jmt-hero-btn-secondary:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.06); color: #fff; }
/* Stats row */
.jmt-hero-stats {
  display: flex; gap: 32px; flex-wrap: wrap;
  margin-top: 36px;
}
.jmt-stat-item { text-align: left; }
.jmt-stat-num {
  font-size: 28px;
  font-weight: 800;
  color: var(--jmt-acc);
  display: block;
  line-height: 1.1;
}
.jmt-stat-label {
  font-size: 12px;
  color: var(--jmt-d5);
  margin-top: 2px;
  display: block;
}

/* ─── 17. SECTION COMMON ──────────────────────────────────── */
.jmt-section {
  padding: 64px 0;
}
.jmt-section-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}
.jmt-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
}
.jmt-section-title {
  font-size: 28px;
  font-weight: 800;
  color: var(--jmt-t1);
  margin: 0;
}
.jmt-section-title span { color: var(--jmt-acc); }
.jmt-section-link {
  font-size: 14px;
  font-weight: 600;
  color: var(--jmt-acc);
  white-space: nowrap;
}
.jmt-section-link:hover { color: var(--jmt-acc-h); text-decoration: underline; }

/* ─── 18. CATEGORY CARDS ──────────────────────────────────── */
.jmt-cats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 1199px) { .jmt-cats-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px)  { .jmt-cats-grid { grid-template-columns: repeat(2, 1fr); } }
.jmt-cat-card {
  background: var(--jmt-wh);
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-xl);
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  transition: box-shadow .18s, transform .18s, border-color .18s;
  text-decoration: none;
}
.jmt-cat-card:hover {
  box-shadow: var(--jmt-sh-lg);
  transform: translateY(-2px);
  border-color: var(--jmt-acc);
}
.jmt-cat-icon {
  width: 52px; height: 52px;
  background: var(--jmt-acc-l);
  border-radius: var(--jmt-r-lg);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.jmt-cat-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--jmt-t1);
  line-height: 1.3;
}
.jmt-cat-count {
  font-size: 12px;
  color: var(--jmt-t3);
}
.jmt-cat-arrow {
  margin-top: auto;
  color: var(--jmt-acc);
  font-size: 18px;
  font-weight: 700;
  transition: transform .15s;
}
.jmt-cat-card:hover .jmt-cat-arrow { transform: translateX(4px); }

/* ─── 19. USP / FEATURES ──────────────────────────────────── */
.jmt-usp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 1199px) { .jmt-usp-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 479px)  { .jmt-usp-grid { grid-template-columns: 1fr; } }
.jmt-usp-card {
  background: var(--jmt-wh);
  border-radius: var(--jmt-r-xl);
  padding: 28px 24px;
  border: 1px solid var(--jmt-br);
}
.jmt-usp-icon {
  width: 44px; height: 44px;
  background: var(--jmt-acc-l);
  border-radius: var(--jmt-r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  margin-bottom: 16px;
}
.jmt-usp-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--jmt-t1);
  margin-bottom: 8px;
}
.jmt-usp-text {
  font-size: 13px;
  color: var(--jmt-t3);
  line-height: 1.6;
}

/* ─── 20. BLOG CARDS ──────────────────────────────────────── */
.jmt-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 899px) { .jmt-blog-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .jmt-blog-grid { grid-template-columns: 1fr; } }
.jmt-blog-card {
  background: var(--jmt-wh);
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .18s, transform .18s;
  text-decoration: none;
}
.jmt-blog-card:hover { box-shadow: var(--jmt-sh-lg); transform: translateY(-2px); }
.jmt-blog-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.jmt-blog-card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.jmt-blog-cat {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px;
  color: var(--jmt-acc); margin-bottom: 8px;
}
.jmt-blog-title {
  font-size: 15px; font-weight: 700; color: var(--jmt-t1);
  line-height: 1.4; margin-bottom: 8px;
}
.jmt-blog-excerpt {
  font-size: 13px; color: var(--jmt-t3);
  line-height: 1.6; margin-bottom: 16px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.jmt-blog-meta { font-size: 12px; color: var(--jmt-t4); }
.jmt-blog-read { font-size: 13px; font-weight: 600; color: var(--jmt-acc); margin-top: 12px; }

/* ─── 21. CTA BANNER ──────────────────────────────────────── */
.jmt-cta {
  background: linear-gradient(135deg, var(--jmt-d8) 0%, #141b24 100%);
  border-radius: var(--jmt-r-2xl);
  padding: 52px 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.jmt-cta::before {
  content: '';
  position: absolute; right: -80px; top: -80px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(21,122,78,.2) 0%, transparent 65%);
}
.jmt-cta-title { font-size: 26px; font-weight: 800; color: #fff; margin-bottom: 10px; }
.jmt-cta-text { font-size: 15px; color: var(--jmt-d5); line-height: 1.6; }
.jmt-cta-btn {
  background: var(--jmt-acc);
  color: #fff;
  padding: 14px 32px;
  border-radius: var(--jmt-r-md);
  font-weight: 700; font-size: 15px;
  white-space: nowrap;
  border: none; cursor: pointer;
  transition: background .15s, box-shadow .15s;
  text-decoration: none; display: inline-block;
}
.jmt-cta-btn:hover { background: var(--jmt-acc-h); box-shadow: var(--jmt-sh-md); color: #fff; }
@media (max-width: 767px) {
  .jmt-cta { grid-template-columns: 1fr; padding: 32px 24px; }
}

/* ─── 22. FLOATING WIDGETS ────────────────────────────────── */
/* WhatsApp / Telegram */
#jmt-float-btns {
  position: fixed;
  bottom: 28px; right: 24px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.jmt-float-btn {
  width: 48px; height: 48px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
  box-shadow: var(--jmt-sh-md);
  text-decoration: none;
  transition: transform .15s, box-shadow .15s;
}
.jmt-float-btn:hover { transform: scale(1.08); box-shadow: var(--jmt-sh-lg); }
.jmt-float-wa { background: #25D366; color: #fff; }
.jmt-float-tg { background: #229ED9; color: #fff; }
/* Scroll to top */
#jmt-scroll-top {
  position: fixed;
  bottom: 28px; left: 24px;
  width: 44px; height: 44px;
  background: var(--jmt-d7);
  color: #fff;
  border: none;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  cursor: pointer;
  box-shadow: var(--jmt-sh-md);
  z-index: 900;
  opacity: 0; pointer-events: none;
  transition: opacity .2s, transform .2s;
}
#jmt-scroll-top.visible { opacity: 1; pointer-events: auto; }
#jmt-scroll-top:hover { transform: translateY(-2px); }

/* ─── 23. SEARCH BOX ──────────────────────────────────────── */
.jmt-search-wrap { position: relative; }
.jmt-search-wrap input[type="search"] {
  width: 100%;
  border: 1.5px solid var(--jmt-br);
  border-radius: var(--jmt-r-f);
  padding: 10px 44px 10px 18px;
  font-size: 14px;
  font-family: var(--jmt-font);
  background: var(--jmt-wh);
  transition: border-color .15s, box-shadow .15s;
}
.jmt-search-wrap input:focus {
  border-color: var(--jmt-acc);
  box-shadow: 0 0 0 3px rgba(21,122,78,.12);
  outline: none;
}
.jmt-search-icon {
  position: absolute; right: 14px; top: 50%;
  transform: translateY(-50%);
  color: var(--jmt-t3);
  pointer-events: none;
}
/* Suggest dropdown */
.jmt-suggest {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  background: var(--jmt-wh);
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-lg);
  box-shadow: var(--jmt-sh-lg);
  z-index: 500;
  overflow: hidden;
  display: none;
}
.jmt-suggest.open { display: block; }
.jmt-suggest-item {
  display: flex; gap: 12px; align-items: center;
  padding: 10px 16px;
  font-size: 13px;
  color: var(--jmt-t1);
  cursor: pointer;
  transition: background .12s;
}
.jmt-suggest-item:hover { background: var(--jmt-bg); }
.jmt-suggest-item img { width: 40px; height: 40px; object-fit: contain; border-radius: var(--jmt-r-sm); border: 1px solid var(--jmt-br); }
.jmt-suggest-name { font-weight: 600; line-height: 1.3; }
.jmt-suggest-price { font-size: 12px; color: var(--jmt-t3); margin-top: 2px; }

/* ─── 24. FILTER BAR ──────────────────────────────────────── */
.jmt-filter-bar {
  background: var(--jmt-wh);
  border: 1px solid var(--jmt-br);
  border-radius: var(--jmt-r-xl);
  padding: 16px 20px;
  margin-bottom: 24px;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.jmt-filter-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--jmt-acc-l);
  color: var(--jmt-acc);
  border: 1px solid rgba(21,122,78,.25);
  border-radius: var(--jmt-r-f);
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s;
}
.jmt-filter-tag:hover { background: rgba(21,122,78,.2); }
.jmt-filter-tag .jmt-rm { font-size: 14px; opacity: .7; }

/* ─── 25. FOOTER ──────────────────────────────────────────── */
.jmt-footer {
  background: var(--jmt-d9);
  color: var(--jmt-d5);
  font-family: var(--jmt-font);
  padding-top: 56px;
}
.jmt-footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}
.jmt-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--jmt-d7);
}
@media (max-width: 1099px) { .jmt-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px)  { .jmt-footer-grid { grid-template-columns: 1fr; } }
.jmt-footer-logo { font-size: 20px; font-weight: 800; color: #fff; margin-bottom: 12px; }
.jmt-footer-desc { font-size: 13px; line-height: 1.7; max-width: 280px; }
.jmt-footer-col-title {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .7px;
  margin-bottom: 16px;
}
.jmt-footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.jmt-footer-links li a {
  font-size: 13px;
  color: var(--jmt-d5);
  text-decoration: none;
  transition: color .12s;
}
.jmt-footer-links li a:hover { color: var(--jmt-acc); }
.jmt-footer-contact { font-size: 13px; line-height: 1.8; }
.jmt-footer-phone { font-size: 18px; font-weight: 700; color: var(--jmt-acc); display: block; margin-bottom: 4px; }
.jmt-footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding: 20px 0;
  font-size: 12px;
  color: var(--jmt-d6);
  gap: 16px; flex-wrap: wrap;
}

/* ─── 26. MEGA MENU ───────────────────────────────────────── */
.jmt-mega { position: static !important; }
.jmt-mega-drop {
  position: absolute;
  top: 100%; left: 0; right: 0;
  background: var(--jmt-wh);
  border-top: 3px solid var(--jmt-acc);
  box-shadow: var(--jmt-sh-xl);
  z-index: 999;
  display: none;
  padding: 28px 0;
}
.jmt-mega:hover .jmt-mega-drop,
.jmt-mega-drop:hover { display: block; }
.jmt-mega-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0;
}
.jmt-mega-cats {
  border-right: 1px solid var(--jmt-br);
  padding-right: 0;
}
.jmt-mega-cat-btn {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 16px;
  font-size: 14px; font-weight: 600;
  color: var(--jmt-t2);
  cursor: pointer;
  border-radius: var(--jmt-r-sm);
  transition: background .12s, color .12s;
  white-space: nowrap;
  border: none; background: none; width: 100%; text-align: left;
}
.jmt-mega-cat-btn:hover,
.jmt-mega-cat-btn.act {
  background: var(--jmt-acc-l);
  color: var(--jmt-acc);
}
.jmt-mega-panel {
  display: none;
  padding: 0 28px;
}
.jmt-mega-panel.act { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px 24px; }
.jmt-mega-sub-link {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 12px;
  font-size: 13px;
  color: var(--jmt-t2);
  border-radius: var(--jmt-r-sm);
  transition: background .12s, color .12s;
  text-decoration: none;
}
.jmt-mega-sub-link:hover { background: var(--jmt-acc-l); color: var(--jmt-acc); }
.jmt-mega-sub-link::before { content: '—'; color: var(--jmt-acc); font-size: 10px; opacity: .6; }

/* ─── 27. RESPONSIVE UTILS ────────────────────────────────── */
@media (max-width: 1279px) {
  .jmt-section-inner, .jmt-footer-inner, .jmt-topbar-inner { padding: 0 20px; }
}
@media (max-width: 767px) {
  .jmt-section { padding: 40px 0; }
  .jmt-section-title { font-size: 22px; }
  .jmt-hero { padding: 48px 0 40px; }
}

/* ─── 28. MISC ────────────────────────────────────────────── */
/* Sale badge (WooCommerce native) */
.woocommerce span.onsale {
  background: var(--jmt-err);
  color: #fff;
  border-radius: var(--jmt-r-f);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  min-height: unset;
  min-width: unset;
  line-height: 1.6;
}
/* Stars */
.woocommerce .star-rating span::before { color: var(--jmt-acc); }
/* Focus visible */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--jmt-acc);
  outline-offset: 2px;
}
/* Screen reader text */
.screen-reader-text {
  clip: rect(1px,1px,1px,1px);
  height: 1px; overflow: hidden;
  position: absolute; width: 1px;
  word-wrap: normal;
}


/* ==== JMTEH production remediation — 2026-07-17 ==== */

/* One clear page heading on catalog, search and editorial listings. */
.woocommerce-shop .entry-header,
.woocommerce-shop .woocommerce-products-header,
.search .entry-header {
  display: flex !important;
  width: min(1240px, calc(100% - 32px));
  margin: 28px auto 20px !important;
  padding: 0 !important;
  align-items: flex-end;
  justify-content: space-between;
}

.woocommerce-shop .entry-header h1,
.search .entry-header h1,
.jmt-blog-heading h1 {
  margin: 0;
  color: var(--jmt-t1);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.jmt-blog-heading {
  grid-column: 1 / -1;
  width: 100%;
  margin: 8px 0 24px;
  padding: 28px;
  border: 1px solid var(--jmt-br);
  border-radius: 18px;
  background: linear-gradient(135deg, #F3F6F7 0%, #fff 68%);
}

.jmt-blog-heading p {
  max-width: 720px;
  margin: 10px 0 0;
  color: var(--jmt-t3);
  font-size: 16px;
}

/* Useful empty-search state instead of a dead end. */
.jmt-empty-results {
  max-width: 860px;
  margin: 32px auto 64px;
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid var(--jmt-br);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--jmt-sh-sm);
}

.jmt-empty-results h2 {
  margin: 0 0 10px;
  color: var(--jmt-t1);
  font-size: clamp(24px, 3vw, 34px);
}

.jmt-empty-results p {
  margin: 0;
  color: var(--jmt-t2);
}

.jmt-empty-results__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0;
}

.jmt-empty-results__links a {
  display: inline-flex;
  min-height: 44px;
  padding: 10px 16px;
  align-items: center;
  border: 1px solid var(--jmt-acc);
  border-radius: 9px;
  color: var(--jmt-acc-d);
  font-weight: 700;
  text-decoration: none;
}

.jmt-empty-results__links a:first-child {
  background: var(--jmt-acc);
  color: #fff;
}

.jmt-empty-results .woocommerce-product-search {
  display: flex;
  gap: 10px;
}

.jmt-empty-results .search-field {
  min-width: 0;
  min-height: 46px;
  flex: 1;
}

.jmt-empty-results button {
  min-height: 46px;
}

/* Legal and wishlist pages. */
.page-id-19 .entry-content {
  max-width: 860px;
}

.page-id-19 .entry-content h2 {
  margin-top: 34px;
  color: var(--jmt-t1);
  font-size: clamp(22px, 2.5vw, 30px);
}

.page-id-19 .entry-content li + li {
  margin-top: 7px;
}

.wishlist-title {
  display: none !important;
}

/* Product archive cards: stable media and action alignment. */
.woocommerce ul.products li.product .ct-media-container,
.woocommerce ul.products li.product > a:first-of-type {
  width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 4.2em;
}

.woocommerce ul.products li.product .button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Product page: robust two-column desktop layout. */
.single-product .product-entry-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}

.single-product .product-entry-wrapper > *,
.single-product .summary {
  min-width: 0;
}

.single-product .summary > .jmt-badges {
  position: static;
  display: flex;
  margin: -4px 0 14px;
  flex-direction: row;
  flex-wrap: wrap;
}

.single-product .flexy-arrow-prev,
.single-product .flexy-arrow-next {
  display: inline-flex;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.single-product .flexy-arrow-prev:focus-visible,
.single-product .flexy-arrow-next:focus-visible {
  outline: 3px solid #B54708;
  outline-offset: 2px;
}

.single-product .ct-product-add-to-cart,
.single-product .ct-product-add-to-cart form.cart,
.single-product .jmt-keyspecs {
  width: 100%;
}

.single-product .ct-product-add-to-cart .single_add_to_cart_button,
.single-product .yith-add-to-wishlist-button-block a {
  min-height: 44px;
}

@media (max-width: 782px) {
  .woocommerce-shop .entry-header,
  .woocommerce-shop .woocommerce-products-header,
  .search .entry-header {
    width: min(100% - 24px, 1240px);
    margin: 20px auto 14px !important;
  }

  .single-product .product-entry-wrapper {
    display: block !important;
  }

  .single-product .summary {
    width: 100% !important;
  }

  .single-product .product_title {
    margin: 0 0 8px;
    font-size: clamp(27px, 8vw, 36px);
    line-height: 1.12;
    letter-spacing: -0.025em;
  }

  .single-product .summary .price {
    margin: 0 0 12px;
    font-size: 27px;
  }

  .single-product .woocommerce-product-details__short-description {
    margin-bottom: 14px;
  }

  .single-product .ct-product-add-to-cart {
    margin: 4px 0 16px;
  }

  .single-product .ct-product-add-to-cart form.cart {
    display: grid;
    grid-template-columns: minmax(84px, auto) minmax(0, 1fr);
    gap: 10px;
  }

  .single-product .ct-product-add-to-cart .quantity {
    width: 100%;
  }

  .single-product .ct-product-add-to-cart .qty {
    width: 100%;
    min-height: 48px;
  }

  .single-product .ct-product-add-to-cart .single_add_to_cart_button {
    width: 100%;
    min-width: 0;
    min-height: 48px;
  }

  .single-product .summary > .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 520px;
    margin: 0 auto 18px;
  }

  .single-product .woocommerce-product-gallery img {
    max-height: 430px;
    object-fit: contain;
  }

  .single-product .jmt-keyspecs {
    margin: 0 0 18px;
  }

  .single-product .product_meta {
    padding-top: 14px;
    font-size: 12px;
    line-height: 1.5;
  }

  .woocommerce-tabs .wc-tabs {
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .woocommerce-tabs .wc-tabs li {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .woocommerce-tabs .wc-tabs li a {
    min-height: 44px;
    padding: 12px 14px;
    white-space: nowrap;
  }

  .woocommerce-product-attributes th,
  .woocommerce-product-attributes td {
    padding: 10px 12px;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 479px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 0;
  }

  .jmt-empty-results .woocommerce-product-search {
    display: grid;
  }

  .jmt-empty-results__links {
    display: grid;
  }

  .jmt-empty-results__links a {
    width: 100%;
  }

  .single-product .ct-product-add-to-cart form.cart {
    grid-template-columns: 82px minmax(0, 1fr);
  }
}

/* ==== end JMTEH production remediation — 2026-07-17 ==== */


/* jmt heading visibility override 20260717 */
body.woocommerce-shop #main .entry-header,
body.search #main .entry-header { display: flex !important; }


/* jmt mobile product gutters 20260717 */
@media (max-width: 782px) {
  .single-product .product-entry-wrapper {
    width: calc(100% - 32px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}


/* jmt mobile product inner gutters 20260717 */
@media (max-width: 782px) {
  body.single-product #main .product-entry-wrapper > .summary { padding-right: 16px !important; padding-left: 16px !important; box-sizing: border-box; }
  body.single-product #main .woocommerce-tabs,
  body.single-product #main .related { width: calc(100% - 32px); margin-right: auto; margin-left: auto; }
}


/* jmt accessible global targets 20260717 */
#jmt-promo-close, .jmt-consent-settings, .jmt-hicons .jmt-hi { min-width: 44px !important; min-height: 44px !important; }
#jmt-promo-close, .jmt-hicons .jmt-hi { display: inline-flex !important; align-items: center; justify-content: center; }


/* jmt product desktop container fix 20260717 */
body.single-product #main .product-entry-wrapper,
body.single-product #main .woocommerce-tabs,
body.single-product #main .related { width: min(1152px, calc(100% - 64px)) !important; margin-right: auto !important; margin-left: auto !important; }
body.single-product #main .product-entry-wrapper > .woocommerce-product-gallery,
body.single-product #main .product-entry-wrapper > .summary { width: 100% !important; max-width: none !important; }
@media (max-width: 782px) { body.single-product #main .product-entry-wrapper { width: 100% !important; } }


/* jmt compact consent settings 20260717 */
.jmt-consent-settings { width: 44px !important; padding: 0 !important; border-radius: 50% !important; font-size: 0 !important; }
.jmt-consent-settings::before { content: "⚙"; font-size: 18px; line-height: 1; }


/* jmt non-overlapping consent and product CTA 20260717 */
.jmt-consent-settings { position: static !important; width: auto !important; margin: 12px 16px 16px !important; padding: 8px 12px !important; border-radius: 9px !important; font-size: 12px !important; display: inline-flex !important; align-items: center; }
.jmt-consent-settings::before { display: none; }
@media (max-width: 782px) { .single-product .jmt-cbtn { display: none !important; } }


/* jmt mobile menu tap target 20260717 */
.ct-header-trigger.ct-toggle { min-width: 44px !important; min-height: 44px !important; display: inline-flex !important; align-items: center; justify-content: center; }


/* jmt visible catalog category media 20260717 */
.woocommerce ul.products li.product-category figure { display: block !important; width: 100%; height: 184px; margin: 0 !important; background: #F8FAFA; }
.woocommerce ul.products li.product-category figure .ct-media-container { display: block; width: 100%; height: 100%; }
.woocommerce ul.products li.product-category figure img { display: block; width: 100% !important; height: 100% !important; padding: 14px; object-fit: contain; background: transparent; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { min-height: 76px; padding: 16px; display: flex; align-items: flex-start; }


/* ===== JM REDESIGN v2 (orchestrator-managed) START ===== */
/* Дизайн-система «Светлый инженерный» — из скилла jm-frontend-designer §1.
   Этот блок: (a) объявляет токены --c-* (единый источник правды);
   (b) РЕМАПИТ легаси-токены --jmt-* (они используются во всём базовом листе
   выше, но нигде не определены) на новую светлую инженерную палитру с синим
   акцентом — так весь существующий CSS перекрашивается когерентно, ничего не
   ломая; (c) добавляет компоненты редизайна (hero, USP, CTA, PDP-доверие,
   форма КП, SEO-текст категории), sticky .ct-header, CSS scroll-reveal.
   Правило: низкая специфичность, без внешних @import, без JS. Чтобы откатить —
   удалить всё между START и END. */

:root{
  /* --- Нейтральная сталь: фон → текст --- */
  --c-bg:#ffffff; --c-surface:#f7f9fb; --c-surface-2:#eef2f6;
  --c-border:#dbe2ea; --c-border-strong:#c2ccd6;
  --c-ink-3:#63707e;  /* вторичный текст ~5:1 на белом */
  --c-ink-2:#3b454f;  /* основной текст >7:1 */
  --c-ink-1:#12181f;  /* заголовки, максимум контраста */

  /* --- Синий инженерный акцент --- */
  --c-accent:#157A4E; --c-accent-600:#0B603B; --c-accent-700:#084C2F;
  --c-accent-tint:#E5F4EC;

  /* --- Семантика (контраст ≥4.5:1 на белом и на тинте) --- */
  --c-success:#067647; --c-success-tint:#E5F4EC;
  --c-warning:#B54708; --c-warning-tint:#FFF4E5;
  --c-danger:#B42318;  --c-danger-tint:#FEECEB;

  /* --- Тени --- */
  --sh-1:0 1px 2px rgba(18,24,31,.06),0 1px 1px rgba(18,24,31,.04);
  --sh-2:0 2px 8px rgba(18,24,31,.08);
  --sh-3:0 8px 24px rgba(18,24,31,.10);
  --sh-focus:0 0 0 3px rgba(21,122,78,.40);

  /* --- Радиусы --- */
  --r-xs:4px; --r-sm:6px; --r-md:10px; --r-lg:14px; --r-pill:999px;

  /* --- Типографика (Inter → системный fallback, без @import) --- */
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,'Helvetica Neue',Arial,sans-serif;
  --fs-12:.75rem; --fs-14:.875rem; --fs-16:1rem; --fs-18:1.125rem;
  --fs-20:1.25rem; --fs-24:1.5rem; --fs-30:1.875rem; --fs-38:2.375rem;
  --lh-tight:1.15; --lh-snug:1.3; --lh-normal:1.55;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  /* --- Сетка/отступы (шаг 8px) --- */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px;
  --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:96px;
  --container:1200px; --gutter:16px;

  /* --- РЕМАП легаси --jmt-* → светлая инженерная палитра (blue) --- */
  --jmt-font:var(--font-sans);
  --jmt-t1:var(--c-ink-1);
  --jmt-t2:var(--c-ink-2);
  --jmt-t3:var(--c-ink-3);
  --jmt-t4:#6b7580;                 /* приглушённый, ≥4.5:1 на белом */
  --jmt-bg:var(--c-surface);
  --jmt-wh:var(--c-bg);
  --jmt-br:var(--c-border);
  --jmt-acc:var(--c-accent);
  --jmt-acc-h:var(--c-accent-600);
  --jmt-acc-l:var(--c-accent-tint);
  --jmt-acc-d:var(--c-accent-700);
  --jmt-ok:var(--c-success);
  --jmt-ok-l:var(--c-success-tint);
  --jmt-err:var(--c-danger);
  --jmt-d5:#c7d0da;                 /* светлый текст на тёмном */
  --jmt-d6:#8b96a2;
  --jmt-d7:#2a333d;
  --jmt-d8:#1a2229;
  --jmt-d9:#12181f;
  --jmt-r-sm:6px; --jmt-r-md:8px; --jmt-r-lg:10px;
  --jmt-r-xl:12px; --jmt-r-2xl:16px; --jmt-r-f:999px;
  --jmt-sh-sm:var(--sh-1);
  --jmt-sh-md:var(--sh-2);
  --jmt-sh-lg:var(--sh-3);
  --jmt-sh-xl:0 16px 48px rgba(18,24,31,.16);

  /* Blocksy-палитра: нативный акцент темы → синий (когерентность chrome) */
  --theme-palette-color-1:#157A4E;
}

/* --- База: сглаживание, отступ-скролл, ровные цифры --- */
html{ -webkit-text-size-adjust:100%; }
body{ text-rendering:optimizeLegibility; }
.num,
.woocommerce ul.products li.product .price,
.single-product .summary .price,
.jmt-satc-price{ font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }
.jm-eyebrow{
  display:inline-block;
  font:var(--fw-semibold) var(--fs-12)/1 var(--font-sans);
  letter-spacing:.08em; text-transform:uppercase; color:var(--c-accent-700);
  margin:0 0 var(--sp-3);
}

/* --- Легаси-recolor: жёстко зашитый оранжевый → синий (когерентность) --- */
.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce-checkout .woocommerce-input-wrapper select:focus,
.jmt-oc-box input:focus,
.jmt-search-wrap input:focus{
  box-shadow:0 0 0 3px rgba(21,122,78,.14);
}
.jmt-hero::before{
  background:radial-gradient(ellipse at 70% 50%, rgba(21,122,78,.14) 0%, transparent 60%);
}
.jmt-hero-kicker{ background:rgba(21,122,78,.12); }
.jmt-cta::before{
  background:radial-gradient(circle, rgba(21,122,78,.22) 0%, transparent 65%);
}
.jmt-filter-tag{ border-color:rgba(21,122,78,.28); }
.jmt-filter-tag:hover{ background:rgba(21,122,78,.16); }
.single-product .flexy-arrow-prev:focus-visible,
.single-product .flexy-arrow-next:focus-visible{ outline-color:var(--c-accent); }
.jmt-blog-heading{ background:linear-gradient(135deg, var(--c-accent-tint) 0%, #fff 68%); }
.woocommerce ul.products li.product-category figure,
.woocommerce ul.products li.product a img{ background:var(--c-surface); }

/* --- Sticky .ct-header + мягкая тень при скролле (CSS-only, без JS) --- */
.ct-header,
header.ct-header,
.ct-panel.ct-header{
  position:sticky; top:0; z-index:100;
  background:var(--c-bg);
  border-bottom:1px solid var(--c-border);
  box-shadow:var(--sh-1);
}
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion: no-preference){
    .ct-header{
      animation:jm-header-elev linear both;
      animation-timeline:scroll(root block);
      animation-range:0 140px;
    }
    @keyframes jm-header-elev{ to{ box-shadow:var(--sh-2); } }
  }
}

/* --- Кнопки (тап-таргет ≥44px) --- */
.jm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-2);
  min-height:44px; padding:0 var(--sp-5);
  border:1px solid transparent; border-radius:var(--r-sm);
  background:var(--c-accent); color:#fff;
  font:var(--fw-semibold) var(--fs-16)/1 var(--font-sans);
  text-decoration:none; cursor:pointer; -webkit-appearance:none; appearance:none;
  transition:background .15s ease, box-shadow .15s ease, transform .06s ease, border-color .15s ease;
}
.jm-btn:hover{ background:var(--c-accent-600); box-shadow:var(--sh-2); color:#fff; }
.jm-btn:active{ background:var(--c-accent-700); transform:translateY(1px); }
.jm-btn:focus-visible{ outline:none; box-shadow:var(--sh-focus); }
.jm-btn svg{ width:1.15em; height:1.15em; flex:0 0 auto; }
.jm-btn-primary{ background:var(--c-accent); color:#fff; }
.jm-btn-primary:hover{ background:var(--c-accent-600); color:#fff; }
.jm-btn-secondary{ background:var(--c-bg); color:var(--c-accent-700); border-color:var(--c-border-strong); }
.jm-btn-secondary:hover{ background:var(--c-surface-2); color:var(--c-accent-700); box-shadow:var(--sh-1); }
.jm-btn--lg{ min-height:52px; padding:0 var(--sp-6); font-size:var(--fs-18); }
.jm-btn--block{ width:100%; }
.jm-btn[disabled]{ opacity:.5; pointer-events:none; }

/* --- Общий контейнер для новых секций (без full-bleed → без overflow) --- */
.jm-wrap{ width:min(1200px, calc(100% - 32px)); margin-inline:auto; }

/* =========================================================
   HERO ГЛАВНОЙ (home-hero.html) — светлый инженерный
   ========================================================= */
.jm-hero{
  position:relative; overflow:hidden; isolation:isolate;
  margin:var(--sp-5) 0 var(--sp-6);
  padding:clamp(28px,5vw,60px) clamp(20px,4vw,56px);
  border:1px solid var(--c-border);
  border-radius:var(--r-lg);
  background:
    radial-gradient(1100px 380px at 88% -20%, var(--c-accent-tint) 0%, transparent 60%),
    linear-gradient(180deg, var(--c-surface) 0%, var(--c-bg) 72%);
}
.jm-hero::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.55;
  background-image:
    linear-gradient(var(--c-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--c-border) 1px, transparent 1px);
  background-size:32px 32px;
  -webkit-mask-image:radial-gradient(78% 62% at 82% 0%, #000 0%, transparent 76%);
          mask-image:radial-gradient(78% 62% at 82% 0%, #000 0%, transparent 76%);
}
.jm-hero__inner{ position:relative; z-index:1; max-width:820px; }
.jm-hero__title{
  margin:0 0 var(--sp-3);
  color:var(--c-ink-1);
  font:var(--fw-bold) clamp(27px,4.4vw,42px)/var(--lh-tight) var(--font-sans);
  letter-spacing:-.02em; overflow-wrap:anywhere;
}
.jm-hero__title b{ color:var(--c-accent-700); font-weight:inherit; }
.jm-hero__sub{
  margin:0 0 var(--sp-5); max-width:60ch;
  color:var(--c-ink-2);
  font:var(--fw-medium) clamp(15px,1.6vw,var(--fs-18))/var(--lh-normal) var(--font-sans);
}
.jm-hero__actions{ display:flex; flex-wrap:wrap; gap:var(--sp-3); align-items:center; }
.jm-trust{
  display:flex; flex-wrap:wrap; gap:var(--sp-3) var(--sp-5);
  margin:var(--sp-5) 0 0; padding:var(--sp-4) 0 0;
  border-top:1px solid var(--c-border);
  list-style:none;
}
.jm-trust__item{
  display:inline-flex; align-items:center; gap:var(--sp-2);
  color:var(--c-ink-2);
  font:var(--fw-medium) var(--fs-14)/1.3 var(--font-sans);
}
.jm-trust__item svg{ width:18px; height:18px; color:var(--c-success); flex:0 0 auto; }

/* =========================================================
   USP-КАРТЫ + ФИНАЛЬНЫЙ CTA (home-sections.html)
   ========================================================= */
.jm-band{ margin:var(--sp-7) 0; }
.jm-band__head{ margin:0 0 var(--sp-5); }
.jm-band__title{
  margin:0 0 var(--sp-2); color:var(--c-ink-1);
  font:var(--fw-bold) clamp(22px,3vw,var(--fs-30))/var(--lh-tight) var(--font-sans);
  letter-spacing:-.01em;
}
.jm-band__lead{ margin:0; max-width:70ch; color:var(--c-ink-3); font-size:var(--fs-16); }
.jm-usp{
  display:grid; gap:var(--sp-4);
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.jm-usp-card{
  display:flex; flex-direction:column; gap:var(--sp-2);
  padding:var(--sp-5);
  background:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:var(--r-md);
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.jm-usp-card:hover{ box-shadow:var(--sh-3); transform:translateY(-2px); border-color:var(--c-border-strong); }
.jm-usp-card__icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; margin-bottom:var(--sp-1);
  background:var(--c-accent-tint); color:var(--c-accent-700);
  border-radius:var(--r-md);
}
.jm-usp-card__icon svg{ width:24px; height:24px; }
.jm-usp-card__title{
  margin:0; color:var(--c-ink-1);
  font:var(--fw-semibold) var(--fs-18)/var(--lh-snug) var(--font-sans);
}
.jm-usp-card__text{ margin:0; color:var(--c-ink-2); font-size:var(--fs-14); line-height:var(--lh-normal); }

.jm-cta{
  position:relative; overflow:hidden; isolation:isolate;
  display:grid; grid-template-columns:1fr auto; gap:var(--sp-5);
  align-items:center;
  margin:var(--sp-7) 0;
  padding:clamp(28px,4vw,48px);
  border-radius:var(--r-lg);
  background:linear-gradient(135deg, #12181f 0%, #1a2229 100%);
}
.jm-cta::before{
  content:""; position:absolute; z-index:-1; right:-90px; top:-90px;
  width:320px; height:320px; pointer-events:none;
  background:radial-gradient(circle, rgba(21,122,78,.28) 0%, transparent 66%);
}
.jm-cta__body{ min-width:0; }
.jm-cta__title{ margin:0 0 var(--sp-2); color:#fff;
  font:var(--fw-bold) clamp(20px,2.6vw,var(--fs-24))/var(--lh-snug) var(--font-sans); }
.jm-cta__text{ margin:0; color:var(--jmt-d5); font-size:var(--fs-16); line-height:var(--lh-normal); max-width:56ch; }
.jm-cta__actions{ display:flex; flex-wrap:wrap; gap:var(--sp-3); }
.jm-cta .jm-btn-secondary{
  background:transparent; color:#fff; border-color:rgba(255,255,255,.45);
}
.jm-cta .jm-btn-secondary:hover{ background:rgba(255,255,255,.08); color:#fff; }

/* =========================================================
   PDP: блок доверия под кнопкой «Купить» (pdp-trust.html)
   ========================================================= */
.jm-pdp-trust{
  margin:var(--sp-4) 0 var(--sp-2);
  padding:var(--sp-4) var(--sp-5);
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--r-md);
  display:grid; gap:var(--sp-3);
}
.jm-pdp-trust__item{ display:grid; grid-template-columns:auto 1fr; gap:var(--sp-3); align-items:start; }
.jm-pdp-trust__ic{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; flex:0 0 auto;
  background:var(--c-accent-tint); color:var(--c-accent-700);
  border-radius:var(--r-sm);
}
.jm-pdp-trust__ic svg{ width:22px; height:22px; }
.jm-pdp-trust__t{ margin:0; color:var(--c-ink-1);
  font:var(--fw-semibold) var(--fs-14)/1.35 var(--font-sans); }
.jm-pdp-trust__d{ margin:2px 0 0; color:var(--c-ink-2); font-size:var(--fs-14); line-height:1.4; }
.jm-pdp-trust__d a{ color:var(--c-accent-700); font-weight:var(--fw-semibold); white-space:nowrap; }

/* =========================================================
   ФОРМА «Запросить КП» — fallback-разметка (kp-form-note.md)
   ========================================================= */
.jm-form{
  max-width:560px; margin:var(--sp-4) 0;
  padding:clamp(20px,3vw,var(--sp-6));
  background:var(--c-bg); border:1px solid var(--c-border);
  border-radius:var(--r-md); box-shadow:var(--sh-1);
}
.jm-form__title{ margin:0 0 var(--sp-2); color:var(--c-ink-1);
  font:var(--fw-bold) var(--fs-20)/var(--lh-snug) var(--font-sans); }
.jm-form__lead{ margin:0 0 var(--sp-4); color:var(--c-ink-3); font-size:var(--fs-14); }
.jm-form__row{ display:grid; gap:var(--sp-4); grid-template-columns:1fr 1fr; }
.jm-field{ display:grid; gap:var(--sp-2); margin-bottom:var(--sp-4); }
.jm-label{ color:var(--c-ink-2); font:var(--fw-medium) var(--fs-14)/1 var(--font-sans); }
.jm-label span{ color:var(--c-danger); }
.jm-input,.jm-textarea{
  width:100%; min-height:44px; padding:10px var(--sp-3);
  font:var(--fs-16)/1.4 var(--font-sans); color:var(--c-ink-1);
  background:var(--c-bg); border:1px solid var(--c-border-strong);
  border-radius:var(--r-sm); transition:border-color .15s, box-shadow .15s;
}
.jm-textarea{ min-height:96px; resize:vertical; }
.jm-input::placeholder,.jm-textarea::placeholder{ color:var(--c-ink-3); }
.jm-input:focus,.jm-textarea:focus{ outline:none; border-color:var(--c-accent); box-shadow:var(--sh-focus); }
.jm-form__actions{ display:flex; flex-wrap:wrap; gap:var(--sp-3); align-items:center; margin-top:var(--sp-2); }
.jm-form__note{ color:var(--c-ink-3); font-size:var(--fs-12); line-height:1.5; }

/* =========================================================
   SEO-ТЕКСТ КАТЕГОРИИ (term description)
   ========================================================= */
.term-description,
.woocommerce-products-header__description{
  max-width:80ch; margin:var(--sp-5) 0; color:var(--c-ink-2);
  font-size:var(--fs-16); line-height:var(--lh-normal);
}
.term-description h2,
.woocommerce-products-header__description h2{
  margin:var(--sp-6) 0 var(--sp-3); color:var(--c-ink-1);
  font:var(--fw-bold) var(--fs-24)/var(--lh-tight) var(--font-sans); letter-spacing:-.01em;
}
.term-description h3,
.woocommerce-products-header__description h3{
  margin:var(--sp-5) 0 var(--sp-2); color:var(--c-ink-1);
  font:var(--fw-semibold) var(--fs-20)/var(--lh-snug) var(--font-sans);
}
.term-description p,
.woocommerce-products-header__description p{ margin:0 0 var(--sp-4); max-width:72ch; }
.term-description ul,
.term-description ol{ margin:0 0 var(--sp-4); padding-left:1.35em; }
.term-description li{ margin:0 0 var(--sp-2); }
.term-description a{ color:var(--c-accent-700); text-underline-offset:2px; }
.term-description img{ max-width:100%; height:auto; border-radius:var(--r-sm); }
.term-description figure{ margin:var(--sp-5) 0; }
.term-description figure img{ width:100%; border:1px solid var(--c-border); }
.term-description figcaption{ margin-top:var(--sp-2); color:var(--c-ink-3); font-size:var(--fs-14); }
.term-description .jm-tablewrap{ overflow-x:auto; margin:0 0 var(--sp-4); }
.term-description table{
  width:100%; border-collapse:collapse; font-size:var(--fs-14);
  border:1px solid var(--c-border);
}
.term-description th{
  background:var(--c-accent-tint); color:var(--c-ink-1); text-align:left;
  font-weight:var(--fw-semibold); padding:10px 14px; border-bottom:1px solid var(--c-border);
}
.term-description td{ padding:10px 14px; border-bottom:1px solid var(--c-border); color:var(--c-ink-2); }
.term-description tbody tr:nth-child(even) td{ background:var(--c-surface); }

/* =========================================================
   КАТАЛОГ: грид ul.products.jmt-columns-4 (4 → 2 → 1) + карточка
   ========================================================= */
.woocommerce ul.products.jmt-columns-4,
ul.products.jmt-columns-4{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:var(--sp-5) !important;
}
@media (max-width:1024px){
  .woocommerce ul.products.jmt-columns-4,
  ul.products.jmt-columns-4{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:var(--sp-4) !important; }
}
@media (max-width:560px){
  .woocommerce ul.products.jmt-columns-4,
  ul.products.jmt-columns-4{ grid-template-columns:1fr !important; }
}
/* Медиа-контейнер карточки: 4/3, без CLS */
.woocommerce ul.products li.product .woocommerce-loop-product__image img,
.woocommerce ul.products li.product a img{
  aspect-ratio:4 / 3; object-fit:contain; width:100%; height:auto;
}
/* Hover-lift усилен */
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  box-shadow:var(--sh-3); transform:translateY(-3px); border-color:var(--c-border-strong);
}
/* Кнопка «В корзину» — на всю ширину карточки */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button{
  display:flex; width:auto; margin:var(--sp-2) 14px 14px;
  min-height:44px; align-items:center; justify-content:center;
  font-size:var(--fs-14);
}

/* =========================================================
   SINGLE PRODUCT — акценты редизайна
   ========================================================= */
.single-product .summary .price{ color:var(--c-ink-1); letter-spacing:-.01em; }
.single-product .summary .price ins{ color:var(--c-accent-700); }
.single-product .ct-product-add-to-cart .single_add_to_cart_button,
.single-product .cart .single_add_to_cart_button{
  background:var(--c-accent) !important; border-color:var(--c-accent) !important; color:#fff !important;
  font-weight:var(--fw-bold);
}
.single-product .ct-product-add-to-cart .single_add_to_cart_button:hover,
.single-product .cart .single_add_to_cart_button:hover{
  background:var(--c-accent-600) !important; border-color:var(--c-accent-600) !important;
}
.woocommerce-tabs .wc-tabs li.active a,
.woocommerce-tabs .wc-tabs li a:hover{ color:var(--c-accent-700); border-bottom-color:var(--c-accent); }

/* =========================================================
   SCROLL-REVEAL — только CSS (scroll-driven animations)
   fallback: контент всегда виден и индексируем
   ========================================================= */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .jm-reveal{
      animation:jm-reveal-in linear both;
      animation-timeline:view();
      animation-range:entry 2% cover 22%;
    }
    @keyframes jm-reveal-in{
      from{ opacity:0; transform:translateY(16px); }
      to{ opacity:1; transform:none; }
    }
  }
}

/* =========================================================
   Мобильная адаптация ≤390px — без горизонтального скролла
   ========================================================= */
@media (max-width:640px){
  .jm-usp{ grid-template-columns:1fr; }
  .jm-cta{ grid-template-columns:1fr; }
  .jm-form__row{ grid-template-columns:1fr; }
}
@media (max-width:390px){
  .jm-hero{ padding:22px 16px; margin-inline:0; border-radius:var(--r-md); }
  .jm-hero__actions .jm-btn{ width:100%; }
  .jm-cta{ padding:22px 16px; }
  .jm-cta__actions .jm-btn{ width:100%; }
  .jm-band{ margin:var(--sp-6) 0; }
  .jm-form{ padding:18px 16px; }
  .jm-pdp-trust{ padding:14px 16px; }
  .jm-trust{ gap:var(--sp-2) var(--sp-4); }
}
.jm-hero, .jm-cta, .jm-usp-card, .jm-usp, .jm-form, .jm-pdp-trust, .jm-band{
  min-width:0; max-width:100%;
}
.jm-hero__title, .jm-cta__title, .jm-band__title,
.jm-usp-card__title, .jm-pdp-trust__t{ overflow-wrap:anywhere; }

/* =========================================================
   prefers-reduced-motion — полный сброс движения
   ========================================================= */
@media (prefers-reduced-motion: reduce){
  .jm-reveal{ animation:none !important; opacity:1 !important; transform:none !important; }
  .ct-header{ animation:none !important; }
  .jm-btn, .jm-usp-card,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .jmt-cat-card, .jmt-blog-card, .jmt-usp-card{ transition:none !important; }
  html{ scroll-behavior:auto !important; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; }
}
/* ===== JM REDESIGN v2 (orchestrator-managed) END ===== */

/* JM PALETTE FIX START */
html .main-header-menu .menu-item > a:hover{
	  color: #157A4E !important;
}
html ul.products li.product .price{
	  padding: 0 16px 12px !important;
	  font-size: 18px !important;
	  font-weight: 700 !important;
	  color: #157A4E !important;
}
html ul.products li.product .button.add_to_cart_button, html ul.products li.product .button{
	  display: block !important;
	  width: calc(100% - 32px) !important;
	  margin: 0 16px 16px !important;
	  background: #157A4E !important;
	  color: #fff !important;
	  border-radius: 8px !important;
	  padding: 10px 16px !important;
	  font-weight: 600 !important;
	  font-size: 14px !important;
	  text-align: center !important;
	  transition: background 0.2s ease !important;
	  border: none !important;
}
html ul.products li.product .button:hover{
	  background: #157A4E !important;
	  color: #fff !important;
}
html .main-header-menu .sub-menu .menu-item:hover > .menu-link{
    background: #F3F6F7 !important;
    color: #157A4E !important;
    padding-left: 26px !important;
}
html .main-header-menu .menu-item>.menu-link:hover, html .main-navigation ul li>a:hover{color:#157A4E!important;background:#E5F4EC!important}
html .main-header-menu .current-menu-item>.menu-link, html .main-header-menu .current-menu-item>a, html .main-header-menu .current-menu-ancestor>.menu-link{color:#157A4E!important;background:#E5F4EC!important}
html .main-header-menu .sub-menu li a:hover{background:#E5F4EC!important;color:#157A4E!important}
html #jmt-header-phone:hover{color:#157A4E!important}
html #jmt-header-btn{background:linear-gradient(135deg,#157A4E,#0B603B)!important;color:#fff!important;padding:9px 20px!important;border-radius:50px!important;font-size:.84rem!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap!important;transition:all .25s ease!important;box-shadow:0 4px 15px rgba(21,122,78,.3)!important;border:none!important;cursor:pointer!important;display:inline-flex;align-items:center}
html #jmt-header-btn:hover{transform:translateY(-1px)!important;box-shadow:0 6px 22px rgba(21,122,78,.42)!important;color:#fff!important}
html #jmt-cat-hero{background:linear-gradient(135deg,#0f172a 0%,#172534 55%,#0B603B 100%);border-radius:16px;padding:48px 40px;margin:0 0 40px;text-align:center;position:relative;overflow:hidden}
html #jmt-cat-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 35%,rgba(21,122,78,.13) 0%,transparent 55%);pointer-events:none}
html .jmt-cat-badge{display:inline-block;background:rgba(21,122,78,.18);border:1px solid rgba(21,122,78,.4);color:#157A4E;padding:5px 16px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:18px;position:relative}
html .woocommerce-shop li.product-category:hover{transform:translateY(-6px);box-shadow:0 14px 40px rgba(21,122,78,.18);border-color:#157A4E}
html .woocommerce-shop li.product-category .woocommerce-loop-category__title mark{background:#E5F4EC!important;color:#157A4E!important;font-size:11px!important;font-weight:600!important;display:inline-block!important;margin-left:6px!important;padding:2px 8px!important;border-radius:12px!important;border:1px solid #E5F4EC!important;text-transform:none!important}
html .woocommerce-shop li.product-category .woocommerce-placeholder path, html .woocommerce-shop li.product-category .woocommerce-placeholder rect{stroke:rgba(21,122,78,.3)!important;fill:rgba(21,122,78,.08)!important}
html .woocommerce-shop li.product-category a::before{content:'';position:absolute;top:0;left:0;right:0;height:170px;background:linear-gradient(145deg,#0f172a 0%,#1e293b 60%,#0B603B 100%);z-index:0;border-radius:16px 16px 0 0}
html .woocommerce-shop li.product-category a::after{content:'';position:absolute;top:0;left:0;right:0;height:170px;background:radial-gradient(circle at 70% 30%,rgba(21,122,78,.18) 0%,transparent 60%);z-index:1;border-radius:16px 16px 0 0}
html .woocommerce-shop li.product-category:hover{background:linear-gradient(to bottom,#1e293b 170px,#fff 170px)!important;border-color:#157A4E!important}
html .woocommerce-js ul.products li.product.product-category:hover{transform:translateY(-6px)!important;box-shadow:0 14px 40px rgba(21,122,78,.18)!important;border-color:#157A4E!important;}
html .woocommerce-js ul.products li.product.product-category>a::before{content:""!important;display:block!important;height:180px!important;width:100%!important;background:linear-gradient(135deg,#0f172a 0%,#172534 60%,#0B603B 100%)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg opacity='0.15' fill='white'%3E%3Cellipse cx='50' cy='28' rx='12' ry='22' rx='12' ry='22'/%3E%3Cellipse cx='72' cy='50' rx='22' ry='12'/%3E%3Cellipse cx='50' cy='72' rx='12' ry='22'/%3E%3Cellipse cx='28' cy='50' rx='22' ry='12'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='7' fill='rgba(255,255,255,0.25)'/%3E%3C/svg%3E"),linear-gradient(135deg,#0f172a 0%,#172534 60%,#0B603B 100%)!important;background-size:120px 120px,100%!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important;}
html #jmt-mega{position:fixed;left:0;right:0;z-index:10000;background:#fff;box-shadow:0 8px 48px rgba(0,0,0,.18);transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .22s;border-bottom:3px solid #157A4E;}
html .jmt-mega-all-link{color:#157A4E;font-size:13px;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:6px;}
html .jmt-mega-all-link:hover{color:#E5F4EC;}
html .jmt-mega-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(21,122,78,.15);border-color:#157A4E;}
html .jmt-mega-img{height:100px;background:linear-gradient(135deg,#0f172a 0%,#172534 55%,#0B603B 100%);position:relative;}
html .jmt-mega-card-all .jmt-mega-img{background:linear-gradient(135deg,#0B603B 0%,#157A4E 60%,#157A4E 100%);}
html .jmt-mega-img::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,rgba(21,122,78,.5),rgba(21,122,78,.5));}
html .jmt-mega-count{font-size:11px;color:#157A4E;font-weight:700;white-space:nowrap;background:#E5F4EC;border-radius:4px;padding:1px 6px;}
html .jmt-mega-card-all .jmt-mega-name{color:#0B603B;}
html .jmt-mega-card-all .jmt-mega-sub{color:#157A4E;}
html .hp-feat-price{font-size:1.1rem;font-weight:700;color:#157A4E;}
html .hp-feat-view-all{display:inline-block;margin-top:28px;padding:10px 28px;background:#157A4E;color:#fff!important;border-radius:8px;font-weight:600;text-decoration:none;transition:background .2s;}
html .hp-feat-view-all:hover{background:#0B603B;}
html .woocommerce ul.products li.product:hover{box-shadow:0 8px 32px rgba(21,122,78,.13);transform:translateY(-4px);}
html .woocommerce ul.products li.product .price{display:block;padding:0 14px 8px;font-weight:700;font-size:1.05rem;color:#157A4E;margin:0;}
html .woocommerce ul.products li.product .button, html .woocommerce ul.products li.product .add_to_cart_button{display:block;width:calc(100% - 28px);margin:0 14px;background:#157A4E;color:#fff!important;border-radius:8px;font-weight:600;font-size:.85rem;padding:10px 12px;text-align:center;transition:background .2s;border:none;cursor:pointer;}
html .woocommerce ul.products li.product .button:hover, html .woocommerce ul.products li.product .add_to_cart_button:hover{background:#0B603B;color:#fff!important;}
html .woocommerce ul.products li.product .button.added{background:#157A4E;}
html .woocommerce .woocommerce-breadcrumb a{color:#157A4E;text-decoration:none;}
html .single-product .price{font-size:1.9rem;font-weight:800;color:#157A4E;margin-bottom:20px;}
html .single-product .single_add_to_cart_button{background:#157A4E!important;color:#fff!important;border-radius:10px!important;font-weight:700!important;font-size:1rem!important;padding:13px 28px!important;transition:background .2s!important;border:none!important;}
html .single-product .single_add_to_cart_button:hover{background:#0B603B!important;}
html .woocommerce-tabs .tabs li.active a{color:#157A4E;border-bottom:2px solid #157A4E;margin-bottom:-2px;background:transparent;}
html .woocommerce-tabs .tabs li a:hover{color:#157A4E;background:#E5F4EC;}
html .woocommerce ul.products li.product a.button, html .woocommerce ul.products li.product .button, html .woocommerce ul.products li.product .add_to_cart_button{
  background-color:#157A4E!important;
  color:#fff!important;
  border-radius:8px!important;
  font-weight:600!important;
  border:none!important;
  padding:10px 20px!important;
  font-size:.9rem!important;
  transition:background-color .2s,transform .1s!important;
  display:block!important;
  text-align:center!important;
  width:calc(100% - 32px)!important;
  margin:0 16px 16px!important;
}
html .woocommerce ul.products li.product a.button:hover, html .woocommerce ul.products li.product .button:hover{
  background-color:#0B603B!important;
  transform:translateY(-1px)!important;
}
html .woocommerce ul.products li.product .price{
  color:#157A4E!important;
  font-size:1.05rem!important;
  font-weight:700!important;
  padding:4px 16px 8px!important;
  display:block!important;
}
html .single-product .price .woocommerce-Price-amount{
  color:#157A4E!important;
  font-size:1.6rem!important;
  font-weight:800!important;
}
html .jmt-prefooter{
  background:linear-gradient(135deg,#0f172a 0%,#172534 60%,#0B603B 100%);
  color:#fff;
  padding:48px 24px;
  text-align:center;
}
html .jmt-prefooter-btn-primary{
  background:#157A4E;
  color:#fff!important;
  border:2px solid #157A4E;
}
html .jmt-contact-form .jmt-cf-input:focus{border-color:#157A4E;box-shadow:0 0 0 3px rgba(21,122,78,.12);outline:none;}
html .jmt-cf-submit{background:#157A4E;color:#fff;border:none;border-radius:8px;padding:13px 32px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;width:100%;margin-top:4px;}
html .jmt-cf-submit:hover{background:#0B603B;transform:translateY(-1px);}
html .jmt-cf-ok{background:#E5F4EC;color:#0B603B;border:1px solid #68BA8C;}
html .blog article.post:hover, html .archive article.post:hover{box-shadow:0 8px 32px rgba(21,122,78,.1);transform:translateY(-2px);}
html .blog .entry-title a:hover, html .archive .entry-title a:hover{color:#157A4E;}
html .blog .page-links a, html .archive .page-links a, html .blog .nav-links a, html .archive .nav-links a{background:#157A4E;color:#fff;border-radius:8px;padding:8px 18px;text-decoration:none;font-weight:600;transition:background .2s;}
html .blog .nav-links a:hover, html .archive .nav-links a:hover{background:#0B603B;}
html .single-post .entry-content h2{font-size:1.5rem;font-weight:700;color:#0E1B2A;margin:2rem 0 .75rem;border-left:4px solid #157A4E;padding-left:14px;}
html .single-post .entry-content blockquote{background:#E5F4EC;border-left:4px solid #157A4E;padding:14px 20px;border-radius:0 8px 8px 0;margin:1.5rem 0;font-style:normal;color:#0B603B;}
html .single-post .entry-content a{color:#157A4E;text-decoration:underline;}
html .single-post .entry-content a:hover{color:#0B603B;}
html .jmt-blog-hp-title::after{content:"";display:block;width:60px;height:4px;background:#157A4E;border-radius:2px;margin:12px auto 0;}
html .jmt-blog-hp-card:hover{box-shadow:0 8px 32px rgba(21,122,78,.12);transform:translateY(-3px);text-decoration:none;}
html .jmt-blog-hp-more{font-size:.85rem;font-weight:600;color:#157A4E;}
html .jmt-blog-hp-all{display:block;text-align:center;background:#157A4E;color:#fff;font-weight:700;padding:14px 36px;border-radius:8px;text-decoration:none;width:fit-content;margin:0 auto;transition:background .2s;}
html .jmt-blog-hp-all:hover{background:#0B603B;color:#fff;text-decoration:none;}
html nnnn.jmt-ct-email a, html .jmt-ct-phone a, html [class*="jmt-ct"] a{color:#157A4E!important;}
html nn.entry-content a:not([class]){color:#157A4E;}
html n


.ast-footer-copyright a, html .site-info a, html .powered-by a{color:#157A4E!important;}
html a.skip-link:focus{color:#157A4E!important;}
html ul.ast-nav-menu .current-menu-item a.menu-link, html ul.ast-nav-menu .current-menu-ancestor a.menu-link{color:#157A4E!important;background:#E5F4EC!important;}
html a.woocommerce-loop-product__link, html .woocommerce-loop-product__link .woocommerce-loop-product__title{color:#157A4E!important;}
html a.woocommerce-loop-product__link:hover .woocommerce-loop-product__title{color:#0B603B!important;}
html a.ast-loop-product__link, html a.ast-loop-product__link .woocommerce-loop-product__title{color:#157A4E!important;}
html a.ast-loop-product__link:hover .woocommerce-loop-product__title{color:#0B603B!important;}
html .single-product-category a, html .woocommerce-breadcrumb a, html .woocommerce-breadcrumb a:visited, html nav.woocommerce-breadcrumb a{color:#157A4E!important;}
html .single-product-category a:hover, html .woocommerce-breadcrumb a:hover{color:#0B603B!important;}
html .posted_in a, html .tagged_as a, html .jmt-crossell-wrap a, html .jmt-crossell-wrap a:visited{color:#157A4E!important;}
html .posted_in a:hover, html .jmt-crossell-wrap a:hover{color:#0B603B!important;}
html a.wc-block-components-product-name, html .wc-block-cart-item__image a, html .wc-block-components-product-name:visited{color:#157A4E!important;}
html a.wc-block-components-product-name:hover{color:#0B603B!important;}
html .wc-block-components-order-summary-item__description a, html .wc-block-order-confirmation-summary-section a{color:#157A4E!important;}
html button.wc-block-components-button.wc-block-components-checkout-place-order-button, html button.wc-block-components-button.wc-block-components-checkout-place-order-button:not(:disabled){background-color:#157A4E!important;border-color:#157A4E!important;color:#fff!important;}
html button.wc-block-components-button.wc-block-components-checkout-place-order-button:hover{background-color:#0B603B!important;border-color:#0B603B!important;}
html .wp-element-button.contained, html .wc-block-components-button.contained{background-color:#157A4E!important;border-color:#157A4E!important;}
html .wp-element-button.contained:hover, html .wc-block-components-button.contained:hover{background-color:#0B603B!important;}
html .wc-block-components-checkbox__label a, html .wc-block-components-checkbox a{color:#157A4E!important;}
html .wc-block-components-checkbox__label a:hover{color:#0B603B!important;}
html span.page-numbers.current, html .page-numbers.current{background-color:#157A4E!important;color:#fff!important;border-color:#157A4E!important;}
html .page-numbers a:hover{color:#157A4E!important;}
html .trail-item a, html .trail-items a, html .breadcrumb-trail a{color:#157A4E!important;}
html .trail-item a:hover, html .trail-items a:hover{color:#0B603B!important;}
html .entry-meta, html .entry-meta a, html .entry-meta .posted-by, html .entry-meta .posted-on, html .entry-meta span{color:#157A4E!important;}
html .entry-meta a:hover{color:#0B603B!important;}
html .entry-footer a, html .entry-categories a, html .entry-tags a{color:#157A4E!important;}
html .ast-taxonomy-container a, html .cat-links a, html .ast-blog-single-element a{color:#157A4E!important;}
html .ast-taxonomy-container a:hover, html .cat-links a:hover{color:#0B603B!important;}
html a.page-numbers, html a.page-numbers:visited, html .nav-links a.page-numbers{color:#157A4E!important;}
html a.page-numbers:hover, html .nav-links a.page-numbers:hover{color:#0B603B!important;background:#E5F4EC!important;}
html a.next.page-numbers, html a.prev.page-numbers{color:#157A4E!important;}
html .wp-block-heading[style*="0055a5"]{color:#157A4E!important;}
html .wp-block-button__link[style*="0055a5"]{background-color:#157A4E!important;border-color:#157A4E!important;}
html [style*="color:#0055a5"]{color:#157A4E!important;}
html [style*="background-color:#0055a5"]{background-color:#157A4E!important;}
html [style*="color:#046bd2"]{color:#157A4E!important;}
html [style*="background-color:#046bd2"]{background-color:#157A4E!important;}
html .wp-block-button:not(.is-style-outline) .wp-block-button__link:not([style*="background"]), html .wp-block-button:not(.is-style-outline) .wp-element-button:not([style*="background"]){background-color:#157A4E!important;border-color:#157A4E!important;color:#fff!important;}
html .wp-block-button.is-style-outline .wp-block-button__link, html .wp-block-button.is-style-outline .wp-element-button{color:#157A4E!important;border-color:#157A4E!important;}
html .wp-element-button:not([style*="background"]):not(.wc-block-components-button){background-color:#157A4E!important;border-color:#157A4E!important;}
html .woocommerce-MyAccount-navigation a, html .woocommerce-MyAccount-navigation a:visited{color:#157A4E!important;}
html .woocommerce-MyAccount-navigation a:hover{color:#0B603B!important;}
html .woocommerce-account .woocommerce a, html .woocommerce-MyAccount-content a{color:#157A4E!important;}
html .woocommerce-MyAccount-content a:hover{color:#0B603B!important;}
html .jmt-st.act, html .jmt-st.act *{background-color:#157A4E!important;border-color:#157A4E!important;color:#fff!important;}
html button.jmt-bp, html input.jmt-bp{background-color:#157A4E!important;border-color:#157A4E!important;color:#fff!important;}
html button.jmt-bp:hover{background-color:#0B603B!important;}
@media(min-width:922px){html .menu-item-21 .sub-menu{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  top:calc(100% + 2px)!important;
  width:920px!important;
  min-width:920px!important;
  padding:32px 40px 20px!important;
  background:#fff!important;
  border:none!important;
  border-top:3px solid #157A4E!important;
  border-radius:0 0 16px 16px!important;
  box-shadow:0 24px 60px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.06)!important;
  column-count:4!important;
  column-gap:0!important;
  column-rule:1px solid #f0f0f0!important;
  z-index:99999!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .18s ease,visibility .18s ease!important;
}}
@media(min-width:922px){html .menu-item-21 .sub-menu a.menu-link:hover{color:#157A4E!important;padding-left:4px!important}}
@media(min-width:922px){html .menu-item-21 .sub-menu li:nth-child(1) a.menu-link:hover, html .menu-item-21 .sub-menu li:nth-child(4) a.menu-link:hover, html .menu-item-21 .sub-menu li:nth-child(7) a.menu-link:hover, html .menu-item-21 .sub-menu li:nth-child(10) a.menu-link:hover, html .menu-item-21 .sub-menu li:nth-child(11) a.menu-link:hover, html .menu-item-21 .sub-menu li:nth-child(13) a.menu-link:hover{
  color:#157A4E!important;background:transparent!important;padding-left:0!important;
}}
@media(min-width:922px){html .menu-item-21 .sub-menu li:nth-child(2) a.menu-link::before, html .menu-item-21 .sub-menu li:nth-child(3) a.menu-link::before, html .menu-item-21 .sub-menu li:nth-child(5) a.menu-link::before, html .menu-item-21 .sub-menu li:nth-child(6) a.menu-link::before, html .menu-item-21 .sub-menu li:nth-child(8) a.menu-link::before, html .menu-item-21 .sub-menu li:nth-child(9) a.menu-link::before, html .menu-item-21 .sub-menu li:nth-child(12) a.menu-link::before{
  content:"›";color:#157A4E;font-size:16px;line-height:1;margin-right:2px;font-weight:700;
}}
html .hp-card .hp-cdesc::after{content:'203A';display:inline-block;margin-left:6px;font-size:1.1em;font-weight:700;color:#157A4E;opacity:0;transition:opacity .25s,transform .25s;transform:translateX(-4px);}
html .hp-hero{background:linear-gradient(135deg,#0B603B 0%,#157A4E 45%,#157A4E 100%)!important;position:relative;overflow:hidden;}
html .hp-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 50%,rgba(21,122,78,.12) 0%,transparent 60%);pointer-events:none;}
html .hp-stat-num{color:#157A4E!important;font-weight:800!important;}
html .hp-feat-card:hover, html .jmt-feat-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 30px rgba(21,122,78,.15)!important;}
html .hp-cta{background:linear-gradient(135deg,#0B603B 0%,#157A4E 60%,#157A4E 100%)!important;}
html .jmt-cat-hero{
  background:linear-gradient(120deg,#0B603B 0%,#157A4E 55%,#157A4E 100%)!important;
  min-height:220px!important;
  position:relative;
  overflow:hidden;
}
html .jmt-cat-hero::before{
  content:'';
  position:absolute;
  right:-60px;top:-60px;
  width:340px;height:340px;
  background:radial-gradient(circle,rgba(21,122,78,.18) 0%,transparent 70%);
  pointer-events:none;
}
html .jmt-cat-hero-img-ph{
  width:180px!important;
  height:160px!important;
  border-radius:16px!important;
  background-color:#157A4E!important;
  background-size:cover!important;
  background-position:center!important;
  box-shadow:0 8px 32px rgba(0,0,0,.3)!important;
  flex-shrink:0!important;
  overflow:hidden!important;
}
html .jmt-subcat-list .jmt-subcat-btn, html .jmt-subcat-filter a{
  background:#fff!important;
  color:#157A4E!important;
  border:1.5px solid #157A4E!important;
  border-radius:20px!important;
  padding:5px 16px!important;
  font-size:.82rem!important;
  font-weight:600!important;
  transition:all .2s!important;
  text-decoration:none!important;
}
html .jmt-subcat-list .jmt-subcat-btn:hover, html .jmt-subcat-filter a:hover{
  background:#157A4E!important;
  color:#fff!important;
}
html .woocommerce-Tabs-panel--description ul li::before{content:"✓";position:absolute!important;left:0!important;color:#157A4E!important;font-weight:700!important;}
html .woocommerce-Tabs-panel--description p:last-child{background:#F3F6F7!important;border-left:4px solid #157A4E!important;padding:.75rem 1rem!important;border-radius:0 8px 8px 0!important;font-size:.9rem!important;color:#405161!important;margin-top:1.25rem!important;}
html .woocommerce-product-attributes th{background:#F8FAFA!important;color:#157A4E!important;font-weight:600!important;padding:.65rem 1rem!important;text-align:left!important;width:40%!important;border:1px solid #E5F4EC!important;font-size:.9rem!important;}
html .wp-block-heading[style*="4ea3ff"]{ color: #157A4E !important; }
html .wp-block-heading[style*="4ea3FF"]{ color: #157A4E !important; }
html .has-text-color[style*="4ea3ff"]{ color: #157A4E !important; }
html .hp-icon{ background: #E5F4EC !important; color: #157A4E !important; }
html .woocommerce-product-details__short-description{
  border-left: 3px solid #157A4E;
  padding: 10px 14px;
  background: #F8FAFA;
  border-radius: 0 6px 6px 0;
  margin-bottom: 18px !important;
  color: #405161;
  font-size: 0.97rem;
  line-height: 1.65;
}
html .woocommerce-variation-availability .stock, html p.stock.in-stock{
  display: inline-block;
  background: #E5F4EC;
  color: #157A4E;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid #B7DCC7;
  margin-bottom: 12px;
}
html .woocommerce-tabs .wc-tabs li.active a{
  border-bottom: 2px solid #157A4E !important;
  color: #157A4E !important;
  font-weight: 600;
}
html .woocommerce-tabs .wc-tabs li a:hover{
  color: #157A4E !important;
}
html .jmt-subcat-pill{
  background: #E5F4EC !important;
  color: #157A4E !important;
  border: 1px solid #B7DCC7 !important;
  font-weight: 500;
  transition: all 0.2s;
}
html .jmt-subcat-pill:hover{
  background: #157A4E !important;
  color: #ffffff !important;
  border-color: #157A4E !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(21,122,78,0.25);
}
html .jmt-subcat-pill.active, html .jmt-subcat-pill.current{
  background: #157A4E !important;
  color: #ffffff !important;
  border-color: #157A4E !important;
}
html .entry-title a:hover{
  color: #157A4E !important;
}
html .single .entry-content h2{
  color: #157A4E;
  margin-top: 2rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid #E5F4EC;
}
html .single .entry-content th{
  background: #157A4E !important;
  color: #ffffff !important;
  padding: 10px 14px;
  text-align: left;
}
html .error404 .search-form .search-submit, html .error404 button[type="submit"]{
  background: #157A4E !important;
  border-color: #157A4E !important;
  color: #fff !important;
}
html .error404 .search-form .search-submit:hover, html .error404 button[type="submit"]:hover{
  background: #0B603B !important;
  border-color: #0B603B !important;
}
html .hp-blog-section [style*="position:relative"][style*="background:#fff"]:hover{
  box-shadow: 0 8px 24px rgba(21,122,78,.12) !important;
  transform: translateY(-3px);
  border-color: #157A4E !important;
}
html .hp-blog-section .hp-all-link:hover{
  background: #0B603B !important;
}
html .hp-stat-n{
  font-size: 42px !important;
  font-weight: 800 !important;
  color: #157A4E !important;
  line-height: 1 !important;
  margin-bottom: 6px !important;
}
html .hp-btn1{
  background: #fff !important;
  color: #157A4E !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.15);
}
html .hp-btn1:hover{
  background: #F3F6F7 !important;
  color: #0B603B !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.18);
}
html .hp-cta .hp-btn1{
  background: #fff !important;
  color: #157A4E !important;
}
html .jmt-hi:hover{background:#E5F4EC;color:#157A4E;}
html .jmt-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;background:#157A4E;color:#fff;border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none;}
html #header li.menu-item-21 .sub-menu{display:block!important;width:300px!important;min-width:300px!important;max-width:300px!important;padding:10px 0!important;background:#fff!important;border-radius:0 0 12px 12px!important;box-shadow:0 12px 40px rgba(0,0,0,.14)!important;border-top:3px solid #157A4E!important;grid-template-columns:none!important;height:auto!important;min-height:0!important}
html #header li.menu-item-21 .sub-menu li a:hover{background:#E5F4EC!important;color:#157A4E!important}
html .site-title, html .ct-site-title{font-size:26px!important;font-weight:800!important;color:#157A4E!important;letter-spacing:-.5px}
html .site-title:hover, html .ct-site-title:hover{color:#0B603B!important}
html .site-title-container a, html .site-title-container a .site-title, html a .ct-site-title{color:#157A4E!important}
html .site-title-container a:hover, html .site-title-container a:hover .site-title{color:#0B603B!important}
html #header li.menu-item-21>a{background:#157A4E!important;color:#fff!important;border-radius:10px!important;padding:11px 20px!important;font-weight:700!important;display:inline-flex!important;align-items:center!important;gap:8px!important}
html #header li.menu-item-21>a:hover{background:#0B603B!important;color:#fff!important}
/* JM PALETTE FIX END */

/* ============================================================
   JMTech Factory v2 — conversion-first storefront layer
   Source of truth: .site-factory/design-tokens.json
   ============================================================ */

:root {
  --jmf-ink: #0e1b2a;
  --jmf-ink-soft: #405161;
  --jmf-muted: #5c6d7d;
  --jmf-line: #c8d1d8;
  --jmf-line-soft: #e7ecef;
  --jmf-control-border: #667785;
  --jmf-canvas: #f8fafa;
  --jmf-surface: #ffffff;
  --jmf-surface-soft: #f3f6f7;
  --jmf-brand: #157a4e;
  --jmf-brand-hover: #0b603b;
  --jmf-brand-active: #084c2f;
  --jmf-brand-soft: #e5f4ec;
  --jmf-action: var(--jmf-brand);
  --jmf-action-hover: var(--jmf-brand-hover);
  --jmf-action-active: var(--jmf-brand-active);
  --jmf-action-soft: var(--jmf-brand-soft);
  --jmf-link: var(--jmf-brand-hover);
  --jmf-link-hover: var(--jmf-brand-active);
  --jmf-green: var(--jmf-brand);
  --jmf-green-dark: var(--jmf-brand-hover);
  --jmf-green-soft: var(--jmf-brand-soft);
  --jmf-focus: #b54708;
  --jmf-danger: #b42318;
  --jmf-success: #067647;
  --jmf-warning-surface: #fff4e5;
  --jmf-danger-surface: #feeceb;
  --jmf-on-action: #ffffff;
  --jmf-on-inverse: #ffffff;
  --jmf-border-inverse: rgba(255, 255, 255, 0.48);
  --jmf-shadow-card: 0 8px 24px rgba(14, 27, 42, 0.1);
  --jmf-shadow-overlay: 0 16px 48px rgba(14, 27, 42, 0.2);
  --jmf-focus-ring: 0 0 0 2px #ffffff, 0 0 0 5px var(--jmf-focus);
  --jmf-container: 1280px;
  --jmf-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;

  /* Compatibility aliases for the older theme layer. All interactive color
     roles resolve to the same green brand system. */
  --c-accent: var(--jmf-action);
  --c-accent-600: var(--jmf-action-hover);
  --c-accent-700: var(--jmf-action-active);
  --c-accent-tint: var(--jmf-action-soft);
  --jmt-acc: var(--jmf-action);
  --jmt-acc-h: var(--jmf-action-hover);
  --jmt-acc-d: var(--jmf-action-active);
  --jmt-acc-l: var(--jmf-action-soft);
  --theme-palette-color-1: var(--jmf-action);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--jmf-ink);
  background: var(--jmf-canvas);
  font-family: var(--jmf-font);
  text-rendering: optimizeLegibility;
}

body.jmf2-factory,
body.jmf2-factory .jmf2 {
  font-family: var(--jmf-font) !important;
}

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

body :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--jmf-focus) !important;
  outline-offset: 3px !important;
  box-shadow: var(--jmf-focus-ring) !important;
}

body :where(button, input, select, textarea) {
  min-height: 44px;
}

body img {
  height: auto;
}

/* Remove legacy overlays and the unverified promotional strip. */
#jmt-promo,
#jmt-promo + .jmt-promo-spacer {
  display: none !important;
}

/* Compact utility/header system. */
#jmt-topbar {
  min-height: 32px !important;
  padding: 0 !important;
  background: var(--jmf-ink) !important;
  color: #fff !important;
}

#jmt-topbar .jmt-topbar-inner {
  min-height: 32px;
  width: min(var(--jmf-container), calc(100% - 48px));
  padding: 0 !important;
  gap: 16px;
}

#jmt-topbar a,
#jmt-topbar span {
  color: rgba(255, 255, 255, 0.86) !important;
}

#jmt-topbar a:hover {
  color: #fff !important;
}

.site-title-container .site-title,
.site-title-container .ct-site-title,
.site-branding .site-title,
.site-branding .ct-site-title {
  display: none !important;
}

.ct-header [data-row*="middle"],
.ct-header [data-row="middle"],
.ct-header [data-row*="middle"] .ct-container,
.ct-header [data-row="middle"] .ct-container {
  height: 72px !important;
  min-height: 72px !important;
  padding-block: 0 !important;
}

.ct-header-trigger.ct-toggle,
.jmt-hicons .jmt-hi {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* Blocksy's off-canvas panel also carries ct-header; it must never inherit the
   sticky desktop-header geometry and collapse to a one-pixel mobile menu. */
#offcanvas.ct-panel.ct-header {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100dvh !important;
  max-height: none !important;
}

#offcanvas.ct-panel.ct-header .ct-panel-inner {
  height: 100dvh !important;
  max-height: none !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

/* The legacy desktop catalog dropdown starts at 922px, while Blocksy keeps the
   off-canvas header through 999px. Keep that shared 922–999px range in the
   mobile flow so the submenu remains readable and scrollable inside the panel. */
@media (max-width: 999px) {
  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 10px 0 30px !important;
    box-sizing: border-box;
    background: transparent !important;
    z-index: auto !important;
    transform: none !important;
    grid-template-columns: none !important;
    columns: auto !important;
    overflow-x: hidden !important;
    overflow-wrap: anywhere;
  }

  /* Blocksy keeps dropdown-active during its height animation and its inline
     styles diverge at 320px and 922–999px. The toggle's aria-expanded value is
     the reliable state, so make that state authoritative for this submenu. */
  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21:has(> .ct-sub-menu-parent > .ct-toggle-dropdown-mobile[aria-expanded="false"]) > .sub-menu {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }

  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu[hidden] {
    display: none !important;
  }

  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21:has(> .ct-sub-menu-parent > .ct-toggle-dropdown-mobile[aria-expanded="true"]) > .sub-menu {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu > li {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu::before,
  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu::after,
  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu > li::before,
  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu > li::after {
    display: none !important;
    content: none !important;
  }

  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu :is(img, picture, figure) {
    display: none !important;
  }

  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21.dropdown-active > .ct-sub-menu-parent > .ct-menu-link,
  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21.dropdown-active > .ct-sub-menu-parent > .ct-toggle-dropdown-mobile {
    color: #fff !important;
  }

  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu .ct-menu-link {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    color: rgba(255, 255, 255, 0.92) !important;
    hyphens: auto;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
  }

  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu .ct-menu-link:hover,
  body.jmf2-factory #offcanvas.ct-panel.ct-header .mobile-menu .menu-item-21 > .sub-menu .ct-menu-link:focus-visible {
    color: #fff !important;
  }
}

.jmf2-mobile-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin: 8px 0 18px;
  padding: 0 4px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.jmf2-mobile-search[hidden] {
  display: none !important;
}

.jmf2-mobile-search input[type="search"] {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--jmf-border-inverse);
  border-radius: 4px;
  color: var(--jmf-ink);
  background: var(--jmf-surface);
  font-size: 1rem;
}

.jmf2-mobile-search button {
  min-width: 74px;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #fff !important;
  border-radius: 4px !important;
  color: #fff !important;
  background: transparent !important;
  font-weight: 750;
}

.jmf2-mobile-search button:hover,
.jmf2-mobile-search button:focus-visible {
  color: var(--jmf-ink) !important;
  background: var(--jmf-surface) !important;
}

@media (min-width: 1000px) {
  .jmf2-mobile-search {
    display: none !important;
  }
}

/* Desktop mega-menu: the category names are clearer without decorative
   pseudo-product pictograms. Preserve only the active rail and chevron. */
@media (min-width: 1000px) {
  #jmtc-mega .jmtc-ic {
    display: none !important;
  }

  #jmtc-mega .jmtc-grp {
    min-height: 48px;
    gap: 10px;
    padding: 12px 18px 12px 20px;
    box-sizing: border-box;
  }

  #jmtc-mega .jmtc-gn {
    min-width: 0;
    line-height: 1.35;
  }

  #jmtc-mega .jmtc-ch {
    flex: 0 0 auto;
    margin-left: auto;
    color: var(--jmf-muted);
  }

  #jmtc-mega .jmtc-grp:hover {
    border-left-color: transparent;
    color: var(--jmf-brand-hover);
    background: var(--jmf-brand-soft);
  }

  #jmtc-mega .jmtc-grp.jmtc-active {
    border-left-color: var(--jmf-brand);
    color: var(--jmf-brand-hover);
    background: var(--jmf-brand-soft);
  }

  #jmtc-mega .jmtc-grp:focus-visible {
    outline: 2px solid var(--jmf-focus);
    outline-offset: -3px;
  }
}

/* Core Cover fallback. Some optimisation combinations can omit the per-block
   stylesheet; preserve the background layer, readable text and stacking order. */
body.jmf2-factory .wp-block-cover {
  position: relative;
  display: flex;
  min-height: 430px;
  align-items: center;
  justify-content: center;
  padding: 1em;
  overflow: hidden;
  isolation: isolate;
}

body.jmf2-factory .wp-block-cover__background,
body.jmf2-factory .wp-block-cover__gradient-background {
  position: absolute;
  inset: 0;
  z-index: 1;
}

body.jmf2-factory .wp-block-cover__image-background,
body.jmf2-factory .wp-block-cover video.wp-block-cover__video-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  outline: 0;
  border: 0;
  box-shadow: none;
}

body.jmf2-factory .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
  color: #fff;
}

/* Common type and spacing. */
.jmf2 {
  width: min(var(--jmf-container), calc(100% - 64px));
  margin-inline: auto;
  padding: 32px 0 88px;
  color: var(--jmf-ink);
}

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

.jmf2 h1,
.jmf2 h2,
.jmf2 h3,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
  color: var(--jmf-ink);
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.jmf2 h1 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem);
  line-height: 1.08;
}

.jmf2 h2 {
  margin: 0;
  font-size: clamp(1.75rem, 1.45rem + 1.4vw, 2.6rem);
  line-height: 1.15;
}

.jmf2 p {
  color: var(--jmf-ink-soft);
}

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

.jmf2-kicker {
  margin: 0 0 16px;
  color: var(--jmf-green) !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.jmf2-lead {
  max-width: 54ch;
  margin: 22px 0 0;
  font-size: 1.125rem;
  line-height: 1.55;
}

.jmf2-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: 2px solid transparent;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.jmf2-button--primary {
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action);
}

.jmf2-button--primary:hover {
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action-hover);
}

.jmf2-button--primary:active {
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action-active);
}

.jmf2-button--primary:is(:disabled, [aria-disabled="true"]) {
  border-color: var(--jmf-line);
  color: var(--jmf-muted) !important;
  background: var(--jmf-line);
  cursor: not-allowed;
}

.jmf2-button--secondary {
  color: var(--jmf-action-active) !important;
  border-color: var(--jmf-action);
  background: transparent;
}

.jmf2-button--secondary:hover {
  color: var(--jmf-action-active) !important;
  background: var(--jmf-action-soft);
}

.jmf2-button--secondary:active {
  border-color: var(--jmf-action-active);
  color: var(--jmf-action-active) !important;
  background: var(--jmf-action-soft);
}

.jmf2-button--secondary:is(:disabled, [aria-disabled="true"]) {
  border-color: var(--jmf-line);
  color: var(--jmf-muted) !important;
  background: var(--jmf-surface-soft);
  cursor: not-allowed;
}

.jmf2-text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: var(--jmf-link) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.jmf2-text-link:hover,
.jmf2-text-link:focus-visible {
  color: var(--jmf-link-hover) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
}

/* Homepage hero. */
.jmf2-hero {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(340px, 5fr);
  gap: clamp(40px, 6vw, 88px);
  align-items: stretch;
  padding: 64px 0 80px;
  border-top: 1px solid var(--jmf-line);
}

.jmf2-hero__copy {
  position: relative;
  padding-left: 24px;
}

.jmf2-hero__copy::before,
.jmf2-section__head > div::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--jmf-green);
  content: "";
}

.jmf2-hero__copy::after,
.jmf2-section__head > div::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 2px;
  background: var(--jmf-green);
  content: "";
}

.jmf2-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  max-width: 680px;
  margin-top: 32px;
}

.jmf2-search input[type="search"] {
  width: 100%;
  min-height: 52px;
  padding: 12px 16px;
  border: 1px solid var(--jmf-control-border);
  border-right: 0;
  border-radius: 4px 0 0 4px;
  color: var(--jmf-ink);
  background: #fff;
  font-size: 1rem;
}

.jmf2-search button {
  min-width: 104px;
  min-height: 52px;
  padding: 12px 20px;
  border: 1px solid var(--jmf-control-border) !important;
  border-radius: 0 4px 4px 0;
  color: var(--jmf-action-active) !important;
  background: var(--jmf-surface-soft) !important;
  font-weight: 700;
  cursor: pointer;
}

.jmf2-search button:hover {
  border-color: var(--jmf-action) !important;
  color: var(--jmf-action-active) !important;
  background: var(--jmf-action-soft) !important;
}

.jmf2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.jmf2-index {
  align-self: center;
  border-top: 2px solid var(--jmf-green);
  border-bottom: 1px solid var(--jmf-line);
  background-color: var(--jmf-surface);
}

.jmf2-index__title {
  margin: 0;
  padding: 14px 18px;
  border-bottom: 1px solid var(--jmf-line-soft);
  color: var(--jmf-muted) !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.jmf2-index a {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 3px 14px;
  min-height: 88px;
  align-content: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--jmf-line-soft);
  color: var(--jmf-ink) !important;
  text-decoration: none !important;
}

.jmf2-index a:last-child {
  border-bottom: 0;
}

.jmf2-index a:hover {
  background: var(--jmf-surface-soft);
}

.jmf2-index a > span {
  grid-row: 1 / 3;
  color: var(--jmf-green);
  font: 600 0.8125rem/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
}

.jmf2-index a strong {
  font-size: 1rem;
}

.jmf2-index a small {
  color: var(--jmf-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* Homepage sections. */
.jmf2-section {
  padding: 80px 0;
  border-top: 1px solid var(--jmf-line);
}

.jmf2-section__head {
  display: flex;
  gap: 32px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 36px;
}

.jmf2-section__head > div {
  position: relative;
  padding-left: 24px;
}

.jmf2-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--jmf-line);
  border-left: 1px solid var(--jmf-line);
}

.jmf2-categories a {
  display: grid;
  min-height: 184px;
  align-content: space-between;
  padding: 22px;
  border-right: 1px solid var(--jmf-line);
  border-bottom: 1px solid var(--jmf-line);
  color: var(--jmf-ink) !important;
  background: var(--jmf-surface);
  text-decoration: none !important;
  transition: background-color 160ms ease, color 160ms ease;
}

.jmf2-categories a:hover {
  background: var(--jmf-green-soft);
}

.jmf2-categories a > span {
  color: var(--jmf-green);
  font: 600 0.8125rem/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
}

.jmf2-categories a strong {
  align-self: end;
  margin-top: 30px;
  font-size: 1.05rem;
  line-height: 1.3;
}

.jmf2-categories a small {
  margin-top: 8px;
  color: var(--jmf-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
}

.jmf2-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  padding: 40px;
  border-left: 3px solid var(--jmf-green);
  background: var(--jmf-ink);
}

.jmf2-contact h2,
.jmf2-contact p {
  color: #fff;
}

.jmf2-contact .jmf2-kicker {
  color: #fff !important;
}

.jmf2-contact .jmf2-button--secondary {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.82);
}

.jmf2-contact .jmf2-button--secondary:hover {
  color: #fff !important;
  border-color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.jmf2-contact p:last-child {
  max-width: 68ch;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.76);
}

/* WooCommerce catalogue: products before guidance, stable cards. */
body.woocommerce-page .site-main,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main {
  width: min(var(--jmf-container), calc(100% - 64px));
  margin-inline: auto;
}

body.tax-product_cat .page-description {
  display: none !important;
}

.jmf2-category-intro {
  max-width: 68ch;
  margin: 0 0 24px;
  color: var(--jmf-ink-soft);
  font-size: 1rem;
  line-height: 1.55;
}

body.tax-product_cat .hero-section,
body.tax-product_cat .hero-section .entry-header {
  height: 150px !important;
  min-height: 150px !important;
}

body.tax-product_cat #main > .ct-container {
  padding-top: 32px !important;
}

.jmf2-guide {
  max-width: 860px;
  margin: 64px 0 0;
  padding: 32px 0 0 24px;
  border-top: 1px solid var(--jmf-line);
  border-left: 2px solid var(--jmf-green);
}

.jmf2-guide h2,
.jmf2-guide h3 {
  margin-top: 1.5em;
}

.jmf2-guide > :first-child {
  margin-top: 0;
}

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

.woocommerce .woocommerce-ordering select {
  min-height: 44px;
  border: 1px solid var(--jmf-control-border);
  border-radius: 4px;
  color: var(--jmf-ink);
  background: #fff;
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-top: 24px !important;
}

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

.woocommerce ul.products li.product {
  display: flex !important;
  width: auto !important;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 0 18px !important;
  overflow: visible;
  border: 1px solid var(--jmf-line-soft) !important;
  border-radius: 4px !important;
  background: var(--jmf-surface) !important;
  box-shadow: none !important;
}

.woocommerce ul.products li.product:hover {
  border-color: var(--jmf-line) !important;
  box-shadow: 0 8px 24px rgba(14, 27, 42, 0.1) !important;
}

.woocommerce ul.products li.product .ct-media-container,
.woocommerce ul.products li.product > a:first-child .ct-image-container {
  display: grid !important;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  place-items: center;
  overflow: hidden !important;
  border-radius: 3px 3px 0 0;
  background: var(--jmf-surface-soft);
}

.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 18px;
  object-fit: contain !important;
  object-position: center;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  min-height: calc(1.4em * 3) !important;
  margin: 0 !important;
  padding: 18px 18px 0 !important;
  color: var(--jmf-ink) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title > a,
.woocommerce ul.products li.product .woocommerce-loop-category__title > a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.woocommerce ul.products li.product .price {
  margin: auto 18px 0 !important;
  padding-top: 18px;
  color: var(--jmf-ink) !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
}

.woocommerce ul.products li.product .ct-woo-card-actions .button:not(.compare) {
  display: inline-flex !important;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin: 14px 18px 0 !important;
  padding: 11px 16px !important;
  border: 0 !important;
  border-radius: 5px !important;
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action) !important;
  font-weight: 700 !important;
  text-align: center;
}

.woocommerce ul.products li.product .ct-woo-card-actions .button.added:not(.compare) {
  display: none !important;
}

.woocommerce ul.products li.product .added_to_cart {
  display: inline-flex !important;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin: 14px 18px 0 !important;
  padding: 11px 16px !important;
  border: 1px solid var(--jmf-action) !important;
  border-radius: 5px !important;
  color: var(--jmf-action-active) !important;
  background: transparent !important;
  font-weight: 700 !important;
  text-align: center;
}

.woocommerce ul.products li.product .ct-woo-card-actions {
  width: 100%;
}

.woocommerce ul.products li.product .compare.button {
  min-height: 44px;
  margin-top: 8px !important;
  border: 1px solid var(--jmf-control-border) !important;
  color: var(--jmf-action-active) !important;
  background: transparent !important;
}

.woocommerce ul.products li.product .compare.button:hover {
  border-color: var(--jmf-action) !important;
  background: var(--jmf-action-soft) !important;
}

.woocommerce ul.products li.product .ct-woo-card-actions .button:not(.compare):hover {
  background: var(--jmf-action-hover) !important;
}

.woocommerce ul.products li.product .added_to_cart:hover {
  background: var(--jmf-action-soft) !important;
}

.woocommerce ul.products li.product .product-categories,
.woocommerce ul.products li.product .entry-meta {
  margin: 12px 18px 0 !important;
  color: var(--jmf-muted) !important;
  font-size: 0.75rem !important;
  line-height: 1.4;
}

.jmt-badges {
  top: 10px !important;
  left: 10px !important;
}

.jmt-badge {
  border-radius: 3px !important;
}

.woocommerce ul.products li.product .jmt-badges {
  display: flex !important;
  width: auto !important;
  max-width: calc(100% - 20px);
  flex-wrap: wrap;
  gap: 6px;
}

.woocommerce ul.products li.product .jmt-badges .jmt-badge {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  transform: none !important;
}

/* The empty-cart glyph is decorative and overlapped the first words at every
   tested viewport. Preserve the message and remove only that pseudo-element. */
body.woocommerce-cart .wc-empty-cart-message::before,
body.woocommerce-cart .wc-empty-cart-message .woocommerce-info::before,
body.woocommerce-cart .cart-empty::before {
  display: none !important;
  content: none !important;
}

/* Product decision order. */
body.single-product #main .product-entry-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: clamp(32px, 5vw, 72px) !important;
  width: min(1152px, calc(100% - 64px)) !important;
  align-items: start;
  margin-inline: auto !important;
}

body.single-product #main .woocommerce-product-gallery {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

body.single-product #main .summary {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding: 8px 0 0 !important;
}

body.single-product #main .summary > .jmt-badges,
body.single-product #main .summary .jmt-trust {
  display: none !important;
}

body.single-product #main .summary .ct-product-divider,
body.single-product #main .yith-add-to-wishlist-button-block,
html body.jmf2-factory .jmt-hicons .jmt-hi-wl {
  display: none !important;
}

body.single-product #main .woocommerce-product-gallery .flexy-item > .ct-media-container {
  overflow: hidden;
}

body.single-product #main .woocommerce-product-gallery .flexy-item > .ct-media-container > img {
  transform: scale(1.24);
  transform-origin: center;
}

body.single-product #main .summary .product_title {
  margin: 0 0 18px !important;
  color: var(--jmf-ink);
  font-size: clamp(1.9rem, 1.55rem + 1.5vw, 2.65rem) !important;
  line-height: 1.12 !important;
}

body.single-product #main .summary .price {
  margin: 16px 0 !important;
  color: var(--jmf-ink) !important;
  font-size: 1.65rem !important;
  font-weight: 750 !important;
  font-variant-numeric: tabular-nums;
}

body.single-product #main .stock {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  margin: 0 0 12px !important;
  padding: 5px 10px;
  border-radius: 3px;
  font-size: 0.875rem;
  font-weight: 700;
}

body.single-product #main .stock.in-stock {
  border: 1px solid #68ba8c;
  color: var(--jmf-success) !important;
  background: var(--jmf-green-soft);
}

body.single-product #main .stock.out-of-stock {
  border: 1px solid var(--jmf-danger);
  color: var(--jmf-danger) !important;
  background: var(--jmf-danger-surface);
}

body.single-product #main .stock.available-on-backorder {
  border: 1px solid var(--jmf-focus);
  color: var(--jmf-focus) !important;
  background: var(--jmf-warning-surface);
}

body.single-product #main form.cart {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
  margin: 22px 0 !important;
}

body.single-product #main form.cart .quantity .qty {
  min-height: 50px;
  border-color: var(--jmf-control-border);
}

body.single-product #main form.cart .single_add_to_cart_button {
  min-height: 50px;
  padding-inline: 24px !important;
  border-radius: 5px !important;
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action) !important;
  font-weight: 750 !important;
}

body.single-product #main form.cart .single_add_to_cart_button:hover {
  background: var(--jmf-action-hover) !important;
}

body.single-product #main .woocommerce-product-gallery__image {
  background: var(--jmf-surface-soft);
}

body.single-product #main .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-height: 620px;
  object-fit: contain;
}

body.single-product #main .woocommerce-tabs,
body.single-product #main .related {
  width: min(1152px, calc(100% - 64px)) !important;
  margin-inline: auto !important;
}

body.single-product .woocommerce-breadcrumb {
  width: min(1152px, calc(100% - 64px));
  margin: 18px auto 26px !important;
  color: var(--jmf-muted);
  font-size: 0.8125rem;
  line-height: 1.5;
}

body.single-product .jmtc2,
body.single-product .entry-content {
  color: var(--jmf-ink-soft);
}

body.single-product .jmtc2-section {
  padding-block: 48px !important;
  border-top: 1px solid var(--jmf-line-soft);
}

body.single-product .jmtc2 h2 {
  margin-bottom: 24px !important;
  color: var(--jmf-ink) !important;
}

/* Forms and service pages. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.wpforms-container input,
.wpforms-container textarea,
.wpforms-container select {
  min-height: 48px !important;
  border: 1px solid var(--jmf-control-border) !important;
  border-radius: 4px !important;
  color: var(--jmf-ink) !important;
  background: #fff !important;
}

.wpforms-container button[type="submit"],
.woocommerce .checkout-button,
.woocommerce #place_order {
  min-height: 50px !important;
  border-radius: 5px !important;
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action) !important;
  font-weight: 700 !important;
}

/* Global footer: structured navigation and a clear contact endpoint. */
body.jmf2-factory #footer.ct-footer,
body.jmf2-factory #footer [data-row="bottom"] {
  color: rgba(255, 255, 255, 0.82);
  background: var(--jmf-ink) !important;
}

body.jmf2-factory #footer [data-row="bottom"] {
  border-top: 4px solid var(--jmf-green);
}

body.jmf2-factory #footer [data-row="bottom"] > .ct-container {
  width: min(var(--jmf-container), calc(100% - 64px)) !important;
  max-width: none !important;
  padding: 56px 0 28px !important;
}

body.jmf2-factory #footer [data-column="copyright"] {
  width: 100%;
  min-width: 0;
}

body.jmf2-factory #jmt-flinks {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

/* No-JS fallback: the server-rendered navigation stays readable before it is
   moved into the theme footer by the small placement enhancement. */
body.jmf2-factory #jmt-flinks.jmf2-footer-links--server:not(.jmf2-footer-links--placed) {
  width: 100%;
  padding: 56px max(32px, calc((100vw - var(--jmf-container)) / 2));
  border-top: 4px solid var(--jmf-green);
  background: var(--jmf-ink);
}

body.jmf2-factory #jmt-flinks .jmt-flinks-inner {
  display: grid;
  max-width: none;
  margin: 0;
  grid-template-columns: 1.08fr 1fr 1.16fr 1fr;
  gap: clamp(28px, 4vw, 64px);
}

body.jmf2-factory #jmt-flinks .jmt-flinks-inner > div {
  min-width: 0;
}

body.jmf2-factory #jmt-flinks h4 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.jmf2-factory #jmt-flinks a {
  display: block;
  width: fit-content;
  max-width: 100%;
  min-height: 34px;
  margin: 0;
  padding: 5px 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.9375rem;
  line-height: 1.45;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color 150ms ease;
}

body.jmf2-factory #jmt-flinks a:hover {
  color: #fff;
}

body.jmf2-factory #jmt-flinks span {
  margin: 7px 0 0 !important;
  color: rgba(255, 255, 255, 0.58) !important;
  font-size: 0.875rem !important;
  line-height: 1.5;
}

body.jmf2-factory #footer .ct-footer-copyright {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 40px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.8125rem;
  line-height: 1.5;
}

/* Callback trigger lives in the contact column instead of covering the page. */
body.jmf2-factory .jmt-cbtn {
  position: static !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 44px;
  height: 44px !important;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0 16px !important;
  border: 1px solid var(--jmf-border-inverse) !important;
  border-radius: 5px !important;
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.875rem;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  transform: none !important;
}

body.jmf2-factory .jmt-cbtn::after {
  content: "Заказать звонок";
  white-space: nowrap;
}

body.jmf2-factory .jmt-cbtn:hover {
  border-color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

body.jmf2-factory .jmt-cbtn svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  fill: currentColor;
}

/* Callback dialog: closed by default, bounded and readable when opened. */
body.jmf2-factory #jmt-cb-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100100 !important;
  display: none !important;
  width: 100% !important;
  height: 100% !important;
  align-items: center;
  justify-items: center;
  padding: 24px !important;
  background: rgba(14, 27, 42, 0.72) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
}

body.jmf2-factory #jmt-cb-overlay.jmt-open {
  display: grid !important;
}

html.jmf2-callback-open,
html.jmf2-callback-open body {
  overflow: hidden !important;
}

body.jmf2-factory .jmt-cb-box {
  position: relative;
  width: min(100%, 460px);
  max-width: 460px;
  max-height: calc(100dvh - 48px);
  padding: 34px 32px 28px;
  border: 1px solid var(--jmf-line-soft);
  border-top: 4px solid var(--jmf-brand);
  border-radius: 8px;
  color: var(--jmf-ink);
  background: #fff;
  box-shadow: 0 28px 80px rgba(14, 27, 42, 0.28);
  overflow: auto;
}

body.jmf2-factory .jmt-cb-box h3 {
  max-width: calc(100% - 42px);
  margin: 0 0 8px;
  color: var(--jmf-ink);
  font-size: clamp(1.55rem, 1.35rem + 0.8vw, 1.9rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

body.jmf2-factory .jmt-cb-box #jmt-cb-sub {
  max-width: 38ch;
  margin: 0 0 24px;
  color: var(--jmf-ink-soft);
  font-size: 0.9375rem;
  line-height: 1.55;
}

body.jmf2-factory .jmt-cb-label {
  display: block;
  margin: 14px 0 7px;
  color: var(--jmf-ink);
  font-size: 0.8125rem;
  font-weight: 750;
  line-height: 1.35;
}

body.jmf2-factory .jmt-cb-box input {
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid var(--jmf-control-border);
  border-radius: 4px;
  color: var(--jmf-ink);
  background: #fff;
  font-size: 1rem;
  box-shadow: none;
}

body.jmf2-factory .jmt-cb-box input:focus {
  border-color: var(--jmf-action);
}

body.jmf2-factory .jmt-cb-error {
  min-height: 20px;
  margin: 7px 0 3px;
  color: var(--jmf-danger);
  font-size: 0.8125rem;
  line-height: 1.4;
}

body.jmf2-factory .jmt-cb-submit {
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 0;
  border-radius: 5px;
  color: var(--jmf-on-action);
  background: var(--jmf-action);
  font-size: 0.9375rem;
  font-weight: 800;
  cursor: pointer;
}

body.jmf2-factory .jmt-cb-submit:hover {
  background: var(--jmf-action-hover);
}

body.jmf2-factory .jmt-cb-submit:disabled {
  cursor: wait;
  opacity: 0.68;
}

body.jmf2-factory .jmt-cb-consent {
  margin: 12px 0 0 !important;
  color: var(--jmf-muted) !important;
  font-size: 0.75rem !important;
  line-height: 1.5 !important;
}

body.jmf2-factory .jmt-cb-consent a {
  color: var(--jmf-link);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

body.jmf2-factory .jmt-cb-consent a:hover {
  color: var(--jmf-link-hover);
}

body.jmf2-factory .jmt-cb-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  width: 44px;
  height: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 4px;
  color: var(--jmf-muted);
  background: transparent;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}

body.jmf2-factory .jmt-cb-close:hover {
  color: var(--jmf-ink);
  background: var(--jmf-surface-soft);
}

body.jmf2-factory .jmt-cb-ok {
  padding: 28px 0;
  color: var(--jmf-green-dark);
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.5;
  text-align: center;
}

body.jmf2-factory .jmt-consent-settings {
  position: static !important;
  display: inline-flex !important;
  width: auto !important;
  min-height: 36px !important;
  align-items: center;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 1px solid var(--jmf-border-inverse) !important;
  border-radius: 4px !important;
  color: rgba(255, 255, 255, 0.86) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.75rem !important;
  line-height: 1.2;
}

body.jmf2-factory .jmt-consent-settings:hover {
  color: #fff !important;
  border-color: #fff !important;
}

@media (min-width: 1024px) {
  body.single-product #main form.cart .quantity,
  body.single-product #main form.cart .quantity .qty {
    width: 130px !important;
    min-width: 130px !important;
  }

  body.single-product #main form.cart .quantity {
    flex: 0 0 130px;
  }

  body.tax-product_cat ul.products:has(> li.product:nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 960px;
    margin-inline: auto !important;
  }
}

/* Tablet. */
@media (max-width: 1023px) {
  .jmf2 {
    width: min(100% - 48px, var(--jmf-container));
    padding-top: 24px;
  }

  body.jmf2-factory #footer [data-row="bottom"] > .ct-container {
    width: min(var(--jmf-container), calc(100% - 48px)) !important;
  }

  body.jmf2-factory #jmt-flinks .jmt-flinks-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 48px;
  }

  .jmf2-hero {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 48px 0 64px;
  }

  .jmf2-index {
    width: 100%;
  }

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

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

  body.single-product #main .product-entry-wrapper {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
    gap: 36px !important;
  }
}

@media (max-width: 768px) {
  #jmt-topbar {
    display: none !important;
  }

  .ct-header [data-row*="middle"],
  .ct-header [data-row="middle"],
  .ct-header [data-row*="middle"] .ct-container,
  .ct-header [data-row="middle"] .ct-container {
    height: 64px !important;
    min-height: 64px !important;
    padding-block: 0 !important;
  }
}

/* Mobile. */
@media (max-width: 767px) {
  html {
    scroll-behavior: auto;
  }

  body.jmf2-factory #footer [data-row="bottom"] > .ct-container {
    width: calc(100% - 32px) !important;
    padding: 40px 0 22px !important;
  }

  body.jmf2-factory #jmt-flinks .jmt-flinks-inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  body.jmf2-factory #jmt-flinks h4 {
    margin-bottom: 12px;
  }

  body.jmf2-factory #footer .ct-footer-copyright {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    margin-top: 32px;
  }

  body.jmf2-factory .jmt-cbtn {
    width: 100% !important;
    margin-top: 14px;
  }

  body.jmf2-factory #jmt-cb-overlay {
    align-items: end;
    padding: 12px !important;
  }

  body.jmf2-factory .jmt-cb-box {
    width: 100%;
    max-width: none;
    max-height: calc(100dvh - 24px);
    padding: 30px 20px 22px;
    border-radius: 7px;
  }

  body.jmf2-factory .jmt-cb-box h3 {
    font-size: 1.5rem;
  }

  .ct-header [data-row*="middle"],
  .ct-header [data-row="middle"],
  .ct-header [data-row*="middle"] .ct-container,
  .ct-header [data-row="middle"] .ct-container {
    height: 64px !important;
    min-height: 64px !important;
    padding-inline: 16px !important;
  }

  .jmf2 {
    width: calc(100% - 32px);
    padding: 16px 0 56px;
  }

  .jmf2 h1 {
    max-width: none;
    font-size: clamp(2rem, 10.5vw, 2.65rem);
  }

  .jmf2-lead {
    font-size: 1rem;
  }

  .jmf2-hero {
    gap: 32px;
    padding: 40px 0 48px;
  }

  .jmf2-hero__copy,
  .jmf2-section__head > div {
    padding-left: 16px;
  }

  .jmf2-search {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .jmf2-search input[type="search"],
  .jmf2-search button {
    min-height: 50px;
    border: 1px solid var(--jmf-control-border);
    border-radius: 4px;
  }

  .jmf2-search button {
    border-color: var(--jmf-control-border);
  }

  .jmf2-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .jmf2-button {
    width: 100%;
  }

  .jmf2-section {
    padding: 48px 0;
  }

  .jmf2-section__head {
    display: grid;
    align-items: start;
    margin-bottom: 24px;
  }

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

  .jmf2-categories a {
    min-width: 0;
    min-height: 164px;
    padding: 14px;
  }

  .jmf2-categories a strong {
    min-width: 0;
    margin-top: 16px;
    font-size: 0.9375rem;
    hyphens: auto;
    overflow-wrap: anywhere;
  }

  .jmf2-categories a small {
    min-width: 0;
    font-size: 0.75rem;
    overflow-wrap: anywhere;
  }

  .jmf2-contact {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 22px;
  }

  body.woocommerce-page .site-main,
  body.post-type-archive-product .site-main,
  body.tax-product_cat .site-main {
    width: calc(100% - 32px);
  }

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

  .woocommerce ul.products li.product {
    max-width: none !important;
  }

  .woocommerce ul.products li.product .ct-media-container,
  .woocommerce ul.products li.product > a:first-child .ct-image-container {
    max-height: 320px;
  }

  .jmf2-guide {
    margin-top: 48px;
    padding: 24px 0 0 16px;
  }

  body.tax-product_cat .hero-section,
  body.tax-product_cat .hero-section .entry-header {
    height: 132px !important;
    min-height: 132px !important;
  }

  body.tax-product_cat #main > .ct-container {
    padding-top: 28px !important;
  }

  body.single-product #main .product-entry-wrapper {
    display: flex !important;
    width: 100% !important;
    flex-direction: column;
    gap: 24px !important;
  }

  body.single-product #main .summary {
    width: 100% !important;
    padding: 0 16px !important;
  }

  body.single-product #main .woocommerce-product-gallery {
    width: calc(100% - 32px) !important;
    margin-inline: auto !important;
  }

  body.single-product #main .woocommerce-product-gallery .flex-viewport,
  body.single-product #main .woocommerce-product-gallery__image {
    max-height: 320px;
  }

  body.single-product #main .woocommerce-product-gallery__image img {
    max-height: 320px;
  }

  body.single-product #main .woocommerce-product-gallery .flexy-item > .ct-media-container > img {
    transform: scale(1.18);
  }

  body.single-product #main .woocommerce-tabs,
  body.single-product #main .related {
    width: calc(100% - 32px) !important;
  }

  body.single-product .woocommerce-breadcrumb {
    width: calc(100% - 32px);
    margin: 14px auto 20px !important;
    overflow-wrap: anywhere;
  }

  body.single-product #main form.cart {
    display: grid !important;
    grid-template-columns: auto 1fr;
  }

  body.single-product #main form.cart .single_add_to_cart_button {
    width: 100%;
  }
}

@media (max-width: 390px) {
  .jmf2 {
    width: calc(100% - 32px);
  }

  .jmf2-index a {
    padding-inline: 14px;
  }

  body.single-product #main .woocommerce-product-gallery {
    flex: 0 0 auto !important;
    width: min(320px, calc(100vw - 32px)) !important;
    max-width: 320px !important;
    margin-inline: auto !important;
  }

  body.single-product #main .woocommerce-product-gallery .flex-viewport,
  body.single-product #main .woocommerce-product-gallery__image img {
    max-height: 320px !important;
  }

  body.single-product #main form.cart {
    grid-template-columns: 1fr;
  }

  body.single-product #main form.cart .quantity,
  body.single-product #main form.cart .quantity .qty {
    width: 100% !important;
  }
}

@media (max-width: 320px) {
  body.single-product #main .woocommerce-product-gallery {
    width: min(300px, calc(100vw - 32px)) !important;
    max-width: 300px !important;
  }

  body.single-product #main .woocommerce-product-gallery .flex-viewport,
  body.single-product #main .woocommerce-product-gallery__image img {
    max-height: 300px !important;
  }
}

/* Unified color authority. These selectors close the remaining gaps left by
   Blocksy, WOOF and the consent layer, which otherwise ship their own accent
   colors after the theme tokens. */
html body.jmf2-factory #header li.menu-item-21 > a,
html body.jmf2-factory #header a.ct-menu-link[href$="/catalog/"] {
  border-color: var(--jmf-action) !important;
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action) !important;
}

html body.jmf2-factory #header li.menu-item-21 > a:hover,
html body.jmf2-factory #header li.menu-item-21 > a:focus-visible,
html body.jmf2-factory #header a.ct-menu-link[href$="/catalog/"]:hover,
html body.jmf2-factory #header a.ct-menu-link[href$="/catalog/"]:focus-visible {
  border-color: var(--jmf-action-hover) !important;
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action-hover) !important;
}

html body.jmf2-factory #header li.menu-item-21 > a:active,
html body.jmf2-factory #header a.ct-menu-link[href$="/catalog/"]:active {
  border-color: var(--jmf-action-active) !important;
  background: var(--jmf-action-active) !important;
}

@media (max-width: 999px) {
  html body.jmf2-factory #offcanvas .mobile-menu .menu-item-21 > .ct-sub-menu-parent {
    border-left: 2px solid var(--jmf-brand);
  }

  html body.jmf2-factory #offcanvas .mobile-menu .menu-item-21.dropdown-active > .ct-sub-menu-parent {
    background: rgba(21, 122, 78, 0.22) !important;
  }
}

html body.jmf2-factory .jmt-consent__button--primary {
  border-color: var(--jmf-action) !important;
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action) !important;
}

html body.jmf2-factory .jmt-consent__button--primary:hover,
html body.jmf2-factory .jmt-consent__button--primary:focus-visible {
  border-color: var(--jmf-action-hover) !important;
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action-hover) !important;
}

html body.jmf2-factory .jmt-consent__button--primary:active {
  border-color: var(--jmf-action-active) !important;
  background: var(--jmf-action-active) !important;
}

html body.jmf2-factory .jmt-consent__button:not(.jmt-consent__button--primary) {
  border-color: var(--jmf-action) !important;
  color: var(--jmf-link) !important;
  background: var(--jmf-surface) !important;
}

html body.jmf2-factory .jmt-consent__button:not(.jmt-consent__button--primary):hover,
html body.jmf2-factory .jmt-consent__button:not(.jmt-consent__button--primary):focus-visible {
  border-color: var(--jmf-action-hover) !important;
  color: var(--jmf-action-active) !important;
  background: var(--jmf-action-soft) !important;
}

html body.jmf2-factory .jmt-consent__button:not(.jmt-consent__button--primary):active {
  border-color: var(--jmf-action-active) !important;
  color: var(--jmf-action-active) !important;
  background: var(--jmf-action-soft) !important;
}

html body.jmf2-factory .jmt-consent__button:disabled {
  border-color: var(--jmf-line) !important;
  color: var(--jmf-muted) !important;
  background: var(--jmf-surface-soft) !important;
  cursor: not-allowed;
}

html body.jmf2-factory .irs-bar,
html body.jmf2-factory .irs-from,
html body.jmf2-factory .irs-to,
html body.jmf2-factory .irs-single {
  border-color: var(--jmf-action) !important;
  background: var(--jmf-action) !important;
}

html body.jmf2-factory .irs-from::before,
html body.jmf2-factory .irs-to::before,
html body.jmf2-factory .irs-single::before {
  border-top-color: var(--jmf-action) !important;
}

html body.jmf2-factory .irs-handle,
html body.jmf2-factory .irs-handle > i:first-child {
  border-color: var(--jmf-action) !important;
  background-color: var(--jmf-action) !important;
}

html body.jmf2-factory .irs-handle:hover,
html body.jmf2-factory .irs-handle.state_hover,
html body.jmf2-factory .irs-handle:hover > i:first-child,
html body.jmf2-factory .irs-handle.state_hover > i:first-child {
  border-color: var(--jmf-action-hover) !important;
  background-color: var(--jmf-action-hover) !important;
}

html body.jmf2-factory .irs-disabled {
  opacity: 0.55 !important;
}

html body.jmf2-factory :is(
  .woof_container input:not([type="checkbox"]):not([type="radio"]),
  .woof_container select,
  .chosen-container .chosen-single,
  .chosen-container .chosen-choices,
  .chosen-container .chosen-search-input
) {
  border-color: var(--jmf-control-border) !important;
}

html body.jmf2-factory :is(
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .price *,
  .woocommerce-Price-amount,
  .wc-block-components-product-price,
  .wc-block-components-totals-item__value,
  .wc-block-components-order-summary-item__individual-price
) {
  color: var(--jmf-ink) !important;
}

html body.jmf2-factory :is(
  .woocommerce ul.products li.product .ct-woo-card-actions .button:not(.compare),
  .single_add_to_cart_button,
  .wpforms-container button[type="submit"],
  .woocommerce .checkout-button,
  .woocommerce #place_order,
  .jmt-cb-submit
):active {
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action-active) !important;
}

html body.jmf2-factory :is(
  .woocommerce ul.products li.product .ct-woo-card-actions .button:not(.compare),
  .single_add_to_cart_button,
  .wpforms-container button[type="submit"],
  .woocommerce .checkout-button,
  .woocommerce #place_order
):is(:disabled, [aria-disabled="true"]) {
  border-color: var(--jmf-line) !important;
  color: var(--jmf-muted) !important;
  background: var(--jmf-line) !important;
  cursor: not-allowed !important;
}

html body.jmf2-factory :is(
  .wpforms-container button[type="submit"],
  .woocommerce .checkout-button,
  .woocommerce #place_order
):hover {
  color: var(--jmf-on-action) !important;
  background: var(--jmf-action-hover) !important;
}

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

/* ===== JM AUDIT FIX v1 (site-recursive-review cycle-1) START ===== */

/* 1. КРИТИЧНО. Каталог: hero-баннер #jmt-cat-hero — белый текст лежал на светло-сером
   фоне секции (#e7ecef), контраст 1.19 → текст невидим. Даём баннеру собственный
   фирменный фон, текст становится читаемым и on-brand. Скоуп строго на hero. */
#jmt-cat-hero{
  background:var(--jmf-ink);
  color:#fff;
  border-radius:16px;
  padding:clamp(24px,4vw,40px) clamp(20px,3vw,32px);
  margin:8px 0 24px;
}
#jmt-cat-hero h2{ color:#fff !important; }
#jmt-cat-hero p{ color:rgba(255,255,255,.92) !important; }
#jmt-cat-hero .jmt-cat-badge{ background:rgba(255,255,255,.16); color:#fff !important; }

/* 2. Тач-таргеты ≥44px на мобиле. Заголовок товара в листинге был 21px высотой,
   ссылки подкатегорий 14px — мелко для пальца. */
ul.products li.product a.woocommerce-loop-product__link{
  display:block;
  min-height:44px;
  padding:6px 0 2px;
  line-height:1.35;
}
a[class*="ct-term-"]{
  display:inline-block;
  padding:9px 6px;
  line-height:1.4;
}

/* 3. SEO-таблицы в описаниях категорий тянулись до ~543px в 390-вьюпорте и клиппались.
   Даём горизонтальный скролл контейнера вместо обрезки. */
.term-description table,
.woocommerce-products-header__description table,
.entry-content table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
@media (max-width:480px){
  .term-description table,
  .woocommerce-products-header__description table{ font-size:14px; }
}

/* 4. Согласованный масштаб заголовков в SEO-описаниях (H2 рендерился 15px — мельче body 16px). */
.term-description h2,
.woocommerce-products-header__description h2,
.entry-content h2{
  font-size:clamp(20px,2.4vw,26px);
  line-height:1.25;
}
.term-description h3,
.woocommerce-products-header__description h3{ font-size:clamp(17px,2vw,20px); }

/* 5. Оранжевый лефтовер и невидимый фокус на конверсионных формах.
   Была палитра #F97316 и фокус-кольцо rgba(249,115,22,.12) 12% (почти невидимо),
   а в чекауте/калькуляторе outline:none. Возвращаем видимый синий фокус. */

.jmt-oc-box :focus-visible,
form.cart :focus-visible,
.woocommerce-cart-form :focus-visible,
.wpforms-form :focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
button:focus-visible,a:focus-visible{
  outline:2px solid var(--jmf-focus) !important;
  outline-offset:2px !important;
  box-shadow:none !important;
}

/* 6. prefers-reduced-motion — отсутствовал в jmt-design.css. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
/* ===== JM AUDIT FIX v1 (site-recursive-review cycle-1) END ===== */
/* ===== JM AUDIT FIX v1.1 (correct jmf2 selectors) START ===== */

/* Описания категорий рендерятся в section.jmf2-guide (не .term-description).
   SEO-таблицы клиппались до ~500px на 390 — даём контейнеру горизонтальный скролл. */
.jmf2-guide table,
.jmf2 table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
@media (max-width:480px){
  .jmf2-guide table,
  .jmf2 table{ font-size:14px; }
}

/* Ссылки подкатегорий (.meta-categories a.ct-term-*) были 14px высотой — мелко для пальца.
   Поднимаем спецификацию выше темы и растим тап-зону. */
.meta-categories a[class*="ct-term-"],
.product_meta a[class*="ct-term-"]{
  display:inline-block;
  padding:9px 8px;
  line-height:1.4;
  min-height:40px;
}
/* ===== JM AUDIT FIX v1.1 (correct jmf2 selectors) END ===== */


/* Catalogue navigation owner. Applied only to the shop overview, not product
   galleries or category descriptions. Keeps all ten category destinations. */
body.home #main > .ct-container-full[data-vertical-spacing] {
  padding-top: 0;
  padding-bottom: 0;
}
body.woocommerce-shop .hero-section .entry-header {
  display: block;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  text-align: left;
}
body.woocommerce-shop .hero-section { background: transparent; }
body.woocommerce-shop .hero-section .entry-header h1.page-title {
  width: 100%;
  text-align: left;
  margin: 0 0 24px;
}
body.woocommerce-shop #jmt-cat-hero { display: none; }
body.woocommerce-shop .page-description { margin-top: 24px; }
body.woocommerce-shop .page-description > .woocommerce { width: 100%; }
body.woocommerce-shop .page-description ul.products {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 28px !important;
}
body.woocommerce-shop .page-description ul.products li.product-category {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 96px;
  height: auto !important;
  padding: 12px !important;
  margin: 0;
  width: auto;
  border: 1px solid var(--jmf-line);
  border-radius: 10px !important;
  background: var(--jmf-surface);
  box-shadow: none !important;
  overflow: visible !important;
}
body.woocommerce-shop .page-description li.product-category figure {
  width: 48px;
  height: 48px !important;
  margin: 0;
}
body.woocommerce-shop .page-description li.product-category figure a {
  min-height: 48px;
  height: 48px;
  padding: 0;
  aspect-ratio: 1;
  border-radius: 4px;
  background: #fff;
}
body.woocommerce-shop .page-description li.product-category figure img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain !important;
  padding: 0 !important;
}
body.woocommerce-shop .page-description li.product-category h2 {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  font-size: 14px !important;
  line-height: 1.3;
  text-align: left;
}
/* Specificity boundary for the legacy Customizer category-card rules. These
   declarations are confined to overview navigation; product cards stay owned
   by the WooCommerce layer. */
body.woocommerce-shop .page-description ul.products > li.product.product-category .woocommerce-loop-category__title {
  min-width: 0;
  min-height: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  font-size: 14px !important;
  width: 100%;
}
body.woocommerce-shop .page-description ul.products > li.product.product-category .woocommerce-loop-category__title > a {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial;
  max-height: none;
  white-space: normal;
  overflow-wrap: anywhere;
  hyphens: auto;
  min-height: 64px;
  width: 100%;
}
body.woocommerce-shop .page-description li.product-category h2 a {
  display: flex !important;
  align-items: center;
  min-height: 48px;
  padding: 0;
  color: var(--jmf-ink);
  text-decoration: none;
  -webkit-line-clamp: unset !important;
  max-height: none !important;
  overflow: visible !important;
}
body.woocommerce-shop .page-description li.product-category:hover,
body.woocommerce-shop .page-description li.product-category:focus-within {
  border-color: var(--jmf-brand);
  background: var(--jmf-brand-soft);
}
body.woocommerce-shop .page-description li.product-category h2 a:hover {
  color: var(--jmf-brand-active);
  text-decoration: underline;
}
@media (max-width: 1100px) {
  body.woocommerce-shop .page-description ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  body.woocommerce-shop .page-description ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.woocommerce-shop .page-description ul.products li.product-category {
    grid-template-columns: 1fr;
    gap: 6px;
    min-height: 102px;
    padding: 10px !important;
  }
  body.woocommerce-shop .page-description li.product-category figure { display: none !important; }
  body.woocommerce-shop .page-description li.product-category h2 { font-size: 14px; }
  body.woocommerce-shop .page-description li.product-category h2 a { min-height: 64px; }
}

/* Consistent form gutter, without changing validation or submit destinations. */
body.page-id-1461 #main > :is(.ct-container, .ct-container-full) {
  width: min(var(--jmf-container), calc(100% - 48px));
  margin-inline: auto;
}
@media (max-width: 480px) {
  body.page-id-1461 #main > :is(.ct-container, .ct-container-full) {
    width: calc(100% - 32px);
  }
}
body.page-id-16 #post-16 > .entry-content > .wp-block-group > .wp-block-columns {
  width: min(1152px, calc(100% - 48px));
  max-width: none;
  margin-inline: auto !important;
}
@media (max-width: 480px) {
  body.page-id-16 #post-16 > .entry-content > .wp-block-group > .wp-block-columns {
    width: calc(100% - 32px);
  }
}
body.page-id-1461 .entry-content > * {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
body.page-id-1461 .entry-content > .wpforms-container { width: 100%; }
body.page-id-1461 .entry-content a[href^="tel:"] {
  background: var(--jmf-brand) !important;
  color: #fff !important;
}


/* Homepage content only. Load after the child-theme stylesheet. */
.jmt26-home {
  --jmt26-ink: #142333;
  --jmt26-muted: #52616d;
  --jmt26-green: #157a4e;
  --jmt26-green-hover: #10633f;
  --jmt26-line: #dce3e5;
  --jmt26-surface: #f4f7f6;
  width: min(1200px, calc(100% - 48px));
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 0 48px;
  color: var(--jmt26-ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.55;
  text-align: left;
  overflow-wrap: break-word;
}

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

.jmt26-home h1,
.jmt26-home h2,
.jmt26-home h3,
.jmt26-home p,
.jmt26-home ul { margin: 0; }

.jmt26-home h1,
.jmt26-home h2,
.jmt26-home h3 {
  padding: 0;
  border: 0;
  background: none;
  color: var(--jmt26-ink);
  font-family: inherit;
  font-style: normal;
  font-weight: 700;
  text-transform: none;
}

.jmt26-home a { color: inherit; text-decoration: none; }
.jmt26-home img { display: block; max-width: 100%; height: auto; }
.jmt26-home button,
.jmt26-home input { font: inherit; }
.jmt26-home a:focus-visible,
.jmt26-home button:focus-visible,
.jmt26-home input:focus-visible { outline: 3px solid #176caa; outline-offset: 4px; }

.jmt26-home .jmt26-eyebrow {
  margin: 0 0 12px;
  color: var(--jmt26-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.5;
  text-transform: uppercase;
}

.jmt26-home .jmt26-hero { display: grid; gap: 24px; }
.jmt26-home .jmt26-hero__copy { min-width: 0; }
.jmt26-home .jmt26-hero__title {
  max-width: 740px;
  margin: 0 0 18px;
  font-size: clamp(32px, 4.2vw, 54px);
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.jmt26-home .jmt26-hero__lead {
  max-width: 590px;
  color: var(--jmt26-muted);
  font-size: 16px;
  line-height: 1.6;
}
.jmt26-home .jmt26-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; align-items: center; }
.jmt26-home .jmt26-button {
  display: inline-flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 16px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  box-shadow: none;
  transition: background-color .15s ease, border-color .15s ease;
}
.jmt26-home .jmt26-button--primary { background: var(--jmt26-green); color: #fff; }
.jmt26-home .jmt26-button--primary:hover { background: var(--jmt26-green-hover); color: #fff; }
.jmt26-home .jmt26-button--primary:active { background: #0b5032; }
.jmt26-home .jmt26-button--secondary { background: #fff; border-color: #b7c4c7; color: var(--jmt26-ink); }
.jmt26-home .jmt26-button--secondary:hover { background: #eef4f1; border-color: var(--jmt26-green); color: var(--jmt26-ink); }
.jmt26-home .jmt26-button--secondary:active { background: #e2ece6; }

.jmt26-home .jmt26-search { margin: 24px 0 0; padding: 0; max-width: 540px; }
.jmt26-home .jmt26-search label { display: block; margin-bottom: 8px; color: var(--jmt26-muted); font-size: 13px; font-weight: 500; }
.jmt26-home .jmt26-search__row { display: flex; align-items: stretch; gap: 8px; }
.jmt26-home .jmt26-search input[type="search"] {
  flex: 1 1 0%;
  min-width: 0;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #b7c4c7;
  border-radius: 6px;
  background: #fff;
  color: var(--jmt26-ink);
  box-shadow: none;
  font-size: 16px;
}
.jmt26-home .jmt26-search input::placeholder { color: #65737b; opacity: 1; }
.jmt26-home .jmt26-search button {
  flex: 0 0 auto;
  min-width: 72px;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid var(--jmt26-ink);
  border-radius: 6px;
  background: var(--jmt26-ink);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  box-shadow: none;
}
.jmt26-home .jmt26-search button:hover { background: #2a4053; border-color: #2a4053; }
.jmt26-home .jmt26-search button:active { background: #0c1926; }

.jmt26-home .jmt26-hero__media {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px;
  border: 1px solid #e0e7e3;
  border-radius: 12px;
  background: #f1f5f2;
}
.jmt26-home .jmt26-hero__media-label { color: #476253; font-size: 12px; font-weight: 500; }
.jmt26-home .jmt26-hero__media > img { width: 100%; height: 195px; margin: 8px auto; object-fit: contain; }
.jmt26-home .jmt26-hero__product-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding-top: 12px; border-top: 1px solid #cfddd4; }
.jmt26-home .jmt26-hero__product-link strong { display: block; font-size: 17px; font-weight: 700; }
.jmt26-home .jmt26-hero__product-link span span { display: block; margin-top: 3px; color: #52645a; font-size: 12px; line-height: 1.5; }
.jmt26-home .jmt26-hero__product-link > span:last-child { color: var(--jmt26-green); font-size: 24px; }
.jmt26-home .jmt26-hero__product-link:hover strong { color: var(--jmt26-green); text-decoration: underline; text-underline-offset: 3px; }

.jmt26-home .jmt26-service-line { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 24px; padding: 18px 0; border-bottom: 1px solid var(--jmt26-line); }
.jmt26-home .jmt26-service-line > span { display: flex; align-items: center; gap: 9px; color: var(--jmt26-muted); font-size: 13px; line-height: 1.5; }
.jmt26-home .jmt26-service-line > span::before { content: ""; flex: 0 0 5px; width: 5px; height: 5px; background: var(--jmt26-green); border-radius: 1px; }

.jmt26-home .jmt26-section { margin-top: 44px; }
.jmt26-home .jmt26-section__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 14px 24px; margin-bottom: 20px; }
.jmt26-home .jmt26-section__head .jmt26-eyebrow { margin-bottom: 8px; }
.jmt26-home .jmt26-section-title { max-width: 720px; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
.jmt26-home .jmt26-text-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--jmt26-green); font-size: 14px; font-weight: 700; line-height: 1.5; }
.jmt26-home .jmt26-text-link:hover { color: var(--jmt26-green-hover); text-decoration: underline; text-underline-offset: 4px; }
.jmt26-home .jmt26-text-link > span { flex: 0 0 auto; }

.jmt26-home .jmt26-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.jmt26-home .jmt26-category { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 12px; border: 1px solid var(--jmt26-line); border-radius: 8px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.jmt26-home .jmt26-category:hover { border-color: #99b7a7; box-shadow: 0 4px 14px rgb(20 35 51 / 6%); }
.jmt26-home .jmt26-category:active { border-color: var(--jmt26-green); }
.jmt26-home .jmt26-category__image { display: flex; align-items: center; justify-content: center; width: 100%; height: 114px; margin-bottom: 12px; }
.jmt26-home .jmt26-category__image img { width: 100%; height: 100%; object-fit: contain; }
.jmt26-home .jmt26-category__copy { display: block; }
.jmt26-home .jmt26-category__copy strong { display: block; font-size: 15px; line-height: 1.35; font-weight: 700; }
.jmt26-home .jmt26-category__copy > span { display: block; margin-top: 6px; color: var(--jmt26-muted); font-size: 12px; line-height: 1.5; }
.jmt26-home .jmt26-category__arrow { display: block; margin-top: auto; padding-top: 8px; color: var(--jmt26-green); font-size: 20px; line-height: 1; }

.jmt26-home .jmt26-products { display: grid; gap: 12px; }
.jmt26-home .jmt26-product { display: grid; grid-template-columns: minmax(100px, 36%) minmax(0, 1fr); min-width: 0; border: 1px solid var(--jmt26-line); border-radius: 8px; background: #fff; overflow: hidden; }
.jmt26-home .jmt26-product__image { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 12px; }
.jmt26-home .jmt26-product__image img { width: 100%; height: 160px; object-fit: contain; }
.jmt26-home .jmt26-product__copy { display: flex; flex-direction: column; min-width: 0; padding: 20px 14px 16px 0; }
.jmt26-home .jmt26-product__title { margin: 0 0 10px; font-size: 18px; line-height: 1.3; letter-spacing: -.01em; }
.jmt26-home .jmt26-product__copy > p { margin: 0 0 12px; color: var(--jmt26-muted); font-size: 13px; line-height: 1.55; }
.jmt26-home .jmt26-product__copy .jmt26-text-link { margin-top: auto; font-size: 13px; }
.jmt26-home .jmt26-products-note { margin-top: 16px; color: var(--jmt26-muted); font-size: 13px; }

.jmt26-home .jmt26-request { display: grid; gap: 28px; margin-top: 44px; padding: 28px 22px; border-radius: 12px; background: var(--jmt26-ink); color: #fff; }
.jmt26-home .jmt26-request .jmt26-eyebrow { color: #a9d3bd; }
.jmt26-home .jmt26-request .jmt26-section-title { color: #fff; }
.jmt26-home .jmt26-request__copy > p:not(.jmt26-eyebrow) { margin-top: 16px; color: #d0dae1; font-size: 15px; line-height: 1.65; }
.jmt26-home .jmt26-request .jmt26-actions { gap: 12px 20px; }
.jmt26-home .jmt26-request__contact { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.jmt26-home .jmt26-request__contact:hover { color: #bce2ce; }
.jmt26-home .jmt26-request__details { padding-top: 24px; border-top: 1px solid #405160; }
.jmt26-home .jmt26-request__details h3 { color: #fff; font-size: 17px; line-height: 1.4; }
.jmt26-home .jmt26-request__details ul { display: grid; gap: 10px; margin: 14px 0 18px; padding-left: 18px; color: #d0dae1; font-size: 14px; line-height: 1.5; list-style: disc; }
.jmt26-home .jmt26-request__details li { margin: 0; padding: 0; }
.jmt26-home .jmt26-request__details > a { display: inline-block; min-height: 44px; padding: 8px 0; color: #bce2ce; font-size: 13px; line-height: 1.55; text-decoration: underline; text-underline-offset: 3px; }
.jmt26-home .jmt26-request__details > a:hover { color: #fff; }

@media (max-width: 359px) {
  .jmt26-home { width: calc(100% - 32px); }
  .jmt26-home .jmt26-hero__title { font-size: 29px; }
  .jmt26-home .jmt26-category { padding: 10px; }
  .jmt26-home .jmt26-category__image { height: 98px; }
  .jmt26-home .jmt26-category__copy strong { font-size: 14px; }
  .jmt26-home .jmt26-product { grid-template-columns: minmax(86px, 33%) minmax(0, 1fr); }
  .jmt26-home .jmt26-product__image { padding: 8px; }
  .jmt26-home .jmt26-product__title { font-size: 17px; }
}

@media (min-width: 600px) {
  .jmt26-home { padding-top: 36px; padding-bottom: 64px; }
  .jmt26-home .jmt26-button { flex: 0 1 auto; padding-right: 22px; padding-left: 22px; }
  .jmt26-home .jmt26-hero__media { padding: 24px; }
  .jmt26-home .jmt26-hero__media > img { height: 260px; max-width: 440px; }
  .jmt26-home .jmt26-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .jmt26-home .jmt26-category { padding: 18px; }
  .jmt26-home .jmt26-category__image { height: 140px; }
  .jmt26-home .jmt26-category__copy strong { font-size: 17px; }
  .jmt26-home .jmt26-category__copy > span { font-size: 13px; }
  .jmt26-home .jmt26-product { grid-template-columns: 32% minmax(0, 1fr); }
  .jmt26-home .jmt26-product__copy { padding: 24px; }
  .jmt26-home .jmt26-product__title { font-size: 22px; }
  .jmt26-home .jmt26-product__copy > p,
  .jmt26-home .jmt26-product__copy .jmt26-text-link { font-size: 14px; }
  .jmt26-home .jmt26-request { padding: 36px; }
}

@media (min-width: 960px) {
  .jmt26-home .jmt26-hero { grid-template-columns: minmax(0, 1.24fr) minmax(0, 1fr); align-items: stretch; gap: 40px; }
  .jmt26-home .jmt26-hero__copy { padding: 16px 0; }
  .jmt26-home .jmt26-hero__lead { font-size: 17px; }
  .jmt26-home .jmt26-hero__media { justify-content: space-between; }
  .jmt26-home .jmt26-hero__media > img { flex: 1 1 auto; min-height: 0; height: 270px; }
  .jmt26-home .jmt26-hero__product-link span span { font-size: 13px; }
  .jmt26-home .jmt26-service-line { justify-content: space-between; margin-top: 32px; padding: 22px 0; }
  .jmt26-home .jmt26-service-line > span { font-size: 14px; }
  .jmt26-home .jmt26-section { margin-top: 64px; }
  .jmt26-home .jmt26-section__head { margin-bottom: 24px; }
  .jmt26-home .jmt26-category { padding: 22px; }
  .jmt26-home .jmt26-category__image { height: 160px; }
  .jmt26-home .jmt26-category__copy strong { font-size: 18px; }
  .jmt26-home .jmt26-category__arrow { position: absolute; right: 22px; bottom: 22px; }
  .jmt26-home .jmt26-category__copy { padding-right: 22px; }
  .jmt26-home .jmt26-products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .jmt26-home .jmt26-product { display: flex; flex-direction: column; }
  .jmt26-home .jmt26-product__image { padding: 24px 28px 0; }
  .jmt26-home .jmt26-product__image img { height: 210px; }
  .jmt26-home .jmt26-product__copy { flex: 1 1 auto; padding: 24px; }
  .jmt26-home .jmt26-product__title { font-size: 21px; }
  .jmt26-home .jmt26-request { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 48px; margin-top: 64px; padding: 42px; }
  .jmt26-home .jmt26-request__details { padding: 0 0 0 36px; border-top: 0; border-left: 1px solid #405160; }
}

@media (prefers-reduced-motion: reduce) {
  .jmt26-home .jmt26-button,
  .jmt26-home .jmt26-category { transition: none; }
}
