﻿@import url("https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600;700&family=Playfair+Display:wght@300;400;500;600;700&family=Poppins:wght@300;400;500;600&display=swap");:root{--wedding-primary: #d4a574;--wedding-secondary: #8b7355;--wedding-accent: #f7e7ce;--wedding-pink: #e8b4b8;--wedding-blue: #6b8cae;--wedding-dark: #2c2c2c;--wedding-light: #fefefe}.wedding-page{font-family:'Poppins', sans-serif;color:var(--wedding-dark);line-height:1.6}.wedding-page *{box-sizing:border-box}.wedding-page h1,.wedding-page h2,.wedding-page h3,.wedding-page h4,.wedding-page h5,.wedding-page h6{font-family:'Playfair Display', serif}.elegant-font{font-family:'Playfair Display', serif}.script-font{font-family:'Dancing Script', cursive}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, #f7e7ce 0%, #d4a574 100%);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity 0.5s ease}.preloader .preloader-content{text-align:center;color:#8b7355}.preloader .preloader-content .preloader-heart{font-size:3rem;color:#d4a574;animation:heartbeat 1.5s ease-in-out infinite;margin-bottom:1rem}.preloader .preloader-content h4{font-family:'Playfair Display', serif;font-size:1.8rem;margin-bottom:0.5rem}.preloader .preloader-content p{font-size:0.9rem;opacity:0.8}.wedding-hero{background:linear-gradient(135deg, #f7e7ce 0%, #e8d5b7 50%, #d4a574 100%);position:relative;min-height:100vh;display:flex;align-items:center;background-image:linear-gradient(rgba(212,165,116,0.1), rgba(212,165,116,0.1));background-size:cover;background-position:center;background-repeat:no-repeat}.wedding-hero .hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%, rgba(212,165,116,0.1) 0%, transparent 50%),radial-gradient(circle at 80% 20%, rgba(232,180,184,0.1) 0%, transparent 50%);z-index:1}.wedding-hero .floral-decorations{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.wedding-hero .floral-decorations::before,.wedding-hero .floral-decorations::after{content:'❀';position:absolute;font-size:4rem;color:rgba(212,165,116,0.3);font-family:serif}.wedding-hero .floral-decorations::before{top:20px;left:20px}.wedding-hero .floral-decorations::after{bottom:20px;right:20px;transform:rotate(180deg)}.wedding-hero .wedding-date{margin-bottom:2rem}.wedding-hero .wedding-date .date-text{font-size:1.2rem;font-weight:300;letter-spacing:3px;color:var(--wedding-secondary);text-transform:uppercase}.wedding-hero .couple-names{margin-bottom:3rem}.wedding-hero .couple-names .bride-name,.wedding-hero .couple-names .groom-name{font-size:4rem;font-weight:300;color:var(--wedding-primary);margin:0;text-shadow:2px 2px 4px rgba(0,0,0,0.1);line-height:1}@media (max-width: 768px){.wedding-hero .couple-names .bride-name,.wedding-hero .couple-names .groom-name{font-size:2.5rem}}.wedding-hero .couple-names .ampersand{font-family:'Dancing Script', cursive;font-size:3rem;color:var(--wedding-secondary);font-weight:400;margin:2rem 0}@media (max-width: 768px){.wedding-hero .couple-names .ampersand{font-size:2rem;margin:1rem 0}}.wedding-hero .save-date{margin-bottom:3rem}.wedding-hero .save-date p{font-family:'Dancing Script', cursive;font-size:1.5rem;color:var(--wedding-secondary);margin:0}.wedding-hero .scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%)}.wedding-hero .scroll-indicator i{font-size:1.5rem;color:var(--wedding-primary);animation:bounce 2s infinite}.wedding-hero .hero-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(0,0,0,0.4) 0%, rgba(44,44,44,0.3) 25%, rgba(212,165,116,0.2) 50%, rgba(139,115,85,0.3) 75%, rgba(0,0,0,0.4) 100%);z-index:2}.wedding-hero .hero-text-backdrop{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:90%;max-width:800px;height:70%;background:radial-gradient(ellipse at center, rgba(255,255,255,0.15) 0%, rgba(247,231,206,0.1) 30%, rgba(212,165,116,0.05) 60%, transparent 80%);border-radius:50%;backdrop-filter:blur(2px);z-index:3}.wedding-hero .hero-content-card{background:rgba(255,255,255,0.1);border-radius:20px;backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,0.2);box-shadow:0 8px 32px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.2);position:relative;z-index:4}.wedding-hero .hero-content-card .date-text{color:#ffffff !important;text-shadow:2px 2px 4px rgba(0,0,0,0.5);font-weight:500 !important}.wedding-hero .hero-content-card .bride-name,.wedding-hero .hero-content-card .groom-name{color:#ffffff !important;text-shadow:3px 3px 6px rgba(0,0,0,0.6);font-weight:400 !important}.wedding-hero .hero-content-card .ampersand{color:#f7e7ce !important;text-shadow:2px 2px 4px rgba(0,0,0,0.5)}.wedding-hero .hero-content-card .hero-subtitle{color:#f7e7ce !important;text-shadow:2px 2px 4px rgba(0,0,0,0.4);font-weight:500 !important}@media (max-width: 768px){.wedding-hero{background-attachment:scroll !important;min-height:100vh}.wedding-hero .hero-image-overlay{background:linear-gradient(135deg, rgba(0,0,0,0.5) 0%, rgba(44,44,44,0.4) 25%, rgba(212,165,116,0.3) 50%, rgba(139,115,85,0.4) 75%, rgba(0,0,0,0.5) 100%)}.wedding-hero .hero-content-card{background:rgba(255,255,255,0.15);backdrop-filter:blur(20px)}.wedding-hero .hero-content-card .date-text,.wedding-hero .hero-content-card .bride-name,.wedding-hero .hero-content-card .groom-name{text-shadow:3px 3px 8px rgba(0,0,0,0.7)}}.section-title{font-family:'Playfair Display', serif;font-size:2.5rem;color:var(--wedding-primary);font-weight:400;text-align:center;position:relative;margin-bottom:3rem}.section-title::after{content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80px;height:2px;background:var(--wedding-secondary)}@media (max-width: 768px){.section-title{font-size:2rem}}.parents-section{padding:5rem 0;background:#f8f9fa}.parents-section .parent-card{text-align:center;padding:2rem}.parents-section .parent-card .parent-title{font-family:'Dancing Script', cursive;font-size:2rem;color:var(--wedding-secondary);margin-bottom:1.5rem}.parents-section .parent-card .parent-names .parent-name{font-size:1.1rem;color:var(--wedding-dark);margin-bottom:0.5rem;font-weight:400}.rsvp-section{padding:5rem 0;background:linear-gradient(135deg, var(--wedding-primary) 0%, var(--wedding-secondary) 100%);position:relative}.rsvp-section .rsvp-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="white" opacity="0.1"/></svg>') repeat;z-index:1}.rsvp-section .rsvp-btn,.rsvp-section .final-rsvp-btn{font-size:1.2rem;font-weight:600;border-radius:50px;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(0,0,0,0.2);padding:15px 30px}.rsvp-section .rsvp-btn:hover,.rsvp-section .final-rsvp-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.timeline-section{padding:5rem 0}.timeline-section .wedding-timeline{position:relative}.timeline-section .timeline-item{position:relative;background:rgba(255,255,255,0.8);border-radius:15px;padding:1.5rem;box-shadow:0 8px 25px rgba(0,0,0,0.1);backdrop-filter:blur(10px);border:1px solid rgba(212,165,116,0.2);transition:all 0.3s ease}.timeline-section .timeline-item:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,0.15)}@media (max-width: 768px){.timeline-section .timeline-item{padding:1rem;margin-bottom:1.5rem}.timeline-section .timeline-item .row{text-align:center !important}}.timeline-section .timeline-time .time{background:linear-gradient(135deg, #d4a574 0%, #c19660 100%);color:white;padding:0.5rem 1rem;border-radius:25px;font-weight:600;font-size:1rem;box-shadow:0 4px 15px rgba(212,165,116,0.3);display:inline-block}@media (max-width: 768px){.timeline-section .timeline-time .time{font-size:0.9rem;padding:0.4rem 0.8rem}}.timeline-section .timeline-icon{width:60px;height:60px;background:rgba(255,255,255,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #d4a574;box-shadow:0 4px 15px rgba(212,165,116,0.3)}.timeline-section .timeline-icon i{font-size:1.5rem;color:#d4a574}@media (max-width: 768px){.timeline-section .timeline-icon{width:50px;height:50px;margin:1rem auto}.timeline-section .timeline-icon i{font-size:1.2rem}}.timeline-section .timeline-content h4{color:#2c2c2c;font-family:'Playfair Display', serif;font-weight:600;margin-bottom:0.5rem;font-size:1.3rem}@media (max-width: 768px){.timeline-section .timeline-content h4{font-size:1.1rem;margin-bottom:1rem}}.timeline-section .timeline-content .venue-name{font-weight:600;color:#8b7355;margin-bottom:0.3rem;font-size:1.1rem}@media (max-width: 768px){.timeline-section .timeline-content .venue-name{font-size:1rem}}.timeline-section .timeline-content .venue-address{color:#666;margin-bottom:0.8rem;font-size:0.95rem;line-height:1.4}@media (max-width: 768px){.timeline-section .timeline-content .venue-address{font-size:0.9rem;margin-bottom:1rem}}.timeline-section .timeline-content p{color:#666;margin-bottom:0;line-height:1.5}@media (max-width: 768px){.timeline-section .timeline-content p{font-size:0.9rem}}.dress-code-section{padding:5rem 0;background:#f8f9fa}.dress-code-section .dress-code-card{text-align:center;padding:2rem;background:white;border-radius:15px;box-shadow:0 4px 20px rgba(0,0,0,0.1);transition:all 0.3s ease;height:100%}.dress-code-section .dress-code-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,0.15)}.dress-code-section .dress-code-card .dress-icon i{color:var(--wedding-primary)}.dress-code-section .dress-code-card h4{color:var(--wedding-dark);font-weight:600;margin-bottom:1rem}.dress-code-section .dress-code-card .dress-description{font-size:1.1rem;color:var(--wedding-secondary);margin-bottom:0.5rem}.dress-code-section .dress-code-card .dress-note{font-size:0.9rem;color:#666;font-style:italic}.gifts-section{padding:5rem 0}.gifts-section .gift-card{background:white;border-radius:15px;box-shadow:0 4px 20px rgba(0,0,0,0.1);transition:all 0.3s ease;border:2px solid var(--wedding-accent);height:100%}.gifts-section .gift-card:hover{transform:translateY(-5px);border-color:var(--wedding-primary)}.gifts-section .gift-card .gift-icon i{color:var(--wedding-primary)}.gifts-section .gift-card h4{color:var(--wedding-dark);margin-bottom:1.5rem}.gifts-section .gift-card .bank-details p{margin-bottom:0.5rem}.gifts-section .gift-card .bank-details p strong{color:var(--wedding-secondary)}.gifts-section .gift-card .gift-description{color:#666;line-height:1.6}.special-info-section{padding:5rem 0;background:linear-gradient(135deg, var(--wedding-primary) 0%, var(--wedding-secondary) 100%)}.special-info-section .info-card{padding:2rem}.special-info-section .info-card .info-icon i{color:rgba(255,255,255,0.9);margin-bottom:1rem}.special-info-section .info-card h4{color:white;font-weight:600;margin-bottom:1rem}.special-info-section .info-card p{color:rgba(255,255,255,0.9)}.special-info-section .info-card p.hashtag{font-size:1.3rem;font-weight:600;color:var(--wedding-accent)}.gallery-section{padding:5rem 0;background:#f8f9fa}.gallery-section .gallery-item{overflow:hidden;border-radius:15px;margin-bottom:1rem}.gallery-section .gallery-item img{transition:all 0.3s ease;width:100%;height:250px;object-fit:cover}.gallery-section .gallery-item img:hover{transform:scale(1.05)}.quote-section{padding:5rem 0;position:relative;background:linear-gradient(rgba(212,165,116,0.1), rgba(212,165,116,0.1)),url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20 20h60v60H20z" fill="none" stroke="%23d4a574" stroke-width="0.5" opacity="0.3"/></svg>')}.quote-section[data-background]::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;opacity:0.2;z-index:1}.quote-background-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(212,165,116,0.2) 0%, rgba(244,205,179,0.3) 100%);z-index:2}.quote-card{background:rgba(255,255,255,0.95);border-radius:15px;backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,0.1);position:relative;z-index:3}.quote-card .quote-text{font-family:'Playfair Display', serif;font-size:1.4rem;color:var(--wedding-dark);font-style:italic;line-height:1.6;margin-bottom:0}.final-rsvp-section{padding:5rem 0;background:linear-gradient(135deg, var(--wedding-secondary) 0%, var(--wedding-primary) 100%)}.wedding-footer{padding:2rem 0;background:var(--wedding-dark) !important}.wedding-footer p{margin:0}.wedding-footer p:first-child{font-size:1.2rem;font-weight:500}.wedding-footer p.small{opacity:0.7}.wedding-footer .fa-heart{animation:heartbeat 2s ease-in-out infinite}.text-pink{color:var(--wedding-pink) !important}.bg-elegant-cream{background:linear-gradient(135deg, #faf8f4 0%, #f7f2ed 100%) !important}.bg-elegant-blush{background:linear-gradient(135deg, #fcf7f8 0%, #f9f0f2 100%) !important}.bg-elegant-pearl{background:linear-gradient(135deg, #f8f6f3 0%, #f4f1ed 100%) !important}.bg-wedding-rose{background:linear-gradient(135deg, #d4a574 0%, #c19660 100%) !important}.bg-wedding-sage{background:linear-gradient(135deg, #8b7355 0%, #7a6449 100%) !important}.bg-wedding-charcoal{background:linear-gradient(135deg, #2c2c2c 0%, #1e1e1e 100%) !important}.text-cream{color:#fefefe !important}.text-wedding-rose{color:#d4a574 !important}.text-wedding-sage{color:#8b7355 !important}.text-wedding-charcoal{color:#2c2c2c !important}.btn-elegant-rose{background:linear-gradient(135deg, #d4a574 0%, #c19660 100%);border:2px solid #d4a574;color:#ffffff;font-weight:600;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(212,165,116,0.3)}.btn-elegant-rose:hover{background:linear-gradient(135deg, #c19660 0%, #ad8650 100%);border-color:#c19660;color:#ffffff;transform:translateY(-2px);box-shadow:0 6px 25px rgba(212,165,116,0.4)}.btn-elegant-rose:focus,.btn-elegant-rose:active{background:linear-gradient(135deg, #c19660 0%, #ad8650 100%);border-color:#c19660;color:#ffffff;box-shadow:0 0 0 0.2rem rgba(212,165,116,0.25)}.btn-elegant-sage{background:linear-gradient(135deg, #8b7355 0%, #7a6449 100%);border:2px solid #8b7355;color:#ffffff;font-weight:600;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(139,115,85,0.3)}.btn-elegant-sage:hover{background:linear-gradient(135deg, #7a6449 0%, #69543e 100%);border-color:#7a6449;color:#ffffff;transform:translateY(-2px);box-shadow:0 6px 25px rgba(139,115,85,0.4)}.btn-elegant-sage:focus,.btn-elegant-sage:active{background:linear-gradient(135deg, #7a6449 0%, #69543e 100%);border-color:#7a6449;color:#ffffff;box-shadow:0 0 0 0.2rem rgba(139,115,85,0.25)}.btn-outline-wedding-rose{background:transparent;border:2px solid #d4a574;color:#d4a574;font-weight:600;letter-spacing:0.5px;transition:all 0.3s ease}.btn-outline-wedding-rose:hover{background:#d4a574;border-color:#d4a574;color:#ffffff;transform:translateY(-1px);box-shadow:0 4px 15px rgba(212,165,116,0.3)}.btn-outline-wedding-rose:focus,.btn-outline-wedding-rose:active{background:#d4a574;border-color:#d4a574;color:#ffffff;box-shadow:0 0 0 0.2rem rgba(212,165,116,0.25)}.btn-outline-wedding-sage{background:transparent;border:2px solid #8b7355;color:#8b7355;font-weight:600;letter-spacing:0.5px;transition:all 0.3s ease}.btn-outline-wedding-sage:hover{background:#8b7355;border-color:#8b7355;color:#ffffff;transform:translateY(-1px);box-shadow:0 4px 15px rgba(139,115,85,0.3)}.btn-outline-wedding-sage:focus,.btn-outline-wedding-sage:active{background:#8b7355;border-color:#8b7355;color:#ffffff;box-shadow:0 0 0 0.2rem rgba(139,115,85,0.25)}.btn-outline-cream{background:transparent;border:2px solid #fefefe;color:#fefefe;font-weight:600;letter-spacing:0.5px;transition:all 0.3s ease}.btn-outline-cream:hover{background:#fefefe;border-color:#fefefe;color:#2c2c2c;transform:translateY(-1px);box-shadow:0 4px 15px rgba(254,254,254,0.2)}.btn-outline-cream:focus,.btn-outline-cream:active{background:#fefefe;border-color:#fefefe;color:#2c2c2c;box-shadow:0 0 0 0.2rem rgba(254,254,254,0.25)}.text-blue{color:var(--wedding-blue) !important}.bg-gradient-primary{background:linear-gradient(135deg, var(--wedding-primary) 0%, var(--wedding-secondary) 100%) !important}@keyframes heartbeat{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0) translateX(-50%)}40%{transform:translateY(-10px) translateX(-50%)}60%{transform:translateY(-5px) translateX(-50%)}}@media (max-width: 768px){.wedding-hero{padding:2rem 0}.wedding-hero .couple-names .bride-name,.wedding-hero .couple-names .groom-name{font-size:2.5rem}.wedding-hero .couple-names .ampersand{font-size:2rem;margin:1rem 0}.timeline-item:nth-child(odd){flex-direction:column;text-align:left}.dress-code-card,.gift-card{margin-bottom:2rem}.parents-section,.gifts-section,.dress-code-section,.special-info-section,.gallery-section,.quote-section,.final-rsvp-section,.timeline-section,.rsvp-section{padding:3rem 0}}
