/* Additive product styles: original v6 layout stays intact. */
.real-products-section { margin-top: 27px; }
.product--real .photo-btn { background: #fdfdfd; }
.product--real .photo-btn img { object-fit: contain; padding: 7px; }
.ai-image-badge { position: absolute; left: 7px; bottom: 7px; padding: 4px 6px; border-radius: 6px; color: #675a73; background: #ffffffed; font-size: 8px; font-weight: 650; z-index: 2; }
.image-count-badge { position: absolute; right: 7px; bottom: 7px; display: flex; align-items: center; gap: 3px; padding: 4px 6px; border-radius: 6px; background: #ffffffed; color: #675a73; font-size: 9px; z-index: 2; }
.image-count-badge .icon { width: 11px; height: 11px; }
.price.price--unknown, .sheet-price.price--unknown { font-size: 15px; font-weight: 750; letter-spacing: -.2px; }
.cart-thumb--real { object-fit: contain; background: #fff; }
.real-product-detail, .real-product-media, .real-product-copy { min-width: 0; }
.real-product-copy .sheet-title { font-size: 23px; line-height: 1.23; }
.real-product-brand { font-size: 11px; font-weight: 800; color: var(--muted); margin: 17px 0 7px; text-transform: uppercase; letter-spacing: .9px; }
.image-disclosure { font-size: 10px; line-height: 1.5; color: var(--muted); margin: 5px 0 18px; }
.real-product-specs { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 14px; margin: 19px 0; font-size: 12px; line-height: 1.5; }
.real-product-specs dt, .real-product-specs dd { margin: 0; padding: 9px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.real-product-specs dt { color: var(--muted); }
.real-product-sources { font-size: 11px; color: var(--muted); line-height: 1.6; }
.real-product-sources summary { cursor: pointer; }
.real-product-sources a { color: #bca3f1; }
body[data-theme="light"] .real-product-sources a { color: #7146aa; }
.gallery .media-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; font-size: 12px; color: #756b7e; }
.gallery .media-placeholder svg { width: 42px; height: 42px; stroke: currentColor; fill: none; stroke-width: 1.6; }
.gallery { width: 100%; min-width: 0; margin-top: 12px; }
.gallery--empty { min-height: 270px; border-radius: 16px; overflow: hidden; background: var(--productBg); }
.gallery--empty .media-placeholder { min-height: 225px; }
.gallery-note { margin: 0; padding: 0 16px 18px; text-align: center; color: #756b7e; font-size: 11px; line-height: 1.5; }
.gallery-stage { position: relative; min-width: 0; border-radius: 16px; overflow: hidden; }
.gallery-track { display: flex; width: 100%; height: clamp(250px, 70vw, 380px); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.gallery-track::-webkit-scrollbar { display: none; }
.gallery-slide { display: grid; place-items: center; position: relative; flex: 0 0 100%; min-width: 0; height: 100%; padding: 14px; border: 0; background: var(--productBg); scroll-snap-align: start; scroll-snap-stop: always; cursor: zoom-in; }
.gallery-slide img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
.gallery-slide > .media-placeholder { display: none; }
.gallery-slide.is-unavailable img { display: none; }
.gallery-slide.is-unavailable > .media-placeholder { display: flex; }
.gallery-arrow { position: absolute; top: calc(50% - 22px); width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #34234018; border-radius: 50%; background: #ffffffed; color: #42334f; z-index: 2; }
.gallery-arrow--prev { left: 7px; }
.gallery-arrow--next { right: 7px; }
.gallery-arrow:disabled { opacity: .25; cursor: default; }
.gallery-caption { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); padding: 10px 2px; font-size: 10px; line-height: 1.4; }
.gallery-caption [data-gallery-count] { font-variant-numeric: tabular-nums; white-space: nowrap; }
.gallery-thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 2px 1px 6px; }
.gallery-thumb { flex: 0 0 52px; height: 62px; border: 2px solid transparent; padding: 3px; border-radius: 9px; background: var(--productBg); }
.gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.gallery-thumb.is-active { border-color: #a985dd; }
.gallery-lightbox { position: fixed; inset: 0; z-index: 180; display: flex; align-items: center; justify-content: center; padding: 12px; background: #111219f5; color: #f7f4ff; animation: fade 180ms ease; }
.gallery-lightbox-panel { width: min(1280px, 100%); max-height: calc(100dvh - 24px); overflow: hidden; }
.gallery-zoom-close { display: block; margin-left: auto; padding: 10px 14px; border: 1px solid #ffffff24; border-radius: 12px; color: #f7f4ff; background: #ffffff14; }
.gallery--lightbox { margin-top: 8px; }
.gallery--lightbox .gallery-track { height: max(140px, calc(100dvh - 190px)); }
.gallery--lightbox .gallery-slide { background: transparent; cursor: default; }
.gallery--lightbox .gallery-caption { color: #c9c4d2; }
.gallery--lightbox .gallery-thumbs { justify-content: center; }
.gallery--lightbox .gallery-thumb { background: #ffffff16; }

@media (min-width: 1024px) {
 .sheet--real-product { max-width: 950px; }
 .real-product-detail { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: 25px; align-items: start; }
 .real-product-media { position: sticky; top: 0; }
 .gallery-track { height: 440px; }
 .real-product-brand { margin-top: 12px; }
 .product--real .photo-btn img { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
 .gallery-lightbox { animation: none; }
 .gallery-track { scroll-behavior: auto; }
}

.gallery-image-kind { position: absolute; top: 10px; left: 10px; z-index: 2; color: #675a73; background: #ffffffed; border-radius: 6px; font-size: 9px; padding: 4px 7px; }
.gallery-image-kind:empty { display: none; }
