.kujira-product-v1 {
  --kp-canvas: #f2ecdf;
  --kp-paper: #fffdf8;
  --kp-paper-warm: #e9dfcf;
  --kp-forest: #123f34;
  --kp-forest-deep: #082c25;
  --kp-forest-soft: #dfe8df;
  --kp-gold: #aa8542;
  --kp-ink: #17332b;
  --kp-muted: #66736e;
  --kp-line: rgba(23, 51, 43, .15);
  --kp-content: 1240px;
  --kp-gutter: clamp(20px, 4vw, 64px);
  --kp-display: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --kp-body: "Yu Gothic UI", "Hiragino Sans", "Noto Sans JP", sans-serif;
  background: var(--kp-canvas);
  color: var(--kp-ink);
}

.kujira-product-v1 .kujira-product-page,
.kujira-product-v1 .kujira-product-page * {
  box-sizing: border-box;
}

.kujira-product-v1 .kujira-product-page {
  margin: 0;
  background: var(--kp-canvas);
  color: var(--kp-ink);
  font-family: var(--kp-body);
  line-height: 1.75;
}

.kujira-product-v1 .kujira-product-shell {
  width: min(100%, calc(var(--kp-content) + (var(--kp-gutter) * 2)));
  margin-inline: auto;
  padding-inline: var(--kp-gutter);
}

.kujira-product-v1 .kujira-product-breadcrumb {
  padding-block: 20px;
  color: var(--kp-muted);
  font-size: .76rem;
}

.kujira-product-v1 .kujira-product-breadcrumb .woocommerce-breadcrumb {
  margin: 0;
  color: inherit;
  font-size: inherit;
}

.kujira-product-v1 .kujira-product-breadcrumb span {
  margin-inline: 8px;
  opacity: .45;
}

.kujira-product-v1 .kujira-product-breadcrumb a {
  color: var(--kp-forest);
  text-decoration: none;
}

.kujira-product-v1 .kujira-product-first-view {
  display: grid;
  grid-template-areas:
    "gallery identity"
    "gallery purchase";
  grid-template-columns: minmax(0, 56fr) minmax(360px, 44fr);
  align-items: start;
  gap: 18px clamp(34px, 5vw, 72px);
  padding: clamp(22px, 3vw, 46px) 0 clamp(72px, 8vw, 120px);
}

.kujira-product-v1 .kujira-product-identity {
  grid-area: identity;
  padding-top: clamp(6px, 1vw, 18px);
}

.kujira-product-v1 .kujira-product-identity h1,
.kujira-product-v1 .kujira-product-page h2,
.kujira-product-v1 .kujira-product-page h3 {
  color: var(--kp-forest);
  font-family: var(--kp-display);
  font-weight: 500;
}

