/* ── Nomination ── */

.nom-page {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 28px;
}
.nom-page .page-header {
  margin-bottom: var(--space-3);
}
.nom-header {
  padding: var(--space-3) 0 var(--space-5);
}

.nom-card {
  background: #fffef9;
  border: none;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-modal);
  transform: rotate(-0.3deg);
  position: relative;
}
.nom-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    transparent,
    transparent 31px,
    #e8e4db 31px,
    #e8e4db 32px
  );
  opacity: 0.35;
  pointer-events: none;
  border-radius: var(--radius-sm);
  z-index: 0;
}
.nom-card > * {
  position: relative;
  z-index: 1;
}
.nom-card .field-underline,
.nom-card .field-textarea,
.nom-card select.field-underline {
  font-family: var(--font-handwritten);
  font-size: 18px;
  font-weight: var(--weight-medium);
}
.nom-card .field-underline--large {
  font-size: 26px;
  font-weight: var(--weight-semibold);
}

.nom-section-inner {
  padding: 22px 26px;
}
.nom-section-inner + .nom-section-inner {
  border-top: 1px solid var(--color-warm-border);
}
.nom-section-title {
  font-size: var(--text-4xs);
  font-weight: var(--weight-medium);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #b0ada6;
  margin-bottom: 18px;
}
.nom-field {
  margin-bottom: 22px;
}

/* Toggle */
.toggle { display: inline-flex; gap: var(--space-1); }
.toggle span {
  padding: 6px var(--space-4);
  font-size: var(--text-2xs);
  font-family: inherit;
  border: none;
  background: var(--color-surface);
  color: var(--color-text-tertiary);
  cursor: pointer;
  border-radius: var(--radius-full);
  transition: background var(--transition-fast);
  display: inline-block;
}
.toggle span:hover { background: var(--color-surface-hover); }
.toggle span.on { background: var(--color-accent); color: var(--color-white); }
