.ktf-woo-main .woocommerce-breadcrumb { width: min(calc(100% - var(--ktf-gutter) * 2), var(--ktf-max)); margin: 0 auto; padding-block: 1rem; color: var(--ktf-muted); font: 700 .63rem/1.5 var(--ktf-sans); letter-spacing: .13em; text-transform: uppercase; }
.ktf-woo-main .woocommerce-breadcrumb a:hover { color: var(--ktf-brick); }
.ktf-woo-main .woocommerce-notices-wrapper { width: min(calc(100% - var(--ktf-gutter) * 2), var(--ktf-max)); margin-inline: auto; }
.ktf-catalog-hero { position: relative; min-height: clamp(380px, 40vw, 560px); display: flex; align-items: center; overflow: hidden; }
.ktf-catalog-hero__image { position: absolute; inset: 0; }
.ktf-catalog-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ktf-catalog-hero__copy { position: relative; z-index: 1; padding-block: 3.5rem; }
.ktf-catalog-hero__copy::before { content: ''; position: absolute; z-index: -1; inset: 0 auto 0 calc(-1 * var(--ktf-gutter)); width: min(62vw, 760px); background: #f3f1e8d9; }
.ktf-catalog-hero__copy .ktf-display { max-width: 710px; font-size: clamp(3.8rem, 7vw, 7.7rem); }
.ktf-catalog-hero__copy .ktf-lead { max-width: 430px; margin-bottom: 0; }
.ktf-catalog { padding-block: clamp(65px, 8vw, 110px); }
.ktf-catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 2.5rem; }
.ktf-catalog-heading .ktf-lead { margin: 0; max-width: 320px; color: var(--ktf-muted); }
.ktf-ride-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.5rem; border-block: 1px solid var(--ktf-line); margin-bottom: 1.1rem; }
.ktf-ride-filters a { display: inline-block; padding: 1rem .1rem; border-bottom: 2px solid transparent; font: 700 .65rem var(--ktf-sans); letter-spacing: .14em; text-transform: uppercase; }
.ktf-ride-filters a:hover, .ktf-ride-filters a[aria-current] { color: var(--ktf-brick); border-color: var(--ktf-brick); }
.ktf-catalog .woocommerce-result-count { float: none; margin: 0; color: var(--ktf-muted); font: 700 .65rem var(--ktf-sans); letter-spacing: .1em; text-transform: uppercase; }
.ktf-catalog .woocommerce-ordering { float: none; margin: 0; }
.ktf-catalog .woocommerce-ordering select { min-width: 160px; border: 0; border-bottom: 1px solid var(--ktf-line); background: transparent; padding: .45rem 1.2rem .45rem .2rem; color: var(--ktf-ink); font: 700 .65rem var(--ktf-sans); text-transform: uppercase; letter-spacing: .1em; }
.ktf-catalog .woocommerce-notices-wrapper { width: 100%; }
.ktf-catalog > .woocommerce-result-count { display: inline-block; margin-bottom: 1.2rem; }
.ktf-catalog > .woocommerce-ordering { display: inline-block; float: right; margin-bottom: 1.2rem; }
.ktf-catalog ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; clear: both; margin: 0; padding: 0; list-style: none; }
.ktf-catalog ul.products::before, .ktf-catalog ul.products::after { display: none; }
.ktf-catalog ul.products li.product.ktf-product-card { float: none; width: auto; margin: 0; padding: 0; background: var(--ktf-paper-light); border: 1px solid var(--ktf-line); display: flex; flex-direction: column; min-width: 0; }
.ktf-product-card__link { display: block; flex: 1; }
.ktf-product-card__media { position: relative; aspect-ratio: 1.25; overflow: hidden; background: #d5d8cd; }
.ktf-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ktf-product-card:hover .ktf-product-card__media img { transform: scale(1.035); }
.ktf-product-card__tag { position: absolute; left: .8rem; bottom: .8rem; padding: .45rem .6rem; background: var(--ktf-forest); color: #fff; font: 700 .57rem var(--ktf-sans); letter-spacing: .13em; text-transform: uppercase; }
.ktf-product-card__sale { position: absolute; top: .8rem; left: .8rem; padding: .45rem .6rem; background: var(--ktf-brick); color: #fff; font: 700 .57rem var(--ktf-sans); letter-spacing: .13em; text-transform: uppercase; }
.ktf-product-card__body { padding: clamp(1.1rem, 2vw, 1.7rem); }
.ktf-product-card__body .ktf-kicker { margin-bottom: .65rem; }
.ktf-product-card__body h3 { margin: 0; font: 400 clamp(1.6rem, 2.4vw, 2.5rem)/1.05 var(--ktf-serif); letter-spacing: -.045em; }
.ktf-product-card__excerpt { min-height: 3.5rem; margin: .8rem 0 1.3rem; color: var(--ktf-muted); font-size: .86rem; }
.ktf-product-card__specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: 0; padding-top: .9rem; border-top: 1px solid var(--ktf-line); }
.ktf-product-card__specs div { min-width: 0; }
.ktf-product-card__specs dt { color: var(--ktf-muted); font: 700 .55rem var(--ktf-sans); letter-spacing: .12em; text-transform: uppercase; }
.ktf-product-card__specs dd { margin: .35rem 0 0; font: 700 .65rem var(--ktf-sans); overflow-wrap: anywhere; }
.ktf-product-card__purchase { display: flex; justify-content: space-between; align-items: end; gap: .8rem; margin: 0 clamp(1.1rem, 2vw, 1.7rem) 1.3rem; padding-top: 1.1rem; border-top: 1px solid var(--ktf-line); }
.ktf-product-card__purchase strong { display: block; font: 700 1.15rem var(--ktf-sans); }
.ktf-stock { display: block; margin-top: .28rem; font: 700 .57rem var(--ktf-sans); letter-spacing: .1em; text-transform: uppercase; }
.ktf-stock.is-in-stock { color: #267944; }
.ktf-stock.is-out-of-stock { color: var(--ktf-brick); }
.ktf-catalog ul.products li.product .ktf-product-card__purchase a.button { display: inline-block; margin: 0; padding: .7rem .9rem; border-radius: 0; background: var(--ktf-brick); color: #fff; font: 700 .62rem var(--ktf-sans); letter-spacing: .1em; text-transform: uppercase; text-align: center; }
.ktf-catalog ul.products li.product .ktf-product-card__purchase a.button:hover { background: #923b28; }
.ktf-catalog .woocommerce-pagination { margin-top: 2.3rem; }
.ktf-catalog .woocommerce-pagination ul.page-numbers { border: 0; display: flex; justify-content: center; gap: .45rem; }
.ktf-catalog .woocommerce-pagination ul.page-numbers li { border: 0; }
.ktf-catalog .woocommerce-pagination .page-numbers a, .ktf-catalog .woocommerce-pagination .page-numbers span { display: grid; place-items: center; min-width: 34px; min-height: 34px; border: 1px solid var(--ktf-line); background: transparent; color: var(--ktf-ink); }
.ktf-catalog .woocommerce-pagination .page-numbers .current { background: var(--ktf-forest); color: #fff; border-color: var(--ktf-forest); }
.ktf-catalog-story { position: relative; min-height: 320px; display: flex; align-items: center; margin-bottom: clamp(70px, 8vw, 130px); overflow: hidden; background: var(--ktf-forest); color: #fff; }
.ktf-catalog-story > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.ktf-catalog-story > div { position: relative; z-index: 1; width: min(480px, 70%); padding: 3rem; background: #102d23df; }
.ktf-catalog-story .ktf-section-title { font-size: clamp(2.7rem, 4vw, 4.8rem); }
.ktf-catalog-story .ktf-text-link { margin-top: 1rem; }

.ktf-woo-main .ktf-single-product { padding-block: clamp(20px, 3vw, 45px) clamp(80px, 10vw, 140px); }
.ktf-single-product__top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); align-items: start; gap: clamp(38px, 6vw, 100px); }
.ktf-single-gallery { min-width: 0; }
.ktf-woo-main .ktf-single-gallery .woocommerce-product-gallery { float: none; width: 100%; margin: 0; }
.ktf-woo-main .ktf-single-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.ktf-single-gallery .woocommerce-product-gallery__image { overflow: hidden; background: #e4e5da; }
.ktf-single-gallery .woocommerce-product-gallery__image:first-child { aspect-ratio: 1.2; }
.ktf-single-gallery .woocommerce-product-gallery__image img { width: 100%; height: 100%; object-fit: cover; }
.ktf-single-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; padding: .75rem 0 0; list-style: none; }
.ktf-single-gallery .flex-control-thumbs li { float: none; width: auto; margin: 0; background: #e4e5da; }
.ktf-single-gallery .flex-control-thumbs img { aspect-ratio: 1.24; width: 100%; object-fit: cover; opacity: .7; }
.ktf-single-gallery .flex-control-thumbs img.flex-active, .ktf-single-gallery .flex-control-thumbs img:hover { opacity: 1; }
.ktf-single-gallery .onsale { position: absolute; z-index: 2; margin: .8rem; padding: .4rem .6rem; background: var(--ktf-brick); color: #fff; border-radius: 0; min-height: auto; font: 700 .65rem var(--ktf-sans); text-transform: uppercase; }
.ktf-woo-main .ktf-single-purchase { float: none; width: 100%; margin: 0; padding-top: clamp(0px, 2vw, 25px); }
.ktf-single-purchase .product_title { margin: 0 0 1.1rem; font: 400 clamp(3.3rem, 5.6vw, 6.2rem)/.97 var(--ktf-serif); letter-spacing: -.06em; }
.ktf-single-purchase .woocommerce-product-rating { margin: 0 0 1.3rem; }
.ktf-single-purchase .price { margin: 0 0 1.3rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--ktf-line); color: var(--ktf-forest); font: 700 clamp(1.5rem, 2vw, 2rem)/1 var(--ktf-sans); }
.ktf-single-purchase .price del { color: var(--ktf-muted); font-size: .75em; }
.ktf-single-purchase .woocommerce-product-details__short-description { margin: 0 0 1.6rem; color: var(--ktf-muted); font-size: 1.02rem; }
.ktf-single-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 1.8rem; border-block: 1px solid var(--ktf-line); }
.ktf-single-specs div { padding: 1rem .55rem; border-right: 1px solid var(--ktf-line); min-width: 0; }
.ktf-single-specs div:first-child { padding-left: 0; }
.ktf-single-specs div:last-child { border-right: 0; }
.ktf-single-specs dt { color: var(--ktf-muted); font: 700 .58rem/1.25 var(--ktf-sans); letter-spacing: .12em; text-transform: uppercase; }
.ktf-single-specs dd { margin: .5rem 0 0; font: 700 .75rem/1.35 var(--ktf-sans); overflow-wrap: anywhere; }
.ktf-single-purchase .stock { margin: 0 0 1rem; color: #267944; font: 700 .7rem var(--ktf-sans); letter-spacing: .08em; text-transform: uppercase; }
.ktf-single-purchase .stock.out-of-stock { color: var(--ktf-brick); }
.ktf-single-purchase form.cart { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.3rem 0; }
.ktf-single-purchase form.cart .variations { width: 100%; margin-bottom: .7rem; border: 0; }
.ktf-single-purchase form.cart .variations tbody { display: grid; gap: 1rem; }
.ktf-single-purchase form.cart .variations tr { display: grid; grid-template-columns: 100px minmax(0, 1fr); align-items: center; gap: 1rem; }
.ktf-single-purchase form.cart .variations td, .ktf-single-purchase form.cart .variations th { padding: 0; line-height: 1.4; }
.ktf-single-purchase form.cart .variations label { font: 700 .62rem var(--ktf-sans); letter-spacing: .12em; text-transform: uppercase; }
.ktf-single-purchase form.cart select { width: 100%; min-height: 44px; padding: .65rem; border: 1px solid var(--ktf-line); border-radius: 0; background: var(--ktf-paper-light); color: var(--ktf-ink); }
.ktf-single-purchase form.cart .reset_variations { margin-left: .6rem; color: var(--ktf-brick); font-size: .75rem; }
.ktf-single-purchase form.cart .single_variation_wrap { width: 100%; }
.ktf-single-purchase form.cart .woocommerce-variation-price { margin-block: .8rem; }
.ktf-single-purchase form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .8rem; }
.ktf-single-purchase form.cart .quantity { float: none; margin: 0; }
.ktf-single-purchase form.cart .qty { width: 5rem; min-height: 50px; padding: .5rem; border: 1px solid var(--ktf-line); background: var(--ktf-paper-light); text-align: center; }
.ktf-single-purchase form.cart .single_add_to_cart_button { flex: 1; min-height: 50px; margin: 0; padding: .9rem 1.2rem; border: 0; border-radius: 0; background: var(--ktf-brick); color: #fff; font: 700 .7rem var(--ktf-sans); letter-spacing: .13em; text-transform: uppercase; }
.ktf-single-purchase form.cart .single_add_to_cart_button:hover { background: #923b28; }
.ktf-single-purchase .product_meta { margin-top: 1.6rem; padding-top: 1rem; border-top: 1px solid var(--ktf-line); color: var(--ktf-muted); font-size: .75rem; }
.ktf-single-purchase .product_meta > span { display: block; margin: .4rem 0; }
.ktf-system { clear: both; padding-top: clamp(100px, 12vw, 170px); }
.ktf-system__heading { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-bottom: 2.2rem; }
.ktf-system__heading .ktf-lead { max-width: 340px; margin: 0; color: var(--ktf-muted); }
.ktf-system__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ktf-system__grid figure { margin: 0; background: var(--ktf-paper-light); border: 1px solid var(--ktf-line); }
.ktf-system__grid figure img { width: 100%; height: 250px; object-fit: cover; }
.ktf-system__grid figcaption { padding: 1rem; font: 700 .6rem var(--ktf-sans); letter-spacing: .14em; text-transform: uppercase; }
.ktf-system__note { display: flex; flex-direction: column; align-items: start; padding: 1.7rem; background: var(--ktf-forest); color: #fff; }
.ktf-system__note .ktf-eyebrow { color: #d9a395; }
.ktf-system__note h3 { margin: 0; font: 400 clamp(2rem, 3vw, 3.2rem)/1 var(--ktf-serif); letter-spacing: -.04em; }
.ktf-system__note p:not(.ktf-kicker) { color: #c6d2cb; font-size: .9rem; }
.ktf-system__note .ktf-text-link { margin-top: auto; }
.ktf-single-product .woocommerce-tabs { margin-top: clamp(65px, 8vw, 110px); border-top: 1px solid var(--ktf-line); padding-top: 1.6rem; }
.ktf-single-product .woocommerce-tabs ul.tabs { display: flex; gap: 1.5rem; padding: 0; margin: 0 0 1.8rem; border: 0; }
.ktf-single-product .woocommerce-tabs ul.tabs::before, .ktf-single-product .woocommerce-tabs ul.tabs li::before, .ktf-single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.ktf-single-product .woocommerce-tabs ul.tabs li { border: 0; border-radius: 0; background: transparent; margin: 0; padding: 0; }
.ktf-single-product .woocommerce-tabs ul.tabs li a { padding: .45rem 0; border-bottom: 2px solid transparent; font: 700 .68rem var(--ktf-sans); letter-spacing: .12em; text-transform: uppercase; }
.ktf-single-product .woocommerce-tabs ul.tabs li.active a { border-color: var(--ktf-brick); color: var(--ktf-brick); }
.ktf-single-product .woocommerce-tabs .panel { max-width: 800px; margin-bottom: 2rem; }
.ktf-single-product .woocommerce-tabs .panel h2 { font: 400 2rem var(--ktf-serif); }
.ktf-single-product .related, .ktf-single-product .up-sells { margin-top: clamp(70px, 8vw, 110px); }
.ktf-single-product .related > h2, .ktf-single-product .up-sells > h2 { font: 400 clamp(2.5rem, 4vw, 4.5rem) var(--ktf-serif); letter-spacing: -.05em; }
.ktf-single-product .related ul.products, .ktf-single-product .up-sells ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ktf-single-product .related ul.products li.product, .ktf-single-product .up-sells ul.products li.product { float: none; width: auto; margin: 0; }
.woocommerce-page .ktf-page-content .woocommerce { max-width: 100%; }
.woocommerce-page .woocommerce table.shop_table { border: 1px solid var(--ktf-line); border-radius: 0; background: var(--ktf-paper-light); }
.woocommerce-page .woocommerce table.shop_table th, .woocommerce-page .woocommerce table.shop_table td { border-color: var(--ktf-line); }
.woocommerce-page .woocommerce input.input-text, .woocommerce-page .woocommerce textarea, .woocommerce-page .woocommerce select { min-height: 44px; padding: .6rem .7rem; border: 1px solid var(--ktf-line); border-radius: 0; background: #fff; color: var(--ktf-ink); }
.woocommerce-page .woocommerce a.button, .woocommerce-page .woocommerce button.button, .woocommerce-page .woocommerce input.button, .woocommerce-page .woocommerce #payment #place_order { border: 0; border-radius: 0; padding: .9rem 1.2rem; background: var(--ktf-forest); color: #fff; font: 700 .7rem var(--ktf-sans); letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-page .woocommerce a.button:hover, .woocommerce-page .woocommerce button.button:hover, .woocommerce-page .woocommerce input.button:hover, .woocommerce-page .woocommerce #payment #place_order:hover { background: var(--ktf-pine); color: #fff; }
.woocommerce-page .woocommerce form.checkout_coupon, .woocommerce-page .woocommerce form.login, .woocommerce-page .woocommerce form.register { border: 1px solid var(--ktf-line); border-radius: 0; }
.woocommerce-page .woocommerce #payment { border-radius: 0; background: #e8e9dc; }

@media (max-width: 1000px) {
  .ktf-catalog ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ktf-catalog-heading { align-items: start; }
  .ktf-single-product__top { grid-template-columns: minmax(0, 1fr) minmax(310px, .85fr); gap: 2rem; }
  .ktf-single-specs { grid-template-columns: repeat(2, 1fr); }
  .ktf-single-specs div:nth-child(2) { border-right: 0; }
  .ktf-single-specs div:nth-child(-n+2) { border-bottom: 1px solid var(--ktf-line); }
  .ktf-system__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ktf-system__note { grid-column: 1 / -1; min-height: 250px; }
}
@media (max-width: 700px) {
  .ktf-catalog-hero { min-height: 420px; align-items: end; }
  .ktf-catalog-hero__image img { object-position: 60% center; }
  .ktf-catalog-hero__copy { padding-block: 2rem; }
  .ktf-catalog-hero__copy::before { width: calc(100% + var(--ktf-gutter) * 2); background: #f3f1e8de; }
  .ktf-catalog-hero__copy .ktf-display { font-size: clamp(3.1rem, 12vw, 5.5rem); }
  .ktf-catalog-heading { display: block; }
  .ktf-catalog-heading .ktf-lead { margin-top: 1.2rem; }
  .ktf-catalog ul.products { grid-template-columns: 1fr; }
  .ktf-catalog-story > div { width: 100%; margin-top: 10rem; padding: 1.5rem; }
  .ktf-single-product__top { grid-template-columns: 1fr; }
  .ktf-system__heading { display: block; }
  .ktf-system__heading .ktf-lead { margin-top: 1rem; }
  .ktf-system__grid { grid-template-columns: 1fr; }
  .ktf-system__note { grid-column: auto; }
  .ktf-single-product .related ul.products, .ktf-single-product .up-sells ul.products { grid-template-columns: 1fr; }
}
