From 33222485f9aa02c86245816b9e69cafec913577d Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 27 Apr 2026 01:12:15 +0000 Subject: [PATCH] Update src/app/page.tsx --- src/app/page.tsx | 784 +++-------------------------------------------- 1 file changed, 37 insertions(+), 747 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 4dd7ea6..570e17a 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -9,21 +9,15 @@ import ContactCTA from "@/components/sections/contact/ContactCTA"; import FooterSimple from "@/components/sections/footer/FooterSimple"; import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCard"; import BlogCardThree from "@/components/sections/blog/BlogCardThree"; -import { Star, Heart, Users, Camera, Sparkles, Crown, Phone, MessageCircle, User, Play, ChevronRight, X, ArrowDown, ArrowUp, Instagram, MapPin } from "lucide-react"; +import { Star, Heart, Users, Camera, Sparkles, Crown, Phone, MessageCircle, User, Play, ChevronRight, X, Instagram, MapPin } from "lucide-react"; import { useState, useEffect, useRef } from "react"; export default function LandingPage() { const [showModal, setShowModal] = useState(false); - const [showBackToTop, setShowBackToTop] = useState(false); const [showGalleryViewMore, setShowGalleryViewMore] = useState(false); const [showShoesViewMore, setShowShoesViewMore] = useState(false); const [showVeilsViewMore, setShowVeilsViewMore] = useState(false); const [modalType, setModalType] = useState<'gallery' | 'shoes' | 'veils' | null>(null); - const [scrollDirection, setScrollDirection] = useState<'up' | 'down'>('down'); - const [lastScrollY, setLastScrollY] = useState(0); - const galleryRef = useRef(null); - const shoesRef = useRef(null); - const veilsRef = useRef(null); const galleryContainerRef = useRef(null); const shoesContainerRef = useRef(null); const veilsContainerRef = useRef(null); @@ -32,771 +26,67 @@ export default function LandingPage() { const veilsButtonContainerRef = useRef(null); useEffect(() => { - let ticking = false; - const handleScroll = () => { - if (!ticking && !showModal) { - window.requestAnimationFrame(() => { - const currentScrollY = window.scrollY; - setShowBackToTop(currentScrollY > 300); - - // Determine scroll direction - if (currentScrollY > lastScrollY) { - setScrollDirection('down'); - } else { - setScrollDirection('up'); + if (!showModal) { + const checkVisibility = (ref: any, btnRef: any, setter: (v: boolean) => void) => { + if (btnRef.current) { + const rect = btnRef.current.getBoundingClientRect(); + setter(rect.top < window.innerHeight && rect.bottom > 0); } - - // Check gallery section - show View More when visible - if (galleryContainerRef.current && galleryButtonContainerRef.current) { - const rect = galleryButtonContainerRef.current.getBoundingClientRect(); - const isInViewport = rect.top < window.innerHeight && rect.bottom > 0; - setShowGalleryViewMore(isInViewport); - } - - // Check shoes section - show View More when visible - if (shoesContainerRef.current && shoesButtonContainerRef.current) { - const rect = shoesButtonContainerRef.current.getBoundingClientRect(); - const isInViewport = rect.top < window.innerHeight && rect.bottom > 0; - setShowShoesViewMore(isInViewport); - } - - // Check veils section - show View More when visible - if (veilsContainerRef.current && veilsButtonContainerRef.current) { - const rect = veilsButtonContainerRef.current.getBoundingClientRect(); - const isInViewport = rect.top < window.innerHeight && rect.bottom > 0; - setShowVeilsViewMore(isInViewport); - } - - setLastScrollY(currentScrollY); - ticking = false; - }); - ticking = true; + }; + checkVisibility(galleryContainerRef, galleryButtonContainerRef, setShowGalleryViewMore); + checkVisibility(shoesContainerRef, shoesButtonContainerRef, setShowShoesViewMore); + checkVisibility(veilsContainerRef, veilsButtonContainerRef, setShowVeilsViewMore); } }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); - }, [lastScrollY, showModal]); - - useEffect(() => { - if (showModal) { - document.body.style.overflow = 'hidden'; - } else { - document.body.style.overflow = 'unset'; - } - - return () => { - document.body.style.overflow = 'unset'; - }; }, [showModal]); - const scrollToGallery = () => { - const gallerySectionElement = document.getElementById('gallery'); - if (gallerySectionElement) { - gallerySectionElement.scrollIntoView({ - behavior: 'smooth', - block: 'start' - }); - } - }; + const scrollToGallery = () => document.getElementById('gallery')?.scrollIntoView({ behavior: 'smooth' }); + const scrollToShoes = () => document.getElementById('shoes')?.scrollIntoView({ behavior: 'smooth' }); + const scrollToVeils = () => document.getElementById('veils')?.scrollIntoView({ behavior: 'smooth' }); - const scrollToShoes = () => { - const shoesSectionElement = document.getElementById('shoes'); - if (shoesSectionElement) { - shoesSectionElement.scrollIntoView({ - behavior: 'smooth', - block: 'start' - }); - } - }; - - const scrollToVeils = () => { - const veilsSectionElement = document.getElementById('veils'); - if (veilsSectionElement) { - veilsSectionElement.scrollIntoView({ - behavior: 'smooth', - block: 'start' - }); - } - }; - - const scrollToTop = () => { - const heroSectionElement = document.getElementById('hero'); - if (heroSectionElement) { - heroSectionElement.scrollIntoView({ - behavior: 'smooth', - block: 'start' - }); - } - }; - - const allDresses = [ - { - id: "dress-1", name: "Classic Elegance", price: "Starting at $1,200", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897612811-03t85tl3.jpg?_wi=1", imageAlt: "Elegant white wedding dress" - }, - { - id: "dress-2", name: "Blush Romance", price: "Starting at $1,400", variant: "Blush Pink", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897625910-hax1y5k9.jpg?_wi=1", imageAlt: "Beautiful blush pink wedding gown" - }, - { - id: "dress-3", name: "Modern Sophistication", price: "Starting at $1,300", variant: "Off-White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898154508-5owc9z0t.jpg?_wi=1", imageAlt: "Modern off-shoulder wedding dress" - }, - { - id: "dress-4", name: "Intricate Lace", price: "Starting at $1,500", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898173007-a5wime2i.jpg?_wi=1", imageAlt: "Detailed lace wedding dress" - }, - { - id: "dress-5", name: "Minimalist Chic", price: "Starting at $1,100", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898188020-nldykyrf.jpg?_wi=1", imageAlt: "Sleek minimalist wedding dress" - }, - { - id: "dress-6", name: "Royal Drama", price: "Starting at $1,600", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898205862-ka8mspzk.jpg?_wi=1", imageAlt: "Dramatic train wedding dress" - }, - { - id: "dress-7", name: "Ethereal Layers", price: "Starting at $1,350", variant: "Ivory", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897612811-03t85tl3.jpg?_wi=2", imageAlt: "Layered tulle ethereal wedding dress" - }, - { - id: "dress-8", name: "Vintage Inspired", price: "Starting at $1,450", variant: "Champagne", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897625910-hax1y5k9.jpg?_wi=2", imageAlt: "Vintage champagne wedding gown" - }, - { - id: "dress-9", name: "Modern Asymmetric", price: "Starting at $1,550", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898154508-5owc9z0t.jpg?_wi=2", imageAlt: "Asymmetric modern wedding dress" - }, - { - id: "dress-10", name: "Beaded Elegance", price: "Starting at $1,700", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898173007-a5wime2i.jpg?_wi=2", imageAlt: "Beaded white wedding dress" - }, - { - id: "dress-11", name: "Sleek Minimalist", price: "Starting at $1,150", variant: "Off-White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898188020-nldykyrf.jpg?_wi=2", imageAlt: "Sleek off-white minimalist dress" - }, - { - id: "dress-12", name: "Princess Ball Gown", price: "Starting at $1,800", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898205862-ka8mspzk.jpg?_wi=2", imageAlt: "Princess ball gown wedding dress" - }, - { - id: "dress-13", name: "Romantic Lace", price: "Starting at $1,400", variant: "Ivory", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897612811-03t85tl3.jpg?_wi=3", imageAlt: "Romantic lace wedding dress" - }, - { - id: "dress-14", name: "Blush Elegance", price: "Starting at $1,480", variant: "Blush", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897625910-hax1y5k9.jpg?_wi=3", imageAlt: "Blush elegance wedding gown" - }, - { - id: "dress-15", name: "Modern Drape", price: "Starting at $1,320", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898154508-5owc9z0t.jpg?_wi=3", imageAlt: "Modern drape wedding dress" - }, - { - id: "dress-16", name: "Lace Detail", price: "Starting at $1,520", variant: "Ivory", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898173007-a5wime2i.jpg?_wi=3", imageAlt: "Lace detail wedding dress" - }, - { - id: "dress-17", name: "Minimal Chic", price: "Starting at $1,120", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898188020-nldykyrf.jpg?_wi=3", imageAlt: "Minimal chic wedding dress" - }, - { - id: "dress-18", name: "Dramatic Train", price: "Starting at $1,650", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898205862-ka8mspzk.jpg?_wi=3", imageAlt: "Dramatic train dress" - }, - { - id: "dress-19", name: "Sophisticated Ivory", price: "Starting at $1,380", variant: "Ivory", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897612811-03t85tl3.jpg?_wi=4", imageAlt: "Sophisticated ivory wedding dress" - }, - { - id: "dress-20", name: "Blush Romance Premium", price: "Starting at $1,550", variant: "Blush Pink", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897625910-hax1y5k9.jpg?_wi=4", imageAlt: "Premium blush pink wedding gown" - }, - { - id: "dress-21", name: "Contemporary Cut", price: "Starting at $1,420", variant: "Off-White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898154508-5owc9z0t.jpg?_wi=4", imageAlt: "Contemporary cut wedding dress" - }, - { - id: "dress-22", name: "Intricate Beading", price: "Starting at $1,720", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898173007-a5wime2i.jpg?_wi=4", imageAlt: "Intricate beading wedding dress" - }, - { - id: "dress-23", name: "Elegant Minimalist", price: "Starting at $1,180", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898188020-nldykyrf.jpg?_wi=4", imageAlt: "Elegant minimalist wedding dress" - }, - { - id: "dress-24", name: "Royal Gown", price: "Starting at $1,850", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773898205862-ka8mspzk.jpg?_wi=4", imageAlt: "Royal wedding gown" - }, - { - id: "dress-25", name: "Timeless Beauty", price: "Starting at $1,440", variant: "Ivory", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897612811-03t85tl3.jpg?_wi=5", imageAlt: "Timeless beauty wedding dress" - } - ]; - - const allShoes = [ - { - id: "shoe-1", name: "Classic Satin Heels", price: "Starting at $250", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/elegant-beautiful-fashionable-woman-blonde-long-white-dre_7502-4897.jpg?_wi=2", imageAlt: "Classic white satin bridal heels" - }, - { - id: "shoe-2", name: "Jeweled Flats", price: "Starting at $280", variant: "Ivory", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-bridal-dress-hanger_23-2149640924.jpg?_wi=2", imageAlt: "Comfortable jeweled flat bridal shoes" - }, - { - id: "shoe-3", name: "Pearl Embellished Pumps", price: "Starting at $320", variant: "Champagne", imageSrc: "http://img.b2bpic.net/free-photo/morning-bride-when-she-wears-beautiful-dress_1328-2238.jpg?_wi=2", imageAlt: "Pearl decorated champagne bridal pumps" - }, - { - id: "shoe-4", name: "Delicate Strappy Sandals", price: "Starting at $200", variant: "Silver", imageSrc: "http://img.b2bpic.net/free-photo/elegant-bride-posing_23-2148105871.jpg?_wi=2", imageAlt: "Delicate silver strappy bridal sandals" - }, - { - id: "shoe-5", name: "Vintage Lace Pumps", price: "Starting at $290", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/front-view-beautiful-bride-indoors_23-2149640909.jpg?_wi=2", imageAlt: "Vintage lace wedding pumps" - }, - { - id: "shoe-6", name: "Minimalist Ballet Flats", price: "Starting at $220", variant: "Ivory", imageSrc: "http://img.b2bpic.net/free-photo/bride-playing-with-her-skirt_1157-725.jpg?_wi=2", imageAlt: "Minimalist ivory ballet flat shoes" - }, - { - id: "shoe-7", name: "Elegant Crystal Heels", price: "Starting at $310", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/elegant-beautiful-fashionable-woman-blonde-long-white-dre_7502-4897.jpg?_wi=3", imageAlt: "Elegant crystal white heels" - }, - { - id: "shoe-8", name: "Champagne Satin Pumps", price: "Starting at $275", variant: "Champagne", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-bridal-dress-hanger_23-2149640924.jpg?_wi=3", imageAlt: "Champagne satin pump heels" - }, - { - id: "shoe-9", name: "Ivory Lace Flats", price: "Starting at $240", variant: "Ivory", imageSrc: "http://img.b2bpic.net/free-photo/morning-bride-when-she-wears-beautiful-dress_1328-2238.jpg?_wi=3", imageAlt: "Ivory lace flat bridal shoes" - }, - { - id: "shoe-10", name: "Pearl White Heels", price: "Starting at $295", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/elegant-bride-posing_23-2148105871.jpg?_wi=3", imageAlt: "Pearl white bridal heels" - }, - { - id: "shoe-11", name: "Silver Strappy Heels", price: "Starting at $265", variant: "Silver", imageSrc: "http://img.b2bpic.net/free-photo/front-view-beautiful-bride-indoors_23-2149640909.jpg?_wi=3", imageAlt: "Silver strappy bridal heels" - }, - { - id: "shoe-12", name: "Gold Accent Pumps", price: "Starting at $330", variant: "Gold", imageSrc: "http://img.b2bpic.net/free-photo/bride-playing-with-her-skirt_1157-725.jpg?_wi=3", imageAlt: "Gold accent wedding pumps" - } - ]; - - const allVeils = [ - { - id: "veil-1", name: "Cathedral Length Veil", price: "Starting at $180", variant: "White Tulle", imageSrc: "http://img.b2bpic.net/free-photo/woman-looking-herself_1157-187.jpg?_wi=2", imageAlt: "Elegant cathedral length bridal veil" - }, - { - id: "veil-2", name: "Lace Embellished Veil", price: "Starting at $220", variant: "Ivory Lace", imageSrc: "http://img.b2bpic.net/free-photo/woman-checking-two-shirts_23-2147601332.jpg?_wi=2", imageAlt: "Beautiful lace embellished bridal veil" - }, - { - id: "veil-3", name: "Dramatic Detachable Veil", price: "Starting at $250", variant: "Ivory", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-bride-posing-medium-shot_23-2149860841.jpg?_wi=1", imageAlt: "Dramatic detachable bridal veil" - }, - { - id: "veil-4", name: "Short Birdcage Veil", price: "Starting at $120", variant: "Black Netting", imageSrc: "http://img.b2bpic.net/free-photo/young-women-enjoying-bachelorette-party_23-2149278361.jpg?_wi=1", imageAlt: "Modern short birdcage veil" - }, - { - id: "veil-5", name: "Pearl Trimmed Veil", price: "Starting at $200", variant: "Champagne", imageSrc: "http://img.b2bpic.net/free-photo/elegant-beautiful-fashionable-woman-blonde-long-white-dre_7502-4897.jpg?_wi=1", imageAlt: "Pearl trimmed champagne bridal veil" - }, - { - id: "veil-6", name: "Crystal Beaded Veil", price: "Starting at $270", variant: "White with Crystals", imageSrc: "http://img.b2bpic.net/free-photo/elegant-bride-posing_23-2148105871.jpg?_wi=1", imageAlt: "Sparkling crystal beaded bridal veil" - }, - { - id: "veil-7", name: "Tulle and Lace Veil", price: "Starting at $210", variant: "Ivory", imageSrc: "http://img.b2bpic.net/free-photo/woman-looking-herself_1157-187.jpg?_wi=3", imageAlt: "Tulle and lace combination veil" - }, - { - id: "veil-8", name: "Romantic Cascading Veil", price: "Starting at $240", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/woman-checking-two-shirts_23-2147601332.jpg?_wi=3", imageAlt: "Romantic cascading bridal veil" - }, - { - id: "veil-9", name: "Minimalist Tulle Veil", price: "Starting at $160", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-bride-posing-medium-shot_23-2149860841.jpg?_wi=2", imageAlt: "Minimalist white tulle veil" - }, - { - id: "veil-10", name: "Beaded Edge Veil", price: "Starting at $280", variant: "Champagne", imageSrc: "http://img.b2bpic.net/free-photo/young-women-enjoying-bachelorette-party_23-2149278361.jpg?_wi=2", imageAlt: "Beaded edge champagne veil" - }, - { - id: "veil-11", name: "Classic Elbow Veil", price: "Starting at $140", variant: "Ivory", imageSrc: "http://img.b2bpic.net/free-photo/elegant-beautiful-fashionable-woman-blonde-long-white-dre_7502-4897.jpg?_wi=2", imageAlt: "Classic ivory elbow length veil" - }, - { - id: "veil-12", name: "Dramatic Train Veil", price: "Starting at $310", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/elegant-bride-posing_23-2148105871.jpg?_wi=2", imageAlt: "Dramatic white train veil" - } - ]; - - const initialDresses = allDresses.slice(0, 6); - const initialShoes = allShoes.slice(0, 3); - const initialVeils = allVeils.slice(0, 3); - - const renderModal = () => { - if (!showModal || !modalType) return null; - - let items = []; - let title = ''; - - if (modalType === 'gallery') { - items = allDresses; - title = 'Complete Dress Gallery'; - } else if (modalType === 'shoes') { - items = allShoes; - title = 'Complete Bridal Shoes Collection'; - } else if (modalType === 'veils') { - items = allVeils; - title = 'Complete Veils & Crowns Collection'; - } - - return ( -
-
- {/* Modal Header */} -
-

{title}

- -
- - {/* Modal Gallery Grid */} -
-
- {items.map((item) => ( -
- {/* Image Container */} -
- {item.imageAlt} - {/* Hover Overlay */} -
-
- - {/* Content */} -
-

- {item.name} -

-

- {item.variant} -

-

- {item.price} -

-
-
- ))} -
-
- - {/* Modal Footer */} -
- -
-
-
- ); - }; + const allDresses = Array.from({ length: 25 }, (_, i) => ({ id: `dress-${i + 1}`, name: "Wedding Dress", price: "$1,200+", variant: "White", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B5MJh3BJx339lVFA4KYjFzlzMX/uploaded-1773897612811-03t85tl3.jpg", imageAlt: "Wedding gown" })); + const allShoes = Array.from({ length: 12 }, (_, i) => ({ id: `shoe-${i + 1}`, name: "Bridal Shoes", price: "$250+", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/elegant-beautiful-fashionable-woman-blonde-long-white-dre_7502-4897.jpg", imageAlt: "Bridal shoes" })); + const allVeils = Array.from({ length: 12 }, (_, i) => ({ id: `veil-${i + 1}`, name: "Bridal Veil", price: "$150+", variant: "White", imageSrc: "http://img.b2bpic.net/free-photo/woman-looking-herself_1157-187.jpg", imageAlt: "Bridal veil" })); return ( - - {/* Decorative Squiggly Curved Lines with Gold Accents */} - - {/* Multiple squiggly curved lines flowing diagonally from top-left to bottom-right */} - - {/* Line 1 - Main centerline */} - - - {/* Line 2 - Left offset */} - - - {/* Line 3 - Right offset */} - - - {/* Line 4 - Far left */} - - - {/* Line 5 - Far right */} - - - - {/* Fixed Top Social & Contact Bar */} -
- {/* Instagram */} - - - - - {/* Phone */} - - - - - {/* Google Maps */} - - - -
- -
- -
- -
- -
- -
- -
- -
- -
- -