/**
 * Botón «Guardar como PDF» — panel flotante (wp_footer).
 * Hoja media=all para que @media print oculte el control al imprimir.
 */

@media screen {
	#cgce-programa-print-floating {
		--cgce-print-navy: #0a2540;
		--cgce-print-blue: #1e40af;
		--cgce-print-blue-hover: #1d4ed8;
		--cgce-print-gold: #d4a853;
		--cgce-print-shadow: 0 20px 50px rgba(10, 37, 64, 0.28), 0 8px 20px rgba(0, 0, 0, 0.12);
		position: fixed;
		z-index: 999998;
		bottom: 1.5rem;
		right: 1.5rem;
		margin: 0;
		padding: 0;
		line-height: normal;
		font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		animation: cgcePrintFloatIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
	}

	@keyframes cgcePrintFloatIn {
		from {
			opacity: 0;
			transform: translateY(18px) scale(0.96);
		}
		to {
			opacity: 1;
			transform: translateY(0) scale(1);
		}
	}

	body.cgce-imprimir-mode #cgce-programa-print-floating {
		animation: cgcePrintFloatIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) both,
			cgcePrintPulse 2.4s ease-in-out 0.6s 2;
	}

	@keyframes cgcePrintPulse {
		0%,
		100% {
			filter: drop-shadow(0 0 0 rgba(30, 64, 175, 0));
		}
		50% {
			filter: drop-shadow(0 0 14px rgba(30, 64, 175, 0.45));
		}
	}

	.cgce-print-floating-card {
		width: min(22rem, calc(100vw - 2rem));
		padding: 1rem 1rem 0.85rem;
		border-radius: 16px;
		background: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%);
		border: 1px solid rgba(10, 37, 64, 0.1);
		box-shadow: var(--cgce-print-shadow);
	}

	.cgce-print-floating-kicker {
		margin: 0 0 0.75rem;
		padding: 0 0.15rem;
		font-size: 0.6875rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: var(--cgce-print-gold);
	}

	#cgce-programa-print-btn {
		appearance: none;
		display: flex;
		align-items: center;
		gap: 1rem;
		width: 100%;
		margin: 0;
		padding: 1.05rem 1.15rem;
		cursor: pointer;
		border: none;
		border-radius: 14px;
		background: linear-gradient(135deg, var(--cgce-print-navy) 0%, var(--cgce-print-blue) 100%);
		color: #fff;
		text-align: left;
		box-shadow: 0 10px 28px rgba(30, 64, 175, 0.35);
		transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
	}

	#cgce-programa-print-btn:hover {
		transform: translateY(-2px);
		box-shadow: 0 14px 34px rgba(30, 64, 175, 0.42);
		filter: brightness(1.05);
	}

	#cgce-programa-print-btn:active {
		transform: translateY(0);
		box-shadow: 0 8px 20px rgba(30, 64, 175, 0.3);
	}

	#cgce-programa-print-btn:focus {
		outline: none;
		box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--cgce-print-blue-hover);
	}

	#cgce-programa-print-btn.is-preparing,
	#cgce-programa-print-btn:disabled {
		cursor: wait;
		opacity: 0.88;
		filter: saturate(0.75);
		box-shadow: 0 8px 20px rgba(15, 23, 42, 0.22);
		pointer-events: none;
	}

	#cgce-programa-print-btn.is-preparing:hover,
	#cgce-programa-print-btn:disabled:hover {
		transform: none;
		filter: saturate(0.75);
		box-shadow: 0 8px 20px rgba(15, 23, 42, 0.22);
	}

	#cgce-programa-print-btn.is-wait-nudge {
		animation: cgcePrintWaitNudge 0.35s ease;
	}

	@keyframes cgcePrintWaitNudge {
		0%,
		100% {
			transform: translateX(0);
		}
		25% {
			transform: translateX(-4px);
		}
		75% {
			transform: translateX(4px);
		}
	}

	.cgce-print-btn-count-badge {
		display: none;
		align-items: center;
		justify-content: center;
		min-width: 1.6rem;
		font-size: 1.45rem;
		font-weight: 800;
		line-height: 1;
		letter-spacing: -0.03em;
		font-variant-numeric: tabular-nums;
	}

	#cgce-programa-print-btn.is-preparing .cgce-print-btn-icon svg {
		display: none;
	}

	#cgce-programa-print-btn.is-preparing .cgce-print-btn-count-badge {
		display: flex;
	}

	.cgce-print-btn-icon {
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 3.25rem;
		height: 3.25rem;
		border-radius: 12px;
		background: rgba(255, 255, 255, 0.14);
		border: 1px solid rgba(255, 255, 255, 0.22);
	}

	.cgce-print-btn-icon svg {
		display: block;
		width: 1.65rem;
		height: 1.65rem;
	}

	.cgce-print-btn-text {
		display: flex;
		flex-direction: column;
		gap: 0.2rem;
		min-width: 0;
	}

	.cgce-print-btn-label {
		font-size: 1.125rem;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: -0.01em;
	}

	.cgce-print-btn-hint {
		font-size: 0.8125rem;
		font-weight: 500;
		line-height: 1.35;
		opacity: 0.88;
	}

	.cgce-print-floating-tip {
		margin: 0.65rem 0 0;
		padding: 0 0.15rem;
		font-size: 0.75rem;
		line-height: 1.4;
		color: #64748b;
		text-align: center;
	}

	@media (max-width: 480px) {
		#cgce-programa-print-floating {
			left: 1rem;
			right: 1rem;
			bottom: 1rem;
		}

		.cgce-print-floating-card {
			width: 100%;
		}

		#cgce-programa-print-btn {
			padding: 0.95rem 1rem;
		}

		.cgce-print-btn-label {
			font-size: 1.05rem;
		}
	}
}

@media print {
	#cgce-programa-print-floating,
	#cgce-programa-print-floating * {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		height: 0 !important;
		width: 0 !important;
		max-height: 0 !important;
		max-width: 0 !important;
		overflow: hidden !important;
		position: absolute !important;
		left: -9999px !important;
		top: -9999px !important;
		pointer-events: none !important;
	}
}
