/* ==========================================================================
   Carrinho ("Meu orçamento"): itens e resumo
   ========================================================================== */

.item-carrinho { display: grid; grid-template-columns: 112px 1fr auto; gap: 18px; padding: 16px; }
.item-carrinho-img {
    width: 112px; height: 112px; border-radius: 12px; background: var(--jj-img-bg);
    display: flex; align-items: center; justify-content: center;
}
.item-carrinho-img img { width: 88%; height: 88%; object-fit: contain; }
.item-carrinho h3 { font-size: .98rem; font-weight: 600; margin: 0 0 .2rem; color: var(--jj-text); }
.item-carrinho .ref { font-size: .75rem; color: var(--jj-muted); }
.quantidades-carrinho { display: grid; grid-template-columns: repeat(3, minmax(0, 140px)); gap: 8px; }
.quantidades-carrinho small { display: block; font-size: .7rem; color: var(--jj-muted); margin-bottom: 3px; }
.quantidades-carrinho .form-control { height: 42px; font-weight: 600; }
.item-carrinho .descricao { font-size: .8rem; color: var(--jj-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.item-carrinho .excluir-produto { align-self: start; }
.item-carrinho .excluir-produto:hover { color: var(--jj-danger); border-color: var(--jj-danger); }

/* Modo ADM: caixas de preço calculado */
.precos-adm { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.precos-adm div { background: var(--jj-surface-2); border-radius: 8px; padding: 6px 8px; font-size: .78rem; }

@media (max-width: 575.98px) {
    .item-carrinho { grid-template-columns: 72px 1fr; gap: 12px; position: relative; }
    .item-carrinho-img { width: 72px; height: 72px; }
    .item-carrinho .corpo { display: contents; }
    .item-carrinho .cabecalho { grid-column: 2; padding-right: 44px; }
    .item-carrinho .quantidades-carrinho,
    .item-carrinho .descricao,
    .item-carrinho .precos-adm { grid-column: 1 / -1; }
    .quantidades-carrinho { grid-template-columns: repeat(3, 1fr); }
    .quantidades-carrinho .form-control { text-align: center; padding: 0 .4rem; }
    .item-carrinho .excluir-produto { position: absolute; top: 12px; right: 12px; }
}

.resumo-orcamento { position: sticky; top: 108px; padding: 24px; box-shadow: var(--jj-shadow); }
.resumo-orcamento h2 { font-size: 1.1rem; font-weight: 600; }
.resumo-orcamento .linha { display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem; padding: .5rem 0; border-bottom: 1px dashed var(--jj-border); }
.resumo-orcamento .passos-mini { list-style: none; padding: 0; font-size: .82rem; color: var(--jj-muted); }
.resumo-orcamento .passos-mini li { display: flex; gap: .6rem; margin-bottom: .5rem; }
.resumo-orcamento .passos-mini .fa-solid { color: var(--jj-primary-text); margin-top: 3px; }
