/* (Same styles as previously given — unchanged) */ .bridal-contact { max-width: 700px; margin: 40px auto; padding: 30px; background: #ffffff; border-radius: 14px; border: 1px solid #eaeaea; font-family: "Poppins", Arial, sans-serif; box-shadow: 0 4px 16px rgba(0,0,0,0.05); } .bridal-contact h2 { text-align: center; font-size: 28px; margin-bottom: 15px; font-weight: 600; color: #2c2c2c; } .bridal-contact p.subtitle { text-align: center; color: #777; margin-top: -8px; margin-bottom: 25px; font-size: 15px; } .bridal-contact label { font-weight: 600; margin-top: 18px; display: block; color: #444; font-size: 15px; } .bridal-contact input, .bridal-contact textarea, .bridal-contact select { width: 100%; padding: 12px; margin-top: 8px; border: 1px solid #ccc; border-radius: 8px; font-size: 15px; font-family: inherit; transition: 0.25s ease; } .bridal-contact input:focus, .bridal-contact textarea:focus, .bridal-contact select:focus { border-color: #cc99ff; box-shadow: 0 0 5px rgba(204,153,255,0.4); } .bridal-contact textarea { min-height: 120px; resize: vertical; } .bridal-contact .radio-group { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; } .bridal-contact .radio-option { flex: 1 0 48%; position: relative; } .bridal-contact .radio-option input { opacity: 0; position: absolute; pointer-events: none; } .bridal-contact .radio-option label { padding: 12px; text-align: center; background: #fafafa; border: 2px solid #ddd; border-radius: 8px; display: block; cursor: pointer; transition: 0.3s ease; } .bridal-contact .radio-option label:hover { background: #f3ecff; border-color: #cc99ff; color: #a469ff; } .bridal-contact .radio-option input:checked + label { background: #cc99ff; border-color: #b889ff; color: #fff; box-shadow: 0 3px 10px rgba(204,153,255,0.3); } .bridal-contact button { width: 100%; padding: 14px; background: #cc99ff; color: #fff; border: none; margin-top: 30px; border-radius: 8px; font-size: 17px; cursor: pointer; transition: 0.3s ease; font-weight: 600; } .bridal-contact button:hover { background: #b47dfa; } .bridal-contact .note { font-size: 13px; text-align: center; margin-top: 15px; color: #666; } /* Honeypot hides the spam field */ .honeypot { display: none !important; visibility: hidden !important; opacity: 0 !important; height: 0 !important; }

Bridal Contact Form

We’re here to answer any questions you may have

We aim to respond within 24 hours.
document.getElementById("bridalContactForm").addEventListener("submit", async function (e) { e.preventDefault(); const form = this; const endpoint = form.action; // 🛡 SPAM CHECK — honeypot should remain empty if (form.website.value.trim() !== "") { alert("Spam detected. Form not submitted."); return; } const data = Object.fromEntries(new FormData(form).entries()); try { const response = await fetch(endpoint, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(data) }); if (response.ok) { alert("💌 Your message has been sent! We will reply shortly."); form.reset(); } else { throw new Error("Form submission failed"); } } catch (err) { alert("❌ There was an error. Please try again."); } });