@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Gwendolyn:wght@400;700&family=Open+Sans:wght@300;400;600&family=Playfair+Display:wght@400;700&family=Roboto:wght@300;400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@300;400;500;600&display=swap";:root{font-family:Inter,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0}a{text-decoration:none;color:inherit;transition:color .2s ease}.contact-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.contact-form-modal{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;width:90%;max-width:500px;position:relative;box-shadow:var(--shadow-lg)}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.5rem;line-height:1;border-radius:50%;transition:all .2s}.close-button:hover{background:var(--background);color:var(--text-primary)}.contact-form-modal h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary)}.form-group input,.form-group textarea{padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--radius);font-size:1rem;background:var(--background);color:var(--text-primary);transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.form-group textarea{resize:vertical;min-height:120px}.submit-button{background:var(--gradient-primary);color:var(--surface);border:none;padding:.875rem 1.5rem;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.error-message{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:var(--radius);margin-bottom:1rem;text-align:center}.success-message{background:#dcfce7;color:#166534;padding:1rem;border-radius:var(--radius);text-align:center}:root{--primary: #1a1a1a;--secondary: #666666;--accent: #c5a059;--accent-hover: #b08d4b;--bg-page: #ffffff;--bg-secondary: #f9f9f9;--border-light: #e5e5e5;--font-heading: "Cormorant Garamond", serif;--font-body: "Inter", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem;--container-width: 1200px;--radius-sm: 4px;--radius-md: 8px;--primary-color: var(--primary);--surface: var(--bg-page);--text-primary: var(--primary);--text-secondary: var(--secondary);--background: var(--bg-secondary);--border: var(--border-light);--gradient-primary: var(--primary);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);color:var(--primary);background-color:var(--bg-page);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;line-height:1.2;color:var(--primary)}button{font-family:var(--font-body)}.homepage{width:100%;overflow-x:hidden}.section-container{max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-md)}.hero-section{height:90vh;min-height:600px;display:flex;align-items:center;justify-content:center;position:relative;background-color:var(--bg-page);overflow:hidden}.hero-content{text-align:center;z-index:2;max-width:800px;padding:var(--spacing-md);animation:fadeUp 1s cubic-bezier(.16,1,.3,1)}.logo-container{margin-bottom:var(--spacing-md)}.hero-logo-image{width:120px;height:auto;opacity:.9}.hero-title{font-size:clamp(3rem,5vw,4.5rem);font-weight:400;letter-spacing:-.02em;margin-bottom:var(--spacing-sm);color:var(--primary)}.hero-description{font-size:1.25rem;color:var(--secondary);margin-bottom:var(--spacing-lg);font-weight:300;max-width:500px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.cta-button{display:inline-block;background-color:var(--primary);color:#fff;padding:1rem 2.5rem;font-size:1rem;font-weight:500;letter-spacing:.05em;border:1px solid var(--primary);cursor:pointer;transition:all .3s ease;border-radius:var(--radius-sm);text-decoration:none}.cta-button:hover:not(:disabled){background-color:transparent;color:var(--primary)}.cta-button:disabled{opacity:.6;cursor:not-allowed}.cta-button.large{font-size:1.125rem;padding:1.25rem 3rem}.login-prompt{font-size:.9rem;color:var(--secondary);margin-top:var(--spacing-sm)}.login-link{color:var(--primary);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s}.login-link:hover{border-bottom-color:var(--primary)}.features-section{padding:var(--spacing-xl) 0;background-color:var(--bg-page)}.section-title{font-size:2.5rem;text-align:center;margin-bottom:var(--spacing-lg);font-weight:400}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.feature-card{padding:var(--spacing-md);border-left:1px solid var(--border-light);transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-separator{display:none}.feature-card h3{font-family:var(--font-body);font-size:1.25rem;font-weight:500;margin-bottom:var(--spacing-sm);letter-spacing:-.01em}.feature-card p{color:var(--secondary);font-size:1rem;line-height:1.7}.steps-section{padding:var(--spacing-xl) 0;background-color:var(--bg-secondary)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);position:relative}.step-card{background:transparent;padding:var(--spacing-md);position:relative}.step-number{display:block;font-family:var(--font-heading);font-size:4rem;color:var(--accent);opacity:.3;line-height:1;margin-bottom:var(--spacing-sm)}.step-card h3{font-family:var(--font-body);font-size:1.25rem;margin-bottom:var(--spacing-xs)}.step-card p{color:var(--secondary)}.pricing-section{padding:var(--spacing-xl) 0}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1000px;margin:0 auto;align-items:flex-start}.pricing-card{background:var(--bg-page);border:1px solid var(--border-light);padding:2.5rem;transition:all .3s ease;position:relative}.pricing-card:hover{border-color:var(--primary);box-shadow:0 20px 40px #0000000a}.pricing-card.featured{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.05);z-index:2}.pricing-card.featured:hover{transform:scale(1.05) translateY(-5px)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;font-size:.75rem;padding:.25rem 1rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.pricing-card h3{font-family:var(--font-body);font-size:1rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;color:inherit}.pricing-card .price{font-family:var(--font-heading);font-size:3.5rem;margin-bottom:.5rem;font-weight:400;color:inherit}.price-sub{font-size:.9rem;opacity:.7;margin-bottom:2rem;color:inherit}.features-list{list-style:none;margin-bottom:2.5rem}.features-list li{margin-bottom:1rem;font-size:.95rem;color:inherit;opacity:.9;padding-left:1.5rem;position:relative}.features-list li:before{content:"•";position:absolute;left:0;color:var(--accent)}.pricing-button{width:100%;padding:1rem;background:transparent;border:1px solid currentColor;color:inherit;cursor:pointer;transition:all .3s ease;text-transform:uppercase;font-size:.8rem;letter-spacing:.1em}.pricing-button.outline{background:transparent;border-color:var(--border-light)}.pricing-card:not(.featured) .pricing-button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.pricing-card.featured .pricing-button{background:#fff;color:var(--primary);border-color:#fff}.pricing-card.featured .pricing-button:hover{background:transparent;color:#fff}.cta-section{padding:var(--spacing-xl) 0;background-color:var(--bg-secondary);text-align:center}.cta-title{font-family:var(--font-heading);font-size:3rem;margin-bottom:var(--spacing-md);color:var(--primary)}.homepage-footer{padding:var(--spacing-lg) 0;border-top:1px solid var(--border-light);background:var(--bg-page)}.footer-container{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,1fr) minmax(180px,1fr);align-items:start;gap:2.5rem;max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-md)}.footer-logo{font-family:var(--font-heading);font-size:2rem;margin-bottom:1rem;color:var(--primary)}.footer-section{background:transparent;padding:0;box-shadow:none;border-radius:0;min-width:0}.footer-section:hover{transform:none;box-shadow:none}.footer-links-group{display:flex;gap:4rem}.footer-section h4{font-family:var(--font-body);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem;border:none}.footer-section ul li{margin-bottom:.75rem}.footer-section ul{margin:0;padding-left:1rem}.footer-section a,.footer-section button{color:var(--secondary);font-size:.9rem;text-decoration:none;background:none;border:none;cursor:pointer;padding:0}.footer-section a:hover,.footer-section button:hover{color:var(--primary);transform:translate(2px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.features-grid,.steps-grid,.pricing-grid{grid-template-columns:1fr;gap:2rem}.hero-title{font-size:2.5rem}.footer-container{grid-template-columns:1fr;gap:2rem}.footer-links-group{flex-direction:column;gap:2rem}.feature-card{border-left:none;border-top:1px solid var(--border-light)}.pricing-card.featured,.pricing-card.featured:hover{transform:none}}.wedding-upload-container{max-width:600px;margin:0 auto;padding:2rem 1rem;align-items:center}.wedding-upload-header{text-align:center;margin-bottom:3rem}.wedding-upload-header h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.wedding-upload-header p{color:var(--text-secondary);font-size:1.125rem;line-height:1.6}.wedding-upload-section{background:linear-gradient(135deg,var(--surface) 0%,var(--background) 100%);border-radius:var(--radius-xl, 1.5rem);padding:1.5rem;margin-bottom:2rem;border:2px solid transparent;background-clip:padding-box;position:relative}.wedding-upload-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:var(--radius-xl, 1.5rem);padding:2px;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-1}.locked-message{text-align:center;padding:2rem 1rem;background:#fff9;border-radius:var(--radius-lg)}.locked-message p{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.locked-subtext{font-size:.9rem;color:var(--text-secondary);display:block;max-width:300px;margin:0 auto}.wedding-guest-info{margin-bottom:1.5rem}.wedding-guest-input{width:100%;padding:1rem;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:1.1rem;background-color:var(--form-bg);color:var(--form-text);transition:all .3s ease;text-align:center;font-weight:500}.wedding-guest-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}.wedding-upload-actions{display:flex;justify-content:center;margin-bottom:1.5rem}.wedding-upload-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:2rem 3rem;border-radius:var(--radius-lg);font-size:1.3rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:1rem;min-height:140px;justify-content:center;position:relative;overflow:hidden;box-shadow:0 6px 20px #3b82f64d;width:100%;max-width:400px}.wedding-upload-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-3px);box-shadow:0 10px 30px #3b82f666}.wedding-upload-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.wedding-upload-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.wedding-upload-button:hover:before{left:100%}.wedding-upload-status{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;background:var(--gradient-info);border-radius:var(--radius);border:1px solid var(--border);color:var(--text-primary);font-weight:500}.wedding-recent-photos{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border)}.wedding-recent-photos h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.wedding-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}.wedding-photo-item{text-align:center;background:var(--surface);border-radius:var(--radius-lg);padding:.75rem;box-shadow:var(--shadow);border:1px solid var(--border);cursor:pointer;transition:all .3s ease}.wedding-photo-thumbnail{width:100%;height:160px;object-fit:cover;border-radius:var(--radius);margin-bottom:.75rem;cursor:pointer}.wedding-photo-info{font-size:.875rem;color:var(--text-primary);font-weight:500;padding:.25rem 0}.wedding-preview-section{margin-bottom:2rem}.wedding-preview-container{position:relative;width:100%;max-width:400px;margin:0 auto 2rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:2px solid var(--primary-color);background:var(--surface);min-height:200px;display:flex;align-items:center;justify-content:center}.wedding-preview-image{width:100%;max-height:400px;object-fit:contain;display:block;border-radius:var(--radius)}.wedding-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.confirm-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:1.25rem 2rem;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:60px;flex:1;box-shadow:0 4px 15px #10b9814d}.confirm-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 8px 25px #10b98166}.confirm-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.cancel-button{background:var(--surface);color:var(--text-secondary);border:2px solid var(--border);padding:1.25rem 2rem;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:60px;flex:1}.cancel-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.cancel-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.photo-preview-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:2rem}.photo-preview-content{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;max-width:90%;max-height:90%;display:flex;flex-direction:column;align-items:center;gap:1.5rem;box-shadow:0 20px 60px #0000004d}.photo-preview-image{max-width:100%;max-height:60vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 8px 25px #00000026}.photo-preview-actions{display:flex;gap:1rem;width:100%;max-width:400px}.error-message{color:var(--error-color, #dc2626);font-size:.9rem;margin-top:1rem;padding:.75rem;background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:var(--radius);text-align:center}.button-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.success-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:var(--surface);border-radius:var(--radius-lg);font-weight:600;font-size:1rem;text-align:center;border:1px solid var(--success-border, #10b981);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.wedding-upload-container{padding:1rem .75rem}.wedding-upload-header h1{font-size:2rem}.wedding-upload-section,.wedding-recent-photos{padding:1.25rem;margin-bottom:1.5rem}.wedding-upload-button{padding:1.5rem 2rem;min-height:120px;font-size:1.1rem;max-width:none}.photo-preview-overlay{padding:1rem}.photo-preview-content{padding:1.5rem;max-width:95%}.photo-preview-image{max-height:50vh}.photo-preview-actions{flex-direction:column;gap:.75rem;max-width:none}.wedding-photos-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.wedding-photo-thumbnail{height:120px}.wedding-photo-item{padding:.5rem}.confirm-button,.cancel-button{padding:1rem 1.5rem;min-height:50px;font-size:1rem}.gallery-content{gap:1.5rem}.gallery-main{max-width:95%}.gallery-image{max-height:60vh}.gallery-close{top:10px;right:10px;width:40px;height:40px;font-size:1.5rem}.gallery-nav{width:50px;height:50px;font-size:1.25rem}.gallery-navigation{gap:.75rem}.gallery-info{padding:.75rem;font-size:.8rem}.wedding-view-all-button{padding:.875rem 1.5rem;font-size:.875rem;min-height:45px}}.gallery-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.gallery-content{position:relative;width:90%;height:90%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.gallery-main{position:relative;max-width:80%;display:flex;flex-direction:column;align-items:center;flex:1;justify-content:center}.gallery-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius);box-shadow:var(--shadow-lg)}.gallery-navigation{display:flex;gap:1rem;justify-content:center;align-items:center;position:relative;z-index:1002}.gallery-nav{position:static;transform:none;background:var(--surface);border:2px solid var(--primary-color);color:var(--primary-color);font-size:1.5rem;width:60px;height:60px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001;box-shadow:var(--shadow)}.gallery-nav span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}.gallery-info{background:var(--surface);padding:1rem;border-radius:var(--radius);text-align:center;color:var(--text-primary);box-shadow:var(--shadow);border:1px solid var(--border)}.gallery-info p{margin:.25rem 0;font-size:.875rem}.gallery-close{position:absolute;top:20px;right:20px;background:#fff3;border:none;color:#fff;font-size:2rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s}.gallery-close:hover{background:#ffffff4d;transform:scale(1.1)}.gallery-actions{margin-top:1.5rem;text-align:center}.wedding-view-all-button{background:var(--gradient-success);color:var(--surface);border:none;padding:1rem 2rem;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px}.wedding-view-all-button:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#1d4ed8);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.wedding-view-all-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.invitation-builder{display:flex;height:calc(100vh - 180px);background:#f8f9fa;border-radius:8px;overflow:hidden;border:1px solid #e0e0e0}.builder-sidebar{width:340px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:1.5rem;gap:1.5rem}.builder-preview{flex:1;background:#edf0f2;display:flex;justify-content:center;padding:2rem;overflow-y:auto}.preview-frame{width:100%;max-width:375px;background:var(--preview-primary-color);min-height:667px;height:auto;box-shadow:0 20px 40px #0000001a;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;position:relative;font-family:var(--preview-font-family, "Cormorant Garamond", serif);margin:auto}.preview-content{flex:1;display:flex;flex-direction:column;overflow:visible}.builder-sidebar h3{font-size:1.1rem;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.control-group{display:flex;flex-direction:column;gap:.4rem}.row-group{flex-direction:row;gap:1rem}.row-group>div{flex:1}.control-group label{font-weight:500;font-size:.85rem;color:#555}.control-group input[type=text],.control-group input[type=datetime-local],.control-group textarea,.control-group select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;transition:border-color .2s;width:100%}.control-group input:focus,.control-group textarea:focus,.control-group select:focus{border-color:#4a90e2;outline:none}.control-group input[type=color]{height:40px;width:100%;padding:2px;border:1px solid #ddd;border-radius:6px;cursor:pointer}.checkbox-group{display:flex;flex-direction:column;gap:.6rem}.checkbox-item{display:flex;align-items:center;gap:.6rem;font-size:.9rem;cursor:pointer;padding:.4rem;border-radius:4px;transition:background .1s}.checkbox-item:hover{background:#f5f5f5}.checkbox-item input[type=checkbox]{accent-color:#4a90e2;width:16px;height:16px}.theme-selector label{font-weight:500;font-size:.85rem;color:#555;margin-bottom:.5rem;display:block}.theme-grid{display:flex;gap:.5rem;flex-wrap:wrap}.theme-btn{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;transition:transform .2s}.theme-btn:hover{transform:scale(1.1)}.theme-preview{width:32px;height:32px;border-radius:50%;border:1px solid #ddd;overflow:hidden;position:relative}.theme-accent{width:50%;height:100%;position:absolute;right:0;top:0}.preview-section{padding:2.5rem 1.5rem;text-align:center;position:relative;transition:all .3s ease;border:2px solid transparent;background:var(--preview-primary-color);color:var(--preview-accent-color)}.preview-section.is-active{border-color:#4a90e280;background-color:#4a90e20d}.preview-section input,.preview-section textarea{position:relative;z-index:2}.preview-section h1,.preview-section h2,.preview-section h3{color:inherit;font-family:inherit}.preview-section.alt{background:var(--preview-accent-color);color:var(--preview-primary-color)}.preview-section.alt.is-active{border-color:#ffffff80}.preview-section.alt h1,.preview-section.alt h2,.preview-section.alt h3,.preview-section.alt p,.preview-section.alt span,.preview-section.alt div{color:inherit}.title-slide{height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-size:cover;background-position:center;background-color:var(--preview-primary-color);color:var(--preview-accent-color);text-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1}.title-slide.has-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;z-index:-1}.title-slide h1{font-size:.9rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem;font-family:sans-serif;color:inherit;z-index:2}.title-slide .names{font-family:Gwendolyn,cursive;font-size:3rem;line-height:1.1;color:inherit;z-index:2}.preview-divider{width:100%;max-width:240px;height:2px;background:linear-gradient(90deg,transparent 0%,var(--preview-accent-color) 50%,transparent 100%);margin:2rem auto;opacity:.8}.preview-section.alt .preview-divider{background:linear-gradient(90deg,transparent 0%,var(--preview-primary-color) 50%,transparent 100%)}.preview-timetable{width:100%;margin-top:1.5rem}.timetable-row{display:flex;padding:.6rem 0;border-bottom:1px solid rgba(0,0,0,.1)}.preview-section.alt .timetable-row{border-color:#fff3}.timetable-time{width:30%;font-weight:700;color:inherit;text-align:left}.timetable-desc{flex:1;text-align:left;padding-left:1rem;color:inherit}.inline-heading{background:transparent;border:1px dashed transparent;width:100%;text-align:center;font-size:1.8rem;font-family:inherit;color:inherit;margin-bottom:1rem;padding:.2rem;border-radius:4px}.inline-heading:hover,.inline-heading:focus{border-color:#0000001a;outline:none}.inline-paragraph{background:transparent;border:1px dashed transparent;width:100%;text-align:center;font-size:1rem;font-family:inherit;color:inherit;line-height:1.6;resize:none;padding:.2rem;border-radius:4px}.inline-paragraph:hover,.inline-paragraph:focus{border-color:#0000001a;outline:none}.inline-paragraph-wrapper{position:relative}.btn-remove-p{position:absolute;right:-1.5rem;top:0;background:none;border:none;color:#e74c3c;cursor:pointer;opacity:0;transition:opacity .2s;z-index:5;padding:.5rem}.inline-paragraph-wrapper:hover .btn-remove-p,.preview-section.is-active .inline-paragraph-wrapper .btn-remove-p{opacity:1}.btn-add-small{background:none;border:1px dashed #ccc;color:#888;font-size:.8rem;padding:.4rem .8rem;border-radius:4px;cursor:pointer;margin:.5rem auto;display:block;opacity:.5;transition:opacity .2s;z-index:5;position:relative}.btn-add-small:hover,.preview-section.is-active .btn-add-small{opacity:1;border-color:#4a90e2;color:#4a90e2}.inline-time,.inline-desc{background:transparent;border:1px dashed transparent;color:inherit;padding:.2rem;text-align:left}.inline-time{width:30%;font-weight:700}.inline-desc{flex:1}.inline-time:hover,.inline-time:focus,.inline-desc:hover,.inline-desc:focus{border-color:#0000001a;outline:none}.btn-remove-row{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:1.2rem;line-height:1;opacity:.5;padding:0 .5rem}.btn-remove-row:hover,.preview-section.is-active .btn-remove-row{opacity:1}.section-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.4rem;background:#fff;padding:.3rem;border-radius:20px;box-shadow:0 2px 8px #0000001a;opacity:0;transform:translateY(-5px);transition:all .2s;z-index:10}.preview-section:hover .section-actions,.preview-section.is-active .section-actions{opacity:1;transform:translateY(0)}.action-btn{width:28px;height:28px;border-radius:50%;border:1px solid #eee;background:#fff;color:#666;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:all .2s}.action-btn:hover{background:#4a90e2;color:#fff;border-color:#4a90e2}.add-section-placeholder{padding:1.5rem;display:flex;justify-content:center;background:var(--preview-primary-color);border-top:1px solid rgba(0,0,0,.05)}.add-section-btn{background:#fff;color:#4a90e2;border:1px dashed #4a90e2;padding:.6rem 1.5rem;border-radius:20px;cursor:pointer;font-weight:600;transition:all .2s}.add-section-btn:hover{background:#4a90e2;color:#fff}.preview-section.alt .inline-heading::placeholder,.preview-section.alt .inline-paragraph::placeholder,.preview-section.alt .inline-time::placeholder,.preview-section.alt .inline-desc::placeholder{color:#fff9}.preview-section.alt .btn-add-small{border-color:#ffffff4d;color:#fffc}.preview-section.alt .btn-add-small:hover{border-color:#fff;color:#fff}.section-chooser-box{padding:1.5rem;background:#f0f4f8;border:1px dashed #ccc;margin:1rem;border-radius:8px;text-align:center}.section-chooser-box span{display:block;margin-bottom:1rem;font-weight:500;color:#555}.chooser-buttons{display:flex;gap:.5rem;justify-content:center}.chooser-buttons button{background:#fff;border:1px solid #ddd;padding:.4rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;color:#333;transition:all .2s}.chooser-buttons button:hover{border-color:#4a90e2;color:#4a90e2}.chooser-buttons .chooser-cancel{color:#e74c3c;border-color:transparent}@media (max-width: 900px){.invitation-builder{flex-direction:column;height:auto}.builder-sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid #eee}.preview-frame{min-height:500px}}.upgrade-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.upgrade-modal{background:#fff;border-radius:20px;padding:2.5rem;width:100%;max-width:500px;position:relative;box-shadow:0 20px 50px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;line-height:1;color:#999;cursor:pointer;transition:color .2s}.close-btn:hover{color:#333}.upgrade-header{text-align:center;margin-bottom:2rem}.upgrade-icon{font-size:3rem;margin-bottom:1rem}.upgrade-header h2{font-family:Playfair Display,serif;font-size:2rem;color:#2c3e50;margin-bottom:.5rem}.upgrade-header p{color:#666;font-size:1.1rem}.features-comparison{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.feature-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #eee}.feature-row:last-child{border-bottom:none}.feature-name{font-weight:500;color:#4a4a4a}.upgrade-price{text-align:center;margin-bottom:2rem}.price-tag{display:block;font-size:3rem;font-weight:700;color:#2c3e50;line-height:1;margin-bottom:.5rem}.price-info{color:#888;font-size:.9rem}.upgrade-cta-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#e3c174,#cfa550);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.upgrade-cta-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #cfa55066}.upgrade-cta-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}:root{--ent-primary: #0f172a;--ent-primary-light: #334155;--ent-accent: #3b82f6;--ent-bg: #f8fafc;--ent-surface: #ffffff;--ent-border: #e2e8f0;--ent-text-main: #1e293b;--ent-text-sub: #64748b;--ent-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--ent-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ent-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ent-radius: 8px;--ent-font: "Inter", system-ui, -apple-system, sans-serif;--nav-height: 64px}.enterprise-layout{font-family:var(--ent-font);background-color:var(--ent-bg);min-height:100vh;color:var(--ent-text-main);display:flex;flex-direction:column}button{font-family:inherit}.enterprise-navbar{height:var(--nav-height);background:var(--ent-surface);border-bottom:1px solid var(--ent-border);position:sticky;top:0;z-index:100;box-shadow:var(--ent-shadow-sm)}.navbar-container{max-width:1400px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem}.navbar-left{display:flex;align-items:center;gap:1rem}.brand-section{display:flex;align-items:center;gap:.75rem}.brand-logo{font-size:1.5rem}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-title{font-size:1rem;font-weight:700;color:var(--ent-text-main);margin:0;letter-spacing:-.01em}.brand-subtitle{font-size:.75rem;color:var(--ent-text-sub);text-transform:uppercase;letter-spacing:.05em}.brand-status-row{display:flex;align-items:center;gap:.5rem}.plan-badge{font-size:.65rem;font-weight:700;border-radius:999px;padding:.1rem .5rem;letter-spacing:.04em}.plan-badge-pro{background:#dcfce7;color:#166534;border:1px solid #86efac}.plan-badge-free{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.navbar-center.desktop-only{display:none}@media (min-width: 992px){.navbar-center.desktop-only{display:flex;gap:.5rem;height:100%}.nav-item{background:transparent;border:none;padding:0 1rem;height:100%;font-size:.9rem;font-weight:500;color:var(--ent-text-sub);cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;display:flex;align-items:center}.nav-item:hover{color:var(--ent-primary);background-color:#f1f5f9}.nav-item.active{color:var(--ent-accent);border-bottom-color:var(--ent-accent)}}.user-menu{display:flex;align-items:center;gap:1rem}.user-name-display{font-size:.9rem;font-weight:500;color:var(--ent-text-main)}.logout-button-text{background:transparent;border:1px solid var(--ent-border);padding:.4rem .8rem;border-radius:6px;font-size:.85rem;color:var(--ent-text-sub);cursor:pointer;transition:all .2s;font-weight:500}.logout-button-text:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.mobile-menu-toggle{display:block;background:transparent;border:none;padding:.5rem;cursor:pointer;margin-right:-.5rem}.hamburger-icon{display:block;width:24px;height:2px;background:var(--ent-text-main);position:relative}.hamburger-icon:before,.hamburger-icon:after{content:"";position:absolute;width:100%;height:2px;background:var(--ent-text-main);left:0}.hamburger-icon:before{top:-7px}.hamburger-icon:after{bottom:-7px}@media (min-width: 992px){.mobile-menu-toggle{display:none}}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:998;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-drawer-overlay.open{opacity:1;pointer-events:auto}.mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--ent-surface);z-index:999;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--ent-shadow-lg);display:flex;flex-direction:column}.mobile-drawer.open{transform:translate(0)}.drawer-header{padding:1.5rem;border-bottom:1px solid var(--ent-border);display:flex;justify-content:space-between;align-items:center}.drawer-header h2{font-size:1.25rem;font-weight:700;margin:0}.close-drawer{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--ent-text-sub)}.drawer-nav{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.drawer-nav .nav-item{text-align:left;padding:.75rem 1rem;border-radius:var(--ent-radius);background:transparent;border:none;font-size:1rem;font-weight:500;color:var(--ent-text-sub);cursor:pointer}.drawer-nav .nav-item.active{background:#eff6ff;color:var(--ent-accent)}.drawer-footer{padding:1.5rem;border-top:1px solid var(--ent-border)}.drawer-logout{width:100%;padding:.75rem;border:1px solid var(--ent-border);background:transparent;border-radius:var(--ent-radius);color:var(--ent-text-main);font-weight:500}.enterprise-content{flex:1;padding:2rem 1.5rem;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.content-wrapper{width:100%}.content-card{background:var(--ent-surface);border-radius:var(--ent-radius);box-shadow:var(--ent-shadow);border:1px solid var(--ent-border);overflow:hidden;margin-bottom:2rem}.narrow-card{max-width:600px;margin-left:auto;margin-right:auto}.card-header{padding:1.5rem 2rem;border-bottom:1px solid var(--ent-border);display:flex;justify-content:space-between;align-items:center;background:#fff}@media (max-width: 768px){.card-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem}.header-actions{width:100%;display:flex;gap:.5rem}.header-actions button{flex:1}}.header-title h2{font-size:1.25rem;font-weight:600;margin:0;color:var(--ent-text-main)}.header-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--ent-text-sub)}.card-body{padding:2rem}.p-0{padding:0}.btn{padding:.6rem 1.2rem;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.btn-primary{background:var(--ent-primary);color:#fff}.btn-primary:hover{background:var(--ent-primary-light)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-outline{background:transparent;border:1px solid var(--ent-border);color:var(--ent-text-main)}.btn-outline:hover{background:#f8fafc;border-color:var(--ent-text-sub)}.btn-secondary{background:#e2e8f0;color:var(--ent-text-main)}.btn-full{width:100%}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:500;color:var(--ent-text-main)}.form-control{width:100%;padding:.75rem;border:1px solid var(--ent-border);border-radius:6px;font-size:.95rem;transition:border-color .2s;box-sizing:border-box}.form-control:focus{outline:none;border-color:var(--ent-accent);box-shadow:0 0 0 2px #3b82f61a}.content-grid-2{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.content-stack{display:flex;flex-direction:column;gap:2rem}@media (max-width: 992px){.content-grid-2{grid-template-columns:1fr}}.upload-zone-wrapper{margin-bottom:2rem}.upload-zone{border:2px dashed var(--ent-border);border-radius:var(--ent-radius);padding:3rem 2rem;text-align:center;transition:all .2s;background:#fbfcfd}.upload-zone:hover{border-color:var(--ent-accent);background:#eff6ff}.file-input-hidden{display:none}.upload-label{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-icon{font-size:3rem;opacity:.8}.upload-text{font-weight:500;color:var(--ent-text-main)}.upload-hint{font-size:.85rem;color:var(--ent-text-sub)}.error-msg{color:#dc2626;font-size:.85rem;margin-top:.5rem;font-weight:500}.upload-preview-area{margin-top:1.5rem;border:1px solid var(--ent-border);border-radius:var(--ent-radius);padding:1rem}.preview-header{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.9rem}.preview-grid{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1rem}.preview-item{width:80px;height:80px;flex-shrink:0;border-radius:4px;overflow:hidden}.preview-item img{width:100%;height:100%;object-fit:cover}.photos-grid-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.photo-tile{position:relative;border-radius:var(--ent-radius);overflow:hidden;background:#fff;box-shadow:var(--ent-shadow-sm);transition:transform .2s,box-shadow .2s;border:1px solid var(--ent-border)}.photo-tile:hover{transform:translateY(-2px);box-shadow:var(--ent-shadow)}.photo-aspect{aspect-ratio:1;cursor:pointer}.photo-aspect img{width:100%;height:100%;object-fit:cover}.photo-meta{padding:.75rem;border-top:1px solid var(--ent-border);display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--ent-text-sub)}.btn-icon.delete{background:transparent;border:none;cursor:pointer;opacity:.6;transition:opacity .2s}.btn-icon.delete:hover{opacity:1}.table-responsive{overflow-x:auto}.enterprise-table{width:100%;border-collapse:collapse;font-size:.95rem}.enterprise-table th{background:#f8fafc;padding:1rem 1.5rem;text-align:left;font-weight:600;color:var(--ent-text-sub);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--ent-border)}.enterprise-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--ent-border);color:var(--ent-text-main)}.enterprise-table tr:last-child td{border-bottom:none}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:99px;font-size:.8rem;font-weight:600}.status-badge.attending{background:#dcfce7;color:#166534}.status-badge.declined{background:#fee2e2;color:#991b1b}.status-badge.pending{background:#fef3c7;color:#92400e}.gallery-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:2000;display:flex;flex-direction:column;justify-content:center;align-items:center}.gallery-stage{flex:1;width:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.image-container{max-width:90%;max-height:80vh;display:flex;justify-content:center}.image-container img{max-width:100%;max-height:80vh;object-fit:contain;box-shadow:0 25px 50px -12px #00000080}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:2rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.nav-arrow:hover{background:#fff3}.nav-arrow.left{left:20px}.nav-arrow.right{right:20px}.close-gallery{position:absolute;top:20px;right:20px;background:transparent;border:none;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1;z-index:2001}.gallery-controls{padding:1.5rem;width:100%;max-width:800px;display:flex;justify-content:space-between;align-items:center;color:#fffc}.btn-delete-photo{background:#dc262633;border:1px solid rgba(220,38,38,.5);color:#fca5a5;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .2s}.btn-delete-photo:hover{background:#dc262666;color:#fff}.settings-toggles{margin-top:2rem}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--ent-border);cursor:pointer}.toggle-info{display:flex;flex-direction:column}.toggle-title{font-weight:500}.toggle-desc{font-size:.85rem;color:var(--ent-text-sub)}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--ent-accent)}input:checked+.slider:before{transform:translate(26px)}.upgrade-success-banner{margin-bottom:1.25rem;background:linear-gradient(135deg,#ecfdf5,#dcfce7);border:1px solid #86efac;color:#14532d;border-radius:var(--ent-radius);padding:.8rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.upgrade-success-close{border:none;background:transparent;color:#166534;font-size:1.2rem;line-height:1;cursor:pointer;padding:0}.presentation-slideshow{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;display:flex;flex-direction:column;overflow:hidden;z-index:1000;cursor:default}.presentation-slideshow.fullscreen-mode{cursor:none}.presentation-slideshow.fullscreen-mode:hover{cursor:default}.slideshow-loading,.slideshow-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:#fff;text-align:center}.loading-spinner{width:50px;height:50px;border:3px solid #333;border-top:3px solid #fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.back-button{background:#4a90e2;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;margin-top:20px;transition:background-color .3s ease}.back-button:hover{background:#357abd}.slideshow-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.slideshow-image-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease-in-out}.slideshow-image-container.fade-in{opacity:1}.slideshow-image-container.fade-out{opacity:.3}.slideshow-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000080}.photo-info-overlay{position:absolute;bottom:80px;right:20px;background:#000000b3;padding:15px 20px;border-radius:10px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInFromRight .5s ease-out;transition:all .3s ease}.fullscreen-mode .photo-info-overlay{bottom:20px;background:#00000080}.photo-info{display:flex;flex-direction:column;gap:5px;font-size:14px}.photo-counter{font-weight:700;font-size:16px}.photo-uploader,.photo-date{opacity:.8}.wedding-title-overlay{position:absolute;top:20px;left:20px;right:20px;text-align:center;z-index:10}.wedding-title{color:#fff;font-size:2.5rem;font-weight:300;margin:0;text-shadow:2px 2px 10px rgba(0,0,0,.8);background:#0000004d;padding:20px 40px;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInFromTop .5s ease-out;transition:all .3s ease}.fullscreen-mode .wedding-title-overlay{display:none}.slideshow-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;background:#ffffff1a;padding:15px 25px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;transition:all .3s ease;opacity:1}.slideshow-controls.hidden{opacity:0;pointer-events:none;transform:translate(-50%) translateY(10px)}.control-button{background:#fff3;border:none;color:#fff;width:50px;height:50px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.control-button:hover{background:#ffffff4d;transform:scale(1.1)}.control-button:active{transform:scale(.95)}.play-pause.playing{background:#22c55eb3}.play-pause.paused,.exit-button{background:#ef4444b3}.exit-button:hover{background:#ef4444e6}.fullscreen-button{background:#9ca3afb3}.fullscreen-button:hover{background:#9ca3afe6}.settings-panel{position:absolute;top:20px;right:20px;background:#000000e6;border-radius:15px;padding:25px;color:#fff;min-width:300px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000080;animation:slideInFromRight .3s ease-out;z-index:20}.settings-content h3{margin:0 0 20px;font-size:20px;font-weight:300}.setting-group{margin-bottom:20px}.setting-group label{display:block;margin-bottom:10px;font-weight:500}.speed-options{display:flex;flex-direction:column;gap:8px}.speed-option{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 15px;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:left}.speed-option:hover{background:#fff3}.speed-option.active{background:#4a90e2cc;border-color:#4a90e2}.setting-group input[type=checkbox]{margin-right:10px;transform:scale(1.2)}.settings-help{margin-top:25px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.settings-help h4{margin:0 0 15px;font-size:16px;color:#ccc}.settings-help ul{list-style:none;padding:0;margin:0}.settings-help li{margin-bottom:8px;font-size:14px;color:#bbb}.close-settings{width:100%;background:#4a90e2cc;border:none;color:#fff;padding:12px;border-radius:8px;cursor:pointer;font-size:16px;margin-top:20px;transition:background-color .3s ease}.close-settings:hover{background:#4a90e2}.progress-container{position:absolute;bottom:0;left:0;right:0;height:4px;background:#fff3;transition:opacity .3s ease}.progress-bar{height:100%;background:linear-gradient(90deg,#4a90e2,#63b3ed);transition:width .3s ease}.fullscreen-mode .progress-container{opacity:0}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.wedding-title{font-size:1.8rem;padding:15px 25px}.photo-info-overlay{bottom:100px;right:15px;left:15px;text-align:center}.photo-info{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.slideshow-controls{bottom:15px;padding:12px 20px}.control-button{width:45px;height:45px;font-size:16px}.settings-panel{top:15px;right:15px;left:15px;min-width:unset}.speed-options{grid-template-columns:1fr}}@media (max-width: 480px){.wedding-title{font-size:1.4rem;padding:12px 20px}.control-button{width:40px;height:40px;font-size:14px}.slideshow-controls{gap:8px;padding:10px 15px}}@media (max-width: 768px){.slideshow-container:after{content:"👆 Wischen für nächstes Foto";position:absolute;bottom:140px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:8px 15px;border-radius:20px;font-size:12px;opacity:.7;animation:fadeInOut 3s ease-in-out;pointer-events:none}}@keyframes fadeInOut{0%,to{opacity:0}20%,80%{opacity:.7}}.auth-container{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg) var(--spacing-sm);background-color:var(--bg-page)}.auth-card{background:var(--surface);width:100%;max-width:400px;padding:3rem 2.5rem;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.auth-card h1{text-align:center;font-size:2rem;font-weight:400;color:var(--primary);margin-bottom:2.5rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-button{background-color:var(--primary);color:#fff;border:1px solid var(--primary);padding:.875rem;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition);margin-top:1rem;width:100%}.auth-button:hover:not(:disabled){background-color:transparent;color:var(--primary)}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;margin-top:2rem;color:var(--secondary);font-size:.9rem}.auth-footer a{color:var(--primary);font-weight:600;border-bottom:1px solid transparent;transition:border-color .2s}.auth-footer a:hover{border-color:var(--primary)}.email-verification-info{text-align:center;margin-bottom:2rem;color:var(--secondary);font-size:.95rem;line-height:1.6}.verification-code-input{text-align:center;font-size:1.75rem;font-weight:500;letter-spacing:.5rem;font-family:Courier New,monospace;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--primary)}.verification-code-input:focus{outline:none;border-color:var(--accent);background:#fff}.verification-actions{margin-top:2rem;text-align:center}.verification-actions p{margin:1rem 0;color:var(--secondary);font-size:.9rem}.link-button{background:none;border:none;color:var(--primary);font-weight:500;font-size:inherit;cursor:pointer;padding:0;border-bottom:1px solid transparent}.link-button:hover:not(:disabled){border-color:var(--primary)}.link-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.auth-card{padding:2rem 1.5rem;border:none;box-shadow:none;background:transparent}.auth-card h1{font-size:1.75rem}}:root{--accent-color: #c59d5f;--primary-color: #ffffff;--font-family: "Cormorant Garamond", serif;--heading-font: "Gwendolyn", cursive;--bg-light: var(--primary-color);--text-dark: var(--accent-color)}html,body{margin:0;padding:0;font-family:var(--font-family)}.wedding-page{width:100%;overflow-x:hidden;background:var(--bg-light);min-height:100vh;display:flex;flex-direction:column}.title-slide{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--bg-light);position:relative;text-align:center;padding:2rem}.title-slide.has-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1}.title-slide.has-image{color:#fff!important}.title-content{position:relative;z-index:2;animation:fadeIn 1.5s ease-out}.title-slide h1{font-size:1.2rem;letter-spacing:.3em;margin-bottom:1.5rem;text-transform:uppercase;font-weight:400;color:inherit;opacity:.9}.title-slide .names{font-family:var(--heading-font);font-size:4rem;line-height:1.1;margin-bottom:1.5rem;text-shadow:0 2px 10px rgba(0,0,0,.1);color:inherit}.wedding-date{font-size:1.2rem;letter-spacing:.1em;opacity:.9;margin-top:1rem;font-weight:500;color:inherit}.section{padding:5rem 1rem;position:relative;text-align:center;transition:all .3s ease;background-color:var(--primary-color);color:var(--accent-color)}.section h2{font-family:var(--font-family);font-size:2.5rem;color:inherit;margin-bottom:2rem;font-weight:400}.section p{font-size:1.2rem;line-height:1.8;color:inherit;max-width:700px;margin:0 auto;opacity:.9}.section.alt{background-color:var(--accent-color);color:var(--primary-color)}.section.alt h2,.section.alt p,.section.alt td,.section.alt *{color:inherit}.divider{width:100%;max-width:240px;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent-color) 50%,transparent 100%);margin:3rem auto;opacity:.8}.section.alt .divider{background:linear-gradient(90deg,transparent 0%,var(--primary-color) 50%,transparent 100%)}.timetable{max-width:500px;margin:0 auto}.timetable table{width:100%;border-collapse:collapse}.timetable td{padding:1rem;border-bottom:1px solid rgba(0,0,0,.1);font-size:1.1rem;text-align:left;color:inherit}.timetable td:first-child{width:30%;font-weight:600;text-align:right;padding-right:2rem}.section.alt .timetable td{border-bottom-color:#fff3}.rsvp-btn-main{background:var(--accent-color);border:none;color:var(--primary-color);padding:1rem 2.5rem;font-size:1.2rem;border-radius:50px;box-shadow:0 4px 15px #0000001a;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-family:var(--font-family)}.rsvp-btn-main:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026;filter:brightness(.95)}.rsvp-btn-main.disabled{opacity:.6;cursor:not-allowed;filter:grayscale(1)}.rsvp-btn-main.disabled:hover{transform:none;box-shadow:none}.section.alt .rsvp-btn-main{background:var(--primary-color);color:var(--accent-color)}.premium-locked-message{background:#ffffff1a;padding:2rem;border-radius:8px;max-width:500px;margin:0 auto;border:1px dashed currentColor}.premium-locked-message p{margin-bottom:1rem;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.modal-box{background:#fff;border-radius:12px;padding:2.5rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .4s cubic-bezier(.16,1,.3,1);color:#333}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:2rem;cursor:pointer;color:#999;line-height:1;transition:color .2s}.modal-close:hover{color:#333}.modal-box h2{font-family:var(--heading-font);color:var(--accent-color);margin:0 0 1.5rem;font-size:2.2rem;text-align:center}.rsvp-form-modal{display:flex;flex-direction:column;gap:1.2rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#444;font-size:.95rem}.form-control{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:1rem;transition:border-color .2s;box-sizing:border-box;background:#fff;color:#333}.form-control:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #c59d5f1a}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn{padding:.8rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;flex:1;font-size:1rem;font-family:inherit}.btn-primary{background:var(--accent-color);color:#fff;border:none}.btn-primary:hover{filter:brightness(.9)}.btn-outline{background:transparent;border:1px solid #ddd;color:#666}.btn-outline:hover{background:#f5f5f5;border-color:#ccc}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.map-placeholder{width:100%;height:350px;background:#0000000d;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;border:2px dashed rgba(0,0,0,.1)}.map-placeholder:hover{background:#0000001a}.map-placeholder-content{text-align:center;color:inherit}.map-placeholder p{font-size:1.5rem;margin-bottom:.5rem;font-weight:600}.map-placeholder .small-text{font-size:.9rem;opacity:.7;display:block}.section.alt .map-placeholder{background:#ffffff1a;border-color:#fff3}.section.alt .map-placeholder:hover{background:#fff3}@media (max-width: 768px){.title-slide .names{font-size:3rem}.section{padding:3rem 1rem}.section h2{font-size:2rem}.timetable td{padding:.75rem .5rem;font-size:1rem}.modal-box{padding:1.5rem}}.rsvp-success-container{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,var(--success-bg) 0%,#d9f99d 100%)}.rsvp-success-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:3rem 2rem;text-align:center;max-width:500px;width:100%;border:1px solid var(--border);position:relative;overflow:hidden}.rsvp-success-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color) 0%,var(--secondary-color) 50%,#10b981 100%)}.success-icon{font-size:4rem;margin-bottom:1.5rem;animation:bounce 1s ease-in-out infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.rsvp-success-card h1{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,#10b981 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rsvp-success-card p{color:var(--text-secondary);font-size:1.125rem;line-height:1.7;margin-bottom:2rem}.success-actions{display:flex;justify-content:center}.back-button{background:var(--gradient-primary);color:var(--surface);text-decoration:none;padding:.875rem 2rem;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;transition:all .3s;box-shadow:var(--shadow-lg);display:inline-flex;align-items:center;gap:.5rem}.back-button:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px var(--shadow-color),0 10px 10px -5px var(--shadow-color);text-decoration:none}.back-button:before{content:"🏠";font-size:1.125rem}@media (max-width: 768px){.rsvp-success-container{padding:1rem;align-items:flex-start;min-height:auto}.rsvp-success-card{padding:2.5rem 1.5rem;margin-top:2rem}.rsvp-success-card h1{font-size:1.875rem}.rsvp-success-card p{font-size:1rem}.success-icon{font-size:3rem}}@media (max-width: 480px){.rsvp-success-card{padding:2rem 1rem}.rsvp-success-card h1{font-size:1.5rem}.back-button{padding:.75rem 1.5rem;font-size:.875rem}}.dashboard-container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md)}.dashboard-header{text-align:center;margin-bottom:var(--spacing-xl)}.dashboard-header h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--primary)}.user-info{color:var(--secondary);font-size:1rem}.dashboard-actions{text-align:center;margin-bottom:3rem}.weddings-section{margin-bottom:4rem}.weddings-section h2{font-size:1.5rem;margin-bottom:var(--spacing-md);font-weight:400;border-bottom:1px solid var(--border);padding-bottom:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:1.5rem}.stat-card{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;text-align:center;transition:var(--transition)}.stat-card:hover{border-color:var(--primary);transform:translateY(-2px)}.stat-card h3{font-size:2.5rem;font-weight:400;color:var(--primary);margin:0 0 .5rem;font-family:var(--font-heading)}.stat-card p{color:var(--secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.weddings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:2rem}.wedding-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:var(--transition)}.wedding-card:hover{box-shadow:var(--shadow);border-color:var(--border-focus)}.wedding-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.wedding-header h3{font-size:1.25rem;color:var(--primary)}.status{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .75rem;border-radius:100px;font-weight:600}.status.active{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.status.inactive{background:#fef2f2;color:#991b1b;border:1px solid #fee2e2}.wedding-stats{padding:1.5rem}.stat{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--bg-secondary)}.stat:last-child{border-bottom:none}.stat .label{color:var(--secondary);font-size:.9rem}.stat .value{color:var(--primary);font-weight:500}.wedding-actions{padding:1.5rem;background:var(--bg-secondary);display:grid;grid-template-columns:1fr 1fr;gap:1rem}.button{text-align:center;padding:.75rem;border-radius:var(--radius-sm);text-decoration:none;font-size:.9rem;transition:var(--transition);cursor:pointer}.button.primary{background:var(--primary);color:#fff;border:1px solid var(--primary)}.button.primary:hover{background:transparent;color:var(--primary)}.button.secondary{background:transparent;color:var(--primary);border:1px solid var(--border)}.button.secondary:hover{border-color:var(--primary);background:#fff}.wedding-form{max-width:500px;margin:0 auto;background:var(--bg-secondary);padding:2rem;border-radius:var(--radius);border:1px solid var(--border)}.wedding-input{width:100%;padding:.875rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem}.wedding-input:focus{outline:none;border-color:var(--accent)}@media (max-width: 768px){.dashboard-container{padding:1rem}.weddings-grid{grid-template-columns:1fr}.stat-card h3{font-size:2rem}.wedding-actions{grid-template-columns:1fr}}.management-dashboard{max-width:1200px;margin:0 auto;padding:2rem}.management-dashboard h1{margin-bottom:0;color:var(--text-primary)}.suite-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:1rem}.suite-tabs{display:flex;gap:.75rem;margin-bottom:1.5rem}.suite-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:10px;padding:.5rem .9rem;cursor:pointer;font-weight:600}.suite-tab.active{border-color:var(--primary-color);background:#4f46e514;color:var(--primary-color)}.suite-content{display:flex;flex-direction:column;gap:1.5rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.4rem}.kpi-card span{font-size:.85rem;color:var(--text-secondary)}.kpi-card strong{font-size:1.5rem;color:var(--text-primary)}.kpi-card small{color:var(--text-secondary)}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:1rem}.table-card h2{margin:0 0 .75rem;font-size:1.1rem;color:var(--text-primary)}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:860px}.admin-table th,.admin-table td{text-align:left;padding:.6rem .55rem;border-bottom:1px solid var(--border);font-size:.88rem;vertical-align:top}.admin-table th{font-weight:700;color:var(--text-primary);background:#00000004}.management-dashboard.loading,.management-dashboard.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary)}.management-dashboard .spinner{width:40px;height:40px;border:3px solid var(--border);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{text-align:center;padding:3rem;background:var(--surface);border-radius:var(--radius);color:var(--text-secondary)}.messages-list{display:grid;gap:1.5rem}.message-card{background:var(--surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border);transition:all .2s ease}.message-card.unread{border-left:4px solid var(--primary-color);background-color:var(--form-bg)}.message-card.read{opacity:.8}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.message-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}.mark-read-button{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:background-color .2s}.mark-read-button:hover{background:var(--primary-hover)}.message-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary)}.message-sender{font-weight:500}.message-date{color:var(--text-secondary)}.message-content{color:var(--text-primary);line-height:1.6;white-space:pre-wrap}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.management-dashboard{padding:1rem}.suite-header{flex-direction:column;align-items:stretch}.suite-tabs{width:100%}.suite-tab{flex:1 1 0}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message-header{flex-direction:column;align-items:flex-start;gap:1rem}.message-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}.impressum{padding:2rem;max-width:800px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif}.impressum-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.impressum h1{margin-bottom:2rem;color:#333;font-size:2rem}.impressum section{margin-bottom:2rem}.impressum h2{color:#444;font-size:1.25rem;margin-bottom:1rem}.impressum p{color:#666;line-height:1.6;margin-bottom:1rem}.impressum a{color:#007bff;text-decoration:none}.impressum a:hover{text-decoration:underline}.onboarding-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.onboarding-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(/background.png) center/cover;opacity:.1;z-index:0}.onboarding-progress{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 20px;box-shadow:0 2px 20px #0000001a}.progress-bar{width:100%;height:6px;background:#667eea33;border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .5s ease}.progress-text{font-size:14px;color:#666;text-align:center;display:block}.onboarding-content{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:40px;box-shadow:0 20px 60px #00000026;border:1px solid rgba(255,255,255,.2);max-width:600px;width:100%;margin-top:100px;margin-bottom:40px;position:relative;z-index:1;transform:translateY(0);opacity:1;transition:all .3s ease}.top-back-button{margin-bottom:20px;text-align:left}.onboarding-content.animating{transform:translateY(20px);opacity:0}.step-header{text-align:center;margin-bottom:30px}.step-header h1{font-size:2.5rem;color:#333;margin-bottom:10px;font-weight:700}.step-header p{font-size:1.1rem;color:#666;line-height:1.5}.step-content{margin-bottom:40px}.step-actions{display:flex;gap:15px;justify-content:center;align-items:center}.onboarding-button{padding:12px 30px;border:none;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.onboarding-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.onboarding-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.onboarding-button.primary:disabled{opacity:.6;cursor:not-allowed}.onboarding-button.secondary{background:transparent;color:#667eea;border:2px solid #667eea}.onboarding-button.secondary:hover{background:#667eea1a}.onboarding-button.large{padding:15px 40px;font-size:18px}.onboarding-button.back{background:transparent;color:#666;border:2px solid #e1e5e9}.onboarding-button.back:hover{background:#667eea0d;border-color:#667eea;color:#667eea}.names-step{display:flex;flex-direction:column;gap:20px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-weight:600;color:#333;font-size:14px}.onboarding-input{padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .3s ease;background:#fff;color:#333}.onboarding-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.invitation-page-step{text-align:center}.invitation-info{margin:0 auto 18px;max-width:620px;text-align:left;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;padding:10px 14px}.invitation-info summary{cursor:pointer;font-weight:700;color:#1f2937;list-style:none}.invitation-info summary::-webkit-details-marker{display:none}.invitation-info summary:after{content:"+";float:right;color:#667eea;font-weight:700}.invitation-info[open] summary:after{content:"−"}.invitation-info p{margin:10px 0 4px;color:#4b5563;line-height:1.6;font-size:14px}.cost-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.package-option{padding:20px;border:2px solid #e1e5e9;border-radius:12px;text-align:center}.package-option.premium{border-color:#667eea;background:#667eea0d}.package-option h4{margin-bottom:10px;color:#333}.package-option p{color:#666;font-size:14px}.choice-buttons{display:flex;gap:15px;justify-content:center}.choice-button{padding:15px 25px;border:2px solid #e1e5e9;border-radius:12px;background:#fff;color:#333;cursor:pointer;transition:all .3s ease;font-weight:500}.choice-button.active{border-color:#667eea;background:#667eea1a;color:#667eea}.choice-button:not(.active){color:#333}.choice-button:hover{border-color:#667eea}.photo-only-note{margin:16px auto 0;max-width:560px;padding:12px 14px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;border-radius:10px;font-size:14px;line-height:1.5}.date-time-step{display:grid;grid-template-columns:1fr 1fr;gap:20px}.location-step .input-group{margin-bottom:20px}.feature-option{padding:20px;border:2px solid #e1e5e9;border-radius:12px;background:#667eea05}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;margin-bottom:10px}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#667eea}.feature-description{font-size:14px;color:#666;margin:0}.background-step .feature-option{text-align:center}.upload-label{cursor:pointer;display:block}.upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;text-align:center;transition:border-color .3s ease;background:#fff}.upload-area:hover{border-color:#667eea}.upload-placeholder .upload-icon{font-size:48px;margin-bottom:15px}.upload-placeholder p{font-weight:500;margin-bottom:5px}.upload-cost{font-size:14px;color:#667eea;font-weight:600}.upload-preview{display:flex;flex-direction:column;align-items:center;gap:15px}.preview-image{max-width:200px;max-height:150px;border-radius:8px;box-shadow:0 4px 12px #00000026}.complete-step{text-align:center}.summary{background:#667eea0d;border-radius:12px;padding:30px}.summary h3{color:#333;margin-bottom:20px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(102,126,234,.1)}.summary-item:last-child{border-bottom:none}.summary-total{display:flex;justify-content:space-between;align-items:center;padding:20px 0 10px;border-top:2px solid #667eea;margin-top:15px;font-weight:700;font-size:18px}.total-amount{color:#667eea;font-size:24px}@media (max-width: 768px){.onboarding-container{padding:10px}.onboarding-content{padding:30px 20px;margin-top:120px}.step-header h1{font-size:2rem}.cost-comparison,.date-time-step{grid-template-columns:1fr}.choice-buttons{flex-direction:column}.choice-button{width:100%}.step-actions{flex-direction:row;justify-content:center;flex-wrap:nowrap}.step-actions .onboarding-button{min-width:0;flex:1 1 0;max-width:220px}.summary-item{flex-direction:column;align-items:flex-start;gap:5px}.summary-total{flex-direction:column;align-items:flex-start;gap:10px}}.instant-builder-page{min-height:100vh;background:linear-gradient(135deg,#f5f5fb,#f2f7ff);display:flex;flex-direction:column}.instant-builder-header{max-width:1200px;width:100%;margin:0 auto;padding:48px 32px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.step-pill{font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.instant-builder-header h1{margin:0 0 8px;font-size:2.5rem;color:#1f2933}.instant-builder-header p{margin:0;color:#4b5563;line-height:1.6}.ghost-btn{border:1px solid rgba(31,41,55,.2);background:#fff;border-radius:999px;padding:10px 20px;cursor:pointer;transition:all .2s ease;font-weight:600}.ghost-btn:hover{border-color:#111827}.instant-builder-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:0 32px 160px}.instant-builder-loading,.instant-builder-error{max-width:640px;margin:40px auto;padding:24px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0f172a14;text-align:center;color:#4b5563}.instant-builder-error p{margin-bottom:16px}.photo-only-hint-card{max-width:760px;margin:40px auto 0;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:28px;box-shadow:0 20px 60px #0f172a14}.photo-only-hint-card h2{margin:0 0 10px;color:#111827}.photo-only-hint-card p{margin:0;color:#4b5563;line-height:1.7}.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:999px;padding:12px 28px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease}.primary-btn.large{font-size:1.05rem;padding:14px 32px}.primary-btn:hover{transform:translateY(-1px)}.publish-bar{position:sticky;bottom:0;background:#fff;box-shadow:0 -10px 40px #0f172a14;padding:24px 32px;display:flex;justify-content:space-between;gap:24px;align-items:center;z-index:10}.publish-bar h3{margin:0 0 4px;font-size:1.25rem}.publish-bar p{margin:0;color:#4b5563}.publish-actions{display:flex;align-items:center;gap:16px}.link-btn{border:none;background:none;color:#5b21b6;font-weight:600;cursor:pointer;padding:0}@media (max-width: 900px){.instant-builder-header,.instant-builder-content{padding:32px 16px 120px}.instant-builder-header{flex-direction:column;align-items:flex-start}.publish-bar{flex-direction:column;align-items:stretch;text-align:center}.publish-actions{flex-direction:column}.primary-btn.large{width:100%}}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-page);border-bottom:1px solid var(--border)}.nav-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:70px}.nav-logo{display:flex;align-items:center;gap:.75rem;font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--primary);text-decoration:none;letter-spacing:-.02em}.nav-logo:hover{color:var(--primary-light)}.nav-logo img{height:32px;width:auto}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-user{color:var(--secondary);font-size:.9rem;font-family:var(--font-body)}.nav-button{padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:var(--transition);letter-spacing:.02em}.nav-button-primary{background-color:var(--primary);color:#fff;border-color:var(--primary)}.nav-button-primary:hover{background-color:transparent;color:var(--primary)}.nav-button-secondary{background-color:transparent;color:var(--primary);border-color:var(--border)}.nav-button-secondary:hover{border-color:var(--primary);background-color:var(--bg-secondary)}@media (max-width: 768px){.nav-container{height:60px;padding:0 1rem}.nav-logo{font-size:1.25rem}.nav-links{gap:.75rem}.nav-button{padding:.5rem .875rem;font-size:.8rem}.nav-user{display:none}}:root{--primary: #1a1a1a;--primary-light: #333333;--secondary: #666666;--accent: #c5a059;--accent-hover: #b08d4b;--accent-light: #f0e6d2;--bg-page: #ffffff;--bg-secondary: #f9f9f9;--surface: #ffffff;--border: #e5e5e5;--border-focus: #c5a059;--status-success: #10b981;--status-error: #ef4444;--status-warning: #f59e0b;--font-heading: "Cormorant Garamond", serif;--font-body: "Inter", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.5rem;--spacing-xl: 4rem;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--transition: all .2s ease-in-out;--primary-color: var(--primary);--primary-hover: var(--primary-light);--secondary-color: var(--accent);--secondary-hover: var(--accent-hover);--text-primary: var(--primary);--text-secondary: var(--secondary);--background: var(--bg-secondary);--form-bg: var(--bg-page);--form-border: var(--border);--form-focus-border: var(--border-focus);--form-focus-shadow: rgba(197, 160, 89, .15);--form-text: var(--primary);--form-placeholder: #a3a3a3;--button-primary: var(--primary);--button-primary-hover: var(--primary-light);--button-secondary: transparent;--button-secondary-hover: var(--bg-secondary);--gradient-primary: linear-gradient(135deg, var(--primary) 0%, #333333 100%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-page);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;color:var(--primary);line-height:1.2}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:80px var(--spacing-md) var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--primary);font-size:.95rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body);background-color:var(--form-bg);color:var(--form-text);transition:var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--form-focus-shadow)}.form-textarea{min-height:120px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);text-decoration:none;gap:.5rem;letter-spacing:.02em}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background-color:transparent;color:var(--primary)}.btn-secondary{background-color:transparent;color:var(--primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--spacing-md)}.card-header{padding:var(--spacing-md);border-bottom:1px solid var(--border);background:transparent}.card-header h2,.card-header h3{margin:0;font-size:1.5rem}.card-body{padding:var(--spacing-md)}.error-message{background-color:#fef2f2;color:#991b1b;border:1px solid #fee2e2;padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.95rem}.success-message{background-color:#f0fdf4;color:#166534;border:1px solid #bbf7d0;padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.95rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--secondary);background:var(--bg-secondary);border-radius:var(--radius);border:1px dashed var(--border)}.empty-state h2{font-size:1.75rem;margin-bottom:.5rem}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--secondary)}.spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.main-content{padding:70px var(--spacing-sm) var(--spacing-lg)}.btn{width:100%;margin-bottom:.5rem}.btn:last-child{margin-bottom:0}}
