:root{--color-primary: #DC143C;--color-secondary: #8B0000;--color-accent: #FF6B6B;--color-neutral: #E5E5E5;--color-dark: #1A1A1A;--color-light: #F8F8F8;--color-white: #FFFFFF;--font-heading: "Cormorant Garamond", serif;--font-body: "Montserrat", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-dark);background-color:var(--color-light);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:var(--spacing-md)}h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:var(--spacing-md);color:var(--color-primary)}h3{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:var(--spacing-sm)}p{font-size:clamp(1rem,2vw,1.125rem);margin-bottom:var(--spacing-sm)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}section{padding:var(--spacing-xl) 0;position:relative}section:nth-child(2n){background-color:var(--color-white)}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-body);font-size:1rem;font-weight:500;text-decoration:none;text-align:center;border:none;border-radius:50px;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-white)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-white);color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-white)}.btn-whatsapp{background:#25d366;color:var(--color-white);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.btn-whatsapp:hover{background:#20ba5a;transform:translateY(-2px);box-shadow:var(--shadow-md)}.card{background:var(--color-white);border-radius:16px;padding:var(--spacing-md);box-shadow:var(--shadow-md);transition:transform var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fade-in{animation:fadeIn .8s ease-out}.slide-in{animation:slideIn .8s ease-out}.float{animation:float 3s ease-in-out infinite}input,textarea,select{width:100%;padding:var(--spacing-sm);font-family:var(--font-body);font-size:1rem;border:2px solid #E0E0E0;border-radius:8px;transition:border-color var(--transition-fast);background:var(--color-white)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-dark)}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}@media(max-width:768px){section{padding:var(--spacing-lg) 0}.container{padding:0 var(--spacing-sm)}}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--color-white);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(#dc143cb3,#8b0000b3),url(/images/hero-bg.jpg);background-size:cover;background-position:center;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(248,140,6,.3) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(220,47,2,.3) 0%,transparent 50%);z-index:1}.hero-content{position:relative;z-index:2;text-align:center;color:var(--color-white);padding:var(--spacing-md)}.hero-names{margin-bottom:var(--spacing-lg)}.bride-name,.groom-name{font-size:clamp(3rem,8vw,6rem);font-weight:300;letter-spacing:.05em;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.ampersand{font-size:clamp(2rem,5vw,4rem);font-family:var(--font-heading);margin:var(--spacing-sm) 0;opacity:.9}.hero-date{margin-bottom:var(--spacing-md)}.date-text{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;letter-spacing:.1em;margin-bottom:var(--spacing-xs)}.time-text{font-size:clamp(1.2rem,2.5vw,2rem);font-weight:400;opacity:.95}.hero-location{font-size:clamp(1rem,2vw,1.5rem);opacity:.9;margin-bottom:var(--spacing-lg)}.scroll-indicator{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);font-size:2rem;opacity:.8;cursor:pointer}@media(max-width:768px){.hero-content{padding:var(--spacing-sm)}.scroll-indicator{bottom:var(--spacing-sm)}}.countdown{background:var(--color-white)}.countdown-subtitle{font-size:1.2rem;color:var(--color-dark);opacity:.8;margin-bottom:var(--spacing-lg)}.countdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);max-width:800px;margin:0 auto}.countdown-item{text-align:center;padding:var(--spacing-lg) var(--spacing-md)}.countdown-number{font-size:clamp(3rem,6vw,4rem);font-family:var(--font-heading);font-weight:700;color:var(--color-primary);line-height:1;margin-bottom:var(--spacing-sm)}.countdown-label{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-dark);opacity:.7}@media(max-width:768px){.countdown-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.countdown-item{padding:var(--spacing-md) var(--spacing-sm)}}.photo-gallery{background:var(--color-light)}.gallery-subtitle{font-size:1.1rem;color:var(--color-dark);opacity:.8;margin-bottom:var(--spacing-lg)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.gallery-item{position:relative;overflow:hidden;border-radius:16px;cursor:pointer;aspect-ratio:1;box-shadow:var(--shadow-md);transition:transform var(--transition-normal)}.gallery-item:hover{transform:scale(1.05)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.gallery-overlay{position:absolute;inset:0;background:#e85d04e6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal);color:var(--color-white);font-size:1.2rem;font-weight:500}.gallery-item:hover .gallery-overlay{opacity:1}.lightbox{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.lightbox img{max-width:90%;max-height:90vh;object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;color:var(--color-white);font-size:3rem;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.lightbox-close:hover{transform:scale(1.2)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;border:none;color:var(--color-white);font-size:3rem;cursor:pointer;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.lightbox-nav:hover{background:#ffffff4d}.lightbox-prev{left:var(--spacing-md)}.lightbox-next{right:var(--spacing-md)}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-sm)}.lightbox-nav{width:50px;height:50px;font-size:2rem}}.event-details{background:var(--color-white)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.detail-card{text-align:center;padding:var(--spacing-lg) var(--spacing-md)}.detail-icon{font-size:3rem;margin-bottom:var(--spacing-sm)}.detail-card h3{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:1.5rem}.detail-card p{color:var(--color-dark);font-size:1.1rem;line-height:1.6}.map-container{margin-top:var(--spacing-xl)}.map-wrapper{margin-bottom:var(--spacing-md);box-shadow:var(--shadow-lg);border-radius:16px;overflow:hidden}.map-link{text-align:center}@media(max-width:768px){.details-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.map-wrapper iframe{height:300px}}.rsvp-subtitle{font-size:1.1rem;color:var(--color-dark);opacity:.8;margin-bottom:var(--spacing-xl)}.rsvp-whatsapp-only{width:100%}.rsvp-card{padding:var(--spacing-xl);text-align:center}.whatsapp-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.rsvp-card h3{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:1.8rem}.rsvp-card p{margin-bottom:var(--spacing-lg);color:var(--color-dark);opacity:.8;font-size:1.1rem}.btn-whatsapp{font-size:1.1rem;padding:var(--spacing-md) var(--spacing-lg)}@media(max-width:768px){.rsvp-card{padding:var(--spacing-md)}}.gift-subtitle{font-size:1.1rem;color:var(--color-dark);opacity:.8;margin-bottom:var(--spacing-xl)}.gift-content{width:100%;text-align:center;padding:var(--spacing-xl)}.gift-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.gift-content h3{color:var(--color-primary);font-size:2rem;margin-bottom:var(--spacing-md)}.gift-message{font-size:1.1rem;line-height:1.8;margin-bottom:var(--spacing-lg);color:var(--color-dark)}.alias-container{background:var(--color-light);padding:var(--spacing-lg);border-radius:12px;margin:var(--spacing-lg) 0}.alias-box{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.alias-label{font-size:1.1rem;font-weight:500;color:var(--color-dark)}.alias-value{font-size:1.5rem;font-weight:600;color:var(--color-primary);font-family:var(--font-heading);letter-spacing:.05em}.gift-thanks{font-size:1.1rem;font-style:italic;color:var(--color-primary);margin-top:var(--spacing-md)}@media(max-width:768px){.gift-content{padding:var(--spacing-md)}.alias-box{flex-direction:column;gap:var(--spacing-xs)}.alias-value{font-size:1.2rem}}.instagram-subtitle{font-size:1.1rem;color:var(--color-dark);margin-bottom:var(--spacing-lg)}.instagram-subtitle strong{color:var(--color-primary);font-weight:600}.instagram-content{width:100%;text-align:center;padding:var(--spacing-xl)}.instagram-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.instagram-content h3{color:var(--color-primary);font-size:2rem;margin-bottom:var(--spacing-md)}.instagram-content p{font-size:1.1rem;line-height:1.8;margin-bottom:var(--spacing-md);color:var(--color-dark)}.hashtag-display{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-white);font-size:2rem;font-weight:600;padding:var(--spacing-md) var(--spacing-lg);border-radius:12px;margin:var(--spacing-lg) 0;font-family:var(--font-heading);letter-spacing:.05em;box-shadow:var(--shadow-md)}.instagram-note{font-size:.95rem;font-style:italic;opacity:.8;margin-bottom:var(--spacing-lg)}@media(max-width:768px){.instagram-content{padding:var(--spacing-md)}.hashtag-display{font-size:1.5rem;padding:var(--spacing-sm) var(--spacing-md)}}.actions-grid{background:var(--color-light);padding:var(--spacing-xl) 0}.actions-grid h2{margin-bottom:var(--spacing-xl)}.actions-container{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);align-items:stretch}.actions-container section{padding:0;background:transparent;display:flex;flex-direction:column;height:100%}.actions-container .container{padding:0;max-width:100%;flex:1;display:flex;flex-direction:column}.actions-container .card{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;min-height:400px;padding:var(--spacing-lg) var(--spacing-md)}.actions-container .rsvp-whatsapp-only,.actions-container .gift-content,.actions-container .instagram-content{margin:0;max-width:100%;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.actions-container .whatsapp-icon,.actions-container .gift-icon,.actions-container .instagram-icon{font-size:3rem;margin-bottom:var(--spacing-sm)}.actions-container h3{font-size:1.3rem;margin-bottom:var(--spacing-sm)}.actions-container p{font-size:1rem;margin-bottom:var(--spacing-md)}.actions-container .btn{margin-top:auto}.actions-container h2{display:none}@media(max-width:968px){.actions-container{grid-template-columns:1fr;gap:var(--spacing-md)}.actions-container h2{display:block;font-size:1.5rem;margin-bottom:var(--spacing-md)}}.footer{background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-secondary) 100%);color:var(--color-white);padding:var(--spacing-xl) 0 var(--spacing-md)}.footer-content{text-align:center}.footer-hashtag{margin-bottom:var(--spacing-lg)}.footer-hashtag h3{font-size:clamp(1.5rem,3vw,2.5rem);color:var(--color-white);margin-bottom:var(--spacing-xs);font-family:var(--font-heading)}.footer-hashtag p{font-size:1rem;opacity:.9}.footer-divider{height:1px;background:#fff3;margin:var(--spacing-lg) auto;max-width:300px}.footer-message{margin-bottom:var(--spacing-lg)}.footer-quote{font-size:1.3rem;font-style:italic;font-family:var(--font-heading);margin-bottom:var(--spacing-md);opacity:.95}.footer-names{font-size:1.5rem;font-weight:600;font-family:var(--font-heading);margin-bottom:var(--spacing-xs)}.footer-date{font-size:1.1rem;opacity:.9}.footer-bottom{padding-top:var(--spacing-md)}.footer-bottom p{font-size:.95rem;opacity:.8;margin-bottom:var(--spacing-xs)}.footer-credit{font-size:.9rem}.footer-link{color:var(--color-white);text-decoration:none;font-weight:600;transition:opacity var(--transition-fast)}.footer-link:hover{opacity:.8;text-decoration:underline}.footer-copyright{font-size:.85rem;opacity:.7}@media(max-width:768px){.footer{padding:var(--spacing-lg) 0 var(--spacing-sm)}.footer-quote{font-size:1.1rem}}.App{min-height:100vh}
