/* 产品图等比例展示；小屏幕使用一列，避免颜色和介绍拥挤。 */
.product-info h3,.detail h1{overflow-wrap:anywhere;line-height:1.45}
.thumbs img{object-fit:contain}
.zoom-photo,.gallery-image{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.gallery-swipe-hint{font-size:11px;color:var(--muted);text-align:center;margin:10px 0 0}
@media(max-width:600px){
 body{font-size:15px;line-height:1.7}
 .wrap{width:calc(100% - 36px)}
 header{padding:16px 18px;min-height:78px;gap:14px}
 header nav{top:77px;padding-left:18px;padding-right:18px}
 .wordmark{font-size:27px;max-width:calc(100vw - 115px);overflow-wrap:anywhere}
 .wordmark span{font-size:8px;letter-spacing:1px;line-height:1.5}
 .page-top{padding:32px 0 26px}
 .page-top .breadcrumbs{margin-bottom:24px}
 .page-top .eyebrow{margin-bottom:16px}
 html[lang=zh-CN] .page-top h1{font-size:36px;line-height:1.3;letter-spacing:-1px}
 .page-top p{font-size:14px;line-height:1.8}
 .grid-products{grid-template-columns:minmax(0,1fr);gap:30px}
 .product-image,.product-card:last-child:nth-child(odd) .product-image{aspect-ratio:4/5}
 .product-info{gap:16px;padding:15px 0 0}
 .product-info h3{font-size:19px;margin-bottom:8px}
 .product-info small{font-size:12px;line-height:1.6}
 .swatches{gap:10px;margin-top:13px}
 .color-thumbnail,.color-thumbnail-empty{width:43px;height:54px}
 .filters{gap:16px;padding:16px 0;margin-bottom:22px;align-items:stretch}
 .search-label,.search{width:100%;max-width:100%}
 .search{font-size:16px;padding:11px 0}
 .result-count{font-size:13px;margin-bottom:20px}
 .detail{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:10px}
 .detail h1{font-size:30px;letter-spacing:0;margin:12px 0 18px}
 .detail .line-break{font-size:15px;line-height:1.85}
 .color-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .color-choice button{width:100%;min-height:80px;padding:10px;gap:8px;font-size:13px;line-height:1.5;justify-content:flex-start}
 .color-choice button>span:last-child{max-width:100%;min-width:0;flex:1}
 .color-choice .color-thumbnail,.color-choice .color-thumbnail-empty{width:44px;height:55px;flex-shrink:0}
 .thumbs{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}
 .thumbs button{min-width:0;width:100%;height:auto;aspect-ratio:4/5}
 .specs>div{gap:12px;align-items:start}
 .specs dt{min-width:0;font-size:13px}
 .specs dd{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.7}
 .detail .actions .button{width:100%;min-height:49px;justify-content:center;font-size:14px}
 .contact-layout,.form-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .form-grid .full{grid-column:auto}
 .contact-info{padding-right:0}
 .consent{align-items:flex-start;gap:10px;font-size:13px;line-height:1.7}
 .field label{line-height:1.7;font-size:14px}
 .field input,.field textarea{width:100%;min-width:0;font-size:16px}
 .cta-band{padding:40px 18px;gap:24px}
 .cta-band h2{font-size:30px;line-height:1.4}
 .photo-gallery{width:calc(100vw - 20px);max-height:95dvh;padding:12px}
 .gallery-bar{align-items:flex-start;gap:12px}
 #gallery-heading{overflow-wrap:anywhere;min-width:0;line-height:1.5}
 .gallery-close{min-height:42px;padding:8px 12px}
 .gallery-image{height:58dvh}
 .gallery-controls{display:grid;grid-template-columns:48px 1fr 48px;gap:12px;text-align:center}
 .gallery-controls button{min-height:43px;padding:6px 12px}
 .gallery-original{grid-column:1/-1;width:auto;justify-self:center;margin:3px 0 0;font-size:13px}
 .zoom-photo>span{bottom:12px;right:12px;font-size:11px;max-width:calc(100% - 24px)}
 footer{padding:40px 18px 24px}
 .footer-top{gap:25px;padding-bottom:35px}
}

/* 全屏大图：原生横向轨道跟随手指，松手后停在整张图片上。 */
html.gallery-open,html.gallery-open body{overflow:hidden}
.photo-gallery.fullscreen-gallery{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#111;color:#fff;overflow:hidden}
.fullscreen-gallery[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.fullscreen-gallery::backdrop{background:#111;backdrop-filter:none}
.fullscreen-gallery .gallery-bar{margin:0;min-height:64px;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;gap:16px;align-items:center}
.fullscreen-gallery #gallery-heading{flex:1;min-width:0;font-size:13px;line-height:1.6;color:#ddd}
.fullscreen-gallery .gallery-original{width:auto;margin:0;flex-shrink:0;font-size:12px;color:#ddd;border-bottom:1px solid #666;padding:5px 0}
.fullscreen-gallery .gallery-close{flex-shrink:0;min-width:64px;min-height:44px;border-color:#555;color:#fff;border-radius:4px}
.gallery-viewport{min-height:0;overflow:hidden}
.gallery-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pinch-zoom}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-slide{flex:0 0 100%;width:100%;min-width:0;height:100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}
.fullscreen-gallery .gallery-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;background:#fff;object-fit:contain;touch-action:pan-x pinch-zoom;user-select:none;-webkit-user-drag:none}
.fullscreen-gallery .gallery-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:20px;margin:0;padding:12px max(20px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));color:#fff}
.fullscreen-gallery .gallery-controls button{min-height:44px;padding:6px 12px;color:#fff;border-color:#555;border-radius:4px}
.fullscreen-gallery .gallery-controls button:disabled{opacity:.25;cursor:default}
.gallery-count-group{text-align:center;line-height:1.5}
.fullscreen-gallery .gallery-count{font-size:15px;font-variant-numeric:tabular-nums}
.gallery-count-group small{display:block;margin-top:4px;font-size:11px;color:#aaa}
@media(max-width:600px){.fullscreen-gallery .gallery-bar{gap:12px;padding-left:16px;padding-right:16px}.fullscreen-gallery #gallery-heading{font-size:12px}.fullscreen-gallery .gallery-original{font-size:11px}.fullscreen-gallery .gallery-close{min-width:59px;padding:7px 10px}.fullscreen-gallery .gallery-controls{gap:16px}}
