.v2-product { color:var(--v2-ink); padding-top:28px; }
.v2-product a { text-underline-offset:4px; }
.v2-product-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--v2-muted); font-size:12px; line-height:1.6; margin-bottom:37px; }
.v2-product-breadcrumb a { color:var(--v2-muted); text-decoration:none; }
.v2-product-breadcrumb a:hover { color:var(--v2-blue); text-decoration:underline; }
.v2-product-label { display:block; color:var(--v2-blue); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin-bottom:13px; }
.v2-product-masthead { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:65px; align-items:end; margin-bottom:38px; }
.v2-product-masthead h1 { font-size:clamp(34px,4vw,56px); line-height:1.09; font-weight:600; letter-spacing:-.04em; margin:0 0 22px; max-width:850px; }
.v2-product-masthead p { color:var(--v2-muted); font-size:15px; line-height:1.8; margin:0; max-width:830px; }
.v2-product-facts { border-left:1px solid var(--v2-line); padding:3px 0 3px 28px; margin:0; display:grid; gap:16px; }
.v2-product-facts dt { color:var(--v2-muted); font-size:11px; text-transform:uppercase; letter-spacing:.09em; margin-bottom:4px; }
.v2-product-facts dd { font-size:17px; font-weight:600; line-height:1.4; margin:0; }
.v2-product-showcase { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr); border:1px solid var(--v2-line); margin-bottom:42px; min-height:460px; background:white; }
.v2-product-gallery { min-width:0; display:grid; grid-template-columns:76px minmax(0,1fr); background:var(--v2-soft); padding:26px; gap:22px; }
.v2-product-thumbs { display:flex; flex-direction:column; gap:12px; }
.v2-product-thumb { padding:6px; border:1px solid var(--v2-line); width:76px; height:76px; background:#fff; cursor:pointer; }
.v2-product-thumb[aria-pressed="true"] { border-color:var(--v2-blue); box-shadow:inset 0 0 0 1px var(--v2-blue); }
.v2-product-thumb img { width:100%; height:100%; object-fit:contain; }
.v2-product-image-stage { min-width:0; display:flex; align-items:stretch; justify-content:center; }
.v2-product-image-button { position:relative; width:100%; background:transparent; border:0; padding:24px 12px 38px; cursor:zoom-in; display:flex; align-items:center; justify-content:center; }
.v2-product-main-image { display:block; width:100%; max-height:370px; object-fit:contain; mix-blend-mode:multiply; }
.v2-product-image-button>span { position:absolute; right:5px; bottom:2px; font-size:11px; font-weight:600; color:var(--v2-muted); display:flex; align-items:center; gap:15px; }
.v2-product-image-empty { align-self:center; color:var(--v2-muted); }
.v2-product-selection { padding:34px; border-left:1px solid var(--v2-line); display:flex; flex-direction:column; }
.v2-product-selection h2 { font-size:25px; font-weight:600; line-height:1.3; letter-spacing:-.02em; margin:0 0 22px; }
.v2-product-selection dl { margin:0; }
.v2-product-selection dl>div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:15px; border-bottom:1px solid var(--v2-line); padding:10px 0; }
.v2-product-selection dt { font-size:12px; color:var(--v2-muted); }
.v2-product-selection dd { font-size:12px; line-height:1.6; margin:0; }
.v2-product-selection-note { color:var(--v2-muted); font-size:11px; line-height:1.6; margin:14px 0 23px; }
.v2-product-primary { display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--v2-blue); color:#fff!important; text-decoration:none!important; font-size:13px; font-weight:600; padding:14px 17px; margin-top:auto; }
.v2-product-primary:hover { background:var(--v2-navy); }
.v2-product-secondary { display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--v2-ink); padding:14px 17px; text-decoration:none; border:1px solid var(--v2-line); margin-top:9px; }
.v2-product-sales { font-size:12px; color:var(--v2-muted); margin-top:17px; align-self:flex-start; overflow-wrap:anywhere; }
.v2-product-section-nav { position:sticky; top:var(--v2-header-height,90px); z-index:20; background:rgba(255,255,255,.96); border-block:1px solid var(--v2-line); backdrop-filter:blur(12px); }
.v2-product-section-nav nav { display:flex; align-items:center; gap:40px; min-height:64px; overflow-x:auto; scrollbar-width:thin; }
.v2-product-section-nav nav>a { flex-shrink:0; padding:22px 0 19px; color:var(--v2-muted); text-decoration:none; font-size:13px; font-weight:600; border-bottom:3px solid transparent; }
.v2-product-section-nav nav>a[aria-current="location"],.v2-product-section-nav nav>a:hover { color:var(--v2-blue); border-bottom-color:var(--v2-blue); }
.v2-product-section-nav nav>a.v2-product-nav-contact { margin-left:auto; color:var(--v2-blue); display:flex; gap:25px; }
.v2-product-section { display:grid; grid-template-columns:230px minmax(0,1fr); gap:65px; padding:58px 0; border-bottom:1px solid var(--v2-line); scroll-margin-top:calc(var(--v2-header-height,90px) + 80px); }
.v2-product-section-heading { display:flex; gap:15px; align-items:baseline; }
.v2-product-section-heading>span { font-size:12px; color:var(--v2-blue); font-weight:600; }
.v2-product-section-heading h2 { font-size:24px; font-weight:600; line-height:1.25; letter-spacing:-.03em; margin:0; }
.v2-product-section-body { min-width:0; }
.v2-product-content-block + .v2-product-content-block { margin-top:38px; }
.v2-product-content-block h3 { font-size:23px; font-weight:600; line-height:1.3; letter-spacing:-.02em; margin:0 0 19px; }
.v2-product-content-block p,.v2-product-section-body>p { font-size:14px; line-height:1.85; color:var(--v2-muted); margin:0 0 16px; }
.v2-product-content-block a { color:var(--v2-blue); }
.v2-product-content-block ul:not(.v2-product-app-list) { list-style:none; padding:0; margin:24px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 30px; }
.v2-product-content-block ul:not(.v2-product-app-list) li { padding:18px 0 0; border-top:1px solid var(--v2-line); color:var(--v2-muted); font-size:13px; line-height:1.8; }
.v2-product-content-block li strong { color:var(--v2-ink); font-size:14px; font-weight:600; }
.v2-product-content-block figure { margin:23px 0 32px; overflow-x:auto; border:1px solid var(--v2-line); scrollbar-width:thin; }
.v2-product-content-block table { width:100%; min-width:600px; border-collapse:collapse; text-align:left; font-size:13px; line-height:1.65; }
.v2-product-content-block table th { background:var(--v2-navy); color:#fff; font-size:11px; letter-spacing:.03em; font-weight:600; padding:14px 18px; white-space:normal; }
.v2-product-content-block table td { padding:13px 18px; border-bottom:1px solid var(--v2-line); vertical-align:top; color:var(--v2-muted); }
.v2-product-content-block table td:first-child { color:var(--v2-ink); width:28%; font-weight:500; }
.v2-product-content-block table tr:last-child td { border-bottom:0; }
.v2-product-content-block table tr:nth-child(even) { background:var(--v2-soft); }
.v2-product-content-block table strong { font-weight:600; }
.v2-product-app-list { list-style:none; margin:26px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; }
.v2-product-app-list li { display:flex; gap:16px; border-top:1px solid var(--v2-line); padding:20px 0; }
.v2-product-app-list li>span { font-size:11px; font-weight:600; color:var(--v2-blue); padding-top:5px; }
.v2-product-app-list li p { margin:0; color:var(--v2-ink); font-size:14px; }
.v2-product-faq { border-top:1px solid var(--v2-line); padding:0; }
.v2-product-faq:last-child { border-bottom:1px solid var(--v2-line); }
.v2-product-faq summary { padding:19px 30px 19px 0; position:relative; cursor:pointer; font-size:14px; font-weight:600; list-style:none; }
.v2-product-faq summary::-webkit-details-marker { display:none; }
.v2-product-faq summary::after { content:'+'; position:absolute; right:0; top:15px; color:var(--v2-blue); font-size:22px; font-weight:400; }
.v2-product-faq[open] summary::after { content:'−'; }
.v2-product-faq-answer { margin:0 0 20px; padding-right:35px; font-size:14px; line-height:1.85; color:var(--v2-muted); }
.v2-product-faq-answer p { margin:0; }
.v2-product-email-panel { display:flex; align-items:center; gap:35px; justify-content:space-between; padding:28px; margin-top:36px; background:var(--v2-soft); }
.v2-product-email-panel .v2-product-label { margin-bottom:8px; }
.v2-product-email-panel h3 { font-size:20px; line-height:1.3; margin:0 0 8px; font-weight:600; }
.v2-product-email-panel p { font-size:12px; margin:0; color:var(--v2-muted); }
.v2-product-email-link { font-size:14px; font-weight:600; color:var(--v2-blue); display:flex; gap:24px; overflow-wrap:anywhere; }
.v2-product-related { margin:60px 0 75px; }
.v2-product-related-heading { margin-bottom:26px; }
.v2-product-related-heading h2 { margin:0; font-size:30px; font-weight:600; letter-spacing:-.03em; }
.v2-product-related-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.v2-product-related-card { display:block; text-decoration:none; color:var(--v2-ink); }
.v2-product-related-card>div { background:var(--v2-soft); height:190px; padding:23px; border:1px solid var(--v2-line); }
.v2-product-related-card img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .2s; }
.v2-product-related-card:hover img { transform:scale(1.04); }
.v2-product-related-card h3 { display:flex; justify-content:space-between; gap:20px; font-size:15px; line-height:1.5; font-weight:600; margin:15px 0 0; }
.v2-product-related-card h3 span { color:var(--v2-blue); }
.v2-product-image-dialog { position:fixed; border:0; padding:45px; width:min(960px,calc(100vw - 40px)); max-height:calc(100vh - 40px); background:#fff; }
.v2-product-image-dialog::backdrop { background:rgba(10,37,64,.75); }
.v2-product-image-dialog img { width:100%; max-height:calc(100vh - 150px); object-fit:contain; }
.v2-product-dialog-close { position:absolute; top:12px; right:12px; width:32px; height:32px; border:1px solid var(--v2-line); background:#fff; color:var(--v2-ink); cursor:pointer; }
.v2-product :focus-visible { outline:3px solid var(--v2-blue); outline-offset:4px; }
@media (max-width:1100px) { .v2-product-masthead { gap:32px; grid-template-columns:minmax(0,1fr) 250px; } .v2-product-showcase { grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr); } .v2-product-gallery { grid-template-columns:60px minmax(0,1fr); padding:22px 16px; gap:12px; } .v2-product-thumb { width:60px; height:60px; } .v2-product-selection { padding:26px; } .v2-product-selection dl>div { grid-template-columns:100px minmax(0,1fr); gap:12px; } .v2-product-section { grid-template-columns:175px minmax(0,1fr); gap:32px; } .v2-product-email-panel { flex-wrap:wrap; gap:22px; } }
@media (max-width:760px) { .v2-product { padding-top:20px; } .v2-product-breadcrumb { gap:8px; font-size:10px; margin-bottom:28px; } .v2-product-masthead { grid-template-columns:1fr; gap:25px; margin-bottom:28px; } .v2-product-masthead h1 { font-size:38px; max-width:600px; margin-bottom:18px; } .v2-product-masthead p { font-size:13px; } .v2-product-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-left:0; padding:20px 0 0; border-top:1px solid var(--v2-line); gap:15px; } .v2-product-facts dt { font-size:9px; } .v2-product-facts dd { font-size:13px; } .v2-product-showcase { grid-template-columns:1fr; min-height:0; margin-bottom:28px; } .v2-product-gallery { min-height:300px; padding:20px; grid-template-columns:56px minmax(0,1fr); gap:14px; } .v2-product-thumb { width:56px; height:56px; } .v2-product-main-image { max-height:270px; } .v2-product-image-button { padding:15px 0 30px; } .v2-product-selection { padding:26px 24px; border-left:0; border-top:1px solid var(--v2-line); } .v2-product-selection h2 { font-size:24px; } .v2-product-selection dl>div { grid-template-columns:110px minmax(0,1fr); } .v2-product-section-nav nav { min-height:58px; gap:25px; } .v2-product-section-nav nav>a { font-size:12px; padding:19px 0 16px; } .v2-product-section-nav nav>a.v2-product-nav-contact { display:none; } .v2-product-section { grid-template-columns:1fr; gap:25px; padding:38px 0; } .v2-product-section-heading { gap:11px; } .v2-product-section-heading h2 { font-size:25px; } .v2-product-content-block h3 { font-size:20px; } .v2-product-content-block p { font-size:13px; } .v2-product-content-block ul:not(.v2-product-app-list) { gap:17px 22px; } .v2-product-content-block table { font-size:12px; } .v2-product-content-block table th,.v2-product-content-block table td { padding:12px 15px; } .v2-product-related { margin:40px 0 50px; } .v2-product-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 17px; } .v2-product-related-card>div { height:150px; padding:18px; } .v2-product-related-card h3 { font-size:13px; gap:10px; } }
@media (max-width:450px) { .v2-product-masthead h1 { font-size:34px; } .v2-product-facts { gap:10px; } .v2-product-facts dd { font-size:12px; } .v2-product-gallery { min-height:260px; padding:17px; gap:10px; grid-template-columns:48px minmax(0,1fr); } .v2-product-thumb { width:48px; height:48px; } .v2-product-main-image { max-height:220px; } .v2-product-selection { padding:24px 20px; } .v2-product-selection dl>div { grid-template-columns:100px minmax(0,1fr); } .v2-product-section-nav nav { gap:22px; } .v2-product-content-block ul:not(.v2-product-app-list),.v2-product-app-list { grid-template-columns:1fr; } .v2-product-email-panel { padding:24px 20px; } .v2-product-email-link { font-size:12px; gap:12px; } .v2-product-related-card>div { height:130px; padding:14px; } .v2-product-image-dialog { padding:40px 15px 20px; } }
@media (prefers-reduced-motion:reduce) { .v2-product-related-card img { transition:none; } }
