.woocommerce-breadcrumb {
  width: min(var(--jm-wide), calc(100% - 2rem));
  margin: 1.25rem auto 0;
  color: var(--jm-steel);
  font-size: 0.9rem;
}

.woocommerce-breadcrumb a { text-decoration: none; }

.shop-filters { display: grid; gap: 1rem; }
.shop-filters-header { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.reset-filters { font-size: 0.85rem; }
.filter-price { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; border: 0; padding: 0; }

.single-product-layout {
  width: min(var(--jm-wide), calc(100% - 2rem));
  margin: 0 auto 4rem;
  display: grid;
  gap: 2rem;
}

.woocommerce-product-gallery { border: 1px solid var(--jm-black); }
.woocommerce-product-gallery img { width: 100%; }

.summary h1 {
  font-family: var(--jm-font-display);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: clamp(2rem, 4vw, 3rem);
}

.summary .price { font-size: 1.35rem; }
.sku-line,
.posted_in { color: var(--jm-steel); font-size: 0.9rem; }

.product-shipping-note,
.woocommerce-tabs {
  border-top: 1px solid var(--jm-line);
  padding-top: 1.5rem;
}

.woocommerce-tabs ul.tabs {
  list-style: none;
  display: flex;
  gap: 1rem;
  padding: 0;
  margin: 0 0 1rem;
  border-bottom: 1px solid var(--jm-line);
}

.woocommerce-tabs ul.tabs a {
  display: inline-block;
  padding: 0.6rem 0;
  text-decoration: none;
  font-family: var(--jm-font-display);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.woocommerce-Tabs-panel { display: none; }
.woocommerce-Tabs-panel:target,
.woocommerce-tabs .panel { display: block; }

.related.products,
.upsells.products {
  width: min(var(--jm-wide), calc(100% - 2rem));
  margin: 0 auto 4rem;
}

.woocommerce-variation-price,
.woocommerce-variation-availability,
.stock { margin: 0.75rem 0; }

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  width: min(var(--jm-wide), calc(100% - 2rem));
  margin: 1rem auto;
  padding: 0.9rem 1rem;
  border: 1px solid var(--jm-black);
  list-style: none;
}

.woocommerce-error { background: var(--jm-off-white); }

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
  width: min(var(--jm-wide), calc(100% - 2rem));
  margin: 0 auto 4rem;
}

.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-bottom: 1px solid var(--jm-line);
  padding: 0.85rem 0.4rem;
  text-align: left;
}

.quantity .qty {
  width: 4.5rem;
  text-align: center;
}

.woocommerce-checkout .form-row { margin-bottom: 1rem; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin: 0 0 1.5rem;
  border-bottom: 1px solid var(--jm-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: inline-block;
  padding: 0.6rem 0;
  text-decoration: none;
  font-family: var(--jm-font-display);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.woocommerce-account .is-active a { text-decoration: underline; }

.wc-block-cart,
.wc-block-checkout {
  width: min(var(--jm-wide), calc(100% - 2rem));
  margin: 0 auto 4rem;
}

.wc-block-components-button {
  border-radius: 0 !important;
}

@media (min-width: 860px) {
  .single-product-layout {
    grid-template-columns: 1fr 1fr;
  }
  .product-after {
    grid-column: 1 / -1;
  }
}
