'break-word', 'text-align' => $align, 'background-color' => $data['background_color'] ?? '#ffffff', 'padding' => TemplateHelpers::get_spacing_value( isset( $data['padding'] ) ? $data['padding'] : [] ), ] ); $table_style = TemplateHelpers::get_style( [ 'width' => '100%', 'table-layout' => 'auto', 'border-collapse' => 'collapse', 'border-spacing' => 0, 'mso-table-lspace' => '0pt', 'mso-table-rspace' => '0pt', ] ); $connector_height = (int) ( $data['connector_height'] ?? 2 ); $connector_height = max( 1, min( $connector_height, 10 ) ); $connector_active_color = TemplateHelpers::replace_color_paths( (string) ( $data['connector_active_color'] ?? '#873eff' ) ); $connector_inactive_color = TemplateHelpers::replace_color_paths( (string) ( $data['connector_inactive_color'] ?? '#E2E6EE' ) ); $icon_size = (int) ( $data['icon_size'] ?? 18 ); $icon_size = max( 10, min( $icon_size, 80 ) ); $label_font_size = (int) ( $data['label_font_size'] ?? 14 ); $label_font_size = max( 8, min( $label_font_size, 24 ) ); $label_font_family = TemplateHelpers::get_font_family_value( ! empty( $data['font_family'] ) ? $data['font_family'] : YAYMAIL_DEFAULT_FAMILY ); // Backward compatible fallbacks (older versions used global label colors + per-step label_color override). // Use opinionated defaults close to design: dark text for active, grey for inactive. $legacy_label_active_color = $data['label_active_color'] ?? '#111827'; $legacy_label_inactive_color = $data['label_inactive_color'] ?? '#9CA3AF'; ob_start(); ?>