.product-page { background:var(--paper); }
.pd-header { display:flex; align-items:center; gap:32px; padding:20px max(20px,4vw); border-bottom:1px solid var(--line); background:var(--paper); }
.pd-brand { margin-right:auto; flex:none; }
.pd-brand img { width:118px; height:86px; object-fit:contain; }
.pd-logo-light { display:none; }
:root[data-theme="industrial"] .pd-header { background:#0c2133; color:#edf6ff; }
:root[data-theme="industrial"] .pd-logo-dark { display:none; }
:root[data-theme="industrial"] .pd-logo-light { display:block; }
.pd-nav-links { display:flex; gap:28px; }
.pd-header a { color:inherit; text-decoration:none; }
.pd-language select { font:inherit; color:inherit; background:transparent; border:1px solid currentColor; padding:10px; border-radius:8px; }
.pd-language option { color:#18333f; background:white; }
.pd-main { max-width:1500px; padding:0 clamp(20px,4vw,64px); margin:0 auto; }
.pd-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; padding:30px 0; color:var(--muted); font-size:13px; }
.pd-breadcrumb a { color:inherit; }
.pd-overview { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(32px,5vw,84px); align-items:start; }
.pd-gallery { min-width:0; }
.pd-main-image { position:relative; background:var(--bg); border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.pd-main-image>img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.pd-zoom { position:absolute; bottom:16px; right:16px; padding:12px 16px; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:30px; cursor:pointer; }
.pd-thumbnails { display:flex; gap:10px; overflow-x:auto; padding:16px 2px; scrollbar-width:thin; }
.pd-thumb { width:76px; height:76px; flex:none; border:2px solid transparent; border-radius:10px; background:var(--bg); overflow:hidden; }
.pd-thumb[aria-current="true"] { border-color:var(--accent); }
.pd-thumb img { width:100%; height:100%; object-fit:contain; display:block; }
.pd-photo-note,.pd-note,.pd-price-note { color:var(--muted); line-height:1.7; font-size:13px; }
.pd-summary { padding:20px 0; }
.pd-summary h1 { font:600 clamp(30px,3.3vw,52px)/1.12 var(--heading); margin:14px 0 24px; letter-spacing:-.035em; overflow-wrap:anywhere; }
.pd-description { font-size:16px; line-height:1.8; color:var(--muted); }
.pd-model { font-size:13px; color:var(--muted); padding:16px 0; border-bottom:1px solid var(--line); }
.pd-price { font-size:clamp(25px,3vw,36px); font-weight:600; margin:24px 0 4px; }
.pd-price-note { margin:4px 0 24px; }
.pd-order { display:grid; grid-template-columns:minmax(0,1fr) 110px; align-items:center; gap:12px; padding:20px 0; }
.pd-order input { width:100%; min-width:0; padding:12px; font:inherit; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); }
.pd-order p { margin:0; grid-column:1/-1; font-size:13px; color:var(--muted); }
.pd-quote { display:flex; justify-content:center; width:100%; text-align:center; border-radius:8px; }
.pd-custom-link { display:block; text-align:center; margin:20px 0 30px; color:var(--ink); }
.pd-service { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:12px; border-top:1px solid var(--line); padding-top:24px; color:var(--muted); }
.pd-service span::before { content:'✓'; color:var(--accent); margin-right:6px; }
.pd-section-nav { display:flex; gap:clamp(16px,4vw,52px); background:var(--paper); border-bottom:1px solid var(--line); border-top:1px solid var(--line); margin:60px 0 0; padding:22px 0; position:sticky; top:0; z-index:4; overflow-x:auto; }
.pd-section-nav a { color:var(--ink); text-decoration:none; white-space:nowrap; font-size:14px; }
.pd-section { padding:64px 0; border-bottom:1px solid var(--line); scroll-margin-top:80px; }
.pd-section h2 { font:600 clamp(28px,3vw,42px)/1.2 var(--heading); margin:12px 0 32px; letter-spacing:-.03em; }
.pd-specs { display:grid; grid-template-columns:1fr 1fr; margin:0 0 20px; border-top:1px solid var(--line); }
.pd-specs>div { display:grid; grid-template-columns:1fr 1.5fr; gap:16px; padding:18px 16px; border-bottom:1px solid var(--line); }
.pd-specs dt { color:var(--muted); }
.pd-specs dd { margin:0; overflow-wrap:anywhere; }
.pd-features { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-bottom:40px; }
.pd-features:empty { display:none; }
.pd-features h3 { font-size:13px; letter-spacing:.1em; }
.pd-features p { font-size:14px; color:var(--muted); line-height:1.8; }
.pd-detail-images { max-width:900px; margin:0 auto; display:grid; gap:24px; }
.pd-detail-images img { display:block; width:100%; height:auto; border-radius:12px; }
.pd-custom { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.pd-custom p:not(.kicker) { color:var(--muted); line-height:1.8; margin:0 0 24px; }
.pd-footer { display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; padding:32px max(20px,4vw); color:var(--muted); font-size:13px; }
.pd-footer a { color:inherit; }
.pd-lightbox { width:min(96vw,1200px); max-width:96vw; height:90vh; max-height:90vh; border:0; padding:40px 24px 20px; border-radius:18px; background:var(--paper); color:var(--ink); }
.pd-lightbox::backdrop { background:#000b; }
.pd-lightbox>img { display:block; width:100%; height:calc(100% - 50px); object-fit:contain; }
.pd-lightbox>div { display:flex; justify-content:center; align-items:center; gap:24px; padding-top:12px; }
.pd-lightbox button { background:var(--paper); border:1px solid var(--line); color:var(--ink); min-width:44px; min-height:44px; border-radius:24px; cursor:pointer; }
.pd-close { position:absolute; top:8px; right:8px; font-size:24px; }
.pd-thumb:focus-visible,.pd-header a:focus-visible,.pd-section-nav a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
@media(max-width:760px) {
 .pd-header { gap:16px; padding:12px 20px; flex-wrap:wrap; }
 .pd-brand img { width:95px; height:68px; }
 .pd-nav-links { order:3; width:100%; gap:24px; overflow:auto; font-size:13px; padding:8px 0; }
 .pd-overview { grid-template-columns:1fr; gap:12px; }
 .pd-breadcrumb { font-size:12px; padding:22px 0; }
 .pd-summary { padding-top:8px; }
 .pd-summary h1 { font-size:32px; }
 .pd-specs,.pd-custom,.pd-features { grid-template-columns:1fr; }
 .pd-specs>div { padding:16px 0; }
 .pd-section { padding:40px 0; }
 .pd-section-nav { margin-top:32px; }
 .pd-thumb { width:64px; height:64px; }
 .pd-main-image { border-radius:12px; }
 .pd-lightbox { padding:52px 10px 16px; }
}

/* Reference options follow the source product; they do not imply live stock. */
.pd-options { border:0; padding:0; margin:24px 0; min-width:0; }
.pd-options legend { font-size:13px; color:var(--muted); margin-bottom:12px; }
.pd-options>div { display:flex; flex-wrap:wrap; gap:8px; }
.pd-options button { padding:10px 14px; min-height:44px; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:6px; font:inherit; font-size:13px; cursor:pointer; }
.pd-options button[aria-pressed="true"] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.pd-options button:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.pd-detail-images { gap:0; max-width:790px; }
.pd-detail-images>a { display:block; cursor:zoom-in; }
.pd-detail-images img { border-radius:0; }
.product-page .pd-section-nav { flex-wrap:nowrap; }

.pd-variant-prices { margin:16px 0 24px; border:1px solid var(--line); border-radius:8px; padding:14px; font-size:13px; }
.pd-variant-prices summary { cursor:pointer; color:var(--ink); line-height:1.6; }
.pd-variant-prices dl { margin:12px 0 0; }
.pd-variant-prices dl>div { display:flex; gap:16px; justify-content:space-between; padding:10px 0; border-top:1px solid var(--line); }
.pd-variant-prices dt { color:var(--muted); overflow-wrap:anywhere; }
.pd-variant-prices dd { margin:0; flex:none; }
