.tool-head{max-width:820px;margin:0 auto;padding:32px 32px 8px;text-align:center}
.tool-head .cat-tag{display:inline-block;padding:6px 14px;background:var(--brand-soft);color:var(--brand);border-radius:100px;font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:20px}
.tool-head h1{font-size:48px;font-weight:800;letter-spacing:-0.035em;line-height:1.05;margin:0 0 16px}
.tool-head h1 .serif{color:var(--accent);font-weight:400}
.tool-head .dek{font-size:18px;color:var(--ink-3);line-height:1.5;margin:0 auto;max-width:600px}
.ect-hero{max-width:880px;margin:28px auto 0;padding:0 32px}
.ect-hero img{width:100%;display:block;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.ect-wrap{max-width:1160px;margin:40px auto 0;padding:0 32px}
.ect-info{background:var(--brand-soft);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;margin-bottom:24px}
.ect-info h2{font-size:20px;font-weight:800;color:var(--brand-2);margin:0 0 10px}
.ect-info p{font-size:15.5px;line-height:1.65;color:var(--ink-2);margin:0}
.ect-info p+p{margin-top:12px}
.ect-filter-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:22px;margin-bottom:24px}
.ect-filter-grid{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ect-field{flex:1 1 220px}
.ect-field.narrow{flex:1 1 200px}
.ect-field label{font-size:11.5px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em;display:block;margin-bottom:6px}
.ect-input{position:relative}
.ect-input svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-4);pointer-events:none}
.ect-input input{width:100%;height:44px;box-sizing:border-box;padding:0 12px 0 36px;border-radius:10px;border:1.5px solid var(--line);font-size:15px;outline:none;background:var(--card);color:var(--ink);font-family:inherit;transition:border-color .15s,box-shadow .15s}
.ect-field.narrow input{padding:0 12px}
.ect-input input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.ect-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.ect-select-wrap{position:relative;flex:1 1 200px}
.ect-select-wrap select{width:100%;height:44px;box-sizing:border-box;padding:0 34px 0 12px;border-radius:9px;border:1.5px solid var(--line);font-size:14.5px;font-weight:600;background:var(--card);color:var(--brand-2);appearance:none;cursor:pointer;font-family:inherit}
.ect-select-wrap select:focus{outline:2px solid var(--accent);outline-offset:1px}
.ect-select-wrap .chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-4);font-size:11px;pointer-events:none}
.ect-btn-primary{flex:0 0 auto;padding:0 22px!important;border-radius:9px!important;border:none!important;background:var(--brand)!important;color:#fff!important;font-size:15px!important;font-weight:700!important;cursor:pointer;height:44px!important;line-height:44px!important;box-shadow:var(--shadow-sm);transition:background .15s}
.ect-btn-primary:hover{background:var(--brand-2)!important}
.ect-btn-ghost{flex:0 0 auto;padding:0 18px!important;border-radius:9px!important;border:1.5px solid var(--line)!important;background:var(--bg-warm)!important;color:var(--ink-3)!important;font-size:14px!important;font-weight:700!important;cursor:pointer;height:44px!important;line-height:44px!important;transition:background .15s}
.ect-btn-ghost:hover{background:var(--line-2)!important}
.ect-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-2)}
.ect-chips .label{font-size:12.5px;color:var(--ink-4);font-weight:600;margin-right:4px}
.ect-chip{padding:5px 12px!important;border-radius:100px!important;border:1px solid var(--line)!important;background:var(--card)!important;color:var(--ink-2)!important;font-size:13px!important;font-weight:600!important;cursor:pointer;transition:border-color .15s,background .15s}
.ect-chip:hover{border-color:var(--accent)!important;background:var(--accent-soft)!important}
.ect-count{font-size:13px;color:var(--ink-4);margin-bottom:16px;font-weight:600}
.ect-results{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;margin-bottom:70px}
.ect-list{flex:1 1 340px;min-width:280px;display:flex;flex-direction:column;gap:12px}
.ect-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}
.ect-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}
.ect-card.selected{background:var(--brand-soft);border-color:var(--brand)}
.ect-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ect-card-code{font-size:17px;font-weight:800;color:var(--brand-2);letter-spacing:-0.01em}
.ect-sev{font-size:11px;font-weight:700;padding:3px 10px;border-radius:100px;white-space:nowrap}
.ect-sev.high{background:#fbeaea;color:#b23a3a}
.ect-sev.medium{background:#fdf3e0;color:#b5790a}
.ect-sev.low{background:#e8f5ee;color:#2f7d5b}
.ect-card-title{font-size:14.5px;font-weight:600;color:var(--ink);margin-top:4px}
.ect-card-tags{font-size:12.5px;color:var(--ink-4);margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.ect-tag{padding:2px 9px;border-radius:100px;font-weight:600}
.ect-tag.brand{background:var(--accent-soft);color:var(--brand)}
.ect-tag.appliance{background:var(--bg-warm);color:var(--ink-3)}
.ect-empty{text-align:center;padding:32px 24px;color:var(--ink-4);font-size:14px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.ect-empty a{display:inline-block;text-decoration:none;background:var(--ink);color:#fff;font-weight:700;font-size:14px;padding:10px 20px;border-radius:9px;margin-top:14px}
.ect-detail{flex:1.2 1 420px;min-width:300px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;position:sticky;top:24px;box-shadow:var(--shadow-lg)}
.ect-detail-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ect-badge{padding:4px 11px;border-radius:100px;font-weight:700;font-size:13px}
.ect-badge.brand{background:var(--accent-soft);color:var(--brand)}
.ect-badge.appliance{background:var(--bg-warm);color:var(--ink-3)}
.ect-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.ect-detail-label{font-size:12px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:4px}
.ect-detail-code{font-size:34px;font-weight:800;color:var(--brand-2);letter-spacing:-0.02em;line-height:1.1}
.ect-detail-actions{display:flex;gap:8px;flex-shrink:0}
.ect-btn-sm{padding:8px 14px!important;border-radius:8px!important;border:1.5px solid var(--line)!important;background:var(--card)!important;color:var(--ink-2)!important;font-size:13px!important;font-weight:700!important;cursor:pointer;display:inline-block!important}
.ect-btn-sm:hover{border-color:var(--accent)!important;background:var(--accent-soft)!important}
.ect-detail-title{font-size:18px;font-weight:700;color:var(--ink);margin-top:4px}
.ect-detail-meta{font-size:12.5px;color:var(--ink-4);margin-top:8px}
.ect-cost-box{margin-top:16px;background:var(--bg-warm);border:1px solid var(--line);border-radius:10px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ect-cost-box .lbl{font-size:12px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em}
.ect-cost-box .val{font-size:15.5px;font-weight:700;color:var(--brand-2);margin-top:2px}
.ect-cost-box a{font-size:13px;font-weight:700;color:var(--brand);text-decoration:none;white-space:nowrap}
.ect-section{margin-top:22px}
.ect-section-label{font-size:13px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px}
.ect-section p{font-size:15.5px;line-height:1.6;color:var(--ink-2);margin:0}
.ect-safety{margin-top:18px;background:#fbeaea;border:1px solid #f0c9c9;border-radius:10px;padding:13px 16px}
.ect-safety .lbl{font-size:12.5px;font-weight:800;color:#b23a3a;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px}
.ect-safety p{font-size:14.5px;color:#7a2c2c;line-height:1.5;margin:0}
.ect-section ul,.ect-section ol{margin:0;padding-left:20px;font-size:15px;line-height:1.6;color:var(--ink-2)}
.ect-section ol li{margin-bottom:4px}
.ect-parts{margin-top:24px;padding-top:20px;border-top:1px solid var(--line-2)}
.ect-part{text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--bg-warm);border:1px solid var(--line);border-radius:10px;padding:13px 15px;color:var(--ink);transition:border-color .15s,background .15s;margin-bottom:8px}
.ect-part:hover{border-color:var(--accent);background:var(--accent-soft)}
.ect-part .name{font-weight:700;font-size:14.5px;display:block}
.ect-part .desc{font-size:13px;color:var(--ink-4)}
.ect-part .cta{font-size:13px;font-weight:700;color:var(--brand);white-space:nowrap}
.ect-affiliate{font-size:11.5px;color:var(--ink-4);margin-top:10px}
.ect-source{margin-top:24px;padding-top:16px;border-top:1px solid var(--line-2)}
.ect-source span{font-size:12px;color:var(--ink-4);background:var(--bg-warm);border:1px solid var(--line-2);border-radius:100px;padding:4px 12px;font-weight:600}
.ect-placeholder{text-align:center;padding:70px 20px;color:var(--ink-4);border:1.5px dashed var(--line);border-radius:12px;font-size:15.5px;line-height:1.6}
@media (max-width:860px){.ect-detail{position:static}}
@media (max-width:600px){.tool-head h1{font-size:32px}.ect-filter-card{padding:16px}}
