/* Pixelwerk surfaces; official OCCT artwork is kept unmodified, with clear space.
   Logo: 160 x 39 px (including tagline); clear space >= one O on every side. */
.pw-quality-panel, .pw-product-quality, .pw-build-standard, .pw-quality-service {
 --quality-bg:#171321; --quality-line:#493655; --quality-text:#faf7ff;
 --quality-muted:#c6c0d3; --quality-accent:#dbb9ff;
 box-sizing:border-box; min-width:0; text-align:left;
}
html[data-theme=light] :is(.pw-quality-panel,.pw-product-quality,.pw-build-standard,.pw-quality-service) {
 --quality-bg:#ffffff; --quality-line:#d6d5e1; --quality-text:#222338;
 --quality-muted:#55586b; --quality-accent:#7135ac;
}
main .pw-quality-panel, .home-page section.pw-quality-panel {
 display:grid; grid-template-columns:288px minmax(0,1fr); align-items:center;
 width:min(1180px,calc(100% - 48px)); margin:12px auto 28px; padding:24px 28px 24px 0;
 border:1px solid var(--quality-line); border-radius:20px; background:var(--quality-bg);
}
.pw-quality-panel .pw-occt-brand { display:grid; place-items:center; padding:44px 64px; min-width:0; }
.pw-quality-panel img.pw-occt-logo {
 display:block; width:160px; height:39px; max-width:none; margin:0; padding:0;
 object-fit:contain; border:0; border-radius:0; box-shadow:none; filter:none; transform:none;
}
.pw-quality-panel img.pw-occt-logo--light { display:none; }
html[data-theme=light] .pw-quality-panel img.pw-occt-logo--dark { display:none; }
html[data-theme=light] .pw-quality-panel img.pw-occt-logo--light { display:block; }
.pw-quality-panel .pw-quality-copy { min-width:0; }
.pw-quality-panel .pw-quality-copy h2 {
 font-size:clamp(1.25rem,2.3vw,1.8rem); line-height:1.25; letter-spacing:-.025em;
 color:var(--quality-text); margin:6px 0 12px; text-align:left; text-shadow:none;
}
.pw-quality-panel .pw-quality-copy p, .pw-product-quality p, .pw-build-standard p {
 margin:0; font-size:.9rem; line-height:1.6; color:var(--quality-muted); text-align:left;
}
.pw-quality-panel .pw-quality-copy .pw-quality-eyebrow,
.pw-product-quality .pw-quality-eyebrow, .pw-build-standard .pw-quality-eyebrow {
 color:var(--quality-accent); font-size:.66rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase;
}
.pw-product-quality { padding:16px 18px; margin:16px 0; border:1px solid var(--quality-line); border-radius:12px; background:var(--quality-bg); }
.pw-product-quality .pw-quality-title, .pw-build-standard .pw-quality-title {
 color:var(--quality-text); font-size:1rem; font-weight:750; margin:4px 0;
}
.pw-quality-panel .pw-quality-link, .pw-quality-service .pw-quality-link, .pw-build-standard .pw-quality-link, .pw-product-quality .pw-certificate-link {
 display:inline-flex; align-items:center; gap:8px; min-height:44px; box-sizing:border-box;
 color:var(--quality-accent); font-size:.85rem; font-weight:650; line-height:1.5;
 text-decoration:underline; text-underline-offset:4px; max-width:100%; overflow-wrap:anywhere;
}
.pw-product-quality .pw-certificate-link { margin-top:10px; padding:10px 14px; border:1px solid var(--quality-accent); border-radius:9px; text-decoration:none; }
.pw-product-quality .pw-certificate-link:hover { background:#9d62cd18; }
:is(.pw-quality-panel,.pw-quality-service,.pw-build-standard,.pw-product-quality) a:focus-visible { outline:3px solid var(--theme-focus,#28d4e5); outline-offset:4px; }
.pw-product-body .pw-financing-note { margin:6px 0 16px; font-size:.78rem; line-height:1.5; color:#c6c0d3; text-align:left; }
.pw-financing-note small { display:block; font-size:.72rem; margin-top:2px; }
html[data-theme=light] .pw-product-body .pw-financing-note { color:#55586b; }
.premium-personal-service .pw-quality-service { margin:10px 0 0; padding-top:10px; border-top:1px solid var(--quality-line); color:var(--quality-muted); font-size:.8rem; line-height:1.6; }
.pw-quality-service strong { color:var(--quality-text); }
.pw-quality-service .pw-quality-link { font-size:inherit; }
.pw-build-standard { padding:12px 0 0; margin:12px 0; border-top:1px solid var(--quality-line); }
.pw-build-standard p { font-size:.8rem; }
.pw-build-standard .pw-quality-title { font-size:.9rem; }
.pw-quality-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#qualitaetssicherung { scroll-margin-top:calc(var(--site-header-height,110px) + 24px); }
/* Explicit states override the legacy main a colour, including visited links. */
.pw-trust-grid a.pw-quality-card-link,
.pw-trust-grid a.pw-quality-card-link:visited {
 display:block; margin:10px 0 0; min-height:44px; padding:8px 0;
 box-sizing:border-box; color:#dbb9ff; font-size:.9rem; line-height:1.5;
 text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;
 overflow-wrap:anywhere;
}
.pw-trust-grid a.pw-quality-card-link:hover { color:#ffffff; transform:none; }
.pw-trust-grid a.pw-quality-card-link:focus-visible { outline:3px solid #28d4e5; outline-offset:4px; }
html[data-theme=light] .pw-trust-grid a.pw-quality-card-link,
html[data-theme=light] .pw-trust-grid a.pw-quality-card-link:visited { color:#7135ac; }
html[data-theme=light] .pw-trust-grid a.pw-quality-card-link:hover { color:#542581; }
html[data-theme=light] .pw-trust-grid a.pw-quality-card-link:focus-visible { outline-color:#086c78; }
.home-page .home-quality-steps {
 display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px;
 margin:0; padding:0; list-style:none; text-align:left;
}
.home-quality-steps li { min-width:0; padding:18px 0 0; border-top:2px solid #80619b; }
.home-quality-steps h3 { font-size:1.1rem; margin:0 0 12px; line-height:1.45; }
.home-quality-steps p { font-size:.94rem; margin:0; }
.home-quality-steps img.home-quality-build {
 display:block; width:100%; max-width:100%; height:auto; aspect-ratio:1.5;
 object-fit:cover; border-radius:16px; margin:22px 0 0;
}
.home-quality-steps img.home-quality-build:hover { transform:none; cursor:default; }
.home-quality-steps .home-text-link { margin-top:12px; }
html[data-theme=light] .home-quality-steps li { border-color:#b49acb; }
.home-quality-steps .pw-evidence { margin:22px 0 0; }
.home-quality-steps p.pw-benchmark-note { margin-top:12px; }
.home-quality-steps a.pw-evidence-open { display:block; padding:0; border:1px solid #80619b; border-radius:14px; overflow:hidden; color:#dbb9ff; background:#111; text-decoration:none; }
.home-quality-steps .pw-evidence img { display:block; width:100%; height:auto; max-width:100%; aspect-ratio:auto; margin:0; border-radius:0; object-fit:contain; transform:none; cursor:zoom-in; }
.pw-evidence-open span { display:block; padding:12px 14px; min-height:44px; box-sizing:border-box; background:#21162f; font-size:.85rem; text-decoration:underline; text-underline-offset:4px; }
.home-quality-steps a.pw-evidence-open:hover { color:#fff; transform:none; animation:none; box-shadow:none; }
.home-quality-steps .pw-evidence figcaption { margin-top:12px; font-size:.82rem; line-height:1.6; color:var(--muted,#c8bfd6); }
.pw-evidence-open:focus-visible, .pw-evidence-dialog :focus-visible { outline:3px solid #28d4e5; outline-offset:4px; }
.pw-evidence-dialog { box-sizing:border-box; width:min(1400px,96vw); max-width:96vw; max-height:94vh; max-height:94dvh; padding:20px; border:1px solid #80619b; border-radius:16px; background:#15111d; color:#f8f4ff; }
.pw-evidence-dialog::backdrop { background:rgba(0,0,0,.85); }
.pw-evidence-dialog h2 { margin:0 0 12px; font-size:1.1rem; line-height:1.4; }
.pw-evidence-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.pw-evidence-dialog button, .pw-evidence-dialog a { display:inline-flex; align-items:center; min-height:44px; box-sizing:border-box; padding:10px 14px; border:1px solid #80619b; border-radius:8px; color:#f8f4ff; background:#2a1c39; font:inherit; font-size:.85rem; cursor:pointer; }
.pw-evidence-dialog a { text-decoration:underline; text-underline-offset:3px; }
.pw-evidence-viewport { max-height:62vh; max-height:62dvh; overflow:auto; background:#101010; overscroll-behavior:contain; }
.pw-evidence-dialog .pw-evidence-image { display:block; width:auto; height:auto; max-width:100%; max-height:60vh; max-height:60dvh; margin:0 auto; object-fit:contain; transform:none; }
.pw-evidence-dialog.is-original .pw-evidence-image { max-width:none; max-height:none; margin:0; }
.pw-evidence-dialog p { margin:12px 0 0; font-size:.85rem; line-height:1.5; }
html[data-theme=light] .home-quality-steps a.pw-evidence-open { border-color:#a080b8; color:#7135ac; }
html[data-theme=light] .pw-evidence-open span { background:#f1ebf7; }
html[data-theme=light] .home-quality-steps a.pw-evidence-open:hover { color:#542581; }
html[data-theme=light] .home-quality-steps .pw-evidence figcaption { color:#51475d; }
html[data-theme=light] .pw-evidence-dialog { background:#faf8fc; color:#24172f; }
html[data-theme=light] .pw-evidence-dialog button, html[data-theme=light] .pw-evidence-dialog a { background:#f1ebf7; color:#542581; }
html[data-theme=light] .pw-evidence-open:focus-visible, html[data-theme=light] .pw-evidence-dialog :focus-visible { outline-color:#086c78; }
@media(max-width:700px) {
 .home-page .home-quality-steps { grid-template-columns:minmax(0,1fr); gap:28px; }
 main .pw-quality-panel, .home-page section.pw-quality-panel { grid-template-columns:minmax(0,1fr); padding:0 18px 16px; margin-block:8px 24px; }
 .pw-quality-panel .pw-occt-brand { justify-self:start; padding:34px 52px; }
 .pw-quality-panel img.pw-occt-logo { width:128px; height:31.2px; }
 .pw-quality-panel .pw-quality-copy h2 { font-size:1.3rem; }
 .pw-quality-panel .pw-quality-copy p { font-size:.85rem; }
 .pw-product-quality { padding:14px; }
 .pw-product-quality .pw-certificate-link { width:100%; justify-content:space-between; }
}
