:root{--background-color: #DBDBCF;--text-color: #9f8867}*{margin:0;padding:0;box-sizing:border-box}#root{font-family:Georgia,Times New Roman,serif;line-height:1.6;color:var(--text-color);background:var(--background-color);width:100%;height:100vh;overflow:hidden}.nav{position:fixed;top:0;width:100%;background:var(--background-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.1)}.nav ul{list-style:none;display:flex;justify-content:center;margin:0;padding:0;gap:2rem}.hamburger{background:transparent;border:1px solid rgba(255,255,255,.12);color:#000;padding:.5rem .75rem;font-size:1.2rem;border-radius:6px;cursor:pointer;display:none}.mobile-nav{position:fixed;inset:0;background:#a7b8aaad;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center}.mobile-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.25rem;align-items:center}.mobile-nav button{background:transparent;border:none;color:#fff;font-size:1.3rem;cursor:pointer}.mobile-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.mobile-controls-top{position:absolute;top:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:2100}.mobile-top-btn{background:#a7b8aaad;border:1px solid rgba(255,255,255,.12);color:#fff;padding:.5rem .75rem;border-radius:8px;font-size:1rem;cursor:pointer}.mobile-top-btn:active{transform:scale(.98)}.nav a,.nav button{text-decoration:none;color:#fff;font-weight:500;transition:all .3s ease;opacity:.8;cursor:pointer;background:none;border:none;font-family:inherit;font-size:inherit}.nav a:hover,.nav button:hover{color:#fff;opacity:1;text-shadow:0 0 10px rgba(255,255,255,.5)}.language-switcher:hover{background:#ffffff1a!important;border-color:#ffffff80!important;color:#fff!important;text-shadow:0 0 10px rgba(255,255,255,.5)}.music-control:hover{background:#ffffff1a!important;border-color:#ffffff80!important;color:#fff!important;text-shadow:0 0 10px rgba(255,255,255,.5);transform:scale(1.05)}.nav-arrow:hover{background:#fff3!important;border-color:#fff9!important;transform:translateY(-50%) scale(1.1)}.nav-arrow{z-index:3000;pointer-events:auto}.nav-arrow:disabled{cursor:not-allowed!important}.horizontal-scroll-container{scrollbar-width:none;-ms-overflow-style:none}html,body,#root{height:100%;margin:0}.horizontal-scroll-container{display:flex;flex-direction:row;width:100%;height:100vh;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.horizontal-section{flex:0 0 100%;min-width:100%;height:100vh;box-sizing:border-box;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;padding:2.5rem}.nav-arrow{z-index:4000;pointer-events:auto}.horizontal-scroll-container::-webkit-scrollbar{display:none}.horizontal-section{min-width:100vw;height:100vh;flex-shrink:0;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 2rem;text-align:center}.hero{font-size:clamp(3rem,75vw,100px);position:relative;letter-spacing:0;transform:translateZ(0);will-change:transform}.hero .hero .hero-subtitle{color:#a2185b!important}.hero:not(.bg-home):not(.bg-story):not(.bg-details):not(.bg-gallery):not(.bg-rsvp){background-image:radial-gradient(circle at 25% 25%,var(--background-color) 0%,transparent 50%),radial-gradient(circle at 75% 75%,var(--background-color) 0%,transparent 50%)}.hero.bg-home,.bg-home{background:var(--background-color)!important;background-image:linear-gradient(#0006,#0009),url(/Foto/pizza_disegno-2000.webp)!important;background-size:cover!important;background-position:center!important;background-attachment:scroll!important;background-repeat:no-repeat!important}@media (max-width: 1200px){.hero.bg-home,.bg-home{background-image:linear-gradient(#0006,#0009),url(/Foto/pizza_disegno-1200.webp)!important}}@media (max-width: 800px){.hero.bg-home,.bg-home{background-image:linear-gradient(#0006,#0009),url(/Foto/pizza_disegno-800.webp)!important}}@media (max-width: 480px){.hero.bg-home,.bg-home{background-image:linear-gradient(#0006,#0009),url(/Foto/pizza_disegno-480.webp)!important;background-attachment:scroll!important}}.bg-story,.bg-details,.bg-gallery,.bg-schedule,.bg-rsvp,.bg-faq{background:var(--background-color)!important;background-size:cover!important;background-position:center!important;background-attachment:fixed!important}.bg-home:not([style*=background-image]){background:linear-gradient(135deg,#1a1a1a,#000)}.bg-story:not([style*=background-image]){background:linear-gradient(45deg,#2a2a2a,#000)}.bg-details:not([style*=background-image]){background:linear-gradient(225deg,#1a1a1a,#333)}.bg-gallery:not([style*=background-image]){background:linear-gradient(315deg,#2a2a2a,#111)}.bg-schedule:not([style*=background-image]){background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}.bg-rsvp:not([style*=background-image]){background:linear-gradient(180deg,#1a1a1a,#000)}@media (max-width: 768px){.bg-home,.bg-story,.bg-details,.bg-gallery,.bg-schedule,.bg-rsvp{background-attachment:scroll!important;background-size:cover!important}}.bg-home:after,.bg-story:after,.bg-details:after,.bg-gallery:after,.bg-schedule:after,.bg-rsvp:after{content:"";position:absolute;inset:0;background:#0000000d;pointer-events:none;z-index:1}.bg-home .hero-content,.bg-story>*,.bg-details>*,.bg-gallery>*,.bg-schedule>*,.bg-rsvp>*{position:relative;z-index:2}.hero:before{content:"";position:absolute;inset:0;pointer-events:none}.hero-content{max-width:600px;padding:2rem;position:relative;z-index:2}.no-bg{background-image:none!important;background:transparent!important}.no-bg:after{display:none!important}.hero-figure{width:100%;max-width:720px;height:auto;margin:1rem auto 0;border-radius:0!important;box-shadow:0 8px 30px #0006;overflow:hidden}@media (max-width: 768px){.hero-figure{height:200px;object-fit:cover}.hero-figure.full-bleed{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-radius:0!important;box-shadow:none!important;height:360px!important;overflow:hidden!important}}@media (max-width: 420px){.hero-figure.full-bleed{height:260px!important}}.hero-figure img{width:100%;height:100%;display:block;object-fit:cover}.hero-figure img{border-radius:0!important}.hero h1{font-size:3rem;margin-top:1rem;font-weight:400;color:var(--text-color);letter-spacing:0;font-family:Alex Brush,Georgia,Times New Roman,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.hero .ampersand{color:#a2185b}.hero p{font-size:1.5rem;margin-bottom:1rem;opacity:.9;color:var(--text-color)}.countdown{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0 1rem;color:#a2185b;font-family:Georgia,serif}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.countdown-value{font-size:1.4rem;font-weight:700;letter-spacing:.06em}.countdown-label{font-size:.7rem;opacity:.8;margin-top:.2rem}.countdown-sep{font-size:1.2rem;opacity:.9}.countdown-finished{font-size:1.2rem;font-weight:600}@media (max-width: 768px){.countdown-item{min-width:48px}.countdown-value{font-size:1.1rem}}.date-time{font-size:1.25rem;margin-bottom:2rem;font-style:italic;color:var(--text-color)}.date-time a,.date-time a:visited{color:var(--text-color)}.section{padding:4rem 2rem;max-width:800px;margin:0 auto;text-align:center;width:100%;position:relative}.hero:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20baseFrequency='0.9'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23n)'%20opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:120px 120px;pointer-events:none;z-index:1}.section>*{position:relative;z-index:2}.section h2{font-size:2.5rem;margin-bottom:2rem;color:var(--text-color);text-shadow:0 0 15px rgba(255,255,255,.3);letter-spacing:.05em}.section p{font-size:1.1rem;line-height:1.8;margin-bottom:1rem;color:var(--text-color)}.wedding-details{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:3rem;margin:2rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wedding-details h3{color:var(--text-color);margin-bottom:1rem;font-size:1.5rem;text-shadow:0 0 10px rgba(255,255,255,.3)}.venue{font-size:1.1rem;color:var(--text-color);margin-bottom:2rem}.rsvp-button{background:transparent;color:var(--text-color);padding:1rem 2rem;border:2px solid #a2185b;border-radius:5px;font-size:1.1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;margin-top:1rem;letter-spacing:.1em;text-transform:uppercase}.rsvp-button:hover{background:var(--text-color);border-color:#fff;box-shadow:0 0 20px #fff3;text-shadow:0 0 10px rgba(255,255,255,.5)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:2rem 0;width:100%}.photo-placeholder{width:100%;height:250px;background:#ffffff0d;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-color);font-size:1.1rem;border:2px dashed rgba(255,255,255,.2);transition:all .3s ease}.photo-placeholder:hover{background:var(--text-color);border-color:#fff6;color:#fffc}.photo-grid img{width:100%;height:250px;object-fit:cover;border-radius:10px;transition:all .3s ease;border:2px solid rgba(255,255,255,.1)}.photo-grid img:hover{transform:scale(1);box-shadow:0 0 30px #fff3}.footer{background:var(--background-color);color:var(--text-color);text-align:center;padding:2rem;margin-top:4rem;width:100%;border-top:1px solid rgba(255,255,255,.1)}.splash{position:fixed;inset:0;width:100vw;height:100vh;display:flex;align-items:flex-end;justify-content:center;background:#fff;z-index:9999;overflow:hidden}.splash--en .splash__bg{background-image:url(/elements/Fronte.jpg)}.splash--it .splash__bg{background-image:url(/elements/Fronte.jpg)}.splash__bg{position:absolute;top:0;bottom:0;width:50%;background-image:url(/elements/Fronte.jpg);background-repeat:no-repeat;background-size:200% 100%;will-change:transform;transform:translateZ(0)}.splash__bg-left{left:0;background-position:left center;transform-origin:center left}.splash__bg-right{right:0;background-position:right center;transform-origin:center right}.splash__seam{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:linear-gradient(to bottom,#0000,#fff6,#0000);opacity:.4;z-index:1;pointer-events:none}.splash:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0000008c,#00000026,#0000);pointer-events:none}.splash__content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:calc(2.5rem + env(safe-area-inset-bottom)) 1.5rem 2.5rem 1.5rem;width:100%;display:flex;align-items:center;justify-content:center}.splash__button{background:transparent;border:2px solid rgba(255,255,255,.4);color:var(--text-color);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:1.1rem;padding:.9rem 2.2rem;border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 768px){.splash__button{width:80%;max-width:420px}}.splash--closing .splash__bg-left{animation:bookOpenLeft .9s cubic-bezier(.2,.8,.2,1) forwards}.splash--closing .splash__bg-right{animation:bookOpenRight .9s cubic-bezier(.2,.8,.2,1) forwards}.splash--closing .splash__seam{animation:seamFade .9s ease forwards}.splash--closing .splash__content{animation:contentFade .4s ease forwards}@keyframes bookOpenLeft{0%{transform:perspective(900px) rotateY(0) translate(0)}40%{transform:perspective(900px) rotateY(-12deg) translate(-2%)}to{transform:perspective(900px) rotateY(-22deg) translate(-105%)}}@keyframes bookOpenRight{0%{transform:perspective(900px) rotateY(0) translate(0)}40%{transform:perspective(900px) rotateY(12deg) translate(2%)}to{transform:perspective(900px) rotateY(22deg) translate(105%)}}@keyframes seamFade{0%{opacity:.4}to{opacity:0}}@keyframes contentFade{0%{opacity:1}to{opacity:0}}.rsvp-form{width:100%;max-width:100%;margin:1.5rem auto;background:#ffffff08;border:1px solid rgba(255,255,255,.08);padding:1.25rem;border-radius:8px;text-align:left;display:grid;gap:.75rem}.rsvp-form h3{color:var(--text-color);margin:0 0 .5rem;font-weight:500;text-align:center}.rsvp-input{width:100%;background:#ffffff05;border:1px solid rgba(255,255,255,.08);color:var(--text-color);padding:.6rem .75rem;border-radius:6px;outline:none;font-family:inherit}.rsvp-input:focus{border-color:#ffffff2e;box-shadow:0 4px 18px #ffffff0a}.rsvp-form label{font-size:.95rem;color:var(--text-color);display:flex;flex-direction:column;gap:.35rem}.rsvp-guest-list{display:flex;flex-direction:column;gap:.75rem}.rsvp-guest-title{font-size:.95rem;font-weight:600;color:var(--text-color)}.rsvp-guest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.rsvp-guest-item{display:flex;flex-direction:column;gap:.35rem}.rsvp-guest-item span{font-size:.9rem;color:var(--text-color)}.rsvp-submit{background:transparent;color:var(--text-color);padding:.8rem 1rem;border:2px solid #a2185b;border-radius:6px;cursor:pointer;align-self:center;font-weight:600;width:220px}.rsvp-submit:hover{background:#a7b8aaad;border-color:#f0f}.rsvp-success{color:#d6ffd6;font-weight:600;text-align:center;margin-top:.5rem}.rsvp-error{color:#ffd6d6;font-weight:600;text-align:center;margin-top:.5rem}@media (max-width: 768px){.rsvp-form{padding:1rem;margin:1rem 0}.rsvp-submit{width:100%}}@media (max-width: 768px){.horizontal-scroll-container{flex-direction:column!important;width:100%!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;scroll-snap-type:none!important;-webkit-overflow-scrolling:touch;touch-action:pan-y}#root{height:auto!important;overflow:visible!important}.horizontal-section{min-width:100%!important;width:100%!important;height:auto!important;padding:3rem 1.25rem!important;scroll-snap-align:none!important}.hero{padding:3.5rem 1.25rem!important;background-position:center!important;background-attachment:scroll!important}.hero h1{font-size:2rem!important;line-height:1.1!important;margin-bottom:.5rem!important;white-space:normal!important}.hero p{font-size:1rem!important}.nav ul{gap:.5rem!important;padding:.5rem 1rem!important;flex-wrap:wrap;justify-content:center}.nav a,.nav button{padding:.5rem .75rem!important;font-size:.95rem!important}.nav-arrow{display:none!important}.rsvp-button,.music-control,.language-switcher{padding:.9rem 1.1rem!important;font-size:1rem!important;border-radius:8px!important}.photo-grid{grid-template-columns:1fr!important;gap:.75rem!important}.faq-list{padding:.5rem!important}.faq-question{width:100%;justify-content:space-between;padding:.9rem 1rem;font-size:1rem}.faq-answer{padding:0 1rem .75rem!important}.footer{padding:1.5rem 1rem;text-align:center}}@media (max-width: 768px){.nav-links{display:none!important}.hamburger{display:inline-block!important}}.faq-list{width:100%}.faq-item{border-bottom:1px solid rgba(255,255,255,.06);padding:.5rem 0}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;color:inherit;font-size:1.05rem;font-weight:600}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease,padding-top .2s ease;opacity:0;padding-top:0;color:#a2185b}.faq-answer.open{opacity:1}.faq-answer a,.faq-answer a:visited,.section .faq-answer,.section .faq-answer p,.section .faq-answer a,.section .faq-answer span,.section .faq-answer li{color:#a2185b}.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:transparent;color:inherit;font-size:1.05rem;font-weight:600;border:none;padding:.5rem 0;cursor:pointer}.faq-item .chev{display:inline-block;transform:rotate(0);transition:transform .26s cubic-bezier(.2,.9,.2,1);color:#a2185b}.faq-item.open .chev{transform:rotate(90deg)}body{margin:0;padding:0;width:100%;color:var(--text-color)}@media (max-width: 768px){.hero h1{font-size:2.5rem}.hero p{font-size:1.2rem}.nav ul{flex-direction:column;gap:1rem;padding:1rem}.section{padding:2rem 1rem}.wedding-details{padding:2rem}.photo-grid{grid-template-columns:1fr}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .8s ease-out}html{scroll-behavior:smooth}.schedule-container{max-width:max-content;margin:0 auto;padding:1rem}.schedule-container h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--text-color)}.schedule-timeline{display:flex;flex-direction:column;gap:2.5rem}.schedule-item{display:flex;gap:2rem;align-items:flex-start;padding:1.5rem;background:#ffffff0d;border-radius:12px;border-left:4px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.schedule-item:hover{background:#ffffff1a;border-left-color:#fff9;transform:translate(8px)}.schedule-time{font-size:1.2rem;font-weight:300;color:#a2185b;min-width:140px;white-space:nowrap}.schedule-content{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}.schedule-title{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-color);text-align:center;width:100%;word-wrap:break-word;overflow-wrap:break-word}.schedule-location{font-size:1rem;color:#a2185b;line-height:1.6}.schedule-location a{color:#a2185b;text-decoration:underline;transition:color .3s ease}.schedule-location a:hover{color:#a2185b}@media (max-width: 768px){.schedule-container h2{font-size:2rem;margin-bottom:2rem}.schedule-item{flex-direction:column;gap:1rem;padding:1.25rem}.schedule-time{font-size:1.1rem;min-width:auto}.schedule-title{font-size:1.3rem;text-align:center;width:100%;word-wrap:break-word;overflow-wrap:break-word}.schedule-location{font-size:.95rem}}.schedule-description{font-size:1rem;color:var(--text-color);font-style:italic;margin-bottom:.8rem;opacity:.85;line-height:1.5}@media (max-width: 768px){.schedule-description{font-size:.95rem}}.full-page-photo{width:100%;height:100%;object-fit:cover;display:block}#photo1,#photo2,#photo3{overflow:hidden}#photo1 img,#photo2 img,#photo3 img{width:100%;height:100%;object-fit:cover}
