Our support travels with you– available 24/7
Source: https://esimkitstore.com/pages/contact-us
Contact Us - eSIM Store :root{ --brand:#13bfa5; --brand-dark:#0e9e89; --text:#1f2937; --muted:#6b7280; --bg:#f7f9fb; --card:#ffffff; --border:#e5e7eb; --success-bg:#e6ffed; --success-bd:#34d399; --success-tx:#065f46; --error-bg:#fff4f4; --error-bd:#fca5a5; --error-tx:#7f1d1d; --link:#10b981; /* 这是绿色,与"Send us a message"标题颜色一致 */ } /* 页面基础 */ body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;line-height:1.65;} .container{max-width:1040px;margin:0 auto;padding:20px;} .hero img{width:100%;border-radius:14px;display:block} /* 信息卡片 */ .card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-top:18px} /* 标题 */ h1{margin:.6rem 0 1rem;font-size:clamp(24px,2.6vw,32px);} h2{margin:0 0 12px;font-size:clamp(18px,2vw,22px);} /* 联系方式(绿色加粗、悬停下划线) */ .contact-link{color:var(--link);font-weight:700;text-decoration:none} .contact-link:hover{text-decoration:underline; color:var(--brand-dark);} /* Important Info 小徽条 */ .important-banner{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border); border-radius:999px;padding:6px 12px;margin:8px 0 6px;background:#fff;box-shadow:0 4px 12px rgba(16,24,40,.06);} .important-banner .label{font-weight:800;font-size:16px} /* 表单样式(无黑色边框、圆角) */ .esk-contact .field{margin-bottom:14px} .esk-contact input, .esk-contact textarea{ width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:#fff; color:var(--text); outline:none; box-shadow:none; -webkit-appearance:none;appearance:none; font-size:16px; box-sizing: border-box; } .esk-contact textarea{resize:vertical;min-height:120px} /* 提交按钮 */ .esk-contact .btn{ background:var(--brand);color:#fff;border:none;border-radius:10px; padding:12px 18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px; transition: background-color 0.3s ease; font-size: 16px; } .esk-contact .btn:hover{background:var(--brand-dark)} .esk-contact .btn:disabled{ background-color: #ccc; cursor: not-allowed; } /* 成功/失败提示 */ .alert{padding:12px 14px;border-radius:10px;margin-bottom:14px; display: none;} .alert--success{background:var(--success-bg);border:1px solid var(--success-bd);color:var(--success-tx)} .alert--error{background:var(--error-bg);border:1px solid var(--error-bd);color:var(--error-tx)} /* 隐藏可访问标签(只给读屏) */ .visually-hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;} /* 加载动画 */ .spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.3); border-radius: 50%; border-top-color: #fff; animation: spin 0.8s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* 表单验证样式 */ .input-error { border-color: var(--error-bd) !important; } .error-message { color: var(--error-tx); font-size: 14px; margin-top: 5px; } Contact Us We're here to help — our support team is available 24/7 . Whether you need help with activation, setup, or troubleshooting, we'll get you connected fast. Ways to reach us Activation Service : activate@esimkitstore.com Customer Support : support@esimkitstore.com WhatsApp : +61 416 688 990 🚨 Important Info 🚨 If you've placed an order, please check your inbox within 24 hours for your activation QR code. Also check your spam/junk folder. Send us a message ✅ Your message has been sent successfully. We'll reply within 12–24 hours. Please correct the errors below: Name Email Order No. Message Send Message document.addEventListener('DOMContentLoaded', function() { const contactForm = document.getElementById('contact_form'); const submitBtn = document.getElementById('submitBtn'); const btnText = submitBtn.querySelector('.btn-text'); const spinner = submitBtn.querySelector('.spinner'); const successBox = document.getElementById('successBox'); const errorBox = document.getElementById('errorBox'); // 从URL参数检查是否显示成功消息 const urlParams = new URLSearchParams(window.location.search); if (urlParams.get('success') === 'true') { successBox.style.display = 'block'; // 滚动到成功消息 setTimeout(() => { successBox.scrollIntoView({ behavior: 'smooth', block: 'center' }); }, 300); } if (contactForm) { contactForm.addEventListener('submit', function(e) { e.preventDefault(); // 隐藏之前的消息 successBox.style.display = 'none'; errorBox.style.display = 'none'; // 简单的前端验证 const nameInput = document.getElementById('ContactFormName'); const emailInput = document.getElementById('ContactFormEmail'); const messageInput = document.getElementById('ContactFormMessage'); let isValid = true; // 重置错误状态 [nameInput, emailInput, messageInput].forEach(input => { input.classList.remove('input-error'); const errorMsg = input.nextElementSibling; if (errorMsg && errorMsg.classList.contains('error-message')) { errorMsg.remove(); } }); // 验证姓名 if (!nameInput.value.trim()) { showError(nameInput, 'Name is required'); isValid = false; } // 验证邮箱 const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailInput.value.trim()) { showError(emailInput, 'Email is required'); isValid = false; } else if (!emailRegex.test(emailInput.value)) { showError(emailInput, 'Please enter a valid email address'); isValid = false; } // 验证消息 if (!messageInput.value.trim()) { showError(messageInput, 'Message is required'); isValid = false; } if (!isValid) { errorBox.style.display = 'block'; errorBox.scrollIntoView({ behavior: 'smooth', block: 'center' }); return false; } // 显示加载状态 btnText.textContent = 'Sending...'; spinner.style.display = 'inline-block'; submitBtn.disabled = true; // 模拟表单提交(在实际应用中,这里应该使用AJAX发送到服务器) setTimeout(() => { // 这里应该是实际的表单提交代码 // 由于Shopify页面不支持服务器端处理,您可能需要: // 1. 使用第三方表单处理服务如Formspree // 2. 使用Shopify应用来处理表单 // 3. 或者设置表单动作为mailto:(有限制) // 模拟成功提交 successBox.style.display = 'block'; contactForm.reset(); // 恢复按钮状态 btnText.textContent = 'Send Message'; spinner.style.display = 'none'; submitBtn.disabled = false; // 滚动到成功消息 successBox.scrollIntoView({ behavior: 'smooth', block: 'center' }); }, 1500); }); } function showError(input, message) { input.classList.add('input-error'); const errorDiv = document.createElement('div'); errorDiv.className = 'error-message'; errorDiv.textContent = message; input.parentNode.appendChild(errorDiv); } });