.fk-category-strip > a {
  min-height: 112px;
  overflow: hidden;
}
.fk-category-strip > a img {
  display: block;
  width: 100%;
  height: 76px;
  object-fit: contain;
  background: #f7f7f4;
}
.fk-category-strip > a b {
  padding: 0 8px 8px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link:hover img {
  transform: scale(1.025);
}
.woocommerce ul.products li.product img {
  transition: transform .2s ease;
}
.fk-image-note {
  margin-top: 8px;
  color: #686d67;
  font-size: 11px;
}

.fk-catalog-page { padding-bottom: 70px; }
.fk-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.fk-product-card { border: 1px solid #dddeda; background: #fff; display: flex; flex-direction: column; min-width: 0; }
.fk-product-card-image { display: block; overflow: hidden; background: #f6f6f3; aspect-ratio: 1 / 1; }
.fk-product-card-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .2s ease; }
.fk-product-card-image:hover img { transform: scale(1.035); }
.fk-product-card-copy { padding: 17px; display: flex; flex: 1; flex-direction: column; }
.fk-product-card-copy > span { color: #63705f; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fk-product-card h2 { font-family: "DM Sans", sans-serif; font-size: 16px; line-height: 1.35; margin: 7px 0 9px; }
.fk-product-card h2 a { color: #191b19; text-decoration: none; }
.fk-product-card p { color: #626660; font-size: 13px; line-height: 1.55; margin: 0 0 17px; }
.fk-card-link { color: #526d50; font-size: 13px; font-weight: 700; margin-top: auto; text-decoration: none; }
.fk-native-product { padding-top: 25px; }
.fk-product-breadcrumbs { color: #6b716b; display: flex; gap: 9px; font-size: 12px; padding-bottom: 20px; }
.fk-product-breadcrumbs a { color: inherit; text-decoration: none; }
.fk-product-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 64px; align-items: center; padding-bottom: 70px; }
.fk-product-main-image { aspect-ratio: 1 / 1; background: #f4f4f1; border: 1px solid #e2e2de; }
.fk-product-main-image img { width: 100%; height: 100%; object-fit: contain; }
.fk-product-summary h1 { font-family: "Libre Caslon Display", serif; font-size: clamp(38px, 4vw, 61px); font-weight: 400; line-height: 1.05; margin: 10px 0 20px; }
.fk-product-lede { color: #505650; font-size: 17px; line-height: 1.7; }
.fk-product-summary dl { border-bottom: 1px solid #dedfda; border-top: 1px solid #dedfda; margin: 26px 0; }
.fk-product-summary dl div { display: grid; grid-template-columns: 135px 1fr; border-bottom: 1px solid #ecece8; padding: 11px 0; }
.fk-product-summary dl div:last-child { border: 0; }
.fk-product-summary dt { color: #686e67; font-size: 12px; text-transform: uppercase; letter-spacing: .07em; }
.fk-product-summary dd { margin: 0; font-size: 14px; font-weight: 600; }
.fk-amazon-button { display: inline-flex; gap: 10px; align-items: center; }
.fk-product-detail-layout { border-top: 1px solid #dedfda; display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 70px; padding-bottom: 80px; padding-top: 60px; }
.fk-product-description { max-width: 780px; }
.fk-product-description h2 { font-family: "Libre Caslon Display", serif; font-size: 31px; font-weight: 400; margin: 34px 0 10px; }
.fk-product-description h2:first-child { margin-top: 0; }
.fk-product-description p { color: #4c524c; line-height: 1.8; }
.fk-product-detail-layout aside .fk-sidebar-box { position: sticky; top: 110px; }
.fk-product-detail-layout aside a { color: #526d50; font-weight: 700; }
.fk-related-products { background: #f7f7f4; }
@media (max-width: 1050px) {
  .fk-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fk-product-hero { gap: 35px; }
}
@media (max-width: 760px) {
  .fk-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .fk-product-card-copy { padding: 13px; }
  .fk-product-hero, .fk-product-detail-layout { grid-template-columns: 1fr; gap: 30px; }
  .fk-product-hero { padding-bottom: 45px; }
  .fk-product-detail-layout { padding-top: 40px; }
  .fk-product-detail-layout aside .fk-sidebar-box { position: static; }
}
@media (max-width: 430px) { .fk-product-grid { grid-template-columns: 1fr; } }
