body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}body.mobile-menu-open{overflow:hidden;position:fixed;width:100%}.App{min-height:100vh}.navbar{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#333333f2;box-shadow:0 2px 10px #0000001a;padding:.5rem 0;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1000}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.navbar-brand{color:#fff;display:none;font-size:1.2rem;font-weight:600}.navbar-menu{gap:1.5rem;justify-content:center;list-style:none;margin:0;padding:0}.navbar-menu,.navbar-menu li a{align-items:center;display:flex;transition:all .3s ease}.navbar-menu li a{border-radius:6px;color:#fff;font-size:.9rem;font-weight:500;gap:.5rem;overflow:hidden;padding:.5rem 1rem;position:relative;text-decoration:none}.navbar-menu li a:hover{background-color:#ffffff1a;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.navbar-menu li a.active{background-color:#007bff;box-shadow:0 4px 12px #007bff4d}.navbar-menu li a:before{background:linear-gradient(90deg,#007bff,#00d4ff);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.navbar-menu li a.active:before,.navbar-menu li a:hover:before{width:100%}.mobile-menu-toggle{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:30px;justify-content:space-around;padding:0;width:30px;z-index:1001}.mobile-menu-toggle span{background:#fff;border-radius:2px;height:3px;transform-origin:center;transition:all .3s ease;width:25px}.mobile-menu-toggle.active span:first-child{transform:rotate(45deg) translate(6px,6px)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav-icon{filter:brightness(1.1);height:18px;object-fit:contain;width:18px}main{margin-top:70px}@media (max-width:768px){.navbar{padding:.75rem 0}.navbar-brand{display:block;font-size:1.1rem}.mobile-menu-toggle{display:flex}.navbar-menu{align-items:center;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:#333333fa;flex-direction:column;gap:0;height:calc(100vh - 70px);justify-content:flex-start;left:0;opacity:0;overflow-y:auto;padding:2rem 0;position:fixed;top:70px;transform:translateX(-100%);transition:all .3s cubic-bezier(.4,0,.2,1);visibility:hidden;width:100%}.navbar-menu.mobile-open{opacity:1;transform:translateX(0);visibility:visible}.navbar-menu li{margin-bottom:.5rem;max-width:300px;width:100%}.navbar-menu li a{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;font-size:1.1rem;justify-content:flex-start;margin:0 1rem;padding:1rem 1.5rem;width:100%}.navbar-menu li a:hover{background:#ffffff26;box-shadow:0 4px 15px #0003;transform:translateX(5px)}.navbar-menu li a.active{background:linear-gradient(135deg,#007bff,#00d4ff);border-color:#007bff;box-shadow:0 4px 15px #007bff4d}.nav-icon{height:24px;width:24px}main{margin-top:70px}}.section{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:4rem 2rem;position:relative;text-align:center;transition:all .3s ease}.section:before{background:#0000001a;bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.section:hover:before{opacity:1}.section-header{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;transform:translateY(0);transition:transform .3s ease}.section:hover .section-header{transform:translateY(-10px)}.section-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));transition:all .3s ease}.section:hover .section-icon{filter:drop-shadow(0 8px 16px rgba(0,0,0,.3));transform:scale(1.1) rotate(5deg)}.section h1{color:#333;font-size:3rem;margin-bottom:0;transition:all .3s ease}.section:hover h1{text-shadow:0 4px 8px #0000004d;transform:scale(1.05)}.section p{color:#666;font-size:1.2rem;line-height:1.8;max-width:600px;opacity:.9;transition:all .3s ease}.section:hover p{opacity:1;transform:translateY(-5px)}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.cta-btn{align-items:center;border:none;border-radius:25px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;letter-spacing:1px;overflow:hidden;padding:.8rem 2rem;position:relative;text-transform:uppercase;transition:all .3s ease}.cta-btn i{font-size:1.1rem;transition:transform .3s ease}.cta-btn:hover i{transform:scale(1.2)}.cta-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.cta-btn:hover:before{left:100%}.cta-btn.primary{background:linear-gradient(135deg,#007bff,#00d4ff);box-shadow:0 4px 15px #007bff4d;color:#fff}.cta-btn.primary:hover{background:linear-gradient(135deg,#0056b3,#007bff);box-shadow:0 8px 25px #007bff66;transform:translateY(-3px)}.cta-btn.secondary{background:#0000;border:2px solid #fffc;box-shadow:0 4px 15px #ffffff1a;color:#fff}.cta-btn.secondary:hover{background:#ffffff1a;border-color:#fff;box-shadow:0 8px 25px #fff3;transform:translateY(-3px)}.cta-btn:active{transform:translateY(-1px)}.hello-section{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff}.hello-section h1,.hello-section p{color:#fff}.apple-section{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.apple-section h1,.apple-section p{color:#fff}.futbol-section{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff}.futbol-section h1,.futbol-section p{color:#fff}.rossetti-section{background:linear-gradient(135deg,#c21807,#2d5016);color:#fff}.rossetti-section h1,.rossetti-section p{color:#fff}.pane-section{background:linear-gradient(135deg,#8b4513,#d2691e);color:#fff}.pane-section h1,.pane-section p{color:#fff}.wine-section{background:linear-gradient(135deg,#6a0dad,#9932cc);color:#fff}.wine-section h1,.wine-section p{color:#fff}.jeep-section{background:linear-gradient(135deg,#ff8c42,#ffb347);color:#fff}.jeep-section h1,.jeep-section p{color:#fff}.genes-section{background:linear-gradient(135deg,#1b4332,#2d5a27);color:#fff}.footer,.genes-section h1,.genes-section p{color:#fff}.footer{background:linear-gradient(135deg,#2c3e50,#34495e);padding:3rem 2rem 1rem;text-align:center}.footer-content{margin:0 auto;max-width:1200px}.footer-section h3{color:#ecf0f1;font-size:1.5rem;margin-bottom:1.5rem}.social-links{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.social-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;color:#ecf0f1;display:flex;flex-direction:column;gap:.5rem;min-width:80px;padding:1rem;text-decoration:none;transition:all .3s ease}.social-link:hover{background:#fff3;box-shadow:0 10px 20px #0003;transform:translateY(-5px)}.social-link i{font-size:1.5rem}.social-link span{font-size:.9rem;font-weight:500}.social-link:hover.social-link[href*=facebook]{background:#1877f2}.social-link:hover.social-link[href*=twitter]{background:#1da1f2}.social-link:hover.social-link[href*=instagram]{background:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888)}.social-link:hover.social-link[href*=linkedin]{background:#0077b5}.social-link:hover.social-link[href*=youtube]{background:red}.footer-bottom{border-top:1px solid #fff3;margin-top:2rem;padding-top:1rem}.footer-bottom p{color:#bdc3c7;font-size:.9rem;margin:0}.scroll-to-top{bottom:2rem;position:fixed;right:2rem;z-index:1000}.scroll-btn{align-items:center;background:linear-gradient(135deg,#007bff,#00d4ff);border:none;border-radius:50%;box-shadow:0 4px 12px #007bff4d;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:50px;justify-content:center;transition:all .3s ease;width:50px}.scroll-btn:hover{background:linear-gradient(135deg,#0056b3,#007bff);box-shadow:0 8px 20px #007bff66;transform:translateY(-3px) scale(1.1)}.scroll-btn:active{transform:translateY(-1px) scale(1.05)}.gallery-container{margin-top:3rem;max-width:1000px;width:100%}.gallery-title{color:inherit;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.gallery-grid{grid-gap:1rem;gap:1rem;padding:0 1rem}.gallery-thumbnail{box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.gallery-thumbnail:hover{box-shadow:0 8px 25px #0003;transform:translateY(-5px) scale(1.02)}.gallery-thumbnail img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-thumbnail:hover img{transform:scale(1.1)}.gallery-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.gallery-thumbnail:hover .gallery-overlay{opacity:1}.gallery-overlay i{color:#fff;font-size:2rem;transform:scale(.8);transition:transform .3s ease}.gallery-thumbnail:hover .gallery-overlay i{transform:scale(1)}.image-error-placeholder{background:#0000001a;color:#ffffffb3;font-size:.9rem}.image-error-placeholder i{font-size:2rem;margin-bottom:.5rem}.lightbox-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.lightbox-container{align-items:center;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative}.lightbox-close{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;padding:10px;position:absolute;right:0;top:-50px;transition:all .3s ease;z-index:2001}.lightbox-close:hover{background:#ffffff1a;transform:scale(1.1)}.lightbox-nav{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;padding:1rem;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:2001}.lightbox-nav:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:-80px}.lightbox-next{right:-80px}.lightbox-image-container{align-items:center;display:flex;flex-direction:column;max-height:70vh;max-width:100%;position:relative}.lightbox-image{box-shadow:0 8px 32px #0000004d;max-height:100%;max-width:100%}.lightbox-caption{color:#fff;font-size:1.1rem;line-height:1.5;margin-top:1rem;max-width:600px;text-align:center}.lightbox-thumbnails{display:flex;gap:.5rem;margin-top:2rem;max-width:100%;overflow-x:auto;padding:.5rem}.lightbox-thumb{border:2px solid #0000;border-radius:6px;cursor:pointer;flex-shrink:0;height:60px;opacity:.6;overflow:hidden;transition:all .3s ease;width:60px}.lightbox-thumb.active,.lightbox-thumb:hover{border-color:#fff;opacity:1;transform:scale(1.1)}.lightbox-thumb img{height:100%;object-fit:cover;width:100%}.lightbox-counter{background:#00000080;border-radius:20px;color:#fff;font-size:1rem;left:0;padding:.5rem 1rem;position:absolute;top:-50px}@media (max-width:768px){.gallery-grid{gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:0 .5rem}.gallery-title{font-size:1.3rem;margin-bottom:1rem}.lightbox-container{max-height:95vh;max-width:95vw}.lightbox-close{font-size:1.5rem;padding:8px;top:-40px}.lightbox-nav{font-size:1.5rem;padding:.8rem}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-image-container{max-height:60vh}.lightbox-caption{font-size:1rem;margin-top:.8rem}.lightbox-thumbnails{gap:.3rem;margin-top:1.5rem}.lightbox-thumb{height:50px;width:50px}.lightbox-counter{font-size:.9rem;padding:.4rem .8rem;top:-40px}.heritage-modal-container{margin:1rem;max-height:95vh;max-width:95vw}.heritage-modal-header h2{font-size:1.5rem}.heritage-subtitle,.heritage-text{font-size:.9rem}.heritage-text{line-height:1.6}.heritage-modal-close{font-size:1.5rem;right:0;top:-40px}.section{padding:2rem 1rem}.section-icon{height:60px;width:60px}.section h1{font-size:2rem}.section p{font-size:1rem}.footer{padding:2rem 1rem 1rem}.social-links{gap:1rem}.social-link{min-width:60px;padding:.8rem}.social-link i{font-size:1.2rem}.social-link span{font-size:.8rem}.cta-buttons{align-items:center;flex-direction:column;gap:.8rem}.cta-btn{font-size:.9rem;padding:.7rem 1.5rem;width:200px}}.heritage-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:2000}.heritage-modal-container{animation:slideIn .3s ease;background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:15px;box-shadow:0 20px 60px #00000080;max-height:80vh;max-width:800px;overflow:hidden;position:relative;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.heritage-modal-close{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;padding:10px;position:absolute;right:0;top:-50px;transition:all .3s ease;z-index:2001}.heritage-modal-close:hover{background:#ffffff1a;transform:scale(1.1)}.heritage-modal-header{background:linear-gradient(135deg,#c21807,#2d5016);color:#fff;padding:2rem;text-align:center}.heritage-modal-header h2{align-items:center;display:flex;font-size:2rem;gap:1rem;justify-content:center;margin-bottom:.5rem}.heritage-modal-header i{color:#f39c12;font-size:1.8rem}.heritage-subtitle{font-size:1.1rem;font-style:italic;opacity:.9}.heritage-modal-content{background:#f8f9fa;border-bottom:3px solid #2d5016;border-top:3px solid #c21807;max-height:50vh;overflow-y:auto;padding:2rem}.heritage-text{color:#2c3e50;font-size:1rem;line-height:1.8}.heritage-text p{color:#2c3e50;font-weight:400;margin-bottom:1.5rem;text-align:justify}.heritage-text p:last-child{margin-bottom:0}.heritage-text strong{color:#c21807;font-weight:700}.heritage-modal-footer{background:#ecf0f1;border-top:1px solid #bdc3c7;padding:1.5rem 2rem;text-align:center}.heritage-close-btn{align-items:center;background:linear-gradient(135deg,#c21807,#e74c3c);border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 auto;padding:.8rem 2rem;transition:all .3s ease}.heritage-close-btn:hover{background:linear-gradient(135deg,#a71505,#c0392b);box-shadow:0 5px 15px #c718074d;transform:translateY(-2px)}.heritage-close-btn i{font-size:1.1rem}.heritage-modal-content::-webkit-scrollbar{width:8px}.heritage-modal-content::-webkit-scrollbar-track{background:#e9ecef;border-radius:4px}.heritage-modal-content::-webkit-scrollbar-thumb{background:#c21807;border-radius:4px}.heritage-modal-content::-webkit-scrollbar-thumb:hover{background:#a71505}.bread-order-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.bread-order-container{animation:slideIn .3s ease;background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:15px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:900px;overflow:hidden;position:relative;width:100%}.bread-order-close{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;padding:10px;position:absolute;right:0;top:-50px;transition:all .3s ease;z-index:2001}.bread-order-close:hover{background:#ffffff1a;transform:scale(1.1)}.bread-order-header{background:linear-gradient(135deg,#8b4513,#d2691e);color:#fff;padding:2rem;text-align:center}.bread-order-header h2{align-items:center;display:flex;font-size:2rem;gap:1rem;justify-content:center;margin-bottom:.5rem}.bread-order-header i{color:#f39c12;font-size:1.8rem}.bread-order-subtitle{font-size:1.1rem;font-style:italic;opacity:.9}.bread-order-content{background:#f8f9fa;max-height:70vh;overflow-y:auto;padding:2rem}.bread-order-form{color:#2c3e50}.form-section{border-bottom:2px solid #e9ecef;margin-bottom:2rem;padding-bottom:1.5rem}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section h3{align-items:center;color:#8b4513;display:flex;font-size:1.3rem;gap:.5rem;margin-bottom:1rem}.form-section h3 i{color:#d2691e}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{color:#2c3e50;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #dee2e6;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#8b4513;box-shadow:0 0 0 3px #8b45131a;outline:none}.quantity-group input{max-width:80px}.bread-order-item{background:#fff;border:2px solid #e9ecef;border-radius:10px;margin-bottom:1rem;padding:1.5rem;position:relative}.order-item-header{align-items:center;color:#8b4513;display:flex;font-weight:600;justify-content:space-between;margin-bottom:1rem}.remove-item-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:35px;justify-content:center;padding:.5rem;transition:all .3s ease;width:35px}.remove-item-btn:hover{background:#c82333;transform:scale(1.1)}.add-item-btn{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.add-item-btn:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 5px 15px #28a7454d;transform:translateY(-2px)}.order-summary{background:linear-gradient(135deg,#8b4513,#d2691e);border-radius:10px;color:#fff;margin:2rem 0;padding:1.5rem;text-align:center}.order-summary h3{color:#fff;margin-bottom:1rem}.summary-total{font-size:1.5rem;margin-bottom:1rem}.order-note{align-items:center;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;opacity:.9}.form-actions{margin-top:2rem;text-align:center}.submit-order-btn{align-items:center;background:linear-gradient(135deg,#8b4513,#d2691e);border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin:0 auto;padding:1rem 3rem;transition:all .3s ease}.submit-order-btn:hover:not(:disabled){background:linear-gradient(135deg,#7a3e11,#bf5d1a);box-shadow:0 8px 25px #8b45134d;transform:translateY(-2px)}.submit-order-btn:disabled{cursor:not-allowed;opacity:.7}.order-success{color:#2c3e50;padding:3rem 2rem;text-align:center}.order-success i{color:#28a745;font-size:4rem;margin-bottom:1rem}.order-success h3{color:#28a745;font-size:2rem;margin-bottom:1rem}.order-success p{font-size:1.1rem;line-height:1.6}.bread-order-content::-webkit-scrollbar{width:8px}.bread-order-content::-webkit-scrollbar-track{background:#e9ecef;border-radius:4px}.bread-order-content::-webkit-scrollbar-thumb{background:#8b4513;border-radius:4px}.bread-order-content::-webkit-scrollbar-thumb:hover{background:#7a3e11}@media (max-width:768px){.bread-order-container{margin:.5rem;max-height:95vh;max-width:95vw}.bread-order-header{padding:1.5rem}.bread-order-header h2{font-size:1.5rem}.bread-order-content{padding:1.5rem}.form-row{gap:.5rem;grid-template-columns:1fr}.bread-order-close{font-size:1.5rem;top:-40px}.submit-order-btn{font-size:1rem;padding:.8rem 2rem}}.lazy-image-container{overflow:hidden;position:relative}.lazy-image{height:100%;object-fit:cover;transition:opacity .3s ease-in-out,transform .3s ease;width:100%}.lazy-image.loading{opacity:0}.lazy-image.loaded{opacity:1}.image-placeholder{align-items:center;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.loading-skeleton{animation:loading-shimmer 2s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;height:100%;width:100%}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.image-error-placeholder{align-items:center;background:#f5f5f5;color:#999;display:flex;flex-direction:column;font-size:14px;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.image-error-placeholder i{font-size:24px;margin-bottom:8px;opacity:.5}.gallery-thumbnail{aspect-ratio:1;border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transform:translateZ(0);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;will-change:transform}.gallery-thumbnail:hover{box-shadow:0 10px 25px #00000026;transform:translateY(-5px) scale(1.02) translateZ(0)}.gallery-thumbnail-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-thumbnail:hover .gallery-thumbnail-image{transform:scale(1.1)}.lightbox-overlay{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.lightbox-image{border-radius:8px;box-shadow:0 20px 40px #0000004d;max-height:80vh;max-width:90vw;object-fit:contain;will-change:transform}.lightbox-thumb-image{border-radius:4px;height:100%;object-fit:cover;transition:opacity .2s ease;width:100%}.lightbox-thumb:hover .lightbox-thumb-image{opacity:.8}.lightbox-thumb.active .lightbox-thumb-image{box-shadow:0 0 0 2px #007bff;opacity:1}.cta-btn,.gallery-thumbnail,.lightbox-container,.navbar,.section-icon{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.section h1,.section h2,.section h3{font-display:swap}.cta-btn{transform:translateZ(0);transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.cta-btn:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px) translateZ(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta-btn,.gallery-thumbnail,.gallery-thumbnail-image,.lazy-image{transition:none}.loading-skeleton{animation:none}.gallery-thumbnail:hover{transform:none}}@media (max-width:768px){.gallery-thumbnail:hover{transform:translateY(-2px) scale(1.01) translateZ(0)}.lightbox-image{max-height:75vh;max-width:95vw}.gallery-thumbnail-image{transition:none}.gallery-thumbnail:hover .gallery-thumbnail-image{transform:none}}.section{contain:layout style paint;will-change:transform}.section-icon{height:80px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;object-fit:contain;width:80px}.gallery-grid{grid-gap:20px;contain:layout;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}@media (max-width:768px){.gallery-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.section.loading{opacity:.7;pointer-events:none}.section.loaded{opacity:1;pointer-events:auto;transition:opacity .3s ease}.hello-content{margin:0 auto;max-width:800px;text-align:center}.welcome-text{font-size:1.2rem;line-height:1.6;margin-bottom:20px}.extended-intro{animation:fadeIn .5s ease-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;margin:20px 0;padding:20px}.extended-intro p{line-height:1.7;margin-bottom:15px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.family-stats-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 10px 30px #0003;color:#fff;margin:20px 0;padding:30px}.family-stats-card h3{font-size:1.5rem;margin-bottom:25px;text-align:center}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:30px}.stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;padding:15px;text-align:center}.stat-number{font-size:2.5rem;font-weight:700;margin-bottom:5px}.stat-label{font-size:.9rem;opacity:.9}.timeline-preview{margin:25px 0}.timeline-preview h4{margin-bottom:15px;text-align:center}.timeline-bar{align-items:center;display:flex;margin:20px 0;position:relative}.timeline-line{background:#ffffff4d;border-radius:2px;flex:1 1;height:4px;margin:0 15px;position:relative}.timeline-marker{background:#fff;border-radius:15px;color:#667eea;font-size:.8rem;font-weight:700;padding:5px 10px;position:absolute;top:-20px;transform:translateX(-50%);white-space:nowrap}.timeline-end,.timeline-start{font-size:.9rem;font-weight:700}.quick-facts{background:#ffffff1a;border-radius:10px;margin:20px 0;padding:20px}.quick-facts h4{margin-bottom:15px}.quick-facts ul{list-style:none;padding:0}.quick-facts li{margin-bottom:10px;padding-left:20px;position:relative}.quick-facts li:before{color:gold;content:"•";font-weight:700;left:0;position:absolute}.explore-tree-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:20px;padding:15px;transition:all .3s ease;width:100%}.explore-tree-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.explore-tree-btn i{margin-right:10px}.recipe-modal{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.recipe-content{background:#fff;border-radius:15px;box-shadow:0 20px 40px #0000004d;color:#333;max-height:90vh;max-width:900px;overflow-y:auto;width:90%}.recipe-header{align-items:center;background:linear-gradient(135deg,#8b4513,#d2691e);border-radius:15px 15px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.recipe-header h2{font-size:1.8rem;margin:0}.recipe-tabs{background:#f8f9fa;border-bottom:1px solid #eee;display:flex;overflow-x:auto}.recipe-tab{background:none;border:none;color:#666;cursor:pointer;font-weight:600;padding:15px 25px;transition:all .3s ease;white-space:nowrap}.recipe-tab.active{background:#fff;border-bottom:3px solid #8b4513;color:#8b4513}.recipe-tab:hover{background:#e9ecef}.recipe-body{color:#333;padding:30px}.recipe-info h3{color:#8b4513;font-size:1.5rem;margin-bottom:15px}.recipe-meta{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px}.recipe-meta span{align-items:center;background:#f8f9fa;border-radius:20px;color:#666;display:flex;font-size:.9rem;gap:8px;padding:8px 15px}.recipe-meta i{color:#8b4513}.recipe-sections{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 2fr;margin-top:30px}.ingredients-section,.instructions-section,.tips-section{background:#f8f9fa;border-radius:10px;padding:25px}.instructions-section{grid-column:span 2}.recipe-sections h4{border-bottom:2px solid #8b4513;color:#8b4513;font-size:1.2rem;margin-bottom:15px;padding-bottom:5px}.ingredients-list,.instructions-list,.tips-list{color:#333;margin:0;padding-left:20px}.ingredients-list li,.instructions-list li{color:#333;line-height:1.5;margin-bottom:8px}.tips-list{list-style:none;padding-left:0}.tips-list li{align-items:flex-start;color:#333;display:flex;gap:10px;margin-bottom:12px}.tips-list i{color:gold;flex-shrink:0;margin-top:3px}.tree-controls-panel{background:#f8f9fa;border:1px solid #eee;border-radius:10px;margin-bottom:20px;padding:20px}.control-section h4,.quick-links h4{color:#333;font-size:1.1rem;margin-bottom:15px}.control-group{margin-bottom:15px}.control-group label{color:#555;display:block;margin-bottom:5px}.checkbox-group{align-items:center;display:flex;gap:10px}.checkbox-group label{font-weight:400;margin-bottom:0}.reset-btn{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .3s ease}.reset-btn:hover{background:#5a6268}.generation-buttons{display:flex;flex-wrap:wrap;gap:10px}.gen-btn{background:#667eea;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 15px;transition:all .3s ease}.gen-btn:hover{background:#5a67d8;transform:translateY(-1px)}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.recipe-sections{grid-template-columns:1fr}.instructions-section{grid-column:span 1}.generation-buttons,.recipe-meta{justify-content:center}.timeline-marker{font-size:.7rem;padding:3px 8px}}.family-stats-card.enhanced{background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:20px;box-shadow:0 15px 35px #0000001a;color:#fff;margin:2rem 0;overflow:hidden;padding:0}.stats-header{background:#0003;border-bottom:1px solid #ffffff1a;padding:2rem;text-align:center}.stats-header h3{color:#fff;font-size:2rem;font-weight:700;margin:0 0 .5rem}.stats-header p{font-size:1.1rem;margin:0;opacity:.8}.stats-tabs{background:#0000001a;border-bottom:1px solid #ffffff1a;display:flex}.tab-btn{align-items:center;background:none;border:none;color:#ffffffb3;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease}.tab-btn:hover{background:#ffffff1a;color:#fff}.tab-btn.active{background:#ffffff26;border-bottom:3px solid #3498db;color:#fff}.stats-body{padding:2rem}.stats-content{animation:fadeIn .3s ease-in}.enhanced .stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.enhanced .stat-item{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:15px;padding:1.5rem;text-align:center;transition:transform .3s ease}.enhanced .stat-item:hover{background:#ffffff26;transform:translateY(-5px)}.enhanced .stat-item.highlight{background:linear-gradient(135deg,#3498db,#2980b9);border:1px solid #fff3}.enhanced .stat-number{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.enhanced .stat-label{color:#fff;font-size:1rem;font-weight:600;margin-bottom:.25rem}.stat-detail{color:#fffc;font-size:.85rem;opacity:.8}.quick-insights{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.insight-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;padding:1.5rem}.insight-card h4{align-items:center;color:#fff;display:flex;gap:.5rem;margin:0 0 1rem}.insight-card h4 i{color:#3498db}.demographic-bars{display:flex;flex-direction:column;gap:.75rem}.demo-bar{align-items:center;display:flex;gap:1rem}.demo-label{font-weight:500;min-width:80px}.demo-progress{background:#ffffff1a;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.demo-fill{background:linear-gradient(90deg,#3498db,#2980b9);height:100%;transition:width .8s ease}.demo-count{font-weight:600;min-width:30px;text-align:right}.insight-list{list-style:none;margin:0;padding:0}.insight-list li{border-bottom:1px solid #ffffff1a;padding:.5rem 0}.insight-list li:last-child{border-bottom:none}.location-grid{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.location-item{background:#ffffff0d;border-radius:10px;gap:1rem;padding:1rem}.location-item,.location-rank{align-items:center;display:flex}.location-rank{background:#3498db;border-radius:50%;color:#fff;font-size:.9rem;font-weight:600;height:30px;justify-content:center;width:30px}.location-info{flex:1 1}.location-name{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.location-count{font-size:.9rem;margin-bottom:.5rem;opacity:.8}.location-bar{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden}.location-fill{background:linear-gradient(90deg,#e74c3c,#c0392b);height:100%;transition:width .8s ease}.migration-story{background:#ffffff0d;border-left:4px solid #3498db;border-radius:10px;margin-top:2rem;padding:1.5rem}.migration-story h5{color:#3498db;margin:0 0 1rem}.migration-story p{line-height:1.6;margin:0;opacity:.9}.century-breakdown{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.century-card{background:#ffffff0d;border-radius:10px;padding:1rem}.century-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.century-header h5{color:#fff;margin:0}.century-count{background:#2ecc71;border-radius:15px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.century-bar{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.century-fill{background:linear-gradient(90deg,#2ecc71,#27ae60);height:100%;transition:width .8s ease}.milestone-events{margin-top:2rem}.milestone-events h5{color:#3498db;margin:0 0 1rem}.milestone-grid{display:flex;flex-direction:column;gap:1rem}.milestone{align-items:center;background:#ffffff0d;border-radius:10px;display:flex;gap:1rem;padding:1rem}.milestone-year{background:#f39c12;border-radius:20px;color:#fff;font-weight:600;min-width:80px;padding:.5rem 1rem;text-align:center}.milestone-event{flex:1 1;font-weight:500}.surnames-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:1.5rem 0}.surname-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:1.5rem;text-align:center}.surname-rank{align-items:center;background:#9b59b6;border-radius:50%;color:#fff;display:flex;font-weight:600;height:30px;justify-content:center;margin:0 auto 1rem;width:30px}.surname-name{color:#fff;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.surname-count{font-size:.9rem;margin-bottom:.25rem;opacity:.8}.surname-percentage{color:#3498db;font-size:.8rem;font-weight:500}.name-insights{margin-top:2rem}.name-insights h5{color:#3498db;margin:0 0 1rem}.heritage-facts{display:flex;flex-direction:column;gap:.75rem}.heritage-fact{background:#ffffff0d;border-left:4px solid #9b59b6;border-radius:8px;padding:1rem}.stats-footer{background:#0000001a;border-top:1px solid #ffffff1a;padding:2rem;text-align:center}.explore-tree-btn.primary{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:25px;box-shadow:0 5px 15px #3498db4d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.explore-tree-btn.primary:hover{box-shadow:0 8px 25px #3498db66;transform:translateY(-2px)}@media (max-width:768px){.stats-tabs{flex-wrap:wrap}.tab-btn{flex:1 1 50%;min-width:120px}.enhanced .stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.quick-insights,.surnames-grid{grid-template-columns:1fr}.location-item,.milestone{flex-direction:column;text-align:center}}.family-calendar-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:10000}.family-calendar-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;box-shadow:0 25px 50px #00000080;color:#fff;display:flex;flex-direction:column;height:98vh;max-height:1000px;max-width:1600px;overflow:hidden;width:98vw}.calendar-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border-bottom:1px solid #ffffff1a;flex-shrink:0;padding:1rem 1.5rem}.calendar-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.calendar-title h2{align-items:center;color:#fff;display:flex;font-size:1.5rem;gap:.5rem;margin:0;text-shadow:0 2px 4px #0000004d}.calendar-title h2 i{color:#4a90e2;text-shadow:0 0 10px #4a90e280}.close-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 15px #0003;font-size:1.5rem;height:45px;padding:.5rem;transition:all .3s ease;width:45px}.close-btn:hover{background:linear-gradient(135deg,#fff3,#ffffff1a);border-color:#ffffff4d;box-shadow:0 6px 20px #0000004d;transform:translateY(-2px)}.calendar-filters{align-items:center;display:flex;flex-wrap:nowrap;gap:1rem;justify-content:space-between}.view-modes{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border:1px solid #ffffff1a;border-radius:15px;display:flex;gap:.25rem;padding:.25rem}.mode-btn{background:#0000;border:none;border-radius:12px;color:#ffffffb3;cursor:pointer;font-size:.9rem;font-weight:500;letter-spacing:.5px;overflow:hidden;padding:.75rem 1.25rem;position:relative;text-transform:uppercase;transition:all .3s ease}.mode-btn:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.mode-btn:hover{background:#ffffff1a;box-shadow:0 4px 15px #4a90e233;color:#fff;transform:translateY(-1px)}.mode-btn:hover:before{left:100%}.mode-btn.active{background:linear-gradient(135deg,#4a90e2,#357abd);box-shadow:0 4px 15px #4a90e266;color:#fff;font-weight:600;transform:translateY(-1px)}.mode-btn.active:before{display:none}.event-filters{align-items:center;display:flex;gap:1rem}.filter-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;min-width:200px;padding:.75rem 1rem;transition:all .3s ease}.filter-select:hover{background:linear-gradient(135deg,#ffffff26,#ffffff14);border-color:#ffffff4d;box-shadow:0 6px 20px #0000004d;transform:translateY(-1px)}.filter-select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e24d;outline:none}.filter-select option{background:#1a1a2e;border:none;color:#fff;padding:.5rem}.today-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:12px;box-shadow:0 4px 15px #28a7454d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.5px;overflow:hidden;padding:.75rem 1.25rem;position:relative;text-transform:uppercase;transition:all .3s ease}.today-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.today-btn:hover{background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 6px 20px #28a74566;transform:translateY(-2px)}.today-btn:hover:before{left:100%}.today-btn:active{box-shadow:0 2px 10px #28a7454d;transform:translateY(0)}@media (max-width:768px){.calendar-filters{flex-direction:column;gap:1rem}.view-modes{justify-content:center;width:100%}.mode-btn{flex:1 1;font-size:.8rem;padding:.6rem .8rem}.filter-select{min-width:auto;width:100%}.today-btn{padding:.8rem;width:100%}}.calendar-content{flex:1 1;min-height:0;overflow-y:auto;padding:1rem 1.5rem}.calendar-content,.upcoming-view{display:flex;flex-direction:column}.upcoming-view{gap:1rem}.upcoming-header{flex-shrink:0;margin-bottom:1rem}.upcoming-header h3{font-size:1.5rem;margin:0 0 .25rem}.upcoming-header p{font-size:1rem}.upcoming-content{min-height:0}.upcoming-content,.upcoming-sections{display:flex;flex:1 1;flex-direction:column}.upcoming-sections{gap:1.5rem;overflow-y:auto;padding-right:.5rem}.upcoming-sections::-webkit-scrollbar{width:6px}.upcoming-sections::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.upcoming-sections::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.upcoming-sections::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (min-width:1200px){.upcoming-content{display:flex;flex-direction:column;gap:1.5rem;height:100%;min-height:0}.upcoming-sections{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding-right:.5rem}.today-section,.week-section{flex-shrink:0}.month-section{flex:1 1;min-height:0}.upcoming-content .calendar-legend{background:#0003;border-radius:15px;border-top:1px solid #ffffff1a;flex-shrink:0;margin-top:1.5rem;padding:1.5rem}.upcoming-content .legend-items{gap:1.5rem}.upcoming-content .legend-item{font-size:.9rem}}.month-section,.today-section,.week-section{margin-bottom:1rem}.month-section h4,.today-section h4,.week-section h4{font-size:1.1rem;margin-bottom:.75rem}.anniversary-item{gap:.75rem;padding:.75rem}.anniversary-card{gap:.75rem;padding:1rem}.anniversary-icon-large{font-size:2rem;height:50px;width:50px}.calendar-days{min-height:0}@media (min-width:1200px){.calendar-days{min-height:500px}.calendar-day{min-height:100px}}.year-months{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);height:100%;margin-left:auto;margin-right:auto;margin-top:1rem;max-width:1200px;min-height:400px}@media (min-width:1200px){.year-months{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);max-width:1000px;min-height:500px}}@media (min-width:900px) and (max-width:1199px){.year-months{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);min-height:450px}}@media (min-width:600px) and (max-width:899px){.year-months{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);min-height:500px}}@media (max-width:599px){.year-months{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,1fr);min-height:600px}}@media (max-width:400px){.year-months{grid-template-columns:1fr;grid-template-rows:repeat(12,1fr);min-height:800px}}.timeline-events{grid-gap:.75rem;display:grid;gap:.75rem;padding-right:.5rem}@media (min-width:1200px){.timeline-events{gap:1rem;grid-template-columns:repeat(2,1fr)}.timeline-event{margin-bottom:0}}.calendar-legend{flex-shrink:0}.legend-items{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.legend-item{color:#fffc;font-weight:500}.legend-icon{flex-shrink:0;height:24px;width:24px}.legend-icon.birth-anniversary{background:#ffc10733}@media (min-width:1200px){.calendar-content::-webkit-scrollbar,.timeline-events::-webkit-scrollbar,.upcoming-content::-webkit-scrollbar{width:6px}.calendar-content::-webkit-scrollbar-track,.timeline-events::-webkit-scrollbar-track,.upcoming-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.calendar-content::-webkit-scrollbar-thumb,.timeline-events::-webkit-scrollbar-thumb,.upcoming-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.calendar-content::-webkit-scrollbar-thumb:hover,.timeline-events::-webkit-scrollbar-thumb:hover,.upcoming-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}}.calendar-month-view{display:flex;flex-direction:column;height:100%}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.calendar-header h3{color:#fff;font-size:1.8rem;margin:0}.nav-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.nav-btn:hover{background:#fff3}.calendar-weekdays{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:1rem}.weekday{background:#4a90e21a;border-radius:8px;color:#4a90e2;font-weight:600;padding:1rem;text-align:center}.calendar-days{grid-gap:1px;display:grid;flex:1 1;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#ffffff0d;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;min-height:80px;padding:.5rem;transition:all .3s ease}.calendar-day:hover{background:#ffffff1a}.calendar-day.other-month{opacity:.3}.calendar-day.has-events{border:2px solid #4a90e2}.day-number{color:#fff;font-weight:600;margin-bottom:.25rem}.day-events{display:flex;flex:1 1;flex-wrap:wrap;gap:.25rem}.event-dot{border-radius:10px;font-size:.8rem;max-width:100%;overflow:hidden;padding:.1rem .3rem;text-overflow:ellipsis;white-space:nowrap}.event-dot.birth{background:#28a745cc}.event-dot.death{background:#6c757dcc}.event-dot.marriage{background:#dc3545cc}.more-events{color:#4a90e2;font-size:.7rem;font-weight:600}.calendar-year-view{height:100%}.year-month{background:#ffffff0d;border:2px solid #0000;border-radius:15px;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:space-between;min-height:120px;padding:1.5rem;transition:all .3s ease}.year-month:hover{background:#ffffff1a;transform:translateY(-2px)}.year-month.has-events{border-color:#4a90e2}.month-name{color:#fff;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.month-event-count{color:#4a90e2;font-size:.9rem;margin-bottom:1rem}.month-events-preview{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.event-preview{align-items:center;border-radius:8px;display:flex;font-size:.8rem;gap:.3rem;padding:.3rem .5rem}.event-preview.birth{background:#28a74533;border-left:3px solid #28a745}.event-preview.death{background:#6c757d33;border-left:3px solid #6c757d}.event-preview.marriage{background:#dc354533;border-left:3px solid #dc3545}.calendar-timeline-view{display:flex;flex-direction:column;height:100%}.timeline-header{margin-bottom:2rem;text-align:center}.timeline-header h3{color:#fff;font-size:1.8rem;margin:0 0 .5rem}.timeline-header p{color:#4a90e2;font-size:1.1rem;margin:0}.timeline-events{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto}.timeline-event{background:#ffffff0d;border-left:4px solid #0000;border-radius:15px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.timeline-event:hover{background:#ffffff1a;transform:translateX(5px)}.timeline-event.birth{border-left-color:#28a745}.timeline-event.death{border-left-color:#6c757d}.timeline-event.marriage{border-left-color:#dc3545}.event-date{gap:1rem;min-width:120px}.event-date,.event-icon{align-items:center;display:flex}.event-icon{background:#ffffff1a;border-radius:50%;font-size:1.5rem;height:40px;justify-content:center;width:40px}.date-info{text-align:center}.event-day{color:#fff;font-size:1.2rem;font-weight:600}.event-month{color:#4a90e2;font-size:.8rem;text-transform:uppercase}.event-year{color:#ffffffb3;font-size:.9rem}.event-details{flex:1 1}.event-description{color:#fff;font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.event-location{align-items:center;color:#ffffffb3;display:flex;font-size:.9rem;gap:.3rem}.event-location i{color:#4a90e2}.calendar-legend{gap:2rem;padding:1rem 1.5rem}.legend-icon.birth{background:#28a74533}.legend-icon.death{background:#6c757d33}.legend-icon.marriage{background:#dc354533}@media (max-width:768px){.family-calendar-container{border-radius:0;height:100vh;width:100vw}.calendar-filters{flex-direction:column;gap:1rem}.view-modes{justify-content:center;width:100%}.calendar-days{gap:2px}.calendar-day{min-height:60px;padding:.3rem}.timeline-event{flex-direction:column;gap:.5rem}.event-date{justify-content:center;min-width:auto}.calendar-legend{flex-wrap:wrap;gap:1rem}}.upcoming-anniversaries{background:#ffffff0d;border-left:4px solid #f39c12;border-radius:15px;margin-bottom:2rem;padding:1.5rem}.upcoming-anniversaries h4{align-items:center;color:#f39c12;display:flex;gap:.5rem;margin:0 0 1rem}.anniversary-list{display:flex;flex-direction:column;gap:1rem}.anniversary-item{background:#ffffff0d;border-left:3px solid #0000;border-radius:10px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.anniversary-item:hover{background:#ffffff1a;transform:translateX(5px)}.anniversary-item.birth-anniversary{border-left-color:#28a745}.anniversary-item.death-anniversary{border-left-color:#6c757d}.anniversary-item.marriage-anniversary{border-left-color:#dc3545}.anniversary-date{align-items:center;display:flex;gap:1rem;min-width:100px}.anniversary-icon{align-items:center;background:#ffffff1a;border-radius:50%;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.anniversary-day{color:#fff;font-size:1.2rem;font-weight:600}.anniversary-month{color:#4a90e2;font-size:.8rem;text-transform:uppercase}.anniversary-details{flex:1 1}.anniversary-description{color:#fff;font-size:1rem;font-weight:500;margin-bottom:.25rem}.anniversary-years{color:#ffffffb3;font-size:.9rem}.event-dot.birth-anniversary{background:#28a745e6;border:1px solid #28a745}.event-dot.death-anniversary{background:#6c757de6;border:1px solid #6c757d}.event-dot.marriage-anniversary{background:#dc3545e6;border:1px solid #dc3545}.timeline-event.birth-anniversary{background:#28a7451a;border-left-color:#28a745}.timeline-event.death-anniversary{background:#6c757d1a;border-left-color:#6c757d}.timeline-event.marriage-anniversary{background:#dc35451a;border-left-color:#dc3545}.calendar-legend{background:#0003;border-top:1px solid #ffffff1a;display:flex;gap:3rem;justify-content:center;padding:1.5rem}.legend-item{color:#fff;font-size:.9rem;gap:.5rem}.legend-icon{align-items:center;background:#ffffff1a;border-radius:50%;display:flex;font-size:1.2rem;height:30px;justify-content:center;width:30px}.legend-icon.birth-anniversary{background:#28a74533}.legend-icon.death-anniversary{background:#6c757d33}.legend-icon.marriage-anniversary{background:#dc354533}@media (max-width:768px){.upcoming-anniversaries{margin-bottom:1rem;padding:1rem}.anniversary-item{flex-direction:column;gap:.5rem}.anniversary-date{justify-content:center;min-width:auto}.calendar-legend{flex-direction:column;gap:1.5rem}.legend-items{flex-wrap:wrap;gap:1rem;justify-content:center}}.calendar-section{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:center;min-height:100vh;padding:4rem 0}.calendar-intro{margin:0 auto 3rem;max-width:800px;text-align:center}.calendar-intro p{font-size:1.2rem;line-height:1.6;opacity:.9}.calendar-features{margin:3rem 0}.feature-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:2rem 0}.feature-card{background:#ffffff1a;border:1px solid #fff3;border-radius:15px;padding:2rem;text-align:center;transition:all .3s ease}.feature-card:hover{background:#ffffff26;box-shadow:0 10px 30px #0003;transform:translateY(-5px)}.feature-icon{display:block;font-size:3rem;margin-bottom:1rem}.feature-card h3{color:#fff;font-size:1.3rem;margin:1rem 0}.feature-card p{line-height:1.5;margin:0;opacity:.9}.calendar-stats{margin:3rem 0}.stats-preview{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 auto;max-width:600px}.stats-preview .stat-item{background:#ffffff1a;border:1px solid #fff3;border-radius:15px;padding:1.5rem;text-align:center}.stats-preview .stat-number{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stats-preview .stat-label{color:#fff;font-size:1rem;font-weight:600;opacity:.9}.calendar-description{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;margin:3rem 0;padding:2rem}.calendar-description h3{color:#fff;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.view-descriptions{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:800px}.view-item{background:#ffffff0d;border-left:4px solid #4a90e2;border-radius:10px;padding:1rem}.view-item strong{color:#4a90e2;font-weight:600}.calendar-section .cta-buttons{margin-top:3rem;text-align:center}.calendar-section .cta-btn.primary{align-items:center;background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:30px;box-shadow:0 8px 25px #4a90e24d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.2rem;font-weight:600;gap:.75rem;letter-spacing:1px;padding:1.2rem 2.5rem;text-transform:uppercase;transition:all .3s ease}.calendar-section .cta-btn.primary:hover{background:linear-gradient(135deg,#357abd,#2968a3);box-shadow:0 12px 35px #4a90e266;transform:translateY(-3px)}.calendar-section .cta-btn.primary i{font-size:1.3rem}@media (max-width:768px){.calendar-section{padding:2rem 0}.feature-grid{gap:1.5rem;grid-template-columns:1fr}.feature-card{padding:1.5rem}.feature-icon{font-size:2.5rem}.stats-preview{gap:1rem;grid-template-columns:1fr}.view-descriptions{gap:.75rem}.view-item{padding:.75rem}.calendar-section .cta-btn.primary{font-size:1.1rem;padding:1rem 2rem}}.error-state,.loading-state{background:#ffffff1a;border-radius:15px;margin:2rem 0;padding:2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin:0 auto 1rem;width:40px}.error-icon{font-size:2rem;margin-bottom:1rem}.error-message{background:#dc354533;border:1px solid #dc354580;border-radius:10px;color:#ff6b6b;margin-top:1rem;padding:1rem}.calendar-section .cta-btn.primary:disabled{background:#fff3;box-shadow:none;color:#fff9;cursor:not-allowed;transform:none}.calendar-section .cta-btn.primary:disabled:hover{box-shadow:none;transform:none}.upcoming-view{height:100%;overflow-y:auto}.upcoming-header{margin-bottom:2rem;text-align:center}.upcoming-header h3{color:#fff;font-size:1.8rem;margin:0 0 .5rem}.upcoming-header p{color:#fffc;font-size:1.1rem;margin:0}.today-section{margin-bottom:2rem}.today-section h4{align-items:center;color:#f39c12;display:flex;gap:.5rem;margin-bottom:1rem}.anniversary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.anniversary-card{background:#ffffff1a;border-left:4px solid #0000;border-radius:15px;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.anniversary-card.today{background:#f39c1233;border-left-color:#f39c12;box-shadow:0 5px 20px #f39c124d}.anniversary-card:hover{background:#ffffff26;transform:translateY(-2px)}.anniversary-card.birth-anniversary{border-left-color:#28a745}.anniversary-card.death-anniversary{border-left-color:#6c757d}.anniversary-card.marriage-anniversary{border-left-color:#dc3545}.anniversary-icon-large{align-items:center;background:#ffffff1a;border-radius:50%;display:flex;flex-shrink:0;font-size:2.5rem;height:60px;justify-content:center;width:60px}.anniversary-content{flex:1 1}.anniversary-content h5{color:#fff;font-size:1.2rem;margin:0 0 .5rem}.anniversary-desc{color:#ffffffe6;font-size:1rem;margin:0 0 1rem}.anniversary-meta{display:flex;flex-wrap:wrap;gap:1rem}.location-badge,.years-badge{background:#fff3;border-radius:15px;color:#fff;font-size:.8rem;padding:.25rem .75rem}.location-badge{background:#4a90e24d}.month-section,.week-section{margin-bottom:2rem}.month-section h4,.week-section h4{align-items:center;color:#4a90e2;display:flex;gap:.5rem;margin-bottom:1rem}.days-until{color:#f39c12;font-size:.8rem;font-weight:600;text-transform:uppercase}.show-more{background:#ffffff0d;border-radius:10px;margin-top:1rem;padding:1rem;text-align:center}.show-more p{color:#ffffffb3;font-style:italic;margin:0}.upcoming-stats{grid-gap:1rem;border-top:1px solid #ffffff1a;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:2rem;padding-top:2rem}.stat-card{background:#ffffff1a;border-radius:15px;padding:1.5rem;text-align:center;transition:all .3s ease}.stat-card:hover{background:#ffffff26;transform:translateY(-2px)}.stat-card .stat-number{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-card .stat-label{color:#fffc;font-size:.9rem;font-weight:500}@media (max-width:768px){.anniversary-grid{grid-template-columns:1fr}.anniversary-card{flex-direction:column;text-align:center}.anniversary-icon-large{align-self:center}.anniversary-meta{justify-content:center}.upcoming-stats{grid-template-columns:1fr}.calendar-legend{padding:1rem}.legend-items{gap:1rem;justify-content:center}.legend-item{font-size:.8rem}.legend-icon{font-size:1rem;height:20px;width:20px}}.family-tree-modal{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.family-tree-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:90%;max-height:900px;max-width:1400px;overflow:hidden;width:95%}.family-tree-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #eee;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.family-tree-header h2{font-size:1.8rem;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:background-color .3s ease;width:40px}.close-btn:hover{background:#fff3}.family-tree-controls{background:#f8f9fa;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;gap:20px;padding:20px 30px}.control-group{display:flex;flex-direction:column;gap:5px;min-width:200px}.control-group label{color:#333;font-size:.9rem;font-weight:600}.control-group input,.control-group select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:8px 12px}.control-group input:focus,.control-group select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.search-container{position:relative}.search-results{background:#fff;border:1px solid #ddd;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 8px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.search-result{border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:.9rem;padding:10px 12px}.search-result:hover{background:#f8f9fa}.search-result:last-child{border-bottom:none}.family-tree-container{background:#fafafa;flex:1 1;overflow:hidden;position:relative}.family-tree-legend{align-items:center;background:#f8f9fa;border-top:1px solid #eee;display:flex;font-size:.9rem;gap:20px;padding:15px 30px}.legend-item{align-items:center;display:flex;gap:8px}.legend-circle{border:2px solid #333;border-radius:50%;height:16px;width:16px}.legend-circle.male{background:#4a90e2}.legend-circle.female{background:#e24a90}.legend-note{color:#666;font-style:italic;margin:0 0 0 auto}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:20px;height:300px;justify-content:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{padding:40px;text-align:center}.error-message h3{color:#e74c3c;margin-bottom:15px}.error-message p{color:#666;margin-bottom:20px}@media (max-width:768px){.family-tree-content{border-radius:0;height:100%;width:100%}.family-tree-header{padding:15px 20px}.family-tree-header h2{font-size:1.4rem}.family-tree-controls{flex-direction:column;gap:15px;padding:15px 20px}.control-group{min-width:auto}.family-tree-legend{flex-wrap:wrap;gap:15px;padding:15px 20px}.legend-note{margin-left:0;text-align:center;width:100%}}.rd3t-tree-container{height:100%;width:100%}.rd3t-node{cursor:pointer}.rd3t-branch-node,.rd3t-leaf-node{fill:#333}.rd3t-link{fill:none;stroke:#333;stroke-width:2px}
/*# sourceMappingURL=main.085e34a3.css.map*/