/* ==========================================================
   Buttons — raised, pressed on active
   ========================================================== */
.btn {
	border: none;
	border-radius: var(--nm-radius-sm);
	box-shadow: var(--nm-raised-sm);
	font-weight: 600;
	transition: box-shadow 0.15s, transform 0.1s, background 0.2s;
}

.btn:hover  { box-shadow: var(--nm-raised); transform: translateY(-1px); }
.btn:active,
.btn.active { box-shadow: var(--nm-inset-sm) !important; transform: translateY(0); }

.btn-primary {
	background: linear-gradient(135deg, var(--nm-accent) 0%, var(--nm-accent-2) 100%);
	color: #fff;
}
.btn-primary:hover  { color: #fff; filter: brightness(1.05); }
.btn-primary:active { background: var(--nm-accent); }

.btn-secondary {
	background: var(--nm-bg);
	color: var(--nm-text);
}
.btn-secondary:hover { color: var(--nm-accent); }

.btn-success { background: var(--nm-success); color: #fff; }
.btn-danger  { background: var(--nm-danger);  color: #fff; }
.btn-warning { background: var(--nm-warning); color: #1e2030; }
.btn-info    { background: var(--nm-info);    color: #fff; }

/* Outline variants */
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-danger,
.btn-outline-success,
.btn-outline-warning,
.btn-outline-info {
	background: var(--nm-bg);
	box-shadow: var(--nm-raised-sm);
}
.btn-outline-primary   { color: var(--nm-accent);  border: 1.5px solid rgba(110,168,74,0.35); }
.btn-outline-primary:hover  { background: var(--nm-accent);  color: #fff; border-color: var(--nm-accent); }
.btn-outline-secondary { color: var(--nm-muted);   border: 1.5px solid rgba(107,116,102,0.35); }
.btn-outline-secondary:hover{ background: var(--nm-muted);   color: #fff; border-color: var(--nm-muted); }
.btn-outline-danger    { color: var(--nm-danger);  border: 1.5px solid rgba(230,112,90,0.35); }
.btn-outline-danger:hover   { background: var(--nm-danger);  color: #fff; border-color: var(--nm-danger); }
.btn-outline-success   { color: var(--nm-success); border: 1.5px solid rgba(46,170,106,0.35); }
.btn-outline-success:hover  { background: var(--nm-success); color: #fff; border-color: var(--nm-success); }
.btn-outline-warning   { color: var(--nm-warning); border: 1.5px solid rgba(230,180,80,0.35); }
.btn-outline-warning:hover  { background: var(--nm-warning); color: #1e2030; border-color: var(--nm-warning); }
.btn-outline-info      { color: var(--nm-info);    border: 1.5px solid rgba(90,169,214,0.35); }
.btn-outline-info:hover     { background: var(--nm-info);    color: #fff; border-color: var(--nm-info); }

.btn-sm {
	border-radius: var(--nm-radius-xs);
	padding: 5px 12px;
	font-size: 13px;
}

.btn-group .btn,
.btn-group-sm .btn { box-shadow: none; border-radius: 0; }
.btn-group .btn:first-child { border-radius: var(--nm-radius-xs) 0 0 var(--nm-radius-xs); }
.btn-group .btn:last-child  { border-radius: 0 var(--nm-radius-xs) var(--nm-radius-xs) 0; }
.btn-group { box-shadow: var(--nm-raised-sm); border-radius: var(--nm-radius-xs); }
