@import "https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Great+Vibes&family=Inter:wght@300;400;600&family=Cinzel:wght@400;600&display=swap";:root{--radius-sm:4px;--radius-md:12px;--radius-lg:24px;--radius-full:9999px}:root,.theme-champagne{--color-bg-primary:#fdfbf7;--color-bg-secondary:#f4f1ea;--color-accent:#c5a880;--color-accent-light:#e3d5c1;--color-accent-dark:#a3855e;--color-text-primary:#2c3539;--color-text-secondary:#6b7280;--color-white:#fff;--font-heading:"Playfair Display", serif;--font-body:"Lato", sans-serif;--font-script:"Great Vibes", cursive;--shadow-sm:0 2px 8px #2c35390a;--shadow-md:0 8px 24px #2c35390f;--shadow-lg:0 16px 40px #2c353914;--glass-bg:#ffffffd9;--glass-border:1px solid #c5a88033}.theme-floral{--color-bg-primary:#fff5f7;--color-bg-secondary:#fde8ed;--color-accent:#e5989b;--color-accent-light:#ffb5a7;--color-accent-dark:#b5838d;--color-text-primary:#6d6875;--color-text-secondary:#9b98a1;--color-white:#fff;--font-heading:"Playfair Display", serif;--font-body:"Lato", sans-serif;--font-script:"Great Vibes", cursive;--shadow-sm:0 2px 8px #b5838d1a;--shadow-md:0 8px 24px #b5838d26;--shadow-lg:0 16px 40px #b5838d33;--glass-bg:#ffffffb3;--glass-border:1px solid #e5989b4d}.theme-dark{--color-bg-primary:#121212;--color-bg-secondary:#1e1e1e;--color-accent:#d4af37;--color-accent-light:#f3e5ab;--color-accent-dark:#aa8c2c;--color-text-primary:#f5f5f5;--color-text-secondary:#aaa;--color-white:#1e1e1e;--font-heading:"Cinzel", serif;--font-body:"Inter", sans-serif;--font-script:"Great Vibes", cursive;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 8px 24px #0009;--shadow-lg:0 16px 40px #000c;--glass-bg:#1e1e1ed9;--glass-border:1px solid #d4af3733}.theme-minimalist{--color-bg-primary:#fff;--color-bg-secondary:#f8f9fa;--color-accent:#212529;--color-accent-light:#495057;--color-accent-dark:#000;--color-text-primary:#000;--color-text-secondary:#6c757d;--color-white:#fff;--font-heading:"Inter", sans-serif;--font-body:"Inter", sans-serif;--font-script:"Inter", sans-serif;--shadow-sm:none;--shadow-md:0 4px 12px #0000000d;--shadow-lg:0 10px 30px #00000014;--glass-bg:#fffffff2;--glass-border:1px solid #e9ecef;--radius-md:0px;--radius-lg:0px;--radius-full:0px}.theme-blue{--color-bg-primary:#f9f9f9;--color-bg-secondary:#f0f0f0;--color-accent:#152b4d;--color-accent-light:#1d3a66;--color-accent-dark:#0d1b31;--color-text-primary:#152b4d;--color-text-secondary:#5a6a82;--color-white:#fff;--font-heading:"Playfair Display", serif;--font-body:"Lato", sans-serif;--font-script:"Great Vibes", cursive;--shadow-sm:0 2px 8px #152b4d14;--shadow-md:0 8px 24px #152b4d26;--shadow-lg:0 16px 40px #152b4d33;--glass-bg:#ffffffd9;--glass-border:1px solid #152b4d26}.theme-olive{--color-bg-primary:#f5f4ef;--color-bg-secondary:#ebeae2;--color-accent:#6a7356;--color-accent-light:#838a71;--color-accent-dark:#4f5640;--color-text-primary:#333;--color-text-secondary:#6a7356;--color-white:#fff;--font-heading:"Playfair Display", serif;--font-body:"Lato", sans-serif;--font-script:"Great Vibes", cursive;--shadow-sm:none;--shadow-md:none;--shadow-lg:0 10px 30px #0000001a;--glass-bg:transparent;--glass-border:none;--radius-md:0px;--radius-lg:0px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeIn}.dashboard-container{background-color:var(--color-bg-primary);max-width:1200px;min-height:100vh;margin:0 auto;padding:3rem 2rem}.dashboard-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;margin-bottom:4rem;padding-bottom:2rem;display:flex}.dashboard-header h1{font-size:2.5rem;font-family:var(--font-heading);color:var(--color-text-primary);margin:0}.btn-create{background-color:var(--color-accent);color:var(--color-white);font-weight:500;font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;border-radius:50px;align-items:center;gap:.8rem;padding:1rem 2rem;font-size:.85rem;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 15px #c5a8804d}.btn-create:hover{background-color:var(--color-accent-dark);color:var(--color-white);transform:translateY(-2px);box-shadow:0 6px 20px #c5a88080}.empty-state{text-align:center;background-color:var(--color-white);border-radius:var(--radius-lg);color:var(--color-text-secondary);box-shadow:var(--shadow-sm);border:1px solid #00000005;padding:6rem 2rem}.empty-state p{margin-bottom:2rem;font-size:1.1rem}.invitations-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.5rem;display:grid}.invitation-card{background-color:var(--color-white);border:1px solid #c5a88026;border-radius:16px;flex-direction:column;padding:2rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000000a}.invitation-card:before{content:"";background:linear-gradient(90deg, var(--color-accent-light), var(--color-accent));height:6px;position:absolute;top:0;left:0;right:0}.invitation-card:hover{border-color:#c5a88066;transform:translateY(-8px);box-shadow:0 20px 40px #00000014}.card-header{margin-bottom:1.5rem}.card-header h3{font-size:1.6rem;font-family:var(--font-heading);color:var(--color-text-primary);margin:0 0 .8rem}.date-badge{color:var(--color-accent-dark);letter-spacing:1px;background-color:#c5a8801a;border-radius:50px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;display:inline-block}.card-body{color:var(--color-text-secondary);flex-grow:1;margin-bottom:2.5rem;font-size:.95rem;line-height:1.6}.card-actions{border-top:1px solid #0000000d;gap:.8rem;padding-top:1.5rem;display:flex}.action-btn{background-color:var(--color-white);color:var(--color-text-secondary);cursor:pointer;border:1px solid #eae0cd;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:.6rem;font-size:.9rem;text-decoration:none;transition:all .3s;display:inline-flex}.action-btn:hover{color:var(--color-accent-dark);border-color:var(--color-accent);background-color:#c5a8801a;transform:translateY(-2px)}.btn-manage{background-color:var(--color-accent);color:#fff;font-family:var(--font-body);text-transform:uppercase;letter-spacing:1px;border:none;border-radius:50px;flex:1;font-size:.85rem;font-weight:600}.btn-manage:hover{background-color:var(--color-accent-dark);color:#fff;transform:translateY(-2px)}.text-danger{color:#d32f2f}.text-danger:hover{color:#d32f2f;background-color:#ffebee;border-color:#ffcdd2}.builder-container{max-width:800px;margin:0 auto;padding:2rem}.builder-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.builder-header h1{margin:0;font-size:2rem}.builder-form{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:3rem}.form-section{margin-bottom:3rem}.form-section h2{color:var(--color-accent-dark);border-bottom:1px dashed #e0e0e0;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.3rem}.submit-btn{width:100%;margin-top:2rem;padding:1.2rem;font-size:1.1rem}.builder-form .form-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.builder-form label{font-size:.95rem;font-weight:600}.builder-form input,.builder-form textarea{border-radius:var(--radius-sm);font-family:var(--font-sans);border:1px solid #d7ccc8;outline:none;padding:1rem;font-size:1rem}.builder-form input:focus,.builder-form textarea:focus{border-color:var(--color-accent)}.builder-form .form-row{gap:1.5rem;display:flex}.builder-form .form-row .form-group{flex:1}.envelope-wrapper{cursor:pointer;flex-direction:column;align-items:center;margin:2rem 0;display:flex}.envelope-container{perspective:1000px;width:280px;height:180px;margin-bottom:1.5rem;position:relative}.envelope{background-color:var(--color-accent);width:100%;height:100%;box-shadow:var(--shadow-lg);border-radius:4px;transition:transform .4s;position:absolute;top:0;left:0}.envelope-wrapper:hover .envelope{transform:translateY(-5px)}.env-back{background-color:var(--color-accent-dark);border-radius:4px;width:100%;height:100%;position:absolute;top:0;left:0}.env-paper{background-color:var(--color-bg-primary);z-index:1;border-radius:4px;transition:transform .8s cubic-bezier(.4,0,.2,1) .4s;position:absolute;inset:10px;box-shadow:0 0 10px #0000001a}.env-front{z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.env-front:before{content:"";border-left:140px solid var(--color-accent-light);border-right:140px solid var(--color-accent-light);border-bottom:90px solid var(--color-accent);border-top:90px solid #0000;position:absolute;top:0;left:0}.env-flap{border-left:140px solid #0000;border-right:140px solid #0000;border-top:105px solid var(--color-accent);transform-origin:top;z-index:3;width:0;height:0;transition:transform .5s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.envelope-container.is-open .env-flap{z-index:0;transform:rotateX(180deg)}.envelope-container.is-open .env-paper{z-index:4;transform:translateY(-80px)}.wax-seal{z-index:4;color:#7a6015;width:50px;height:50px;font-family:var(--font-script);background:radial-gradient(circle at 30% 30%,#e5c158,#b08d28);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:opacity .3s;display:flex;position:absolute;top:105px;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 6px #0000004d,inset 0 0 5px #0003}.envelope-container.is-open .wax-seal{opacity:0}.envelope-hint{font-family:var(--font-body);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:2px;font-size:.85rem;animation:2s infinite pulseHint}@keyframes pulseHint{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.cover-wrapper{background:radial-gradient(circle at center, var(--color-bg-primary) 0%, var(--color-bg-secondary) 100%);z-index:100;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:100%;min-height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.cover-content{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:1rem;width:500px;max-width:100%;margin-top:auto;margin-bottom:auto;padding:4rem 1rem;display:flex}.cover-decor{opacity:.8}.cover-pretext{font-family:var(--font-body);text-transform:uppercase;letter-spacing:4px;color:var(--color-text-secondary);margin-bottom:1rem;font-size:.85rem}.cover-title{font-family:var(--font-heading);color:#d4af37;margin-bottom:.5rem;font-size:2.2rem;font-weight:800;line-height:1.8}.cover-guest{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;color:var(--color-accent);margin:1rem 0;font-size:1.25rem;font-weight:600}.open-button{background-color:var(--color-accent);color:var(--color-white);border-radius:var(--radius-full);font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;cursor:pointer;border:none;align-items:center;gap:.75rem;margin-top:1rem;padding:.8rem 2rem;font-size:.95rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 15px #c5a88066}.open-button:hover{background-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 6px 20px #c5a88099}.audio-hint{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.75rem;font-style:italic;display:flex}.hero-section{background-color:#000;background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;justify-content:flex-end;width:100%;height:100vh;margin:0;padding:0;display:flex;position:relative}.hero-overlay{background:linear-gradient(to top, var(--color-accent) 0%, color-mix(in srgb, var(--color-accent) 50%, transparent) 50%, transparent 85%);z-index:1;flex-direction:column;justify-content:flex-end;padding:4rem 2rem;display:flex;position:absolute;inset:0}.hero-header-text{text-align:left;z-index:2;margin-bottom:2rem}.hero-save-date{font-family:var(--font-body);letter-spacing:4px;color:#fff;text-transform:uppercase;margin-bottom:.5rem;font-size:.9rem}.hero-names{color:#d4af37;text-align:left;word-wrap:break-word;text-shadow:2px 2px 8px #00000080;max-width:100%;margin-bottom:1rem;font-family:Cinzel,serif;font-size:clamp(2rem,10vw,4rem);font-weight:800;line-height:1.2}.hero-divider{background:linear-gradient(90deg, var(--color-accent), transparent);width:100%;max-width:250px;height:2px;margin-bottom:1rem}.hero-date{font-family:var(--font-body);letter-spacing:6px;color:#fff;text-transform:uppercase;font-size:1.1rem}.hero-bottom-content{background-color:var(--color-bg-primary);flex-direction:column;align-items:center;padding:3rem 1rem;display:flex}.hero-quote-container{text-align:center;max-width:500px;margin-bottom:3rem;padding:0 2rem}.hero-quote{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.1rem;font-style:italic;line-height:1.6}.hero-audio-player{flex-direction:column;align-items:center;gap:.8rem;margin-top:1.5rem;display:flex}.audio-label{font-family:var(--font-body);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:2px;font-size:.85rem}.audio-controls{align-items:center;gap:1.5rem;display:flex}.audio-btn{color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .2s;display:flex}.audio-btn:hover{opacity:.7}.play-btn{background-color:var(--color-text-primary);width:40px;height:40px;color:var(--color-white);border-radius:50%}.play-icon-offset{margin-left:2px}.event-section{background-color:var(--color-bg-primary);justify-content:center;padding:4rem 1.5rem;display:flex}.event-container{width:100%;max-width:600px}.event-header{text-align:center;margin-bottom:3rem}.event-card{background:var(--color-white);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.event-date-block{flex-direction:column;align-items:center;width:100%;display:flex}.event-date-block .month{letter-spacing:4px;text-transform:uppercase;color:var(--color-text-secondary);font-size:.85rem}.event-date-block .day{font-size:2.5rem;font-family:var(--font-heading);color:var(--color-text-primary);margin:.5rem 0;font-weight:400}.event-info{border-top:1px solid var(--color-bg-secondary);flex-direction:column;gap:1rem;width:100%;padding-top:1rem;display:flex}.info-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.info-icon{color:var(--color-accent);margin-bottom:.5rem}.info-item h3{color:var(--color-text-primary);font-size:1.1rem;font-weight:600}.info-item p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.calendar-widget{background:0 0;width:100%;max-width:380px;margin:.5rem auto 0;padding:.5rem 1rem;position:relative}.calendar-splash-bg{z-index:0;pointer-events:none;justify-content:center;align-items:center;width:140%;height:140%;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.calendar-splash-bg svg{filter:blur(15px);width:100%;height:100%}.calendar-header-splash{z-index:1;text-align:center;min-height:80px;margin-bottom:2rem;position:relative}.cal-title-wrapper{display:inline-block;position:relative}.cal-month-script{font-family:var(--font-script);color:#000;font-size:4.5rem;line-height:.8;display:block}.cal-year-text{font-family:var(--font-body);color:#000;font-size:1.4rem;font-weight:500;position:absolute;bottom:-10px;right:-25px}.calendar-grid-splash{z-index:1;grid-template-columns:repeat(7,1fr);gap:6px 4px;display:grid;position:relative}.calendar-grid-splash .cal-day-name{color:#000;text-transform:uppercase;text-align:center;margin-bottom:.5rem;font-size:1.1rem;font-weight:800}.cal-day-splash{font-size:1.1rem;font-family:var(--font-body);color:#000;justify-content:center;align-items:center;height:35px;font-weight:500;display:flex}.other-month{color:#0006}.cal-target-splash{font-weight:700;position:relative}@keyframes pulse-heart{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.7;transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.cal-pulsing-heart{color:#ff4d6d;fill:#ff4d6d26;z-index:1;width:38px;height:38px;animation:2s ease-in-out infinite pulse-heart;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.menu-section{background-color:var(--color-bg-primary);justify-content:center;padding:4rem 1.5rem;display:flex}.menu-container{width:100%;max-width:600px}.menu-header{text-align:center;margin-bottom:3rem}.section-title{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:1rem;font-size:2.2rem;font-weight:400}.section-divider{background-color:var(--color-accent);width:80px;height:1px;margin:0 auto 1.5rem}.menu-subtitle{color:var(--color-text-secondary);font-size:1rem}.drink-options{flex-direction:column;gap:1rem;width:100%;max-width:400px;margin:0 auto;display:flex}.drink-row{background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:all .3s;display:flex}.drink-row:hover{border-color:var(--color-accent-light)}.drink-row.selected{background-color:var(--color-bg-primary);border-color:var(--color-accent)}.drink-row-left{align-items:center;gap:1rem;display:flex}.drink-row-icon{color:var(--color-accent)}.drink-name{font-family:var(--font-body);color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:400}.drink-radio{border:1px solid var(--color-accent);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.drink-radio-inner{background-color:var(--color-accent);border-radius:50%;width:10px;height:10px}.rsvp-section{background-color:var(--color-bg-primary);justify-content:center;padding:4rem 1.5rem;display:flex}.rsvp-container{width:100%;max-width:500px}.rsvp-header{text-align:center;margin-bottom:3rem}.rsvp-subtitle{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.rsvp-form{flex-direction:column;display:flex}.input-group{margin-bottom:1.5rem;position:relative}.animated-input{width:100%;color:var(--color-text-primary);font-family:var(--font-body);background-color:#0000;border:none;border-bottom:2px solid #0000001a;padding:1.2rem .5rem .5rem 0;font-size:1.1rem;transition:all .3s}.floating-label{color:var(--color-text-secondary);pointer-events:none;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;font-size:.85rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:1rem;left:0}.animated-input:focus~.floating-label,.animated-input:not(:placeholder-shown)~.floating-label{color:var(--color-accent);font-size:.7rem;font-weight:700;top:-12px}.input-focus-border{background-color:var(--color-accent);width:0;height:2px;transition:width .4s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0}.animated-input:focus~.input-focus-border{width:100%}.animated-radio-group{margin-top:1.5rem}.radio-group-title{font-family:var(--font-heading);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-size:.9rem;font-weight:600}.radio-cards{flex-direction:column;gap:1rem;display:flex}@media (width>=480px){.radio-cards{flex-direction:row}}.radio-card{border-radius:var(--radius-md);cursor:pointer;background:var(--color-white);text-align:left;border:2px solid #0000000d;flex-direction:row;flex:1;justify-content:flex-start;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex}@media (width>=480px){.radio-card{text-align:center;flex-direction:column;justify-content:center;gap:0;padding:1.5rem 1rem}}.radio-icon{font-size:2rem;transition:transform .4s cubic-bezier(.4,0,.2,1)}@media (width>=480px){.radio-icon{margin-bottom:.5rem;font-size:2.5rem}}.radio-text{font-family:var(--font-body);color:var(--color-text-secondary);font-size:1rem;font-weight:500;transition:color .3s}.radio-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent-light)}.radio-card.selected{border-color:var(--color-accent);background:#c5a8800d;box-shadow:0 5px 15px #0000000d}.radio-card.selected .radio-text{color:var(--color-accent);font-weight:700}.guest-count-selector{overflow:hidden}.guest-grid{flex-wrap:wrap;gap:.8rem;display:flex}.guest-bubble{width:45px;height:45px;font-family:var(--font-heading);cursor:pointer;background:var(--color-white);color:var(--color-text-secondary);box-shadow:var(--shadow-sm);border:2px solid #0000000d;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .3s;display:flex}.guest-bubble:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-md)}.guest-bubble.selected{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent);box-shadow:0 4px 10px #c5a8804d}.animated-submit-btn{background-color:var(--color-accent);width:auto;color:var(--color-white);border-radius:var(--radius-full);font-size:.95rem;font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;margin:3rem auto 0;padding:.8rem 1.5rem;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 10px #0000001a}.animated-submit-btn:hover{background-color:var(--color-accent-dark);box-shadow:0 6px 15px #c5a8804d}.btn-icon{font-size:1.2rem}.success-message{text-align:center;padding:5rem 2rem}.success-icon{margin-bottom:1.5rem;font-size:4rem}.success-message h2{font-family:var(--font-script);color:var(--color-accent);margin-bottom:1rem;font-size:3.5rem}.app-wrapper{width:100%;min-height:100vh}.invitation-content{opacity:0;animation:1s ease-in forwards fadeInContent}@keyframes fadeInContent{to{opacity:1}}.btn{font-family:var(--font-heading);cursor:pointer;border:none;border-radius:30px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .3s}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-secondary{color:var(--color-accent);border:1px solid var(--color-accent);background-color:#0000}.olive-section{text-align:center;padding:4rem 1rem}@media (width>=768px){.olive-section{padding:5rem 2rem}}.olive-title{font-family:var(--font-script);color:var(--color-text-primary);margin-bottom:2rem;font-size:2.5rem}@media (width>=768px){.olive-title{font-size:3rem}}.olive-countdown-box{background-color:var(--color-accent);color:var(--color-white);padding:3rem 1rem}.olive-countdown-subtitle{font-family:var(--font-heading);max-width:500px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.1rem;font-style:italic;line-height:1.5}.olive-countdown-timer{justify-content:center;gap:.5rem;margin-bottom:2rem;display:flex}.countdown-number{font-size:2rem;font-weight:700}.countdown-label{text-transform:uppercase;letter-spacing:1px;font-size:.6rem}@media (width>=480px){.olive-countdown-timer{gap:1.5rem}.countdown-number{font-size:2.5rem}.countdown-label{letter-spacing:2px;font-size:.7rem}}.olive-timeline{flex-direction:column;align-items:center;gap:.5rem;max-width:320px;margin:0 auto;display:flex}.timeline-item{align-items:center;width:100%;display:flex}.timeline-time{text-align:right;flex:1;padding-right:1rem}.timeline-divider{background-color:var(--color-accent);width:1px;height:25px}.timeline-content{text-align:left;flex:1;padding-left:1rem}.timeline-time-text{font-size:.9rem;font-weight:700}.timeline-subtitle{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-secondary);font-size:.7rem}.timeline-icon{font-size:1.4rem}.olive-gift-box{background-color:var(--color-accent);color:var(--color-white);padding:3rem 1rem}.olive-gift-text{font-family:var(--font-body);max-width:400px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:.95rem;line-height:1.6}.qr-code-wrapper{background-color:#fff;border-radius:8px;padding:1rem;display:inline-block;box-shadow:0 4px 15px #0003}.login-container{background-color:var(--color-bg);background-image:radial-gradient(at 0 0,#c5a88026 0,#0000 50%),radial-gradient(at 100% 100%,#c5a8801a 0,#0000 50%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{-webkit-backdrop-filter:blur(20px);background:#fffc;border:1px solid #c5a8804d;border-radius:16px;width:100%;max-width:420px;padding:3rem 2.5rem;box-shadow:0 10px 40px #0000000d}.login-header{text-align:center;margin-bottom:2.5rem}.login-header h1{font-family:var(--font-heading);color:var(--color-text-primary);margin:0 0 .5rem;font-size:2rem}.login-header p{color:var(--color-text-secondary);margin:0;font-size:.95rem}.login-error{color:#c62828;text-align:center;background-color:#ffebee;border:1px solid #c6282833;border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--color-text-primary);font-size:.9rem;font-weight:600}.input-group input{background:#fff;border:1px solid #0000001a;border-radius:8px;outline:none;padding:1rem;font-size:1rem;transition:all .3s}.input-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #c5a8801a}.login-btn{background-color:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:1rem;padding:1.2rem;font-size:1.05rem;font-weight:600;transition:all .3s}.login-btn:hover{background-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 4px 15px #c5a8804d}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-divider{text-align:center;color:#888;align-items:center;margin:1.5rem 0;font-size:.9rem;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid #0000001a;flex:1}.login-divider span{padding:0 10px}.google-btn{color:#333;cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:1.2rem;font-size:1.05rem;font-weight:600;transition:all .3s;display:flex}.google-btn:hover{background-color:#f8f8f8;box-shadow:0 2px 10px #0000000d}.google-btn:disabled{opacity:.7;cursor:not-allowed}.google-icon{width:24px;height:24px}
