/* Wide single Koi product page: large gallery, early purchase panel, full-width details. */
body.single-koi-direct-product.single-product.woocommerce {
  --product-wide-ink: #111813;
  --product-wide-muted: rgba(17, 24, 19, 0.66);
  --product-wide-red: #e31b23;
  --product-wide-red-dark: #a61118;
  --product-wide-paper: rgba(255, 253, 248, 0.98);
  --product-wide-border: rgba(17, 24, 19, 0.14);
  --product-wide-shadow: 0 24px 72px rgba(12, 12, 10, 0.1);
}

body.single-koi-direct-product.single-product.woocommerce .commerce-main {
  width: min(1880px, calc(100vw - clamp(16px, 2.4vw, 56px))) !important;
  max-width: none !important;
  margin: clamp(30px, 4vw, 58px) auto 104px !important;
  padding: 0 !important;
}

body.single-koi-direct-product.single-product.woocommerce .commerce-wrap {
  width: 100% !important;
  max-width: none !important;
}

body.single-koi-direct-product.single-product.woocommerce div.product {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.56fr) minmax(460px, 0.72fr) !important;
  gap: clamp(22px, 2.2vw, 42px) !important;
  align-items: start !important;
  margin: 0 !important;
}

body.single-koi-direct-product.single-product.woocommerce div.product div.images {
  width: 100% !important;
  min-width: 0 !important;
  padding: clamp(16px, 1.7vw, 28px) !important;
  border: 1px solid var(--product-wide-border) !important;
  background:
    linear-gradient(145deg, rgba(246, 249, 232, 0.9), rgba(255, 252, 246, 0.96)),
    #f7f9ef !important;
  box-shadow: 0 20px 58px rgba(12, 12, 10, 0.08) !important;
}

body.single-koi-direct-product.single-product.woocommerce .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-koi-direct-product.single-product.woocommerce .woocommerce-product-gallery__image,
body.single-koi-direct-product.single-product.woocommerce .woocommerce-product-gallery__image a {
  width: 100% !important;
  display: block !important;
}

body.single-koi-direct-product.single-product.woocommerce div.product div.images img,
body.single-koi-direct-product.single-product.woocommerce .woocommerce-product-gallery__wrapper img {
  width: 100% !important;
  max-height: min(760px, calc(100svh - 230px)) !important;
  padding: 0 !important;
  object-fit: contain !important;
  background: #0a7fe8 !important;
}

body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
  display: grid !important;
  gap: clamp(12px, 1vw, 18px) !important;
  align-self: start !important;
  padding: clamp(24px, 2.2vw, 38px) !important;
  border: 1px solid var(--product-wide-border) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 245, 0.94)),
    #fff !important;
  box-shadow: var(--product-wide-shadow) !important;
}

@media (min-width: 1181px) {
  body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
    position: sticky !important;
    top: 116px !important;
  }
}

body.single-koi-direct-product.single-product.woocommerce div.product .summary .product_title {
  max-width: 15ch !important;
  margin: 0 !important;
  color: var(--product-wide-ink) !important;
  font-size: clamp(2.6rem, 3.5vw, 4.6rem) !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
}

