/* FLUX only: photographed product details and a three-axis domestic SKU picker. */
.flux-page [id] { scroll-margin-top: 160px; }
.flux-page .detail-info h1 { font-size: clamp(28px,3vw,38px); line-height: 1.15; }
.flux-page .detail-subtitle { margin-bottom: 14px; }
.flux-page .hq-intro { margin-bottom: 16px; color:#333; }
.flux-page .detail-origin { font-size:12px; }
.flux-page .detail-price { margin:14px 0; }
.flux-picker[hidden] { display:none; }
.flux-picker { margin:20px 0 8px; }
.flux-option-group { margin-bottom:16px; }
.flux-option-group > p { margin:0 0 8px; font-size:14px; color:#444; }
.flux-option-group > p strong { color:#111; }
.flux-option-group [role="radiogroup"] { display:flex; flex-wrap:wrap; gap:8px; }
.flux-option-group button { font:inherit; font-size:13px; min-height:42px; border:1px solid #d1d1d1; border-radius:0; padding:10px 13px; background:#fff; color:#171717; cursor:pointer; }
.flux-option-group button[aria-checked="true"] { color:#fff; background:#151515; border-color:#151515; }
.flux-option-group button[aria-disabled="true"] { opacity:.38; cursor:not-allowed; }
.flux-size-buttons button { min-width:48px; font-size:15px; }
.flux-construction-buttons button { width:154px; display:grid; gap:8px; padding:8px; font-weight:700; }
.flux-construction-buttons img { width:100%; height:54px; object-fit:contain; background:white; }
.flux-construction-buttons button[aria-checked="true"] { background:#fff; color:#111; outline:2px solid #111; outline-offset:-2px; }
.flux-page button:focus-visible,.flux-page a:focus-visible,.flux-accordion summary:focus-visible { outline:3px solid #c8102e; outline-offset:3px; }
.flux-picker-note { min-height:20px; margin:0; font-size:13px; color:#666; }
.shop-purchase.flux-driven .shop-option-heading,.shop-purchase.flux-driven .shop-variant-label { display:none; }
.flux-jump { display:flex; flex-wrap:wrap; gap:10px 18px; border-top:1px solid #ddd; padding-top:16px; margin-top:20px; }
.flux-jump a { color:#222; text-decoration:none; font-size:13px; font-weight:600; }
.flux-page .flux-features { padding-top:40px!important; }
.flux-features h2,.flux-flex h2,.flux-page #flux-specifications h2 { font-size:25px; line-height:1.4; margin:0 0 26px; color:#111; }
.flux-feature-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:38px 24px; }
.flux-feature-grid .hq-feature { grid-column:span 2; }
.flux-feature-grid .hq-feature:nth-child(-n+2) { grid-column:span 3; }
.flux-feature-grid .hq-feature h3 { font-size:15px; letter-spacing:0; }
.flux-feature-grid .hq-feature p { color:#333; word-break:keep-all; overflow-wrap:break-word; }
.flux-gallery .hq-slide img { aspect-ratio:16/9; object-fit:contain; background:#f4f4f4; }
.flux-accordion { border-bottom:1px solid #ddd; }
.flux-accordion summary { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; padding:19px 22px; background:#111; color:#fff; font-size:17px; font-weight:700; }
.flux-accordion summary::-webkit-details-marker { display:none; }
.flux-accordion summary::after { content:'+'; font-size:25px; font-weight:400; }
.flux-accordion[open] summary::after { content:'−'; }
.flux-construction-row { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; padding:35px 0; border-bottom:1px solid #eee; }
.flux-construction-row > img { width:100%; height:auto; object-fit:contain; }
.flux-construction-row h3 { font-size:20px; margin:0 0 14px; color:#111; }
.flux-construction-row p { line-height:1.85; font-size:15px; color:#333; word-break:keep-all; }
.flux-flex { padding:54px 0; }
.flux-flex > img { width:100%; max-width:760px; height:auto; display:block; margin:0 auto 24px; }
.flux-flex-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.flux-flex-grid article { border-top:2px solid #171717; padding-top:16px; }
.flux-flex-number { color:#c8102e; font-weight:800; font-size:30px; margin:0 0 8px; }
.flux-flex-grid h3 { font-size:17px; margin:0 0 8px; }
.flux-flex-grid article > p:last-child { margin:0; font-size:15px; line-height:1.8; color:#444; word-break:keep-all; }
.flux-spec-note { padding:14px 18px; margin:0 0 20px; border-left:3px solid #c8102e; background:#f5f5f5; font-size:14px; color:#333; line-height:1.7; }
.flux-page #product-related-videos { margin-top:35px; background:#f5f4f1; }
.flux-video-sequence { display:grid; gap:40px; max-width:1080px; margin:26px auto 0; }
.flux-video-sequence > .product-videos { background:transparent; min-width:0; }
.flux-page #product-related-videos .product-video-choice { color:#222; }
.flux-page #product-related-videos .product-video-choice[aria-current="true"] { border-color:#c8102e; background:#fff; }
.flux-page #product-related-videos .product-video-choice small,.flux-page #product-related-videos .product-video-external { color:#a70820; }
@media(max-width:900px) {
 .flux-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
 .flux-feature-grid .hq-feature,.flux-feature-grid .hq-feature:nth-child(-n+2) { grid-column:auto; }
 .flux-construction-row { gap:24px; }
}
@media(max-width:600px) {
 .flux-page [id] { scroll-margin-top:120px; }
 .flux-page .hq-main-photo { width:100%; }
 .flux-page .hq-gallery-top .gallery-main-wrap img { height:460px; width:100%; }
 .flux-construction-buttons button { flex:1 1 140px; }
 .flux-shaft-buttons button { font-size:12px; padding:9px 10px; }
 .flux-feature-grid,.flux-construction-row,.flux-flex-grid { grid-template-columns:minmax(0,1fr); }
 .flux-construction-row { gap:18px; padding:26px 0; }
 .flux-construction-row h3 { font-size:19px; }
 .flux-features h2,.flux-flex h2,.flux-page #flux-specifications h2 { font-size:22px; }
 .flux-accordion summary { font-size:15px; padding:15px; }
 .flux-flex { padding:36px 0; }
 .flux-flex-grid { gap:22px; }
}
