{"id":1354,"date":"2025-09-19T16:40:52","date_gmt":"2025-09-19T21:40:52","guid":{"rendered":"https:\/\/lottoalert.co\/megamillions-stats-2\/"},"modified":"2026-07-28T12:09:28","modified_gmt":"2026-07-28T17:09:28","slug":"megamillions-stats","status":"publish","type":"page","link":"https:\/\/lottoalert.co\/en\/megamillions-stats\/","title":{"rendered":"Megamillions Stats"},"content":{"rendered":"<div class=\"lae-h1-wrap\"><h1 class=\"megamillions-seo-title\" style=\"font-size:26px;margin:0 0 18px;\">Most common Mega Millions numbers: historical statistics<\/h1><\/div>[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; top_margin=&#8221;30px&#8221; constrain_group_8=&#8221;yes&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;15px&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221; gradient_type=&#8221;default&#8221; shape_type=&#8221;&#8221;][vc_column column_padding=&#8221;padding-2-percent&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;left&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;10px&#8221; column_link_target=&#8221;_self&#8221; column_position=&#8221;default&#8221; el_class=&#8221;.bg-gradient&#8221; enable_gradient=&#8221;true&#8221; color_overlay=&#8221;#004cab&#8221; color_overlay_2=&#8221;#0067d3&#8243; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;1&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221; column_padding_type=&#8221;default&#8221; gradient_type=&#8221;default&#8221;][nectar_responsive_text inherited_font_style=&#8221;default&#8221; text_color=&#8221;#ffffff&#8221; text_direction=&#8221;default&#8221;]\n<h2><i class=\"fa-solid fa-chart-line\"><\/i> Welcome, Guest<style>\r\n        @media screen and (max-width: 767px) {\r\n            .user-email-mobile {\r\n                display: block;\r\n                margin-top: 5px;\r\n                word-break: break-all;\r\n            }\r\n        }\r\n    <\/style><\/h2>\n<p>View your Mega Millions stats here[\/nectar_responsive_text][\/vc_column][\/vc_row]\n[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; column_position=&#8221;default&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text css=&#8221;&#8221; text_direction=&#8221;default&#8221;]    <div class=\"lae\">\n      <style>\n        .lae{--azul:#004cab;--tinta:#0b1e3c;--rojo:#c81d25;--oro:#c79a3a;font-family:inherit;color:#333;max-width:1100px;margin:0 auto 26px;}\n        .lae *{box-sizing:border-box;}\n        .lae-badge{display:inline-block;background:#10b981;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;vertical-align:middle;margin-left:6px;letter-spacing:.05em;}\n        .lae-top{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-bottom:26px;}\n        .lae-top.solo{grid-template-columns:1fr;}\n        @media(max-width:820px){.lae-top{grid-template-columns:1fr;}}\n        .lae-acum{background:linear-gradient(135deg,#0b1e3c 0%,#1a3a6b 55%,#004cab 100%);border-radius:14px;padding:32px 24px;text-align:center;color:#fff;box-shadow:0 8px 24px rgba(11,30,60,.25);display:flex;flex-direction:column;justify-content:center;}\n        .lae-acum .lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9db4c8;}\n        .lae-acum .amt{font-size:clamp(42px,9vw,66px);font-weight:900;margin:4px 0;line-height:1;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,.3);}\n        .lae-acum .fecha{font-size:14px;color:#dbe7f3;margin-top:6px;}\n        .lae-pozo{border-radius:14px;padding:22px;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);}\n        .lae-pozo.rojo{background:linear-gradient(150deg,#7a1216,#c81d25);}\n        .lae-pozo.azul{background:linear-gradient(150deg,#0b3a6b,#1565c0);}\n        .lae-pozo.verde{background:linear-gradient(150deg,#0b6b3a,#12a150);}\n        .lae-pozo .tit{font-size:16px;font-weight:800;margin:0 0 2px;}\n        .lae-pozo .sub{font-size:11.5px;opacity:.85;margin:0 0 14px;}\n        .lae-pozo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}\n        .lae-ps{background:rgba(255,255,255,.12);border-radius:9px;padding:12px;text-align:center;}\n        .lae-ps .n{font-size:22px;font-weight:900;line-height:1;}\n        .lae-ps .l{font-size:10.5px;opacity:.9;margin-top:5px;line-height:1.25;}\n        .lae-ps.destacado{grid-column:1\/-1;background:rgba(255,211,107,.18);border:1px solid rgba(255,211,107,.5);}\n        .lae-ps.destacado .n{color:#ffd36b;}\n        .lae-fuente{font-size:10.5px;opacity:.7;margin-top:10px;text-align:right;}\n        .lae-formas{background:#fff;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,0.05);margin-bottom:20px;overflow:hidden;}\n        .lae-sum{list-style:none;cursor:pointer;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}\n        .lae-sum::-webkit-details-marker{display:none;}\n        .lae-sum:hover{background:#f7f9fc;}\n        .lae-sum-txt{font-size:14px;color:#1a1a2e;}\n        .lae-sum-txt strong{color:#004cab;}\n        .lae-sum-rango{color:#777;margin-left:8px;font-size:13px;}\n        .lae-sum-tog{font-size:12.5px;color:#004cab;font-weight:600;white-space:nowrap;}\n        .lae-sum-tog::after{content:' \\2304';}\n        .lae-formas[open] .lae-sum{border-bottom:1px solid #eef0f3;}\n        .lae-formas[open] .lae-sum-tog::after{content:' \\2303';}\n        .lae-formas-body{padding:4px 18px 16px;}\n        .lae-sub{font-size:13px;color:#666;margin:10px 0 6px;}\n        .lae-tbl{width:100%;border-collapse:collapse;font-size:14px;}\n        .lae-tbl th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#888;border-bottom:2px solid #e6e2da;padding:8px;}\n        .lae-tbl th.r{text-align:right;}\n        .lae .lae-tbl td{padding:9px 8px;border-bottom:1px solid #eee;background:#fff !important;}\n        .lae .lae-tbl tbody tr:nth-child(even) td{background:#fafbfc !important;}\n        .lae .lae-tbl td.r{text-align:right;}\n        .lae .lae-tbl tr.mayor td{background:#eef7ff !important;font-weight:700;}\n        .lae .lae-tbl .premio{color:#004cab;font-weight:700;}\n        .lae .lae-tbl .gan{color:#666;}\n        .lae .lae-tbl tr:hover td{background:#f5f8fc !important;}\n        .lae-h1-wrap h1{margin:0 0 18px;}\n        .lae-nota{font-size:12px;color:#8a8a8a;margin:10px 0 0;text-align:right;}\n      <\/style>\n\n            <div class=\"lae-top\">\n                <div class=\"lae-acum\">\n          <div class=\"lbl\">Next jackpot<\/div>\n          <div class=\"amt\">$100 M<\/div>\n        <\/div>\n        \n                <div class=\"lae-pozo rojo\">\n          <div class=\"tit\">\ud83d\udd25 The jackpot is heating up<\/div>\n          <div class=\"sub\">Overdue compared to its average<\/div>\n          <div class=\"lae-pozo-grid\">\n            <div class=\"lae-ps destacado\"><div class=\"n\">13 draws<\/div>\n              <div class=\"l\">without hitting the jackpot \u00b7 since 28 Jul 2026<\/div><\/div>\n            <div class=\"lae-ps\"><div class=\"n\">12<\/div>\n              <div class=\"l\">draws between hits, on average<\/div><\/div>\n            <div class=\"lae-ps\"><div class=\"n\">39<\/div>\n              <div class=\"l\">longest streak on record<\/div><\/div>\n                        <div class=\"lae-ps destacado\"><div class=\"n\">$1.92 B<\/div>\n              <div class=\"l\">largest prize paid (2012)<\/div><\/div>\n                      <\/div>\n          <div class=\"lae-fuente\">Data since 2010<\/div>\n        <\/div>\n              <\/div>\n      \n            <details class=\"lae-formas\">\n        <summary class=\"lae-sum\">\n          <span class=\"lae-sum-txt\">\n            <strong>There are 1 different ways to win.<\/strong>\n                        <span class=\"lae-sum-rango\">Prizes from $261 M to $261 M<\/span>\n                      <\/span>\n          <span class=\"lae-sum-tog\">See breakdown<\/span>\n        <\/summary>\n\n        <div class=\"lae-formas-body\">\n          <p class=\"lae-sub\">This is what the 22 Sep 2026 draw paid:<\/p>\n          <table class=\"lae-tbl\">\n            <thead><tr><th>If you match<\/th>\n              <th class=\"r\">You win<\/th>\n              <th class=\"r\">Winners<\/th><\/tr><\/thead>\n            <tbody>\n                          <tr class=\"mayor\">\n                <td>5 numbers + Mega Ball<\/td>\n                <td class=\"r premio\">$261 M<\/td>\n                <td class=\"r gan\">0<\/td>\n              <\/tr>\n                        <\/tbody>\n          <\/table>\n          <p class=\"lae-nota\">The jackpot shown is the amount that draw had accumulated.<\/p>\n        <\/div>\n      <\/details>\n          <\/div>\n    [\/vc_column_text][\/vc_column][\/vc_row][vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; left_padding_desktop=&#8221;0&#8243; constrain_group_2=&#8221;yes&#8221; right_padding_desktop=&#8221;0&#8243; left_padding_tablet=&#8221;0&#8243; constrain_group_4=&#8221;yes&#8221; right_padding_tablet=&#8221;0&#8243; left_padding_phone=&#8221;0&#8243; right_padding_phone=&#8221;0&#8243; top_margin=&#8221;30px&#8221; bottom_margin=&#8221;70px&#8221; left_margin=&#8221;0&#8243; constrain_group_8=&#8221;yes&#8221; right_margin=&#8221;0&#8243; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221; gradient_type=&#8221;default&#8221; shape_type=&#8221;&#8221;][vc_column left_padding_desktop=&#8221;0&#8243; constrain_group_101=&#8221;yes&#8221; right_padding_desktop=&#8221;0&#8243; left_padding_tablet=&#8221;0&#8243; constrain_group_103=&#8221;yes&#8221; right_padding_tablet=&#8221;0&#8243; left_padding_phone=&#8221;0&#8243; constrain_group_105=&#8221;yes&#8221; right_padding_phone=&#8221;0&#8243; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; column_position=&#8221;default&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221; column_padding_type=&#8221;advanced&#8221; gradient_type=&#8221;default&#8221;][vc_column_text css=&#8221;.vc_custom_1758321566069{margin-right: 0px !important;margin-left: 0px !important;border-right-width: 0px !important;border-left-width: 0px !important;padding-right: 0px !important;padding-left: 0px !important;}&#8221; text_direction=&#8221;default&#8221;]\n<div class=\"megamillions-container\">\n    \n    <div class=\"megamillions-message\" style=\"display: none;\"><\/div>\n    \n    <!-- Nuevo contenedor principal con layout mejorado -->\n    <div class=\"megamillions-perfil-main\">\n        <!-- Columna de estad\u00edsticas (izquierda) -->\n        <div class=\"megamillions-stats-column\">\n            <h3>My statistics<\/h3>\n            <div class=\"megamillions-stats-container\">\n                <div class=\"stat-loading\">Loading statistics...<\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- Columna de acciones (derecha) -->\n        <div class=\"megamillions-actions-column\">\n            <div class=\"megamillions-action-card\">\n                <h3>Most Drawn Mega Balls<\/h3>\n                <p>Most frequently drawn Mega Ball numbers:<\/p>\n                \n                <div class=\"megaball-stats-container\">\n                    <div class=\"stat-loading\">Loading Mega Ball statistics...<\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"megamillions-action-card\">\n                <h3>Next drawing<\/h3>\n                <div class=\"proximo-sorteo\">\n                    <div class=\"sorteo-fecha\" id=\"proximo-sorteo-fecha\">\n                   Friday, 25 of September at 11:00 PM                    <\/div>\n                    \n                    <!-- Contenedor expl\u00edcito para el contador -->\n                    <div class=\"sorteo-contador\" id=\"sorteo-countdown\">\n                        <div class=\"countdown-item\"><span class=\"countdown-value\">-<\/span><span class=\"countdown-label\">days<\/span><\/div>\n                        <div class=\"countdown-item\"><span class=\"countdown-value\">-<\/span><span class=\"countdown-label\">hours<\/span><\/div>\n                        <div class=\"countdown-item\"><span class=\"countdown-value\">-<\/span><span class=\"countdown-label\">min<\/span><\/div>\n                        <div class=\"countdown-item\"><span class=\"countdown-value\">-<\/span><span class=\"countdown-label\">sec<\/span><\/div>\n                    <\/div>\n                    \n                    <div class=\"sorteo-registrar\">\n                        <p>Register your numbers for this drawing:<\/p>\n                        <a href=\"https:\/\/lottoalert.co\/registrar-numeros-megamillions\/\" class=\"megamillions-button megamillions-button-primary\">\n                            <i class=\"dashicons dashicons-plus-alt\"><\/i>\n                            Save Numbers                        <\/a>\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"megamillions-action-card\">\n                <h3>My history<\/h3>\n                <p>Review all your previous games and their results.<\/p>\n                <a href=\"https:\/\/lottoalert.co\/tu-historial-de-megamillions\/\" class=\"megamillions-button megamillions-button-secondary\">\n                    <i class=\"dashicons dashicons-list-view\"><\/i>\n                    View complete history                <\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\njQuery(document).ready(function($) {\n    \/\/ PRIMER SCRIPT: Agregar contador de tiempo para el pr\u00f3ximo sorteo\n    \/\/ Funci\u00f3n corregida para actualizar el contador (Mega Millions: Martes y Viernes)\nfunction actualizarContador() {\n    var ahora = new Date();\n    var dia_hoy = ahora.getDay(); \/\/ 0 (domingo) a 6 (s\u00e1bado)\n    var hora_actual = ahora.getHours();\n    \n    var proximoSorteo = new Date(ahora);\n    \n    \/\/ Determinar el pr\u00f3ximo d\u00eda de sorteo\n\/\/ Martes = 2, Viernes = 5\nif (dia_hoy < 2) {\n    \/\/ Si estamos antes del martes (domingo o lunes), el pr\u00f3ximo sorteo es martes\n    proximoSorteo.setDate(proximoSorteo.getDate() + (2 - dia_hoy));\n} else if (dia_hoy === 2 && hora_actual < 23) {\n    \/\/ Si es martes pero antes de las 11pm, el sorteo es hoy\n    \/\/ No hacemos nada, ya est\u00e1 en el d\u00eda correcto\n} else if (dia_hoy === 2 && hora_actual >= 23) {\n    \/\/ Si es martes despu\u00e9s de las 11pm, el pr\u00f3ximo sorteo es viernes\n    proximoSorteo.setDate(proximoSorteo.getDate() + 3); \/\/ 3 d\u00edas hasta viernes\n} else if (dia_hoy > 2 && dia_hoy < 5) {\n    \/\/ Si estamos despu\u00e9s del martes pero antes del viernes (mi\u00e9rcoles o jueves)\n    proximoSorteo.setDate(proximoSorteo.getDate() + (5 - dia_hoy)); \/\/ D\u00edas hasta viernes\n} else if (dia_hoy === 5 && hora_actual < 23) {\n    \/\/ Si es viernes antes de las 11pm, el sorteo es hoy\n    \/\/ No hacemos nada, ya est\u00e1 en el d\u00eda correcto\n} else {\n    \/\/ Si es viernes despu\u00e9s de las 11pm, s\u00e1bado o domingo, el pr\u00f3ximo sorteo es martes\n    proximoSorteo.setDate(proximoSorteo.getDate() + ((9 - dia_hoy) % 7)); \/\/ D\u00edas hasta martes\n}\n    \n    \/\/ Establecer la hora del sorteo a las 11:00 PM\n    proximoSorteo.setHours(23, 0, 0, 0);\n    \n    \/\/ Calcular tiempo restante\n    var tiempoRestante = proximoSorteo - ahora;\n    \n    \/\/ Si el tiempo restante es negativo, ajustar al siguiente sorteo\n    if (tiempoRestante < 0) {\n        \/\/ Si ya pas\u00f3 el sorteo de hoy, calcular para el pr\u00f3ximo sorteo\n        if (dia_hoy === 2) {\n            \/\/ Si es martes y ya pas\u00f3 el sorteo, el pr\u00f3ximo es viernes\n            proximoSorteo.setDate(proximoSorteo.getDate() + 3); \/\/ 3 d\u00edas hasta viernes\n        } else if (dia_hoy === 5) {\n            \/\/ Si es viernes y ya pas\u00f3 el sorteo, el pr\u00f3ximo es martes\n            proximoSorteo.setDate(proximoSorteo.getDate() + 4); \/\/ 4 d\u00edas hasta martes\n        }\n        tiempoRestante = proximoSorteo - ahora;\n    }\n    \n    \/\/ Calcular d\u00edas, horas, minutos y segundos\n    var dias = Math.floor(tiempoRestante \/ (1000 * 60 * 60 * 24));\n    var horas = Math.floor((tiempoRestante % (1000 * 60 * 60 * 24)) \/ (1000 * 60 * 60));\n    var minutos = Math.floor((tiempoRestante % (1000 * 60 * 60)) \/ (1000 * 60));\n    var segundos = Math.floor((tiempoRestante % (1000 * 60)) \/ 1000);\n    \n    \/\/ Actualizar el contador - usando selectores directos\n    $('#sorteo-countdown .countdown-item:nth-child(1) .countdown-value').text(dias);\n    $('#sorteo-countdown .countdown-item:nth-child(2) .countdown-value').text(horas);\n    $('#sorteo-countdown .countdown-item:nth-child(3) .countdown-value').text(minutos);\n    $('#sorteo-countdown .countdown-item:nth-child(4) .countdown-value').text(segundos);\n    \n    \/\/ Actualizar la fecha del pr\u00f3ximo sorteo usando nombres en espa\u00f1ol manualmente\n    var dias_es = [\n    'Sunday',\n    'Monday',\n    'Tuesday',\n    'Wednesday',\n    'Thursday',\n    'Friday',\n    'Saturday'\n];\nvar meses_es = ['',\n    'January',\n    'February',\n    'March',\n    'April',\n    'May',\n    'June',\n    'July',\n    'August',\n    'September',\n    'October',\n    'November',\n    'December'\n];\n\n    var dia_semana = dias_es[proximoSorteo.getDay()];\n    var dia = proximoSorteo.getDate();\n    var mes = meses_es[proximoSorteo.getMonth() + 1];\n    var anio = proximoSorteo.getFullYear();\n\n    $('#proximo-sorteo-fecha').text(dia_semana + ', ' + dia + ' of ' + mes + ' at 11:00 PM');\n}\n    \n    \/\/ Actualizar cada segundo\n    actualizarContador();\n    setInterval(actualizarContador, 1000);\n    \n    \/\/ Guardar los datos de estad\u00edsticas para el generador\n    window.megamillionsStats = {};\n    \n    \/\/ SEGUNDO SCRIPT: Cargar estad\u00edsticas\n    $.post(megamillions_data.ajax_url, {\n        action: 'megamillions_obtener_estadisticas',\n        nonce: megamillions_data.nonce\n    }, function(response) {\n        if (response.success) {\n            var stats = response.data;\n            \n            \/\/ Guardar datos para el generador\n            window.megamillionsStats = response.data;\n            \n            \/\/ Secci\u00f3n de estad\u00edsticas principales con dise\u00f1o mejorado\n            var html = '<div class=\"megamillions-stats-dashboard\">';\n            \n            \/\/ Estad\u00edsticas principales con iconos\n            if (stats.logueado) {\n                html += '<div class=\"megamillions-stats-grid\">';\n            \n                html += '<div class=\"stat-box stat-box-primary\">';\n                html += '<div class=\"stat-icon\"><i class=\"dashicons dashicons-tickets-alt\"><\/i><\/div>';\n                html += '<div class=\"stat-content\">';\n            \n                html += '<h4>Total drawings<\/h4>';\n                html += '<span class=\"stat-value\">' + stats.total_tickets + '<\/span>';\n                html += '<\/div>';\n                html += '<\/div>';\n            \n                html += '<div class=\"stat-box stat-box-success\">';\n                html += '<div class=\"stat-icon\"><i class=\"dashicons dashicons-yes-alt\"><\/i><\/div>';\n                html += '<div class=\"stat-content\">';\n            \n                html += '<h4>Total hits<\/h4>';\n                html += '<span class=\"stat-value\">' + stats.total_aciertos + '<\/span>';\n                html += '<\/div>';\n                html += '<\/div>';\n            \n                html += '<div class=\"stat-box stat-box-warning\">';\n                html += '<div class=\"stat-icon\"><i class=\"dashicons dashicons-awards\"><\/i><\/div>';\n                html += '<div class=\"stat-content\">';\n           \n                html += '<h4>Winning drawings<\/h4>';\n                html += '<span class=\"stat-value\">' + stats.tickets_ganadores + '<\/span>';\n                html += '<\/div>';\n                html += '<\/div>';\n            \n                html += '<\/div>'; \/\/ Cierre de megamillions-stats-grid\n            } else {\n                \/\/ INVITADO: invitacion a registrarse en vez de datos personales\n                html += '<div class=\"megamillions-registro-invitacion\" style=\"background:linear-gradient(160deg,#0b1e3c,#1a3a6b);border:1px solid rgba(96,165,250,.35);border-radius:16px;padding:28px 24px;text-align:center;margin-bottom:20px;\">';\n                html += '<div style=\"font-size:42px;margin-bottom:8px;\">&#128202;<\/div>';\n                html += '<h3 style=\"color:#fff;margin:0 0 8px;font-size:20px;\">Your stats are built by playing<\/h3>';\n                html += '<p style=\"color:#cbd5e1;margin:0 0 20px;font-size:15px;\">Sign up for free and save your numbers every time you play Mega Millions. We\\'ll notify you if you win, and you\\'ll always have your game history, your matches, your lucky numbers, and the stats of all your plays at hand.<\/p>';\n                html += '<a href=\"https:\/\/lottoalert.co\/en\/wp-login.php?action=register\" style=\"display:inline-block;background:#60A5FA;color:#fff;padding:14px 40px;border-radius:10px;text-decoration:none;font-weight:600;font-size:16px;\">Sign up for free &rarr;<\/a>';\n                html += '<\/div>';\n            }\n            \n            \/\/ Contenedor para las tres secciones de n\u00fameros\n            html += '<div class=\"megamillions-numeros-dashboard\">';\n            \n            \/\/ Secci\u00f3n de n\u00fameros con m\u00e1s aciertos - Estilo visual mejorado\n            if (stats.numeros_mas_acertados && Object.keys(stats.numeros_mas_acertados).length > 0) {\n                html += '<div class=\"numeros-seccion numeros-seccion-acertados\">';\n                html += '<div class=\"numeros-header\">';\n                html += '<h3>Your numbers with most hits<\/h3>';\n                html += '<div class=\"numeros-descripcion\">The numbers you have hit most in drawings<\/div>';\n                html += '<\/div>';\n                \n                html += '<div class=\"numeros-chart\" id=\"numeros-acertados-chart\">';\n                \n                \/\/ Encontrar el m\u00e1ximo para calcular porcentajes\n                var maxAciertos = 0;\n                for (var num in stats.numeros_mas_acertados) {\n                    if (stats.numeros_mas_acertados[num] > maxAciertos) {\n                        maxAciertos = stats.numeros_mas_acertados[num];\n                    }\n                }\n                \n                \/\/ Convertir a array para ordenar por frecuencia\n                var numerosAcertadosArray = [];\n                for (var num in stats.numeros_mas_acertados) {\n                    numerosAcertadosArray.push({\n                        numero: num,\n                        cantidad: stats.numeros_mas_acertados[num]\n                    });\n                }\n                \n                \/\/ Ordenar por cantidad (frecuencia) de mayor a menor\n                numerosAcertadosArray.sort(function(a, b) {\n                    return b.cantidad - a.cantidad;\n                });\n                \n                \/\/ Mostrar solo los primeros 5 elementos\n                for (var i = 0; i < Math.min(5, numerosAcertadosArray.length); i++) {\n                    var item = numerosAcertadosArray[i];\n                    var num = item.numero;\n                    var cantidad = item.cantidad;\n                    \n                    var porcentaje = (cantidad \/ maxAciertos) * 100;\n                    porcentaje = Math.max(20, porcentaje); \/\/ Al menos 20% para que sea visible\n                    \n                    html += '<div class=\"numero-chart-item\">';\n                    html += '<div class=\"numero-valor numero-acertado\">' + num + '<\/div>';\n                    html += '<div class=\"numero-barra-container\">';\n                    html += '<div class=\"numero-barra barra-acertado\" style=\"width: ' + porcentaje + '%\"><\/div>';\n                    html += '<\/div>';\n                    html += '<div class=\"numero-etiqueta\">' + cantidad + ' hits<\/div>';\n                    html += '<\/div>';\n                }\n                \n                html += '<\/div>'; \/\/ cierre de numeros-chart\n                \n                \/\/ Agregar el bot\u00f3n \"Ver m\u00e1s\" si hay m\u00e1s de 5 elementos\n                if (numerosAcertadosArray.length > 5) {\n                    html += '<div class=\"ver-mas-container\">';\n                    html += '<button class=\"ver-mas-btn\" data-target=\"numeros-acertados\" data-showing=\"5\" data-total=\"' + numerosAcertadosArray.length + '\">';\n                    html += 'View more <span class=\"dashicons dashicons-arrow-down-alt2\"><\/span>';\n                    html += '<\/button>';\n                    html += '<\/div>';\n                    \n                    \/\/ Guardar todos los datos para cargar m\u00e1s tarde\n                    window.numerosAcertadosCompletos = numerosAcertadosArray;\n                    window.maxAciertos = maxAciertos;\n                }\n                \n                html += '<\/div>'; \/\/ cierre de numeros-seccion\n            }\n            \n            \/\/ Secci\u00f3n de n\u00fameros m\u00e1s jugados por el usuario - Estilo visual mejorado\n            if (stats.numeros_mas_usados && Object.keys(stats.numeros_mas_usados).length > 0) {\n                html += '<div class=\"numeros-seccion\">';\n                html += '<div class=\"numeros-header\">';\n                html += '<h3>Your most played numbers<\/h3>';\n                html += '<div class=\"numeros-descripcion\">The numbers you usually choose most frequently<\/div>';\n                html += '<\/div>';\n                \n                html += '<div class=\"numeros-chart\" id=\"numeros-jugados-chart\">';\n                \n                \/\/ Convertir a array para ordenar por frecuencia\n                var numerosJugadosArray = [];\n                for (var num in stats.numeros_mas_usados) {\n                    numerosJugadosArray.push({\n                        numero: num,\n                        cantidad: stats.numeros_mas_usados[num]\n                    });\n                }\n                \n                \/\/ Ordenar por cantidad (frecuencia) de mayor a menor\n                numerosJugadosArray.sort(function(a, b) {\n                    return b.cantidad - a.cantidad;\n                });\n                \n                \/\/ Mostrar solo los primeros 5 elementos\n                for (var i = 0; i < Math.min(5, numerosJugadosArray.length); i++) {\n                    var item = numerosJugadosArray[i];\n                    var num = item.numero;\n                    var cantidad = item.cantidad;\n                    \n                    var porcentaje = Math.min(100, (cantidad \/ stats.total_tickets) * 100);\n                    porcentaje = Math.max(20, porcentaje); \/\/ Al menos 20% para que sea visible\n                    \n                    html += '<div class=\"numero-chart-item\">';\n                    html += '<div class=\"numero-valor numero-jugado\">' + num + '<\/div>';\n                    html += '<div class=\"numero-barra-container\">';\n                    html += '<div class=\"numero-barra\" style=\"width: ' + porcentaje + '%\"><\/div>';\n                    html += '<\/div>';\n                    html += '<div class=\"numero-etiqueta\">' + cantidad + ' times<\/div>';\n                    html += '<\/div>';\n                }\n                \n                html += '<\/div>'; \/\/ cierre de numeros-chart\n                \n                \/\/ Agregar el bot\u00f3n \"Ver m\u00e1s\" si hay m\u00e1s de 5 elementos\n                if (numerosJugadosArray.length > 5) {\n                    html += '<div class=\"ver-mas-container\">';\n                    html += '<button class=\"ver-mas-btn\" data-target=\"numeros-jugados\" data-showing=\"5\" data-total=\"' + numerosJugadosArray.length + '\">';\n                    html += 'View more <span class=\"dashicons dashicons-arrow-down-alt2\"><\/span>';\n                    html += '<\/button>';\n                    html += '<\/div>';\n                    \n                    \/\/ Guardar todos los datos para cargar m\u00e1s tarde\n                    window.numerosJugadosCompletos = numerosJugadosArray;\n                    window.totalTickets = stats.total_tickets;\n                }\n                \n                html += '<\/div>'; \/\/ cierre de numeros-seccion\n            }\n            \n            \/\/ Secci\u00f3n de n\u00fameros que m\u00e1s caen hist\u00f3ricamente - Estilo visual mejorado\n            if (stats.numeros_frecuentes_global && Object.keys(stats.numeros_frecuentes_global).length > 0) {\n                html += '<div class=\"numeros-seccion numeros-seccion-global\">';\n                html += '<div class=\"numeros-header\">';\n                html += '<h3>Numbers that fall most historically<\/h3>';\n                html += '<div class=\"numeros-descripcion\">The numbers with highest frequency in all drawings<\/div>';\n                html += '<\/div>';\n                \n                html += '<div class=\"numeros-chart\" id=\"numeros-globales-chart\">';\n                \n                \/\/ Encontrar el m\u00e1ximo para calcular porcentajes\n                var maxFreq = 0;\n                for (var num in stats.numeros_frecuentes_global) {\n                    if (stats.numeros_frecuentes_global[num] > maxFreq) {\n                        maxFreq = stats.numeros_frecuentes_global[num];\n                    }\n                }\n                \n                \/\/ Convertir a array para ordenar por frecuencia\n                var numerosGlobalesArray = [];\n                for (var num in stats.numeros_frecuentes_global) {\n                    numerosGlobalesArray.push({\n                        numero: num,\n                        cantidad: stats.numeros_frecuentes_global[num]\n                    });\n                }\n                \n                \/\/ Ordenar por cantidad (frecuencia) de mayor a menor\n                numerosGlobalesArray.sort(function(a, b) {\n                    return b.cantidad - a.cantidad;\n                });\n                \n                \/\/ Mostrar solo los primeros 5 elementos\n                for (var i = 0; i < Math.min(5, numerosGlobalesArray.length); i++) {\n                    var item = numerosGlobalesArray[i];\n                    var num = item.numero;\n                    var cantidad = item.cantidad;\n                    \n                    var porcentaje = (cantidad \/ maxFreq) * 100;\n                    porcentaje = Math.max(20, porcentaje); \/\/ Al menos 20% para que sea visible\n                    \n                    html += '<div class=\"numero-chart-item\">';\n                    html += '<div class=\"numero-valor numero-global\">' + num + '<\/div>';\n                    html += '<div class=\"numero-barra-container\">';\n                    html += '<div class=\"numero-barra barra-global\" style=\"width: ' + porcentaje + '%\"><\/div>';\n                    html += '<\/div>';\n                    html += '<div class=\"numero-etiqueta\">' + cantidad + ' times<\/div>';\n                    html += '<\/div>';\n                }\n                \n                html += '<\/div>'; \/\/ cierre de numeros-chart\n                \n                \/\/ Agregar el bot\u00f3n \"Ver m\u00e1s\" si hay m\u00e1s de 5 elementos\n                if (numerosGlobalesArray.length > 5) {\n                    html += '<div class=\"ver-mas-container\">';\n                    html += '<button class=\"ver-mas-btn\" data-target=\"numeros-globales\" data-showing=\"5\" data-total=\"' + numerosGlobalesArray.length + '\">';\n                    html += 'View more <span class=\"dashicons dashicons-arrow-down-alt2\"><\/span>';\n                    html += '<\/button>';\n                    html += '<\/div>';\n                    \n                    \/\/ Guardar todos los datos para cargar m\u00e1s tarde\n                    window.numerosGlobalesCompletos = numerosGlobalesArray;\n                    window.maxFreq = maxFreq;\n                }\n                \n                html += '<\/div>'; \/\/ cierre de numeros-seccion\n            }\n            \n            html += '<\/div>'; \/\/ cierre de megamillions-numeros-dashboard\n            html += '<\/div>'; \/\/ cierre de megamillions-stats-dashboard\n            \n            $('.megamillions-stats-container').html(html);\n            \n            \/\/ NUEVO: Cargar estad\u00edsticas de Mega Balls en el card separado\n            if (stats.megaballs_frecuentes_global && Object.keys(stats.megaballs_frecuentes_global).length > 0) {\n                var megaballHtml = '<div class=\"megaball-chart\" id=\"megaball-chart\">';\n                \n                \/\/ Encontrar el m\u00e1ximo para calcular porcentajes\n                var maxMegaFreq = 0;\n                for (var num in stats.megaballs_frecuentes_global) {\n                    if (stats.megaballs_frecuentes_global[num] > maxMegaFreq) {\n                        maxMegaFreq = stats.megaballs_frecuentes_global[num];\n                    }\n                }\n                \n                \/\/ Convertir a array para ordenar por frecuencia\n                var megaballsArray = [];\n                for (var num in stats.megaballs_frecuentes_global) {\n                    megaballsArray.push({\n                        numero: num,\n                        cantidad: stats.megaballs_frecuentes_global[num]\n                    });\n                }\n                \n                \/\/ Ordenar por cantidad (frecuencia) de mayor a menor\n                megaballsArray.sort(function(a, b) {\n                    return b.cantidad - a.cantidad;\n                });\n                \n                \/\/ Mostrar solo los primeros 8 elementos\n                for (var i = 0; i < Math.min(8, megaballsArray.length); i++) {\n                    var item = megaballsArray[i];\n                    var num = item.numero;\n                    var cantidad = item.cantidad;\n                    \n                    var porcentaje = (cantidad \/ maxMegaFreq) * 100;\n                    porcentaje = Math.max(20, porcentaje); \/\/ Al menos 20% para que sea visible\n                    \n                    megaballHtml += '<div class=\"numero-chart-item\">';\n                    megaballHtml += '<div class=\"numero-valor numero-megaball\">' + num + '<\/div>';\n                    megaballHtml += '<div class=\"numero-barra-container\">';\n                    megaballHtml += '<div class=\"numero-barra barra-megaball\" style=\"width: ' + porcentaje + '%\"><\/div>';\n                    megaballHtml += '<\/div>';\n                    megaballHtml += '<div class=\"numero-etiqueta\">' + cantidad + ' times<\/div>';\n                    megaballHtml += '<\/div>';\n                }\n                \n                megaballHtml += '<\/div>'; \/\/ Cerrar chart\n                \n                \/\/ Agregar el bot\u00f3n \"Ver m\u00e1s\" si hay m\u00e1s de 8 elementos\n                if (megaballsArray.length > 8) {\n                    megaballHtml += '<div class=\"ver-mas-container\">';\n                    megaballHtml += '<button class=\"ver-mas-btn\" data-target=\"megaball\" data-showing=\"8\" data-total=\"' + megaballsArray.length + '\">';\n                    megaballHtml += 'View more <span class=\"dashicons dashicons-arrow-down-alt2\"><\/span>';\n                    megaballHtml += '<\/button>';\n                    megaballHtml += '<\/div>';\n                    \n                    \/\/ Guardar todos los datos para cargar m\u00e1s tarde\n                    window.megaballsCompletas = megaballsArray;\n                    window.maxMegaFreq = maxMegaFreq;\n                }\n                \n                $('.megaball-stats-container').html(megaballHtml);\n                \n            } else {\n                \/\/ Si no hay datos de Mega Ball, mostrar mensaje\n                $('.megaball-stats-container').html(\n                    '<div class=\"no-data-message\">' +\n                    '<p>Not enough Mega Ball data available<\/p>' +\n                    '<\/div>'\n                );\n            }\n            \n            \/\/ Manejar el evento de clic en el bot\u00f3n \"Ver m\u00e1s\" (incluyendo Mega Ball)\n            $('.ver-mas-btn').on('click', function() {\n                var $button = $(this);\n                var target = $button.data('target');\n                var showing = parseInt($button.data('showing'));\n                var total = parseInt($button.data('total'));\n                \n                \/\/ Determinar cu\u00e1ntos m\u00e1s mostrar\n                var cantidadMostrar = Math.min(showing + 5, total);\n                if (target === 'megaball') {\n                    cantidadMostrar = Math.min(showing + 4, total); \/\/ Para Mega Ball mostrar de 4 en 4\n                }\n                \n                \/\/ Actualizar la cantidad mostrada\n                $button.data('showing', cantidadMostrar);\n                \n                \/\/ Obtener el contenedor adecuado\n                var $container = $('#' + target + '-chart');\n                \n                \/\/ Obtener los datos seg\u00fan el tipo\n                var datos, maxValue;\n                if (target === 'numeros-acertados') {\n                    datos = window.numerosAcertadosCompletos;\n                    maxValue = window.maxAciertos;\n                } else if (target === 'numeros-jugados') {\n                    datos = window.numerosJugadosCompletos;\n                    maxValue = window.totalTickets;\n                } else if (target === 'numeros-globales') {\n                    datos = window.numerosGlobalesCompletos;\n                    maxValue = window.maxFreq;\n                } else if (target === 'megaball') {\n                    datos = window.megaballsCompletas;\n                    maxValue = window.maxMegaFreq;\n                }\n                \n                \/\/ A\u00f1adir los siguientes elementos\n                var html = '';\n                for (var i = showing; i < cantidadMostrar; i++) {\n                    var item = datos[i];\n                    var num = item.numero;\n                    var cantidad = item.cantidad;\n                    var porcentaje;\n                    \n                    if (target === 'numeros-jugados') {\n                        porcentaje = Math.min(100, (cantidad \/ window.totalTickets) * 100);\n                    } else {\n                        porcentaje = (cantidad \/ maxValue) * 100;\n                    }\n                    \n                    porcentaje = Math.max(20, porcentaje); \/\/ Al menos 20% para que sea visible\n                    \n                    html += '<div class=\"numero-chart-item\" style=\"opacity: 0; display: flex;\">';\n                    \n                    if (target === 'numeros-acertados') {\n                        html += '<div class=\"numero-valor numero-acertado\">' + num + '<\/div>';\n                    } else if (target === 'numeros-globales') {\n                        html += '<div class=\"numero-valor numero-global\">' + num + '<\/div>';\n                    } else if (target === 'megaball') {\n                        html += '<div class=\"numero-valor numero-megaball\">' + num + '<\/div>';\n                    } else {\n                        html += '<div class=\"numero-valor numero-jugado\">' + num + '<\/div>';\n                    }\n                    \n                    html += '<div class=\"numero-barra-container\">';\n                    \n                    if (target === 'numeros-acertados') {\n                        html += '<div class=\"numero-barra barra-acertado\" style=\"width: ' + porcentaje + '%\"><\/div>';\n                    } else if (target === 'numeros-globales') {\n                        html += '<div class=\"numero-barra barra-global\" style=\"width: ' + porcentaje + '%\"><\/div>';\n                    } else if (target === 'megaball') {\n                        html += '<div class=\"numero-barra barra-megaball\" style=\"width: ' + porcentaje + '%\"><\/div>';\n                    } else {\n                        html += '<div class=\"numero-barra\" style=\"width: ' + porcentaje + '%\"><\/div>';\n                    }\n                    \n                    html += '<\/div>';\n                    html += '<div class=\"numero-etiqueta\">' + cantidad + ' times<\/div>';\n                    html += '<\/div>';\n                }\n                \n                \/\/ A\u00f1adir al contenedor\n                var $nuevosItems = $(html).appendTo($container);\n\n                \/\/ Mostrar con una animaci\u00f3n suave ya con display flex\n                $nuevosItems.css({\n                    'opacity': '0',\n                    'display': 'flex'\n                }).animate({\n                    'opacity': '1'\n                }, 300);\n                \n                \/\/ Actualizar texto del bot\u00f3n o esconderlo si ya mostramos todo\n                if (cantidadMostrar >= total) {\n                    $button.parent().slideUp(300);\n                } else {\n                    $button.html('View more <span class=\"dashicons dashicons-arrow-down-alt2\"><\/span>');\n                }\n            });\n        } else {\n            $('.megamillions-stats-container').html('<p class=\"error\">Error loading statistics<\/p>');\n        }\n    }).fail(function() {\n        $('.megamillions-stats-container').html('<p class=\"error\">Connection error<\/p>');\n    });\n});\n<\/script>[\/vc_column_text][\/vc_column][\/vc_row]\n[vc_row][vc_column][vc_column_text el_class=&#8221;lotto-generador-wrap&#8221;]    <div class=\"megamillions-generador-contenedor\">\n        <h3 class=\"megamillions-generador-titulo\">Mega Millions Number Generator &amp; Picker<\/h3>\n        \n        <p class=\"megamillions-generador-descripcion\">Create number combinations to play Mega Millions:<\/p>\n        \n        <div class=\"megamillions-generador-opciones\">\n            <select id=\"megamillions-estrategia-generador\" class=\"megamillions-generador-select\">\n                <option value=\"calientes\" >Prefer hot numbers<\/option>\n                <option value=\"intermedios\" >Preferir n\u00fameros intermedios<\/option>\n                <option value=\"mixto\"  selected='selected'>Balanced combination<\/option>\n                <option value=\"frios\" >Prefer cold numbers<\/option>\n                <option value=\"aleatorio\" >Completely random<\/option>\n            <\/select>\n            \n            <button id=\"megamillions-generar-numeros\" class=\"megamillions-generador-boton\">\n                Generate numbers            <\/button>\n        <\/div>\n        \n        <div id=\"megamillions-numeros-generados\" class=\"megamillions-numeros-generados\" style=\"display: none;\">\n            <div class=\"megamillions-numeros-generados-titulo\">Your combination:<\/div>\n            <div class=\"megamillions-numeros-generados-lista\">\n                <span class=\"megamillions-numero-generado\" id=\"megamillions-num-gen-1\">--<\/span>\n                <span class=\"megamillions-numero-generado\" id=\"megamillions-num-gen-2\">--<\/span>\n                <span class=\"megamillions-numero-generado\" id=\"megamillions-num-gen-3\">--<\/span>\n                <span class=\"megamillions-numero-generado\" id=\"megamillions-num-gen-4\">--<\/span>\n                <span class=\"megamillions-numero-generado\" id=\"megamillions-num-gen-5\">--<\/span>\n                <span class=\"megamillions-numero-generado megamillions-numero-generado-super\" id=\"megamillions-num-gen-super\">--<\/span>\n            <\/div>\n            <div class=\"megamillions-numeros-generados-acciones\">\n                <button id=\"megamillions-usar-numeros\" class=\"megamillions-generador-boton megamillions-generador-boton-secundario\">\n                    <i class=\"dashicons dashicons-yes-alt\"><\/i>\n                    Use these numbers                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n    \n    <style>\n    .megamillions-generador-contenedor {\n        max-width: 100%;\n        margin: 20px 0;\n        padding: 25px;\n        \n        border-radius: 8px;\n        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n    }\n    \n    .megamillions-generador-titulo {\n        color: #ffffff;\n        font-size: 20px;\n        margin-top: 0;\n        margin-bottom: 15px;\n    }\n    \n    .megamillions-generador-descripcion {\n        color: #ffffff;\n        padding-bottom:1em;\n    }\n    \n    .megamillions-generador-opciones {\n        display: flex;\n        flex-direction: column;\n        gap: 10px;\n        margin-bottom: 20px;\n    }\n    \n    .megamillions-generador-select {\n        padding: 10px;\n        border: 1px solid #ddd;\n        border-radius: 4px;\n        font-size: 14px;\n    }\n    \n    .megamillions-generador-boton {\n\t\tdisplay: flex;\n        align-items: center;\n        justify-content: center;\n        background-color: #60a5fa !important;\n        width: 100%;\n        color: white !important;\n        padding: 10px 15px;\n        border: none;\n        border-radius: 4px;\n        cursor: pointer;\n        font-weight: 600;\n        transition: background-color 0.3s ease;\n    }\n    \n    i.dashicons.dashicons-yes-alt {\n    margin-right: 3px;\n}\n    \n    .megamillions-numeros-generados {\n        background-color: #ffffff;\n        border-radius: 8px;\n        padding: 20px;\n        margin-top: 20px;\n        text-align: center;\n    }\n    \n    .megamillions-numeros-generados-titulo {\n        font-weight: 600;\n        margin-bottom: 15px;\n        color: #555;\n    }\n    \n    .megamillions-numeros-generados-lista {\n        display: flex;\n        justify-content: center;\n        gap: 8px;\n        margin-bottom: 20px;\n        flex-wrap: wrap;\n    }\n    \n    .megamillions-numero-generado {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        width: 40px;\n        height: 40px;\n        background-color: #004cab;\n        color: white;\n        border-radius: 50%;\n        font-weight: bold;\n        font-size: 18px;\n    }\n    \n    .megamillions-numero-generado-super {\n        background-color: #c2410c;\n    }\n    \n    .megamillions-numeros-generados-acciones {\n        margin-top: 15px;\n    }\n    \n    @media (min-width: 768px) {\n        .megamillions-generador-select {\n            flex: 2;\n        }\n        .megamillions-generador-boton {\n            flex: 1;\n        }\n    }\n    <\/style>\n    \n    <script>\n    jQuery(document).ready(function($) {\n        console.log('C\u00d3DIGO ACTUALIZADO - Mega Millions con estad\u00edsticas reales');\n        \n        \/\/ Funci\u00f3n para generar Mega Ball con estad\u00edsticas\n        function generarMegaBallConEstadisticas(estrategiaComp) {\n            if (!window.megamillionsStats.megaballs_frecuentes_global) {\n                console.log('\ud83c\udfb2 Sin datos de Mega Ball, usando aleatorio');\n                return Math.floor(Math.random() * 25) + 1;\n            }\n            \n            console.log('\ud83c\udfaf GENERANDO MEGA BALL CON ESTAD\u00cdSTICAS - Estrategia:', estrategiaComp);\n            \n            var megaballsConFrecuencia = [];\n            for (var num = 1; num <= 25; num++) {\n                var apariciones = window.megamillionsStats.megaballs_frecuentes_global[num] || 0;\n                megaballsConFrecuencia.push({\n                    numero: num,\n                    apariciones: apariciones\n                });\n            }\n            \n            var megaballSeleccionado;\n            \n            if (estrategiaComp === 'calientes') {\n                megaballsConFrecuencia.sort(function(a, b) { return b.apariciones - a.apariciones; });\n                var topCalientes = megaballsConFrecuencia.slice(0, 8); \/\/ Top 8 de 25\n                \n                console.log('\ud83d\udd25 Top 5 Mega Balls calientes:');\n                for (var i = 0; i < 5 && i < topCalientes.length; i++) {\n                    console.log('   ' + topCalientes[i].numero + ': ' + topCalientes[i].apariciones + ' veces');\n                }\n                \n                var indiceSeleccionado = Math.floor(Math.random() * Math.min(8, topCalientes.length));\n                megaballSeleccionado = topCalientes[indiceSeleccionado].numero;\n                console.log('\ud83c\udfaf MEGA BALL CALIENTE SELECCIONADO:', megaballSeleccionado, 'con', topCalientes[indiceSeleccionado].apariciones, 'apariciones');\n                \n            } else if (estrategiaComp === 'frios') {\n                megaballsConFrecuencia.sort(function(a, b) { return a.apariciones - b.apariciones; });\n                var topFrios = megaballsConFrecuencia.slice(0, 8);\n                \n                console.log('\u2744\ufe0f Top 5 Mega Balls fr\u00edos:');\n                for (var i = 0; i < 5 && i < topFrios.length; i++) {\n                    console.log('   ' + topFrios[i].numero + ': ' + topFrios[i].apariciones + ' veces');\n                }\n                \n                var indiceSeleccionado = Math.floor(Math.random() * Math.min(8, topFrios.length));\n                megaballSeleccionado = topFrios[indiceSeleccionado].numero;\n                console.log('\ud83c\udfaf MEGA BALL FR\u00cdO SELECCIONADO:', megaballSeleccionado, 'con', topFrios[indiceSeleccionado].apariciones, 'apariciones');\n                \n            } else {\n                \/\/ Mixto: 60% calientes, 40% fr\u00edos\n                megaballsConFrecuencia.sort(function(a, b) { return b.apariciones - a.apariciones; });\n                \n                var mitad = Math.ceil(megaballsConFrecuencia.length \/ 2);\n                var calientes = megaballsConFrecuencia.slice(0, mitad);\n                var frios = megaballsConFrecuencia.slice(mitad);\n                \n                if (Math.random() < 0.6) {\n                    var indice = Math.floor(Math.random() * calientes.length);\n                    megaballSeleccionado = calientes[indice].numero;\n                    console.log('\ud83c\udfaf MEGA BALL MIXTO (CALIENTE) SELECCIONADO:', megaballSeleccionado);\n                } else {\n                    var indice = Math.floor(Math.random() * frios.length);\n                    megaballSeleccionado = frios[indice].numero;\n                    console.log('\ud83c\udfaf MEGA BALL MIXTO (FR\u00cdO) SELECCIONADO:', megaballSeleccionado);\n                }\n            }\n            \n            return megaballSeleccionado;\n        }\n        \n       \/\/ Funci\u00f3n principal para generar n\u00fameros\nfunction generarNumeros(estrategia) {\n    console.log('=== DEBUG GENERADOR MEGA MILLIONS ===');\n    console.log('Estrategia:', estrategia);\n    \n    var numeros = [];\n    var megaball;\n    \n    \/\/ *** CASO ESPECIAL: COMPLETAMENTE ALEATORIO ***\n    if (estrategia === 'aleatorio') {\n        console.log('\ud83c\udfb2 MODO ALEATORIO PURO - Sin usar estad\u00edsticas');\n        \n        \/\/ Generar 5 n\u00fameros aleatorios \u00fanicos del 1 al 70\n        var numerosDisponibles = [];\n        for (var i = 1; i <= 70; i++) {\n            numerosDisponibles.push(i);\n        }\n        \n        for (var i = 0; i < 5; i++) {\n            var indice = Math.floor(Math.random() * numerosDisponibles.length);\n            numeros.push(numerosDisponibles[indice]);\n            numerosDisponibles.splice(indice, 1);\n        }\n        \n        numeros.sort(function(a, b) { return a - b; });\n        \n        \/\/ Mega Ball aleatorio (1-25)\n        megaball = Math.floor(Math.random() * 25) + 1;\n        \n        console.log('\u2705 N\u00fameros aleatorios generados:', numeros);\n        console.log('\u2705 Mega Ball aleatorio:', megaball);\n        \n        return {\n            numeros: numeros,\n            megaball: megaball,\n            error: false\n        };\n    }\n    \n    \/\/ *** TERCIOS: calientes \/ intermedios \/ frios con seleccion uniforme ***\n    if ((estrategia === 'calientes' || estrategia === 'intermedios' || estrategia === 'frios') &&\n        typeof window.megamillionsStats !== 'undefined' && window.megamillionsStats &&\n        window.megamillionsStats.tercios && window.megamillionsStats.tercios[estrategia] &&\n        window.megamillionsStats.tercios[estrategia].length >= 5) {\n\n        console.log('\ud83c\udfaf MODO TERCIOS:', estrategia, window.megamillionsStats.tercios[estrategia]);\n        var poolT = window.megamillionsStats.tercios[estrategia].slice();\n        for (var iT = 0; iT < 5; iT++) {\n            var idxT = Math.floor(Math.random() * poolT.length);\n            numeros.push(parseInt(poolT[idxT], 10));\n            poolT.splice(idxT, 1);\n        }\n        numeros.sort(function(a, b) { return a - b; });\n        var espT = (window.megamillionsStats.tercios && window.megamillionsStats.tercios.especial && window.megamillionsStats.tercios.especial[estrategia] && window.megamillionsStats.tercios.especial[estrategia].length)\n            ? window.megamillionsStats.tercios.especial[estrategia] : null;\n        megaball = espT ? parseInt(espT[Math.floor(Math.random() * espT.length)], 10) : (Math.floor(Math.random() * 25) + 1);\n        console.log('\ud83c\udfaf Balota especial (' + estrategia + '):', megaball, espT);\n\n        return { numeros: numeros, megaball: megaball, error: false };\n    }\n\n    \/\/ *** MODO MIXTO (tercios): 2 calientes + intermedios + frios, todo uniforme ***\n    if (estrategia === 'mixto' &&\n        typeof window.megamillionsStats !== 'undefined' && window.megamillionsStats && window.megamillionsStats.tercios &&\n        window.megamillionsStats.tercios.calientes && window.megamillionsStats.tercios.intermedios && window.megamillionsStats.tercios.frios) {\n\n        var tM = window.megamillionsStats.tercios;\n        var tomarM = function(pool, cuantos) {\n            var p = pool.slice(), sal = [];\n            for (var iM = 0; iM < cuantos && p.length > 0; iM++) {\n                var kM = Math.floor(Math.random() * p.length);\n                sal.push(parseInt(p[kM], 10));\n                p.splice(kM, 1);\n            }\n            return sal;\n        };\n        numeros = numeros.concat(tomarM(tM.calientes, 2));\n        numeros = numeros.concat(tomarM(tM.intermedios, 1));\n        numeros = numeros.concat(tomarM(tM.frios, 2));\n        numeros.sort(function(a, b) { return a - b; });\n        console.log('\ud83c\udfaf MODO MIXTO (tercios):', numeros);\n\n        \/\/ la balota especial se reparte en la misma proporcion que los numeros\n        var espM = null;\n        if (tM.especial) {\n            var rM = Math.random();\n            var grupoM = (rM < 0.4) ? tM.especial.calientes : ((rM < 0.6) ? tM.especial.intermedios : tM.especial.frios);\n            if (grupoM && grupoM.length) espM = parseInt(grupoM[Math.floor(Math.random() * grupoM.length)], 10);\n        }\n        megaball = espM ? espM : (Math.floor(Math.random() * 25) + 1);\n        console.log('\ud83c\udfaf Balota especial (mixto):', megaball);\n\n        return { numeros: numeros, megaball: megaball, error: false };\n    }\n\n    \/\/ *** RESTO DEL C\u00d3DIGO - Para estrategias con base de datos ***\n    console.log('window.megamillionsStats existe:', typeof window.megamillionsStats !== 'undefined');\n    console.log('window.megamillionsStats valor:', window.megamillionsStats);\n    \n    if (typeof window.megamillionsStats !== 'undefined' && window.megamillionsStats) {\n        console.log('numeros_frecuentes_global:', window.megamillionsStats.numeros_frecuentes_global);\n        console.log('megaballs_frecuentes_global:', window.megamillionsStats.megaballs_frecuentes_global);\n    }\n    console.log('=============================');\n    \n    \/\/ Funci\u00f3n para generar Mega Ball con estad\u00edsticas\n    function generarMegaBallConEstadisticas(estrategiaComp) {\n        if (!window.megamillionsStats.megaballs_frecuentes_global) {\n            console.log('\ud83c\udfb2 Sin datos de Mega Ball, usando aleatorio');\n            return Math.floor(Math.random() * 25) + 1;\n        }\n        \n        console.log('\ud83c\udfaf GENERANDO MEGA BALL CON ESTAD\u00cdSTICAS - Estrategia:', estrategiaComp);\n        \n        var megaballsConFrecuencia = [];\n        for (var num = 1; num <= 25; num++) {\n            var apariciones = window.megamillionsStats.megaballs_frecuentes_global[num] || 0;\n            megaballsConFrecuencia.push({\n                numero: num,\n                apariciones: apariciones\n            });\n        }\n        \n        var megaballSeleccionado;\n        \n        if (estrategiaComp === 'calientes') {\n            megaballsConFrecuencia.sort(function(a, b) { return b.apariciones - a.apariciones; });\n            var topCalientes = megaballsConFrecuencia.slice(0, 8); \/\/ Top 8 de 25\n            \n            console.log('\ud83d\udd25 Top 5 Mega Balls calientes:');\n            for (var i = 0; i < 5 && i < topCalientes.length; i++) {\n                console.log('   ' + topCalientes[i].numero + ': ' + topCalientes[i].apariciones + ' veces');\n            }\n            \n            var indiceSeleccionado = Math.floor(Math.random() * Math.min(8, topCalientes.length));\n            megaballSeleccionado = topCalientes[indiceSeleccionado].numero;\n            console.log('\ud83c\udfaf MEGA BALL CALIENTE SELECCIONADO:', megaballSeleccionado, 'con', topCalientes[indiceSeleccionado].apariciones, 'apariciones');\n            \n        } else if (estrategiaComp === 'frios') {\n            megaballsConFrecuencia.sort(function(a, b) { return a.apariciones - b.apariciones; });\n            var topFrios = megaballsConFrecuencia.slice(0, 8);\n            \n            console.log('\u2744\ufe0f Top 5 Mega Balls fr\u00edos:');\n            for (var i = 0; i < 5 && i < topFrios.length; i++) {\n                console.log('   ' + topFrios[i].numero + ': ' + topFrios[i].apariciones + ' veces');\n            }\n            \n            var indiceSeleccionado = Math.floor(Math.random() * Math.min(8, topFrios.length));\n            megaballSeleccionado = topFrios[indiceSeleccionado].numero;\n            console.log('\ud83c\udfaf MEGA BALL FR\u00cdO SELECCIONADO:', megaballSeleccionado, 'con', topFrios[indiceSeleccionado].apariciones, 'apariciones');\n            \n        } else {\n            \/\/ Mixto: 60% calientes, 40% fr\u00edos\n            megaballsConFrecuencia.sort(function(a, b) { return b.apariciones - a.apariciones; });\n            \n            var mitad = Math.ceil(megaballsConFrecuencia.length \/ 2);\n            var calientes = megaballsConFrecuencia.slice(0, mitad);\n            var frios = megaballsConFrecuencia.slice(mitad);\n            \n            if (Math.random() < 0.6) {\n                var indice = Math.floor(Math.random() * calientes.length);\n                megaballSeleccionado = calientes[indice].numero;\n                console.log('\ud83c\udfaf MEGA BALL MIXTO (CALIENTE) SELECCIONADO:', megaballSeleccionado);\n            } else {\n                var indice = Math.floor(Math.random() * frios.length);\n                megaballSeleccionado = frios[indice].numero;\n                console.log('\ud83c\udfaf MEGA BALL MIXTO (FR\u00cdO) SELECCIONADO:', megaballSeleccionado);\n            }\n        }\n        \n        return megaballSeleccionado;\n    }\n    \n    \/\/ SOLO funciona si hay datos de la base de datos (para estrategias NO aleatorias)\n    if (typeof window.megamillionsStats === 'undefined' || \n        !window.megamillionsStats || \n        !window.megamillionsStats.numeros_frecuentes_global) {\n        \n        console.log('\u274c SIN DATOS DE BASE DE DATOS - NO SE GENERAN N\u00daMEROS');\n        return {\n            error: true,\n            mensaje: 'No se encontraron estad\u00edsticas de la base de datos. El generador requiere datos hist\u00f3ricos para funcionar correctamente.'\n        };\n    }\n    \n    console.log('\u2705 USANDO DATOS DE LA BASE DE DATOS');\n    \n    var megaballGenerado = generarMegaBallConEstadisticas(estrategia);\n    \n    if (!megaballGenerado || megaballGenerado < 1 || megaballGenerado > 25) {\n        megaballGenerado = Math.floor(Math.random() * 25) + 1;\n        console.log('\ud83d\udee1\ufe0f Mega Ball de emergencia:', megaballGenerado);\n    }\n    \n    console.log('\u2705 MEGA BALL DEFINITIVO FINAL:', megaballGenerado);\n    \n    \/\/ Procesar n\u00fameros principales (1-70)\n    var numerosConFrecuencia = [];\n    for (var num = 1; num <= 70; num++) {\n        var apariciones = window.megamillionsStats.numeros_frecuentes_global[num] || 0;\n        numerosConFrecuencia.push({\n            numero: num,\n            apariciones: apariciones\n        });\n    }\n    \n    if (estrategia === 'calientes') {\n        numerosConFrecuencia.sort(function(a, b) { return b.apariciones - a.apariciones; });\n        var topCalientes = numerosConFrecuencia.slice(0, 15);\n        var candidatos = [];\n        var totalPeso = 0;\n        \n        for (var i = 0; i < topCalientes.length; i++) {\n            candidatos.push(topCalientes[i].numero);\n            totalPeso += Math.pow(topCalientes[i].apariciones, 3);\n        }\n        \n        for (var i = 0; i < 5; i++) {\n            if (candidatos.length === 0) break;\n            var r = Math.random() * totalPeso;\n            var acumulado = 0;\n            var seleccionado = candidatos[0];\n            \n            for (var j = 0; j < candidatos.length; j++) {\n                var apariciones = numerosConFrecuencia.find(item => item.numero === candidatos[j]).apariciones;\n                acumulado += Math.pow(apariciones, 3);\n                if (r <= acumulado) {\n                    seleccionado = candidatos[j];\n                    totalPeso -= Math.pow(apariciones, 3);\n                    candidatos = candidatos.filter(n => n !== seleccionado);\n                    break;\n                }\n            }\n            numeros.push(seleccionado);\n        }\n    } else if (estrategia === 'frios') {\n        numerosConFrecuencia.sort(function(a, b) { return a.apariciones - b.apariciones; });\n        var topFrios = numerosConFrecuencia.slice(0, 15);\n        var candidatos = topFrios.map(item => item.numero);\n        \n        for (var i = 0; i < 5; i++) {\n            if (candidatos.length === 0) break;\n            var indice = Math.floor(Math.random() * candidatos.length);\n            numeros.push(candidatos[indice]);\n            candidatos.splice(indice, 1);\n        }\n    } else {\n        \/\/ Mixto\n        numerosConFrecuencia.sort(function(a, b) { return b.apariciones - a.apariciones; });\n        var tercio = Math.ceil(numerosConFrecuencia.length \/ 3);\n        var calientes = numerosConFrecuencia.slice(0, tercio);\n        var neutros = numerosConFrecuencia.slice(tercio, 2 * tercio);\n        var frios = numerosConFrecuencia.slice(2 * tercio);\n        \n        var candidatosCalientes = calientes.map(item => item.numero);\n        var candidatosNeutros = neutros.map(item => item.numero);\n        var candidatosFrios = frios.map(item => item.numero);\n\n        \/\/ 2 calientes\n        for (var i = 0; i < 2 && candidatosCalientes.length > 0; i++) {\n            var indice = Math.floor(Math.random() * candidatosCalientes.length);\n            numeros.push(candidatosCalientes[indice]);\n            candidatosCalientes.splice(indice, 1);\n        }\n        \n        \/\/ 1 neutro\n        if (candidatosNeutros.length > 0) {\n            var indice = Math.floor(Math.random() * candidatosNeutros.length);\n            numeros.push(candidatosNeutros[indice]);\n            candidatosNeutros.splice(indice, 1);\n        }\n        \n        \/\/ 2 fr\u00edos\n        for (var i = 0; i < 2 && candidatosFrios.length > 0; i++) {\n            var indice = Math.floor(Math.random() * candidatosFrios.length);\n            numeros.push(candidatosFrios[indice]);\n            candidatosFrios.splice(indice, 1);\n        }\n        \n        var todos = [...candidatosCalientes, ...candidatosNeutros, ...candidatosFrios];\n        while (numeros.length < 5 && todos.length > 0) {\n            var indice = Math.floor(Math.random() * todos.length);\n            numeros.push(todos[indice]);\n            todos.splice(indice, 1);\n        }\n    }\n    \n    numeros.sort(function(a, b) { return a - b; });\n    \n    console.log('\ud83d\udce4 VALORES FINALES ANTES DE RETORNAR:');\n    console.log('   N\u00fameros:', numeros);\n    console.log('   Mega Ball:', megaballGenerado);\n    \n    return {\n        numeros: numeros,\n        megaball: megaballGenerado,\n        error: false\n    };\n}\n        \n        \/\/ Evento del bot\u00f3n generar\n        $('#megamillions-generar-numeros').on('click', function() {\n            var estrategia = $('#megamillions-estrategia-generador').val();\n            var resultado = generarNumeros(estrategia);\n            \n            if (resultado.error) {\n                alert('\u274c ERROR: ' + resultado.mensaje);\n                console.log('No se generaron n\u00fameros por falta de datos');\n                return;\n            }\n            \n            if (resultado.numeros && resultado.numeros.length === 5) {\n                console.log('\ud83d\udccb ASIGNANDO N\u00daMEROS A LA PANTALLA:');\n                console.log('   N\u00fameros principales:', resultado.numeros);\n                console.log('   Mega Ball a mostrar:', resultado.megaball);\n                \n                for (var i = 0; i < resultado.numeros.length; i++) {\n                    $('#megamillions-num-gen-' + (i+1)).text(resultado.numeros[i]);\n                }\n                \n                $('#megamillions-num-gen-super').text(resultado.megaball);\n                console.log('\u2705 Mega Ball asignado al elemento HTML:', resultado.megaball);\n                \n                $('#megamillions-numeros-generados').slideDown();\n            } else {\n                alert('\u274c ERROR: No se generaron n\u00fameros v\u00e1lidos');\n            }\n        });\n        \n        \/\/ Bot\u00f3n usar n\u00fameros\n        \/\/ ===== LottoAlert: registro directo desde el generador =====\n        \/\/ Detecci\u00f3n de login robusta: el PHP puede fallar en p\u00e1ginas WPML \/en\/,\n        \/\/ as\u00ed que confirmamos con el body class 'logged-in' que WordPress a\u00f1ade en el navegador.\n        \/\/ Detecci\u00f3n de login: el PHP puede fallar en p\u00e1ginas WPML \/en\/ cacheadas.\n        \/\/ Fuente de verdad: body class + confirmaci\u00f3n por AJAX (usa la sesi\u00f3n real del navegador).\n        var lgLogueado = false || document.body.classList.contains('logged-in');\n        \/\/ Consultar el email real por AJAX (infalible ante cach\u00e9\/WPML)\n        $.post(lgAjaxUrl, { action:'megamillions_obtener_estadisticas', nonce:lgNonce }, function(r){\n            if (r && r.success && r.data) {\n                if (r.data.logueado) { lgLogueado = true; }\n                if (r.data.email_usuario) { lgEmail = r.data.email_usuario; }\n            }\n        });\n        var lgAjaxUrl = 'https:\/\/lottoalert.co\/wp-admin\/admin-ajax.php';\n        var lgNonce = 'b1dc7a0ee3';\n        var lgEmail = '';\n        var lgUrlRegistro = 'https:\/\/lottoalert.co\/registrar-numeros-megamillions\/';\n        var lgUrlHistorial = 'https:\/\/lottoalert.co\/tu-historial-de-megamillions\/';\n        var lgUrlCrearCuenta = 'https:\/\/lottoalert.co\/en\/wp-login.php?action=register';\n\n        \/\/ L\u00f3gica de pr\u00f3ximo sorteo (misma que el formulario: lun\/mi\u00e9\/s\u00e1b)\n        function lgEsDiaSorteo(f){ var d=f.getDay(); return d===2||d===5; }\n        function lgProximoSorteo(base){\n            var f = new Date(base); var hoy=new Date(); var ih=new Date(hoy); ih.setHours(0,0,0,0);\n            if(f<ih) f=new Date(ih);\n            var esHoy = f.getFullYear()===hoy.getFullYear()&&f.getMonth()===hoy.getMonth()&&f.getDate()===hoy.getDate();\n            if(esHoy && lgEsDiaSorteo(f)) return f;\n            while(!lgEsDiaSorteo(f)){ f.setDate(f.getDate()+1); }\n            return f;\n        }\n        function lgFmt(f){ return f.getFullYear()+'-'+String(f.getMonth()+1).padStart(2,'0')+'-'+String(f.getDate()).padStart(2,'0'); }\n\n        \/\/ Modal reutilizable\n        function lgModal(html){\n            $('#lg-modal-overlay').remove();\n            var ov = $('<div id=\"lg-modal-overlay\" style=\"position:fixed;inset:0;background:rgba(6,18,40,.72);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;\"><\/div>');\n            var box = $('<div style=\"background:#fff;border-radius:18px;max-width:440px;width:100%;padding:32px 28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.35);\"><\/div>').html(html);\n            ov.append(box); $('body').append(ov);\n            ov.on('click', function(e){ if(e.target===ov[0]) ov.remove(); });\n        }\n        function lgBolas(nums, sb){\n            var h='<div style=\"display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:16px 0;\">';\n            nums.forEach(function(n){ h+='<span style=\"width:40px;height:40px;border-radius:50%;background:#1e3a8a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;\">'+n+'<\/span>'; });\n            h+='<span style=\"width:40px;height:40px;border-radius:50%;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;\">'+sb+'<\/span>';\n            return h+'<\/div>';\n        }\n\n        $('#megamillions-usar-numeros').on('click', function() {\n            var numeros = [];\n            for (var i = 1; i <= 5; i++) numeros.push($('#megamillions-num-gen-' + i).text());\n            var megaball = $('#megamillions-num-gen-super').text();\n\n            if (!lgLogueado) {\n                \/\/ INVITADO: si el formulario est\u00e1 en ESTA misma p\u00e1gina, llenarlo sin recargar.\n                var $form = $('#megamillions-registro-usuario-form');\n                if ($form.length) {\n                    \/\/ llenar los 5 n\u00fameros + megaball\n                    for (var k = 1; k <= 5; k++) {\n                        $form.find('input[name=\"numero'+k+'\"]').val(numeros[k-1]);\n                    }\n                    $form.find('input[name=\"megaball\"]').val(megaball);\n                    \/\/ resaltar los n\u00fameros llenados\n                    $form.find('.number-inputs input, #megamillions-megaball').css({\n                        'background-color':'#f0f8ff','border-color':'#4a90e2',\n                        'box-shadow':'0 0 0 3px rgba(74,144,226,.2)'\n                    });\n                    \/\/ scroll al formulario\n                    $('html,body').animate({ scrollTop: $form.offset().top - 100 }, 500);\n                    \/\/ dirigir la atenci\u00f3n al correo si est\u00e1 vac\u00edo\n                    var $em = $('#megamillions-email');\n                    if ($em.length && !$em.val()) {\n                        setTimeout(function(){\n                            $em.css({'border-color':'#f59e0b','box-shadow':'0 0 0 3px rgba(245,158,11,.25)'}).focus();\n                            if (!$('#lg-aviso-correo').length) {\n                                $em.closest('.form-group').before('<div id=\"lg-aviso-verde\" style=\"margin:0 0 16px;background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #ea580c;border-radius:8px;padding:12px 14px;\"><p style=\"color:#9a3412;font-size:13px;font-weight:500;margin:0;line-height:1.55;\">Revisa tu combinaci\u00f3n y haz clic en \"Save Numbers\" para guardarla. <strong>We\\'ll email you if you win.<\/strong> <strong>IMPORTANT:<\/strong> This system only verifies results. To officially play these numbers, you must purchase them at an authorized Mega Millions retailer or at <a href=\"https:\/\/www.megamillions.com\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:#9a3412;font-weight:600;\">www.megamillions.com<\/a>.<\/p><\/div>');\n                                $em_field = $('#megamillions-email');\n                                $em_field.closest('.form-group').find('label').after('<div id=\"lg-aviso-correo\" style=\"background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:10px 14px;margin:6px 0 10px;display:flex;align-items:center;gap:8px;\"><span style=\"font-size:18px;\">\ud83d\udc47<\/span><span style=\"color:#92400e;font-weight:700;font-size:14px;\">Enter your email so we can notify you if you win<\/span><\/div>');\n                            }\n                        }, 550);\n                    }\n                } else {\n                    \/\/ el formulario NO est\u00e1 en esta p\u00e1gina (ej: estad\u00edsticas) \u2192 redirigir\n                    var url = lgUrlRegistro + (lgUrlRegistro.indexOf('?')>-1?'&':'?') + 'numeros=' + numeros.join(',') + '&megaball=' + megaball;\n                    window.location.href = url;\n                }\n                return;\n            }\n\n            \/\/ Si detectamos login por body-class pero no tenemos el email (PHP no lo pas\u00f3),\n            \/\/ usamos el flujo del formulario para no registrar sin correo.\n            if (!lgEmail) {\n                var $form2 = $('#megamillions-registro-usuario-form');\n                if ($form2.length) {\n                    for (var q = 1; q <= 5; q++) $form2.find('input[name=\"numero'+q+'\"]').val(numeros[q-1]);\n                    $form2.find('input[name=\"megaball\"]').val(megaball);\n                    $('html,body').animate({ scrollTop: $form2.offset().top - 100 }, 500);\n                    return;\n                }\n            }\n            \/\/ LOGUEADO: modal con confirmaci\u00f3n de fecha (registro directo)\n            var prox = lgProximoSorteo(new Date());\n            lgModal(\n                '<h3 style=\"margin:0 0 4px;color:#0b2a5b;font-size:20px;\">Register your numbers<\/h3>' +\n                lgBolas(numeros, megaball) +\n                '<label style=\"display:block;text-align:left;font-weight:600;color:#334155;margin:14px 0 6px;\">For which draw?<\/label>' +\n                '<input type=\"date\" id=\"lg-fecha\" value=\"'+lgFmt(prox)+'\" style=\"width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px;\">' +\n                '<p style=\"text-align:left;color:#64748b;font-size:12px;margin:6px 0 20px;\">You can change it if you play on another day (Tue\/Fri).<\/p>' +\n                '<button id=\"lg-confirmar\" style=\"width:100%;background:#2563eb;color:#fff;border:none;padding:14px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;\">' + 'Register' + '<\/button>' +\n                '<button id=\"lg-cancelar\" style=\"width:100%;background:none;border:none;color:#64748b;padding:10px;margin-top:6px;cursor:pointer;\">' + 'Cancel' + '<\/button>'\n            );\n\n            \/\/ Ajustar fecha si no es d\u00eda de sorteo\n            $('#lg-fecha').on('change', function(){\n                var f = new Date($(this).val()+'T12:00:00'); var hoy=new Date(); hoy.setHours(0,0,0,0);\n                if(f<hoy || !lgEsDiaSorteo(f)){ $(this).val(lgFmt(lgProximoSorteo(f))); }\n            });\n            $('#lg-cancelar').on('click', function(){ $('#lg-modal-overlay').remove(); });\n            $('#lg-confirmar').on('click', function(){\n                var $b=$(this); $b.prop('disabled',true).text('Registering...');\n                $.post(lgAjaxUrl, {\n                    action:'megamillions_registrar_numeros', nonce:lgNonce,\n                    email:lgEmail, numeros:numeros.join(','), megaball:megaball,\n                    fecha_sorteo:$('#lg-fecha').val()\n                }, function(resp){\n                    if(resp && resp.success){\n                        lgModal(\n                            '<div style=\"font-size:44px;\">\ud83c\udf89<\/div>' +\n                            '<h3 style=\"margin:6px 0 4px;color:#0b2a5b;font-size:20px;\">Numbers registered!<\/h3>' +\n                            lgBolas(numeros, megaball) +\n                            '<p style=\"color:#475569;margin:8px 0 20px;\">We\\'ll email you if you win.<\/p>' +\n                            '<a href=\"'+lgUrlHistorial+'\" style=\"display:block;background:#2563eb;color:#fff;padding:13px;border-radius:10px;text-decoration:none;font-weight:600;margin-bottom:8px;\">' + 'View my history' + '<\/a>' +\n                            '<button onclick=\"document.getElementById(\\'lg-modal-overlay\\').remove()\" style=\"width:100%;background:none;border:none;color:#64748b;padding:8px;cursor:pointer;\">' + 'Register other numbers' + '<\/button>'\n                        );\n                    } else {\n                        var msg = (resp && resp.data && resp.data.message) ? resp.data.message : 'Registration error';\n                        $b.prop('disabled',false).text('Register');\n                        alert(msg);\n                    }\n                }).fail(function(){ $b.prop('disabled',false).text('Register'); alert('Connection error'); });\n            });\n        });\n    });\n    <\/script>\n    [\/vc_column_text][\/vc_column][\/vc_row]\n[vc_row][vc_column][vc_column_text el_class=&#8221;lotto-seo-text&#8221;]\n<div class=\"lseo-grid\">\n<div class=\"lseo-card\">\n<h2><span class=\"lseo-icon\">\ud83c\udfb1<\/span>What are the most common Mega Millions numbers?<\/h2>\n<p>On this page you&#8217;ll find the numbers that have been drawn most often in Mega Millions history, along with the most frequent Mega Balls. The data is calculated from real results of hundreds of draws and updates automatically after every draw (Tuesday and Friday).<\/p>\n<\/div>\n<div class=\"lseo-card\">\n<h2><span class=\"lseo-icon\">\ud83d\udcca<\/span>How to read these statistics<\/h2>\n<p>The bars show how many times each number has been drawn across all recorded draws. Keep in mind that every Mega Millions draw is independent and random; these statistics show the game&#8217;s historical behavior as a reference.<\/p>\n<\/div>\n<div class=\"lseo-card\">\n<h2><span class=\"lseo-icon\">\ud83d\udd14<\/span>Keep track of your plays<\/h2>\n<p>If you play Mega Millions, you can <a href=\"https:\/\/pruebas.lottoalert.co\/en\/register-mega-millions-numbers\/\">register your numbers<\/a> for the next draw and we&#8217;ll automatically notify you by email if you win. You can also <a href=\"https:\/\/pruebas.lottoalert.co\/en\/mega-millions-previous-results\/\">check previous draw results<\/a> or explore the statistics for <a href=\"https:\/\/pruebas.lottoalert.co\/en\/baloto-stats\/\">Baloto<\/a>, <a href=\"https:\/\/pruebas.lottoalert.co\/en\/powerball-stats\/\">Powerball<\/a> and <a href=\"https:\/\/pruebas.lottoalert.co\/en\/melate-stats\/\">Melate<\/a>.<\/p>\n<\/div>\n<\/div>\n[\/vc_column_text][\/vc_column][\/vc_row]\n","protected":false},"excerpt":{"rendered":"<p>[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; top_margin=&#8221;30px&#8221; constrain_group_8=&#8221;yes&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;15px&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221; gradient_type=&#8221;default&#8221; shape_type=&#8221;&#8221;][vc_column column_padding=&#8221;padding-2-percent&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;left&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221;&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1354","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/lottoalert.co\/en\/wp-json\/wp\/v2\/pages\/1354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lottoalert.co\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lottoalert.co\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lottoalert.co\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lottoalert.co\/en\/wp-json\/wp\/v2\/comments?post=1354"}],"version-history":[{"count":7,"href":"https:\/\/lottoalert.co\/en\/wp-json\/wp\/v2\/pages\/1354\/revisions"}],"predecessor-version":[{"id":2663,"href":"https:\/\/lottoalert.co\/en\/wp-json\/wp\/v2\/pages\/1354\/revisions\/2663"}],"wp:attachment":[{"href":"https:\/\/lottoalert.co\/en\/wp-json\/wp\/v2\/media?parent=1354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}