.kujira-product-v1 .kujira-product-identity h1 {
  max-width: 100%;
  margin: 8px 0 18px;
  font-size: clamp(2.7rem, 5vw, 4.8rem);
  line-height: 1.08;
  letter-spacing: .025em;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.kujira-product-v1 .kujira-product-title__sub {
  margin: -8px 0 16px;
  color: var(--kp-gold);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.kujira-product-v1 .kujira-product-eyebrow {
  margin: 0;
  color: var(--kp-gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
}

.kujira-product-v1 .kujira-product-short-description,
.kujira-product-v1 .kujira-product-short-description p {
  margin: 0;
  color: var(--kp-muted);
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.9;
}

.kujira-product-v1 .kujira-product-gallery {
  grid-area: gallery;
  min-width: 0;
}

.kujira-product-v1 .kujira-product-gallery {
  box-sizing: content-box;
  position: relative;
  padding-bottom: clamp(86px, 10vw, 118px);
}

@media (min-width: 901px) {
  .kujira-product-v1.kujira-product-gallery-sticky .kujira-product-gallery {
    position: sticky;
    top: calc(var(--kss-header-height, 72px) + 18px);
    align-self: start;
  }

  body.admin-bar.kujira-product-v1.kujira-product-gallery-sticky .kujira-product-gallery {
    top: calc(var(--kss-header-height, 72px) + 50px);
  }
}

.kujira-product-v1 .kujira-product-gallery .woocommerce-product-gallery__wrapper {
  margin: 0;
}

.kujira-product-v1 .kujira-product-gallery .woocommerce-product-gallery__image {
  overflow: hidden;
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-gallery .woocommerce-product-gallery__image a,
.kujira-product-v1 .kujira-product-gallery .woocommerce-product-gallery__image img {
  display: block;
}

.kujira-product-v1 .kujira-product-gallery .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-gallery .flex-viewport {
  transition: opacity 150ms ease;
}

.kujira-product-v1 .kujira-product-gallery .flex-direction-nav {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kujira-product-v1 .kujira-product-gallery .flex-direction-nav a {
  position: absolute;
  z-index: 4;
  top: calc((100% - 84px) * .375);
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--kp-line);
  border-radius: 2px;
  background: rgba(255, 253, 248, .92);
  color: var(--kp-forest);
  font-size: 0;
  text-decoration: none;
}

.kujira-product-v1 .kujira-product-gallery .flex-direction-nav a::before {
  width: 8px;
  height: 8px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
}

.kujira-product-v1 .kujira-product-gallery .flex-direction-nav .flex-prev {
  left: 12px;
}

.kujira-product-v1 .kujira-product-gallery .flex-direction-nav .flex-prev::before {
  transform: rotate(-135deg);
}

.kujira-product-v1 .kujira-product-gallery .flex-direction-nav .flex-next {
  right: 12px;
}

.kujira-product-v1 .kujira-product-gallery .flex-direction-nav .flex-next::before {
  transform: rotate(45deg);
}

.kujira-product-v1 .kujira-product-gallery .flex-direction-nav a:hover,
.kujira-product-v1 .kujira-product-gallery .flex-direction-nav a:focus-visible {
  border-color: var(--kp-forest);
  background: var(--kp-forest);
  color: #fff;
}

.kujira-product-v1 .kujira-product-gallery .flex-control-nav.flex-control-thumbs {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(72px, 9vw, 104px);
  gap: 8px;
  margin: 0;
  padding: 0 0 4px;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  list-style: none;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
}

.kujira-product-v1 .kujira-product-gallery .flex-control-nav.flex-control-thumbs::-webkit-scrollbar {
  display: none;
}

.kujira-product-v1 .kujira-product-gallery .flex-control-thumbs li {
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
}

.kujira-product-v1 .kujira-product-gallery .flex-control-thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  border: 1px solid var(--kp-line);
  border-radius: 0;
  cursor: pointer;
  object-fit: cover;
  opacity: .72;
}

.kujira-product-v1 .kujira-product-gallery .flex-control-thumbs img.flex-active,
.kujira-product-v1 .kujira-product-gallery .flex-control-thumbs img:hover,
.kujira-product-v1 .kujira-product-gallery .flex-control-thumbs img:focus-visible {
  border-color: var(--kp-forest);
  box-shadow: inset 0 0 0 1px var(--kp-forest);
  opacity: 1;
  outline: 0;
}

.kujira-product-v1 .kujira-product-gallery__counter {
  position: absolute;
  z-index: 4;
  right: 12px;
  bottom: calc(clamp(72px, 9vw, 104px) + 18px);
  margin: 0;
  padding: 4px 8px;
  background: rgba(255, 253, 248, .9);
  color: var(--kp-muted);
  font-size: .72rem;
  line-height: 1.2;
}

.kujira-product-v1 .kujira-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  z-index: 5;
  top: 12px;
  right: 12px;
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--kp-line);
  border-radius: 2px;
  background: rgba(255, 253, 248, .92);
  color: var(--kp-forest);
  font-size: 0;
  text-decoration: none;
}

.kujira-product-v1 .kujira-product-gallery__open {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  bottom: clamp(86px, 10vw, 118px);
  left: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.kujira-product-v1 .kujira-product-gallery__open:focus-visible {
  outline: 2px solid var(--kp-gold);
  outline-offset: -4px;
}

.kujira-product-v1 .kujira-product-gallery .woocommerce-product-gallery__trigger span {
  font-size: .95rem;
}

.kujira-product-v1 .kujira-product-purchase {
  grid-area: purchase;
  margin-top: 8px;
  padding: 24px;
  border: 1px solid var(--kp-line);
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-price,
.kujira-product-v1 .kujira-product-price .price {
  margin: 0;
  color: var(--kp-forest);
  font-family: var(--kp-display);
  font-size: clamp(1.55rem, 2.4vw, 2.1rem);
  line-height: 1.25;
}

.kujira-product-v1 .kujira-product-stock {
  margin-top: 8px;
  color: var(--kp-muted);
  font-size: .83rem;
}

.kujira-product-v1 .kujira-product-stock p {
  margin: 0;
}

.kujira-product-v1 .kujira-product-cart-form {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--kp-line);
}

.kujira-product-v1 .kujira-product-cart-form form.cart,
.kujira-product-v1 .kujira-product-cart-form .variations_form {
  margin: 0;
}

.kujira-product-v1 .kujira-product-cart-form table.variations {
  width: 100%;
  margin: 0 0 16px;
  border: 0;
}

.kujira-product-v1 .kujira-product-cart-form table.variations tr,
.kujira-product-v1 .kujira-product-cart-form table.variations th,
.kujira-product-v1 .kujira-product-cart-form table.variations td {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  text-align: left;
}

.kujira-product-v1 .kujira-product-cart-form table.variations label {
  display: block;
  margin: 0 0 7px;
  color: var(--kp-ink);
  font-weight: 700;
}

.kujira-product-v1 .kujira-product-cart-form table.variations select {
  width: 100%;
  min-height: 48px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--kp-line);
  border-radius: 0;
  background: #fff;
  color: var(--kp-ink);
  font: inherit;
}

.kujira-product-v1 .kujira-product-cart-form .reset_variations {
  color: var(--kp-muted);
  font-size: .78rem;
}

.kujira-product-v1 .kujira-product-cart-form .woocommerce-variation-price {
  margin: 10px 0;
  color: var(--kp-forest);
  font-size: 1.15rem;
  font-weight: 700;
}

.kujira-product-v1 .kujira-product-cart-form .woocommerce-variation-add-to-cart,
.kujira-product-v1 .kujira-product-cart-form form.cart:not(.variations_form) {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}

.kujira-product-v1 .kujira-product-cart-form .quantity,
.kujira-product-v1 .kujira-product-cart-form .quantity .qty {
  float: none;
  width: 100%;
  margin: 0;
}

.kujira-product-v1 .kujira-product-cart-form .quantity .qty {
  min-height: 52px;
  padding: 8px;
  border: 1px solid var(--kp-line);
  border-radius: 0;
  background: #fff;
  color: var(--kp-ink);
  text-align: center;
  font: inherit;
}

.kujira-product-v1 .kujira-product-cart-form .single_add_to_cart_button.button {
  min-height: 52px;
  margin: 0;
  padding: 12px 20px;
  border: 1px solid var(--kp-forest);
  border-radius: 2px;
  background: var(--kp-forest);
  color: #fff;
  font: 700 1rem/1.35 var(--kp-body);
  cursor: pointer;
}

.kujira-product-v1 .kujira-product-cart-form .single_add_to_cart_button.button:hover,
.kujira-product-v1 .kujira-product-cart-form .single_add_to_cart_button.button:focus-visible {
  background: var(--kp-forest-deep);
}

.kujira-product-v1 .kujira-product-gate {
  margin-top: 22px;
  padding: 18px;
  border: 1px solid var(--kp-line);
  background: var(--kp-forest-soft);
}

.kujira-product-v1 .kujira-product-gate strong,
.kujira-product-v1 .kujira-product-gate p {
  margin: 0;
}

.kujira-product-v1 .kujira-product-gate p {
  margin-top: 5px;
  color: var(--kp-muted);
  font-size: .84rem;
}

.kujira-product-v1 .kujira-product-purchase-support {
  display: grid;
  gap: 6px;
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--kp-line);
  list-style: none;
}

