/* ═══════════════════════════════════════════════════════════
   FORMULARIO — .form-group
   ═══════════════════════════════════════════════════════════ */

.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--bb-space-2);
}

.form-group--full {
  grid-column: 1 / -1;
}

.form-group__label {
  font-size: var(--bb-text-xs);
  font-weight: var(--bb-weight-semibold);
  letter-spacing: var(--bb-tracking-wider);
  text-transform: uppercase;
  color: var(--bb-text-secondary);
}

.form-group__input {
  width: 100%;
  padding: var(--bb-space-3) var(--bb-space-4);
  font-size: var(--bb-text-base);
  color: var(--bb-text-primary);
  background-color: var(--bb-color-surface);
  border: 1px solid var(--bb-color-surface-high);
  border-radius: var(--bb-radius-md);
  outline: none;
  transition:
    border-color var(--bb-duration-base) var(--bb-ease-out),
    box-shadow var(--bb-duration-base) var(--bb-ease-out);
  min-height: 48px;
}

.form-group__input::placeholder {
  color: var(--bb-text-tertiary);
}

.form-group__input:focus {
  border-color: var(--bb-color-blue-primary);
  box-shadow: 0 0 0 3px rgba(26, 35, 126, 0.1);
}

.form-group__input:invalid:not(:placeholder-shown) {
  border-color: var(--bb-color-error);
}

.form-group__textarea {
  min-height: 120px;
  resize: vertical;
}

.form-group__select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23616161' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--bb-space-4) center;
  padding-right: var(--bb-space-10);
}


/* ═══════════════════════════════════════════════════════════
   FOOTER — .footer
   ═══════════════════════════════════════════════════════════ */

.footer {
  background-color: var(--bb-color-gray-10);
  color: var(--bb-text-primary);
  padding-top: var(--bb-space-16);
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.footer__container {
  max-width: var(--bb-container-max);
  margin: 0 auto;
  padding: 0 var(--bb-space-6) var(--bb-space-12);
  display: grid;
  grid-template-columns: 1.5fr 2fr;
  gap: var(--bb-space-16);
  align-items: start;
}

.footer__brand-name {
  font-size: var(--bb-text-sm);
  font-weight: var(--bb-weight-bold);
  letter-spacing: var(--bb-tracking-widest);
  text-transform: uppercase;
  color: var(--bb-text-inverse);
  margin-bottom: var(--bb-space-4);
}

.footer__tagline {
  font-size: var(--bb-text-base);
  font-weight: var(--bb-weight-light);
  line-height: var(--bb-leading-relaxed);
  color: var(--bb-text-secondary);
  max-width: 36ch;
}
