/**
 * ACM Licensing - Shared CSS Variables & Base Styles
 * Design system aligned with atharmehar.com child theme.
 */

:root {
	/* Primary palette */
	--acm-primary: #2563EB;
	--acm-primary-dark: #1D4ED8;
	--acm-primary-light: #3B82F6;
	--acm-accent: #22D3EE;
	--acm-accent-glow: rgba(34, 211, 238, 0.15);

	/* Text */
	--acm-text-dark: #1E293B;
	--acm-text-muted: #64748B;
	--acm-text-light: #94A3B8;

	/* Surfaces */
	--acm-bg-light: #F8FAFC;
	--acm-white: #FFFFFF;
	--acm-border: #E2E8F0;

	/* Shadows */
	--acm-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.04), 0 1px 2px rgba(15, 23, 42, 0.06);
	--acm-shadow-md: 0 4px 16px rgba(15, 23, 42, 0.06), 0 2px 4px rgba(15, 23, 42, 0.04);
	--acm-shadow-lg: 0 12px 40px rgba(15, 23, 42, 0.08), 0 4px 12px rgba(15, 23, 42, 0.04);

	/* Radius */
	--acm-radius-sm: 8px;
	--acm-radius-md: 12px;
	--acm-radius-lg: 16px;

	/* Status */
	--acm-status-active: #16A34A;
	--acm-status-active-bg: #F0FDF4;
	--acm-status-expired: #DC2626;
	--acm-status-expired-bg: #FEF2F2;
	--acm-status-suspended: #D97706;
	--acm-status-suspended-bg: #FFFBEB;
	--acm-status-revoked: #7C3AED;
	--acm-status-revoked-bg: #F5F3FF;
	--acm-status-refunded: #64748B;
	--acm-status-refunded-bg: #F1F5F9;
}

/* Badge / Pill */
.acm-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: 999px;
	font-family: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.6;
	white-space: nowrap;
}

.acm-badge--lg {
	padding: 5px 14px;
	font-size: 0.75rem;
}

.acm-badge--active {
	color: var(--acm-status-active);
	background: var(--acm-status-active-bg);
}

.acm-badge--expired {
	color: var(--acm-status-expired);
	background: var(--acm-status-expired-bg);
}

.acm-badge--suspended {
	color: var(--acm-status-suspended);
	background: var(--acm-status-suspended-bg);
}

.acm-badge--revoked {
	color: var(--acm-status-revoked);
	background: var(--acm-status-revoked-bg);
}

.acm-badge--refunded {
	color: var(--acm-status-refunded);
	background: var(--acm-status-refunded-bg);
}

/* Buttons */
.acm-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 20px;
	border: none;
	border-radius: var(--acm-radius-sm);
	font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight: 600;
	font-size: 0.88rem;
	line-height: 1.4;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.acm-btn--primary {
	background: var(--acm-primary);
	color: var(--acm-white);
	box-shadow: 0 4px 16px rgba(37, 99, 235, 0.25);
}

.acm-btn--primary:hover {
	background: var(--acm-primary-dark);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(37, 99, 235, 0.35);
	color: var(--acm-white);
}

.acm-btn--accent {
	background: var(--acm-accent);
	color: var(--acm-text-dark);
	font-weight: 700;
}

.acm-btn--accent:hover {
	background: #06B6D4;
	transform: translateY(-1px);
}

.acm-btn--outline {
	background: transparent;
	border: 1.5px solid var(--acm-border);
	color: var(--acm-text-dark);
}

.acm-btn--outline:hover {
	border-color: var(--acm-primary);
	color: var(--acm-primary);
	background: rgba(37, 99, 235, 0.04);
}

.acm-btn--sm {
	padding: 7px 16px;
	font-size: 0.82rem;
}

.acm-btn--xs {
	padding: 4px 10px;
	font-size: 0.75rem;
}

.acm-btn--danger {
	border-color: var(--acm-status-expired);
	color: var(--acm-status-expired);
}

.acm-btn--danger:hover {
	background: var(--acm-status-expired-bg);
	border-color: var(--acm-status-expired);
	color: var(--acm-status-expired);
}

/* Utility classes */
.acm-text-muted {
	color: var(--acm-text-muted);
	font-size: 0.85rem;
}

.acm-text-danger {
	color: var(--acm-status-expired);
}

.acm-text-success {
	color: var(--acm-status-active);
}
