/* Each full colour SKU owns one independent card and gallery. */
.photo-carousel{position:relative;min-width:0;border:1px solid #e4e6dc;border-radius:10px;overflow:hidden;background:#f3f3ee}
.gallery-track{display:flex;width:100%;aspect-ratio:1/1.04;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-slide{--image-inset:12px;position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 100%;width:100%;min-width:0;height:100%;padding:0;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;text-align:center}
.gallery-slide img{position:absolute;inset:var(--image-inset);display:block;width:calc(100% - 2 * var(--image-inset));height:calc(100% - 2 * var(--image-inset));object-fit:contain;mix-blend-mode:multiply;user-select:none}
.gallery-slide:has(.image-loading)::before,.photo-viewport:has(.image-loading)::before{content:'图片加载中…';font-size:11px;color:#909782;padding:30px}
.image-loading{visibility:hidden}
.gallery-slide:focus-visible{outline:3px solid #d7ac0e;outline-offset:-4px;border-radius:8px}
.photo-carousel .card-type{z-index:1;pointer-events:none;max-width:calc(100% - 20px)}
.gallery-toolbar{height:29px;display:flex;align-items:center;gap:10px;padding:0 10px;border-top:1px solid #e7e8df;background:#f8f8f3}
.gallery-counter{font-size:10px;color:#9a9e8d;min-width:28px;white-space:nowrap;font-variant-numeric:tabular-nums}
.gallery-counter b{color:#626854;font-weight:650}
.gallery-progress{display:flex;justify-content:center;gap:3px;flex:1;min-width:0;max-width:80px;margin-left:auto}
.gallery-progress i{height:3px;flex:1;max-width:16px;border-radius:2px;background:#dddfd3;transition:background .15s}
.gallery-progress i.active{background:#cbb044}
.gallery-arrow{position:absolute;top:calc(50% - 35px);display:grid;place-items:center;width:34px;height:44px;border:1px solid #e6e8dc;background:#fffffff0;color:#616953;box-shadow:0 2px 8px #2737170b;border-radius:7px;opacity:0;transition:opacity .15s;z-index:2}
.gallery-arrow svg{width:16px;height:16px}
.gallery-prev{left:6px}.gallery-prev svg{transform:rotate(180deg)}.gallery-next{right:6px}
.photo-carousel:hover .gallery-arrow,.photo-carousel:focus-within .gallery-arrow{opacity:1}
.gallery-arrow:disabled{opacity:0!important;pointer-events:none}
.long-photo-hint{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);white-space:nowrap;background:#ffffffe8;border:1px solid #e5e7d9;padding:4px 7px;border-radius:4px;font-size:9px;color:#768066;pointer-events:none}
.product-card:hover{transform:none}
.product-card:hover .photo-carousel{border-color:#cecdbb}
.card-info{width:100%;display:block;text-align:left;padding:10px 1px 0}
.card-info:hover .card-name{color:#181c12}
.card-sku{font-size:13px;font-weight:700;letter-spacing:0;line-height:1.5}
.card-topline{flex-wrap:wrap;gap:2px 5px}
.card-name{font-size:12px;line-height:1.55;margin-top:4px}
.card-korean{font-size:10px;color:#858b77}
.card-bottomline{margin-top:8px;gap:5px;flex-wrap:wrap}
.card-color{display:inline-flex;align-items:center;gap:5px;font-size:10px}
.card-color .color-dot{width:9px;height:9px}
.card-color strong{font-weight:650;letter-spacing:.5px;color:#657050}
.card-color small{font-size:9px;color:#9caa8c;letter-spacing:0}
.set-badge{font-size:9px}
.family-size span{color:#9a9e8d}
.base-sku-line{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:#929b82;margin:5px 0 0}
.detail-code-line{flex-wrap:wrap;gap:6px 12px}
.detail-code-line code{font-size:17px;font-weight:700;letter-spacing:.15px}
.detail-visual{display:block;padding:20px;background:#f0f1e9;min-height:0}
.detail-carousel{border:0;border-radius:9px}
.detail-carousel .gallery-track{aspect-ratio:1/1.22;max-height:540px}
.detail-carousel .gallery-slide{--image-inset:15px}
.detail-carousel .gallery-toolbar{height:39px;border-color:#dfe3d5;background:#f7f8ef}
.detail-carousel .gallery-arrow{opacity:1}
.detail-carousel .gallery-progress{max-width:90px;margin:0 auto}
.zoom-button{font-size:10px;color:#6d784e;display:flex;align-items:center;gap:4px;white-space:nowrap;padding:7px 0}
.zoom-button svg{width:12px;height:12px}
.detail-carousel .long-photo-hint{font-size:10px}
.gallery-thumb{width:49px;height:55px}
.gallery-thumb.active{border:2px solid #c5aa41}
.set-item{width:100%}
.set-item code{font-size:12px;overflow-wrap:anywhere}
.set-source{display:inline-block;margin:6px 0 0 5px;font-size:9px;color:#8e987e;text-decoration:underline;text-underline-offset:3px}
.set-source:hover{color:#495c34}
.photo-dialog{width:1040px;max-width:96vw;height:92dvh;max-height:94dvh;overflow:hidden}
.photo-dialog[open]{display:flex;flex-direction:column}
.photo-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;border-bottom:1px solid #e3e7d7;flex-shrink:0}
.photo-header h2{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;margin:0;font-weight:650;letter-spacing:0}
.photo-header p{font-size:10px;color:#8e977c;margin:3px 0 0}
.photo-close{font-size:26px;flex-shrink:0;width:40px;height:40px}
.photo-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;text-align:center}
.photo-viewport>img{display:block;max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain;margin:0 auto}
.photo-viewport>img.is-long{max-height:none;width:100%;max-width:1000px;height:auto}
.photo-footer{flex-shrink:0;border-top:1px solid #e3e7d7;display:flex;align-items:center;justify-content:space-between;padding:7px 16px;gap:10px}
.photo-footer button,.photo-footer a{font-size:11px;padding:8px 4px;color:#61734b}
.photo-footer button:disabled{color:#c0c5b5}
.photo-dialog::backdrop{background:#141810bd;backdrop-filter:blur(5px)}
@media(min-width:1550px){.card-sku{font-size:14px}}
@media(max-width:1180px){.card-sku{font-size:12px}.card-color small{display:none}}
@media(max-width:900px){.card-sku{font-size:11px}.card-name{font-size:11px}.card-korean{font-size:9px}.card-info{padding-top:8px}.set-badge{font-size:8px}.gallery-toolbar{height:27px;padding:0 7px}.gallery-progress{max-width:60px}.gallery-counter{font-size:9px}.gallery-slide{--image-inset:8px}.gallery-arrow{width:28px;height:38px}.card-color{font-size:9px}}
@media(max-width:700px){
  .intro-meta{display:block;text-align:left;padding:0}.intro{flex-wrap:wrap;gap:10px}.intro-meta>div{display:none}.intro-meta p{margin:0;font-size:9px}.intro-meta p span{font-size:9px}
  .intro p{font-size:11px}.scope-tabs{justify-content:flex-start}.scope-tab{padding:8px 9px}.scope-tab small{margin-left:4px}
  .photo-carousel{border-radius:8px}.gallery-track{aspect-ratio:1/1.1}.gallery-slide{--image-inset:8px}.gallery-toolbar{height:26px;padding:0 8px}.gallery-progress{max-width:70px}
  .gallery-arrow{opacity:.82;width:26px;height:36px;border-radius:6px;top:calc(50% - 31px)}.gallery-prev{left:3px}.gallery-next{right:3px}.gallery-arrow svg{width:13px;height:13px}
  .card-sku{font-size:12px;letter-spacing:-.25px}.card-name{font-size:11px}.card-korean{font-size:9px;line-height:1.6}
  .card-color{font-size:10px;gap:4px}.card-color .color-dot{width:8px;height:8px}.card-color small{display:none}.set-badge{font-size:8px}.card-bottomline{margin-top:7px}
  .family-size{font-size:9px;text-align:right}.family-size span{display:block;white-space:nowrap}.family-heading-main{min-width:0}.family-heading h2 .family-korean{display:block;margin:5px 0 0}
  .detail-visual{padding:15px;height:auto}.detail-carousel{width:100%;max-width:420px;margin:0 auto}.detail-carousel .gallery-track{height:340px;aspect-ratio:auto;max-height:46dvh}
  .detail-carousel .gallery-slide{--image-inset:14px}.detail-carousel .gallery-arrow{width:33px;height:43px}.detail-code-line code{font-size:17px}
  .photo-dialog{max-width:100vw;width:100vw;height:96dvh;max-height:96dvh;margin:auto 0 0;border-radius:15px 15px 0 0}
  .photo-header{padding:10px 14px}.photo-header h2{font-size:14px}.photo-header p{font-size:10px}.photo-footer{padding:6px 12px}.photo-footer a,.photo-footer button{font-size:11px}
  .long-photo-hint{font-size:8px;max-width:95%;white-space:normal;width:max-content}
}
@media(max-width:370px){.card-sku{font-size:11px;letter-spacing:-.4px}.scope-tab{font-size:10px;padding:8px 7px}.scope-tab small{font-size:8px}.gallery-progress{max-width:49px}.set-badge{font-size:7px}.card-color{font-size:9px}}
@media(prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}}
@media print{.gallery-arrow,.gallery-toolbar,.card-color small,.long-photo-hint{display:none!important}.gallery-track{display:block;height:150px;aspect-ratio:auto;overflow:hidden}.gallery-slide{display:none;height:150px;width:100%;padding:6px}.gallery-slide:first-child{display:flex}.gallery-slide img{mix-blend-mode:normal}.photo-carousel{border:1px solid #eee}.card-sku{font-size:10px}.card-bottomline{display:flex!important}.card-color{font-size:9px}.card-korean{font-size:8px}.photo-dialog{display:none!important}}

/* Official Korean series names lead; English remains a smaller subtitle. */
.nav-link .nav-label{display:block;min-width:0;overflow:visible;text-overflow:clip;white-space:normal}
.nav-label .series-primary{display:block;font-size:12px;font-weight:650;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.nav-label .series-english{display:block;margin-top:2px;font-size:9px;font-weight:400;line-height:1.35;color:#85897a;overflow-wrap:break-word}
.nav-count,.family-size{flex-shrink:0}
.family-heading-main>div{min-width:0}
.family-heading h2 .series-primary{display:block;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.family-heading h2 .series-english{display:block;margin-top:5px;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:.1px;color:#85897a}
.detail-family .series-english{display:block;margin-top:4px;font-size:10px;font-weight:400;line-height:1.4;letter-spacing:.1px;color:#85897a}
@media(max-width:700px){
  .nav-label .series-primary{font-size:11px}
  .nav-label .series-english{font-size:9px;margin-top:1px}
  .family-heading h2 .series-english{font-size:10px;margin-top:4px}
}
