:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-heading: "Bitcount Prop Single", sans-serif;--font-body: "Jost", sans-serif}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-body)}.navbar{background:linear-gradient(135deg,#d4a574,#b8956b);padding:1rem 0;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.5rem;font-weight:500;color:#fff;text-decoration:none;transition:transform .3s ease;font-family:var(--font-heading)}.nav-logo:hover{transform:scale(1.05)}.nav-menu{display:flex;gap:2rem}.nav-link{color:#fff;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:25px;transition:all .3s ease;position:relative;display:flex;align-items:center;gap:.5rem;font-family:var(--font-body)}.nav-icon{font-size:1.1rem}.nav-text{display:inline}.nav-link:hover,.nav-link.active{background:#fff3;transform:translateY(-2px)}@media (max-width: 768px){.nav-container{padding:0 1rem}.nav-menu{gap:1rem}.nav-link{padding:.4rem .8rem;font-size:.9rem}.nav-logo{font-size:1.3rem}}@media (max-width: 480px){.nav-menu{gap:.5rem}.nav-link{padding:.3rem .6rem;font-size:.8rem}.nav-text{display:none}.nav-icon{font-size:1.2rem}}.homepage{min-height:100vh;background:linear-gradient(135deg,#fef9e7,#f8f3e0)}.homepage h1,.homepage h2,.homepage h3,.homepage h4{font-family:var(--font-heading);font-weight:500}.homepage p,.homepage span:not(.icon){font-family:var(--font-body)}.hero-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto;padding:4rem 2rem;align-items:center}.hero-content{animation:fadeInUp 1s ease-out}.hero-title{font-size:3rem;color:#8b4513;margin-bottom:1rem;line-height:1.2}.hero-subtitle{font-size:1.3rem;color:#b8956b;margin-bottom:2rem;font-style:italic}.hero-description{font-size:1.1rem;line-height:1.6;color:#5d4e37}.hero-description strong{color:#d4a574}.hero-image{display:flex;justify-content:center;align-items:center}.hero-main-image{width:400px;height:300px;border-radius:20px;object-fit:cover;box-shadow:0 10px 30px #d4a5744d;animation:float 3s ease-in-out infinite;transition:transform .3s ease}.hero-main-image:hover{transform:scale(1.05)}.image-placeholder{width:300px;height:300px;background:linear-gradient(135deg,#d4a574,#b8956b);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;font-size:1.2rem;text-align:center;box-shadow:0 10px 30px #d4a5744d;animation:float 3s ease-in-out infinite}.image-placeholder span{font-size:4rem;margin-bottom:1rem}.info-section{background:#fff;padding:4rem 2rem}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.info-card{background:linear-gradient(135deg,#fff,#fef9e7);padding:2rem;border-radius:15px;text-align:center;box-shadow:0 5px 20px #0000001a;transition:transform .3s ease,box-shadow .3s ease;overflow:hidden}.info-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.card-image{width:100%;height:150px;object-fit:cover;border-radius:10px;margin-top:1rem;transition:transform .3s ease}.card-image:hover{transform:scale(1.05)}.card-icon{font-size:3rem;margin-bottom:1rem}.info-card h3{color:#8b4513;margin-bottom:1rem;font-size:1.5rem}.info-card p{color:#5d4e37;line-height:1.6}.mystery-section{background:linear-gradient(135deg,#d4a574,#b8956b);color:#fff;padding:4rem 2rem;text-align:center}.mystery-section h2{font-size:2.5rem;margin-bottom:2rem}.mystery-section p{font-size:1.2rem;max-width:800px;margin:0 auto 3rem;line-height:1.6}.mystery-hints{display:flex;justify-content:center;gap:2rem}.hint{font-size:3rem;padding:1rem;background:#fff3;border-radius:50%;animation:bounce 2s infinite}.hint:nth-child(2){animation-delay:.2s}.hint:nth-child(3){animation-delay:.4s}.hint:nth-child(4){animation-delay:.6s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 768px){.hero-section{grid-template-columns:1fr;gap:2rem;padding:2rem 1rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.image-placeholder{width:250px;height:250px}.info-cards{grid-template-columns:1fr;gap:1.5rem}.mystery-hints{flex-wrap:wrap;gap:1rem}.hint{font-size:2rem;padding:.8rem}}@media (max-width: 480px){.hero-title,.mystery-section h2{font-size:2rem}.mystery-section p{font-size:1rem}}.gallery-section{background:#fff;padding:4rem 2rem;margin-top:2rem}.gallery-section h2{text-align:center;color:#8b4513;font-size:2.5rem;margin-bottom:3rem}.preview-gallery{max-width:800px;margin:0 auto}.gallery-item{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0003;transition:transform .3s ease}.gallery-item:hover{transform:scale(1.02)}.gallery-item img{width:100%;height:300px;object-fit:cover;display:block}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);color:#fff;padding:2rem;text-align:center}.gallery-overlay span{font-size:1.2rem;font-weight:700}@media (max-width: 768px){.hero-main-image{width:100%;height:250px}.card-image{height:120px}.gallery-item img{height:200px}.gallery-overlay{padding:1rem}}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;animation:scaleIn .3s ease}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 10px 50px #00000080}.lightbox-close{position:absolute;top:-50px;right:0;background:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:#333}.lightbox-close:hover{background:#f0f0f0;transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.lightbox-content{max-width:95vw;max-height:95vh}.lightbox-close{top:-35px;width:35px;height:35px;font-size:20px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);line-height:1.6;color:#333}.App{min-height:100vh}html{scroll-behavior:smooth}.btn{padding:.8rem 2rem;border:none;border-radius:25px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center;font-family:var(--font-body)}.btn-primary{background:linear-gradient(135deg,#d4a574,#b8956b);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #d4a57466}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#d4a574,#b8956b);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b8956b}.programma{min-height:100vh;background:linear-gradient(135deg,#fef9e7,#f8f3e0);padding:2rem 0}.programma h1,.programma h2,.programma h3,.programma h4{font-family:var(--font-heading);font-weight:500}.programma p,.programma span:not(.timeline-time):not(.timeline-dot):not(.icon){font-family:var(--font-body)}.page-header h1{font-size:3rem;color:#8b4513;margin-bottom:1rem}.page-header p{font-size:1.2rem;color:#b8956b;font-style:italic}.timeline{max-width:900px;margin:0 auto;padding:0 2rem;position:relative}.timeline:before{content:"";position:absolute;left:-10%;transform:translate(-50%);width:4px;height:90%;background:linear-gradient(to bottom,#d4a574,#b8956b);border-radius:2px;top:2rem}.timeline-item{display:flex;margin-bottom:3rem;position:relative;align-items:flex-start}.timeline-item:nth-child(odd){flex-direction:row-reverse}.timeline-item:nth-child(odd) .timeline-content{margin-right:3rem;margin-left:0}.timeline-marker{position:absolute;left:-15%;transform:translate(-50%);width:60px;height:60px;background:linear-gradient(135deg,#d4a574,#b8956b);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 5px 15px #d4a5744d;z-index:2;top:20px;border:4px solid #fef9e7}.timeline-content{flex:1;background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 20px #0000001a;margin-left:3rem;position:relative}.timeline-content:before{content:"";position:absolute;top:30px;right:-15px;width:0;height:0;border:15px solid transparent;border-left-color:#fff}.timeline-item:nth-child(odd) .timeline-content:before{right:auto;left:-15px;border-left-color:transparent;border-right-color:#fff}.timeline-content h3{color:#8b4513;font-size:1.5rem;margin-bottom:1rem}.timeline-content p{color:#5d4e37;margin-bottom:.8rem;line-height:1.6}.timeline-content strong{color:#d4a574}.timeline-image{margin:1.5rem 0;border-radius:15px;overflow:hidden;box-shadow:0 5px 15px #0000001a}.timeline-image img{width:100%;height:200px;object-fit:cover;transition:transform .3s ease}.timeline-image:hover img{transform:scale(1.05)}.mystery-box{background:linear-gradient(135deg,#d4a574,#b8956b);color:#fff;padding:1rem;border-radius:10px;text-align:center;margin-top:1rem;font-weight:700}.activity-hints{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.hint-badge{background:#fef9e7;color:#8b4513;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;border:2px solid #d4a574}.party-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1.5rem}.party-item{text-align:center;padding:1rem;background:#fef9e7;border-radius:10px}.party-item span{font-size:2rem;display:block;margin-bottom:.5rem}.party-item p{margin:0;font-size:.9rem;color:#8b4513}.packing-section{max-width:1000px;margin:4rem auto 0;padding:0 2rem}.packing-section h2{text-align:center;color:#8b4513;font-size:2.5rem;margin-bottom:2rem}.packing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.packing-category{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 20px #0000001a}.packing-category h4{color:#8b4513;font-size:1.3rem;margin-bottom:1rem;text-align:center}.packing-category ul{list-style:none;padding:0}.packing-category li{color:#5d4e37;border-bottom:1px solid #f0f0f0;position:relative;padding:.5rem 0 .5rem 1.5rem}.packing-category li:last-child{border-bottom:none}.packing-category li:before{content:"✓";position:absolute;left:0;color:#d4a574;font-weight:700}.countdown-section{text-align:center;max-width:600px;margin:4rem auto 0;padding:3rem 2rem;background:linear-gradient(135deg,#d4a574,#b8956b);border-radius:20px;color:#fff}.countdown-section h2{font-size:2.5rem;margin-bottom:1rem}.countdown-section p{font-size:1.2rem;margin-bottom:2rem}.excitement-meter{display:flex;flex-direction:column;align-items:center;gap:1rem}.meter-bar{width:300px;height:20px;background:#ffffff4d;border-radius:10px;overflow:hidden}.meter-fill{width:100%;height:100%;background:linear-gradient(90deg,#ffeb3b,#ff9800);animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.05)}}@media (max-width: 768px){.page-header h1{font-size:2.5rem}.timeline:before{left:30px;transform:none;top:0}.timeline-item{flex-direction:column!important;padding-left:80px;align-items:flex-start}.timeline-item:nth-child(odd) .timeline-content{margin-right:0;margin-left:0}.timeline-marker{left:30px;transform:none;width:50px;height:50px;font-size:1.2rem;top:0;border:3px solid #fef9e7}.timeline-content{margin-left:0;margin-top:60px}.timeline-content:before{display:none}.packing-grid{grid-template-columns:1fr}.countdown-section h2{font-size:2rem}.meter-bar{width:250px}}@media (max-width: 480px){.timeline-item{padding-left:50px}.timeline-marker{left:-20px;width:40px;height:40px;font-size:1rem;top:6rem;border:2px solid #fef9e7}.programma{padding:2rem 0 0}.countdown-section{border-radius:20px 20px 0 0}.timeline:before{left:30px;top:6rem}.timeline-content{margin-top:50px}.timeline-image img{height:150px}.activity-hints{gap:.5rem}.hint-badge{font-size:.8rem;padding:.4rem .8rem}}.addio-al-nubilato{min-height:100vh;background:linear-gradient(135deg,#ffeef8,#f8e8f5);padding:2rem 0}.addio-al-nubilato h1,.addio-al-nubilato h2,.addio-al-nubilato h3,.addio-al-nubilato h4{font-family:var(--font-heading);font-weight:500}.addio-al-nubilato p,.addio-al-nubilato span:not(.fact-emoji):not(.activity-icon):not(.surprise-hints span){font-family:var(--font-body)}.page-header{text-align:center;max-width:800px;margin:0 auto 4rem;padding:0 2rem}.page-header h1{font-size:3rem;color:#c2185b;margin-bottom:1rem}.page-header p{font-size:1.2rem;color:#d81b60;font-style:italic}.bride-section{max-width:600px;margin:0 auto 4rem;padding:0 2rem}.bride-card{background:#fff;padding:3rem 2rem;border-radius:20px;text-align:center;box-shadow:0 10px 30px #c2185b1a;border:3px solid #f8bbd9}.bride-image-placeholder{width:150px;height:150px;background:linear-gradient(135deg,#f8bbd9,#e1bee7);border-radius:50%;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;font-size:4rem;box-shadow:0 5px 20px #c2185b33}.bride-image{width:250px;height:250px;margin:0 auto 2rem;border-radius:50%;overflow:hidden;box-shadow:0 10px 30px #c2185b4d;transition:transform .3s ease}.bride-image:hover{transform:scale(1.05)}.bride-image img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.bride-card h2{color:#c2185b;font-size:2rem;margin-bottom:1rem}.bride-card p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.bride-facts{display:flex;justify-content:space-around;flex-wrap:wrap;gap:1rem}.fact{text-align:center;flex:1;min-width:120px}.fact-emoji{font-size:2rem;display:block;margin-bottom:.5rem}.fact p{margin:0;color:#c2185b;font-weight:500;font-size:.9rem}.activities-section{max-width:1200px;margin:0 auto 4rem;padding:0 2rem}.activities-section h2{text-align:center;color:#c2185b;font-size:2.5rem;margin-bottom:3rem}.activities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.activity-card{background:#fff;padding:2rem;border-radius:15px;text-align:center;box-shadow:0 5px 20px #0000001a;transition:transform .3s ease,box-shadow .3s ease;border-top:4px solid #f8bbd9}.activity-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #c2185b26}.activity-icon{font-size:3rem;margin-bottom:1rem}.activity-card h3{color:#c2185b;font-size:1.3rem;margin-bottom:1rem}.activity-card p{color:#666;line-height:1.6}.games-section{background:#fff;padding:4rem 2rem;margin:4rem 0}.games-section h2{text-align:center;color:#c2185b;font-size:2.5rem;margin-bottom:3rem}.games-container{max-width:800px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.game-item{background:linear-gradient(135deg,#ffeef8,#f8e8f5);padding:2rem;border-radius:15px;border-left:5px solid #f8bbd9}.game-item h4{color:#c2185b;font-size:1.2rem;margin-bottom:1rem}.game-item p{color:#666;line-height:1.6}.memories-section{max-width:1000px;margin:0 auto 4rem;padding:0 2rem}.memories-section h2{text-align:center;color:#c2185b;font-size:2.5rem;margin-bottom:2rem}.memories-intro{text-align:center;margin-bottom:3rem}.memories-main-image{max-width:500px;width:100%;height:300px;object-fit:cover;border-radius:20px;box-shadow:0 10px 30px #c2185b33;transition:transform .3s ease}.memories-main-image:hover{transform:scale(1.02)}.memories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.memory-card{background:#fff;padding:2rem;border-radius:15px;text-align:center;box-shadow:0 5px 20px #0000001a;transition:transform .3s ease}.memory-card:hover{transform:scale(1.05)}.memory-placeholder{width:80px;height:80px;background:linear-gradient(135deg,#f8bbd9,#e1bee7);border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:2rem}.memory-card h4{color:#c2185b;margin-bottom:1rem}.memory-card p{color:#666;line-height:1.6}.dress-code-section{background:linear-gradient(135deg,#c2185b,#d81b60);color:#fff;padding:4rem 2rem;margin:4rem 0}.dress-code-section h2{text-align:center;font-size:2.5rem;margin-bottom:3rem}.dress-code-container{max-width:800px;margin:0 auto}.dress-theme{text-align:center}.dress-theme h3{font-size:1.8rem;margin-bottom:2rem}.dress-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.dress-item{background:#ffffff1a;padding:2rem 1rem;border-radius:15px;text-align:center}.dress-item span{font-size:2.5rem;display:block;margin-bottom:1rem}.dress-item p{font-size:1.1rem;margin:0}.finale-section{max-width:800px;margin:0 auto;padding:0 2rem;text-align:center}.finale-section h2{color:#c2185b;font-size:2.5rem;margin-bottom:2rem}.finale-content p{font-size:1.2rem;color:#666;line-height:1.6;margin-bottom:3rem}.finale-surprise{display:flex;justify-content:center}.surprise-box{background:linear-gradient(135deg,#f8bbd9,#e1bee7);padding:3rem 2rem;border-radius:20px;max-width:400px;box-shadow:0 10px 30px #c2185b33}.surprise-box h3{color:#c2185b;font-size:1.5rem;margin-bottom:1rem}.surprise-box p{color:#666;margin-bottom:2rem}.surprise-hints{display:flex;justify-content:center;gap:1rem}.surprise-hints span{font-size:2rem;animation:twinkle 2s infinite}.surprise-hints span:nth-child(2){animation-delay:.5s}.surprise-hints span:nth-child(3){animation-delay:1s}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media (max-width: 768px){.page-header h1{font-size:2.5rem}.activities-grid,.games-container{grid-template-columns:1fr}.dress-items{grid-template-columns:repeat(2,1fr)}.bride-facts{flex-direction:column;gap:1.5rem}.fact{min-width:auto}}@media (max-width: 480px){.dress-items{grid-template-columns:1fr}.surprise-box{padding:2rem 1rem}.activities-section h2,.games-section h2,.memories-section h2,.dress-code-section h2,.finale-section h2{font-size:2rem}}.clickable-image{cursor:pointer;transition:all .3s ease}.clickable-image:hover{transform:scale(1.05);opacity:.9}.clickable-image[data-clickable=true]{position:relative}.clickable-image[data-clickable=true]:after{content:"🔍";position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;padding:5px 8px;border-radius:50%;font-size:12px;opacity:0;transition:opacity .3s ease}.clickable-image[data-clickable=true]:hover:after{opacity:1}
