.fixture-picker { width: min(540px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; border: 0; border-radius: 14px; padding: 24px; color: #272c30; }
.fixture-picker::backdrop { background: #18232f99; }
.fixture-picker h2 { font-size: 19px; line-height: 1.3; padding-right: 25px; margin: 0 0 14px; }
.fixture-close { position: absolute; top: 10px; right: 12px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.fixture-picker-photo { display: block; width: 100%; height: 220px; object-fit: contain; }
.fixture-picker-details { font-size: 13px; line-height: 1.5; color: #626a70; }
.fixture-picker label { display: block; font-size: 13px; font-weight: 600; }
.fixture-picker select { display: block; width: 100%; margin-top: 7px; padding: 10px; border: 1px solid #b8bfc4; border-radius: 6px; background: white; color: #252a30; }
.fixture-fit-message { font-size: 13px; line-height: 1.45; }
.fixture-model-note { font-size: 11px; line-height: 1.5; color: #737b83; }
.fixture-picker-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.fixture-picker-actions button { border: 0; border-radius: 7px; padding: 11px 13px; font-size: 13px; cursor: pointer; background: #eceff1; }
.fixture-picker-actions .fixture-install { background: var(--yellow); font-weight: 700; }
.fixture-install:disabled { opacity: .4; cursor: default; }
.fixture-reverse[hidden] { display: none; }
.attached-fixtures { margin: 5px 0 0; display: grid; gap: 3px; font-size: 11px; }
.attached-fixtures button { border: 0; background: #edf0f1; border-radius: 4px; padding: 3px 6px; cursor: pointer; }
.scheme-fixture-mark { position: absolute; left: 4px; bottom: 21px; max-width: calc(100% - 8px); font-size: 8px; line-height: 1.2; padding: 2px 3px; background: #ffffffe8; border-radius: 3px; color: #35414b; pointer-events: none; }
.visual-module:has(.scheme-faucet) { overflow: visible; }
.scheme-faucet { position: absolute; width: 100%; left: 0; bottom: 100%; pointer-events: none; overflow: visible; z-index: 3; }
.scheme-oven { position: absolute; left: 50%; transform: translateX(-50%); pointer-events: none; z-index: 2; }
.scheme-hob { position: absolute; height: 4px; bottom: 100%; left: 50%; transform: translateX(-50%); background: #22292e; border: 1px solid #68747c; border-radius: 2px; pointer-events: none; }
.fixture-source-link, .fixture-drawing-link { font-size: 12px; margin-right: 15px; }
.fixture-drawing-link[hidden] { display: none; }
