/* Commerce: one layout contract for catalog, product, cart and checkout.
   No price, availability, validation or payment behavior is defined here. */
.commerce-main { margin: 0 auto 4rem; }
.commerce-wrap { min-width: 0; }
.woocommerce .page-title { margin: 0 0 1.5rem; font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.1; letter-spacing: -.035em; font-weight: 650; }
.woocommerce .woocommerce-breadcrumb { margin: 0 0 1.5rem; font-size: .875rem; color: var(--koi-muted); }
.woocommerce .woocommerce-result-count { color: var(--koi-muted); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { font: 600 .9375rem/1.25 var(--koi-font-ui); text-transform: none; letter-spacing: 0; border: 1px solid transparent; border-radius: .625rem; padding: .85rem 1.15rem; min-height: 2.75rem; background: var(--koi-red); color: #fff; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; white-space: normal; text-align: center; box-shadow: none; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--koi-red-hover); color: #fff; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled, .woocommerce button.button:disabled[disabled] { opacity: .48; cursor: not-allowed; padding: .85rem 1.15rem; color: #fff; background: var(--koi-red); }
.woocommerce .button:focus-visible, .woocommerce input:focus-visible, .woocommerce select:focus-visible { outline: 3px solid var(--koi-red); outline-offset: 3px; }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select { max-width: 100%; min-height: 2.75rem; border: 1px solid #cbd1cc; border-radius: .5rem; padding: .7rem .8rem; background: var(--koi-surface); color: var(--koi-ink); font: inherit; box-shadow: none; }
.woocommerce form .form-row label { font-size: .875rem; font-weight: 600; line-height: 1.5; margin-bottom: .35rem; text-transform: none; letter-spacing: 0; }
.woocommerce .quantity .qty { width: 4.5rem; text-align: center; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .koi-auction-notice { margin: 0 0 1.5rem; padding: 1rem 1rem 1rem 2.75rem; border: 1px solid #d8e0da; border-left: 3px solid #47765a; border-radius: .625rem; background: #f0f6f1; color: #214832; font-size: .9375rem; line-height: 1.55; box-shadow: none; }
.woocommerce-info { border-left-color: #667b8d; background: #f1f5f8; color: #283e50; }
.woocommerce-error, .koi-auction-notice--error { border-color: #ebcfcc; border-left-color: var(--koi-red); background: #fff3f1; color: #8b2424; }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { left: 1rem; top: 1.1rem; color: inherit; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message .restore-item { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; margin-inline-start: .5rem; }
.woocommerce-Price-amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.koi-price-with-legal { display: inline; }
.koi-price-tax-shipping-note { display: block; margin-top: .35rem; color: var(--koi-muted); font-size: .75rem; font-weight: 400; line-height: 1.5; }
.koi-price-tax-shipping-note a { color: inherit; text-underline-offset: .15em; }
.koi-price-sale-wrap { display: inline; }
.koi-sale-discount, .woocommerce span.onsale { min-width: 0; min-height: 0; padding: .3rem .55rem; border-radius: .35rem; background: #fff1ed; color: #a1281d; font: 600 .75rem/1.4 var(--koi-font-ui); }
.koi-sale-discount { display: inline-block; margin-left: .5rem; vertical-align: middle; }
.woocommerce del { color: var(--koi-muted); font-size: .8em; font-weight: 400; }
.woocommerce ins { text-decoration: none; font-weight: 650; }

/* Catalog controls: native disclosures remain useful with and without JavaScript. */
.koi-shop-layout { display: grid; grid-template-columns: 15.5rem minmax(0, 1fr); align-items: start; gap: 1.5rem 2rem; }
.koi-product-tools { grid-column: 1; grid-row: 1 / span 8; min-width: 0; padding: 1.125rem; border: 1px solid #d7ddd5; border-radius: 1rem; background: #fff; }
.koi-product-tools__intro > span { font-size: .75rem; color: var(--koi-muted); }
.koi-product-tools__intro > strong { display: block; font-size: 1.25rem; margin: .25rem 0 .5rem; font-weight: 650; }
.koi-product-tools__intro p { font-size: .875rem; color: var(--koi-muted); line-height: 1.55; margin: 0 0 1rem; }
.koi-product-tools__quick-search { display: flex; margin-bottom: 1.25rem; gap: .35rem; }
.koi-product-tools__quick-search label { flex: 1; min-width: 0; }
.koi-product-tools__quick-search input { width: 100%; min-width: 0; font-size: .875rem; }
.koi-product-tools__quick-search button { flex: 0 0 2.75rem; padding: .65rem; }
.koi-product-tools svg, .koi-shop-toggle svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.koi-filter-categories, .koi-shop-drawer { border-bottom: 1px solid #dce0da; }
.koi-filter-categories summary, .koi-shop-toggle { cursor: pointer; list-style: none; display: flex; align-items: center; gap: .65rem; padding: 1rem 0; min-height: 3.25rem; }
.koi-filter-categories summary::-webkit-details-marker, .koi-shop-toggle::-webkit-details-marker { display: none; }
.koi-filter-categories__summary { flex-wrap: wrap; font-size: .875rem; }
.koi-filter-categories__summary > span { color: var(--koi-muted); }
.koi-filter-categories__summary strong { flex: 1; font-weight: 600; }
.koi-filter-categories__summary em { font-style: normal; font-size: .75rem; color: var(--koi-muted); }
.koi-filter-category-options { display: grid; gap: .25rem; padding-bottom: 1rem; }
.koi-filter-category-options a { display: grid; grid-template-columns: 1fr auto; gap: .15rem .75rem; padding: .6rem; border-radius: .5rem; color: var(--koi-ink); text-decoration: none; font-size: .875rem; }
.koi-filter-category-options a em { grid-column: 1; font-style: normal; font-size: .75rem; color: var(--koi-muted); }
.koi-filter-category-options a > span { grid-column: 2; grid-row: 1 / span 2; font-size: .75rem; color: var(--koi-muted); }
.koi-filter-category-options a:hover, .koi-filter-category-options a.is-active { background: #e9eee7; }
.koi-shop-toggle__text { flex: 1; display: grid; gap: .2rem; min-width: 0; }
.koi-shop-toggle__text strong { font-size: .9375rem; font-weight: 600; }
.koi-shop-toggle__text em { font-size: .75rem; font-style: normal; color: var(--koi-muted); }
.koi-shop-toggle__chevron { font-size: 1.25rem; line-height: 1; transition: transform 160ms ease; }
.koi-shop-drawer[open] > summary .koi-shop-toggle__chevron { transform: rotate(45deg); }
.koi-filter-panel, .koi-sort-panel { display: grid; gap: 1rem; padding: .25rem 0 1.25rem; }
.koi-filter-panel label, .koi-sort-panel label, .koi-filter-field { display: grid; gap: .35rem; min-width: 0; }
.koi-filter-panel label > span, .koi-sort-panel label > span, .koi-filter-field-label { font-size: .8125rem; font-weight: 600; }
.koi-filter-panel select, .koi-filter-panel input, .koi-sort-panel select { width: 100%; min-width: 0; font-size: .875rem; }
.koi-multi-select { border: 1px solid #cbd1cc; border-radius: .5rem; background: #fff; }
.koi-multi-select > summary { display: flex; justify-content: space-between; gap: .5rem; padding: .75rem; list-style: none; cursor: pointer; font-size: .875rem; }
.koi-multi-select > summary::-webkit-details-marker { display: none; }
.koi-multi-options { max-height: 19rem; overflow-y: auto; padding: .25rem .5rem .5rem; }
.koi-filter-panel label.koi-multi-option { display: grid; grid-template-columns: 1.25rem 1fr auto; align-items: center; padding: .55rem .25rem; gap: .5rem; cursor: pointer; }
.koi-multi-option input { min-height: 1.125rem; width: 1.125rem; height: 1.125rem; accent-color: var(--koi-red); }
.koi-multi-option em { font-size: .75rem; color: var(--koi-muted); font-style: normal; }
.koi-filter-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.koi-filter-actions button { flex: 1; }
.koi-filter-actions a, .koi-filter-actions small { font-size: .8125rem; }
.koi-results-tools { grid-column: 2; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; min-width: 0; }
.koi-results-tools__summary { display: flex; gap: .75rem; flex-wrap: wrap; font-size: .875rem; }
.koi-results-tools__summary strong { font-weight: 400; color: var(--koi-muted); }
.koi-active-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.koi-filter-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem .65rem; border-radius: 1.5rem; background: #e9eee7; color: #263e2c; font-size: .8125rem; text-decoration: none; }
.koi-filter-chip--empty { padding: 0; background: none; color: var(--koi-muted); }
.koi-filter-preferences { flex: 1 0 100%; display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; font-size: .8125rem; }
.koi-filter-preferences button { background: transparent; color: var(--koi-ink); border: 1px solid #ccd2cc; padding: .5rem .75rem; }
.koi-filter-preferences__status { flex-basis: 100%; }

/* Every product card uses the same restrained visual hierarchy. */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.25rem; padding: 0; margin: 0; list-style: none; }
.koi-shop-layout > ul.products { grid-column: 2; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto; margin: 0; min-width: 0; padding: 0; position: relative; display: flex; flex-direction: column; background: transparent; border: 0; }
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: block; text-decoration: none; }
.woocommerce ul.products li.product a img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; border-radius: .75rem; margin: 0 0 1rem; background: #e8edf0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; margin: 0; padding: 0 0 .65rem; text-transform: none; color: var(--koi-ink); overflow-wrap: break-word; }
.woocommerce ul.products li.product .price { color: var(--koi-ink); font-size: 1.125rem; font-weight: 650; line-height: 1.4; margin: .75rem 0; }
.woocommerce ul.products li.product .button { width: 100%; margin-top: auto; background: #fff; color: var(--koi-ink); border-color: #cbd1cc; }
.woocommerce ul.products li.product .button:hover { border-color: var(--koi-red); color: var(--koi-red); background: #fff; }
.koi-exhibit-facts { list-style: none; padding: 0; margin: .25rem 0 .75rem; display: grid; gap: .25rem; color: var(--koi-muted); font-size: .75rem; }
.koi-exhibit-facts li { display: flex; justify-content: space-between; gap: .5rem; }
.koi-exhibit-facts li strong { color: var(--koi-ink); font-weight: 500; text-align: right; }
.koi-product-status-badge { display: inline-flex; gap: .5rem; align-items: center; border-radius: .4rem; padding: .4rem .65rem; background: #eceee9; color: #4d5750; font-size: .75rem; text-decoration: none; margin: .25rem 0; }
.koi-product-status-badge--reserved { background: #fff4db; color: #745719; }
.koi-product-status-badge--in_auction { background: #fcebea; color: #9b2628; flex-wrap: wrap; }
.koi-product-status-badge strong { font-weight: 600; }
.jkw-wishlist-toggle { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.75rem; padding: .55rem .8rem; border: 1px solid #d9ded7; border-radius: 2rem; background: #fff; color: #414c44; font: 500 .8125rem/1.25 var(--koi-font-ui); text-decoration: none; }
.jkw-wishlist-toggle svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 1.5; }
.jkw-wishlist-toggle--loop { position: absolute; top: .75rem; right: .75rem; z-index: 2; width: 2.75rem; padding: .65rem; }
.jkw-wishlist-toggle > span { display: inline-grid; place-items: center; flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; }
.jkw-wishlist-toggle > span::before { content: "♡"; font: 400 1.5rem/1 var(--koi-font-ui); }
.jkw-wishlist-toggle--loop b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.jkw-wishlist-toggle.is-marked > span::before { content: "♥"; }
.koi-product-utility-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.koi-product-utility-actions > .jkw-wishlist-toggle, .koi-product-utility-actions > .koi-share { width: max-content; max-width: 100%; }
.koi-product-utility-actions .koi-share__button { width: auto; }
.jkw-wishlist-toggle.is-saved, .jkw-wishlist-toggle[aria-pressed="true"] { color: var(--koi-red); border-color: #e1b8b8; background: #fff8f7; }
.jkw-wishlist-toggle.is-saved svg, .jkw-wishlist-toggle[aria-pressed="true"] svg { fill: currentColor; }
.jkw-wishlist-toggle[disabled] { opacity: .55; }
.woocommerce nav.woocommerce-pagination { grid-column: 2; margin-top: 2rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; flex-wrap: wrap; gap: .4rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 2.75rem; min-height: 2.75rem; display: inline-grid; place-items: center; border-radius: .5rem; background: #fff; color: var(--koi-ink); border: 1px solid #dce0da; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--koi-dark); color: #fff; border-color: var(--koi-dark); }

/* Shop grouping: one clear card and a consistent Merken / Teilen row.
   Grid follows the existing DOM order; disclosures may extend beyond the card. */
.woocommerce .koi-shop-layout > ul.products { grid-template-columns: repeat(auto-fit, minmax(min(100%, max(16rem, 30%)), 1fr)); gap: 1.5rem 1.25rem; }
.woocommerce .koi-shop-layout > ul.products > li.product {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, max(8rem, 45%)), 1fr));
  grid-template-rows: 1fr auto auto auto;
  column-gap: .75rem;
  align-items: stretch;
  padding: 1rem;
  border: 1px solid #d7ddd5;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 2px 6px rgb(20 30 22 / .035);
}
.woocommerce .koi-shop-layout > ul.products > li.product > .woocommerce-loop-product__link {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.woocommerce .koi-shop-layout > ul.products > li.product a img { aspect-ratio: 1; object-fit: contain; border-radius: .625rem; background: #edf0f1; }
.woocommerce .koi-shop-layout > ul.products > li.product .woocommerce-loop-product__title { font-size: 1.0625rem; line-height: 1.4; font-weight: 650; }
.koi-shop-layout .koi-exhibit-facts { font-size: .8125rem; gap: .4rem; margin: .25rem 0 .85rem; }
.koi-shop-layout .koi-exhibit-facts li { min-width: 0; }
.koi-shop-layout .koi-exhibit-facts strong { overflow-wrap: anywhere; }
.woocommerce .koi-shop-layout > ul.products > li.product .price { margin: auto 0 0; padding-top: .85rem; border-top: 1px solid #e7eae4; font-size: 1.25rem; }
.woocommerce .koi-shop-layout > ul.products > li.product > .koi-price-tax-shipping-note { grid-column: 1 / -1; margin: 0 0 1rem; }
.woocommerce .koi-shop-layout > ul.products > li.product > :is(.button, .added_to_cart) {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 3rem;
  margin: 0;
  padding: .8rem 1rem;
  border-color: var(--koi-red);
  background: var(--koi-red);
  color: #fff;
  font-size: .9375rem;
}
.woocommerce .koi-shop-layout > ul.products > li.product > .button:hover { background: var(--koi-red-hover); border-color: var(--koi-red-hover); color: #fff; }
.koi-shop-layout > ul.products > li.product > .jkw-wishlist-toggle--loop {
  grid-column: auto;
  position: static;
  z-index: auto;
  width: 100%;
  min-width: 0;
  min-height: 3rem;
  margin: .75rem 0 0;
  padding: .65rem .5rem;
  border: 1px solid #d7ddd5;
  border-radius: .625rem;
  background: #f5f6f2;
  color: #364138;
  text-align: center;
}
.koi-shop-layout .jkw-wishlist-toggle--loop b { position: static; width: auto; height: auto; clip-path: none; overflow: visible; white-space: normal; overflow-wrap: anywhere; font: 500 .8125rem/1.35 var(--koi-font-ui); }
.koi-shop-layout > ul.products > li.product > .koi-share--loop { grid-column: auto; display: grid; min-width: 0; margin: .75rem 0 0; }
.koi-shop-layout .koi-share--loop > .koi-share__button { width: 100%; min-width: 0; min-height: 3rem; padding: .65rem .5rem; border-color: #d7ddd5; border-radius: .625rem; background: #f5f6f2; color: #364138; font: 500 .8125rem/1.35 var(--koi-font-ui); }
.koi-shop-layout > ul.products > li.product > .jkw-wishlist-toggle--loop:is(:hover, .is-marked, .is-saved, [aria-pressed="true"]),
.koi-shop-layout .koi-share--loop > .koi-share__button:is(:hover, [aria-expanded="true"]) { border-color: #c98989; background: #fff3f1; color: var(--koi-red); }
.koi-shop-layout :is(.jkw-wishlist-toggle--loop, .koi-share__button, .koi-share__menu a, .koi-share__menu button):focus-visible { outline: 3px solid var(--koi-red); outline-offset: 3px; }
.koi-shop-layout > ul.products > li.product > .jkw-wishlist-toggle--loop:active,
.koi-shop-layout .koi-share--loop > .koi-share__button:active { background: #eceee7; }
.koi-shop-layout .koi-share--loop > .koi-share__button span { min-width: 0; overflow-wrap: anywhere; }
.koi-shop-layout .koi-results-tools__summary { align-items: baseline; }
.koi-shop-layout .koi-results-tools__summary > span:first-child { font-weight: 650; }

/* Product media and buying information share a simple two-column grid. */
.woocommerce div.product { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 2rem 3rem; align-items: start; }
.woocommerce div.product > div.images { float: none; width: 100%; margin: 0; grid-column: 1; grid-row: 1; min-width: 0; position: relative; opacity: 1 !important; /* Woo's inline opacity:0 must not hide photos without JS. */ }
.woocommerce div.product .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__wrapper { display: flex; max-width: 100%; }
.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image { flex: 0 0 100%; min-width: 100%; }
.woocommerce div.product div.images .flex-control-thumbs img { width: 4.5rem; height: 4.5rem; max-height: 4.5rem; }
.woocommerce div.product > .onsale { position: absolute; top: .75rem; left: .75rem; z-index: 2; }
.woocommerce div.product .woocommerce-product-gallery__image { border-radius: 1rem; overflow: hidden; background: #e7ebed; }
.woocommerce div.product div.images img { display: block; width: 100%; height: min(68svh, 44rem); max-height: 44rem; object-fit: contain; border-radius: 1rem; }
.woocommerce div.product .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; padding: 0; list-style: none; }
.woocommerce div.product .flex-control-thumbs li { float: none; width: 4.5rem; }
.woocommerce div.product .flex-control-thumbs img { height: 4.5rem; width: 4.5rem; border-radius: .5rem; cursor: pointer; }
.woocommerce div.product > div.summary { float: none; width: 100%; margin: 0; min-width: 0; grid-column: 2; grid-row: 1 / span 2; display: grid; gap: 1.25rem; align-self: start; }
.woocommerce div.product .product_title { font-size: clamp(1.75rem, 2.8vw, 2.5rem); line-height: 1.14; letter-spacing: -.035em; font-weight: 650; text-transform: none; margin: 0; max-width: 30ch; }
.koi-product-sales-kicker, .koi-product-purchase-panel__eyebrow, .koi-product-under-gallery__eyebrow { overflow-wrap: anywhere; margin: 0; font-size: .75rem; font-weight: 600; color: var(--koi-muted); letter-spacing: .04em; text-transform: uppercase; }
.woocommerce div.product > div.summary > * { min-width: 0; }
.koi-product-summary-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; margin: 0; padding: 0 0 1.25rem; border-bottom: 1px solid #dce0da; }
.koi-product-summary-facts > div { min-width: 0; }
.koi-product-summary-facts dt { font-size: .75rem; color: var(--koi-muted); font-weight: 400; margin: 0 0 .25rem; }
.koi-product-summary-facts dd { margin: 0; font-size: .9375rem; font-weight: 550; overflow-wrap: break-word; }
.koi-product-purchase-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0 0; border-top: 1px solid #dce0da; background: transparent; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--koi-ink); font-size: 1.875rem; line-height: 1.35; font-weight: 650; margin: 0; }
.woocommerce div.product .koi-price-tax-shipping-note { font-size: .8125rem; font-weight: 400; }
.woocommerce div.product form.cart { margin: 0; display: flex; flex-wrap: wrap; gap: .75rem; align-items: start; }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 11rem; min-width: 0; max-width: 100%; min-height: 3rem; }
.woocommerce div.product form.cart .variations { width: 100%; table-layout: fixed; margin: .75rem 0; border: 0; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { border: 0; padding: .35rem 0; line-height: 1.5; }
.woocommerce div.product form.cart .variations th { width: 6rem; font-size: .8125rem; text-align: left; }
.woocommerce div.product form.cart .variations select { width: 100%; margin: 0 0 .35rem; }
.woocommerce div.product form.cart .reset_variations { font-size: .8125rem; color: var(--koi-muted); padding: .25rem 0; }
.variations_form:has(.koi-bowl-choice-grid) .variations th, .variations_form:has(.koi-bowl-choice-grid) .variations select { display: none; }
.woocommerce div.product form.cart .variations_button { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; width: 100%; }
.woocommerce div.product .stock { margin: .5rem 0 1rem; font-size: .8125rem; color: #356248; }
.woocommerce div.product .out-of-stock { color: #8b3a32; }
.koi-bowl-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: .5rem 0 .75rem; }
.koi-bowl-choice { display: grid; align-content: start; text-align: left; gap: .25rem; padding: .8rem; min-width: 0; min-height: 4.5rem; border: 1px solid #cdd5ce; border-radius: .625rem; background: #fff; color: var(--koi-ink); box-shadow: none; }
.koi-bowl-choice strong { font-size: 1.25rem; font-weight: 650; }
.koi-bowl-choice span { font-size: .75rem; line-height: 1.4; overflow-wrap: break-word; }
.koi-bowl-choice:hover { border-color: var(--koi-red); background: #fff8f7; }
.koi-bowl-choice.is-selected { background: var(--koi-red); border-color: var(--koi-red); color: #fff; }
.koi-bowl-choice-status { margin: 0 0 1rem; font-size: .8125rem; font-weight: 600; color: var(--koi-ink); }
.koi-purchase-clarity { display: flex; flex-direction: column; gap: .75rem; margin: .75rem 0 1rem; padding: 1rem; background: #edf2eb; border-radius: .75rem; }
.koi-purchase-clarity__costs { order: -2; display: grid; gap: .45rem; }
.koi-purchase-clarity__costs > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem; font-size: .875rem; }
.koi-purchase-clarity__costs strong { font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.koi-purchase-clarity__total { border-top: 1px solid #ced8cb; margin-top: .25rem; padding-top: .65rem; }
.koi-purchase-clarity__pickup { order: -1; margin: 0; font-size: .75rem; line-height: 1.5; color: #4b5e4d; }
.koi-purchase-clarity__steps { display: flex; list-style: none; gap: .75rem; padding: .75rem 0 0; margin: 0; border-top: 1px solid #ced8cb; }
.koi-purchase-clarity__steps li { flex: 1; font-size: .6875rem; line-height: 1.4; color: #4b5e4d; }
.koi-purchase-clarity__steps strong { display: block; color: #334e37; font-weight: 600; }
.koi-bowl-variant-note { color: var(--koi-muted); font-size: .8125rem; line-height: 1.55; margin: .75rem 0; }
.koi-product-buying-note { display: grid; gap: .4rem; color: var(--koi-muted); font-size: .8125rem; line-height: 1.5; padding-top: 1rem; border-top: 1px solid #dce0da; }
.koi-product-secondary-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; font-size: .875rem; }
.koi-product-under-gallery { grid-column: 1; grid-row: 2; min-width: 0; padding: 1rem 0; }
.koi-product-under-gallery h2 { font-size: 1.5rem; line-height: 1.2; margin: .5rem 0 1rem; font-weight: 600; }
.koi-product-under-gallery p { font-size: .9375rem; line-height: 1.7; max-width: var(--koi-reading); color: var(--koi-muted); }
.koi-product-under-gallery__variants { display: flex; gap: .75rem; flex-wrap: wrap; margin: 1rem 0 2rem; }
.koi-product-under-gallery__variants > span { display: inline-flex; gap: .5rem; align-items: baseline; font-size: .8125rem; }
.koi-product-under-gallery__variants em { font-style: normal; color: var(--koi-muted); }
.jkw-variety-descriptions { display: grid; gap: 1.5rem; }
.jkw-variety-descriptions h3 { font-size: 1.125rem; margin: 0 0 .5rem; }
.koi-product-image-provenance { margin-top: .75rem; font-size: .75rem; color: var(--koi-muted); }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related.products, .woocommerce div.product .upsells.products { grid-column: 1 / -1; min-width: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 1.5rem 0; border-bottom: 1px solid #dce0da; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0; margin: 0; padding: 0 1rem 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--koi-red); background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: .9375rem; font-weight: 600; color: var(--koi-ink); padding: .75rem 0; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 0; margin: 0; }
.koi-product-detail-panel, .food-product-detail-panel { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 2rem; padding: 1.5rem 0; }
.food-product-facts, .koi-product-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.food-product-facts li, .koi-product-facts li { display: grid; gap: .35rem; padding: .75rem 0; border-bottom: 1px solid #dce0da; }
.food-product-facts span, .koi-product-facts span { font-size: .75rem; color: var(--koi-muted); }
.food-product-facts strong, .koi-product-facts strong { font-size: .875rem; font-weight: 550; }
.food-product-badges { display: flex; flex-wrap: wrap; gap: .5rem; }
.food-product-badge { border-radius: 1rem; padding: .35rem .65rem; background: #e9eee7; color: #425744; font-size: .75rem; }
.food-product-delivery, .food-purchase-note { font-size: .875rem; color: #42604a; line-height: 1.5; }
.food-product-copy, .food-product-description-text { max-width: var(--koi-reading); }
.koi-food-price-stack { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; }
.koi-food-price-label, .koi-food-price-meta { font-size: .75rem; font-weight: 400; color: var(--koi-muted); }
.koi-food-price-current { display: flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; }
.koi-food-price-value { font-size: 2rem; font-weight: 650; color: var(--koi-ink); }
.koi-food-price-old { font-size: .875rem; color: var(--koi-muted); }
.koi-food-price-saving { font-size: .75rem; color: #91412d; }

/* Cart: original Woo table and shipping radios remain the source of truth. */
body.woocommerce-cart .content-main, body.woocommerce-checkout .content-main { margin: 0 auto 4rem; }
.content-article-warenkorb, .content-article-kasse { max-width: none; padding: 0; }
.content-article-warenkorb > h1, .content-article-kasse > h1 { font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 2rem; }
.woocommerce-cart .entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .7fr); gap: 1.5rem 2.5rem; align-items: start; }
.woocommerce-cart .woocommerce-notices-wrapper, .woocommerce-cart .wc-empty-cart-message, .woocommerce-cart .return-to-shop { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; min-width: 0; }
.woocommerce-cart .cart-collaterals { grid-column: 2; min-width: 0; width: 100%; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; padding: 1.5rem; background: #fff; border: 1px solid #dce0da; border-radius: 1rem; }
.cart_totals h2 { font-size: 1.25rem; margin: 0 0 1rem; }
.woocommerce table.shop_table { border: 0; border-collapse: collapse; width: 100%; margin: 0; font-size: .9375rem; border-radius: 0; }
.woocommerce table.shop_table th { padding: .85rem .65rem; border-bottom: 1px solid #dce0da; font-size: .75rem; font-weight: 600; color: var(--koi-muted); text-align: left; text-transform: none; }
.woocommerce table.shop_table td { padding: 1.25rem .65rem; border-top: 0; border-bottom: 1px solid #e1e5df; vertical-align: middle; }
.woocommerce table.shop_table .product-name { font-weight: 550; line-height: 1.5; }
.woocommerce table.shop_table .product-name a { color: var(--koi-ink); text-decoration: none; }
.woocommerce table.shop_table .product-thumbnail { width: 6rem; }
.woocommerce table.shop_table .product-thumbnail img { width: 5rem; height: 5rem; object-fit: contain; border-radius: .5rem; background: #e9edf0; }
.woocommerce a.remove { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; font-weight: 400; font-size: 1.25rem; color: #7b4037 !important; /* Woo sets this link color important. */ background: transparent; }
.woocommerce a.remove:hover { color: #fff !important; background: #934338; }
.woocommerce .cart .actions { padding: 1rem 0; border: 0; }
.woocommerce .cart .actions .coupon { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; float: none; margin-bottom: .75rem; }
.woocommerce .cart .actions .coupon .input-text { width: 10rem; margin: 0; min-height: 2.75rem; }
.woocommerce .cart .actions .coupon .button { background: #fff; color: var(--koi-ink); border-color: #cbd1cc; font-size: .875rem; }
.woocommerce .cart .actions > button.button:disabled { background: #eef1ec; border-color: #dce0da; color: #687269; opacity: .75; }
.woocommerce .cart .actions > .button { background: #fff; color: var(--koi-ink); border-color: #ccd2cc; }
.woocommerce-cart .wc-proceed-to-checkout { display: grid; gap: 1rem; padding: 1.25rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout > * { min-width: 0; max-width: 100%; margin: 0; }
/* Provider frames resize asynchronously: their outer rows must follow content. */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout #payment-method-message { display: flow-root; height: auto; margin: 0; padding: .25rem 0; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout #payment-method-message:not(:empty) { min-block-size: 3.5rem; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; font-size: 1rem; margin: 0; }
.woocommerce ul#shipping_method { margin: 0; padding: 0; list-style: none; display: grid; gap: .75rem; }
.woocommerce ul#shipping_method li { margin: 0; padding: 0; line-height: 1.5; display: flex; align-items: baseline; gap: .5rem; font-size: .875rem; text-indent: 0; }
.woocommerce ul#shipping_method li input { flex: 0 0 auto; margin: .25rem 0 0; accent-color: var(--koi-red); }
.woocommerce ul#shipping_method li label { display: block; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: .8125rem; color: var(--koi-muted); }
.woocommerce .cart_totals .shop_table td, .woocommerce .cart_totals .shop_table th { padding: .85rem 0; }
.woocommerce .cart_totals .shop_table th { padding-inline-end: 1rem; }
.woocommerce table.shop_table .order-total th, .woocommerce table.shop_table .order-total td { font-size: 1.125rem; color: var(--koi-ink); font-weight: 650; }

/* Checkout: focused fields at left, one clear order summary at right. */
.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 1rem; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); grid-template-rows: auto 1fr; gap: 0 3rem; align-items: start; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; width: 100%; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; margin-bottom: 2rem; }
.woocommerce-checkout h3 { font-size: 1.25rem; font-weight: 600; margin: 0 0 1.25rem; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 1.5rem 1.5rem 1rem; border: 1px solid #dce0da; border-bottom: 0; border-radius: 1rem 1rem 0 0; background: #fff; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; padding: 0 1.5rem 1.5rem; border: 1px solid #dce0da; border-top: 0; border-radius: 0 0 1rem 1rem; background: #fff; min-width: 0; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.woocommerce-checkout #customer_details p.form-row { padding: 0; margin: 0; float: none; width: 100%; min-width: 0; }
.woocommerce-checkout #customer_details .form-row-wide { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details .form-row input.input-text, .woocommerce-checkout #customer_details .form-row textarea { width: 100%; }
.woocommerce-checkout .woocommerce-input-wrapper { display: block; }
.select2-container .select2-selection--single { min-height: 2.75rem; border-color: #cbd1cc; border-radius: .5rem; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: .55rem .8rem; color: var(--koi-ink); line-height: 1.55; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: .5rem; right: .35rem; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; padding-top: 1.25rem; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0 0 1rem; margin: 0; list-style: none; border-color: #dce0da; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 .75rem; }
.woocommerce-checkout #payment div.payment_box { padding: 1rem; background: #f0f4ee; border-radius: .5rem; color: #405444; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #f0f4ee; }
.woocommerce-checkout #payment div.form-row { padding: 1rem 0 0; margin: 0; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { font-size: .75rem; color: var(--koi-muted); line-height: 1.6; }
.woocommerce-checkout #place_order { float: none; width: 100%; margin-top: 1rem; }
.woocommerce-checkout .form-row input[type="checkbox"] { width: 1.125rem; height: 1.125rem; accent-color: var(--koi-red); }
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid .select2-selection { border-color: var(--koi-red); }
.woocommerce-order ul.order_details { display: flex; flex-wrap: wrap; gap: 1.25rem; padding: 0; margin: 1.5rem 0; list-style: none; }
.woocommerce-order ul.order_details li { float: none; border: 0; font-size: .75rem; margin: 0; padding: 0 1.5rem 0 0; }
.woocommerce-order ul.order_details li strong { display: block; margin-top: .3rem; font-size: 1rem; }
.woocommerce-order .order-again, .woocommerce-order .woocommerce-thankyou-order-failed-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.woocommerce-order table.shop_table .button { margin: .25rem .5rem .25rem 0; }
.woocommerce-customer-details address { font-style: normal; line-height: 1.7; }

/* Auction buying states share product media and calm, explicit bid information. */
.koi-auction-board { display: grid; gap: 3rem; }
.auction-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 2rem; padding: 1.5rem 0; border-top: 1px solid #dce0da; }
.auction-card-media, .auction-card-body { min-width: 0; }
.auction-card-image { width: 100%; height: min(66vh, 42rem); object-fit: contain; border-radius: 1rem; background: #e5edf2; }
.auction-lot-label, .auction-kicker { font-size: .75rem; color: var(--koi-muted); font-weight: 600; }
.auction-card-body h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.2; letter-spacing: -.025em; }
.auction-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: 1rem 0; margin: 0; }
.auction-meta dt, .auction-side-facts dt, .auction-exhibit-meta dt { font-size: .75rem; color: var(--koi-muted); }
.auction-meta dd, .auction-side-facts dd, .auction-exhibit-meta dd { margin: .25rem 0 0; font-weight: 600; }
.auction-side-facts, .auction-exhibit-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.auction-bid-panel { padding: 1.25rem 0; border-top: 1px solid #dce0da; }
.auction-bid-form { display: grid; gap: .75rem; }
.auction-bid-input-wrap { display: flex; align-items: center; gap: .75rem; }
.auction-bid-input-wrap input { width: 100%; }
.auction-bid-hint, .auction-rule-note, .auction-support-list { font-size: .8125rem; line-height: 1.6; color: var(--koi-muted); }
.auction-login-box, .auction-user-bid-status { padding: 1.25rem; border-radius: .75rem; background: #edf2eb; margin: 1rem 0; }
.auction-user-bid-status { display: grid; gap: .35rem; }
.auction-user-bid-status--outbid { background: #fff1e5; }
.auction-bid-history { margin: 1.5rem 0; border-top: 1px solid #dce0da; padding-top: 1rem; }
.auction-bid-history__list { padding-left: 1.25rem; font-size: .875rem; line-height: 1.7; }
.auction-copy__details { margin-top: 1rem; }

@media (max-width: 1180px) {
  .koi-shop-layout { grid-template-columns: 13rem minmax(0, 1fr); gap: 1.25rem; }
  .koi-product-tools { padding: 1rem; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce div.product { gap: 2rem; }
  .woocommerce-checkout form.checkout { gap: 0 1.5rem; }
}
@media (max-width: 800px) {
  .commerce-main { margin-top: 0; margin-bottom: 3rem; }
  .koi-shop-layout { display: block; }
  .koi-product-tools { margin-bottom: 1.25rem; }
  .koi-product-tools__intro > span, .koi-product-tools__intro > strong, .koi-product-tools__intro > p { display: none; }
  .koi-product-tools__quick-search { margin-bottom: .5rem; }
  .koi-shop-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: .75rem; }
  .koi-shop-drawer--filter[open], .koi-shop-drawer--sort[open] { grid-column: 1 / -1; }
  .koi-filter-panel { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); padding: .75rem 0 1rem; }
  .koi-filter-search, .koi-filter-actions { grid-column: 1 / -1; }
  .koi-results-tools { margin: 1rem 0 1.5rem; }
  .woocommerce ul.products { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 1.75rem .85rem; }
  .woocommerce .koi-shop-layout > ul.products { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .9375rem; }
  .woocommerce ul.products li.product .button { padding: .7rem .6rem; font-size: .8125rem; }
  .koi-exhibit-facts { font-size: .75rem; }
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .woocommerce div.product > div.images { grid-column: 1; grid-row: 1; }
  .woocommerce div.product > div.summary { grid-column: 1; grid-row: 2; gap: 1rem; }
  .koi-product-under-gallery { grid-column: 1; grid-row: 3; }
  .woocommerce div.product .woocommerce-tabs { grid-column: 1; grid-row: 4; }
  .woocommerce div.product .related.products, .woocommerce div.product .upsells.products { grid-column: 1; grid-row: 5; }
  .woocommerce div.product div.images img { height: min(54svh, 31rem); max-height: 31rem; }
  .woocommerce div.product .flex-control-thumbs img { height: 4.5rem; }
  .woocommerce div.product .product_title { font-size: clamp(1.625rem, 5.8vw, 2.25rem); max-width: none; }
  .koi-product-summary-facts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 7rem), 1fr)); gap: .75rem 1rem; }
  .woocommerce div.product p.price, .woocommerce div.product span.price { font-size: clamp(1.375rem, 7vw, 1.875rem); }
  .koi-product-detail-panel, .food-product-detail-panel { grid-template-columns: 1fr; gap: 1.5rem; }
  .koi-bowl-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .koi-bowl-choice { padding: .65rem; }
  .woocommerce-cart .entry-content > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .woocommerce-cart .woocommerce-cart-form, .woocommerce-cart .cart-collaterals { grid-column: 1; }
  .woocommerce-cart .cart-collaterals .cart_totals { padding: 1.25rem; }
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); display: block; }
  .woocommerce-checkout #customer_details { margin-bottom: 1.5rem; }
  .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { padding-left: 1.25rem; padding-right: 1.25rem; }
  .auction-card { grid-template-columns: 1fr; gap: 1.5rem; }
  .auction-card-image { height: min(54svh, 31rem); }
}
@media (max-width: 600px) {
  /* Full-width catalog cards keep numbered photos and complete prices readable. */
  .woocommerce .koi-shop-layout > ul.products { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .woocommerce .koi-shop-layout > ul.products > li.product .woocommerce-loop-product__title { font-size: 1.0625rem; line-height: 1.4; padding-bottom: .75rem; }
  .koi-shop-layout .koi-exhibit-facts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: .65rem 1rem; margin: .125rem 0 .75rem; font-size: .875rem; }
  .koi-shop-layout .koi-exhibit-facts li { display: grid; min-width: 0; justify-content: start; gap: .15rem; }
  .koi-shop-layout .koi-exhibit-facts li > span { font-size: .75rem; }
  .koi-shop-layout .koi-exhibit-facts li strong { text-align: start; overflow-wrap: anywhere; }
  .woocommerce-cart .cart_totals .shop_table, .woocommerce-cart .cart_totals .shop_table tbody { display: block; width: 100%; }
  .woocommerce-cart .cart_totals .shop_table tr { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); column-gap: 1rem; border-bottom: 1px solid #e1e5df; }
  .woocommerce-cart .cart_totals .shop_table :is(th, td) { min-width: 0; width: auto; border: 0; padding: .85rem 0; overflow-wrap: anywhere; }
  .woocommerce-cart .cart_totals .shop_table td { text-align: right; }
  .woocommerce-cart .cart_totals .shop_table .woocommerce-shipping-totals { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-cart .cart_totals .shop_table .woocommerce-shipping-totals th { padding-bottom: 0; }
  .woocommerce-cart .cart_totals .shop_table .woocommerce-shipping-totals td { padding-top: .65rem; text-align: left; }
  .woocommerce-cart .cart_totals ul#shipping_method li { align-items: start; }
  .woocommerce-cart .cart_totals ul#shipping_method label { min-width: 0; min-height: 2.75rem; display: flex; align-items: center; flex-wrap: wrap; gap: .25rem; overflow-wrap: anywhere; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table thead { display: none; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item { display: grid; grid-template-columns: minmax(0, min(4.5rem, 25%)) minmax(0, 1fr); gap: .65rem 1rem; position: relative; padding: 1.25rem 0; border-bottom: 1px solid #dce0da; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table tr td { display: block; width: auto; border: 0; padding: 0; background: transparent; text-align: left; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table tr td[data-title]::before { content: attr(data-title); float: none; margin-right: .5rem; font-size: .75rem; color: var(--koi-muted); overflow-wrap: anywhere; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail { display: block; grid-column: 1; grid-row: 1 / span 4; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail::before { display: none; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table .product-thumbnail img { width: 100%; max-width: 4.5rem; height: auto; aspect-ratio: 4 / 5; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table .product-name { grid-column: 2; padding-right: 2rem; overflow-wrap: anywhere; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table .product-name::before { display: none; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table .product-remove { position: absolute; right: 0; top: 1rem; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table .product-price, .woocommerce-cart .woocommerce-cart-form table.shop_table .product-quantity, .woocommerce-cart .woocommerce-cart-form table.shop_table .product-subtotal { grid-column: 2; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table td.actions { padding-top: 1rem; }
  .woocommerce .cart .actions .coupon { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .woocommerce .cart .actions .coupon :is(.input-text, .button) { width: 100%; min-width: 0; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table .actions > .button { width: 100%; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details .form-row { grid-column: 1; }
  .woocommerce table.shop_table td { padding: .85rem .25rem; }
  .koi-purchase-clarity__steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 6rem), 1fr)); gap: .5rem; }
  .koi-bowl-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .auction-meta { grid-template-columns: 1fr 1fr; }
}
@media print {
  .koi-product-tools, .koi-filter-preferences, .jkw-wishlist-toggle, .single_add_to_cart_button { display: none; }
  .koi-shop-layout, .woocommerce div.product, .woocommerce-checkout form.checkout { display: block; }
}
