diff --git a/src/app/globals.css b/src/app/globals.css
index 79a87dd..7f5f808 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -182,3 +182,18 @@ h1, h2, h3, h4 {
font-size: 16px !important; /* Prevents auto-zoom on iOS */
}
}
+
+.mobile-only-quick-bar {
+ display: none !important;
+}
+
+@media (max-width: 768px) {
+ .mobile-only-quick-bar {
+ display: flex !important;
+ }
+}
+
+@keyframes slideUpBar {
+ from { transform: translateY(100%); opacity: 0; }
+ to { transform: translateY(0); opacity: 1; }
+}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index d7fbdaa..1c2a700 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -9,9 +9,11 @@ import PillarsSection from '@/components/PillarsSection';
import ServicesSection from '@/components/ServicesSection';
import TestimonialsSection from '@/components/TestimonialsSection';
import AboutSection from '@/components/AboutSection';
+import FaqSection from '@/components/FaqSection';
import BookingForm from '@/components/BookingForm';
import Footer from '@/components/Footer';
import GoldSparkles from '@/components/GoldSparkles';
+import MobileQuickBar from '@/components/MobileQuickBar';
export default function Home() {
useEffect(() => {
@@ -37,8 +39,10 @@ export default function Home() {
+
+
);
}
diff --git a/src/components/FaqSection.tsx b/src/components/FaqSection.tsx
new file mode 100644
index 0000000..f010e5e
--- /dev/null
+++ b/src/components/FaqSection.tsx
@@ -0,0 +1,201 @@
+'use client';
+
+import React, { useState } from 'react';
+
+interface FaqItem {
+ question: string;
+ answer: string;
+ category: string;
+}
+
+const faqs: FaqItem[] = [
+ {
+ category: 'Booking & Timing',
+ question: 'How far in advance should I book my event decor?',
+ answer: 'We recommend booking 4 to 8 weeks in advance for weekend milestones, birthdays, and baby showers, and 2 to 4 months for weddings and large corporate galas. However, if your event is sooner, reach out! If our setup crew has availability, we gladly accommodate rush dates.',
+ },
+ {
+ category: 'Full-Service Experience',
+ question: 'Do you handle delivery, setup, and teardown?',
+ answer: 'Yes! Every Wise Hearted installation is 100% full-service. We arrive on-site early to professionally assemble and style every balloon garland, backdrop panel, and floral accent. After your celebration concludes, our team returns to safely strike and remove all rental backdrop structures.',
+ },
+ {
+ category: 'Customization & Themes',
+ question: 'Can you match my exact Pinterest board, theme, or invitation colors?',
+ answer: 'Absolutely! Custom color matching is our specialty. We use premium, professional-grade balloons and advanced custom double-stuffing techniques to create bespoke color palettes (e.g., custom matte terracotta, dusty rose, chrome gold, or pearl tones) that flawlessly match your invitations and venue mood board.',
+ },
+ {
+ category: 'Outdoor Events',
+ question: 'Can balloon garlands and arched backdrops be installed outdoors?',
+ answer: 'Yes! We use heavy-duty commercial baseplates, reinforced framing, and specialized rigging techniques designed specifically for Southern California weather. We also advise on ideal shaded placement to keep balloons looking glossy and vibrant all day.',
+ },
+ {
+ category: 'Service Areas',
+ question: 'What areas throughout Southern California do you serve?',
+ answer: 'We proudly serve the entire Antelope Valley (Palmdale, Lancaster, Quartz Hill), Santa Clarita Valley (Valencia, Stevenson Ranch, Canyon Country), San Fernando Valley, Greater Los Angeles, and surrounding counties. We are also available for select destination events.',
+ },
+ {
+ category: 'Payment & Quotes',
+ question: 'How does the quote and booking process work?',
+ answer: 'It starts with submitting a custom quote request on our website. Jackie will review your date, theme, and vision, then provide a detailed design proposal. A 50% retainer and signed contract officially locks your date on our calendar, with the remaining balance due prior to event setup.',
+ },
+];
+
+export default function FaqSection() {
+ const [openIndex, setOpenIndex] = useState(0);
+
+ const toggleFaq = (index: number) => {
+ setOpenIndex(openIndex === index ? null : index);
+ };
+
+ return (
+
+
+ {/* Header */}
+
+
+ ❓ Frequently Asked Questions
+
+
+ Everything You Need To Know
+
+
+ Got questions about setup timing, color customization, or booking deposits? Here are answers to our most common client inquiries.
+