/* GOODS GALLERY v02 | gallery-only redesign, retains product card deep links. */
.kt-goods-gallery__sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; border:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important }
.kt-goods-gallery { --marquee-gap:24px; position:relative; isolation:isolate; width:100vw; margin-left:calc(50% - 50vw); padding:68px 0 34px; overflow:hidden; background:radial-gradient(ellipse 55% 55% at 53% 44%,rgba(31,111,214,.075),transparent 82%),#0c1219; border-top:1px solid rgba(255,255,255,.105); border-bottom:1px solid rgba(255,255,255,.105) }
.kt-goods-gallery__background { position:absolute; z-index:0; pointer-events:none; left:50%; top:78px; transform:translateX(-50%); font-family:var(--kt-font-en,Arial,sans-serif); font-size:clamp(125px,17vw,290px); font-weight:800; line-height:1; letter-spacing:-.045em; color:rgba(199,222,248,.044); white-space:nowrap; user-select:none; }
.kt-goods-gallery__viewport { position:relative; z-index:1; width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scrollbar-color:#2678dc transparent; -webkit-mask-image:linear-gradient(to right,transparent 0,black 5%,black 95%,transparent 100%); mask-image:linear-gradient(to right,transparent 0,black 5%,black 95%,transparent 100%) }
.kt-goods-gallery__viewport::-webkit-scrollbar {height:5px}
.kt-goods-gallery__viewport::-webkit-scrollbar-thumb {background:#2f80ed}
.kt-goods-gallery__viewport.is-enhanced { overflow:hidden; scrollbar-width:none; }
.kt-goods-gallery__viewport.is-enhanced::-webkit-scrollbar {display:none}
.kt-goods-gallery__rail {display:flex; align-items:center; width:max-content; min-width:100%; will-change:transform;}
.kt-goods-gallery__group { flex:0 0 auto; display:flex; gap:var(--marquee-gap); align-items:center; padding-right:var(--marquee-gap); min-height:265px; }
.kt-gallery-item {position:relative; flex:0 0 var(--goods-width,160px); height:252px; display:flex; align-items:center; justify-content:center; text-decoration:none; cursor:pointer; border:0; background:transparent; border-radius:3px; outline-offset:0; -webkit-tap-highlight-color:transparent;}
.kt-gallery-item::before {content:''; position:absolute; inset:23% 12%; border-radius:50%; background:radial-gradient(ellipse at center,rgba(39,103,160,.17),transparent 70%); opacity:.35; pointer-events:none; transition:opacity .2s;}
.kt-gallery-item img { display:block; position:relative; z-index:1; width:100%; max-width:100%; height:auto!important; max-height:238px; object-fit:contain!important; filter:drop-shadow(0 7px 7px rgba(0,0,0,.15)); transition:filter .22s,transform .22s; -webkit-user-drag:none; }
.kt-gallery-item:hover img {transform:translateY(-5px) scale(1.035); filter:drop-shadow(0 7px 16px rgba(47,128,237,.22))}
.kt-gallery-item:hover::before,.kt-gallery-item:focus-visible::before{opacity:1}
.kt-gallery-item:focus-visible {outline:2px solid #4c9aff; outline-offset:-4px;}
.kt-gallery-item--acrylic {flex-basis:var(--goods-width,138px)}
.kt-gallery-item--panel {flex-basis:var(--goods-width,138px)}
.kt-gallery-item--sticker-1,.kt-gallery-item--sticker-2 {height:250px}
.kt-goods-gallery__utility {position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1280px; padding:10px 32px 0; margin:0 auto;}
.kt-goods-gallery__utility p {margin:0; color:rgba(255,255,255,.45); font-size:11px; line-height:1.6; letter-spacing:.06em;}
.kt-goods-gallery__toggle {display:inline-flex; gap:8px; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid rgba(134,169,203,.32); background:rgba(12,18,25,.62); color:rgba(255,255,255,.74); font:inherit; font-size:11px; line-height:1; letter-spacing:.05em; cursor:pointer; padding:10px 13px; min-height:36px; transition:border-color .2s,background .2s,color .2s}
.kt-goods-gallery__toggle:hover,.kt-goods-gallery__toggle:focus-visible {border-color:#4c9aff;background:#1b3e65;color:white}
.kt-goods-gallery__toggle-icon {font-size:12px;font-weight:bold}
.kt-goods-gallery__toggle[hidden] {display:none!important}
/* Product cards remain the v01 layout; use dark field for preview images with transparent backgrounds. */
.kt-goods-catalog-page .kt-goods-card__visual {background:radial-gradient(ellipse at center,rgba(65,96,128,.22),transparent 67%),#121c27;}
.kt-goods-catalog-page .kt-goods-card__visual img {padding:22px; max-width:100%; object-fit:contain!important;}
.kt-goods-catalog-page .kt-goods-card__visual img[src*="panel"] {padding:11px 34px;}
/* Small photo strip should sit close to hero without becoming a second section headline. */
.kt-goods-catalog-page .kt-goods-hero {border-bottom:0; padding-bottom:74px;}
.kt-goods-catalog-page .kt-goods-products {padding-top:90px;}
@media(max-width:1023px) {
 .kt-goods-gallery {--marquee-gap:16px; padding:55px 0 24px;}
 .kt-goods-gallery__background {font-size:clamp(110px,18vw,200px);top:85px}
 .kt-goods-gallery__group {min-height:238px}
 .kt-gallery-item { height:225px; flex-basis:calc(var(--goods-width,160px) * .9)}
 .kt-gallery-item img {max-height:211px;}
}
@media(max-width:767px){
 .kt-goods-gallery { --marquee-gap:12px; padding:42px 0 20px; }
 .kt-goods-gallery__background {top:66px;font-size:117px;color:rgba(199,222,248,.055)}
 .kt-goods-gallery__viewport {-webkit-mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent); mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}
 .kt-goods-gallery__group {min-height:176px}
 .kt-gallery-item {flex-basis:calc(var(--goods-width,160px) * .68);height:170px;}
 .kt-gallery-item img {max-height:165px;}
 .kt-goods-gallery__utility {padding:8px 18px 0;}
 .kt-goods-gallery__utility p {font-size:10px;max-width:60%}
 .kt-goods-gallery__toggle {min-height:34px;padding:8px 11px;font-size:10px}
 .kt-goods-catalog-page .kt-goods-hero{padding-bottom:44px;}
 .kt-goods-catalog-page .kt-goods-products {padding-top:54px;}
}
@media(prefers-reduced-motion:reduce) {
 .kt-goods-gallery__rail {will-change:auto; transform:none!important}
 .kt-goods-gallery__viewport,.kt-goods-gallery__viewport.is-enhanced {overflow-x:auto;scrollbar-width:thin;-webkit-mask-image:none;mask-image:none}
 .kt-gallery-item img {transition:none!important;transform:none!important}
}

/* v03: Remove introductory callout; place ORIGINAL COLLECTION immediately above the photo marquee. */
.kt-goods-catalog-page .kt-goods-hero { padding-bottom:12px; }
.kt-goods-gallery { padding-top:44px; }
.kt-goods-gallery__background { top:66px; }
.kt-goods-gallery__heading { position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:1280px; padding:0 32px; margin:0 auto 24px; min-height:44px; }
.kt-goods-gallery__heading .kt-character-section-label { margin:0; }
.kt-goods-gallery__toggle { width:44px; height:44px; min-width:44px; min-height:44px; padding:0; display:inline-flex; flex:none; align-items:center; justify-content:center; color:#7bb6ff; border:1px solid rgba(76,154,255,.36); background:rgba(9,17,26,.32); border-radius:0; }
.kt-goods-gallery__toggle:hover,.kt-goods-gallery__toggle:focus-visible { background:rgba(47,128,237,.14);color:#fff;border-color:#4c9aff; }
.kt-goods-gallery__toggle:focus-visible { outline:2px solid #83bbff; outline-offset:3px; }
.kt-goods-gallery__icon { width:18px; height:18px; display:block; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.kt-goods-gallery__icon--play {display:none;fill:none;}
.kt-goods-gallery__toggle[aria-pressed="true"] .kt-goods-gallery__icon--pause { display:none; }
.kt-goods-gallery__toggle[aria-pressed="true"] .kt-goods-gallery__icon--play {display:block;}
.kt-goods-gallery__utility{ justify-content:flex-start; }

/* Cards reveal once as they enter the viewport, staggered from left to right in each row. */
.js-goods-reveal .kt-goods-card { transition-property:opacity,transform,border-color; transition-duration:.72s,.72s,.22s; transition-timing-function:cubic-bezier(.2,.75,.22,1),cubic-bezier(.2,.75,.22,1),ease; }
.js-goods-reveal .kt-goods-card:not(.is-goods-visible):not(:target) { opacity:0; transform:translate3d(0,26px,0); }
.js-goods-reveal .kt-goods-card.is-goods-visible:not(.is-goods-settled) { transition-delay:var(--goods-delay,0ms),var(--goods-delay,0ms),0ms; }
.kt-goods-card:nth-child(3n+1){--goods-delay:0ms;}
.kt-goods-card:nth-child(3n+2){--goods-delay:150ms;}
.kt-goods-card:nth-child(3n){--goods-delay:300ms;}
@media(max-width:1023px) {
  .kt-goods-catalog-page .kt-goods-hero{padding-bottom:12px;}
  .kt-goods-gallery{padding-top:34px;}
  .kt-goods-gallery__heading{padding:0 32px;margin-bottom:18px;}
  .kt-goods-card:nth-child(2n+1){--goods-delay:0ms;}
  .kt-goods-card:nth-child(2n){--goods-delay:150ms;}
}
@media(max-width:767px) {
  .kt-goods-catalog-page .kt-goods-hero{padding-bottom:8px;}
  .kt-goods-gallery{padding-top:22px;}
  .kt-goods-gallery__background{top:60px;}
  .kt-goods-gallery__heading{padding:0 18px;margin-bottom:12px;min-height:44px;}
  .kt-goods-gallery__heading .kt-character-section-label{font-size:10px;letter-spacing:.2em;}
  .kt-goods-grid .kt-goods-card{--goods-delay:0ms;}
}
@media(prefers-reduced-motion:reduce) {
  .js-goods-reveal .kt-goods-card,
  .js-goods-reveal .kt-goods-card:not(.is-goods-visible){opacity:1!important;transform:none!important;transition:none!important;}
}



/* v04: product image clarity and sizing; no crop / no changes to marquee. */
body.kt-goods-catalog-page .kt-goods-card__visual {
  height:390px;
  min-height:0;
  aspect-ratio:auto;
}
body.kt-goods-catalog-page .kt-goods-card__visual img,
body.kt-goods-catalog-page .kt-goods-card__visual img[src*="panel"] {
  width:100%;
  height:100%!important;
  max-height:none;
  padding:10px;
  object-fit:contain!important;
  object-position:center;
}
@media (max-width:1023px) {
  body.kt-goods-catalog-page .kt-goods-card__visual { height:360px; }
}
@media (max-width:767px) {
  body.kt-goods-catalog-page .kt-goods-card__visual { height:350px; }
}


/* v05: keep goods images completely inside a consistent square-like picture frame.
 * The source PNGs can remain portrait, landscape, or square: never crop or stretch.
 * The previous grid sizing allowed 3:4 images to render taller than the frame,
 * causing visible overlap with GOODS numbers and product names.
 */
body.kt-goods-catalog-page .kt-goods-grid .kt-goods-card__visual {
  display:block;
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:1 / 1;
  overflow:hidden;
  box-sizing:border-box;
}
body.kt-goods-catalog-page .kt-goods-grid .kt-goods-card__visual img,
body.kt-goods-catalog-page .kt-goods-grid .kt-goods-card__visual img[src*="panel"] {
  display:block;
  position:absolute;
  inset:12px;
  width:calc(100% - 24px)!important;
  height:calc(100% - 24px)!important;
  min-width:0;
  min-height:0;
  max-width:none;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center;
  box-sizing:border-box;
}
body.kt-goods-catalog-page .kt-goods-grid .kt-goods-card__visual .kt-goods-image-placeholder {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  text-align:center;
}
