.css-dx74aj { display: inline-flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; position: relative; box-sizing: border-box; -webkit-tap-highlight-color: transparent; cursor: pointer; user-select: none; vertical-align: middle; appearance: none; font-weight: 700; line-height: 1.71429; font-size: 0.9375rem; text-transform: capitalize; font-family: "Public Sans", sans-serif; min-width: 64px; color: #fff; background-color: rgb(194, 72, 73); width: 100%; box-shadow: rgba(194, 72, 73, 0.24) 0px 8px 16px 0px; height: 48px; outline: 0; border: 0; margin: 0; text-decoration: none; padding: 8px 22px; border-radius: 8px; transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1); } .css-dx74aj:hover { background-color: rgb(172, 62, 63); box-shadow: rgba(172, 62, 63, 0.3) 0px 10px 18px 0px; } .css-w0pj6f { display: none; } .popup-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; backdrop-filter: blur(6px); background-color: rgba(0, 0, 0, 0.6); display: none; justify-content: center; align-items: center; z-index: 1000; } .popup-box { background-color: #1e1e1e; color: white; padding: 30px 40px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); position: relative; text-align: center; width: 350px; } .popup-icon { display: flex; justify-content: center; align-items: center; background-color: #444; width: 60px; height: 60px; border-radius: 50%; margin: 0 auto 20px auto; } .email-svg-icon { width: 32px; height: 32px; fill: white; } .popup-title { font-size: 18px; color: #ccc; margin-bottom: 5px; } .popup-email { font-weight: bold; font-size: 16px; color: #fff; } .popup-close { position: absolute; top: 10px; right: 15px; background: none; border: none; color: #999; font-size: 22px; cursor: pointer; transition: color 0.2s ease; } .popup-close:hover { color: #fff; } .css-dx54aj { display: inline-flex; align-items: center; justify-content: center; position: relative; box-sizing: border-box; cursor: pointer; user-select: none; vertical-align: middle; appearance: none; font-weight: 700; line-height: 1.71429; font-size: 0.9375rem; text-transform: capitalize; font-family: "Public Sans", sans-serif; color: #fff; background-color: rgb(194, 72, 73); box-shadow: rgba(194, 72, 73, 0.24) 0px 8px 16px 0px; height: auto; padding: 8px 22px; border-radius: 8px; outline: 0; border: 0; margin: 0; text-decoration: none; transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1); } .css-dx54aj:hover { background-color: rgb(172, 62, 63); box-shadow: rgba(172, 62, 63, 0.3) 0px 10px 18px 0px; } .loading-text span { display: inline-block; animation-name: bounce; animation-duration: 1.5s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; margin: 0 1px; } /* ตั้ง delay ให้กระโดดทีละตัว */ .loading-text span:nth-child(1) { animation-delay: 0s; } .loading-text span:nth-child(2) { animation-delay: 0.1s; } .loading-text span:nth-child(3) { animation-delay: 0.2s; } .loading-text span:nth-child(4) { animation-delay: 0.3s; } .loading-text span:nth-child(5) { animation-delay: 0.4s; } .loading-text span:nth-child(6) { animation-delay: 0.5s; } .loading-text span:nth-child(7) { animation-delay: 0.6s; } .loading-text span:nth-child(8) { animation-delay: 0.7s; } .loading-text span:nth-child(9) { animation-delay: 0.8s; } .loading-text span:nth-child(10) { animation-delay: 0.9s; } .loading-text span:nth-child(11) { animation-delay: 1.0s; } .loading-text span:nth-child(12) { animation-delay: 1.1s; } @keyframes bounce { 0%, 80%, 100% { transform: translateY(0); opacity: 0.5; } 40% { transform: translateY(-6px); opacity: 1; } } input[type="password"]::-ms-reveal, input[type="password"]::-webkit-password-toggle-button { display: none; } .password-input { background-color: #313131; border: 1px solid #b8b8b8; border-radius: 6px; padding: 0.75rem; color: white; font-size: 1rem; width: 100%; box-sizing: border-box; transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out, text-align 0.2s ease-in-out; text-align: center; line-height: 1.5rem; } .password-input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px #b8b8b8 inset !important; -webkit-text-fill-color: white !important; transition: background-color 5000s ease-in-out 0s; } .password-input:focus, .password-input:not(:placeholder-shown) { background-color: #313131; border-color: #C24849; outline: none; text-align: left; padding-left: 0.75rem; } .password-label { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: #b8b8b8; font-size: 1rem; font-weight: 500; text-transform: uppercase; pointer-events: none; transition: 0.2s ease all; background-color: #313131; padding: 0 0.25rem; font: inherit; animation-duration: 10ms; animation-name: mui-auto-fill-cancel; letter-spacing: inherit; font-weight: 700; /* เพิ่มตรงนี้ให้หนาขึ้น */ } .password-input:focus+.password-label, .password-input:not(:placeholder-shown)+.password-label { top: -0.65rem; font-size: 0.85rem; color: #C24849; transform: none; } .error-message { color: #FF4842; font-size: 0.85em; margin-top: -30px; margin-left: 0; padding-left: 0; text-align: left; display: none; } .error-message.show { display: block; } .password-input.input-error { border-color: rgb(255, 72, 66); } .password-label.label-error { color: #FF4842; font: inherit; animation-duration: 10ms; animation-name: mui-auto-fill-cancel; letter-spacing: inherit; font-weight: 700; /* เพิ่มตรงนี้ให้หนาขึ้น */ } #alertBox { transform: translateY(20px); opacity: 0; pointer-events: none; transition: transform 0.3s ease, opacity 0.3s ease; box-shadow: none; transform: translateX(-50%) translateY(20px); /* จัดให้อยู่ตรงกลางแนวนอน และเพิ่ม animation */ background-image: none; line-height: 1.57143; font-size: 0.875rem; font-family: "Public Sans", sans-serif; font-weight: 400; display: flex; max-width: 365px; width: 90%; align-items: center; color: rgb(255, 231, 217); background-color: rgb(122, 12, 46); width: 100%; border-radius: 8px; padding: 6px 16px; margin-bottom: 1rem; overflow: hidden; height: auto; } #alertBox.hidden { transform: translateY(20px); opacity: 0; pointer-events: none; height: 0; padding: 0 16px; /* ลด padding เวลา hidden เพื่อให้ดูเนียน */ margin-bottom: 0; } #alertBox.show { transform: translateY(0); opacity: 1; pointer-events: auto; padding: 6px 16px; margin-bottom: 1rem; } #alertBox.success { background-color: rgb(56, 142, 60); color: #e6f4ea; } #alertBox.error { background-color: rgb(122, 12, 46); color: rgb(255, 231, 217); } .alert-icon { flex-shrink: 0; } .close-icon { flex-shrink: 0; cursor: pointer; color: inherit; } #alertCloseBtn { background: transparent; border: none; padding: 0; margin-left: 12px; cursor: pointer; color: inherit; display: flex; align-items: center; } #alertCloseBtn:hover { opacity: 0.8; } .card-right { position: relative; /* ต้องมีเพื่อให้ .coming-soon อ้างอิงตำแหน่งภายในนี้ */ } .coming-soon { font: inherit; animation-duration: 10ms; animation-name: mui-auto-fill-cancel; letter-spacing: inherit; color: #FF4842; font-size: 45px; font-weight: bold; position: absolute; /* วางตำแหน่งแบบ absolute */ top: 50%; /* กึ่งกลางแนวตั้งของ .card-right */ left: 50%; /* กึ่งกลางแนวนอนของ .card-right */ transform: translate(-50%, -50%); /* เลื่อนให้ตรงกลางจริงๆ */ text-align: center; }