{"id":2446,"date":"2025-06-20T00:36:38","date_gmt":"2025-06-19T17:36:38","guid":{"rendered":"https:\/\/bia88.fun\/?page_id=2446"},"modified":"2025-06-21T00:27:02","modified_gmt":"2025-06-20T17:27:02","slug":"san-trung-gian-billiards","status":"publish","type":"page","link":"https:\/\/keobia.com\/","title":{"rendered":"S\u00e0n b\u1eaft c\u00e8o BILLIARDS"},"content":{"rendered":"    <div id=\"background-slideshow\"><\/div>\r\n   \r\n  <style>\r\n    \/* --- CSS CHO GIAO DI\u1ec6N LOADING N\u00c2NG C\u1ea4P --- *\/\r\n    #loading-overlay {\r\n        position: fixed; top: 0; left: 0; width: 100%; height: 100%;\r\n        background-color: rgba(20, 20, 20, 0.85);\r\n        z-index: 9999; display: none; justify-content: center; align-items: center;\r\n        backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);\r\n        opacity: 0; transition: opacity 0.4s ease;\r\n    }\r\n    #loading-overlay.show { display: flex; opacity: 1; }\r\n    .loading-content { text-align: center; display: flex; flex-direction: column; align-items: center; }\r\n    .loading-logo {\r\n        font-size: 4rem; font-weight: bold;\r\n        background: linear-gradient(to right, #ff8a00, #e52e71, #00c4ff);\r\n        background-size: 200% auto;\r\n        -webkit-background-clip: text; -webkit-text-fill-color: transparent;\r\n        animation: gradient-animation 3s linear infinite; margin-bottom: 30px;\r\n    }\r\n    .billiard-ball-container {\r\n        position: relative; width: 80px; height: 120px;\r\n        display: flex; flex-direction: column; align-items: center;\r\n    }\r\n    .billiard-ball {\r\n        width: 80px; height: 80px;\r\n        background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.6), rgba(255,255,255,0) 40%), #1a1a1a;\r\n        border-radius: 50%; position: relative; display: flex;\r\n        justify-content: center; align-items: center;\r\n        box-shadow: inset -5px -8px 15px rgba(0,0,0,0.6), 0 5px 10px rgba(0,0,0,0.4);\r\n        animation: bounce 1.2s cubic-bezier(0.5, 0.05, 1, 0.5) infinite;\r\n    }\r\n    .ball-number-container {\r\n        width: 40px; height: 40px; background-color: #fff; border-radius: 50%;\r\n        display: flex; justify-content: center; align-items: center;\r\n    }\r\n    .ball-number { font-size: 24px; font-weight: bold; color: #1a1a1a; }\r\n    .ball-shadow {\r\n        width: 60px; height: 10px; background-color: rgba(0,0,0,0.3);\r\n        border-radius: 50%; position: absolute; bottom: 20px;\r\n        animation: shadow-scale 1.2s cubic-bezier(0.5, 0.05, 1, 0.5) infinite;\r\n    }\r\n    .loading-text {\r\n        margin-top: 25px; font-size: 1.2em; font-weight: 500;\r\n        color: #f0f0f0; letter-spacing: 0.5px;\r\n    }\r\n    @keyframes bounce { 0%, 100% { transform: translateY(20px); } 50% { transform: translateY(-40px); } }\r\n    @keyframes shadow-scale { 0%, 100% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(0.6); opacity: 0.4; } }\r\n    \r\n    \/* --- C\u00e0i \u0111\u1eb7t Slideshow \u1ea3nh n\u1ec1n --- *\/\r\n    #background-slideshow {\r\n        position: fixed; top: 0; left: 0; width: 100%; height: 100%;\r\n        z-index: 0;\r\n    }\r\n    .slide {\r\n        position: absolute; top: 0; left: 0; width: 100%; height: 100%;\r\n        background-size: cover; background-position: center center; background-repeat: no-repeat;\r\n        opacity: 0; transition: opacity 1.5s ease-in-out;\r\n    }\r\n    .slide.active { opacity: 1; }\r\n\r\n    \/* --- C\u00c0I \u0110\u1eb6T CHUNG & N\u1ec0N --- *\/\r\n    * { margin: 0; padding: 0; box-sizing: border-box; }\r\n    body {\r\n        font-family: 'Poppins', sans-serif; height: 100vh; display: flex;\r\n        justify-content: center; align-items: center;\r\n        background-color: #2c3e50;\r\n        color: #333; overflow: hidden; position: relative; padding: 15px;\r\n    }\r\n    body::before {\r\n        content: \"\"; position: absolute; top: 0; left: 0; width: 100%; height: 100%;\r\n        z-index: 1; \r\n    }\r\n    body > * { \r\n        position: relative; \r\n        z-index: 2; \r\n    }\r\n    body::after {\r\n        content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%;\r\n        background: linear-gradient(to top, rgba(255, 255, 255, 0.9) 10%, rgba(255, 255, 255, 0) 100%);\r\n        z-index: 1;\r\n        animation: revealUp 1.8s ease-out forwards; animation-delay: 0.2s;\r\n    }\r\n    @keyframes revealUp { from { transform: translateY(0); } to { transform: translateY(100%); } }\r\n    .background-animation {\r\n        position: fixed; top: 0; left: 0; width: 100%; height: 100%; \r\n        z-index: 1;\r\n    }\r\n    .ball {\r\n        position: absolute; display: block; list-style: none; width: 20px; height: 20px;\r\n        background: radial-gradient(circle at 50% 40%, rgba(255,255,255,0.8), rgba(255,255,255,0) 60%), #ffc107;\r\n        border-radius: 50%; animation: floatUp 25s linear infinite; bottom: -150px;\r\n    }\r\n    .ball:nth-child(1) { left: 25%; width: 80px; height: 80px; animation-delay: 0s; background-color: #dc3545; }\r\n    .ball:nth-child(2) { left: 10%; width: 20px; height: 20px; animation-delay: 2s; animation-duration: 12s; }\r\n    .ball:nth-child(3) { left: 70%; width: 20px; height: 20px; animation-delay: 4s; }\r\n    .ball:nth-child(4) { left: 40%; width: 60px; height: 60px; animation-delay: 0s; animation-duration: 18s; background-color: #28a745; }\r\n    .ball:nth-child(5) { left: 65%; width: 20px; height: 20px; animation-delay: 0s; }\r\n    .ball:nth-child(6) { left: 75%; width: 110px; height: 110px; animation-delay: 3s; background-color: #17a2b8; }\r\n    .ball:nth-child(7) { left: 35%; width: 150px; height: 150px; animation-delay: 7s; background-color: #fd7e14; }\r\n    .ball:nth-child(8) { left: 50%; width: 25px; height: 25px; animation-delay: 15s; animation-duration: 45s; }\r\n    .ball:nth-child(9) { left: 20%; width: 15px; height: 15px; animation-delay: 2s; animation-duration: 35s; }\r\n    .ball:nth-child(10) { left: 85%; width: 150px; height: 150px; animation-delay: 0s; animation-duration: 11s; background-color: #343a40; }\r\n    @keyframes floatUp { 0% { transform: translateY(0) rotate(0deg); opacity: 1; } 100% { transform: translateY(-120vh) rotate(720deg); opacity: 0; } }\r\n    @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }\r\n    .main-container { perspective: 1000px; z-index: 2; }\r\n    .content-box {\r\n        text-align: center; padding: 40px 50px; background: rgba(255, 255, 255, 0.65);\r\n        border-radius: 20px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);\r\n        backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);\r\n        border: 1px solid rgba(255, 255, 255, 0.25); transition: transform 0.1s ease-out;\r\n        min-width: 390px; animation: fadeInUp 0.8s ease-out 0.8s forwards; opacity: 0;\r\n    }\r\n    .logo {\r\n        font-size: 5rem; font-weight: bold;\r\n        background: linear-gradient(to right, #ff8a00, #e52e71, #00c4ff);\r\n        background-size: 200% auto; -webkit-background-clip: text;\r\n        -webkit-text-fill-color: transparent; animation: gradient-animation 3s linear infinite;\r\n    }\r\n    @keyframes gradient-animation { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }\r\n    .content-box h1 {\r\n        font-size: 2.2em; font-weight: 700;\r\n        background: linear-gradient(45deg, #007bff, #00d4ff, #007bff);\r\n        -webkit-background-clip: text; -webkit-text-fill-color: transparent;\r\n        margin-bottom: 15px; background-size: 200% auto;\r\n        animation: animatedGradient 3s linear infinite, fadeInUp 0.8s ease-out 1.3s forwards; opacity: 0;\r\n    }\r\n    @keyframes animatedGradient { to { background-position: -200% center; } }\r\n    .slogan-carousel {\r\n        font-size: 1.1em; font-weight: 300; color: #555; margin-bottom: 35px;\r\n        height: 30px; display: flex; justify-content: center; align-items: center;\r\n        transition: opacity 0.4s ease-in-out; animation: fadeInUp 0.8s ease-out 1.5s forwards; opacity: 0;\r\n    }\r\n    .slogan-carousel.fade-out { opacity: 0; }\r\n    .button-group { display: flex; gap: 20px; justify-content: center; animation: fadeInUp 0.8s ease-out 1.7s forwards; opacity: 0; }\r\n    .btn {\r\n        display: inline-block; padding: 15px 35px; text-decoration: none; font-weight: 600;\r\n        border-radius: 50px; transition: all 0.3s ease; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\r\n        border: none; cursor: pointer; position: relative; overflow: hidden;\r\n    }\r\n    .btn::after {\r\n        content: ''; position: absolute; top: -50%; left: -50%; width: 20%; height: 200%;\r\n        background: rgba(255, 255, 255, 0.5); transform: rotate(45deg);\r\n        transition: left 0.8s ease; opacity: 0;\r\n    }\r\n    .btn:hover::after { left: 130%; opacity: 1; transition: left 0.8s ease; }\r\n    .btn-login { background-color: #007bff; color: white; }\r\n    .btn-login:hover { background-color: #0056b3; transform: translateY(-3px) scale(1.05); box-shadow: 0 8px 20px rgba(0, 123, 255, 0.3); }\r\n    .btn-register { background-color: #ffffff; color: #007bff; border: 2px solid #007bff; }\r\n    .btn-register:hover { background-color: #007bff; color: white; transform: translateY(-3px) scale(1.05); box-shadow: 0 8px 20px rgba(0, 123, 255, 0.3); }\r\n    .modal {\r\n        display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%;\r\n        overflow: auto; background-color: rgba(0,0,0,0.6); opacity: 0;\r\n        transition: opacity 0.3s ease; backdrop-filter: blur(5px);\r\n    }\r\n    .modal.show { display: flex; justify-content: center; align-items: center; opacity: 1; }\r\n    .modal-content {\r\n        background-color: #fefefe; margin: auto; padding: 30px 40px; border: 1px solid #888;\r\n        width: 90%; max-width: 650px; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.2);\r\n        position: relative; transform: translateY(-50px) scale(0.95); transition: transform 0.3s ease;\r\n    }\r\n    .modal.show .modal-content { transform: translateY(0) scale(1); }\r\n    .close-button {\r\n        color: #aaa; position: absolute; top: 10px; right: 20px; font-size: 28px;\r\n        font-weight: bold; transition: color 0.2s;\r\n    }\r\n    .close-button:hover, .close-button:focus { color: #333; text-decoration: none; cursor: pointer; }\r\n    .modal-content h2 { text-align: center; margin-bottom: 25px; color: #333; }\r\n    .modal-form .form-group { margin-bottom: 15px; position: relative; }\r\n    .modal-form label { display: block; margin-bottom: 8px; font-weight: 500; color: #555; }\r\n    .modal-form input[type=\"text\"], .modal-form input[type=\"password\"], .modal-form input[type=\"email\"] {\r\n        width: 100%; padding: 12px 40px 12px 15px; border-radius: 8px;\r\n        border: 1px solid #ddd; transition: border-color 0.2s, box-shadow 0.2s;\r\n    }\r\n    .modal-form input:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.2); }\r\n    \r\n    .toggle-password {\r\n        position: absolute; top: 50%; right: 15px;\r\n        transform: translateY(-50%); cursor: pointer;\r\n        color: #888; user-select: none;\r\n        font-size: 1.2rem; line-height: 1;\r\n    }\r\n    .form-group .toggle-password { top: 70%; }\r\n    .modal-form .btn-submit { width: 100%; padding: 15px; font-size: 1.1em; margin-top: 10px; }\r\n    .modal-messages .error {\r\n        background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb;\r\n        padding: 10px 15px; border-radius: 5px; margin-bottom: 15px;\r\n        font-size: 0.9em; list-style: none;\r\n    }\r\n    .modal-messages .success {\r\n        background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb;\r\n        padding: 10px 15px; border-radius: 5px; margin-bottom: 15px; font-size: 0.9em;\r\n    }\r\n    @media (max-width: 768px) {\r\n        .content-box { padding: 30px 25px; } .logo { font-size: 4em; }\r\n        .content-box h1 { font-size: 1.8em; } .slogan-carousel { font-size: 1em; height: 45px; }\r\n        .button-group { flex-direction: column; gap: 15px; }\r\n    }\r\n    @media (max-width: 480px) {\r\n        .content-box { min-width: unset; width: 100%; } .logo { font-size: 3.2em; }\r\n        .content-box h1 { font-size: 1.5em; } .slogan-carousel { font-size: 0.9em; }\r\n        .btn { padding: 12px 25px; width: 100%; } .modal-content { padding: 25px 20px; }\r\n    }\r\n    <\/style>\r\n    <div class=\"background-animation\"> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <span class=\"ball\"><\/span> <\/div>\r\n    <div class=\"main-container\">\r\n        <div class=\"content-box\">\r\n            <div class=\"logo\">KEOBIA<\/div>\r\n            <h1>S\u00c0N B\u1eaeT K\u00c8O BILLIARD<\/h1>\r\n            <p class=\"slogan-carousel\"><\/p>\r\n            <div class=\"button-group\"> <a href=\"#\" class=\"btn btn-login\" id=\"loginBtn\">\u0110\u0103ng Nh\u1eadp<\/a> <a href=\"#\" class=\"btn btn-register\" id=\"registerBtn\">\u0110\u0103ng K\u00fd<\/a> <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div id=\"loginModal\" class=\"modal\">\r\n        <div class=\"modal-content\"> <span class=\"close-button\">&times;<\/span>\r\n            <div class=\"logo\" style=\"font-size:50px; display: flex; justify-content: center; align-items: center; margin: 0 auto;\"> KEOBIA <\/div>\r\n            <div class=\"modal-messages\">\r\n                            <\/div>\r\n            <form class=\"modal-form\" action=\"\" method=\"post\">\r\n                <div class=\"form-group\"> <label for=\"login-user\">T\u00ean \u0111\u0103ng nh\u1eadp ho\u1eb7c Email<\/label> <input type=\"text\" id=\"login-user\" name=\"log\" required value=\"\"> <\/div>\r\n                <div class=\"form-group\"> <label for=\"login-pass\">M\u1eadt kh\u1ea9u<\/label> <input type=\"password\" id=\"login-pass\" name=\"pwd\" required> <span class=\"toggle-password\">\ud83d\udc35\ufe0f<\/span> <\/div>\r\n                <div class=\"form-group\"> <label for=\"login-captcha\">X\u00e1c th\u1ef1c: 4 + 5 = ?<\/label> <input type=\"text\" id=\"login-captcha\" name=\"captcha_response\" required autocomplete=\"off\"> <\/div>\r\n                <button type=\"submit\" name=\"submit_login\" class=\"btn btn-login btn-submit\">\u0110\u0103ng Nh\u1eadp<\/button>\r\n            <\/form>\r\n        <\/div>\r\n    <\/div>\r\n    <div id=\"registerModal\" class=\"modal\">\r\n        <div class=\"modal-content\"> <span class=\"close-button\">&times;<\/span>\r\n            <div class=\"logo\" style=\"font-size:50px; display: flex; justify-content: center; align-items: center; margin: 0 auto;\"> KEOBIA <\/div>\r\n            <div class=\"modal-messages\">\r\n                                            <\/div>\r\n                        <form id=\"registrationForm\" class=\"modal-form\" action=\"\" method=\"post\">\r\n                <div class=\"form-group\"><label for=\"reg-user\">T\u00ean \u0111\u0103ng nh\u1eadp<\/label><input type=\"text\" id=\"reg-user\" name=\"reg_user\" required value=\"\"><\/div>\r\n                <div class=\"form-group\"><label for=\"reg-email\">Email<\/label><input type=\"email\" id=\"reg-email\" name=\"reg_email\" required value=\"\"><\/div>\r\n                <div class=\"form-group\"> <label for=\"reg-pass\">M\u1eadt kh\u1ea9u (\u00edt nh\u1ea5t 6 k\u00fd t\u1ef1)<\/label> <input type=\"password\" id=\"reg-pass\" name=\"reg_pass\" required> <span class=\"toggle-password\">\ud83d\udc35\ufe0f<\/span> <\/div>\r\n                <div class=\"form-group\"> <label for=\"reg-pass-confirm\">X\u00e1c nh\u1eadn m\u1eadt kh\u1ea9u<\/label> <input type=\"password\" id=\"reg-pass-confirm\" name=\"reg_pass_confirm\" required> <span class=\"toggle-password\">\ud83d\udc35\ufe0f<\/span> <\/div>\r\n                <div class=\"form-group\"> <label for=\"reg-captcha\">X\u00e1c th\u1ef1c: 4 + 5 = ?<\/label> <input type=\"text\" id=\"reg-captcha\" name=\"captcha_response\" required autocomplete=\"off\"> <\/div>\r\n                <button type=\"submit\" name=\"submit_register\" class=\"btn btn-login btn-submit\">\u0110\u0103ng K\u00fd<\/button>\r\n            <\/form>\r\n                    <\/div>\r\n    <\/div>\r\n    <div id=\"loading-overlay\">\r\n        <div class=\"loading-content\">\r\n            <div class=\"loading-logo\">KEOBIA<\/div>\r\n            <div class=\"billiard-ball-container\">\r\n                <div class=\"billiard-ball\">\r\n                    <div class=\"ball-number-container\">\r\n                        <span class=\"ball-number\">8<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"ball-shadow\"><\/div>\r\n            <\/div>\r\n            <p class=\"loading-text\">\u0110ang x\u1eed l\u00fd, vui l\u00f2ng ch\u1edd...<\/p>\r\n        <\/div>\r\n    <\/div>\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n    \/\/ --- Code cho slideshow \u1ea3nh n\u1ec1n ---\r\n    const bgImages = [\r\n        'https:\/\/keobia.com\/wp-content\/uploads\/2025\/06\/1920-_4_.jpg',\r\n        'https:\/\/keobia.com\/wp-content\/uploads\/2025\/06\/1920-_3_.jpg',\r\n        'https:\/\/keobia.com\/wp-content\/uploads\/2025\/06\/1920-_5_.jpg',\r\n        'https:\/\/keobia.com\/wp-content\/uploads\/2025\/06\/1920.jpg',\r\n        'https:\/\/keobia.com\/wp-content\/uploads\/2025\/06\/1920-_2_.jpg'\r\n    ];\r\n    const slideshowContainer = document.getElementById('background-slideshow');\r\n    bgImages.forEach((imgUrl, index) => {\r\n        const slide = document.createElement('div');\r\n        slide.className = 'slide';\r\n        slide.style.backgroundImage = `url('${imgUrl}')`;\r\n        if (index === 0) { slide.classList.add('active'); }\r\n        slideshowContainer.appendChild(slide);\r\n    });\r\n    let currentSlideIndex = 0;\r\n    setInterval(() => {\r\n        const slides = slideshowContainer.querySelectorAll('.slide');\r\n        slides[currentSlideIndex].classList.remove('active');\r\n        currentSlideIndex = (currentSlideIndex + 1) % slides.length;\r\n        slides[currentSlideIndex].classList.add('active');\r\n    }, 3000);\r\n\r\n    \/\/ --- Hi\u1ec7u \u1ee9ng 3D cho content box ---\r\n    const contentBox = document.querySelector('.content-box');\r\n    const mainContainer = document.querySelector('.main-container');\r\n    if (window.innerWidth > 1024) {\r\n        mainContainer.addEventListener('mousemove', (e) => {\r\n            contentBox.style.animation = 'none';\r\n            contentBox.style.opacity = '1';\r\n            const rect = mainContainer.getBoundingClientRect();\r\n            const x = e.clientX - rect.left - rect.width \/ 2;\r\n            const y = e.clientY - rect.top - rect.height \/ 2;\r\n            const rotateY = (x \/ (rect.width \/ 2)) * 15;\r\n            const rotateX = -(y \/ (rect.height \/ 2)) * 15;\r\n            contentBox.style.transform = `rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(1.05)`;\r\n        });\r\n        mainContainer.addEventListener('mouseleave', () => {\r\n            contentBox.style.transform = 'rotateX(0deg) rotateY(0deg) scale(1)';\r\n        });\r\n    }\r\n\r\n    \/\/ --- Carousel cho slogan ---\r\n    const slogans = [\"\ud83d\udd25 S\u00e0n b\u1eaft k\u00e8o \u2013 Trung gian uy t\u00edn\", \"B\u1eaft k\u00e8o chu\u1ea9n \u2013 An to\u00e0n t\u1eebng tr\u1eadn\", \"N\u01a1i h\u1ed9i t\u1ee5 cao th\u1ee7 \u2013 Giao k\u00e8o minh b\u1ea1ch\", \"Kh\u00f4ng lo boom k\u00e8o \u2013 C\u00f3 trung gian lo h\u1ebft\", \"S\u00e0n k\u00e8o ch\u1ea5t \u2013 Giao d\u1ecbch uy t\u00edn\", \"Trung gian c\u00f4ng b\u1eb1ng \u2013 B\u1eaft k\u00e8o kh\u00f4ng lo ngh\u0129\", \"V\u00e0o k\u00e8o ch\u1eafc tay \u2013 C\u00f3 trung gian ngay \u0111\u00e2y!\", \"Th\u1eafng \u2013 thua r\u00f5 r\u00e0ng, trung gian s\u1eb5n s\u00e0ng\", \"S\u00e0n b\u1eaft k\u00e8o \u2013 Ch\u01a1i l\u00e0 ph\u1ea3i ch\u1ea5t\"];\r\n    let currentSloganIndex = 0;\r\n    const sloganElement = document.querySelector('.slogan-carousel');\r\n    function changeSlogan() {\r\n        sloganElement.classList.add('fade-out');\r\n        setTimeout(() => {\r\n            currentSloganIndex = (currentSloganIndex + 1) % slogans.length;\r\n            sloganElement.innerHTML = slogans[currentSloganIndex];\r\n            sloganElement.classList.remove('fade-out');\r\n        }, 400); \r\n    }\r\n    setTimeout(() => {\r\n            sloganElement.innerHTML = slogans[0];\r\n            setInterval(changeSlogan, 4000);\r\n    }, 2300);\r\n    \r\n    \/\/ --- X\u1eed l\u00fd m\u1edf\/\u0111\u00f3ng Modal ---\r\n    const loginModal = document.getElementById('loginModal');\r\n    const registerModal = document.getElementById('registerModal');\r\n    const loginBtn = document.getElementById('loginBtn');\r\n    const registerBtn = document.getElementById('registerBtn');\r\n    const closeButtons = document.querySelectorAll('.close-button');\r\n    function openModal(modal) { modal.classList.add('show'); }\r\n    function closeModal(modal) { modal.classList.remove('show'); }\r\n    loginBtn.addEventListener('click', (e) => { e.preventDefault(); openModal(loginModal); });\r\n    registerBtn.addEventListener('click', (e) => { e.preventDefault(); openModal(registerModal); });\r\n    closeButtons.forEach(button => {\r\n        button.addEventListener('click', () => {\r\n            closeModal(loginModal);\r\n            closeModal(registerModal);\r\n        });\r\n    });\r\n    window.addEventListener('click', (e) => {\r\n        if (e.target === loginModal) closeModal(loginModal);\r\n        if (e.target === registerModal) closeModal(registerModal);\r\n    });\r\n    \r\n    \/\/ --- JAVASCRIPT \u0110\u1ec2 \u1ea8N\/HI\u1ec6N M\u1eacT KH\u1ea8U ---\r\n    const togglePasswordIcons = document.querySelectorAll('.toggle-password');\r\n    togglePasswordIcons.forEach(icon => {\r\n        icon.addEventListener('click', function () {\r\n            const passwordInput = this.previousElementSibling;\r\n            const type = passwordInput.getAttribute('type') === 'password' ? 'text' : 'password';\r\n            passwordInput.setAttribute('type', type);\r\n            this.textContent = type === 'password' ? '\ud83d\udc35\ufe0f\ufe0f' : '\ud83d\ude48';\r\n        });\r\n    });\r\n\r\n    \/\/ --- Hi\u1ec3n th\u1ecb l\u1ea1i modal n\u1ebfu c\u00f3 l\u1ed7i t\u1eeb PHP ---\r\n            \r\n    \/\/ --- Hi\u1ec3n th\u1ecb loading v\u00e0 ki\u1ec3m tra form khi submit ---\r\n    const loadingOverlay = document.getElementById('loading-overlay');\r\n    const loginForm = document.querySelector('#loginModal .modal-form');\r\n    const regForm = document.getElementById('registrationForm');\r\n    if (loginForm) {\r\n        loginForm.addEventListener('submit', function() {\r\n            loadingOverlay.classList.add('show');\r\n        });\r\n    }\r\n    if (regForm) {\r\n        regForm.addEventListener('submit', function(e) {\r\n            const pass = document.getElementById('reg-pass').value;\r\n            const confirmPass = document.getElementById('reg-pass-confirm').value;\r\n            if (pass !== confirmPass) {\r\n                e.preventDefault(); \r\n                alert('M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng kh\u1edbp. Vui l\u00f2ng ki\u1ec3m tra l\u1ea1i.');\r\n            } else {\r\n                loadingOverlay.classList.add('show');\r\n            }\r\n        });\r\n    }\r\n\r\n    \/\/ --- S\u1eeda l\u1ed7i form b\u1ecb \u0111\u1ea9y l\u00ean tr\u00ean mobile khi t\u1eaft b\u00e0n ph\u00edm ---\r\n    const allInputs = document.querySelectorAll('#loginModal input, #registerModal input');\r\n    allInputs.forEach(input => {\r\n        input.addEventListener('blur', () => {\r\n            setTimeout(() => {\r\n                window.scrollTo(0, 0);\r\n            }, 100);\r\n        });\r\n    });\r\n});\r\n<\/script>\r\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":434,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-2446","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/keobia.com\/index.php\/wp-json\/wp\/v2\/pages\/2446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/keobia.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/keobia.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/keobia.com\/index.php\/wp-json\/wp\/v2\/users\/434"}],"replies":[{"embeddable":true,"href":"https:\/\/keobia.com\/index.php\/wp-json\/wp\/v2\/comments?post=2446"}],"version-history":[{"count":7,"href":"https:\/\/keobia.com\/index.php\/wp-json\/wp\/v2\/pages\/2446\/revisions"}],"predecessor-version":[{"id":2457,"href":"https:\/\/keobia.com\/index.php\/wp-json\/wp\/v2\/pages\/2446\/revisions\/2457"}],"wp:attachment":[{"href":"https:\/\/keobia.com\/index.php\/wp-json\/wp\/v2\/media?parent=2446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}