body.single-koi-direct-product.single-product.woocommerce .jkw-wishlist-toggle--single {
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-single-luxury-copy {
  padding-bottom: 12px !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-single-luxury-copy p:last-child {
  max-width: 58ch !important;
  color: var(--product-wide-muted) !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-product-purchase-panel {
  gap: 12px !important;
  padding: clamp(16px, 1.35vw, 24px) !important;
  border: 1px solid rgba(227, 27, 35, 0.24) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 249, 247, 0.9)),
    #fff !important;
  box-shadow: inset 5px 0 0 var(--product-wide-red), 0 16px 42px rgba(227, 27, 35, 0.08) !important;
}

body.single-koi-direct-product.woocommerce div.product .koi-product-purchase-panel > p.price {
  color: var(--product-wide-red) !important;
  font-size: clamp(2rem, 2.9vw, 3.35rem) !important;
}

body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-purchase-panel form.cart {
  padding: 12px !important;
  background: rgba(255, 255, 255, 0.78) !important;
}

body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-purchase-panel form.cart .single_add_to_cart_button {
  min-height: 60px !important;
  background: var(--product-wide-red) !important;
  color: #fff !important;
  box-shadow: 0 18px 40px rgba(227, 27, 35, 0.22) !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-product-purchase-panel .koi-product-assurance {
  gap: 8px !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-product-purchase-panel .koi-product-assurance span {
  background: rgba(255, 255, 255, 0.78) !important;
}

body.single-koi-direct-product.single-product.woocommerce div.product .woocommerce-tabs,
body.single-koi-direct-product.single-product.woocommerce div.product .related.products,
body.single-koi-direct-product.single-product.woocommerce div.product .upsells.products {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-product-detail-panel {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1fr) !important;
  gap: clamp(20px, 2vw, 34px) !important;
  padding: clamp(24px, 2.2vw, 38px) !important;
  border: 1px solid var(--product-wide-border) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 246, 0.94)),
    #fff !important;
  box-shadow: 0 18px 54px rgba(12, 12, 10, 0.06) !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-product-detail-copy {
  min-width: 0 !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-product-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.single-koi-direct-product.single-product.woocommerce .koi-product-service-note,
body.single-koi-direct-product.single-product.woocommerce .koi-product-narrative {
  grid-column: 1 / -1 !important;
}

body.single-koi-direct-product.single-product.woocommerce div.product .related.products ul.products,
body.single-koi-direct-product.single-product.woocommerce div.product .upsells.products ul.products {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

@media (max-width: 1380px) {
  body.single-koi-direct-product.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.single-koi-direct-product.single-product.woocommerce div.product div.images,
  body.single-koi-direct-product.single-product.woocommerce div.product div.summary,
  body.single-koi-direct-product.single-product.woocommerce div.product .woocommerce-tabs,
  body.single-koi-direct-product.single-product.woocommerce div.product .related.products,
  body.single-koi-direct-product.single-product.woocommerce div.product .upsells.products {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.single-koi-direct-product.single-product.woocommerce div.product .related.products ul.products,
  body.single-koi-direct-product.single-product.woocommerce div.product .upsells.products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  body.single-koi-direct-product.single-product.woocommerce .commerce-main {
    width: calc(100vw - 10px) !important;
    margin-top: 18px !important;
    margin-bottom: 78px !important;
  }

  body.single-koi-direct-product.single-product.woocommerce div.product {
    gap: 12px !important;
  }

  body.single-koi-direct-product.single-product.woocommerce div.product div.images,
  body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
    padding: 14px !important;
  }

  body.single-koi-direct-product.single-product.woocommerce div.product .summary .product_title {
    max-width: 100% !important;
    font-size: clamp(2rem, 9vw, 2.95rem) !important;
  }

  body.single-koi-direct-product.single-product.woocommerce .koi-product-detail-panel {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }

  body.single-koi-direct-product.single-product.woocommerce .koi-product-facts {
    grid-template-columns: 1fr !important;
  }

  body.single-koi-direct-product.single-product.woocommerce div.product .related.products ul.products,
  body.single-koi-direct-product.single-product.woocommerce div.product .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  body.single-koi-direct-product.single-product.woocommerce div.product div.images,
  body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
    padding: 10px !important;
  }

  body.single-koi-direct-product.single-product.woocommerce div.product div.images img,
  body.single-koi-direct-product.single-product.woocommerce .woocommerce-product-gallery__wrapper img {
    max-height: none !important;
  }

  body.single-koi-direct-product.single-product.woocommerce .koi-product-purchase-panel {
    padding: 12px !important;
  }

  body.single-koi-direct-product.single-product.woocommerce .koi-product-purchase-panel .koi-product-assurance {
    grid-template-columns: 1fr !important;
  }
}

/* Final Koi sales-page pass: keep purchase visible and remove legacy product clutter. */
body.single-koi-product.single-product.woocommerce div.product .summary .product_title,
body.single-koi-direct-product.single-product.woocommerce div.product .summary .product_title {
  max-width: 18ch !important;
  font-size: clamp(2.05rem, 2.25vw, 3.25rem) !important;
  line-height: 1 !important;
  text-wrap: balance;
}

body.single-koi-product.single-product.woocommerce div.product div.summary,
body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
  gap: clamp(10px, 0.9vw, 15px) !important;
  padding: clamp(18px, 1.8vw, 32px) !important;
}

body.single-koi-product.single-product.woocommerce .koi-product-summary-facts div,
body.single-koi-direct-product.single-product.woocommerce .koi-product-summary-facts div {
  padding: clamp(9px, 0.8vw, 13px) !important;
}

body.single-koi-product.single-product.woocommerce .koi-product-purchase-panel,
body.single-koi-direct-product.single-product.woocommerce .koi-product-purchase-panel {
  gap: clamp(10px, 0.85vw, 14px) !important;
  padding: clamp(14px, 1.25vw, 22px) !important;
}

body.single-koi-product.woocommerce div.product .koi-product-purchase-panel > p.price,
body.single-koi-direct-product.woocommerce div.product .koi-product-purchase-panel > p.price {
  font-size: clamp(2rem, 2.55vw, 3.35rem) !important;
}

body.single-koi-product.single-product.woocommerce div.product .woocommerce-tabs,
body.single-koi-product.single-product.woocommerce div.product .related.products,
body.single-koi-product.single-product.woocommerce div.product .upsells.products,
body.single-koi-direct-product.single-product.woocommerce div.product .woocommerce-tabs,
body.single-koi-direct-product.single-product.woocommerce div.product .related.products,
body.single-koi-direct-product.single-product.woocommerce div.product .upsells.products {
  display: none !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: start !important;
  display: grid !important;
  gap: clamp(10px, 1vw, 16px) !important;
  min-width: 0 !important;
  margin: clamp(2px, 0.6vw, 10px) 0 0 !important;
  padding: clamp(18px, 1.8vw, 30px) !important;
  border: 1px solid rgba(17, 24, 19, 0.13) !important;
  border-top: 4px solid rgba(215, 25, 32, 0.86) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 25, 32, 0.055), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 244, 0.94)),
    #fff !important;
  color: #101712 !important;
  box-shadow: 0 18px 52px rgba(8, 12, 10, 0.065) !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery__eyebrow,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery__eyebrow {
  width: fit-content !important;
  margin: 0 !important;
  padding: 6px 9px 5px !important;
  background: #101712 !important;
  color: #fffdf7 !important;
  font-size: 0.7rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery h2,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery h2 {
  max-width: 18ch !important;
  margin: 0 !important;
  color: #101712 !important;
  font-size: clamp(1.8rem, 2.35vw, 3.2rem) !important;
  font-weight: 950 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery p,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery p,
body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery__text,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery__text {
  max-width: 74ch !important;
  margin: 0 !important;
  color: rgba(16, 23, 18, 0.72) !important;
  font-size: clamp(1rem, 1.05vw, 1.15rem) !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery__text p + p,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery__text p + p {
  margin-top: 0.8em !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery__variants,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery__variants {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  max-width: 860px !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery__variants span,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery__variants span {
  display: grid !important;
  min-height: 66px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(16, 23, 18, 0.12) !important;
  background:
    linear-gradient(135deg, rgba(255, 253, 247, 0.98), rgba(247, 243, 235, 0.92)),
    #fff !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery__variants strong,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery__variants strong {
  color: #b01622 !important;
  font-size: 1.45rem !important;
  font-weight: 950 !important;
  line-height: 0.95 !important;
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery__variants em,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery__variants em {
  margin-top: 5px !important;
  color: rgba(16, 23, 18, 0.72) !important;
  font-size: 0.84rem !important;
  font-style: normal !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
}

@media (min-width: 1181px) {
  body.single-koi-product.single-product.woocommerce div.product div.summary,
  body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
  }
}

@media (max-width: 860px) {
  body.single-koi-product.single-product.woocommerce div.product .summary .product_title,
  body.single-koi-direct-product.single-product.woocommerce div.product .summary .product_title {
    max-width: 100% !important;
    font-size: clamp(2.1rem, 9vw, 3rem) !important;
    line-height: 1 !important;
  }
}

@media (min-width: 1181px) and (max-width: 1380px) {
  body.single-koi-product.single-product.woocommerce div.product,
  body.single-koi-direct-product.single-product.woocommerce div.product {
    grid-template-columns: minmax(0, 1.18fr) minmax(380px, 0.58fr) !important;
  }

  body.single-koi-product.single-product.woocommerce div.product div.images,
  body.single-koi-product.single-product.woocommerce div.product div.summary,
  body.single-koi-direct-product.single-product.woocommerce div.product div.images,
  body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body.single-koi-product.single-product.woocommerce div.product div.summary,
  body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
  }

  body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery,
  body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

@media (max-width: 1180px) {
  body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery,
  body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  body.single-koi-product.single-product.woocommerce div.product div.summary,
  body.single-koi-direct-product.single-product.woocommerce div.product div.summary {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

@media (max-width: 720px) {
  body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery,
  body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery {
    padding: 16px 14px !important;
  }

  body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery h2,
  body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery h2 {
    max-width: 100% !important;
    font-size: clamp(1.65rem, 7vw, 2.35rem) !important;
  }

  body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery__variants,
  body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery__variants {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

body.single-koi-product.single-product.woocommerce div.product .koi-product-under-gallery p.koi-product-under-gallery__eyebrow,
body.single-koi-direct-product.single-product.woocommerce div.product .koi-product-under-gallery p.koi-product-under-gallery__eyebrow {
  width: fit-content !important;
  margin: 0 !important;
  padding: 0 0 0 12px !important;
  border-left: 3px solid #d71920 !important;
  background: transparent !important;
  color: #b01622 !important;
  font-size: 0.76rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}
