.voxel-public { --voxel-accent:#5b4bdb; --voxel-border:#dedde8; color:inherit; }
.voxel-catalog-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto auto; gap:12px; align-items:end; margin:1.5rem 0; padding:1rem; border:1px solid var(--voxel-border); border-radius:12px; }
.voxel-catalog-filters label,.voxel-request-form label { display:flex; flex-direction:column; gap:5px; }
.voxel-catalog-filters select,.voxel-request-form input,.voxel-request-form textarea { width:100%; }
.voxel-catalog-filters button,.voxel-catalog-action button,.voxel-request-form>button { border:0; border-radius:8px; background:var(--voxel-accent); color:#fff; padding:.75rem 1rem; cursor:pointer; }
.voxel-catalog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:18px; }
.voxel-filament-card { border:1px solid var(--voxel-border); border-radius:14px; overflow:hidden; background:#fff; color:#202124; display:flex; flex-direction:column; }
.voxel-image-button { padding:0; border:0; background:#f5f4f9; cursor:zoom-in; aspect-ratio:4/3; }
.voxel-image-button img { width:100%; height:100%; object-fit:contain; display:block; }
.voxel-cover-placeholder { aspect-ratio:4/3; display:grid; place-items:center; background:#f5f4f9; color:#777; }
.voxel-card-body { padding:16px; display:flex; flex-direction:column; flex:1; }
.voxel-card-body h3 { margin:.5rem 0 .25rem; font-size:1.15rem; }
.voxel-badges { display:flex; flex-wrap:wrap; gap:6px; }.voxel-badges span { padding:3px 8px; border-radius:999px; background:#efedf9; font-size:.78rem; }
.voxel-color,.voxel-properties { margin:.25rem 0; }.voxel-availability { font-weight:700; margin:.75rem 0; }
.voxel-examples { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:auto; }.voxel-examples button { padding:0; border:0; background:none; cursor:zoom-in; }.voxel-examples img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.voxel-select-filament { display:block; margin-top:12px; }.voxel-catalog-action { position:sticky; bottom:12px; display:flex; justify-content:flex-end; margin:16px 0; pointer-events:none; }.voxel-catalog-action button { pointer-events:auto; box-shadow:0 5px 20px rgba(0,0,0,.2); }
.voxel-lightbox { border:0; border-radius:12px; padding:35px 18px 18px; max-width:min(900px,92vw); max-height:92vh; }.voxel-lightbox::backdrop { background:rgba(0,0,0,.72); }.voxel-lightbox img { display:block; max-width:100%; max-height:80vh; }.voxel-lightbox-close { position:absolute; right:8px; top:5px; border:0; background:transparent; font-size:28px; cursor:pointer; }
.voxel-request-card { max-width:760px; margin:1.5rem auto; padding:clamp(18px,4vw,36px); border:1px solid var(--voxel-border); border-radius:14px; }
.voxel-request-form { display:grid; gap:16px; }.voxel-request-form fieldset { border:1px solid var(--voxel-border); border-radius:8px; padding:12px; }.voxel-request-filaments { max-height:240px; overflow:auto; display:grid; gap:8px; }.voxel-request-filaments label { flex-direction:row; align-items:start; }.voxel-request-filaments input,.voxel-consent input { width:auto; }.voxel-consent { flex-direction:row!important; align-items:center; }.voxel-honeypot { position:absolute!important; left:-9999px!important; }.voxel-form-error { background:#fdecec; color:#7d1717; padding:10px; border-radius:7px; }.voxel-request-success { padding:24px; background:#edf8f0; border:1px solid #b5ddc0; border-radius:12px; }.voxel-empty { grid-column:1/-1; }
@media(max-width:760px){.voxel-catalog-filters{grid-template-columns:1fr 1fr}.voxel-catalog-filters label:first-child{grid-column:1/-1}}
@media(max-width:520px){.voxel-catalog-filters{grid-template-columns:1fr}.voxel-catalog-filters label:first-child{grid-column:auto}}

