/* Buttons and forms */
.primary-button,.secondary-button,.btn,button[type="submit"],input[type="submit"] {
    min-height: 48px;
    padding: 12px 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    border: 2px solid transparent;
    border-radius: var(--radius-pill);
    cursor: pointer;
    font-size: .96rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
.primary-button,.btn:not(.secondary),button[type="submit"],input[type="submit"] {
    background: linear-gradient(135deg,var(--color-primary),#2f6f9f);
    color: #fff;
    box-shadow: 0 8px 18px rgba(31,78,121,.2);
}
.primary-button:hover,.btn:not(.secondary):hover,button[type="submit"]:hover,input[type="submit"]:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(31,78,121,.27);
}
.secondary-button,.btn.secondary {
    background: #fff;
    border-color: var(--color-primary);
    color: var(--color-primary);
}
.secondary-button:hover,.btn.secondary:hover { background: var(--color-primary-light); color: var(--color-primary-dark); transform: translateY(-2px); }
button:disabled,input:disabled,.primary-button:disabled { cursor: not-allowed; opacity: .55; transform: none; box-shadow: none; }

form { width: 100%; }
.form-section { padding-bottom: var(--space-7); margin-bottom: var(--space-7); border-bottom: 1px solid var(--color-border); }
.form-section:last-of-type { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); }
.form-field { margin-bottom: var(--space-5); }
label,.field-label { display: block; margin-bottom: var(--space-2); color: var(--color-heading); font-size: .92rem; font-weight: 800; }
input,select,textarea {
    width: 100%;
    padding: 13px 15px;
    background: #fff;
    border: 1.5px solid var(--color-border-dark);
    border-radius: var(--radius-medium);
    color: var(--color-text);
    outline: none;
}
input:focus,select:focus,textarea:focus { border-color: var(--color-primary); box-shadow: 0 0 0 4px rgba(31,78,121,.13); }
textarea { min-height: 120px; resize: vertical; }
input[type="checkbox"],input[type="radio"] { width: 19px; height: 19px; margin: 0; accent-color: var(--color-primary); }
.agreement-check,.choice { display: flex; align-items: flex-start; gap: var(--space-3); cursor: pointer; }
.choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); }
.choice { padding: 13px 15px; background: var(--color-surface-soft); border: 1px solid var(--color-border); border-radius: var(--radius-medium); }
