/* Product category pages: intro title, alternating bands, product link cards */
/* scope: #kg / #kgm pages and the product-category-main template */
html body .product-category-main:not(:has(> .hero-banner)) { padding-top: 72px; }
html body :is(#kg, #kgm, .product-category-main) .pcat-intro { padding: 28px 0 0 !important; }
html body :is(#kg, #kgm, .product-category-main) .pcat-intro .sec-title {
  font-size: clamp(30px, 3.4vw, 46px) !important; font-weight: 600 !important; line-height: 1.11 !important;
  letter-spacing: normal !important; margin: 0 0 16px !important; text-transform: none !important; color: #16181d !important;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-intro .sec-sub {
  font-size: 19px !important; font-weight: 300 !important; line-height: 1.45 !important; max-width: none !important; margin: 0 !important; color: #5d6b82 !important;
}
html body .product-category-main .category-container, html body .product-category-main .category-content, html body .product-category-main .page-container { padding-top: 0 !important; margin-top: 0 !important; }

/* rows: equal columns, alternating full-width bands */
html body :is(#kg, #kgm, .product-category-main) .pcat-stack { gap: 0 !important; padding: 28px 0 72px !important; }
html body #kg .pcat-stack { padding-left: 24px !important; padding-right: 24px !important; }
html body .product-category-main .pcat-intro .wrap { max-width: 1440px; margin: 0 auto; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
html body :is(#kg, #kgm, .product-category-main) .pcat-row { padding: 56px 0; }
html body :is(#kg, #kgm, .product-category-main) .pcat-row:first-child { padding-top: 0; }
html body :is(#kg, #kgm, .product-category-main) .pcat-row:last-child { padding-bottom: 0; }
html body :is(#kg, #kgm, .product-category-main) .pcat-row:nth-child(even) {
  background: var(--color-surface, #f5f6f3); box-shadow: 0 0 0 100vmax var(--color-surface, #f5f6f3); clip-path: inset(0 -100vmax);
}
@media (min-width: 981px) {
  html body :is(#kg, #kgm, .product-category-main) .pcat-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 64px !important; }
}
@media (max-width: 900px) { html body :is(#kg, #kgm, .product-category-main) .pcat-row { padding: 40px 0; } }

/* product link cards */
html body :is(#kg, #kgm, .product-category-main) .pcat-links {
  display: grid !important; gap: 16px !important; margin-bottom: 32px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-links.pcat-links-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; }
html body :is(#kg, #kgm, .product-category-main) .pcat-links .pcat-link {
  position: relative; display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: minmax(0, 1fr) 64px; grid-template-areas: "img img" "name arrow";
  align-items: end !important; gap: 10px 12px; aspect-ratio: 1 / 1;
  padding: 18px 18px 16px !important; border-radius: 12px !important;
  background: #fff !important; border: 1px solid #dfe7f0; box-shadow: 0 1px 2px rgba(22, 24, 29, .04);
  color: #c30d23 !important; font-size: 19px !important; font-weight: 700 !important; line-height: 1.3 !important; text-decoration: none;
  overflow: hidden; transition: border-color .2s, box-shadow .2s, transform .2s;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-links-3 .pcat-link {
  aspect-ratio: 4 / 5; grid-template-rows: minmax(0, 1fr) 56px; padding: 14px 14px 12px !important; font-size: 15px !important; border-radius: 12px !important;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-link .nm-link-img {
  grid-area: img; position: relative; display: block; min-height: 0; height: 100%; overflow: hidden;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-link .nm-link-img img {
  position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none; max-height: none; object-fit: contain;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-link .nm-link-name {
  grid-area: name; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; align-self: end; min-width: 0; overflow-wrap: anywhere;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-links-3 .pcat-link .nm-link-name { -webkit-line-clamp: 3; }
html body :is(#kg, #kgm, .product-category-main) .pcat-link svg {
  grid-area: arrow; width: 64px !important; height: 64px !important; padding: 15px; box-sizing: border-box; border-radius: 50%;
  background: #c30d23; fill: #fff !important; flex-shrink: 0; transition: transform .25s ease, background .2s;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-links-3 .pcat-link svg { width: 44px !important; height: 44px !important; padding: 11px; }
html body :is(#kg, #kgm, .product-category-main) .pcat-links .pcat-link:hover,
html body :is(#kg, #kgm, .product-category-main) .pcat-links .pcat-link:focus-visible {
  background: #fff !important; border-color: #c30d23; box-shadow: 0 2px 5px rgba(0,0,0,.12); transform: translateY(-3px); color: #c30d23 !important;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-link:hover svg { transform: translateX(6px); background: #9e0a1c; }
html body :is(#kg, #kgm, .product-category-main) .pcat-row:nth-child(even) .pcat-link { background: transparent !important; }
@media (max-width: 680px) {
  html body :is(#kg, #kgm, .product-category-main) .pcat-links { gap: 12px !important; }
  html body :is(#kg, #kgm, .product-category-main) .pcat-links .pcat-link { padding: 12px !important; font-size: 14px !important; aspect-ratio: 4 / 5; grid-template-rows: minmax(0, 1fr) 56px; }
  html body :is(#kg, #kgm, .product-category-main) .pcat-link svg { width: 44px !important; height: 44px !important; padding: 11px; }
  html body :is(#kg, #kgm, .product-category-main) .pcat-links-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) { html body :is(#kg, #kgm, .product-category-main) .pcat-stack { padding: 20px 0 44px !important; } html body #kg .pcat-stack { padding-left: 16px !important; padding-right: 16px !important; } html body .product-category-main .pcat-intro .wrap { padding-left: 16px; padding-right: 16px; } }

/* tall card grids: keep the photo in view next to them */
@media (min-width: 981px) {
  html body :is(#kg, #kgm, .product-category-main) .pcat-row:has(.pcat-links-3) { align-items: start !important; }
  html body :is(#kg, #kgm, .product-category-main) .pcat-row:has(.pcat-links-3) .pcat-media { position: sticky; top: 100px; }
}
/* category page without breadcrumb: clear the fixed header */
html body :is(#kgm,#kg) > .pcat-intro:first-child, html body :is(#kgm,#kg) > section.pcat-intro:first-child { padding-top: 100px !important; }

/* Subtler arrow button: outlined by default, solid on card hover */
html body :is(#kg, #kgm, .product-category-main) .pcat-links .pcat-link { grid-template-rows: minmax(0, 1fr) 48px; }
html body :is(#kg, #kgm, .product-category-main) .pcat-links-3 .pcat-link { grid-template-rows: minmax(0, 1fr) 44px; }
html body :is(#kg, #kgm, .product-category-main) .pcat-link svg {
  width: 44px !important; height: 44px !important; padding: 12px; box-sizing: border-box; border-radius: 50%;
  background: #fff; border: 1.5px solid #c30d23; fill: #c30d23 !important; transition: background .2s, fill .2s, transform .25s ease;
}
html body :is(#kg, #kgm, .product-category-main) .pcat-links-3 .pcat-link svg { width: 36px !important; height: 36px !important; padding: 9px; }
html body :is(#kg, #kgm, .product-category-main) .pcat-link:hover svg,
html body :is(#kg, #kgm, .product-category-main) .pcat-link:focus-visible svg { background: #c30d23; fill: #fff !important; transform: translateX(3px); }
@media (max-width: 680px) {
  html body :is(#kg, #kgm, .product-category-main) .pcat-links .pcat-link,
  html body :is(#kg, #kgm, .product-category-main) .pcat-links-3 .pcat-link { grid-template-rows: minmax(0, 1fr) 44px; }
  html body :is(#kg, #kgm, .product-category-main) .pcat-link svg,
  html body :is(#kg, #kgm, .product-category-main) .pcat-links-3 .pcat-link svg { width: 36px !important; height: 36px !important; padding: 9px; }
}

/* technology pages: title block followed directly by the first content section */
html body :is(#kg, #kgm) .pcat-intro + .section,
html body :is(#kg, #kgm) .pcat-intro + .section-alt { padding-top: 56px !important; }

/* Legacy image-card blocks (Japanese brand pages): same outlined arrow as the other product cards */
html body .product-category-main .sc-block-item .item-inner { position: relative !important; }
html body .product-category-main .sc-block-item .item-img { position: static !important; }
html body .product-category-main .sc-block-item .item-info { padding-right: 76px !important; min-height: 76px; }
html body .product-category-main .sc-block-item .item-btn {
  position: absolute !important; left: auto !important; right: 16px !important; bottom: 16px !important; top: auto !important;
  transform: none !important; width: 44px !important; height: 44px !important; opacity: 1 !important;
  display: flex !important; align-items: center; justify-content: center;
  background: #fff !important; border: 1.5px solid #c30d23 !important; border-radius: 50% !important;
  transition: background .2s;
}
html body .product-category-main .sc-block-item .item-btn svg { width: 20px !important; height: 20px !important; margin: 0 !important; fill: #c30d23 !important; transition: fill .2s, transform .25s ease; }
html body .product-category-main .sc-block-item .item-inner:hover .item-btn { background: #c30d23 !important; }
html body .product-category-main .sc-block-item .item-inner:hover .item-btn svg { fill: #fff !important; transform: translateX(3px); }

/* legacy sidebar layout (Japanese brand pages): breathing room under the title block */
html body .product-category-main .pcat-intro + .category-container:has(.page-aside) { padding-top: 28px !important; }
