:root {
  --carmania-red: #dc3545;
  --carmania-red-dark: #b02a37;
  --catalogo-bg: #f8f9fa;
  --catalogo-ink: #212529;
}

body {
  min-width: 320px;
  background: var(--catalogo-bg);
  color: var(--catalogo-ink);
}

.catalogo-header {
  background: #fff;
  border-bottom: 1px solid #e9ecef;
}

.brand { color: var(--catalogo-ink); text-decoration: none; }
.brand-logo { width: 132px; height: 42px; object-fit: contain; }
.brand-label { color: var(--carmania-red); font-size: .85rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.cart-button {
  align-items: center;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: .6rem;
  color: var(--carmania-red-dark);
  display: inline-flex;
  font-weight: 600;
  gap: .45rem;
  padding: .55rem .75rem;
}

.cart-count { background: var(--carmania-red); border-radius: 50%; color: #fff; font-size: .75rem; min-width: 1.45rem; padding: .2rem .35rem; text-align: center; }
.catalogo-hero { background: linear-gradient(135deg, #fff 0%, #fff5f5 100%); border-bottom: 1px solid #f1d7da; }
.eyebrow { color: var(--carmania-red); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.catalogo-content { max-width: 1320px; }
.catalogo-toolbar { background: #fff; border: 1px solid #e9ecef; border-radius: .8rem; padding: 1rem; }
.form-label { font-size: .85rem; font-weight: 600; }
.catalogo-status { color: #6c757d; font-size: .8rem; }
.catalogo-status.is-error { color: var(--carmania-red-dark); }
.product-code { color: #6c757d; font-size: .75rem; margin-bottom: .35rem; min-height: 1.1em; }
.product-card { background: #fff; border: 1px solid #e9ecef; border-radius: .8rem; box-shadow: 0 .2rem .8rem rgba(33, 37, 41, .06); overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.product-card:hover { box-shadow: 0 .5rem 1.2rem rgba(33, 37, 41, .12); transform: translateY(-2px); }
.product-image { align-items: center; background: #f1f3f5; display: flex; height: 170px; justify-content: center; object-fit: contain; width: 100%; }
.image-placeholder { color: #8b949e; font-size: .8rem; }
.product-body { padding: 1rem; }
.product-name { font-size: 1rem; line-height: 1.35; min-height: 2.7em; }
.product-price { color: #198754; font-size: 1.2rem; font-weight: 700; margin-bottom: .35rem; }
.product-stock { font-size: .8rem; margin-bottom: 1rem; }
.product-stock.is-available { color: #198754; }
.product-stock.is-consult { color: #6c757d; }
.product-actions { align-items: center; display: flex; gap: .5rem; justify-content: space-between; }
.product-actions .btn { font-size: .78rem; white-space: nowrap; }
.catalogo-footer { color: #6c757d; font-size: .85rem; }

@media (max-width: 575.98px) {
  .brand-logo { width: 112px; }
  .brand-label { font-size: .72rem; }
  .catalogo-hero h1 { font-size: 1.8rem; }
  .product-image { height: 145px; }
  .product-actions { align-items: stretch; flex-direction: column; }
  .product-actions .btn { width: 100%; }
}

.cart-thumb { width: 56px; height: 56px; object-fit: contain; background: #f1f3f5; border-radius: .35rem; }
.cart-item strong { display:block; line-height:1.25; }
#carrinho-itens { max-height: 50vh; }
