/* Chronition Print & PDF — front-end buttons */
.cwpp-buttons {
	--cwpp-accent: #1f4fd8;
	--cwpp-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 1.25em;
	clear: both;
	line-height: 1;
}
.cwpp-buttons + * { margin-top: 0; }
* + .cwpp-buttons { margin-top: 1.5em; }
.cwpp-align-left { justify-content: flex-start; }
.cwpp-align-center { justify-content: center; }
.cwpp-align-right { justify-content: flex-end; }

.cwpp-buttons .cwpp-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	border: 1px solid transparent;
	border-radius: var(--cwpp-radius);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .01em;
	text-decoration: none !important;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
	-webkit-tap-highlight-color: transparent;
}
.cwpp-buttons .cwpp-btn:focus-visible {
	outline: 2px solid var(--cwpp-accent);
	outline-offset: 2px;
}
.cwpp-buttons .cwpp-btn:active { transform: translateY(1px); }
.cwpp-buttons .cwpp-ico { flex: none; width: 18px; height: 18px; }

/* Sizes */
.cwpp-size-sm .cwpp-btn { padding: 7px 12px; font-size: 13px; gap: 6px; }
.cwpp-size-sm .cwpp-ico { width: 16px; height: 16px; }
.cwpp-size-lg .cwpp-btn { padding: 12px 20px; font-size: 15.5px; }
.cwpp-size-lg .cwpp-ico { width: 20px; height: 20px; }

/* Soft (default): tinted surface */
.cwpp-style-soft .cwpp-btn {
	color: var(--cwpp-accent);
	background: color-mix(in srgb, var(--cwpp-accent) 9%, transparent);
	border-color: color-mix(in srgb, var(--cwpp-accent) 16%, transparent);
}
.cwpp-style-soft .cwpp-btn:hover {
	background: color-mix(in srgb, var(--cwpp-accent) 15%, transparent);
	border-color: color-mix(in srgb, var(--cwpp-accent) 28%, transparent);
	color: var(--cwpp-accent);
}

/* Solid */
.cwpp-style-solid .cwpp-btn,
.cwpp-style-pill .cwpp-btn {
	color: #fff;
	background: var(--cwpp-accent);
	box-shadow: 0 1px 2px rgba(16, 24, 40, .12), inset 0 1px 0 rgba(255, 255, 255, .14);
}
.cwpp-style-solid .cwpp-btn:hover,
.cwpp-style-pill .cwpp-btn:hover {
	color: #fff;
	background: color-mix(in srgb, var(--cwpp-accent) 86%, #000);
	box-shadow: 0 4px 12px -2px color-mix(in srgb, var(--cwpp-accent) 45%, transparent);
}
.cwpp-style-pill { --cwpp-radius: 999px; }
.cwpp-style-pill .cwpp-btn-print {
	color: var(--cwpp-accent);
	background: transparent;
	border-color: color-mix(in srgb, var(--cwpp-accent) 40%, transparent);
	box-shadow: none;
}
.cwpp-style-pill .cwpp-btn-print:hover {
	color: var(--cwpp-accent);
	background: color-mix(in srgb, var(--cwpp-accent) 8%, transparent);
	box-shadow: none;
}

/* Outline */
.cwpp-style-outline .cwpp-btn {
	color: currentColor;
	background: transparent;
	border-color: color-mix(in srgb, currentColor 22%, transparent);
}
.cwpp-style-outline .cwpp-btn:hover {
	color: var(--cwpp-accent);
	border-color: var(--cwpp-accent);
}

/* Minimal: text links */
.cwpp-style-minimal { gap: 18px; }
.cwpp-style-minimal .cwpp-btn {
	padding: 4px 0;
	color: color-mix(in srgb, currentColor 72%, transparent);
	background: none;
	border: 0;
	border-radius: 0;
}
.cwpp-style-minimal .cwpp-btn:hover { color: var(--cwpp-accent); }

/* Fallbacks for browsers without color-mix() */
@supports not (background: color-mix(in srgb, red 50%, blue)) {
	.cwpp-style-soft .cwpp-btn { background: rgba(31, 79, 216, .08); border-color: rgba(31, 79, 216, .18); }
	.cwpp-style-outline .cwpp-btn { border-color: rgba(127, 127, 127, .35); }
	.cwpp-style-minimal .cwpp-btn { color: inherit; opacity: .8; }
	.cwpp-style-pill .cwpp-btn-print { border-color: var(--cwpp-accent); }
}

/* Icon only */
.cwpp-icon-only .cwpp-btn { padding: 9px; }
.cwpp-icon-only.cwpp-size-sm .cwpp-btn { padding: 7px; }
.cwpp-icon-only.cwpp-size-lg .cwpp-btn { padding: 12px; }
.cwpp-icon-only .cwpp-label {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Loading state */
.cwpp-btn .cwpp-spinner { display: none; }
.cwpp-btn.is-busy { pointer-events: none; opacity: .85; }
.cwpp-btn.is-busy .cwpp-ico { display: none; }
.cwpp-btn.is-busy .cwpp-spinner {
	display: inline-block;
	width: 16px; height: 16px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: cwpp-spin .7s linear infinite;
}
@keyframes cwpp-spin { to { transform: rotate(360deg); } }

/* Toast */
.cwpp-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 999999;
	max-width: min(92vw, 420px);
	padding: 12px 16px;
	border-radius: 12px;
	background: #111827;
	color: #f9fafb;
	font: 500 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	box-shadow: 0 12px 32px -8px rgba(0, 0, 0, .35);
	transform: translate(-50%, 16px);
	opacity: 0;
	transition: opacity .2s ease, transform .2s ease;
	pointer-events: none;
}
.cwpp-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@media (prefers-reduced-motion: reduce) {
	.cwpp-buttons .cwpp-btn, .cwpp-toast { transition: none; }
	.cwpp-btn.is-busy .cwpp-spinner { animation-duration: 2s; }
}

@media print {
	.cwpp-buttons, .cwpp-toast { display: none !important; }
}
