in place. */ function wpbc_print_loader_inline_css_once() { static $printed = false; if ( $printed ) { return; } $printed = true; $css = " /* Critical loader styles (scoped by class names) */ .calendar_loader_frame { width: calc(341px * var(--wpbc-loader-cols, 1)); max-width: 100%; height: 307px; display: flex; flex-flow: column nowrap; align-items: center; justify-content: center; border-radius: 5px; box-shadow: 0 0 2px #ccc; gap: 15px; /* Calendar variables (safe fallbacks) */ color: var(--wpbc_cal-available-text-color, #2c3e50); background: rgb(from var(--wpbc_cal-available-day-color, #e6f2ff) r g b / var(--wpbc_cal-day-bg-color-opacity, 1)); border: var(--wpbc_cal-day-cell-border-width, 1px) solid var(--wpbc_cal-available-day-color, #aacbeb); } .calendar_loader_text { font-size: 18px; text-align: center; } .calendar_loader_frame__progress_line_container { width: 50%; height: 3px; margin-top: 7px; overflow: hidden; background: #202020; border-radius: 30px; } .calendar_loader_frame__progress_line { width: 0%; height: 3px; background: #8ECE01; border-radius: 30px; animation: calendar_loader_bar_progress 3s infinite linear; } @keyframes calendar_loader_bar_progress { to { width: 100%; } } @media (prefers-reduced-motion: reduce) { .calendar_loader_frame__progress_line { animation: none; width: 50%; } } "; // Elementor-safe path: attach CSS to an enqueued WPBC stylesheet. if ( class_exists( 'WPBC_FE_Assets' ) ) { // Ensure the target style is enqueued (safe-check anyway). if ( function_exists( 'wp_enqueue_style' ) ) { wp_enqueue_style( 'wpbc-ui-both', wpbc_plugin_url( '/css/wpbc_ui_both.css' ), array(), WP_BK_VERSION_NUM ); // FixIn: 10.0.0.25. } // FixIn: 10.14.14.1. $added = WPBC_FE_Assets::add_inline_css_to_wp_style( 'wpbc-ui-both', $css, 'wpbc:calendar-loader-css' ); if ( $added ) { return; // Do NOT print ' . "\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Output a single calendar loader block (no inline