.tcalc{display:flex;flex-direction:column;gap:14px;max-width:640px}
.tcalc__heading{margin:0}
.tcalc__area{display:flex;gap:10px;align-items:flex-end}
.tcalc__area label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.9em}
.tcalc__area label span{opacity:.6}
.tcalc__area input,.tcalc__field select{width:100%;padding:10px;border:1px solid rgba(128,128,128,.4);border-radius:6px;font:inherit;background:transparent;color:inherit}
.tcalc__field{display:flex;flex-direction:column;gap:4px;font-size:.9em}
.tcalc__remove{border:1px solid rgba(128,128,128,.4);background:transparent;color:inherit;border-radius:6px;width:40px;height:42px;cursor:pointer;font-size:20px;line-height:1}
.tcalc__addarea{align-self:flex-start;background:none;border:0;padding:0;font:inherit;font-size:.88em;text-decoration:underline;cursor:pointer;color:inherit;opacity:.8}
.tcalc__result{border:1px solid rgba(128,128,128,.3);border-radius:10px;padding:16px}
.tcalc__figure{font-size:1.5em;margin-bottom:10px}
.tcalc__figure span{font-weight:500;font-size:1.6em;line-height:1}
.tcalc__breakdown{margin:0;font-size:.9em}
.tcalc__breakdown div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-top:1px solid rgba(128,128,128,.18)}
.tcalc__breakdown dt{opacity:.75;margin:0}
.tcalc__breakdown dd{margin:0;text-align:right}
.tcalc__total{font-weight:500}
.tcalc__label{font-size:.9em;margin:0 0 6px}
.tcalc__swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}
.tcalc__swatch{background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;display:flex;flex-direction:column;align-items:center;gap:5px}
.tcalc__swatch img{width:56px;height:56px;object-fit:cover;border-radius:4px;border:2px solid transparent;display:block}
.tcalc__swatch.is-on img{border-color:currentColor}
.tcalc__swatch span{font-size:11px;line-height:1.25;text-align:center;opacity:.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tcalc__swatch.is-on span{opacity:1;font-weight:500}
.tcalc__cta{align-self:flex-start}
.tcalc__cta[disabled]{opacity:.5;cursor:not-allowed}
.tcalc__note{font-size:.88em;margin:0;opacity:.8;min-height:1.2em}
.tcalc__loading{font-size:.9em;opacity:.7;margin:0}
@media (max-width:600px){.tcalc__area{flex-wrap:wrap}.tcalc__area label{min-width:38%}}
