.vieser-material{max-width:1000px;margin:32px auto;padding:clamp(20px,4vw,48px);background:#f7fafb;border:1px solid #dae3e8;border-radius:16px;color:#183340;font:16px/1.6 system-ui,sans-serif}.vieser-material h2{font-size:clamp(25px,3vw,36px);line-height:1.2}.vieser-material [data-status]{padding:16px;background:#fff4d9;border-left:4px solid #bd8423}.vieser-material label{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-weight:600}.vieser-material select,.vieser-material input{font:inherit;color:inherit;padding:11px;border:1px solid #8096a2;border-radius:6px;background:white;max-width:100%;min-width:0;width:100%;box-sizing:border-box}.vieser-material .vm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.vieser-material .vm-option{flex-direction:row;align-items:center;font-weight:400}.vieser-material .vm-option input{width:auto}.vieser-material fieldset{border:1px solid #8096a2;padding:16px}.vieser-material .vm-summary{display:block;padding:20px;background:#e7eef2;border-radius:8px;margin:20px 0}.vieser-material button{padding:12px 20px;background:#183340;color:white;border:0;border-radius:6px;font:inherit;cursor:pointer}.vieser-material :focus-visible{outline:3px solid #b76d12;outline-offset:3px}@media(max-width:600px){.vieser-material .vm-grid{grid-template-columns:1fr}}
.vieser-material .vm-drawing svg{display:block;width:100%;max-height:650px;height:auto}.vieser-material .vm-price{display:block;font-weight:700;font-size:1.2rem;margin:16px 0}.vieser-material .vm-drawing{margin:20px 0;overflow:hidden}
.vieser-material .vm-size-guide{margin:4px 0 12px;padding:10px 14px;background:#fff;border-left:4px solid #8096a2;font-size:.95rem}.vieser-material input[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 1px #b42318}

/* 0.4.0: server-rendered scope and FAQ around the configurator */
.vieser-material-scope, .vieser-material-faq { margin: 1rem 0 1.5rem; }
.vieser-material-scope h3, .vieser-material-faq h3 { margin: 0 0 .5rem; font-size: 1.1rem; }
.vieser-material-scope ul { columns: 2; column-gap: 2rem; margin: .5rem 0; padding-left: 1.2rem; }
.vieser-material-scope li { break-inside: avoid; margin: .15rem 0; }
.vieser-material-links { font-size: .9rem; opacity: .85; }
.vieser-material-faq details { border-top: 1px solid rgba(0,0,0,.1); padding: .5rem 0; }
.vieser-material-faq summary { cursor: pointer; font-weight: 600; }
@media (max-width: 640px) { .vieser-material-scope ul { columns: 1; } }
.vm-next { margin: .5rem 0 1rem; font-weight: 600; }
.vm-next a { text-decoration: underline; }
