/* DeckWise composite screw color match guide. All rules scoped to .dwcm to avoid theme conflicts. */
.dwcm{font-size:16px;line-height:1.5;--dwcm-line:#dcdcdc;--dwcm-muted:#666;--dwcm-accent:#2a5d3a;--dwcm-bg:#f6f6f4;margin:2.5em 0}
.dwcm *,.dwcm *::before,.dwcm *::after{box-sizing:border-box}
.dwcm-intro{font-size:1.1em;line-height:1.5;max-width:52em;margin:0 0 1.25em}
.dwcm-note{font-size:.9em;line-height:1.5;color:var(--dwcm-muted);max-width:52em;margin:0 0 1.5em}
.dwcm-controls{display:flex;flex-wrap:wrap;gap:.75em 1.5em;align-items:flex-end;padding:1em;background:var(--dwcm-bg);border:1px solid var(--dwcm-line);border-radius:6px;margin-bottom:1.25em}
.dwcm-group{display:flex;flex-direction:column;gap:.4em}
.dwcm-group-label{font-size:.75em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dwcm-muted)}
.dwcm-btns{display:flex;flex-wrap:wrap;gap:.4em}
.dwcm-btn{display:inline-flex;align-items:center;gap:.4em;font:inherit;font-size:.875em;line-height:1;padding:.5em .8em;border:1px solid var(--dwcm-line);background:#fff;color:inherit;border-radius:999px;cursor:pointer}
.dwcm-btn:hover{border-color:#999}
.dwcm-btn[aria-pressed="true"]{background:var(--dwcm-accent);border-color:var(--dwcm-accent);color:#fff}
.dwcm-search{font:inherit;font-size:.95em;padding:.5em .75em;border:1px solid var(--dwcm-line);border-radius:6px;min-width:14em;background:#fff}
.dwcm-view{margin-left:auto}
.dwcm-count{font-size:.85em;color:var(--dwcm-muted);margin:0 0 .75em}
.dwcm-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25em}
.dwcm-card{border:1px solid var(--dwcm-line);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.dwcm-card.dwcm-hidden,.dwcm-table tr.dwcm-hidden{display:none}
.dwcm-media{position:relative;display:grid;grid-template-columns:1fr;aspect-ratio:1/1;background:#eee}
.dwcm-media-2{grid-template-columns:1fr 1fr;aspect-ratio:2/1}
@media (min-width:520px){.dwcm-card-2{grid-column:span 2}}
@media (max-width:519px){.dwcm-media-2{grid-template-columns:1fr;aspect-ratio:1/2}}
.dwcm-photo{position:relative;display:block;overflow:hidden;color:#fff;text-decoration:none}
.dwcm-photo>img:first-child{display:block;width:100%;height:100%;object-fit:cover}
.dwcm-zoom{position:absolute;right:8px;bottom:8px;width:34%;height:auto;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35);transition:transform .15s}
.dwcm-photo:hover .dwcm-zoom{transform:scale(1.12)}
.dwcm-photo-tag{position:absolute;left:8px;top:8px;font-size:.7em;font-weight:700;letter-spacing:.03em;padding:.2em .5em;border-radius:4px;background:rgba(0,0,0,.6);color:#fff}
.dwcm-media-soon,.dwcm-media-none{display:flex;align-items:center;justify-content:center;font-size:.85em;color:var(--dwcm-muted);background:repeating-linear-gradient(45deg,#f1f1ef 0 10px,#e9e9e6 10px 20px)}
.dwcm-media-none{background:#f1f1ef}
.dwcm-body{padding:.85em 1em 1em;display:flex;flex-direction:column;gap:.3em}
.dwcm-sub{margin:0;font-size:.75em;letter-spacing:.05em;text-transform:uppercase;color:var(--dwcm-muted)}
.dwcm-title{margin:0;padding:0;font-size:1.15em;line-height:1.25;text-align:left;text-transform:none;letter-spacing:0}
.dwcm-matches{margin:.35em 0 0;font-size:.9em;display:flex;flex-wrap:wrap;align-items:center;gap:.35em .6em}
.dwcm-matches-label{color:var(--dwcm-muted);width:100%}
.dwcm-match{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.25em .4em;font-weight:600}
.dwcm-match em{font-style:normal;font-weight:400;font-size:.8em;color:var(--dwcm-muted)}
.dwcm-either{font-size:.72em;color:var(--dwcm-accent);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.dwcm-matches-none{color:var(--dwcm-muted)}
.dwcm-sw{display:inline-block;border-radius:50%;overflow:hidden;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.dwcm-sw img{display:block;width:100%;height:100%;object-fit:cover}
.dwcm-sw-sm{width:22px;height:22px}.dwcm-sw-xs{width:14px;height:14px}
.dwcm-table-wrap{overflow-x:auto}
.dwcm-table{width:100%;border-collapse:collapse;font-size:.92em}
.dwcm-table th,.dwcm-table td{padding:.55em .7em;border-bottom:1px solid var(--dwcm-line);text-align:left;vertical-align:top}
.dwcm-table th{background:var(--dwcm-bg);position:sticky;top:0}
.dwcm[data-view="cards"] .dwcm-table-wrap,.dwcm[data-view="list"] .dwcm-grid{display:none}
.dwcm-empty{display:none;padding:2em;text-align:center;color:var(--dwcm-muted);border:1px dashed var(--dwcm-line);border-radius:8px}
.dwcm-empty.dwcm-show{display:block}
.dwcm-updated{font-size:.8em;color:var(--dwcm-muted);margin:1.25em 0 0}
/* lightbox */
.dwcm-lb{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:1em}
.dwcm-lb.dwcm-open{display:flex}
.dwcm-lb-inner{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.2fr);gap:1em;max-width:1100px;width:100%;max-height:100%;align-items:center}
.dwcm-lb-inner img{display:block;width:100%;height:auto;max-height:85vh;object-fit:contain;border-radius:6px}
.dwcm-lb-cap{grid-column:1/-1;color:#fff;text-align:center;font-size:.95em;margin:0}
.dwcm-lb-close{position:absolute;top:.75em;right:1em;font:inherit;font-size:2em;line-height:1;background:none;border:0;color:#fff;cursor:pointer}
@media (max-width:640px){.dwcm-lb-inner{grid-template-columns:1fr}.dwcm-lb-inner img:nth-child(2){max-width:45%;margin:0 auto}.dwcm-view{margin-left:0}}
@media (prefers-reduced-motion:reduce){.dwcm-zoom{transition:none}}
