/* /carrinho: grupos (montagem e periféricos) e o resumo ao lado; no celular, um embaixo do outro. */
@layer paginas {
  .carrinho {
    display: grid;
    gap: var(--space-6);
    align-items: start;
  }

  @media (width >= 60rem) {
    .carrinho:has(.carrinho__resumo) {
      grid-template-columns: minmax(0, 1fr) clamp(20rem, 24vw, 30rem);
    }
  }

  .carrinho__grupos,
  .carrinho__grupo,
  .carrinho__resumo {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }

  .carrinho__grupos {
    gap: var(--space-6);
  }

  .carrinho__topo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
  }

  .carrinho__linhas {
    margin: 0;
    padding: 0;
    list-style: none;
    border-block: 1px solid var(--color-border);
  }

  .carrinho__linhas > li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2) var(--space-4);
    padding-block: var(--space-3);
  }

  .carrinho__linhas > li + li {
    border-top: 1px solid var(--color-border);
  }

  .carrinho__produto {
    display: flex;
    flex-direction: column;
    min-width: 0;
    font-size: var(--text-sm);
  }

  .carrinho__nome {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
  }

  a.carrinho__nome {
    display: inline-flex;
    align-items: center;
    min-height: var(--target-min);
  }

  .carrinho__valor {
    min-width: 6rem;
    font-weight: var(--font-weight-semibold);
    text-align: right;
  }

  .carrinho__acoes,
  .carrinho__qtd {
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }

  .carrinho__qtd {
    gap: 0;
    border: 1px solid var(--color-border-control);
    border-radius: var(--radius-md);
  }

  .carrinho__qtd .botao-icone:disabled {
    color: var(--color-fg-muted);
    cursor: not-allowed;
  }

  .carrinho__numero {
    min-width: 2rem;
    font-weight: var(--font-weight-medium);
    text-align: center;
  }

  .carrinho__bloqueio {
    font-size: var(--text-sm);
  }

  .carrinho__resumo {
    padding: var(--space-5);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background-color: var(--color-surface);
  }

  @media (width >= 60rem) {
    .carrinho__resumo {
      position: sticky;
      top: calc(var(--target-min) + var(--space-6));
    }
  }

  .carrinho__resumo .ui-button--primary {
    align-self: stretch;
    justify-content: center;
  }

  .carrinho__qtd .botao-icone {
    min-width: var(--target-min);
    min-height: var(--target-min);
    font-size: var(--text-lg);
  }

  .carrinho__resumo h2 {
    font-size: var(--text-lg);
  }

  .carrinho__parciais {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-1) var(--space-3);
    margin: 0;
    font-size: var(--text-sm);
  }

  .carrinho__parciais dd {
    margin: 0;
    text-align: right;
  }

  .carrinho__total {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-semibold);
  }

  @media (width >= 60rem) {
    .carrinho__resumo {
      position: sticky;
      top: calc(var(--target-min) + var(--space-6));
    }
  }

  .carrinho__resumo .ui-button--primary {
    align-self: flex-start;
  }

  .carrinho-desfazer:empty {
    display: none;
  }

  .carrinho-desfazer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
  }
}
