@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500&family=Great+Vibes&display=block);body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--black:#080904;--olive-black:#141a0b;--olive-dark:#242d13;--olive:#384420;--olive-light:#4b5a2b;--cream:#fffdf7;--beige-soft:#faf4e8;--beige:#f4ecdb;--beige-strong:#ece0c9;--beige-border:#e0d3b8;--beige-text:#8a7451;--cream-text:#f4e4b8;--env-green-light:#1f3726;--env-green:#16291c;--env-green-dark:#0e1c12;--env-grain:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E");--gold:#d4af37;--gold-deep:#b8912e;--gold-light:#eacf8d}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#080904;background:var(--black);font-family:Montserrat,sans-serif}.intro-screen{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;width:100%}.envelope-container{height:auto;max-width:100%;padding-bottom:80px;perspective:1000px;position:relative;transition:transform .3s ease;width:min(400px,90vw);z-index:2}.envelope-container:hover{transform:scale(1.05)}.envelope{filter:drop-shadow(0 3px 5px rgba(0,0,0,.45)) drop-shadow(0 26px 45px rgba(0,0,0,.5));height:min(240px,54.88vw);margin:0 auto;position:relative;transform-style:preserve-3d;width:min(350px,80vw)}.envelope-body{background-blend-mode:soft-light,normal,normal,normal;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E"),radial-gradient(120% 95% at 40% 6%,#ffffff0d 0,hsla(0,0%,100%,.014) 38%,#0000 68%),radial-gradient(125% 110% at 48% 30%,#0000 30%,#00000029 58%,#00000061 82%,#0000008c 100%),linear-gradient(168deg,#1f3726,#16291c 52%,#0e1c12);background-image:var(--env-grain),radial-gradient(120% 95% at 40% 6%,#ffffff0d 0,hsla(0,0%,100%,.014) 38%,#0000 68%),radial-gradient(125% 110% at 48% 30%,#0000 30%,#00000029 58%,#00000061 82%,#0000008c 100%),linear-gradient(168deg,var(--env-green-light) 0,var(--env-green) 52%,var(--env-green-dark) 100%);background-size:180px 180px,auto,auto,auto;border-radius:4px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.035),inset 0 1px 0 #ffffff0d,inset 0 -1px 0 #00000047;height:100%;overflow:hidden;position:relative;width:100%}.envelope-body:after,.envelope-body:before{bottom:0;box-shadow:0 1px 3px #0006;content:"";height:1px;pointer-events:none;position:absolute;width:61.4%}.envelope-body:before{background:linear-gradient(90deg,#ffffff21,#ffffff0f 65%,#0000);left:0;transform:rotate(-35.5deg);transform-origin:0 100%}.envelope-body:after{background:linear-gradient(270deg,#ffffff21,#ffffff0f 65%,#0000);right:0;transform:rotate(35.5deg);transform-origin:100% 100%}.envelope-flap{background-blend-mode:soft-light,normal,normal;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E"),radial-gradient(105% 125% at 46% -8%,hsla(0,0%,100%,.055) 0,hsla(0,0%,100%,.015) 42%,#0000 70%),linear-gradient(175deg,#1f3726,#16291c 58%,#0e1c12);background-image:var(--env-grain),radial-gradient(105% 125% at 46% -8%,hsla(0,0%,100%,.055) 0,hsla(0,0%,100%,.015) 42%,#0000 70%),linear-gradient(175deg,var(--env-green-light) 0,var(--env-green) 58%,var(--env-green-dark) 100%);background-size:180px 180px,auto,auto;border-radius:4px 4px 0 0;-webkit-clip-path:polygon(0 0,100% 0,50% 60.5%);clip-path:polygon(0 0,100% 0,50% 60.5%);filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));height:100%;left:0;position:absolute;top:0;transform-origin:top;transition:transform 1.8s cubic-bezier(.4,0,.2,1);width:100%;z-index:2}.envelope-flap:after,.envelope-flap:before{content:"";height:1px;pointer-events:none;position:absolute;top:0;width:65%}.envelope-flap:before{background:linear-gradient(90deg,#b08d4e80,#ceac6ceb 16%,#e4c791fa);left:0;transform:rotate(39.68deg) translateY(-1.1px);transform-origin:0 0}.envelope-flap:after{background:linear-gradient(270deg,#b08d4e80,#ceac6ceb 16%,#e4c791fa);right:0;transform:rotate(-39.68deg) translateY(-1.1px);transform-origin:100% 0}.envelope-seal{filter:drop-shadow(0 1px 1px rgba(0,0,0,.6)) drop-shadow(0 4px 4px rgba(0,0,0,.45)) drop-shadow(0 9px 12px rgba(0,0,0,.4));height:min(72px,18vw);left:50%;position:absolute;top:62%;transform:translate(-50%,-50%);transition:transform 1.8s cubic-bezier(.4,0,.2,1),opacity 1.2s ease;width:min(72px,18vw);z-index:3}.seal-image{display:block;height:100%;object-fit:contain;object-position:center;width:100%}.envelope-heading{align-items:center;display:flex;flex-direction:column;gap:6px;left:50%;pointer-events:none;position:absolute;top:17%;transform:translateX(-50%);transition:opacity .5s ease;white-space:nowrap}.envelope-name{font-family:Great Vibes,cursive;font-size:min(35px,8.8vw);font-weight:400;line-height:1.05;text-shadow:0 1px 2px #00000080,0 0 12px #d4af5c40}.envelope-age,.envelope-name{color:#d4af37;color:var(--gold)}.envelope-age{font-family:Cormorant Garamond,serif;font-size:min(19px,4.8vw);font-weight:500;letter-spacing:.22em;line-height:1;text-indent:.2em;text-shadow:0 1px 2px #00000073}.invitation-preview{align-items:center;background:linear-gradient(180deg,#faf4e8 0,#f4ecdb);background:linear-gradient(to bottom,var(--beige-soft) 0,var(--beige) 100%);border:1px solid #d4af3733;border-radius:8px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:0;justify-content:center;left:50%;opacity:0;overflow:hidden;padding:0 min(25px,5vw);position:absolute;text-align:center;top:100%;transform:translate(-50%,-50%);transition:all 2s cubic-bezier(.4,0,.2,1);width:min(280px,70vw);z-index:1}.invitation-preview .elegant-title{font-size:min(1.8rem,5vw);margin-bottom:8px}.preview-text{color:#666;font-family:Cormorant Garamond,serif;font-size:min(1.2rem,4vw)}.click-hint{animation:pulse 2s infinite;bottom:-50px;color:#f4e4b8;color:var(--cream-text);font-size:1rem;left:50%;position:absolute;text-align:center;transform:translateX(-50%)}@keyframes pulse{0%,to{opacity:.6;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(-5px)}}.envelope-container.opening .envelope-flap{transform:rotateX(-180deg)}.envelope-container.opening .envelope-heading{opacity:0}.envelope-container.opening .envelope-seal{opacity:0;transform:translate(-50%,-50%) scale(0)}.envelope-container.opening .invitation-preview{animation:slideUp 2s cubic-bezier(.4,0,.2,1) forwards;height:min(200px,50vw);opacity:1;padding:min(25px,5vw);top:-20%;z-index:4}@keyframes slideUp{0%{height:0;opacity:0;padding-bottom:0;padding-top:0;top:100%}30%{opacity:1}to{height:min(200px,50vw);opacity:1;padding:min(25px,5vw);top:-20%}}.envelope-container.opening .click-hint{opacity:0}.App{align-items:center;background:radial-gradient(125% 95% at 50% 40%,#121a13 0,#0b100b 42%,#060806 72%,#030403 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:0;position:relative}.App:after,.App:before{border-radius:50%;content:"";pointer-events:none;position:absolute;will-change:transform;z-index:1}.App:before{animation:drift-olive 28s ease-in-out infinite alternate;background:radial-gradient(circle at center,#58683829 0,#3e4c260f 45%,#0000 70%);height:80vmax;left:-22vmax;top:-28vmax;width:80vmax}.App:after{animation:drift-gold 36s ease-in-out infinite alternate;background:radial-gradient(circle at center,rgba(212,175,55,.075) 0,rgba(212,175,55,.025) 45%,#0000 70%);bottom:-22vmax;height:65vmax;right:-18vmax;width:65vmax}@keyframes drift-olive{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(10vmax,9vmax,0) scale(1.15)}to{transform:translate3d(3vmax,20vmax,0) scale(.95)}}@keyframes drift-gold{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-13vmax,-11vmax,0) scale(1.2)}to{transform:translate3d(-4vmax,-19vmax,0) scale(1)}}@media (prefers-reduced-motion:reduce){.App:after,.App:before{animation:none}}.invite-screen.App{align-items:stretch;flex-direction:column;justify-content:flex-start;padding:0}.invite-screen .invitation-card{border-radius:0;box-shadow:none;display:block;max-width:none;min-height:100vh;padding:0;width:100%}.invite-screen:after,.invite-screen:before{display:none}.invite-bg{background-color:#141a0b;background-color:var(--olive-black);background-position:72%;background-repeat:no-repeat;background-size:cover;position:fixed;z-index:0}.invite-bg,.invite-bg:after{bottom:0;left:0;right:0;top:0}.invite-bg:after{background:linear-gradient(95deg,#060c06f7,#070e07f2 42%,#070e07cc 60%,#070e076b 78%,#060c0647);content:"";position:absolute}.invite-frame{border:1px solid #d4af3766;border-radius:12px;bottom:clamp(9px,2.4vw,14px);height:-webkit-fit-content;height:fit-content;left:clamp(9px,2.4vw,14px);pointer-events:none;position:fixed;right:clamp(9px,2.4vw,14px);top:clamp(9px,2.4vw,14px);z-index:4}.invite-hero{position:relative;text-align:left;z-index:2}.hero-content{max-width:560px;padding:clamp(34px,9vw,60px) clamp(24px,6.5vw,44px)}.hero-body{max-width:72%}.hero-top{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:clamp(16px,4.5vw,24px)}.hero-note-block{max-width:62%}.hero-note-block-right{text-align:right}.hero-note{color:#f4e4b8;color:var(--cream-text);display:block;font-family:Cormorant Garamond,serif;font-size:clamp(.66rem,2.5vw,.88rem);letter-spacing:clamp(1.2px,.5vw,2.2px);line-height:1.9;opacity:.85;text-transform:uppercase}.hero-rule{background:#d4af378c;display:block;height:1px;margin:clamp(10px,3vw,16px) 0;width:clamp(26px,8vw,42px)}.hero-note-block-right .hero-rule{margin-left:auto}.hero-script{color:#f4e4b8;color:var(--cream-text);font-family:Great Vibes,cursive;font-size:clamp(2.4rem,15.5vw,4.4rem);font-weight:400;line-height:1.05;text-shadow:0 2px 16px #00000080;white-space:nowrap}.hero-number{animation:shimmer 2s ease-in-out infinite;color:#d4af37;color:var(--gold);font-family:Cormorant Garamond,serif;font-size:clamp(4.4rem,24vw,7.6rem);font-weight:400;letter-spacing:2px;line-height:.92;text-shadow:0 2px 10px #d4af3766,1px 1px 2px #00000040}.hero-th{font-size:.26em;letter-spacing:clamp(1px,.4vw,2.5px);margin-left:.06em;text-transform:uppercase;vertical-align:super}.hero-birthday{font-size:clamp(.8rem,3.4vw,1.15rem);font-weight:400;letter-spacing:clamp(5px,2.1vw,10px);margin-top:clamp(2px,1vw,6px)}.hero-birthday,.hero-tagline{color:#f4e4b8;color:var(--cream-text);font-family:Cormorant Garamond,serif;text-transform:uppercase}.hero-tagline{font-size:clamp(.66rem,2.5vw,.88rem);letter-spacing:clamp(1.2px,.5vw,2.2px);line-height:1.9;margin-top:clamp(16px,4.5vw,24px);opacity:.85}.hero-celebrate{font-family:Great Vibes,cursive;font-size:clamp(1.6rem,6.8vw,2.3rem);line-height:1.3}.hero-celebrate,.hero-footer{color:#f4e4b8;color:var(--cream-text)}.hero-footer{font-family:Cormorant Garamond,serif;font-size:clamp(.5rem,1.85vw,.64rem);letter-spacing:clamp(1.6px,.7vw,2.8px);line-height:2;opacity:.5;text-transform:uppercase}.invite-below{background:linear-gradient(180deg,#060c0600,#060c06b8 9%,#060c06db 35%,#060c06eb);padding:clamp(10px,3vw,18px) 0 clamp(36px,9vw,56px);position:relative;z-index:2}.invite-below-inner{max-width:560px;padding:0 clamp(24px,6.5vw,44px)}.invitation-card{animation:fadeIn .8s ease-out;background-color:initial;border-radius:20px;box-shadow:0 20px 60px #00000040,0 0 0 1px #d4af374d;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:100vh;overflow:hidden;padding:60px 80px;position:relative;text-align:center;width:100%;z-index:2}.invitation-card:before{bottom:-15px;content:"";filter:blur(4px);left:-40px;position:absolute;right:-20px;top:-1000px;z-index:-1}.success-card{padding:80px 40px;text-align:center}.ornament-bottom,.ornament-top{background:linear-gradient(90deg,#0000,#d4af37 20%,#b8912e 50%,#d4af37 80%,#0000);background:linear-gradient(90deg,#0000 0,var(--gold) 20%,var(--gold-deep) 50%,var(--gold) 80%,#0000 100%);height:2px;margin:0 auto 30px;width:100%}.ornament-bottom{margin:30px auto 0}.birthday-number{animation:shimmer 2s ease-in-out infinite;border-radius:10px;color:#d4af37;color:var(--gold);display:inline-block;font-family:Cormorant Garamond,serif;font-size:5.5rem;font-weight:300;letter-spacing:8px;line-height:.9;margin:-10px auto 15px;overflow:visible;padding:15px 40px;position:relative;text-align:center;text-shadow:0 2px 10px #d4af3773,1px 1px 2px #0003}@keyframes shimmer{0%,to{color:#d4af37;color:var(--gold);text-shadow:0 2px 10px #d4af3773,1px 1px 2px #0003;transform:scale(1)}50%{color:#eacf8d;color:var(--gold-light);text-shadow:0 0 24px #d4af378c,0 4px 14px #d4af3766,1px 1px 2px #0003;transform:scale(1.08)}}.elegant-title{color:#1a1a2e;font-family:Cormorant Garamond,serif;font-size:3.5rem;font-weight:300;letter-spacing:3px;margin-bottom:20px;text-align:center;text-transform:uppercase}.divider{background:linear-gradient(90deg,#d4af37,#b8912e,#d4af37);background:linear-gradient(90deg,var(--gold),var(--gold-deep),var(--gold));border-radius:2px;height:3px;margin:30px auto;width:60px}.event-details{display:flex;flex-direction:column;gap:clamp(12px,3.2vw,17px);margin:clamp(18px,5vw,26px) 0;text-align:left}.event-occasion{color:#f4e4b8;color:var(--cream-text);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:500;margin-bottom:10px;text-align:center}.detail-item{align-items:flex-start;background:none;border:none;border-radius:0;box-shadow:none;display:flex;gap:clamp(10px,3vw,14px);margin:0;padding:2px 0;position:relative;transition:opacity .3s ease}.detail-item.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.detail-item.clickable:hover .detail-icon,.detail-item.clickable:hover .detail-value{color:#d4af37;color:var(--gold)}.detail-item.clickable:hover .detail-arrow{opacity:1;transform:translateX(4px)}.detail-item.clickable:active{opacity:.65}@keyframes subtle-pulse{0%,to{opacity:.9}50%{opacity:1}}.detail-icon{color:#d4af37;color:var(--gold);flex-shrink:0;height:clamp(16px,4.4vw,20px);margin-top:4px;opacity:.8;transition:color .3s ease;width:clamp(16px,4.4vw,20px)}.detail-content{flex:1 1;margin:0;min-width:0;text-align:left}.detail-arrow{align-self:center;color:#d4af37;color:var(--gold);flex-shrink:0;font-size:1.1rem;font-weight:300;line-height:1;opacity:.45;transition:transform .3s ease,opacity .3s ease}.detail-label{color:#f4e4b8;color:var(--cream-text);font-size:.8rem;font-weight:600;letter-spacing:1.5px;margin-bottom:8px;opacity:.6;text-transform:uppercase}.detail-value{font-size:clamp(.74rem,2.8vw,.96rem);font-weight:500;letter-spacing:clamp(1px,.45vw,2px);transition:color .3s ease}.detail-subvalue,.detail-value{color:#f4e4b8;color:var(--cream-text);font-family:Cormorant Garamond,serif;line-height:1.85;text-transform:uppercase}.detail-subvalue{font-size:clamp(.72rem,2.75vw,.92rem);letter-spacing:clamp(1px,.45vw,1.9px);opacity:.68}.rsvp-form{margin-top:40px}.form-title{color:#d4af37;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;margin-bottom:10px;text-align:center}.form-subtitle{color:#fff;font-size:.95rem;font-style:italic;margin-bottom:30px;text-align:center}.plusone-section{background:linear-gradient(135deg,#d4af3708,#d4af3714);border:2px solid #d4af3733;border-radius:12px;box-shadow:0 2px 8px #d4af371a;margin:20px 0;padding:20px}.plusone-section:before{border-bottom:1px solid #d4af3733;color:#d4af37;content:"Informazioni +1";display:block;font-size:.85rem;font-weight:600;letter-spacing:1px;margin-bottom:15px;padding-bottom:10px;text-transform:uppercase}.form-group{margin-bottom:25px}.form-group label{color:#fff;display:block;font-size:.9rem;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.form-group input[type=text]{background:#141a0b;border:1px solid #d4af37;border:1px solid var(--gold);border-radius:8px;color:#fff;font-family:Montserrat,sans-serif;font-size:1rem;padding:14px 18px;transition:all .3s ease;width:100%}.form-group input[type=text]#cognome,.form-group input[type=text]#cognomePlusOne,.form-group input[type=text]#nome,.form-group input[type=text]#nomePlusOne{color:#fff;font-family:Great Vibes,cursive;font-size:1.5rem;padding:16px 18px}.cancellation-modal .form-group input[type=text]::placeholder,.form-group input[type=text]::placeholder{color:#ffffff73}.form-group input[type=text]#cognome::placeholder,.form-group input[type=text]#cognomePlusOne::placeholder,.form-group input[type=text]#nome::placeholder,.form-group input[type=text]#nomePlusOne::placeholder{font-family:Montserrat,sans-serif;font-size:1rem}.form-group input[type=text]:focus{border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a;outline:none}.form-select{background:#faf4e8;background:var(--beige-soft);border:2px solid #e0d3b8;border:2px solid var(--beige-border);border-radius:8px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;padding:14px 18px;transition:all .3s ease;width:100%}.form-select:focus{border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a;outline:none}.checkbox-group{margin:30px 0;text-align:left}.checkbox-label{align-items:center;background:#141a0b;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:15px;justify-content:flex-start;padding:15px;text-align:left;transition:all .3s ease}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin:0;vertical-align:middle;width:20px}.checkbox-label span{display:inline-block;line-height:1;vertical-align:middle}.intolleranze-list{grid-gap:12px;background:linear-gradient(135deg,#d4af3708,#d4af3714);box-shadow:0 2px 8px #d4af371a;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:10px;text-align:left}.intolleranza-item{align-items:center;background:#141a0b;border:2px solid #0000;border-radius:12px;color:#fff;cursor:pointer;display:flex;gap:10px;justify-content:flex-start;padding:10px 12px;text-align:left;transition:all .2s ease}.intolleranze{border:1px solid #d4af37;border:1px solid var(--gold);border-radius:12px;padding-top:12px}.intolleranza-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.checkbox-label input[type=checkbox],.intolleranza-item input[type=checkbox]{-webkit-appearance:none;appearance:none;background-color:initial;border:1.5px solid #d4af37;border:1.5px solid var(--gold);border-radius:4px;transition:border-color .2s ease,box-shadow .2s ease}.checkbox-label input[type=checkbox]:checked,.intolleranza-item input[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23d4af37' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='m3.2 8.6 3 3.2 6.6-7.2'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:78%;border-color:#d4af37;border-color:var(--gold)}.checkbox-label input[type=checkbox]:focus-visible,.intolleranza-item input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px #d4af3740;outline:none}.intolleranza-item span{color:#fff;font-size:.95rem;line-height:1.2}.submit-button{background:linear-gradient(135deg,#d4af37,#e8cd85);background:linear-gradient(135deg,var(--gold) 0,#e8cd85 100%);border:none;border-radius:10px;box-shadow:0 4px 15px #d4af3766;color:#1a1a2e;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:2px;margin-top:20px;padding:16px;text-transform:uppercase;transition:all .3s ease;-webkit-user-select:none;user-select:none;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 6px 20px #d4af3799;transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#b03a2e2e;border-left:3px solid #b03a2e;border-radius:8px;color:#f0a9a2;font-size:.9rem;margin-bottom:20px;padding:12px}.confirmation-text{color:#1a1a2e;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:500;margin:30px 0 15px}.confirmation-subtext{color:#f4e4b8;color:var(--cream-text);font-size:1.1rem;margin-bottom:30px}.calendar-button{align-items:center;background:linear-gradient(135deg,#d4af37,#e8cd85);background:linear-gradient(135deg,var(--gold) 0,#e8cd85 100%);border:none;border-radius:10px;box-shadow:0 4px 15px #d4af3766;color:#1a1a2e;cursor:pointer;display:inline-flex;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;gap:8px;margin:20px 0;padding:14px 28px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.calendar-button:hover{box-shadow:0 6px 20px #d4af3799;transform:translateY(-2px)}.calendar-button:active{transform:translateY(0)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030503d1;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{-ms-overflow-style:none;animation:slideIn .3s ease;background:linear-gradient(160deg,#242d13f5,#080904fa);border:1px solid #d4af3773;border-radius:20px;box-shadow:0 20px 60px #0000008c;max-height:90vh;max-width:700px;overflow-y:auto;padding:40px;position:relative;scrollbar-width:none;width:100%}.modal-content::-webkit-scrollbar{display:none}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#f4e4b8a6;cursor:pointer;display:flex;font-size:2.5rem;height:40px;justify-content:center;line-height:1;position:absolute;right:15px;top:15px;transition:all .3s ease;width:40px}.modal-close:hover{background:#d4af3724;color:#d4af37;color:var(--gold);transform:rotate(90deg)}.modal-title{color:#d4af37;color:var(--gold);font-family:Cormorant Garamond,serif;font-size:2.2rem;font-weight:600;letter-spacing:1px;margin:20px 0;text-align:center}.modal-body{margin:30px 0}.modal-text{color:#fff;font-size:1.05rem;line-height:1.8;margin-bottom:20px;text-align:center}.modal-text strong{color:#d4af37;font-weight:600}.dress-code-suggestions,.dress-suggestions{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:30px 0}.dress-category,.suggestion-box{background:linear-gradient(135deg,#d4af3714,#d4af3708);border:1px solid #d4af3759;border-radius:15px;box-shadow:0 4px 15px #00000040;padding:25px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.dress-category:hover,.suggestion-box:hover{box-shadow:0 8px 25px #d4af374d;transform:translateY(-5px)}.suggestion-icon{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:3rem;margin-bottom:15px}.dress-category h3,.suggestion-box h3{color:#d4af37;color:var(--gold);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600;margin-bottom:15px}.dress-category p,.dress-category ul,.suggestion-box p{color:#fff;font-size:1rem;line-height:1.6}.dress-category ul,.suggestion-box ul{list-style:none;margin:0;padding:0;text-align:left}.dress-category li,.suggestion-box li{padding:8px 0 8px 20px;position:relative}.dress-category li:before,.suggestion-box li:before{color:#d4af37;content:"•";font-size:1.2rem;font-weight:700;left:0;position:absolute}.modal-note{background:#d4af3712;border-left:3px solid #d4af37;border-left:3px solid var(--gold);border-radius:10px;color:#fff;font-size:.95rem;margin-top:25px;padding:15px;text-align:center}.modal-note em{color:#f4e4b8;color:var(--cream-text);font-style:italic}.modal-footer-text{color:#d4af37;font-family:Great Vibes,cursive;font-size:1.8rem;margin-top:30px;text-align:center}@media (min-width:769px){.App{padding:40px 0}.invitation-card{margin:0 auto;max-width:900px;min-height:calc(100vh - 80px)}.event-occasion{font-size:2.2rem;margin-bottom:20px}}@media (max-width:768px){.App{padding:20px}.invitation-card{border-radius:20px;max-width:600px;min-height:auto;padding:40px 25px}.elegant-title{font-size:2.5rem;letter-spacing:2px}.event-occasion{font-size:1.5rem}.form-title{font-size:1.6rem}}@media (max-width:480px){.App{padding:10px}.invitation-card{padding:30px 20px}.elegant-title{font-size:2rem}}.cancellation-banner{align-items:center;background:#0000;border:1px solid #d4af3773;border-radius:8px;cursor:pointer;display:flex;justify-content:center;margin:20px 0;opacity:.8;padding:10px 15px;transition:all .3s ease}.cancellation-banner:hover{background:#f4e4b814;border-color:#d4af37;border-color:var(--gold);opacity:1}.cancellation-banner:active{transform:scale(.98)}.banner-icon{flex-shrink:0;font-size:.9rem;line-height:1;margin-right:8px;vertical-align:middle}.banner-text{color:#fff;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:400;line-height:1}.banner-arrow{align-items:center;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:300;margin-left:8px}.cancellation-modal .modal-body{padding:20px 0}.cancellation-modal .form-group{margin-bottom:20px}.cancellation-modal .form-group label{color:#fff;display:block;font-size:.9rem;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.cancellation-modal .form-group input[type=text]{background:#141a0b;border:1px solid #d4af37;border:1px solid var(--gold);border-radius:10px;color:#fff;font-family:Montserrat,sans-serif;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.cancellation-modal .form-group input[type=text]#cancel-cognome,.cancellation-modal .form-group input[type=text]#cancel-cognomePlusOne,.cancellation-modal .form-group input[type=text]#cancel-nome,.cancellation-modal .form-group input[type=text]#cancel-nomePlusOne{color:#fff;font-family:Great Vibes,cursive;font-size:1.5rem;padding:16px 18px}.cancellation-modal .form-group input[type=text]#cancel-cognome::placeholder,.cancellation-modal .form-group input[type=text]#cancel-cognomePlusOne::placeholder,.cancellation-modal .form-group input[type=text]#cancel-nome::placeholder,.cancellation-modal .form-group input[type=text]#cancel-nomePlusOne::placeholder{font-family:Montserrat,sans-serif;font-size:1rem}.cancellation-modal .form-group input[type=text]:focus{border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a;outline:none}@media (max-width:768px){.cancellation-banner{margin:15px 0;padding:8px 12px}.banner-icon{font-size:.85rem}.banner-text{font-size:.8rem}.banner-arrow{font-size:.9rem}}@media (max-width:480px){.cancellation-banner{padding:8px 10px}.banner-text{font-size:.75rem}}.blinking-image{animation:blink-animation 3s infinite}@keyframes blink-animation{0%{opacity:1}70%{opacity:.9}to{opacity:1}}.music-toggle{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141a0bd1;border:1px solid #d4af378c;border-radius:50%;bottom:20px;box-shadow:0 4px 14px #00000059;cursor:pointer;display:flex;height:46px;justify-content:center;padding:0;position:fixed;right:20px;transition:background .3s ease,border-color .3s ease,transform .3s ease;width:46px;z-index:900}.music-toggle:hover{background:#242d13eb;border-color:#d4af37;border-color:var(--gold);transform:scale(1.06)}.music-toggle:active{transform:scale(.96)}.music-toggle:focus-visible{outline:2px solid #eacf8d;outline:2px solid var(--gold-light);outline-offset:3px}.music-toggle-icon{fill:#d4af37;fill:var(--gold);stroke:#d4af37;stroke:var(--gold);stroke-width:0;height:22px;width:22px}.music-toggle-icon .music-wave{fill:none;stroke:#d4af37;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round}.music-toggle.muted .music-toggle-icon{fill:#8a7451;fill:var(--beige-text)}.music-toggle.muted .music-toggle-icon,.music-toggle.muted .music-toggle-icon .music-wave{stroke:#8a7451;stroke:var(--beige-text)}@media (max-width:600px){.music-toggle{bottom:14px;height:42px;right:14px;width:42px}.music-toggle-icon{height:20px;width:20px}}
/*# sourceMappingURL=main.9dd1e0b5.css.map*/