/* Optomech · Quote request, ROI calculator, product selector (Phase 3) */
.tool-wrap{max-width:980px;margin:0 auto;padding:36px 20px 56px}
.tool-card{background:#fff;border:1px solid #E0E0E8;border-radius:14px;box-shadow:0 4px 24px rgba(26,35,126,.06);padding:28px}
.tool-card h2{font-size:1.25rem;font-weight:800;color:#1A237E;margin:0 0 6px;line-height:1.3}
.tool-card h2:focus{outline:none}
.tool-lead{color:#555577;font-size:.93rem;margin:0 0 20px}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.tool-grid .span-2{grid-column:1/-1}
.tool-field label,.tool-field legend{display:block;font-size:.85rem;font-weight:700;color:#1A1A2E;margin:0 0 6px}
.tool-field .req{color:#E91E8C}
.tool-field .opt{font-weight:500;color:#94a3b8}
.tool-field input[type=text],.tool-field input[type=email],.tool-field input[type=tel],.tool-field input[type=number],.tool-field select,.tool-field textarea{width:100%;font:inherit;font-size:.95rem;padding:10px 12px;border:1.5px solid #D5D8E6;border-radius:8px;background:#fff;color:#1A1A2E}
.tool-field textarea{min-height:92px;resize:vertical}
.tool-field input:focus,.tool-field select:focus,.tool-field textarea:focus{outline:none;border-color:#1A237E;box-shadow:0 0 0 3px rgba(26,35,126,.12)}
.tool-field .hint{display:block;font-size:.78rem;color:#6b7280;margin-top:4px;line-height:1.45}
.tool-field fieldset{border:0;padding:0;margin:0}
.tool-choice{display:flex;gap:10px;flex-wrap:wrap}
.tool-choice label{display:flex;align-items:center;gap:8px;border:1.5px solid #D5D8E6;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer;margin:0}
.tool-choice input{accent-color:#E91E8C}
.tool-choice label:has(input:checked){border-color:#E91E8C;background:#fff5fa}
.tool-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#E91E8C;color:#fff!important;border:0;border-radius:8px;padding:12px 22px;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;text-decoration:none;line-height:1.2}
.tool-btn:hover{background:#c4177a}
.tool-btn:disabled{opacity:.6;cursor:wait}
.tool-btn-ghost{background:#fff;color:#1A237E!important;border:1.5px solid #1A237E}
.tool-btn-ghost:hover{background:#E8EAF6}
.tool-btn:focus-visible{outline:3px solid #1A237E;outline-offset:2px}
.tool-error{background:#FFEBEE;color:#C62828;border-radius:8px;padding:10px 14px;font-size:.88rem;margin-top:14px}
.tool-ok{background:#E8F5E9;border:1px solid #A5D6A7;border-radius:12px;padding:22px;color:#1b5e20}
.tool-ok h2,.tool-ok h3{color:#1b5e20;margin:0 0 6px}
.tool-note{font-size:.82rem;color:#555577;line-height:1.6}
.tool-side{display:grid;gap:16px;align-content:start}
.tool-aside{background:#F5F5F7;border-radius:12px;padding:20px;font-size:.88rem;color:#333}
.tool-aside h3{font-size:.95rem;color:#1A237E;margin:0 0 8px}
.tool-aside ul{margin:0;padding-left:18px}
.tool-aside li{margin:0 0 6px}
.tool-aside a{color:#E91E8C;font-weight:600}
.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
/* quote steps */
.quote-progress{display:flex;gap:8px;list-style:none;margin:0 0 18px;padding:0;counter-reset:qs}
.quote-progress li{flex:1;font-size:.78rem;font-weight:700;color:#94a3b8;border-top:4px solid #E0E0E8;padding-top:8px;counter-increment:qs}
.quote-progress li::before{content:counter(qs) '. '}
.quote-progress li.is-active{color:#E91E8C;border-color:#E91E8C}
.quote-progress li.is-done{color:#1A237E;border-color:#1A237E}
form:not(.is-stepped) [data-step]+[data-step]{margin-top:28px;padding-top:24px;border-top:1px solid #E0E0E8}
form:not(.is-stepped) [data-next],form:not(.is-stepped) [data-back]{display:none}
/* calculator */
.roi-section{border:1px solid #E0E0E8;border-radius:12px;padding:18px 18px 6px;margin:0 0 16px}
.roi-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#E91E8C;margin:0 0 12px}
.roi-example{display:inline-block;font-size:.7rem;font-weight:700;color:#8a6d00;background:#FFF8E1;border:1px solid #FFE082;border-radius:10px;padding:1px 8px;margin-left:6px;vertical-align:middle}
.roi-results{position:sticky;top:76px;background:linear-gradient(135deg,#0D1550,#1A237E);color:#fff;border-radius:14px;padding:22px}
.roi-results h2{color:#fff;font-size:1.05rem;margin:0 0 12px}
.roi-results dl{margin:0;display:grid;gap:10px}
.roi-results dt{font-size:.75rem;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.06em}
.roi-results dd{margin:0;font-size:1.05rem;font-weight:800}
.roi-results .roi-big{font-size:1.5rem;color:#FFD54F}
.roi-results a{color:#FFD54F}
.roi-results[data-empty] dd{opacity:.4}
.roi-formula{background:#F5F5F7;border-radius:12px;padding:20px 22px;font-size:.9rem}
.roi-formula code{background:#fff;border:1px solid #E0E0E8;border-radius:6px;padding:2px 6px;font-size:.85rem;color:#1A237E}
.roi-formula li{margin:0 0 8px}
.roi-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:12px 0}
.roi-table th,.roi-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #E0E0E8;vertical-align:top}
.roi-table th{background:#1A237E;color:#fff;font-weight:700}
.tool-scroll{overflow-x:auto}
/* selector */
.sel-tabs{display:flex;gap:8px;margin:0 0 18px}
.sel-tabs button{font:inherit;font-weight:700;border:1.5px solid #1A237E;background:#fff;color:#1A237E;border-radius:8px;padding:10px 18px;cursor:pointer}
.sel-tabs button[aria-selected=true]{background:#1A237E;color:#fff}
.sel-out{display:grid;gap:12px;margin-top:20px}
.sel-result{border:1.5px solid #E91E8C;border-radius:12px;padding:16px 18px;background:#fff5fa}
.sel-result h3{margin:0 0 6px;color:#1A237E;font-size:1.05rem}
.sel-result p{margin:0 0 8px;font-size:.9rem}
.sel-result.sel-alt{border-color:#D5D8E6;background:#fff}
.sel-result.sel-warn .sel-speed{color:#b45309;font-weight:700}
.sel-speed{font-size:.85rem;color:#1b5e20}
.sel-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.sel-actions .tool-btn{padding:9px 16px;font-size:.85rem}
.sel-empty,.sel-note{font-size:.88rem;color:#555577;margin:0}
.sel-note{background:#FFF8E1;border-radius:8px;padding:10px 12px;color:#8a4b00}
@media(max-width:860px){.tool-layout{grid-template-columns:1fr}.roi-results{position:static}}
@media(max-width:640px){.tool-grid{grid-template-columns:1fr}.tool-card{padding:20px}.tool-wrap{padding:24px 14px 40px}}