.kujira-product-v1 .kujira-product-purchase-support li {
  color: var(--kp-muted);
  font-size: .8rem;
}

.kujira-product-v1 .kujira-product-purchase-support a {
  color: var(--kp-forest);
}

.kujira-product-v1 .kujira-product-quick-facts,
.kujira-product-v1 .kujira-product-size-guide,
.kujira-product-v1 .kujira-product-description,
.kujira-product-v1 .kujira-product-related,
.kujira-product-v1 .kujira-product-related-guide,
.kujira-product-v1 .kujira-product-support {
  padding-block: clamp(64px, 8vw, 112px);
  border-top: 1px solid var(--kp-line);
}

.kujira-product-v1 .kujira-product-quick-facts > header,
.kujira-product-v1 .kujira-product-size-guide > header,
.kujira-product-v1 .kujira-product-description > header,
.kujira-product-v1 .kujira-product-related > header {
  margin-bottom: 30px;
}

.kujira-product-v1 .kujira-product-page h2 {
  margin: 8px 0 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.25;
}

.kujira-product-v1 .kujira-product-quick-facts dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px;
  margin: 0;
  background: var(--kp-line);
}

.kujira-product-v1 .kujira-product-quick-facts dl > div {
  min-width: 0;
  padding: 20px;
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-quick-facts dt {
  color: var(--kp-muted);
  font-size: .72rem;
}

.kujira-product-v1 .kujira-product-quick-facts dd {
  margin: 7px 0 0;
  color: var(--kp-forest);
  font-weight: 700;
  line-height: 1.55;
}

.kujira-product-v1 .kujira-product-size-guide > header > p:last-child {
  max-width: 42rem;
  margin: 14px 0 0;
  color: var(--kp-muted);
}

.kujira-product-v1 .kujira-product-size-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kujira-product-v1 .kujira-product-size-grid article {
  padding: 22px;
  border: 1px solid var(--kp-line);
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-size-grid article > h3,
.kujira-product-v1 .kujira-product-size-grid article > p,
.kujira-product-v1 .kujira-product-size-grid article > strong,
.kujira-product-v1 .kujira-product-size-grid article > span {
  display: block;
  margin: 0;
}

.kujira-product-v1 .kujira-product-size-grid h3 {
  font-size: 1.5rem;
}

.kujira-product-v1 .kujira-product-size-grid p {
  min-height: 1.6em;
  margin-top: 6px;
  color: var(--kp-muted);
  font-size: .84rem;
}

.kujira-product-v1 .kujira-product-size-grid strong {
  margin-top: 18px;
  color: var(--kp-forest);
  font-size: 1.1rem;
}

.kujira-product-v1 .kujira-product-size-grid article > span {
  margin-top: 5px;
  color: var(--kp-muted);
  font-size: .75rem;
}

.kujira-product-v1 .kujira-product-size-card {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--kp-line);
  border-radius: 0;
  background: var(--kp-paper);
  color: var(--kp-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.kujira-product-v1 .kujira-product-size-card:hover {
  border-color: rgba(170, 133, 66, .62);
  background: #fffaf0;
}

.kujira-product-v1 .kujira-product-size-card:focus-visible {
  outline: 2px solid var(--kp-gold);
  outline-offset: 3px;
}

.kujira-product-v1 .kujira-product-size-card.is-selected {
  border-color: var(--kp-gold);
  background: #fbf7ec;
  box-shadow: inset 0 0 0 1px rgba(170, 133, 66, .22);
}

.kujira-product-v1 .kujira-product-size-card:disabled {
  cursor: not-allowed;
  opacity: .56;
}

.kujira-product-v1 .kujira-product-size-card__label,
.kujira-product-v1 .kujira-product-size-card__note,
.kujira-product-v1 .kujira-product-size-card__price,
.kujira-product-v1 .kujira-product-size-card__stock {
  display: block;
  margin: 0;
}

.kujira-product-v1 .kujira-product-size-card__label {
  color: var(--kp-forest);
  font-family: var(--kp-display);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.35;
}

.kujira-product-v1 .kujira-product-size-card__note {
  min-height: 1.6em;
  margin-top: 6px;
  color: var(--kp-muted);
  font-size: .84rem;
}

.kujira-product-v1 .kujira-product-size-card__price {
  margin-top: 18px;
  color: var(--kp-forest);
  font-size: 1.1rem;
  font-weight: 700;
}

.kujira-product-v1 .kujira-product-size-card__stock {
  margin-top: 5px;
  color: var(--kp-muted);
  font-size: .75rem;
}

.kujira-product-v1 .kujira-product-size-card__state {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 2px 7px;
  border: 1px solid rgba(170, 133, 66, .42);
  background: rgba(255, 253, 248, .92);
  color: #806326;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.kujira-product-v1 .kujira-product-prose {
  max-width: 860px;
  color: var(--kp-ink);
}

.kujira-product-v1 .kujira-product-prose > * {
  max-width: 100%;
}

.kujira-product-v1 .kujira-product-prose h2,
.kujira-product-v1 .kujira-product-prose h3 {
  margin: 2.2em 0 .65em;
  padding: 0;
  border: 0;
  text-align: left;
}

.kujira-product-v1 .kujira-product-prose h2:first-child,
.kujira-product-v1 .kujira-product-prose h3:first-child {
  margin-top: 0;
}

.kujira-product-v1 .kujira-product-prose h2 {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.kujira-product-v1 .kujira-product-prose h3 {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.kujira-product-v1 .kujira-product-prose p,
.kujira-product-v1 .kujira-product-prose ul,
.kujira-product-v1 .kujira-product-prose ol,
.kujira-product-v1 .kujira-product-prose table,
.kujira-product-v1 .kujira-product-prose figure {
  margin: 0 0 1.4em;
}

.kujira-product-v1 .kujira-product-prose p,
.kujira-product-v1 .kujira-product-prose li {
  font-size: 1rem;
  line-height: 2;
}

.kujira-product-v1 .kujira-product-prose ul,
.kujira-product-v1 .kujira-product-prose ol {
  padding-left: 1.5em;
  text-align: left;
}

.kujira-product-v1 .kujira-product-prose img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
}

.kujira-product-v1 .kujira-product-prose figure {
  padding: 0;
  background: transparent;
}

.kujira-product-v1 .kujira-product-prose a {
  color: var(--kp-forest);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.kujira-product-v1 .kujira-product-prose table {
  width: 100%;
  border-collapse: collapse;
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-prose th,
.kujira-product-v1 .kujira-product-prose td {
  padding: 13px 15px;
  border: 1px solid var(--kp-line);
  text-align: left;
  vertical-align: top;
}

.kujira-product-v1 .kujira-product-prose th {
  width: 9rem;
  color: var(--kp-forest);
  font-weight: 700;
}

/* PRODUCT DESCRIPTION v2 common components. Render only when Woo main
   description contains .kujira-product-description-v2. */
.kujira-product-v1 .kujira-product-description-v2 {
  display: grid;
  gap: clamp(56px, 7vw, 96px);
  max-width: 100%;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-section {
  margin: 0;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-eyebrow {
  margin: 0 0 10px;
  color: var(--kp-gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
}

.kujira-product-v1 .kujira-product-description-v2 h2,
.kujira-product-v1 .kujira-product-description-v2 h3 {
  margin: 0;
  color: var(--kp-forest);
  font-family: var(--kp-display);
  font-weight: 500;
}

.kujira-product-v1 .kujira-product-description-v2 h2 {
  font-size: clamp(1.8rem, 3.3vw, 2.8rem);
  line-height: 1.3;
}

.kujira-product-v1 .kujira-product-description-v2 h3 {
  font-size: 1.35rem;
  line-height: 1.45;
}

.kujira-product-v1 .kujira-product-description-v2 p {
  margin: 18px 0 0;
  font-size: 1rem;
  line-height: 2;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-lead {
  max-width: 42rem;
  color: var(--kp-forest);
  font-size: clamp(1.06rem, 1.7vw, 1.24rem);
  font-weight: 700;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-intro {
  max-width: 46rem;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-media {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-media__image {
  margin: 0;
  overflow: hidden;
  background: var(--kp-paper-warm);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-media__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-media__body {
  min-width: 0;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-link {
  color: var(--kp-forest);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-head {
  max-width: 46rem;
  margin-bottom: 26px;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-card-grid,
.kujira-product-v1 .kujira-product-description-v2 .kpd-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-card {
  min-width: 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--kp-line);
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-card__number {
  display: block;
  margin-bottom: 22px;
  color: var(--kp-gold);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .15em;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-card p {
  margin-top: 10px;
  color: var(--kp-muted);
  font-size: .9rem;
  line-height: 1.9;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-guide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(24px, 4vw, 48px);
  background: var(--kp-forest-soft);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-guide p {
  max-width: 45rem;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 22px;
  border: 1px solid var(--kp-forest);
  border-radius: 2px;
  background: var(--kp-forest);
  color: #fff;
  font-family: var(--kp-body);
  font-size: .94rem;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-button:hover,
.kujira-product-v1 .kujira-product-description-v2 .kpd-button:focus-visible {
  background: var(--kp-forest-deep);
  color: #fff;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-button:focus-visible,
.kujira-product-v1 .kujira-product-description-v2 .kpd-next__item:focus-visible,
.kujira-product-v1 .kujira-product-description-v2 .kpd-link:focus-visible {
  outline: 2px solid var(--kp-gold);
  outline-offset: 3px;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-right: 1px solid var(--kp-line);
  border-bottom: 1px solid var(--kp-line);
  background: transparent;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-facts > div {
  min-width: 0;
  padding: 20px;
  border-top: 1px solid var(--kp-line);
  border-left: 1px solid var(--kp-line);
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-facts dt {
  color: var(--kp-muted);
  font-size: .74rem;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-facts dd {
  margin: 8px 0 0;
  color: var(--kp-forest);
  font-weight: 700;
  line-height: 1.6;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-faq details {
  border-top: 1px solid var(--kp-line);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-faq details:last-child {
  border-bottom: 1px solid var(--kp-line);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-faq summary {
  position: relative;
  padding: 18px 42px 18px 0;
  color: var(--kp-forest);
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-faq summary::-webkit-details-marker {
  display: none;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-faq summary::after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  transform: translateY(-70%) rotate(45deg);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-faq details[open] summary::after {
  transform: translateY(-30%) rotate(225deg);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-faq details > p {
  max-width: 46rem;
  margin: 0 0 20px;
  color: var(--kp-muted);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-next__item {
  display: flex;
  min-height: 154px;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  border: 1px solid var(--kp-line);
  background: var(--kp-paper);
  color: var(--kp-forest);
  text-decoration: none;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-next__item:hover {
  border-color: var(--kp-forest);
  background: var(--kp-forest-soft);
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-next__item span {
  color: var(--kp-gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.kujira-product-v1 .kujira-product-description-v2 .kpd-next__item strong {
  font-family: var(--kp-display);
  font-size: 1.12rem;
  font-weight: 500;
  line-height: 1.55;
}

.kujira-product-v1 .kujira-product-related-guide,
.kujira-product-v1 .kujira-product-support {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

.kujira-product-v1 .kujira-product-related-guide {
  padding-inline: clamp(22px, 4vw, 48px);
  background: var(--kp-paper-warm);
}

.kujira-product-v1 .kujira-product-related-guide h2,
.kujira-product-v1 .kujira-product-support h2 {
  font-size: clamp(1.75rem, 3vw, 2.7rem);
}

.kujira-product-v1 .kujira-product-related-guide p:last-child,
.kujira-product-v1 .kujira-product-support p:last-child {
  margin: 12px 0 0;
  color: var(--kp-muted);
}

.kujira-product-v1 .kujira-product-related-guide > a,
.kujira-product-v1 .kujira-product-support > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 22px;
  border: 1px solid var(--kp-forest);
  border-radius: 2px;
  background: var(--kp-forest);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.kujira-product-v1 .kujira-product-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.kujira-product-v1 .kujira-product-card {
  min-width: 0;
  border: 1px solid var(--kp-line);
  background: var(--kp-paper);
}

.kujira-product-v1 .kujira-product-card > a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.kujira-product-v1 .kujira-product-card figure {
  margin: 0;
  overflow: hidden;
  background: var(--kp-paper-warm);
}

.kujira-product-v1 .kujira-product-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.kujira-product-v1 .kujira-product-card div {
  padding: 16px;
}

.kujira-product-v1 .kujira-product-card h3,
.kujira-product-v1 .kujira-product-card p {
  margin: 0;
}

.kujira-product-v1 .kujira-product-card h3 {
  font-size: 1.05rem;
  line-height: 1.55;
}

.kujira-product-v1 .kujira-product-card p {
  margin-top: 8px;
  color: var(--kp-forest);
  font-weight: 700;
}

.kujira-product-v1 .kujira-product-support {
  margin-bottom: clamp(64px, 8vw, 112px);
  padding-inline: clamp(22px, 4vw, 48px);
  background: var(--kp-forest);
  color: #fff;
}

.kujira-product-v1 .kujira-product-support h2,
.kujira-product-v1 .kujira-product-support .kujira-product-eyebrow {
  color: #fff;
}

.kujira-product-v1 .kujira-product-support p:last-child {
  color: rgba(255, 255, 255, .78);
}

.kujira-product-v1 .kujira-product-support > a {
  border-color: #fff;
  background: #fff;
  color: var(--kp-forest);
}

@media (max-width: 900px) {
  .kujira-product-v1 .kujira-product-first-view {
    grid-template-areas:
      "identity"
      "gallery"
      "purchase";
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .kujira-product-v1 .kujira-product-identity h1 {
    font-size: clamp(2.5rem, 9vw, 4rem);
  }

  .kujira-product-v1 .kujira-product-purchase {
    margin-top: 0;
  }

  .kujira-product-v1 .kujira-product-quick-facts dl,
  .kujira-product-v1 .kujira-product-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kujira-product-v1 .kujira-product-description-v2 .kpd-media,
  .kujira-product-v1 .kujira-product-description-v2 .kpd-guide {
    grid-template-columns: 1fr;
  }

  .kujira-product-v1 .kujira-product-description-v2 .kpd-card-grid,
  .kujira-product-v1 .kujira-product-description-v2 .kpd-next__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .kujira-product-v1 .kujira-product-breadcrumb {
    padding-block: 14px;
  }

  .kujira-product-v1 .kujira-product-first-view {
    padding-top: 16px;
    padding-bottom: 72px;
  }

  .kujira-product-v1 .kujira-product-identity h1 {
    margin-bottom: 12px;
    font-size: clamp(2rem, 10vw, 3rem);
    word-break: break-all;
  }

  .kujira-product-v1 .kujira-product-gallery {
    padding-bottom: 100px;
  }

  .kujira-product-v1 .kujira-product-gallery .flex-control-nav.flex-control-thumbs {
    grid-auto-columns: clamp(72px, 24vw, 92px);
  }

  .kujira-product-v1 .kujira-product-gallery__counter {
    bottom: 110px;
  }

  .kujira-product-v1 .kujira-product-gallery__open {
    bottom: 100px;
  }

  .kujira-product-v1 .kujira-product-purchase {
    padding: 20px;
  }

  .kujira-product-v1 .kujira-product-cart-form .woocommerce-variation-add-to-cart,
  .kujira-product-v1 .kujira-product-cart-form form.cart:not(.variations_form) {
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .kujira-product-v1 .kujira-product-quick-facts,
  .kujira-product-v1 .kujira-product-size-guide,
  .kujira-product-v1 .kujira-product-description,
  .kujira-product-v1 .kujira-product-related,
  .kujira-product-v1 .kujira-product-related-guide,
  .kujira-product-v1 .kujira-product-support {
    padding-block: 68px;
  }

  .kujira-product-v1 .kujira-product-quick-facts dl,
  .kujira-product-v1 .kujira-product-size-grid,
  .kujira-product-v1 .kujira-product-related-grid {
    grid-template-columns: 1fr;
  }

  .kujira-product-v1 .kujira-product-size-grid article,
  .kujira-product-v1 .kujira-product-size-card {
    padding: 18px;
  }

  .kujira-product-v1 .kujira-product-prose th,
  .kujira-product-v1 .kujira-product-prose td {
    display: block;
    width: 100%;
  }

  .kujira-product-v1 .kujira-product-related-guide,
  .kujira-product-v1 .kujira-product-support {
    grid-template-columns: 1fr;
    align-items: start;
    padding-inline: 20px;
  }

  .kujira-product-v1 .kujira-product-related-guide > a,
  .kujira-product-v1 .kujira-product-support > a {
    width: 100%;
  }

  .kujira-product-v1 .kujira-product-description-v2 {
    gap: 56px;
  }

  .kujira-product-v1 .kujira-product-description-v2 .kpd-next__item {
    min-height: 0;
    height: auto;
    justify-content: flex-start;
    gap: 12px;
  }

  .kujira-product-v1 .kujira-product-description-v2 .kpd-next__item strong {
    margin-top: 0;
  }

  .kujira-product-v1 .kujira-product-description-v2 .kpd-card-grid,
  .kujira-product-v1 .kujira-product-description-v2 .kpd-next__grid,
  .kujira-product-v1 .kujira-product-description-v2 .kpd-facts {
    grid-template-columns: 1fr;
  }

  .kujira-product-v1 .kujira-product-description-v2 .kpd-guide {
    padding: 24px 20px;
  }

  .kujira-product-v1 .kujira-product-description-v2 .kpd-button {
    width: 100%;
  }
}
/* Product content amount: shared Simple / Variable purchase information. */
.kujira-product-v1 .kujira-product-content-amount {
  display: grid;
  gap: 4px;
  margin-top: 16px;
  padding: 13px 15px;
  border: 1px solid var(--kp-line);
  background: var(--kp-paper-warm);
}

.kujira-product-v1 .kujira-product-content-amount > span {
  color: var(--kp-muted);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.kujira-product-v1 .kujira-product-content-amount > strong {
  color: var(--kp-forest);
  font-size: 1.05rem;
  line-height: 1.4;
}

.kujira-product-v1 .kujira-product-content-amount[data-state="empty"] > strong {
  color: var(--kp-muted);
  font-weight: 600;
}


/* 2026-10-30: pairing cards, rendered only on two Japanese product pages. */
.kujira-product-v1 .kujira-product-related--pairing > header { margin-bottom: 22px; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-reason { max-width: 52rem; margin: 14px 0 0; color: var(--kp-ink, #173d35); font-size: 16px; line-height: 1.8; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card { max-width: 880px; border: 1px solid var(--kp-line, #ded7c8); background: var(--kp-paper, #fffdf7); }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card > a { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; align-items: center; padding: 22px; color: inherit; text-decoration: none; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card > a:focus-visible { outline: 2px solid var(--kp-green, #153f35); outline-offset: 3px; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card figure { width: 100%; height: auto; margin: 0; aspect-ratio: 4 / 3; background: #fffdf7; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; object-position: center; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card div { min-width: 0; padding: 0; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card h3 { margin: 0 0 10px; color: var(--kp-green, #153f35); font-size: 22px; line-height: 1.5; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; margin: 0 0 10px; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-meta p { margin: 0; line-height: 1.5; color: var(--kp-ink, #173d35); }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-amount { font-size: 16px; }
.kujira-product-v1 .kujira-product-related--pairing p.kujira-pairing-price { font-size: 22px; font-weight: 600; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-price > span:last-child { font-size: 14px; font-weight: 400; }
.kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-cta { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; color: var(--kp-green, #153f35); font-size: 15px; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 760px) {
  .kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-reason { font-size: 15px; }
  .kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card > a { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 14px; }
  .kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card figure { aspect-ratio: 1; }
  .kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-card h3 { font-size: 18px; margin-bottom: 8px; }
  .kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-meta { display: block; margin-bottom: 6px; }
  .kujira-product-v1 .kujira-product-related--pairing p.kujira-pairing-price { font-size: 20px; }
  .kujira-product-v1 .kujira-product-related--pairing .kujira-pairing-cta { font-size: 14px; }
}
