/* (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;
}
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.");
}
});
Bridal Contact Form
We’re here to answer any questions you may have
We aim to respond within 24 hours.
