/* Optional product tools: constrained wrapping, keyboard focus, safe touch targets. */
.product-intents,.product-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.product-intents{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:3px 2px 8px;scroll-padding:2px}.product-intents .btn{flex:0 0 auto;white-space:nowrap}
.product-advanced summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700}.product-advanced summary span span{display:block;font-weight:400;overflow-wrap:anywhere}.product-advanced summary::after{content:'+';font-size:22px}.product-advanced[open] summary::after{content:'−'}.product-advanced[open] .browse-filters{margin-top:12px}.product-advanced .row{margin-top:12px}.product-advanced summary:focus-visible{outline:3px solid var(--gold,#ffd36b);outline-offset:3px}
.product-intents .btn,.product-options .btn,.product-progress .btn,.product-family .btn,.product-tweaks summary,.product-tweaks select,.product-check,.product-preference-row .btn,.product-result .btn{min-height:44px;min-width:44px}
.product-intents .on{border-color:var(--gold,#ffd36b);box-shadow:inset 0 0 0 1px var(--gold,#ffd36b)}
.product-progress{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0}.product-progress p{flex:1;min-width:160px;margin:0}
.product-family{list-style:none;padding:0;display:grid;gap:8px}.product-family a{justify-content:flex-start;white-space:normal;overflow-wrap:anywhere}
.product-tweaks{margin-top:16px}.product-tweaks summary{display:flex;align-items:center;cursor:pointer;font-weight:700}.product-tweaks label{display:grid;gap:6px;margin:12px 0}.product-tweaks select{width:100%;max-width:100%}.product-tweaks .product-check{display:flex;align-items:center;gap:12px}.product-check input{width:44px;height:44px}
.foundation-tools .product-check{display:flex;align-items:center;gap:12px;margin-top:12px}.product-check input{flex-shrink:0}
.product-tweaks summary::after{content:'+';margin-left:auto;font-size:22px}.product-tweaks[open] summary::after{content:'−'}
.product-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:12px 0}.product-metrics div{min-width:0}.product-metrics dt{font-size:13px;line-height:1.4}.product-metrics dd{margin:4px 0;font-size:22px;font-weight:700}
.product-insight{border-top:1px solid var(--line,#37425d);padding:12px 0}.product-insight h3,.product-result h2{overflow-wrap:anywhere}.product-preference-row{padding:8px 0;border-top:1px solid var(--line,#37425d)}.product-preference-row .product-options{margin:4px 0}
.product-result{margin-top:12px}.product-result p{overflow-wrap:anywhere}
.product-intents a:focus-visible,.product-options button:focus-visible,.product-tweaks summary:focus-visible,.product-tweaks select:focus-visible{outline:3px solid var(--gold,#ffd36b);outline-offset:3px}
@media(max-width:420px){.product-options>.btn{flex:1 1 130px}.product-progress{align-items:stretch}.product-progress .btn{width:100%}.product-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.product-intents *,.product-options *{scroll-behavior:auto;transition:none}}
.product-intents{border:0;padding:0;margin:16px 0}.product-intents legend{font-weight:700}.product-intents .product-check{min-height:44px}
