html.tinxy-app-active,
html.tinxy-app-active body,
html.tinxy-app-active #page-content {
	background: #f1f5f9 !important;
}
html.tinxy-app-active,
html.tinxy-app-active body {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}
html.tinxy-app-active header:not(.tinxy-app-topbar),
html.tinxy-app-active footer,
html.tinxy-app-active #masthead,
html.tinxy-app-active #colophon,
html.tinxy-app-active .site-header,
html.tinxy-app-active .site-footer,
html.tinxy-app-active .nav-container,
html.tinxy-app-active #header:not(.tinxy-app-topbar),
html.tinxy-app-active #footer,
html.tinxy-app-active #wpadminbar {
	display: none !important;
}
#tinxy-page-loader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: #f1f5f9;
	z-index: 2147483647;
	display: flex;
	align-items: center;
	justify-content: center;
}
#tinxy-page-loader .tinxy-boot-spinner {
	width: 40px;
	height: 40px;
	border: 4px solid #e0e7ff;
	border-top-color: var(--tinxy-boot-primary, #6366f1);
	border-radius: 50%;
	animation: tinxy-boot-spin 0.7s linear infinite;
}
html.tinxy-app-ready #tinxy-page-loader {
	display: none;
}

/* Il checkout è nel footer di tutte le pagine CRM: deve restare nascosto
   finché JS non aggiunge .is-open (altrimenti copre il login). */
.tinxy-checkout-overlay:not(.is-open) {
	display: none !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

html.tinxy-login-screen,
html.tinxy-login-screen body {
	overflow: auto !important;
	height: auto !important;
}
@keyframes tinxy-boot-spin {
	to { transform: rotate(360deg); }
}