/* One optical aperture shared by all full and half inserts. */
.frame-preview.pencil-frame{display:block;position:relative;aspect-ratio:var(--frame-ratio);width:100%;height:auto;padding:0!important;gap:0!important;background:none;border:0;border-radius:0;isolation:isolate}
.pencil-frame-skin{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.frame-preview.pencil-frame .install-box{position:absolute;display:flex;align-items:stretch;justify-content:flex-start;min-width:0;aspect-ratio:auto;padding:0!important;border:0;border-radius:3%;background:transparent;overflow:visible;box-shadow:none}
.frame-preview.pencil-frame .install-box.chosen{outline:2px solid #2344b4;outline-offset:3px}
.pencil-frame .install-box .module-art{height:100%;padding:0;margin:0;align-self:stretch;display:flex;align-items:stretch;min-width:0}
.pencil-frame .install-box .module-art.full{width:100%}
.pencil-frame .install-box .module-art.half{position:absolute;top:0;left:0;width:50%}
.pencil-frame .install-box .module-art.half.slot-right{left:50%}
.normalized-sketch.pencil-insert{width:100%;height:100%;margin:0;overflow:hidden;border-radius:3%;display:block;position:relative}
.pencil-insert img{max-width:none!important;position:absolute;object-fit:fill!important}
.pencil-frame .module-art.half+.module-art.half{border-left:1px solid #b7b5b1}
.pencil-frame .install-box .empty-box-label{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#696965;font-size:24px;pointer-events:none}
.pencil-frame .install-box .empty-box-label>span{font-size:24px;font-weight:300;color:#8a8881}
.pencil-frame .empty-box-label small{font-size:12px!important;color:#77756e}
.pencil-frame .remove-art{z-index:4;top:-9px;right:-5px;border-radius:50%;box-shadow:0 2px 6px #0001}
.assembly-stage{background:#fff;border:1px solid #e2e2dd;border-radius:12px}
.sketch-card{border-radius:8px;background:#fff;border-color:#e1e1dc}
.sketch-card .sketch-art{width:82px;height:82px}
.sketch-card .sketch-art.half{width:41px}
.assembly-stage .frame-preview.pencil-frame:not(.vertical){width:100%;max-width:100%}
.assembly-stage .frame-preview.pencil-frame.vertical{width:85%;min-width:0;max-width:280px}
.frame-readonly .frame-preview.pencil-frame.vertical,.saved-room .frame-preview.pencil-frame.vertical{width:230px;max-width:85%}
@media(max-width:900px){
 .visual-workbench .assembly-stage{background:#fff}
 .assembly-stage .frame-preview.pencil-frame:not(.vertical){width:min(100%,calc(var(--boxes) * 122px))}
 .assembly-stage .frame-preview.pencil-frame.vertical{width:78%;min-width:0;max-width:220px}
 .visual-workbench .assembly-stage:has(.pencil-frame.vertical){position:relative;top:auto}
 .pencil-frame .empty-box-label small{display:none}
}

/* Preserve the established Vimar product drawings, including every port and control. */
.pencil-insert{filter:grayscale(1)}
.pencil-frame .blank-cover{width:100%;height:100%;margin:0;box-sizing:border-box;background:#fbfbf9;border:1px solid #777;border-radius:3%}
/* Infilled faces overlap the mounting lip, with one straight join between keys. */
.pencil-frame .install-box:has(.module-art){border-radius:2%}
.pencil-frame .install-box .module-art.half .pencil-insert{border-radius:0}
.pencil-frame .install-box .module-art.half.slot-left .pencil-insert{border-radius:4% 0 0 4%}
.pencil-frame .install-box .module-art.half.slot-right .pencil-insert{border-radius:0 4% 4% 0}
.pencil-frame .module-art.half+.module-art.half{border-left:0}
.saved-frame+.frame-readonly{margin-top:-13px;border-top:0;border-radius:0 0 7px 7px}
.frame-readonly .frame-preview.pencil-frame:not(.vertical){max-width:720px}

/* Separate, keyboard-accessible targets for either free half of an empty box. */
.pencil-frame .install-box .empty-half-target{position:absolute;top:0;bottom:0;left:0;width:50%;height:100%;padding:0;margin:0;min-width:0;min-height:0;display:grid;place-items:center;border:1px dashed #9b9d8b66;border-radius:0;background:transparent;color:#727961;font:inherit;font-size:24px;font-weight:300;cursor:pointer;z-index:1;box-shadow:none}
.pencil-frame .install-box .empty-half-target.slot-right{left:50%}
.pencil-frame .install-box .empty-half-target:hover,.pencil-frame .install-box .empty-half-target:focus-visible{background:#eef0e560;outline:2px solid #737f59;outline-offset:-2px}

/* The painted set follows the same cover rules as the server-side BOM. */
.pencil-frame .install-box.plana-wide .module-art.cover-button{left:0!important;width:100%!important;z-index:2}
.pencil-frame .install-box.plana-wide .module-art.cover-filler{z-index:3;pointer-events:none}
.pencil-frame .install-box.plana-wide .module-art.cover-filler .cover-sketch{visibility:hidden}
.pencil-frame .install-box.plana-wide .module-art.cover-filler .remove-art{pointer-events:auto;visibility:visible}
.pencil-frame .install-box.linea-centered .module-art.cover-button{left:25%!important;width:50%!important;z-index:2}
.pencil-frame .install-box.linea-centered .module-art.cover-filler{left:0!important;width:100%!important;z-index:1;pointer-events:none}
.pencil-frame .linea-cover-pair{position:absolute;inset:0;display:flex;justify-content:space-between;pointer-events:none}
.pencil-frame .linea-cover-pair>span{display:block;width:25%;height:100%}
.pencil-frame .install-box.linea-centered .module-art.cover-filler .remove-art{pointer-events:auto}

/* USB compatibility belongs to the USB catalogue, available on request. */
.usb-series-tip{border:1px solid var(--line,#d9dccf);border-radius:6px;background:var(--paper,#fff);color:var(--ink,#292b25);margin:0 0 12px;font-size:12px;line-height:1.5}
.usb-series-tip summary{list-style:none;display:flex;align-items:center;gap:7px;padding:8px 10px;cursor:pointer;font-weight:600}
.usb-series-tip summary::-webkit-details-marker{display:none}
.usb-series-tip summary::before{content:'i';display:grid;place-items:center;width:18px;height:18px;flex:none;border:1px solid var(--olive,#78835c);border-radius:50%;color:var(--olive,#78835c);font:italic 13px Georgia,serif}
.usb-series-tip summary:focus-visible{outline:2px solid var(--olive,#78835c);outline-offset:2px}
.usb-series-tip p{margin:0;padding:0 10px 10px;color:inherit;font-size:inherit;line-height:inherit}
@media(max-width:900px){.mobile-category-panel>.usb-series-tip{flex:0 0 136px;max-width:136px;align-self:flex-start;scroll-snap-align:start}.mobile-category-panel>.usb-series-tip[open]{flex-basis:min(260px,calc(100vw - 48px));max-width:min(260px,calc(100vw - 48px))}}
