:root{--primary-color: #ff69b4;--secondary-color: #fff5f9;--accent-color: #ff1493;--text-dark: #333333;--text-light: #666666}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Poppins,sans-serif;color:var(--text-dark);line-height:1.6}.navbar{box-shadow:0 2px 10px #0000001a}.navbar-brand{font-size:1.5rem;color:var(--primary-color)!important;transition:all .3s ease}.navbar-brand:hover{transform:scale(1.05)}.nav-link{font-weight:500;margin:0 10px;transition:color .3s ease}.nav-link:hover{color:var(--primary-color)!important}.hero-section{background:linear-gradient(135deg,#ff69b4 0%,#ff1493 50%,#ff69b4 100%);background-attachment:fixed;color:#fff;padding:120px 20px;text-align:center;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.1}.hero-content{position:relative;z-index:1}.couple-names{font-family:Playfair Display,serif;font-size:4rem;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.3);animation:fadeInDown 1s ease-out}.couple-names .heart{color:#ff1493;margin:0 20px;display:inline-block}.subtitle{font-size:1.5rem;font-weight:300;margin-bottom:30px;animation:fadeInUp 1s ease-out .2s backwards}.wedding-date{background:rgba(255,255,255,.1);padding:20px;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:30px 0;animation:fadeInUp 1s ease-out .4s backwards}.wedding-date p{margin:10px 0}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-title{font-family:Playfair Display,serif;font-size:3rem;color:var(--text-dark);position:relative;display:inline-block;width:100%;margin-bottom:40px}.section-title:after{content:"";display:block;width:60px;height:4px;background:linear-gradient(90deg,#ff69b4,#ff1493);margin:15px auto 0;border-radius:2px}.story-section{background:#fff5f9}.story-section img{transition:transform .3s ease}.story-section img:hover{transform:scale(1.02)}.story-section p{font-size:1.1rem;color:var(--text-light);line-height:1.8}.profile-card{transition:all .3s ease;overflow:hidden;background:linear-gradient(135deg,#fff5f9 0%,#ffe0ec 100%)}.profile-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #00000026!important}.profile-card img{height:300px;object-fit:cover}.profile-card .card-body{padding:2rem}.profile-card .card-title{color:var(--primary-color);font-size:1.5rem}.profile-card .card-text{font-size:.95rem}.social-links a{color:var(--text-light);text-decoration:none;font-size:1.3rem;transition:all .3s ease}.social-links a:hover{color:var(--primary-color);transform:scale(1.3)}.detail-card{padding:30px;background:linear-gradient(135deg,#fff5f9 0%,#ffe0ec 100%);border-radius:15px;box-shadow:0 5px 20px #ff69b41a;transition:all .3s ease}.detail-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.detail-icon{color:var(--primary-color);transition:all .3s ease}.detail-card:hover .detail-icon{transform:scale(1.1)}.detail-card h3{font-size:1.5rem;color:var(--text-dark);font-weight:600}.gallery-item{position:relative;overflow:hidden;border-radius:15px;cursor:pointer;height:300px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(220,53,69,.8);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.timeline{position:relative;padding:40px 0}.timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:3px;height:100%;background:var(--primary-color)}.timeline-item{margin-bottom:40px;position:relative}.timeline-item:nth-child(odd) .timeline-content{margin-left:0;margin-right:52%;text-align:right}.timeline-item:nth-child(2n) .timeline-content{margin-left:52%;margin-right:0;text-align:left}.timeline-marker{position:absolute;left:50%;width:50px;height:50px;background:white;border:4px solid var(--primary-color);border-radius:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;top:0;z-index:2}.timeline-content h4{color:var(--primary-color);font-weight:600;margin-bottom:10px}.timeline-content p{color:var(--text-light);font-size:1rem}@media (max-width: 768px){.timeline:before{left:30px}.timeline-marker{left:30px}.timeline-item:nth-child(odd) .timeline-content,.timeline-item:nth-child(2n) .timeline-content{margin-left:100px;margin-right:0;text-align:left}}.rsvp-card{background:linear-gradient(135deg,#fff5f9 0%,#ffe0ec 100%);border:2px solid #ff69b4;transition:all .3s ease}.rsvp-card:hover{border-color:#ff1493;box-shadow:0 10px 30px #ff69b440}.form-control,.form-select{border:1px solid #ddd;border-radius:10px;transition:all .3s ease}.form-control:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #dc354540}.form-label{color:var(--text-dark);margin-bottom:10px}.btn-danger{background:var(--primary-color);border:none;border-radius:10px;padding:12px 30px;font-weight:600;transition:all .3s ease}.btn-danger:hover{background:#ff1493;transform:translateY(-3px);box-shadow:0 10px 20px #ff69b466}.btn-light{border-radius:10px;transition:all .3s ease}.btn-light:hover{color:var(--primary-color);transform:translateY(-3px);box-shadow:0 10px 20px #0000001a}footer{background:linear-gradient(135deg,#1a0a0a 0%,#3d1a2a 100%)}footer p{font-size:.95rem}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#ff69b4;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ff1493}@media (max-width: 992px){.couple-names{font-size:3rem}.subtitle{font-size:1.2rem}.section-title{font-size:2.2rem}}@media (max-width: 768px){.couple-names{font-size:2rem}.couple-names .heart{margin:0 10px}.subtitle{font-size:1rem}.section-title{font-size:1.8rem}.hero-section{padding:80px 20px}.gallery-item{height:250px}.detail-card{padding:20px}}@media (max-width: 576px){.couple-names{font-size:1.5rem}.subtitle{font-size:.9rem}.section-title{font-size:1.5rem}.hero-section{padding:60px 15px}.wedding-date{padding:15px}.gallery-item{height:200px}.btn-lg{padding:.75rem 1.5rem;font-size:.9rem}}.detail-card{border-left:4px solid #ff69b4}.detail-card:hover{border-left-color:#ff1493}.rsvp-card{border-top:5px solid #ff69b4}.rsvp-card:hover{border-top-color:#ff1493}.couple-names{background:linear-gradient(135deg,#ff69b4,#ff1493,#ff69b4);-webkit-background-clip:text;-webkit-text-fill-color:white;text-shadow:2px 2px 4px rgba(255,105,180,.5)}.gallery-item{box-shadow:0 0 #ff69b400;transition:box-shadow .3s ease}.gallery-item:hover{box-shadow:0 5px 30px #ff69b480}.btn-danger{transition:all .3s ease;box-shadow:0 4px 15px #ff69b44d}.btn-danger:active{transform:scale(.98)}.timeline-marker{box-shadow:0 0 0 4px #fff5f9,0 0 20px #ff69b480}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1.05)}75%{transform:scale(1.15)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #ff69b480}50%{box-shadow:0 0 20px #ff69b4cc}}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.detail-icon{animation:float 3s ease-in-out infinite}.detail-card:hover .detail-icon{animation:heartBeat .6s ease-in-out}.section-title{animation:fadeInDown .8s ease-out}.profile-card img{transition:filter .3s ease,transform .3s ease}.profile-card:hover img{filter:brightness(1.1) saturate(1.1);transform:scale(1.05)}.detail-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#ff69b4,transparent);opacity:0;transition:opacity .3s ease}.detail-card:hover:before{opacity:1}.btn-danger{background:linear-gradient(135deg,#ff69b4,#ff1493);border:none}.btn-danger:hover{background:linear-gradient(135deg,#ff1493,#ff69b4)}.form-control:focus{border-color:#ff69b4;box-shadow:0 0 0 .2rem #ff69b440}.form-select:focus{border-color:#ff69b4;box-shadow:0 0 0 .2rem #ff69b440}.profile-card,.detail-card{position:relative;box-shadow:0 8px 25px #ff69b426}.timeline:before{background:linear-gradient(180deg,#ff69b4,#ff1493,#ff69b4)}.hero-section:before{background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ff69b4' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.social-links a{animation:pulse 2s ease-in-out infinite}.social-links a:hover{animation:heartBeat .6s ease-in-out}.gallery-overlay{background:linear-gradient(135deg,rgba(255,105,180,.85),rgba(255,20,147,.85))}.rsvp-card{position:relative;overflow:hidden}.rsvp-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,105,180,.1),transparent);animation:shimmer 3s infinite}.form-label{color:#333;font-weight:600;margin-bottom:12px;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.alert-success{background:linear-gradient(135deg,#fff5f9,#ffe0ec);border:2px solid #ff69b4;color:#333}.navbar-brand{animation:float 4s ease-in-out infinite}.couple-names:hover{text-shadow:0 0 30px rgba(255,105,180,.8),2px 2px 4px rgba(255,105,180,.5)}.fa-heart{animation:heartBeat 1.5s ease-in-out infinite}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media print{body{background:white}.navbar,footer{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
