/*
 * CALCULADORA DE FRETE - Base Components
 * Estilos para tipografia, inputs, cards, e outros elementos base.
 */

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-semibold);
  line-height: var(--leading-tight);
  color: var(--text-primary);
  margin: 0;
}
h1 { font-size: var(--text-4xl); font-weight: var(--font-bold); }
h2 { font-size: var(--text-2xl); }
p { margin: 0; line-height: var(--leading-relaxed); color: var(--text-secondary); }

/* Card */
.card {
  background: var(--bg-primary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}

/* Input */
.input-base {
  display: block;
  width: 100%;
  padding: var(--spacing-md);
  font-size: var(--text-base);
  color: var(--text-primary);
  background: var(--bg-primary);
  border: 1px solid var(--border-medium);
  border-radius: var(--radius-lg);
  transition: var(--transition-fast);
}
.input-base::placeholder { color: var(--text-muted); }
.input-base:focus {
  border-color: var(--border-focus);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
  outline: none;
}

/* Label */
.label-base {
  display: block;
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--text-primary);
  margin-bottom: var(--spacing-sm);
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg-tertiary); }
::-webkit-scrollbar-thumb { background: var(--border-medium); border-radius: var(--radius-full); }
* { scrollbar-width: thin; scrollbar-color: var(--border-medium) var(--bg-tertiary); }

/* Selection */
::selection { background: rgba(99, 102, 241, 0.2); color: var(--text-primary); }
::-moz-selection { background: rgba(99, 102, 241, 0.2); color: var(--text-primary); }
