:root {
  --ls-red: #dc3545;
  --ls-dark: #1a1d21;
  --ls-dark-soft: #2d3338;
}
.portal-body { font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; background: #f5f6f8; min-height: 100vh; }
.portal-sidebar { background: var(--ls-dark); min-height: 100vh; width: 260px; }
.portal-sidebar .nav-link { color: rgba(255,255,255,0.85); padding: 0.6rem 1rem; border-radius: 8px; }
.portal-sidebar .nav-link:hover { background: rgba(255,255,255,0.08); color: #fff; }
.portal-sidebar .nav-link.active { background: var(--ls-red); color: #fff; }
.portal-main { flex: 1; padding: 1.5rem; }
.btn-portal { background: var(--ls-red); border-color: var(--ls-red); color: #fff; }
.btn-portal:hover { background: #c82333; border-color: #bd2130; color: #fff; }
.btn-outline-portal { border-color: var(--ls-red); color: var(--ls-red); }
.btn-outline-portal:hover { background: var(--ls-red); border-color: var(--ls-red); color: #fff; }
.portal-card { border: none; box-shadow: 0 2px 12px rgba(0,0,0,0.06); border-radius: 12px; }
.portal-login-box { max-width: 420px; }
.oauth-btn { display: flex; align-items: center; justify-content: center; gap: 0.5rem; border-radius: 8px; padding: 0.6rem 1rem; font-weight: 500; }
.oauth-btn.google { background: #fff; border: 1px solid #ddd; color: #333; }
.oauth-btn.microsoft { background: #00a4ef; border-color: #00a4ef; color: #fff; }
.oauth-btn.apple { background: #000; border-color: #000; color: #fff; }
.equip-card { transition: transform 0.2s, box-shadow 0.2s; }
.equip-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.1); }
.badge-novo { background: #28a745; }
.badge-seminovo { background: #6c757d; }
.produto-item:hover { background: rgba(220,53,69,0.08); }
@media (max-width: 991px) {
  .portal-sidebar { width: 100%; min-height: auto; }
}


/* Galeria fabricante (imagens do site Rizon; clique abre ficha no fabricante) */
.fabricante-prod-card { transition: box-shadow 0.2s, transform 0.2s; }
.fabricante-prod-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.12); transform: translateY(-2px); }
.fabricante-prod-link { outline: none; }
.fabricante-prod-img-wrap {
  aspect-ratio: 4 / 3;
  background: #e9ecef;
  overflow: hidden;
}
.fabricante-prod-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.25s ease;
}
.fabricante-prod-link:hover .fabricante-prod-img { transform: scale(1.04); }
