:root{--bg-deep:#09080c;--bg-surface:#19171fa6;--bg-card:#26232f73;--border-gold:#dfb28c33;--border-gold-hover:#dfb28c80;--color-text:#f5f4f8;--color-text-muted:#a09cb0;--gold-primary:#dfb28c;--gold-dark:#b88d67;--gold-light:#f7d8be;--rose-primary:#e2a4a4;--gradient-gold:linear-gradient(135deg, var(--gold-light) 0%, var(--gold-primary) 50%, var(--gold-dark) 100%);--gradient-dark:linear-gradient(180deg, #121017 0%, var(--bg-deep) 100%);--shadow-premium:0 8px 32px 0 #0000005e;--shadow-gold:0 0 20px #dfb28c26;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Plus Jakarta Sans", system-ui, sans-serif;--transition-smooth:all .4s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-deep);background-image:var(--gradient-dark);color:var(--color-text);font-family:var(--font-sans);min-height:100vh;line-height:1.6;overflow-x:hidden}.ambient-glow-1{z-index:-1;pointer-events:none;background:radial-gradient(circle,#dfb28c0d 0%,#0000 70%);width:50vw;height:50vw;position:fixed;top:-10%;left:-10%}.ambient-glow-2{z-index:-1;pointer-events:none;background:radial-gradient(circle,#e2a4a40a 0%,#0000 70%);width:60vw;height:60vw;position:fixed;bottom:-10%;right:-10%}h1,h2,h3,.wedding-font{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:500}.container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.flex-center{justify-content:center;align-items:center;display:flex}.navbar{border-bottom:1px solid var(--border-gold);justify-content:space-between;align-items:center;margin-bottom:3rem;padding:1.5rem 0;display:flex}.nav-logo{color:var(--gold-primary);font-size:1.5rem;font-family:var(--font-serif);letter-spacing:.05em;background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:600;text-decoration:none}.nav-links{gap:1.5rem;display:flex}.nav-link{color:var(--color-text-muted);transition:var(--transition-smooth);font-size:.9rem;font-weight:500;text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--gold-primary)}.glass-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-gold);box-shadow:var(--shadow-premium);transition:var(--transition-smooth);border-radius:24px;padding:2.5rem}.glass-card:hover{border-color:var(--border-gold-hover);box-shadow:var(--shadow-premium), var(--shadow-gold)}.btn{cursor:pointer;transition:var(--transition-smooth);border-radius:50px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.8rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--gradient-gold);color:#121017;border:none;box-shadow:0 4px 15px #dfb28c4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dfb28c80}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--gold-primary);border:1px solid var(--gold-primary);background:0 0}.btn-secondary:hover{background:#dfb28c14;transform:translateY(-2px)}.hero{text-align:center;margin-bottom:4rem;animation:1s ease-out fadeIn}.hero h1{color:#fff;margin-bottom:1rem;font-size:3.5rem;line-height:1.2}.hero p{color:var(--color-text-muted);max-width:600px;margin:0 auto 2rem;font-size:1.2rem}.upload-zone{border:2px dashed var(--border-gold);text-align:center;background:var(--bg-card);cursor:pointer;transition:var(--transition-smooth);border-radius:20px;padding:3rem 2rem;position:relative}.upload-zone:hover,.upload-zone.dragging{border-color:var(--gold-primary);background:#dfb28c0d}.upload-icon{color:var(--gold-primary);margin-bottom:1rem;font-size:3rem}.upload-text{color:var(--color-text);margin-bottom:.5rem;font-weight:500}.upload-subtext{color:var(--color-text-muted);font-size:.85rem}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-top:2rem;display:grid}.preview-item{aspect-ratio:1;border:1px solid var(--border-gold);border-radius:12px;position:relative;overflow:hidden}.preview-img{object-fit:cover;width:100%;height:100%}.preview-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex;position:absolute;top:5px;right:5px}.progress-container{background:#ffffff0d;border-radius:10px;width:100%;height:8px;margin:1.5rem 0;overflow:hidden}.progress-fill{background:var(--gradient-gold);width:0%;height:100%;transition:width .3s ease-in-out}.gallery-section-title{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.gallery-section-title h2{background:linear-gradient(135deg, #fff 0%, var(--gold-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.2rem}.gallery-grid{column-count:3;column-gap:1.5rem}@media (max-width:900px){.gallery-grid{column-count:2}.hero h1{font-size:2.8rem}}@media (max-width:600px){.gallery-grid{column-count:1}.hero h1{font-size:2.2rem}}.gallery-item{break-inside:avoid;border:1px solid var(--border-gold);background:var(--bg-card);cursor:zoom-in;transition:var(--transition-smooth);border-radius:16px;margin-bottom:1.5rem;position:relative;overflow:hidden}.gallery-item:hover{border-color:var(--border-gold-hover);box-shadow:0 12px 30px #0006, var(--shadow-gold);transform:translateY(-4px)}.gallery-img{width:100%;height:auto;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.gallery-item:hover .gallery-img{transform:scale(1.05)}.gallery-item-info{opacity:0;transition:var(--transition-smooth);background:linear-gradient(#0000,#000c);padding:1.5rem;position:absolute;bottom:0;left:0;right:0;transform:translateY(10px)}.gallery-item:hover .gallery-item-info{opacity:1;transform:translateY(0)}.gallery-item-date{color:var(--gold-light);font-size:.75rem}.lightbox{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;opacity:0;pointer-events:none;background:#09080cf2;width:100vw;height:100vh;transition:opacity .3s;position:fixed;top:0;left:0}.lightbox.active{opacity:1;pointer-events:all}.lightbox-content{justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex;position:relative}.lightbox-img{object-fit:contain;border:1px solid #ffffff1a;border-radius:12px;max-width:90%;max-height:80%;transition:transform .3s cubic-bezier(.16,1,.3,1);transform:scale(.95);box-shadow:0 20px 50px #0009}.lightbox.active .lightbox-img{transform:scale(1)}.lightbox-close{color:var(--color-text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;font-size:2.5rem;position:absolute;top:2rem;right:2rem}.lightbox-close:hover{color:#fff;transform:rotate(90deg)}.pulse{background:linear-gradient(-90deg, var(--bg-card) 0%, #dfb28c14 50%, var(--bg-card) 100%);background-size:400% 400%;animation:1.5s ease-in-out infinite pulseGlow}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.toast{background:var(--bg-surface);border:1px solid var(--border-gold);border-left:4px solid var(--gold-primary);color:var(--color-text);box-shadow:var(--shadow-premium);z-index:1001;border-radius:12px;align-items:center;gap:.75rem;padding:1rem 1.5rem;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn;display:flex;position:fixed;bottom:2rem;right:2rem}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.admin-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (max-width:800px){.admin-grid{grid-template-columns:1fr}}.info-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:.8rem 0;display:flex}.info-label{color:var(--color-text-muted)}.info-value{font-weight:500}
