/* Calculadora de tarifa do Mercado Livre (27/10/2026; 1.1.0: peso e medidas do pacote) — templates/calc_ml.html. Usa os tokens do vf2.css e as peças
   do vf2-pix.css (px-*); aqui ficam só a busca de categoria e a tabela Clássico × Premium. */
.cm-tool{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cm-search{display:grid;grid-template-columns:1fr auto;gap:8px}
.cm-search input{width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--v2-line-strong);border-radius:var(--v2-radius-sm);
  padding:9px 12px;font:inherit;font-size:16px;color:var(--v2-ink);background:var(--v2-surface);outline:none}
.cm-search input:focus{border-color:var(--v2-green);box-shadow:0 0 0 3px var(--v2-green-soft)}
.cm-search .btn{min-height:44px;white-space:nowrap}
.cm-cats{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.cm-cats[hidden],.cm-chosen[hidden]{display:none}
.cm-cat{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--v2-line);border-radius:var(--v2-radius-sm);padding:9px 12px;cursor:pointer;background:var(--v2-surface)}
.cm-cat:hover{border-color:var(--v2-line-strong)}
.cm-cat input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--v2-green);flex:none}
.cm-cat b{display:block;color:var(--v2-ink);font-size:15px}
.cm-cat small{display:block;color:var(--v2-muted);font-size:13px;line-height:1.35}
.cm-cat:has(input:checked){border-color:var(--v2-green);box-shadow:0 0 0 3px var(--v2-green-soft)}
.cm-chosen{margin:8px 0 0;font-size:14px;color:var(--v2-text)}
.cm-chosen button{background:none;border:0;padding:0 0 0 6px;font:inherit;font-weight:600;color:var(--v2-green);cursor:pointer;min-height:28px}
.cm-pct input{border:0;box-shadow:none;min-width:0;text-align:right}
.cm-pack{border:1px solid var(--v2-line);border-radius:var(--v2-radius-sm);padding:0 12px;background:var(--v2-surface)}
.cm-pack summary{cursor:pointer;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:0;font-size:14px;font-weight:600;color:var(--v2-ink)}
.cm-pack summary em{font-style:normal;font-weight:500;color:var(--v2-muted);margin-left:4px}
.cm-pack summary span{font-weight:500;color:var(--v2-text)}
.cm-pack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cm-pack-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--v2-text)}
.cm-pack-grid input{width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--v2-line-strong);border-radius:var(--v2-radius-sm);
  padding:9px 10px;font:inherit;font-size:16px;color:var(--v2-ink);background:var(--v2-surface);outline:none}
.cm-pack-grid input:focus{border-color:var(--v2-green);box-shadow:0 0 0 3px var(--v2-green-soft)}
.cm-pack small{display:block;margin:8px 0 12px;font-size:13px;color:var(--v2-muted);line-height:1.4}
.cm-pct b{padding:0 12px 0 4px!important}

.cm-result{padding:18px 20px;display:flex;flex-direction:column;gap:12px;position:sticky;top:88px}
.cm-result-head{margin:0;font-weight:600;color:var(--v2-ink)}
.cm-result.is-empty .cm-result-head{color:var(--v2-muted);font-size:15px}
.cm-table-wrap{overflow-x:auto}
.cm-table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.cm-table th,.cm-table td{padding:8px 6px;border-bottom:1px solid var(--v2-line);text-align:right;white-space:nowrap}
.cm-table thead th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--v2-muted);font-weight:700}
.cm-table tbody th{text-align:left;font-weight:500;color:var(--v2-text);white-space:normal}
.cm-table tbody th small{display:block;font-size:12px;color:var(--v2-muted);font-weight:500}
.cm-table td[data-k="fee"]{color:var(--v2-red)}
.cm-table .cm-sub th,.cm-table .cm-sub td{font-weight:600;color:var(--v2-ink);background:var(--v2-canvas)}
.cm-table .cm-total th,.cm-table .cm-total td{font-weight:700;color:var(--v2-ink);font-size:17px;border-bottom:0;padding-top:12px}
.cm-table .cm-total td.neg{color:var(--v2-red)}
.cm-table .cm-total td.pos{color:var(--v2-green)}
.cm-table .cm-margin th,.cm-table .cm-margin td{border-bottom:0;padding-top:0;font-size:13px;color:var(--v2-muted)}
.cm-table tr.is-off{display:none}
.cm-result.is-empty .cm-table td{color:var(--v2-subtle)}
.cm-notes{margin:0;color:var(--v2-amber);font-size:13px}
.cm-notes:empty{display:none}
.cm-ship[hidden]{display:none}
.cm-ship{display:flex;flex-direction:column;gap:4px}
.cm-ship-note{margin:0;color:var(--v2-text);font-size:13px;line-height:1.45}
.cm-ship-more summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--v2-green);min-height:28px;display:inline-flex;align-items:center}
.cm-ship-more p{margin:2px 0 0;color:var(--v2-muted);font-size:13px;line-height:1.45}
.cm-result.is-tall{position:static}
.cm-result.is-busy .cm-table{opacity:.55;transition:opacity .15s}
.cm-source{margin:0;display:flex;gap:6px;align-items:flex-start;color:var(--v2-muted);font-size:13px;line-height:1.4}
.cm-source .v2-icon{color:var(--v2-green);flex:none;margin-top:1px}
.cm-cta{border-top:1px solid var(--v2-line);padding-top:12px;display:flex;flex-direction:column;gap:10px}
.cm-cta p{margin:0;font-size:14px;color:var(--v2-text)}
.cm-cta .btn{align-self:flex-start;min-height:44px}
@media (max-width:960px){
  .cm-tool{grid-template-columns:1fr}
  .cm-result{position:static}
}
@media (max-width:560px){
  .cm-search{grid-template-columns:1fr}
  .cm-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cm-table{font-size:14px}
  .cm-table th,.cm-table td{padding:7px 4px}
  .cm-cta .btn{align-self:stretch;justify-content:center}
}
.cm-guides{margin:16px 0 0;color:var(--v2-muted);font-size:15px}
