/* 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;
}



