/* --- Contact Form Styles (New #contact) --- */
#contact { width: 100%; max-width: 800px; margin: 0 auto; padding: 40px; background-color: #f8fbff; border-radius: 20px; border: 1px solid #eef2f6; }
#contact form p { display: flex; flex-direction: column; margin-bottom: 25px; }
#contact form label { font-size: 16px; font-weight: 700; color: #061539; margin-bottom: 10px; display: flex; align-items: center; }
#contact form label b { color: #e74c3c; margin-right: 5px; font-weight: 900; font-size: 18px; }
#contact form input[type="text"], #contact form textarea { width: 100%; padding: 15px 20px; font-size: 16px; color: #2c3e50; border: 2px solid #eef2f6; border-radius: 12px; background-color: #ffffff; transition: all 0.3s ease; font-family: 'Noto Sans TC', sans-serif; outline: none; }
#contact form input[type="text"]:focus, #contact form textarea:focus { border-color: #00a8ff; box-shadow: 0 0 0 4px rgba(0, 168, 255, 0.15); }
#contact form textarea { resize: vertical; min-height: 150px; }
#contact form p.send { flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 15px; margin-top: 40px; padding-top: 30px; border-top: 1px dashed #dcdde1; }
#contact form p.send label { margin-bottom: 0; margin-right: 10px; }
#contact form p.send input[type="text"] { width: 150px; text-align: center; font-size: 18px; font-weight: 700; letter-spacing: 2px; }
#contact form p.send img {height: 23px;border-radius: 8px;box-shadow: 0 5px 15px rgba(6, 21, 57, 0.05);}
#contact form p.send a#btnOK { display: inline-flex; align-items: center; justify-content: center; padding: 15px 45px; font-size: 18px; font-weight: 800; color: #ffffff; background: linear-gradient(90deg, #00a8ff, #0056b3); border-radius: 50px; text-decoration: none; box-shadow: 0 10px 25px rgba(0, 168, 255, 0.3); transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); margin-left: auto; position: relative; overflow: hidden; z-index: 1; border: none; cursor: pointer; }
#contact form p.send a#btnOK::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, #061539, #132b5e); z-index: -1; transition: opacity 0.3s ease; opacity: 0; }
#contact form p.send a#btnOK:hover { transform: translateY(-3px); box-shadow: 0 15px 35px rgba(6, 21, 57, 0.2); }
#contact form p.send a#btnOK:hover::before { opacity: 1; }

@media (max-width: 576px) {
#contact form p.send {flex-direction: column;align-items: flex-start;display: flex;}
#contact form p.send a#btnOK { width: 100%; margin-left: 0; margin-top: 15px; }
}