diff --git a/Assets/css/critical-bootstrap.css b/Assets/css/critical-bootstrap.css index 8eb88aed..d35a4b2b 100644 --- a/Assets/css/critical-bootstrap.css +++ b/Assets/css/critical-bootstrap.css @@ -14,6 +14,60 @@ * @see Shared/Infrastructure/Services/CriticalBootstrapService.php */ +/* ========================================================================== + CRITICAL FONTS (Poppins - LCP optimization) + ========================================================================== */ +@font-face { + font-family: 'Poppins Fallback'; + src: local('Arial'), local('Helvetica Neue'), local('sans-serif'); + size-adjust: 106%; + ascent-override: 105%; + descent-override: 35%; + line-gap-override: 10%; +} +@font-face { + font-family: 'Poppins'; + src: url('/wp-content/themes/roi-theme/Assets/fonts/poppins-v24-latin-regular.woff2') format('woff2'); + font-weight: 400; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Poppins'; + src: url('/wp-content/themes/roi-theme/Assets/fonts/poppins-v24-latin-600.woff2') format('woff2'); + font-weight: 600; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Poppins'; + src: url('/wp-content/themes/roi-theme/Assets/fonts/poppins-v24-latin-700.woff2') format('woff2'); + font-weight: 700; + font-style: normal; + font-display: swap; +} + +:root { + /* Fonts */ + --font-primary: 'Poppins', 'Poppins Fallback', sans-serif; + --bs-body-font-family: 'Poppins', 'Poppins Fallback', sans-serif; + + /* Theme Colors (críticos para above-the-fold) */ + --color-navy-dark: #0E2337; + --color-navy-medium: #1e3a5f; + --color-orange-primary: #FF8600; + --color-orange-hover: #e67a00; + --bs-primary: #0d6efd; + --bs-white: #fff; + --bs-body-color: #212529; + --bs-body-bg: #fff; + --bs-link-color: #0d6efd; + --bs-link-hover-color: #0a58ca; + + /* Spacing */ + --bs-gutter-x: 1.5rem; +} + /* ========================================================================== BOX SIZING & RESETS (Bootstrap Reboot crítico) ========================================================================== */ diff --git a/Inc/enqueue-scripts.php b/Inc/enqueue-scripts.php index 17cb0369..3267319d 100644 --- a/Inc/enqueue-scripts.php +++ b/Inc/enqueue-scripts.php @@ -25,8 +25,10 @@ if (!defined('ABSPATH')) { * @updated 1.0.23 - Bootstrap diferido gracias a critical-bootstrap.css */ define('ROI_DEFERRED_CSS', [ - // Bootstrap (diferido - critical inline via CriticalBootstrapService) - 'roi-bootstrap', + // Critical CSS inline - estos archivos se difieren + 'roi-fonts', // @font-face inline en critical-bootstrap.css + 'roi-bootstrap', // Critical inline via CriticalBootstrapService + 'roi-variables', // Variables ahora inline en critical CSS // Componentes específicos (below the fold) 'roi-badges', 'roi-pagination', @@ -82,15 +84,18 @@ add_filter('style_loader_tag', 'roi_add_deferred_css_onload', 10, 2); * - Mejorar rendimiento (sin requests externos) * - Cumplimiento GDPR (sin tracking de Google) * - Evitar bloqueo de renderizado + * + * NOTA: @font-face críticos están inline en critical-bootstrap.css + * Este archivo ahora es DIFERIDO (solo utilidades de texto) */ function roi_enqueue_fonts() { - // Fonts CSS local con @font-face para Poppins self-hosted + // Fonts CSS local - DIFERIDO (critical @font-face inline) wp_enqueue_style( 'roi-fonts', get_template_directory_uri() . '/Assets/css/css-global-fonts.css', array(), - '1.1.0', // Bump version: self-hosted fonts - 'all' + '1.1.1', // Bump version: deferred loading + 'print' // DIFERIDO - @font-face inline en critical CSS ); } @@ -135,13 +140,14 @@ function roi_enqueue_bootstrap() { 'print' ); - // Variables CSS del Template RDash (NIVEL 1 - BLOQUEANTE - Issue #48) + // Variables CSS del Template RDash - DIFERIDO + // Variables críticas inline en critical-bootstrap.css wp_enqueue_style( 'roi-variables', get_template_directory_uri() . '/Assets/css/css-global-variables.css', array('roi-bootstrap'), ROI_VERSION, - 'all' + 'print' // DIFERIDO - variables críticas inline ); // Bootstrap JS Bundle - in footer with defer