/* DON-207: carrinho publico progressivo (sem dependencia de JavaScript). */
.superficie-site .pagina-carrinho {
  max-width: 1160px; margin-inline: auto; padding: clamp(1rem, 3vw, 2.5rem);
  color: var(--text-primary);
}
.superficie-site .pagina-carrinho-cabecalho {
  display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between;
  gap: 1rem; margin-bottom: 1.5rem;
}
.superficie-site .pagina-carrinho-cabecalho h1 { margin: .35rem 0; }
.superficie-site .pagina-carrinho-cabecalho p { margin: .25rem 0; }
.superficie-site .pagina-carrinho-grid {
  display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(265px, 1fr);
  gap: clamp(1rem, 2vw, 2rem); align-items: start;
}
.superficie-site .pagina-carrinho-itens { display: grid; gap: 1rem; min-width: 0; }
.superficie-site .pagina-carrinho-item {
  display: grid; grid-template-columns: minmax(92px, 145px) minmax(0, 1fr);
  gap: 1rem; padding: 1rem; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-page);
}
.superficie-site .pagina-carrinho-item-conteudo { min-width: 0; }
.superficie-site .pagina-carrinho-item-titulo {
  margin: 0; font-size: 1.1rem; font-weight: 650; line-height: 1.4;
}
.superficie-site .pagina-carrinho-item-conteudo p {
  font-size: .9rem; margin: .45rem 0;
}
.superficie-site .pagina-carrinho-item-conteudo small {
  display: block; color: var(--text-secondary);
}
.superficie-site .pagina-carrinho-foto {
  min-height: 130px; aspect-ratio: 4 / 5;
  border-radius: var(--radius-sm); overflow: hidden; background: var(--surface-sunken);
  display: grid; place-items: center; color: var(--text-secondary);
}
.superficie-site .pagina-carrinho-foto img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.superficie-site .pagina-carrinho-acoes {
  display: flex; flex-wrap: wrap; align-items: end; gap: .65rem;
  padding-top: .5rem;
}
.superficie-site .pagina-carrinho-quantidade {
  display: flex; align-items: end; gap: .5rem; flex-wrap: wrap;
}
.superficie-site .pagina-carrinho-quantidade label {
  display: grid; gap: .25rem; font-size: .875rem;
}
.superficie-site .pagina-carrinho-quantidade input {
  max-width: 95px; min-height: 44px; border: 1px solid var(--border-default);
}
.superficie-site .pagina-carrinho .botao { min-height: 44px; }
.superficie-site .pagina-carrinho-alerta,
.superficie-site .pagina-carrinho-indisponivel,
.superficie-site .pagina-carrinho-pendencia,
.superficie-site .pagina-carrinho-desfazer {
  padding: .8rem; border: 1px solid var(--border-default);
  border-radius: var(--radius-sm); background: var(--surface-sunken);
}
.superficie-site .pagina-carrinho-pendencia form,
.superficie-site .pagina-carrinho-desfazer {
  display: grid; justify-items: start; gap: .5rem;
}
.superficie-site .pagina-carrinho-pendencia label,
.superficie-site .pagina-carrinho-limpar label {
  display: flex; gap: .5rem; align-items: start;
}
.superficie-site .pagina-carrinho-etiqueta {
  padding: .15rem .45rem; font-size: .75rem; border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
}
.superficie-site .pagina-carrinho-totais,
.superficie-site .pagina-carrinho-vazio {
  padding: 1.3rem; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-page);
}
.superficie-site .pagina-carrinho-totais h2 { margin-top: 0; font-size: 1.2rem; }
.superficie-site .pagina-carrinho-totais p { line-height: 1.5; }
.superficie-site .pagina-carrinho-limpar {
  border-top: 1px solid var(--border-default); padding-top: 1rem; margin-top: 1rem;
}
.superficie-site .pagina-carrinho-limpar summary {
  cursor: pointer; text-decoration: underline; text-underline-offset: 3px;
  min-height: 44px; padding-block: .5rem;
}
.superficie-site .pagina-carrinho-limpar form { display: grid; gap: .75rem; justify-items: start; }
.superficie-site .pagina-carrinho :is(button, input, a, summary):focus-visible {
  outline: 2px solid var(--text-primary); outline-offset: 3px;
}
@media (max-width: 750px) {
  .superficie-site .pagina-carrinho-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .superficie-site .pagina-carrinho-item { grid-template-columns: minmax(70px, 96px) minmax(0, 1fr); padding: .65rem; }
  .superficie-site .pagina-carrinho-quantidade { width: 100%; }
  .superficie-site .pagina-carrinho-quantidade label { flex: 1; }
}
