.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--ripple-color, rgba(255, 255, 255, .3)) 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity .8s}.btn-ripple:active:after{transform:scale(0);opacity:.3;transition:0s}.btn-magnetic{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.btn-magnetic:hover{transform:translateY(-2px) scale(1.02)}.btn-magnetic:active{transform:translateY(0) scale(.98)}.btn-press{transition:transform .15s ease,box-shadow .15s ease}.btn-press:active{transform:scale(.96);box-shadow:0 1px 2px #0003}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:18px;height:18px;top:50%;left:50%;margin-left:-9px;margin-top:-9px;border:2px solid var(--spinner-color, #fff);border-radius:50%;border-top-color:transparent;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-success-flash{animation:success-flash .6s ease}@keyframes success-flash{0%{background-color:var(--btn-bg)}50%{background-color:#28a745}to{background-color:var(--btn-bg)}}.btn-error-shake{animation:error-shake .5s ease}@keyframes error-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.btn-pulse{animation:btn-pulse 2s infinite}@keyframes btn-pulse{0%,to{box-shadow:0 0 0 0 var(--pulse-color, rgba(255, 107, 53, .4))}50%{box-shadow:0 0 0 10px transparent}}.input-glow{transition:box-shadow .3s ease,border-color .3s ease}.input-glow:focus{border-color:var(--theme-primary, #ff6b35);box-shadow:0 0 0 3px var(--glow-color, rgba(255, 107, 53, .2));outline:none}.input-floating-wrapper{position:relative}.input-floating-wrapper input,.input-floating-wrapper textarea{padding-top:1.5rem}.input-floating-label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--text-muted, #666);pointer-events:none;transition:all .2s ease}.input-floating-wrapper input:focus~.input-floating-label,.input-floating-wrapper input:not(:placeholder-shown)~.input-floating-label,.input-floating-wrapper textarea:focus~.input-floating-label,.input-floating-wrapper textarea:not(:placeholder-shown)~.input-floating-label{top:.5rem;transform:translateY(0);font-size:.75rem;color:var(--theme-primary, #ff6b35)}.input-valid{border-color:#28a745!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2328a745' viewBox='0 0 16 16'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem}.input-invalid{border-color:#dc3545!important;animation:input-shake .4s ease}@keyframes input-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-4px)}}.input-counter{font-size:.75rem;color:var(--text-muted, #666);text-align:right;margin-top:.25rem;transition:color .2s ease}.input-counter.near-limit{color:#ffc107}.input-counter.at-limit{color:#dc3545}.card-lift{transition:transform .3s ease,box-shadow .3s ease}.card-lift:hover{transform:translateY(-5px);box-shadow:0 12px 24px #00000026}.card-tilt{transition:transform .3s ease;transform-style:preserve-3d}.card-tilt:hover{transform:perspective(1000px) rotateX(2deg) rotateY(-2deg)}.card-glow{position:relative}.card-glow:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--theme-primary),var(--theme-accent),var(--theme-secondary));border-radius:inherit;z-index:-1;opacity:0;transition:opacity .3s ease}.card-glow:hover:before{opacity:.6}.animate-fade-in-up{animation:fade-in-up .5s ease forwards;opacity:0}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-scale{animation:fade-in-scale .4s ease forwards;opacity:0}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-slide-in-left{animation:slide-in-left .4s ease forwards;opacity:0}@keyframes slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-right{animation:slide-in-right .4s ease forwards;opacity:0}@keyframes slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.stagger-children>*{opacity:0;animation:fade-in-up .4s ease forwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.35s}.stagger-children>*:nth-child(8){animation-delay:.4s}.stagger-children>*:nth-child(9){animation-delay:.45s}.stagger-children>*:nth-child(10){animation-delay:.5s}.count-up{display:inline-block;animation:count-pop .3s ease}@keyframes count-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.digit-flip{display:inline-block;perspective:100px}.digit-flip-inner{transition:transform .4s ease;transform-style:preserve-3d}.digit-flip.flipping .digit-flip-inner{animation:digit-flip .4s ease}.progress-bar{height:4px;background:var(--progress-bg, #e0e0e0);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--theme-primary, #ff6b35);border-radius:2px;transition:width .3s ease}.progress-bar-fill.animated{background:linear-gradient(90deg,var(--theme-primary, #ff6b35),var(--theme-accent, #ffa500),var(--theme-primary, #ff6b35));background-size:200% 100%;animation:progress-shimmer 1.5s infinite}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base, #e0e0e0) 0%,var(--skeleton-shine, #f0f0f0) 50%,var(--skeleton-base, #e0e0e0) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}.tooltip-fade{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.tooltip-fade.visible{opacity:1;visibility:visible}.icon-spin{animation:icon-spin 1s linear infinite}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-bounce{animation:icon-bounce .5s ease}@keyframes icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.icon-pulse{animation:icon-pulse 1.5s ease infinite}@keyframes icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.theme-winter-wonderland .snowflake{position:absolute;color:#ffffffe6;font-size:1rem;top:-20px;animation:snowfall linear infinite;text-shadow:0 0 5px rgba(255,255,255,.5)}@keyframes snowfall{0%{transform:translateY(0) rotate(0) translate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg) translate(50px);opacity:.3}}.theme-winter-wonderland .frost-sparkle{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 10px #a5d8ff,0 0 20px #a5d8ff;animation:frost-sparkle 2s ease-in-out infinite}@keyframes frost-sparkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.theme-spring-bloom .petal{position:absolute;width:12px;height:12px;background:linear-gradient(135deg,#ffb7c5,pink);border-radius:50% 0 50% 50%;top:-20px;animation:petal-fall linear infinite;opacity:.8}@keyframes petal-fall{0%{transform:translateY(0) rotate(0) translate(0);opacity:.8}50%{transform:translateY(50vh) rotate(180deg) translate(30px)}to{transform:translateY(100vh) rotate(360deg) translate(-20px);opacity:.3}}.theme-spring-bloom .morning-dew{position:absolute;width:6px;height:6px;background:radial-gradient(circle,#ffffffe6,#98d8aa80);border-radius:50%;animation:dew-glisten 3s ease-in-out infinite}@keyframes dew-glisten{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.theme-summer-sunset .heat-wave{position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(180deg,transparent 0%,rgba(255,200,150,.1) 100%);animation:heat-shimmer 3s ease-in-out infinite}@keyframes heat-shimmer{0%,to{transform:scaleY(1);opacity:.5}50%{transform:scaleY(1.1);opacity:.8}}.theme-summer-sunset .sun-ray{position:absolute;top:-50px;width:2px;height:150px;background:linear-gradient(180deg,rgba(255,230,100,.6) 0%,transparent 100%);transform-origin:top center;animation:sun-ray 8s ease-in-out infinite}@keyframes sun-ray{0%,to{opacity:.3;transform:rotate(-5deg)}50%{opacity:.6;transform:rotate(5deg)}}.theme-autumn-harvest .leaf{position:absolute;font-size:1.5rem;top:-30px;animation:leaf-fall linear infinite}@keyframes leaf-fall{0%{transform:translateY(0) rotate(0) translate(0);opacity:1}25%{transform:translateY(25vh) rotate(90deg) translate(40px)}50%{transform:translateY(50vh) rotate(180deg) translate(-20px)}75%{transform:translateY(75vh) rotate(270deg) translate(30px)}to{transform:translateY(100vh) rotate(360deg) translate(0);opacity:.5}}.theme-autumn-harvest .firelight{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:300px;height:200px;background:radial-gradient(ellipse at bottom,rgba(255,150,50,.3) 0%,transparent 70%);animation:firelight-flicker 2s ease-in-out infinite}@keyframes firelight-flicker{0%,to{opacity:.5;transform:translate(-50%) scaleY(1)}50%{opacity:.8;transform:translate(-50%) scaleY(1.1)}}.theme-birthday-party .confetti{position:absolute;width:10px;height:10px;top:-20px;animation:confetti-fall linear infinite}.theme-birthday-party .confetti:nth-child(odd){border-radius:50%}.theme-birthday-party .confetti:nth-child(2n){border-radius:2px}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0) translate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg) translate(var(--confetti-drift, 50px));opacity:.5}}.theme-birthday-party .balloon{position:absolute;width:30px;height:40px;border-radius:50%/60% 60% 40% 40%;bottom:-50px;animation:balloon-float 15s ease-in-out infinite}.theme-birthday-party .balloon:after{content:"";position:absolute;bottom:-20px;left:50%;width:1px;height:20px;background:#0000004d;transform:translate(-50%)}@keyframes balloon-float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-100vh) rotate(5deg)}}.theme-anniversary .heart{position:absolute;color:#b76e79;font-size:1rem;bottom:-20px;animation:heart-float 8s ease-in-out infinite;opacity:.7}@keyframes heart-float{0%{transform:translateY(0) scale(1) rotate(0);opacity:.7}50%{opacity:1}to{transform:translateY(-100vh) scale(.5) rotate(15deg);opacity:0}}.theme-anniversary .champagne-bubble{position:absolute;width:6px;height:6px;background:radial-gradient(circle,rgba(255,215,0,.6) 0%,transparent 70%);border-radius:50%;bottom:0;animation:bubble-rise 4s ease-in infinite}@keyframes bubble-rise{0%{transform:translateY(0) scale(1);opacity:.8}to{transform:translateY(-100vh) scale(.3);opacity:0}}.theme-graduation .cap{position:absolute;font-size:1.5rem;bottom:20%;animation:cap-toss 3s ease-out infinite}@keyframes cap-toss{0%{transform:translateY(0) rotate(0);opacity:1}50%{transform:translateY(-150px) rotate(180deg)}to{transform:translateY(50px) rotate(360deg);opacity:0}}.theme-baby-shower .cloud{position:absolute;background:#fffc;border-radius:50px;animation:cloud-drift 30s linear infinite}.theme-baby-shower .cloud:before,.theme-baby-shower .cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}@keyframes cloud-drift{0%{transform:translate(-100px)}to{transform:translate(calc(100vw + 100px))}}.theme-baby-shower .floating-star{position:absolute;color:gold;font-size:.8rem;animation:star-twinkle 2s ease-in-out infinite}@keyframes star-twinkle{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.theme-black-tie .gold-shimmer{position:absolute;width:2px;height:100px;background:linear-gradient(180deg,transparent 0%,#D4AF37 50%,transparent 100%);animation:shimmer-fall 4s linear infinite;opacity:.5}@keyframes shimmer-fall{0%{transform:translateY(-100px) rotate(15deg);opacity:0}50%{opacity:.5}to{transform:translateY(100vh) rotate(15deg);opacity:0}}.theme-black-tie .elegant-glow{position:absolute;width:200px;height:200px;background:radial-gradient(circle,rgba(212,175,55,.1) 0%,transparent 70%);border-radius:50%;animation:elegant-pulse 4s ease-in-out infinite}@keyframes elegant-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.theme-vintage .film-grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)' opacity='0.1'/%3E%3C/svg%3E");opacity:.15;pointer-events:none;animation:grain-shift .5s steps(1) infinite}@keyframes grain-shift{0%,to{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px,-1px)}}.theme-vintage .vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.3) 100%);pointer-events:none}.theme-art-deco .ray-burst{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;height:300px;background:repeating-conic-gradient(from 0deg,transparent 0deg 10deg,rgba(212,175,55,.1) 10deg 20deg);clip-path:polygon(50% 0%,0% 100%,100% 100%);animation:ray-rotate 60s linear infinite}@keyframes ray-rotate{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}.theme-art-deco .geometric-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent 0%,#D4AF37 50%,transparent 100%);animation:line-glow 3s ease-in-out infinite}@keyframes line-glow{0%,to{opacity:.3}50%{opacity:.7}}.theme-minimalist-luxury .subtle-shadow{position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(0,0,0,.03) 0%,transparent 70%);border-radius:50%;animation:shadow-drift 20s ease-in-out infinite}@keyframes shadow-drift{0%,to{transform:translate(0)}50%{transform:translate(50px,30px)}}.theme-fiesta .papel-picado{position:absolute;top:0;width:100%;height:60px;background:repeating-linear-gradient(90deg,#ff1493 0px 40px,#ff8c00 40px 80px,#32cd32 80px 120px,gold 120px 160px);clip-path:polygon(0% 0%,5% 100%,10% 0%,15% 100%,20% 0%,25% 100%,30% 0%,35% 100%,40% 0%,45% 100%,50% 0%,55% 100%,60% 0%,65% 100%,70% 0%,75% 100%,80% 0%,85% 100%,90% 0%,95% 100%,100% 0%);animation:papel-sway 3s ease-in-out infinite}@keyframes papel-sway{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.theme-beach .wave{position:absolute;bottom:0;left:0;width:200%;height:100px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60 C300,120 600,0 900,60 C1200,120 1200,120 1200,120 L1200,120 L0,120 Z' fill='rgba(0,119,182,0.3)'/%3E%3C/svg%3E");background-size:50% 100%;animation:wave-motion 8s linear infinite}@keyframes wave-motion{0%{transform:translate(0)}to{transform:translate(-50%)}}.theme-beach .bubble{position:absolute;width:8px;height:8px;background:radial-gradient(circle,#fffc,#0077b64d);border-radius:50%;animation:ocean-bubble 5s ease-in infinite}@keyframes ocean-bubble{0%{transform:translateY(0) scale(1);opacity:.8}to{transform:translateY(-200px) scale(.5);opacity:0}}.theme-retro-80s .scan-line{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px);pointer-events:none;animation:scan-flicker .1s steps(1) infinite}@keyframes scan-flicker{0%,to{opacity:.5}50%{opacity:.3}}.theme-retro-80s .neon-glow{position:absolute;width:100px;height:100px;border-radius:50%;filter:blur(40px);animation:neon-pulse 2s ease-in-out infinite}.theme-retro-80s .neon-glow.pink{background:#f0f}.theme-retro-80s .neon-glow.cyan{background:#0ff}@keyframes neon-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.theme-retro-80s .grid-floor{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(90deg,rgba(255,0,255,.2) 1px,transparent 1px),linear-gradient(0deg,rgba(0,255,255,.2) 1px,transparent 1px);background-size:50px 50px;transform:perspective(500px) rotateX(60deg);transform-origin:bottom;animation:grid-scroll 2s linear infinite}@keyframes grid-scroll{0%{background-position:0 0}to{background-position:0 50px}}.theme-game-night .card-float{position:absolute;font-size:2rem;animation:card-float 10s ease-in-out infinite}@keyframes card-float{0%,to{transform:translateY(0) rotate(0);opacity:.5}50%{transform:translateY(-30px) rotate(10deg);opacity:.8}}.theme-game-night .chip-stack{position:absolute;width:30px;height:8px;background:linear-gradient(90deg,#c41e3a 0% 45%,#fff 45% 55%,#c41e3a 55%);border-radius:50%;box-shadow:0 -4px #c41e3a,0 -8px #c41e3a,0 -12px #c41e3a;animation:chip-glint 3s ease-in-out infinite}@keyframes chip-glint{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}@media(prefers-reduced-motion:reduce){.snowflake,.petal,.leaf,.confetti,.balloon,.heart,.champagne-bubble,.cap,.cloud,.gold-shimmer,.wave,.bubble,.neon-glow,.card-float,.frost-sparkle,.morning-dew,.heat-wave,.sun-ray,.firelight,.floating-star,.elegant-glow,.grain-shift,.ray-rotate,.chip-glint,.neon-pulse{animation:none!important}}:root{--primary-color: #6B4423;--primary-light: #8B6914;--primary-dark: #3D2914;--secondary-color: #7A8B6F;--secondary-light: #9AAF8F;--secondary-dark: #5D6B54;--accent-color: #B8956B;--accent-light: #C9A86C;--accent-dark: #8B7355;--cream: #F5EDE0;--cream-light: #FAF7F2;--tan: #E8DCC8;--text-dark: #3D2914;--text-medium: #5D4037;--text-light: #ffffff;--text-muted: rgba(61, 41, 20, .7);--bg-dark: #1a1a1a;--bg-light: #F5EDE0;--bg-cream: #FAF7F2}body{margin:0;font-family:Lora,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:var(--text-dark);background-color:var(--tan, #E8DCC8);min-height:100dvh}[data-theme=dark] body,body:has(.home-dark){background-color:#1a1a1a}h1{font-family:Marck Script,cursive;font-weight:400}.admin-dashboard,.admin-dashboard h1,.admin-login,.admin-login h1{font-family:Georgia,Times New Roman,serif}code{font-family:Courier New,monospace}#root{min-height:100dvh}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.theme-smoke-fire::-webkit-scrollbar-track,.theme-festive::-webkit-scrollbar-track,.theme-twilight::-webkit-scrollbar-track{background:#1a1a1a}.theme-smoke-fire::-webkit-scrollbar-thumb{background:#ff6b35}.theme-festive::-webkit-scrollbar-thumb{background:gold}.theme-twilight::-webkit-scrollbar-thumb{background:#6b5b95}::selection{background:#6b442340;color:inherit}::-moz-selection{background:#6b442340;color:inherit}html{scroll-behavior:smooth;background-color:var(--tan, #E8DCC8)}html[data-theme=dark]{background-color:#1a1a1a}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}a{color:var(--primary-color);transition:color .3s ease}a:hover{color:var(--primary-dark)}.skeleton{background:linear-gradient(90deg,#0000000f 25%,#0000001a,#0000000f 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite linear}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.event-card-skeleton{background:#fffc;border-radius:20px;padding:2rem;border:2px solid rgba(93,122,93,.1)}.event-card-skeleton.special{background:#e8dcc880}.event-card-skeleton .skeleton-details{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:1.25rem;background:#00000005;border-radius:14px}.table-row-skeleton td{padding:1rem}.admin-panel-skeleton{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 8px #0000001a}.admin-panel-skeleton .skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-panel-skeleton .skeleton-table{overflow-x:auto}.admin-panel-skeleton table{width:100%;border-collapse:collapse}.admin-panel-skeleton th,.admin-panel-skeleton td{padding:1rem;text-align:left;border-bottom:1px solid #f0f0f0}.admin-panel-skeleton th{background:#f9f9f9}.event-detail-skeleton{min-height:100vh;padding:2rem;background:linear-gradient(180deg,#f5f5f5,#e8e8e8)}.event-detail-skeleton .skeleton-nav{margin-bottom:2rem}.event-detail-skeleton .skeleton-header{text-align:center;max-width:900px;margin:0 auto 2rem}.event-detail-skeleton .skeleton-info-card{max-width:800px;margin:0 auto;background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 4px 20px #00000014}.event-detail-skeleton .skeleton-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem}.skeleton-dark .skeleton{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:#00000014}.skeleton-dark .skeleton{background:#ffffff14}}@media(max-width:768px){.event-card-skeleton{padding:1.5rem}.event-detail-skeleton .skeleton-grid{grid-template-columns:1fr}}.countdown-timer{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem}.countdown-timer.compact{gap:.5rem;padding:.5rem}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:60px}.compact .countdown-unit{min-width:45px}.countdown-digits{background:var(--theme-card-bg, rgba(255, 255, 255, .1));border-radius:8px;padding:.75rem 1rem;border:1px solid var(--theme-border, rgba(255, 255, 255, .2));position:relative;overflow:hidden;perspective:100px}.compact .countdown-digits{padding:.5rem .75rem;border-radius:6px}.countdown-digits.flipping .countdown-value{animation:digit-flip .4s ease-in-out}@keyframes digit-flip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}.countdown-value{display:block;font-family:Lora,serif;font-size:2rem;font-weight:700;color:var(--theme-text, #fff);line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.2)}.compact .countdown-value{font-size:1.25rem}.countdown-label{font-size:.75rem;color:var(--theme-text-muted, rgba(255, 255, 255, .7));text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.compact .countdown-label{font-size:.625rem;margin-top:.25rem}.countdown-unit:not(:last-child):after{content:":";position:absolute;right:-.6rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:700;color:var(--theme-text-muted, rgba(255, 255, 255, .5));opacity:0}.countdown-timer.imminent .countdown-digits{background:#ffc86426;border-color:#ffc8644d}.countdown-timer.imminent .countdown-value{color:var(--theme-accent, #ffa500)}.countdown-timer.very-soon .countdown-digits{background:#ff646426;border-color:#ff64644d;animation:pulse-urgent 1.5s ease-in-out infinite}.countdown-timer.very-soon .countdown-value{color:#ff6b6b}@keyframes pulse-urgent{0%,to{box-shadow:0 0 #ff646466}50%{box-shadow:0 0 0 8px transparent}}.countdown-expired{background:linear-gradient(135deg,#28a74533,#28a7451a);border-radius:12px;padding:1rem 2rem}.countdown-message{font-size:1.25rem;font-weight:600;color:#28a745;display:flex;align-items:center;gap:.5rem}.countdown-message:before{content:"";display:inline-block;width:10px;height:10px;background:#28a745;border-radius:50%;animation:live-pulse 1.5s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.countdown-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;background:var(--theme-card-bg, rgba(0, 0, 0, .3));color:var(--theme-text, #fff);font-size:.75rem;font-weight:600;border-radius:12px;border:1px solid var(--theme-border, rgba(255, 255, 255, .2))}.countdown-icon{flex-shrink:0;opacity:.9}.countdown-text{line-height:1;white-space:nowrap}.countdown-badge.imminent{background:#ffc86433;color:orange;border-color:#ffc8644d}.countdown-badge.very-soon{background:#ff646433;color:#ff6b6b;border-color:#ff64644d;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.countdown-badge.live{background:#28a74533;color:#28a745;border-color:#28a7454d}.live-dot{width:6px;height:6px;background:currentColor;border-radius:50%;animation:live-pulse 1.5s ease-in-out infinite}@media(max-width:480px){.countdown-timer{gap:.5rem}.countdown-unit{min-width:50px}.countdown-digits{padding:.5rem .75rem}.countdown-value{font-size:1.5rem}.countdown-label{font-size:.625rem}}@media(prefers-reduced-motion:reduce){.countdown-digits.flipping .countdown-value,.countdown-timer.very-soon .countdown-digits,.countdown-badge.very-soon,.countdown-message:before,.live-dot{animation:none}}.rsvp-counter{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--theme-card-bg, rgba(255, 255, 255, .1));border-radius:12px;border:1px solid var(--theme-border, rgba(255, 255, 255, .2))}.rsvp-counter.compact{padding:.5rem .75rem;gap:.5rem}.rsvp-count-display{display:flex;align-items:baseline;gap:.5rem}.rsvp-count-value{font-size:1.75rem;font-weight:700;color:var(--theme-text, #fff);line-height:1}.compact .rsvp-count-value{font-size:1.25rem}.rsvp-count-label{font-size:.875rem;color:var(--theme-text-muted, rgba(255, 255, 255, .7))}.compact .rsvp-count-label{font-size:.75rem}.rsvp-indicator{display:flex;align-items:center}.rsvp-dot{width:8px;height:8px;background:#28a745;border-radius:50%;animation:rsvp-pulse 2s ease-in-out infinite}@keyframes rsvp-pulse{0%,to{opacity:1;box-shadow:0 0 #28a74566}50%{opacity:.7;box-shadow:0 0 0 6px transparent}}.rsvp-counter.loading{min-width:120px}.rsvp-counter-skeleton{width:100%;height:28px;background:linear-gradient(90deg,var(--theme-card-bg, rgba(255, 255, 255, .1)) 0%,rgba(255,255,255,.2) 50%,var(--theme-card-bg, rgba(255, 255, 255, .1)) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rsvp-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--theme-card-bg, rgba(0, 0, 0, .3));color:var(--theme-text, #fff);font-size:.75rem;font-weight:600;border-radius:12px;border:1px solid var(--theme-border, rgba(255, 255, 255, .2))}.rsvp-badge-icon{width:14px;height:14px}.rsvp-progress{display:flex;flex-direction:column;gap:.5rem;width:100%}.rsvp-progress-header{display:flex;justify-content:space-between;align-items:baseline}.rsvp-progress-count{font-size:.875rem;font-weight:600;color:var(--theme-text, #fff)}.rsvp-progress-label{font-size:.75rem;color:var(--theme-text-muted, rgba(255, 255, 255, .7))}.rsvp-progress-bar{height:6px;background:var(--theme-border, rgba(255, 255, 255, .2));border-radius:3px;overflow:hidden}.rsvp-progress-fill{height:100%;background:var(--theme-primary, #ff6b35);border-radius:3px;transition:width .5s ease-out}.rsvp-progress-fill.near-capacity{background:#ffc107}.rsvp-progress-fill.at-capacity{background:#dc3545}.rsvp-progress-message{font-size:.75rem;color:#dc3545;font-weight:500;text-align:center}@media(max-width:480px){.rsvp-counter{padding:.5rem .75rem}.rsvp-count-value{font-size:1.5rem}.rsvp-count-label{font-size:.75rem}}@media(prefers-reduced-motion:reduce){.rsvp-dot,.rsvp-counter-skeleton{animation:none}.rsvp-dot{opacity:1}}.home{--home-cream: #F5EDE0;--home-cream-light: #FAF7F2;--home-tan: #E8DCC8;--home-brown: #6B4423;--home-brown-dark: #3D2914;--home-brown-light: #8B6914;--home-sage: #5D7A5D;--home-sage-light: #7A9B7A;--home-sage-dark: #4A6741;--home-gold: #B8956B;--home-gold-muted: #C9A86C;--home-forest: #2D4A2D}.home{min-height:100dvh;background-color:#b8956b2e;color:var(--home-brown-dark);display:flex;flex-direction:column;position:relative;overflow-x:hidden}.home:before{content:"";position:fixed;top:calc(-1*env(safe-area-inset-top,0px));left:0;right:0;bottom:calc(-1*env(safe-area-inset-bottom,0px));background:radial-gradient(ellipse at center,transparent 30%,rgba(93,122,93,.08) 100%),linear-gradient(160deg,#e8dcc8,#f5ede0,#e8f0e0,#f0f5e8,#e8dcc8,#dfe8d5);background-size:100% 100%,400% 400%;animation:breathingGradient 25s ease-in-out infinite;z-index:0;pointer-events:none}@keyframes breathingGradient{0%,to{background-position:0 0,0% 0%,0% 50%}50%{background-position:0 0,0% 0%,100% 50%}}.home:after{content:"";position:fixed;top:calc(-1*env(safe-area-inset-top,0px));left:0;right:0;bottom:calc(-1*env(safe-area-inset-bottom,0px));background-image:radial-gradient(circle at 15% 25%,rgba(184,149,107,.4) 0%,transparent 1.5%),radial-gradient(circle at 85% 15%,rgba(122,155,122,.35) 0%,transparent 1.2%),radial-gradient(circle at 25% 65%,rgba(184,149,107,.3) 0%,transparent 1%),radial-gradient(circle at 75% 75%,rgba(122,155,122,.4) 0%,transparent 1.3%),radial-gradient(circle at 45% 35%,rgba(201,168,108,.35) 0%,transparent 1.1%),radial-gradient(circle at 65% 55%,rgba(93,122,93,.3) 0%,transparent 1%),radial-gradient(circle at 10% 85%,rgba(184,149,107,.25) 0%,transparent .8%),radial-gradient(circle at 90% 45%,rgba(122,155,122,.3) 0%,transparent 1%),radial-gradient(circle at 35% 90%,rgba(122,155,122,.35) 0%,transparent 1.2%),radial-gradient(circle at 55% 10%,rgba(184,149,107,.3) 0%,transparent 1%);animation:floatingParticles 20s ease-in-out infinite;z-index:0;pointer-events:none}@keyframes floatingParticles{0%,to{transform:translateY(0) translate(0);opacity:.7}25%{transform:translateY(-20px) translate(15px);opacity:.9}50%{transform:translateY(-10px) translate(-10px);opacity:.8}75%{transform:translateY(-25px) translate(5px);opacity:1}}.home-content{flex:1;position:relative;z-index:1}.home-content:after{content:"";position:fixed;width:500px;height:500px;background:radial-gradient(circle at 20% 30%,rgba(122,155,122,.2) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(184,149,107,.18) 0%,transparent 50%);inset:0;width:100%;height:100%;filter:blur(60px);animation:driftOrbs 30s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes driftOrbs{0%,to{background-position:0% 0%;opacity:.6}33%{background-position:5% 3%;opacity:.8}66%{background-position:-3% 5%;opacity:.5}}.home-header{text-align:center;padding:3.5rem 2rem 2.5rem;position:relative;z-index:2}.home-header h1{font-family:Marck Script,cursive;font-size:4rem;margin-bottom:1rem;color:var(--home-brown);font-weight:400;letter-spacing:.02em;text-shadow:2px 2px 4px rgba(61,41,20,.15);animation:titleFloat 1s ease-out,titleGlow 8s ease-in-out infinite 1s}@keyframes titleFloat{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes titleGlow{0%,to{text-shadow:2px 2px 4px rgba(61,41,20,.15)}50%{text-shadow:2px 2px 4px rgba(61,41,20,.15),0 0 30px rgba(122,155,122,.15)}}.home-header .subtitle{font-family:Lora,serif;font-size:1.3rem;color:var(--home-brown-dark);max-width:600px;margin:0 auto;font-weight:400;font-style:italic;opacity:.85;animation:fadeInUp 1s ease-out .3s backwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.home-header-flourish{display:flex;justify-content:center;margin-top:1.5rem;opacity:.6;color:var(--home-sage);animation:gentleSway 6s ease-in-out infinite}@keyframes gentleSway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.events-section{max-width:1200px;margin:0 auto;padding:2rem 2rem 3rem;position:relative;z-index:2}.section-title{font-family:Lora,serif;font-size:2rem;color:var(--home-brown);text-align:center;margin-bottom:2.5rem;font-weight:500;letter-spacing:.03em;position:relative;padding-bottom:1rem}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:120px;height:3px;background:linear-gradient(90deg,transparent,var(--home-sage),var(--home-gold),var(--home-sage),transparent);border-radius:2px;animation:shimmerLine 5s ease-in-out infinite}@keyframes shimmerLine{0%,to{opacity:.5;width:100px}50%{opacity:1;width:140px}}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem}.no-events{text-align:center;padding:4rem 2rem;color:var(--home-brown);font-size:1.2rem;opacity:.7}.event-card-link{text-decoration:none;color:inherit;display:block}.event-card{background:linear-gradient(145deg,var(--home-cream-light) 0%,var(--home-cream) 50%,rgba(223,232,213,.5) 100%);border-radius:20px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid rgba(93,122,93,.15);position:relative;overflow:hidden;box-shadow:0 4px 20px #5d7a5d14,0 1px 3px #6b44230d,inset 0 1px #ffffff80;animation:cardEntrance .8s ease-out backwards}.event-card:nth-child(1){animation-delay:.1s}.event-card:nth-child(2){animation-delay:.25s}.event-card:nth-child(3){animation-delay:.4s}.event-card:nth-child(4){animation-delay:.55s}@keyframes cardEntrance{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.event-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:linear-gradient(135deg,transparent 50%,rgba(93,122,93,.08) 50%);border-radius:0 20px 0 0;transition:all .4s ease}.event-card:after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--home-sage),var(--home-gold),var(--home-sage));opacity:.7;transition:opacity .4s ease}.event-card:hover{transform:translateY(-10px);border-color:#5d7a5d4d;box-shadow:0 20px 50px #5d7a5d26,0 8px 20px #6b442314,inset 0 1px #fff9}.event-card:hover:before{width:100px;height:100px;background:linear-gradient(135deg,transparent 50%,rgba(93,122,93,.12) 50%)}.event-card:hover:after{opacity:1}.event-card h2{font-family:Lora,serif;font-size:1.9rem;margin-bottom:.5rem;color:var(--home-brown);font-weight:600;transition:color .3s ease}.event-card:hover h2{color:var(--home-sage-dark)}.event-card .event-subtitle{font-style:italic;color:var(--home-sage);margin-bottom:1rem;font-size:1rem}.event-card .event-description{font-size:1.05rem;margin-bottom:1.5rem;color:var(--home-brown-dark);opacity:.85;line-height:1.7}.event-details{margin:1.5rem 0;padding:1.25rem;background:linear-gradient(135deg,#5d7a5d0f,#b8956b0a);border-radius:14px;border-left:4px solid var(--home-sage);position:relative}.event-details:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(93,122,93,.03),transparent);border-radius:14px;pointer-events:none}.event-details p{margin:.4rem 0;font-size:.95rem;color:var(--home-brown-dark);position:relative}.event-date{font-weight:600;font-size:1.1rem!important;color:var(--home-brown)!important}.event-cta{margin-top:1.5rem;text-align:center}.event-cta .btn-primary{background:linear-gradient(135deg,var(--home-brown) 0%,var(--home-sage-dark) 100%);color:var(--home-cream-light);padding:.9rem 2.2rem;border-radius:10px;font-weight:500;font-family:Lora,serif;font-size:1.05rem;transition:all .3s ease;box-shadow:0 4px 15px #5d7a5d40;position:relative;overflow:hidden;border:none;cursor:pointer}.event-cta .btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.event-cta .btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #5d7a5d59}.event-cta .btn-primary:hover:before{left:100%}.special-events-section{background:linear-gradient(180deg,transparent 0%,rgba(184,149,107,.06) 30%,rgba(122,155,122,.04) 70%,transparent 100%);padding-top:3rem;margin-top:1rem;position:relative}.special-events-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--home-gold),transparent)}.special-title:after{background:linear-gradient(90deg,transparent,var(--home-gold),var(--home-sage),var(--home-gold),transparent)!important}.special-event-card{background:linear-gradient(145deg,var(--home-cream-light) 0%,var(--home-tan) 50%,rgba(232,220,200,.8) 100%);border-color:#b8956b40}.special-event-card:after{background:linear-gradient(90deg,var(--home-gold),var(--home-brown-light),var(--home-gold))!important}.special-event-card h2{color:var(--home-brown)}.special-event-card .event-details{border-left-color:var(--home-gold);background:linear-gradient(135deg,#b8956b14,#c9a86c0a)}.special-event-card .btn-primary{background:linear-gradient(135deg,var(--home-gold) 0%,var(--home-brown) 100%)}.home-footer{text-align:center;padding:3rem 2rem 2rem;background:linear-gradient(180deg,transparent,rgba(93,122,93,.05));color:var(--home-brown);margin-top:auto;position:relative;z-index:2}.home-footer p{margin:.5rem 0;opacity:.7}.admin-link{color:var(--home-sage);text-decoration:none;transition:all .3s ease;position:relative;font-weight:500}.admin-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--home-sage),var(--home-gold));transition:width .3s ease}.admin-link:hover{color:var(--home-brown)}.admin-link:hover:after{width:100%}.footer-divider{width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--home-sage),var(--home-gold),var(--home-sage),transparent);margin:1.5rem auto;opacity:.4}.created-by{font-size:.9rem;opacity:.6}.created-by a{color:var(--home-sage);text-decoration:none;font-weight:500;transition:color .3s ease}.created-by a:hover{color:var(--home-brown)}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.3rem;color:var(--home-brown);font-family:Lora,serif}.error{text-align:center;padding:3rem;color:#8b4513;background:#8b45131a;border-radius:12px;margin:2rem}@media(max-width:768px){.home-header h1{font-size:2.8rem}.home-header .subtitle{font-size:1.1rem}.events-section{padding:1.5rem 1rem 2rem}.section-title{font-size:1.6rem}.events-grid{grid-template-columns:1fr;gap:1.5rem}.event-card{padding:1.5rem;border-radius:16px}.event-card h2{font-size:1.5rem}.home:after{animation-duration:30s}.home-content:before,.home-content:after{opacity:.3;animation-duration:40s}}.dark-mode-toggle{position:fixed;top:20px;right:20px;z-index:100;width:44px;height:44px;border-radius:50%;border:2px solid var(--home-sage);background:var(--home-cream-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.dark-mode-toggle svg{width:22px;height:22px;color:var(--home-brown);transition:transform .3s ease}.dark-mode-toggle:hover{transform:scale(1.1);box-shadow:0 4px 15px #00000026}.dark-mode-toggle:hover svg{transform:rotate(15deg)}.empty-state{text-align:center;padding:4rem 2rem;max-width:500px;margin:2rem auto;background:var(--home-cream-light);border-radius:20px;border:2px solid rgba(93,122,93,.15);box-shadow:0 4px 20px #0000000d}.empty-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--home-sage);opacity:.7}.empty-icon svg{width:100%;height:100%}.empty-state h2{font-family:Lora,serif;font-size:1.5rem;color:var(--home-brown);margin-bottom:.75rem}.empty-state p{color:var(--home-brown-dark);opacity:.8;line-height:1.6}.error-state{text-align:center;padding:4rem 2rem;max-width:500px;margin:4rem auto;background:var(--home-cream-light);border-radius:20px;border:2px solid rgba(220,53,69,.2);box-shadow:0 4px 20px #0000000d}.error-state .error-icon{width:70px;height:70px;margin:0 auto 1.5rem;color:#dc3545}.error-state .error-icon svg{width:100%;height:100%}.error-state h2{font-family:Lora,serif;font-size:1.5rem;color:var(--home-brown);margin-bottom:.75rem}.error-state p{color:var(--home-brown-dark);opacity:.8;margin-bottom:1.5rem}.error-state .btn-primary{background:linear-gradient(135deg,var(--home-brown) 0%,var(--home-sage-dark) 100%);color:#fff;border:none;padding:.75rem 2rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.error-state .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #5d7a5d4d}.home-dark{--home-cream: #1a1a1a;--home-cream-light: #252525;--home-tan: #2d2d2d;--home-brown: #c9a86c;--home-brown-dark: #e0d0b0;--home-brown-light: #d4b87a;--home-sage: #7A9B7A;--home-sage-light: #8FB08F;--home-sage-dark: #6B8E6B;--home-gold: #C9A86C;--home-gold-muted: #B8956B;--home-forest: #4A6741}.home-dark:before{background:radial-gradient(ellipse at center,transparent 30%,rgba(93,122,93,.08) 100%),linear-gradient(160deg,#1a1a1a,#252525,#1f2818,#2d2d2d,#1a1a1a,#1f2818)}.home-dark .event-card{background:linear-gradient(145deg,#2d2d2d,#252525,#2d2d28f2);border-color:#7a9b7a33;color:#e0d0b0}.home-dark .event-card h2{color:var(--home-gold)}.home-dark .event-card .event-description{color:#e0d0b0d9}.home-dark .event-card:hover{border-color:#7a9b7a66;box-shadow:0 20px 50px #0006,0 8px 20px #0000004d}.home-dark .dark-mode-toggle{background:#2d2d2d;border-color:var(--home-sage)}.home-dark .dark-mode-toggle svg{color:var(--home-gold)}.home-dark .empty-state,.home-dark .error-state{background:#252525;border-color:#7a9b7a33}.home-dark .home-footer{background:linear-gradient(180deg,transparent,rgba(0,0,0,.3))}.event-card-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.theme-badge{display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;width:32px;height:32px;background:#0000001a;border-radius:50%}.home-dark .theme-badge{background:#ffffff1a}.event-card .countdown-badge,.event-card .rsvp-badge{background:#0000001a;color:var(--home-brown, #5D4037);border-color:#00000026;font-size:.7rem;padding:.2rem .4rem}.home-dark .event-card .countdown-badge,.home-dark .event-card .rsvp-badge{background:#ffffff1a;color:var(--home-gold, #B8956B);border-color:#ffffff26}.event-card .countdown-badge.imminent{background:#ffc86433;color:#b8860b}.event-card .countdown-badge.very-soon{background:#ff646433;color:#c0392b}.event-card .countdown-badge.live{background:#28a74533;color:#28a745}.event-card{--card-accent: var(--home-sage, #7A8B6F);--card-accent-light: var(--home-gold, #B8956B);border-left:4px solid var(--card-accent)}.event-card:hover{border-left-color:var(--card-accent-light)}@media(prefers-reduced-motion:reduce){.home:before,.home:after,.home-content:after,.event-card,.section-title:after,.home-header h1,.home-header:after{animation:none}.event-card{transition:transform .2s ease,box-shadow .2s ease}.dark-mode-toggle,.dark-mode-toggle svg{transition:none}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none;max-width:400px}.toast{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;box-shadow:0 8px 30px #00000026,0 4px 12px #0000001a;pointer-events:auto;animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.95rem;line-height:1.4}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.toast-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;font-weight:700}.toast-message{flex:1;font-weight:500}.toast-close{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0000001a;border:none;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;color:inherit;opacity:.7;transition:all .2s ease}.toast-close:hover{opacity:1;background:#0003}.toast-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left:4px solid #28a745;color:#155724}.toast-success .toast-icon{background:#28a745;color:#fff}.toast-error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-left:4px solid #dc3545;color:#721c24}.toast-error .toast-icon{background:#dc3545;color:#fff}.toast-warning{background:linear-gradient(135deg,#fff3cd,#ffeeba);border-left:4px solid #ffc107;color:#856404}.toast-warning .toast-icon{background:#ffc107;color:#856404}.toast-info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border-left:4px solid #17a2b8;color:#0c5460}.toast-info .toast-icon{background:#17a2b8;color:#fff}@media(max-width:480px){.toast-container{inset:auto 10px 20px;max-width:none}.toast{padding:12px 14px;font-size:.9rem}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.rsvp-form-container{background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:2.5rem;border:1px solid rgba(255,255,255,.1)}.theme-parchment .rsvp-form-container,.theme-garden .rsvp-form-container{background:#ffffffd9;border-color:#0000001a}.rsvp-form{max-width:100%}.rsvp-form .form-group{margin-bottom:1.5rem}.rsvp-form label{display:block;margin-bottom:.5rem;font-weight:600;color:#ffffffe6;font-size:1rem}.theme-parchment .rsvp-form label,.theme-garden .rsvp-form label{color:var(--theme-text, #3D2914)}.rsvp-form input,.rsvp-form textarea,.rsvp-form select{width:100%;padding:.9rem;border:2px solid rgba(255,255,255,.2);border-radius:10px;font-size:1rem;font-family:inherit;background:#ffffff1a;color:#fff;transition:all .3s ease}.theme-parchment .rsvp-form input,.theme-parchment .rsvp-form textarea,.theme-parchment .rsvp-form select,.theme-garden .rsvp-form input,.theme-garden .rsvp-form textarea,.theme-garden .rsvp-form select{background:#ffffffe6;border-color:#00000026;color:var(--theme-text, #3D2914)}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#ffffff80}.theme-parchment .rsvp-form input::placeholder,.theme-parchment .rsvp-form textarea::placeholder,.theme-garden .rsvp-form input::placeholder,.theme-garden .rsvp-form textarea::placeholder{color:#0006}.rsvp-form input:focus,.rsvp-form textarea:focus,.rsvp-form select:focus{outline:none;border-color:var(--theme-primary, #ff6b35);background:#ffffff26;box-shadow:0 0 0 3px #ffffff1a}.theme-parchment .rsvp-form input:focus,.theme-parchment .rsvp-form textarea:focus,.theme-parchment .rsvp-form select:focus,.theme-garden .rsvp-form input:focus,.theme-garden .rsvp-form textarea:focus,.theme-garden .rsvp-form select:focus{border-color:var(--theme-primary, #8B4513);background:#fff;box-shadow:0 0 0 3px #8b45131a}.rsvp-form input:disabled,.rsvp-form textarea:disabled,.rsvp-form select:disabled{opacity:.6;cursor:not-allowed}.rsvp-form textarea{min-height:100px;resize:vertical}.rsvp-form .btn{width:100%;padding:1rem;font-size:1.1rem;margin-top:1rem;background:linear-gradient(135deg,var(--theme-primary, #ff6b35),var(--theme-secondary, #cc0000));border:none;color:#fff;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.rsvp-form .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.rsvp-form .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.theme-parchment .rsvp-form .btn,.theme-garden .rsvp-form .btn{color:var(--cream-light, #FAF7F2)}.email-suggestion{margin-top:.5rem;padding:.5rem .75rem;background:#2196f326;border-radius:8px;font-size:.9rem;color:#64b5f6}.theme-parchment .email-suggestion,.theme-garden .email-suggestion{background:#2196f31a;color:#1976d2}.email-suggestion button{background:none;border:none;color:#2196f3;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.email-suggestion button:hover{color:#1976d2}.guest-stepper{display:flex;align-items:center;gap:0}.stepper-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;background:#ffffff26;border:2px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;transition:all .2s ease}.stepper-btn:first-child{border-radius:10px 0 0 10px;border-right:none}.stepper-btn:last-child{border-radius:0 10px 10px 0;border-left:none}.stepper-btn:hover:not(:disabled){background:#ffffff40}.stepper-btn:disabled{opacity:.4;cursor:not-allowed}.stepper-input{width:80px!important;text-align:center;border-radius:0!important;font-size:1.2rem!important;font-weight:600;-moz-appearance:textfield}.stepper-input::-webkit-outer-spin-button,.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.theme-parchment .stepper-btn,.theme-garden .stepper-btn{background:#0000000d;border-color:#00000026;color:var(--theme-text, #3D2914)}.theme-parchment .stepper-btn:hover:not(:disabled),.theme-garden .stepper-btn:hover:not(:disabled){background:#0000001a}.form-error{display:block;margin-top:.5rem;color:#f44336;font-size:.875rem;font-weight:500}.hp-field{position:absolute;left:-9999px;top:-9999px;opacity:0;pointer-events:none;height:0;overflow:hidden}@media(max-width:768px){.rsvp-form-container{padding:1.75rem;border-radius:14px}.guest-stepper{width:100%}.stepper-btn{flex:0 0 48px}.stepper-input{flex:1;width:auto!important}}.subscribe-form-container{background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:2.5rem;border:1px solid rgba(255,255,255,.1)}.theme-parchment .subscribe-form-container,.theme-garden .subscribe-form-container{background:#ffffffd9;border-color:#0000001a}.subscribe-form{max-width:100%}.status-message{padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;text-align:center;font-weight:600;font-size:1rem}.status-message.success{background:#4caf5026;border:2px solid #4caf50;color:#4caf50}.status-message.error{background:#f4433626;border:2px solid #f44336;color:#f44336}.subscribe-form .form-group{margin-bottom:1.5rem}.subscribe-form label{display:block;margin-bottom:.5rem;font-weight:600;color:#ffffffe6;font-size:1rem}.theme-parchment .subscribe-form label,.theme-garden .subscribe-form label{color:var(--theme-text, #3D2914)}.subscribe-form input,.subscribe-form select{width:100%;padding:.9rem;border:2px solid rgba(255,255,255,.2);border-radius:10px;font-size:1rem;font-family:inherit;background:#ffffff1a;color:#fff;transition:all .3s ease}.theme-parchment .subscribe-form input,.theme-parchment .subscribe-form select,.theme-garden .subscribe-form input,.theme-garden .subscribe-form select{background:#ffffffe6;border-color:#00000026;color:var(--theme-text, #3D2914)}.subscribe-form select{cursor:pointer}.subscribe-form select option{background:#1a1a1a;color:#fff}.theme-parchment .subscribe-form select option,.theme-garden .subscribe-form select option{background:#fff;color:#3d2914}.subscribe-form input::placeholder{color:#ffffff80}.theme-parchment .subscribe-form input::placeholder,.theme-garden .subscribe-form input::placeholder{color:#0006}.subscribe-form input:focus,.subscribe-form select:focus{outline:none;border-color:var(--theme-primary, #8B4513);background:#ffffff26;box-shadow:0 0 0 3px #ffffff1a}.theme-parchment .subscribe-form input:focus,.theme-parchment .subscribe-form select:focus,.theme-garden .subscribe-form input:focus,.theme-garden .subscribe-form select:focus{border-color:var(--theme-primary, #8B4513);background:#fff;box-shadow:0 0 0 3px #8b45131a}.subscribe-form input:disabled,.subscribe-form select:disabled{opacity:.6;cursor:not-allowed}.form-hint{display:block;margin-top:.5rem;font-size:.875rem;color:#fff9;font-style:italic}.theme-parchment .form-hint,.theme-garden .form-hint{color:#00000080}.subscribe-form .btn{width:100%;padding:1rem;font-size:1.1rem;margin-top:1rem;background:linear-gradient(135deg,var(--theme-primary, #8B4513),var(--theme-secondary, #5D4037));border:none;color:#fff;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.subscribe-form .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.subscribe-form .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.theme-parchment .subscribe-form .btn,.theme-garden .subscribe-form .btn{color:var(--cream-light, #FAF7F2)}@media(max-width:768px){.subscribe-form-container{padding:1.75rem;border-radius:14px}}.share-card-container{display:none}.share-card-container.visible{display:block;position:absolute;top:-9999px;left:-9999px;visibility:visible;z-index:-1}.share-card{width:1080px;height:1920px;padding:120px 80px;background-color:var(--bg-cream);color:var(--text-dark);font-family:Lora,serif;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.share-card h1{font-family:Marck Script,cursive;font-size:8rem;margin-bottom:60px;line-height:1.1;margin-top:40px}.share-card .card-quote{font-style:italic;font-size:2rem;margin-bottom:80px;max-width:90%;opacity:.9;line-height:1.4}.share-card .card-description{font-size:1.8rem;margin-bottom:80px;line-height:1.6;max-width:90%}.card-details-box{width:100%;border:3px solid currentColor;border-radius:30px;padding:60px;margin-top:auto;margin-bottom:60px;background-color:#ffffff0d}.card-details-box h2{font-family:Lora,serif;font-size:3.5rem;margin-bottom:50px;font-weight:700}.card-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;text-align:left;margin-bottom:50px}.card-info-item{display:flex;flex-direction:column}.card-info-label{font-size:1.4rem;text-transform:uppercase;letter-spacing:4px;opacity:.8;margin-bottom:12px;font-weight:700}.card-info-value{font-size:2rem;font-weight:500}.card-info-item.full-width{grid-column:1 / -1}.card-features{text-align:left;margin-top:50px;width:100%;border-top:2px solid rgba(255,255,255,.2);padding-top:40px}.card-features h3{font-family:Lora,serif;font-size:2.2rem;margin-bottom:25px}.card-features ul{list-style:none;padding:0}.card-features li{margin-bottom:20px;display:flex;align-items:center;gap:20px;font-size:1.8rem}.check-icon{color:#4caf50;font-size:2rem}.share-card.theme-smoke-fire{background:radial-gradient(circle at center,#1a0500,#000);color:#fff}.share-card.theme-smoke-fire h1{color:#ff6b35;text-shadow:0 0 20px rgba(255,107,53,.4)}.share-card.theme-smoke-fire .card-quote{color:#e0e0e0}.share-card.theme-smoke-fire .card-details-box{border-color:#fff3;background:#0006;box-shadow:0 0 30px #00000080}.share-card.theme-smoke-fire:before{content:"";position:absolute;top:-10%;left:-10%;width:120%;height:50%;background:radial-gradient(circle,rgba(255,80,0,.1) 0%,transparent 60%);z-index:0;pointer-events:none}.share-card.theme-parchment{background-color:#f0e6d2;color:#3e2723;background-image:radial-gradient(circle,#f7f0e4,#f0e6d2)}.share-card.theme-parchment .card-details-box{border-color:#5d4037;background-color:#fff6}.share-card.theme-parchment h1{color:#3e2723}.share-card.theme-festive{background:linear-gradient(135deg,#1a472a,#0f2b19);color:#fff}.share-card.theme-festive h1{color:gold;text-shadow:0 0 20px rgba(255,215,0,.4)}.share-card.theme-festive .card-details-box{border-color:#ffd7004d}.event-detail{min-height:100dvh;position:relative;padding-bottom:calc(4rem + env(safe-area-inset-bottom));transition:background .5s ease}.animated-background{position:fixed;top:calc(-1*env(safe-area-inset-top,0px));left:0;right:0;bottom:calc(-1*env(safe-area-inset-bottom,0px));z-index:0;overflow:hidden;pointer-events:none}.theme-smoke-fire{background-color:#0a0a0a;color:#fff}.theme-smoke-fire .animated-background{background:linear-gradient(180deg,#0a0a0a,#1a0a0a,#2d1010)}.theme-smoke-fire .event-title{color:#ff6b35;text-shadow:0 0 30px rgba(255,107,53,.4),2px 2px 10px rgba(0,0,0,.5)}.theme-smoke-fire .event-info-card{background:#140a0ad9;border-color:#ff6b3533}.theme-smoke-fire .btn-primary{background:linear-gradient(135deg,#ff6b35,#c00)}.smoke{position:absolute;background:radial-gradient(ellipse at center,rgba(255,255,255,.12) 0%,rgba(150,150,150,.06) 30%,transparent 70%);border-radius:50%;filter:blur(50px);animation:smokeDrift 25s infinite ease-in-out}.smoke-1{width:350px;height:350px;top:5%;left:5%;animation-delay:0s}.smoke-2{width:450px;height:450px;top:40%;right:10%;animation-delay:8s}.smoke-3{width:300px;height:300px;bottom:15%;left:25%;animation-delay:16s}@keyframes smokeDrift{0%,to{transform:translate(0) scale(1);opacity:.25}25%{transform:translate(40px,-60px) scale(1.15);opacity:.4}50%{transform:translate(20px,-100px) scale(1.05);opacity:.35}75%{transform:translate(-30px,-70px) scale(.95);opacity:.3}}.ember{position:absolute;width:4px;height:4px;background:#ff6b35;border-radius:50%;box-shadow:0 0 8px #ff6b35,0 0 16px #ff4500,0 0 24px #ff450099;animation:emberRise 10s infinite ease-out,emberWaver 2s infinite ease-in-out,emberFlicker .15s infinite ease-in-out}.ember-1{bottom:2%;left:8%;animation-delay:0s,0s,0s;animation-duration:10s,1.8s,.12s}.ember-2{bottom:5%;left:18%;animation-delay:1.5s,.3s,.05s;animation-duration:12s,2.2s,.18s}.ember-3{bottom:3%;left:28%;animation-delay:3s,.7s,.02s;animation-duration:11s,1.9s,.14s}.ember-4{bottom:4%;left:38%;animation-delay:.8s,.1s,.08s;animation-duration:13s,2.4s,.16s}.ember-5{bottom:2%;left:48%;animation-delay:2.2s,.5s,.03s;animation-duration:10s,1.7s,.13s}.ember-6{bottom:6%;left:58%;animation-delay:4s,.2s,.07s;animation-duration:14s,2.6s,.19s}.ember-7{bottom:3%;left:68%;animation-delay:1s,.8s,.01s;animation-duration:11s,2s,.11s}.ember-8{bottom:5%;left:78%;animation-delay:2.8s,.4s,.06s;animation-duration:12s,2.3s,.17s}.ember-9{bottom:2%;left:88%;animation-delay:.5s,.6s,.04s;animation-duration:10s,1.8s,.15s}.ember-10{bottom:4%;left:12%;animation-delay:5s,.9s,.09s;animation-duration:13s,2.1s,.12s}.ember-11{bottom:3%;left:32%;animation-delay:6s,.2s,.02s;animation-duration:11s,2.5s,.14s}.ember-12{bottom:5%;left:52%;animation-delay:7s,.7s,.06s;animation-duration:12s,1.9s,.18s}.ember-large{position:absolute;width:6px;height:6px;background:orange;border-radius:50%;box-shadow:0 0 12px orange,0 0 24px #ff6b35,0 0 36px #ff6b35b3;animation:emberRiseLarge 15s infinite ease-out,emberWaverLarge 3s infinite ease-in-out,emberFlickerLarge .2s infinite ease-in-out}.ember-large-1{bottom:3%;left:25%;animation-delay:0s,0s,0s}.ember-large-2{bottom:4%;left:55%;animation-delay:5s,1s,.1s}.ember-large-3{bottom:2%;left:75%;animation-delay:10s,.5s,.05s}@keyframes emberRise{0%{transform:translateY(0) scale(1);opacity:.9}10%{opacity:1}to{transform:translateY(-120dvh) scale(.3);opacity:0}}@keyframes emberWaver{0%,to{margin-left:0}25%{margin-left:15px}50%{margin-left:0}75%{margin-left:-15px}}@keyframes emberRiseLarge{0%{transform:translateY(0) scale(1);opacity:.8}15%{opacity:1}to{transform:translateY(-120dvh) scale(.4);opacity:0}}@keyframes emberWaverLarge{0%,to{margin-left:0}25%{margin-left:25px}50%{margin-left:0}75%{margin-left:-25px}}@keyframes emberFlicker{0%,to{filter:brightness(1);box-shadow:0 0 8px #ff6b35,0 0 16px #ff4500,0 0 24px #ff450099}50%{filter:brightness(1.3);box-shadow:0 0 10px #ff8c00,0 0 20px #ff6b35,0 0 30px #ff4500cc}}@keyframes emberFlickerLarge{0%,to{filter:brightness(1);box-shadow:0 0 12px orange,0 0 24px #ff6b35,0 0 36px #ff6b35b3}50%{filter:brightness(1.4);box-shadow:0 0 16px #ffb733,0 0 32px orange,0 0 48px #ff6b35e6}}.theme-smoke-fire:before{content:"";position:fixed;bottom:calc(-1*env(safe-area-inset-bottom,0px));left:0;right:0;height:calc(200px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,rgba(204,0,0,.15),transparent);animation:edgeGlow 6s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes edgeGlow{0%,to{opacity:.4}50%{opacity:.7}}.theme-parchment{background-color:#f5e6d3;color:#3d2914}.theme-parchment .animated-background{background:linear-gradient(180deg,#f5e6d3,#e8d5c4,#dec9b3)}.theme-parchment .event-title{color:#8b4513;text-shadow:1px 1px 2px rgba(61,41,20,.2)}.theme-parchment .event-subtitle-text{color:#6b4423}.theme-parchment .event-info-card{background:#fffaf0eb;border-color:#8b451333;box-shadow:0 4px 30px #8b45131a}.theme-parchment .event-info-card h2{color:#5d4037}.theme-parchment .info-label{color:#8b6914}.theme-parchment .event-features li:before{color:#8b4513}.theme-parchment .btn-primary{background:linear-gradient(135deg,#8b4513,#5d4037);color:#faf8f5}.theme-parchment .back-link{color:#8b4513}.warmth-glow{position:absolute;background:radial-gradient(ellipse at center,rgba(218,165,32,.12) 0%,rgba(184,149,107,.08) 40%,transparent 70%);border-radius:50%;filter:blur(80px);animation:warmthPulse 10s infinite ease-in-out}.glow-1{width:500px;height:500px;top:15%;left:15%;animation-delay:0s}.glow-2{width:600px;height:600px;bottom:10%;right:5%;animation-delay:5s}@keyframes warmthPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.75}}.theme-parchment .event-info-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#daa5201a,#ffdf960d,#daa5201a);border-radius:inherit;z-index:-1;animation:candleFlicker 4s ease-in-out infinite}@keyframes candleFlicker{0%,to{opacity:.3}25%{opacity:.5}50%{opacity:.35}75%{opacity:.55}}.theme-festive{background-color:#0f1f0f;color:#fff}.theme-festive .animated-background{background:linear-gradient(180deg,#0f1f0f,#1a2f1a,#1f2818 30%,#2d1f1a,#2a1515 70%,#1f0f0f)}.theme-festive .event-title{color:gold;text-shadow:0 0 20px rgba(255,215,0,.4),0 0 40px rgba(255,215,0,.2),2px 2px 8px rgba(0,0,0,.5)}.theme-festive .event-subtitle-text{color:#ffd700d9}.theme-festive .event-info-card{background:#1e1914e6;border-color:#ffd70040}.theme-festive .btn-primary{background:linear-gradient(135deg,#b22222,#8b0000)}.theme-festive:after{content:"";position:fixed;top:0;left:0;right:0;height:300px;background:radial-gradient(ellipse at top,rgba(34,139,34,.15) 0%,transparent 70%);pointer-events:none;z-index:0}.theme-festive:before{content:"";position:fixed;bottom:0;left:0;right:0;height:250px;background:radial-gradient(ellipse at bottom,rgba(139,0,0,.2) 0%,transparent 70%);pointer-events:none;z-index:0}.golden-shimmer{position:absolute;background:radial-gradient(ellipse at center,rgba(255,215,0,.1) 0%,rgba(184,134,11,.06) 40%,transparent 70%);border-radius:50%;filter:blur(60px);animation:goldenPulse 12s infinite ease-in-out}.shimmer-1{width:500px;height:500px;top:10%;left:10%;animation-delay:0s}.shimmer-2{width:600px;height:600px;bottom:10%;right:5%;animation-delay:6s}@keyframes goldenPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.2);opacity:.65}}.golden-particle{position:absolute;width:5px;height:5px;background:gold;border-radius:50%;box-shadow:0 0 12px gold,0 0 24px #ffd70099;animation:particleFloat 12s infinite ease-in-out}.particle-1{top:15%;left:15%;animation-delay:0s}.particle-2{top:25%;left:45%;animation-delay:4s}.particle-3{top:10%;right:20%;animation-delay:8s}.green-particle{position:absolute;width:4px;height:4px;background:#32cd32;border-radius:50%;box-shadow:0 0 10px #32cd32,0 0 20px #32cd3299;animation:particleFloat 14s infinite ease-in-out}.green-particle-1{top:8%;left:10%;animation-delay:1s}.green-particle-2{top:5%;left:30%;animation-delay:3s}.green-particle-3{top:12%;left:60%;animation-delay:6s}.green-particle-4{top:6%;right:15%;animation-delay:2s}.green-particle-5{top:18%;left:80%;animation-delay:5s}.red-particle{position:absolute;width:4px;height:4px;background:#dc143c;border-radius:50%;box-shadow:0 0 10px #dc143c,0 0 20px #dc143c99;animation:particleFloatUp 14s infinite ease-in-out}.red-particle-1{bottom:15%;left:12%;animation-delay:0s}.red-particle-2{bottom:10%;left:35%;animation-delay:4s}.red-particle-3{bottom:20%;left:55%;animation-delay:2s}.red-particle-4{bottom:8%;right:25%;animation-delay:6s}.red-particle-5{bottom:18%;right:10%;animation-delay:3s}@keyframes particleFloat{0%,to{transform:translateY(0) translate(0) scale(1);opacity:0}10%{opacity:.9}25%{transform:translateY(20px) translate(15px) scale(1.2);opacity:1}50%{transform:translateY(40px) translate(-10px) scale(.9);opacity:.7}75%{transform:translateY(25px) translate(10px) scale(1.1);opacity:.5}90%{opacity:0}}@keyframes particleFloatUp{0%,to{transform:translateY(0) translate(0) scale(1);opacity:0}10%{opacity:.9}25%{transform:translateY(-20px) translate(15px) scale(1.2);opacity:1}50%{transform:translateY(-40px) translate(-10px) scale(.9);opacity:.7}75%{transform:translateY(-25px) translate(10px) scale(1.1);opacity:.5}90%{opacity:0}}.festive-lights{position:fixed;inset:0;background-image:radial-gradient(circle at 10% 8%,rgba(50,205,50,.4) 0%,transparent 1%),radial-gradient(circle at 30% 5%,rgba(34,139,34,.35) 0%,transparent .8%),radial-gradient(circle at 55% 10%,rgba(50,205,50,.3) 0%,transparent 1%),radial-gradient(circle at 75% 6%,rgba(34,139,34,.4) 0%,transparent .9%),radial-gradient(circle at 90% 12%,rgba(50,205,50,.35) 0%,transparent 1.1%),radial-gradient(circle at 20% 45%,rgba(255,215,0,.35) 0%,transparent 1%),radial-gradient(circle at 50% 50%,rgba(255,215,0,.4) 0%,transparent .8%),radial-gradient(circle at 80% 40%,rgba(255,215,0,.3) 0%,transparent 1%),radial-gradient(circle at 15% 85%,rgba(220,20,60,.4) 0%,transparent 1%),radial-gradient(circle at 40% 90%,rgba(178,34,34,.35) 0%,transparent .9%),radial-gradient(circle at 65% 88%,rgba(220,20,60,.3) 0%,transparent 1.1%),radial-gradient(circle at 85% 92%,rgba(178,34,34,.4) 0%,transparent .8%);animation:twinkle 6s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes twinkle{0%,to{opacity:.4}25%{opacity:.8}50%{opacity:.5}75%{opacity:.9}}.theme-garden{background-color:#f0f5e8;color:#2f3e2f}.theme-garden .animated-background{background:linear-gradient(180deg,#f0f5e8,#e8f0e0,#dfe8d5)}.theme-garden .event-title{color:#5d7a5d;text-shadow:1px 1px 2px rgba(47,62,47,.15)}.theme-garden .event-subtitle-text{color:#6b8e6b}.theme-garden .event-info-card{background:#fffffaeb;border-color:#5d7a5d33;box-shadow:0 4px 30px #5d7a5d1a}.theme-garden .event-info-card h2{color:#4a6741}.theme-garden .info-label{color:#6b8e6b}.theme-garden .event-features li:before{color:#5d7a5d}.theme-garden .btn-primary{background:linear-gradient(135deg,#5d7a5d,#4a6741);color:#fafff5}.theme-garden .back-link{color:#5d7a5d}.dappled-light{position:absolute;background:radial-gradient(ellipse at center,rgba(154,175,143,.15) 0%,rgba(93,122,93,.08) 40%,transparent 70%);border-radius:50%;filter:blur(70px);animation:dappledSway 15s infinite ease-in-out}.dappled-1{width:450px;height:450px;top:10%;left:20%;animation-delay:0s}.dappled-2{width:550px;height:550px;bottom:15%;right:10%;animation-delay:7s}@keyframes dappledSway{0%,to{transform:translate(0) scale(1);opacity:.5}33%{transform:translate(20px,15px) scale(1.05);opacity:.65}66%{transform:translate(-15px,10px) scale(.95);opacity:.55}}.petal{position:absolute;width:10px;height:10px;background:linear-gradient(135deg,plum,#e8b4d8);border-radius:50% 0;opacity:.6;animation:petalFall 20s infinite linear}.petal-1{top:-5%;left:15%;animation-delay:0s;animation-duration:18s}.petal-2{top:-5%;left:45%;animation-delay:6s;animation-duration:22s}.petal-3{top:-5%;right:20%;animation-delay:12s;animation-duration:20s}@keyframes petalFall{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}5%{opacity:.6}to{transform:translateY(110dvh) translate(100px) rotate(720deg);opacity:0}}.theme-garden .event-header{animation:breezeSway 8s ease-in-out infinite}@keyframes breezeSway{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.theme-twilight{background-color:#1a1a2e;color:#fff}.theme-twilight .animated-background{background:linear-gradient(180deg,#1a1a2e,#16213e,#0f0f23)}.theme-twilight .event-title{color:#9d8ec7;text-shadow:0 0 25px rgba(107,91,149,.4),2px 2px 8px rgba(0,0,0,.5)}.theme-twilight .event-subtitle-text{color:#c0c0c0e6}.theme-twilight .event-info-card{background:#1a1a2ee6;border-color:#6b5b9540}.theme-twilight .btn-primary{background:linear-gradient(135deg,#6b5b95,#4a4e69)}.aurora{position:absolute;background:linear-gradient(135deg,#6b5b951a,#4a4e6914,#c0c0c00d);border-radius:50%;filter:blur(80px);animation:auroraShift 20s infinite ease-in-out}.aurora-1{width:600px;height:400px;top:10%;left:0;animation-delay:0s}.aurora-2{width:500px;height:350px;bottom:20%;right:5%;animation-delay:10s}@keyframes auroraShift{0%,to{transform:translate(0) scaleX(1);opacity:.4}25%{transform:translate(30px) scaleX(1.1);opacity:.6}50%{transform:translate(-20px) scaleX(.95);opacity:.5}75%{transform:translate(15px) scaleX(1.05);opacity:.55}}.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;box-shadow:0 0 4px #fff,0 0 8px #fff9;animation:starTwinkle 4s infinite ease-in-out}.star-1{top:5%;left:5%;animation-delay:0s}.star-2{top:8%;left:15%;animation-delay:1.2s}.star-3{top:3%;left:25%;animation-delay:.5s}.star-4{top:12%;left:35%;animation-delay:2.1s}.star-5{top:6%;left:45%;animation-delay:.8s}.star-6{top:10%;left:55%;animation-delay:1.8s}.star-7{top:4%;left:65%;animation-delay:.3s}.star-8{top:15%;left:75%;animation-delay:2.5s}.star-9{top:7%;left:85%;animation-delay:1.1s}.star-10{top:11%;left:92%;animation-delay:.7s}.star-11{top:18%;left:10%;animation-delay:1.5s}.star-12{top:22%;left:22%;animation-delay:2.8s}.star-13{top:16%;left:40%;animation-delay:.4s}.star-14{top:25%;left:50%;animation-delay:1.9s}.star-15{top:20%;left:68%;animation-delay:.9s}.star-16{top:28%;left:80%;animation-delay:2.3s}.star-17{top:32%;left:8%;animation-delay:1.6s}.star-18{top:35%;left:30%;animation-delay:.2s}.star-19{top:30%;left:58%;animation-delay:2s}.star-20{top:38%;left:88%;animation-delay:1.3s}.star-bright{position:absolute;width:3px;height:3px;background:#e8e8ff;border-radius:50%;box-shadow:0 0 8px #e8e8ff,0 0 16px #e8e8ffcc,0 0 24px #c8c8ff66;animation:starTwinkleBright 5s infinite ease-in-out}.star-bright-1{top:10%;left:20%;animation-delay:0s}.star-bright-2{top:5%;left:50%;animation-delay:2s}.star-bright-3{top:18%;left:70%;animation-delay:1s}.star-bright-4{top:25%;left:15%;animation-delay:3s}.star-bright-5{top:12%;left:90%;animation-delay:1.5s}.shooting-star{position:absolute;width:80px;height:2px;background:linear-gradient(90deg,#fff0,#fffc,#fff0);border-radius:50%;animation:shootingStar 8s infinite ease-in-out;opacity:0}.shooting-star-1{top:15%;left:20%;animation-delay:2s}.shooting-star-2{top:8%;left:60%;animation-delay:6s}@keyframes starTwinkle{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes starTwinkleBright{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes shootingStar{0%,90%,to{opacity:0;transform:translate(0) translateY(0)}92%{opacity:1}95%{opacity:1;transform:translate(150px) translateY(50px)}96%{opacity:0}}.theme-twilight:before{content:"";position:fixed;bottom:0;left:0;right:0;height:150px;background:linear-gradient(to top,rgba(107,91,149,.1),transparent);animation:horizonGlow 8s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes horizonGlow{0%,to{opacity:.3}50%{opacity:.5}}.event-nav{position:relative;z-index:10;padding:calc(1rem + env(safe-area-inset-top,0px)) 2rem 1rem 2rem}.back-link{color:#ffffffd9;text-decoration:none;font-size:1.1rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.back-link:hover{transform:translate(-5px)}.event-header{position:relative;z-index:10;text-align:center;padding:2rem 2rem 3rem;max-width:900px;margin:0 auto}.event-title{font-family:Marck Script,cursive;font-size:4rem;font-weight:400;margin-bottom:1rem;animation:fadeInUp .8s ease-out}.event-subtitle-text{font-size:1.4rem;font-style:italic;margin-bottom:1.5rem;opacity:.9;animation:fadeInUp .8s ease-out .1s backwards}.event-description-text{font-size:1.2rem;line-height:1.8;opacity:.9;animation:fadeInUp .8s ease-out .2s backwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.event-info-section{position:relative;z-index:10;max-width:800px;margin:2rem auto;padding:0 2rem}.event-info-card{background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:2.5rem;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;animation:fadeInUp .8s ease-out .3s backwards}.event-info-card h2{font-size:1.8rem;margin-bottom:2rem;text-align:center}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-bottom:2rem}.info-item{display:flex;flex-direction:column;gap:.4rem}.info-item.full-width{grid-column:1 / -1}.info-label{font-weight:600;opacity:.7;font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px}.info-value{font-size:1.15rem;font-weight:500}.event-features{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.15)}.event-features h3{font-size:1.4rem;margin-bottom:1.25rem}.event-features ul{list-style:none;padding:0}.event-features li{padding:.7rem 0 .7rem 2rem;position:relative;font-size:1.05rem}.event-features li:before{content:"✓";position:absolute;left:0;color:#4caf50;font-weight:700;font-size:1.1rem}.rsvp-section,.subscribe-section{position:relative;z-index:10;max-width:700px;margin:3rem auto;padding:0 2rem;animation:fadeInUp .8s ease-out .4s backwards}.rsvp-section h2,.subscribe-section h2{font-size:1.8rem;margin-bottom:1rem;text-align:center}.subscribe-section p{text-align:center;margin-bottom:2rem;opacity:.9;font-size:1.05rem}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.5rem;color:#666}.error-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff}.error-page h1{font-size:2.5rem;margin-bottom:1rem;color:#c00}.error-page p{font-size:1.2rem;margin-bottom:2rem;opacity:.8}@media(max-width:768px){.event-title{font-size:2.2rem}.event-subtitle-text{font-size:1.15rem}.event-description-text{font-size:1.05rem}.event-info-card{padding:1.75rem;border-radius:16px}.info-grid{grid-template-columns:1fr;gap:1rem}.smoke,.warmth-glow,.golden-shimmer,.aurora,.dappled-light{animation-duration:30s;filter:blur(60px);opacity:.3}.golden-particle,.petal,.star{display:none}}@media(prefers-reduced-motion:reduce){.smoke,.ember,.warmth-glow,.golden-shimmer,.golden-particle,.dappled-light,.petal,.aurora,.star,.event-title,.event-subtitle-text,.event-description-text,.event-info-card,.rsvp-section,.subscribe-section,.theme-garden .event-header{animation:none}.theme-smoke-fire:before,.theme-festive:after,.theme-twilight:before,.theme-parchment .event-info-card:before{animation:none;opacity:.3}}.btn-share{background:transparent;padding:12px 24px;border-radius:24px;cursor:pointer;font-size:1rem;font-family:inherit;font-weight:600;transition:all .3s ease;letter-spacing:.5px;border:1px solid currentColor;opacity:.9;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.btn-share:hover{transform:translateY(-1px);opacity:1}.btn-share:active{transform:translateY(0)}.btn-share:disabled{opacity:.5;cursor:not-allowed}.theme-smoke-fire .btn-share{color:#ff6b35;border:1px solid #ff6b35;background:#ff6b351a;box-shadow:0 0 10px #ff6b3533}.theme-smoke-fire .btn-share:hover{background:#ff6b3533;box-shadow:0 0 15px #ff6b3566;text-shadow:0 0 5px rgba(255,107,53,.5)}.theme-parchment .btn-share{color:#5d4037;border:1.5px solid #5D4037;background:#5d40370d}.theme-parchment .btn-share:hover{background:#5d40371a}.theme-festive .btn-share{color:gold;border:1px solid #FFD700;background:#ffd7001a;box-shadow:0 0 10px #ffd70033}.theme-festive .btn-share:hover{background:#ffd70033;box-shadow:0 0 15px #ffd70066}.theme-twilight .btn-share{color:#caf0f8;border:1px solid #90e0ef;background:#90e0ef1a;box-shadow:0 0 8px #90e0ef4d}.theme-twilight .btn-share:hover{background:#90e0ef33;box-shadow:0 0 12px #90e0ef80}.breadcrumbs{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.breadcrumb-link{color:#ffffffb3;text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{color:#fff}.breadcrumb-separator{color:#fff6}.breadcrumb-current{color:#ffffffe6;font-weight:500}.theme-parchment .breadcrumb-link,.theme-garden .breadcrumb-link{color:var(--theme-text, rgba(0, 0, 0, .6))}.theme-parchment .breadcrumb-link:hover,.theme-garden .breadcrumb-link:hover{color:var(--theme-primary, #8B4513)}.theme-parchment .breadcrumb-separator,.theme-garden .breadcrumb-separator{color:#0000004d}.theme-parchment .breadcrumb-current,.theme-garden .breadcrumb-current{color:var(--theme-text, #3D2914)}.calendar-links{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.15)}.calendar-links h3{font-size:1.2rem;margin-bottom:1rem;opacity:.9}.calendar-buttons{display:flex;gap:1rem;flex-wrap:wrap}.calendar-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:8px;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .2s ease;border:1px solid}.calendar-btn svg{flex-shrink:0}.calendar-google{background:#4285f426;border-color:#4285f466;color:#4285f4}.calendar-google:hover{background:#4285f440;transform:translateY(-1px)}.calendar-ics{background:#ffffff1a;border-color:#ffffff4d;color:#ffffffe6}.calendar-ics:hover{background:#fff3;transform:translateY(-1px)}.theme-parchment .calendar-links,.theme-garden .calendar-links{border-top-color:#0000001a}.theme-parchment .calendar-ics,.theme-garden .calendar-ics{background:#0000000d;border-color:#0003;color:var(--theme-text, #3D2914)}.theme-parchment .calendar-ics:hover,.theme-garden .calendar-ics:hover{background:#0000001a}@media(max-width:480px){.calendar-buttons{flex-direction:column}.calendar-btn{justify-content:center}}.event-header-icon{font-size:3rem;margin-bottom:1rem;animation:icon-float 3s ease-in-out infinite}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.event-countdown-wrapper{margin-top:1.5rem}.event-rsvp-counter-wrapper{margin-top:1rem}.theme-winter-wonderland{background:linear-gradient(180deg,#e8f4fc,#d0e8f8,#b8dcf4)}.theme-spring-bloom{background:linear-gradient(180deg,#fff5f8,#f5fff5,#fff0f5)}.theme-summer-sunset{background:linear-gradient(180deg,#ffe8cc,#ffdab3,#fc9)}.theme-autumn-harvest{background:linear-gradient(180deg,#fdf5e6,#f5e6d3,#edd9c4)}.theme-birthday-party{background:linear-gradient(180deg,#fff0f5,#f0f8ff,#fffacd)}.theme-anniversary{background:linear-gradient(180deg,#fdf8f5,#f8ede8,#f5e6e0)}.theme-graduation{background:linear-gradient(180deg,#f5f5f5,#ebebeb,#e0e0e0)}.theme-baby-shower{background:linear-gradient(180deg,#f0fff4,#fff0f5,#f0f8ff)}.theme-black-tie{background:linear-gradient(180deg,#0d0d0d,#1a1a1a,#0d0d0d)}.theme-vintage{background:linear-gradient(180deg,#f5f0e8,#ede5d8,#e5dcc8)}.theme-art-deco{background:linear-gradient(180deg,#0a1628,#142238,#0a1628)}.theme-minimalist-luxury{background:linear-gradient(180deg,#fafafa,#f5f5f5,#f0f0f0)}.theme-fiesta{background:linear-gradient(180deg,#fffef0,#fff8e7,#fff5dc)}.theme-beach{background:linear-gradient(180deg,#87ceeb,#b0e0e6 30%,wheat)}.theme-retro-80s{background:linear-gradient(180deg,#1a0a2e,#2d1b4e,#1a0a2e)}.theme-game-night{background:linear-gradient(180deg,#0a3622,#0d4a2e,#0a3622)}.theme-winter-wonderland,.theme-spring-bloom,.theme-summer-sunset,.theme-autumn-harvest,.theme-birthday-party,.theme-anniversary,.theme-graduation,.theme-baby-shower,.theme-vintage,.theme-minimalist-luxury,.theme-fiesta{--theme-nav-text: #333}.theme-winter-wonderland .breadcrumb-link,.theme-spring-bloom .breadcrumb-link,.theme-summer-sunset .breadcrumb-link,.theme-autumn-harvest .breadcrumb-link,.theme-birthday-party .breadcrumb-link,.theme-anniversary .breadcrumb-link,.theme-graduation .breadcrumb-link,.theme-baby-shower .breadcrumb-link,.theme-vintage .breadcrumb-link,.theme-minimalist-luxury .breadcrumb-link,.theme-fiesta .breadcrumb-link{color:#0009}.theme-winter-wonderland .breadcrumb-link:hover,.theme-spring-bloom .breadcrumb-link:hover,.theme-summer-sunset .breadcrumb-link:hover,.theme-autumn-harvest .breadcrumb-link:hover,.theme-birthday-party .breadcrumb-link:hover,.theme-anniversary .breadcrumb-link:hover,.theme-graduation .breadcrumb-link:hover,.theme-baby-shower .breadcrumb-link:hover,.theme-vintage .breadcrumb-link:hover,.theme-minimalist-luxury .breadcrumb-link:hover,.theme-fiesta .breadcrumb-link:hover{color:var(--theme-primary)}.theme-black-tie,.theme-art-deco,.theme-retro-80s,.theme-game-night,.theme-beach{--theme-nav-text: rgba(255, 255, 255, .8)}@media(prefers-reduced-motion:reduce){.event-header-icon{animation:none}}.confirm-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:dialogSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes dialogSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-icon{width:60px;height:60px;margin:0 auto 1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirm-icon svg{width:32px;height:32px}.confirm-default .confirm-icon{background:#e3f2fd;color:#1976d2}.confirm-danger .confirm-icon{background:#ffebee;color:#dc3545}.confirm-warning .confirm-icon{background:#fff3e0;color:#f57c00}.confirm-dialog h2{font-size:1.4rem;color:#333;margin:0 0 .75rem;font-weight:600}.confirm-dialog p{color:#666;font-size:1rem;margin:0 0 1.75rem;line-height:1.5}.confirm-actions{display:flex;gap:1rem;justify-content:center}.confirm-actions .btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.confirm-actions .btn-cancel{background:#f0f0f0;color:#666}.confirm-actions .btn-cancel:hover{background:#e0e0e0;color:#333}.confirm-actions .btn-confirm{color:#fff}.confirm-actions .btn-confirm-default{background:linear-gradient(135deg,#1976d2,#1565c0)}.confirm-actions .btn-confirm-default:hover{box-shadow:0 4px 15px #1976d266;transform:translateY(-1px)}.confirm-actions .btn-confirm-danger{background:linear-gradient(135deg,#dc3545,#c82333)}.confirm-actions .btn-confirm-danger:hover{box-shadow:0 4px 15px #dc354566;transform:translateY(-1px)}.confirm-actions .btn-confirm-warning{background:linear-gradient(135deg,#f57c00,#ef6c00)}.confirm-actions .btn-confirm-warning:hover{box-shadow:0 4px 15px #f57c0066;transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.confirm-overlay,.confirm-dialog{animation:none}}@media(max-width:480px){.confirm-dialog{padding:1.5rem}.confirm-actions{flex-direction:column}.confirm-actions .btn{width:100%}}.admin-login{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:2rem}.login-container{background:#fffffff2;padding:3rem;border-radius:15px;box-shadow:0 10px 30px #0000004d;max-width:400px;width:100%}.login-container h1{color:#333;margin-bottom:2rem;text-align:center}.login-container .form-group{margin-bottom:1.5rem}.login-container label{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.login-container input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;color:#333}.login-container input:focus{outline:none;border-color:#c00}.login-container .btn{width:100%;margin-top:1rem}.login-container .back-link{display:block;text-align:center;margin-top:1rem;color:#c00;text-decoration:none}.admin-dashboard{min-height:100vh;background:#f5f5f5;color:#333}.admin-header{background:#1a1a1a;color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.admin-header h1{margin:0;font-size:1.8rem;font-family:Georgia,Times New Roman,serif;font-weight:600}.admin-header-actions{display:flex;gap:1rem;align-items:center}.admin-header-actions span{color:#fffc;font-size:.9rem}.message{padding:1rem 2rem;margin:1rem 2rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.message.success{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.message.error{background:#ffebee;color:#c62828;border:1px solid #f44336}.message button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;padding:0;width:30px;height:30px}.admin-tabs{display:flex;background:#fff;border-bottom:2px solid #ddd;padding:0 2rem;gap:.5rem}.admin-tabs button{padding:1rem 2rem;border:none;background:none;cursor:pointer;font-size:1rem;font-weight:600;color:#666;border-bottom:3px solid transparent;transition:all .3s}.admin-tabs button:hover{color:#c00;background:#cc00000d}.admin-tabs button.active{color:#c00;border-bottom-color:#c00}.admin-content{padding:2rem;max-width:1400px;margin:0 auto}.events-panel h2,.rsvps-panel h2,.subscriptions-panel h2,.notifications-panel h2,.settings-panel h2,.templates-panel h2{margin-bottom:2rem;color:#333}.events-list{display:grid;gap:1.5rem}.event-item{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.event-info h3{margin:0 0 1rem;color:#c00}.event-info p{margin:.5rem 0;color:#666}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.panel-actions{display:flex;gap:1rem;align-items:center}.panel-actions select{padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;color:#333;background:#fff}.rsvp-summary{display:flex;gap:2rem;margin-bottom:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#c00,#8b0000);border-radius:8px;color:#fff}.rsvp-summary .summary-item{font-size:1rem}.rsvp-summary .summary-item strong{font-size:1.25rem;margin-right:.25rem}.rsvps-table,.subscriptions-table{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.rsvps-table table,.subscriptions-table table{width:100%;border-collapse:collapse}.rsvps-table th,.rsvps-table td,.subscriptions-table th,.subscriptions-table td{padding:1rem;text-align:left;border-bottom:1px solid #f0f0f0}.rsvps-table th,.subscriptions-table th{background:#f9f9f9;font-weight:600;color:#333;position:sticky;top:0}.rsvps-table tbody tr:hover,.subscriptions-table tbody tr:hover{background:#f9f9f9}.no-data{text-align:center;padding:3rem;color:#999}.notification-form{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 8px #0000001a;max-width:600px}.notification-form .form-group{margin-bottom:1.5rem}.notification-form label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.notification-form input,.notification-form textarea,.notification-form select{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;color:#333;font-family:inherit}.notification-form input:focus,.notification-form textarea:focus,.notification-form select:focus{outline:none;border-color:#c00}.notification-actions{display:flex;gap:1rem;margin-top:1.5rem}.notification-actions .btn{flex:1}.notification-actions .btn-secondary{background:#6c757d;color:#fff}.notification-actions .btn-secondary:hover:not(:disabled){background:#5a6268}.edit-modal{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.edit-modal-content{background:#fff;padding:2.5rem;border-radius:15px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.edit-modal-content h2{margin-top:0;color:#333}.edit-modal-content .form-group{margin-bottom:1.5rem}.edit-modal-content label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.edit-modal-content input,.edit-modal-content textarea,.edit-modal-content select{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;color:#333;font-family:inherit}.edit-modal-content input:focus,.edit-modal-content textarea:focus,.edit-modal-content select:focus{outline:none;border-color:#c00}.edit-modal-content input[type=checkbox]{width:auto;margin-right:.5rem}.theme-categories{display:flex;flex-direction:column;gap:1.5rem;margin-top:.75rem}.theme-category{background:#f9f9f9;border-radius:12px;padding:1rem;border:1px solid #eee}.theme-category-title{font-size:1rem;font-weight:600;color:#333;margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem}.theme-category-desc{font-size:.8rem;color:#666;margin:0 0 .75rem}.theme-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-top:.5rem}.theme-preset-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#f8f8f8;border:2px solid #ddd;border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.theme-preset-button:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--preview-primary),var(--preview-secondary));opacity:.6;transition:opacity .3s ease}.theme-preset-button:hover{border-color:var(--preview-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.theme-preset-button:hover:before{opacity:1}.theme-preset-button.selected{border-color:var(--preview-primary);background:linear-gradient(135deg,rgba(var(--preview-primary),.05),rgba(var(--preview-secondary),.05));box-shadow:0 0 0 3px #0000001a}.theme-preset-button.selected:after{content:"✓";position:absolute;top:8px;right:8px;width:20px;height:20px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.theme-icon{font-size:1.75rem;line-height:1}.theme-name{font-size:.9rem;font-weight:600;color:#333;text-align:center}.theme-preview{display:flex;gap:4px;margin-top:.25rem}.preview-swatch{width:18px;height:18px;border-radius:4px;border:1px solid rgba(0,0,0,.15)}.preview-swatch.primary{background:var(--preview-primary)}.preview-swatch.secondary{background:var(--preview-secondary)}.preview-swatch.bg{background:var(--preview-bg)}@media(max-width:600px){.theme-preset-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.theme-preset-button{padding:.75rem}.theme-icon{font-size:1.5rem}.theme-name{font-size:.8rem}}.edit-modal-content textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.modal-actions .btn{flex:1}@media(max-width:768px){.admin-header{flex-direction:column;gap:1rem}.admin-header-actions{flex-direction:column;width:100%}.admin-header-actions .btn{width:100%}.admin-tabs{overflow-x:auto;padding:0 1rem}.admin-tabs button{white-space:nowrap}.admin-content{padding:1rem}.event-item{flex-direction:column;gap:1rem}.panel-header{flex-direction:column;gap:1rem;align-items:flex-start}.panel-actions{flex-direction:column;width:100%}.panel-actions select,.panel-actions button{width:100%}.rsvps-table,.subscriptions-table{font-size:.875rem}.rsvps-table th,.rsvps-table td,.subscriptions-table th,.subscriptions-table td{padding:.5rem}}.settings-panel{max-width:800px}.panel-description{color:#666;margin-bottom:2rem;font-size:1rem}.settings-form{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 8px #0000001a}.settings-form .form-group{margin-bottom:1.5rem}.settings-form label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.settings-form textarea{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;color:#333;font-family:inherit;resize:vertical}.settings-form textarea:focus{outline:none;border-color:#c00}.char-count{display:block;margin-top:.5rem;color:#999;font-size:.875rem;text-align:right}.btn-delete{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-delete:hover:not(:disabled){background:#c82333;transform:translateY(-2px);box-shadow:0 2px 8px #dc35454d}.btn-delete:disabled{opacity:.6;cursor:not-allowed}.templates-panel{max-width:1000px}.template-selector{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.template-selector .form-group{margin-bottom:1.5rem}.template-selector label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.template-selector select{width:100%;max-width:400px;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;color:#333;background:#fff}.template-selector select:focus{outline:none;border-color:#c00}.template-editor{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 8px #0000001a}.template-info{margin-bottom:1.5rem}.info-banner{background:#e3f2fd;border-left:4px solid #2196f3;padding:1rem;border-radius:5px;color:#1565c0;font-size:.95rem}.placeholders-guide{background:#f5f5f5;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.placeholders-guide h3{margin:0 0 1rem;color:#333;font-size:1rem}.placeholder-list{display:flex;flex-wrap:wrap;gap:.5rem}.placeholder-list code{background:#8b4513;color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.875rem;font-family:Courier New,monospace}.template-editor .form-group{margin-bottom:1.5rem}.template-editor label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.template-editor input,.template-editor textarea{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;color:#333;font-family:inherit}.template-editor input:focus,.template-editor textarea:focus{outline:none;border-color:#c00}.template-editor textarea{resize:vertical}.form-hint{display:block;margin-top:.5rem;color:#999;font-size:.875rem}.date-preview{display:block;margin-top:.5rem;color:#4caf50;font-size:.875rem;font-weight:500}.features-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.feature-item{display:flex;gap:.5rem;align-items:center}.feature-item input{flex:1}.btn-remove-feature{background:#dc3545;color:#fff;border:none;width:32px;height:32px;border-radius:6px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-remove-feature:hover{background:#c82333;transform:scale(1.05)}.btn-add-feature{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.btn-add-feature:hover{background:#218838;transform:translateY(-1px)}.edit-modal-content input[type=date],.edit-modal-content input[type=time]{cursor:pointer}.edit-modal-content input[type=date]::-webkit-calendar-picker-indicator,.edit-modal-content input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}.template-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.template-actions .btn{flex:1;max-width:200px}.search-input{padding:.75rem 1rem;border:2px solid #ddd;border-radius:8px;font-size:.95rem;min-width:250px;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:#c00;box-shadow:0 0 0 3px #cc00001a}.search-input::placeholder{color:#999}.notification-preview{margin-top:1.5rem;border:2px solid #e0e0e0;border-radius:10px;overflow:hidden;background:#f9f9f9}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#e8e8e8;border-bottom:1px solid #ddd}.preview-header h4{margin:0;font-size:.9rem;color:#333}.preview-note{font-size:.8rem;color:#888;font-style:italic}.preview-content{padding:1.25rem}.preview-subject{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0;font-size:.95rem}.preview-message{white-space:pre-wrap;font-size:.95rem;line-height:1.6;color:#333}.theme-preview-box{margin-top:1rem;padding:1.5rem;border-radius:12px;text-align:center;transition:all .3s ease}.theme-preview-box h4{margin:0 0 .5rem;font-size:1.1rem}.theme-preview-box p{margin:0;font-size:.9rem;opacity:.8}.empty-state-panel{text-align:center;padding:4rem 2rem;color:#888}.empty-state-panel .empty-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:#ccc}.empty-state-panel .empty-icon svg{width:100%;height:100%}.empty-state-panel h3{font-size:1.25rem;color:#666;margin-bottom:.5rem}.empty-state-panel p{font-size:1rem;color:#888}@media(max-width:768px){.placeholders-guide{padding:1rem}.placeholder-list{gap:.25rem}.placeholder-list code{font-size:.75rem;padding:.25rem .5rem}.template-actions{flex-direction:column}.template-actions .btn{max-width:100%}.search-input{min-width:100%;order:-1;margin-bottom:.5rem}}.error-boundary{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem;background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}.error-boundary-content{text-align:center;max-width:500px;background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 40px #0000001a}.error-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:#dc3545}.error-icon svg{width:100%;height:100%}.error-boundary-content h1{font-size:1.8rem;color:#333;margin-bottom:1rem}.error-boundary-content p{color:#666;font-size:1.1rem;margin-bottom:2rem;line-height:1.6}.error-boundary-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary-actions .btn{padding:.75rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .3s ease;cursor:pointer;border:none}.error-boundary-actions .btn-primary{background:linear-gradient(135deg,#c00,#900);color:#fff}.error-boundary-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #cc00004d}.error-boundary-actions .btn-secondary{background:#f0f0f0;color:#333}.error-boundary-actions .btn-secondary:hover{background:#e0e0e0}.error-details{margin-top:2rem;text-align:left;background:#f8f8f8;padding:1rem;border-radius:8px}.error-details summary{cursor:pointer;font-weight:600;color:#666;margin-bottom:.5rem}.error-details pre{font-size:.85rem;color:#dc3545;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:.5rem 0 0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Georgia,Times New Roman,serif;line-height:1.6;color:var(--text-dark, #3D2914)}.App{min-height:100vh}.navbar{background:#3d2914f2;padding:1rem 2rem;position:fixed;width:100%;top:0;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.navbar-brand{color:var(--cream, #F5EDE0);text-decoration:none;font-size:1.5rem;font-weight:700}.navbar-links{display:flex;gap:2rem;list-style:none}.navbar-links a{color:var(--cream, #F5EDE0);text-decoration:none;transition:color .3s}.navbar-links a:hover{color:var(--accent-color, #B8956B)}.btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;font-family:inherit;text-decoration:none;display:inline-block;font-weight:500}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--primary-color, #6B4423) 0%,var(--primary-dark, #3D2914) 100%);color:var(--cream-light, #FAF7F2);box-shadow:0 4px 15px #6b442340}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6b442359}.btn-secondary{background:linear-gradient(135deg,var(--secondary-color, #7A8B6F) 0%,var(--secondary-dark, #5D6B54) 100%);color:#fff;box-shadow:0 4px 15px #7a8b6f40}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #7a8b6f59}.btn-outline{background:transparent;border:2px solid currentColor;color:inherit}.btn-outline:hover:not(:disabled){background:#6b442314}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:inherit}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.85rem;border:2px solid rgba(107,68,35,.2);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#ffffffe6;color:var(--text-dark, #3D2914)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color, #6B4423);box-shadow:0 0 0 3px #6b44231a}.form-group input::placeholder,.form-group textarea::placeholder{color:#3d291480}.form-group textarea{min-height:100px;resize:vertical}.form-error{color:#c62828;font-size:.875rem;margin-top:.35rem}.card{background:var(--cream-light, #FAF7F2);border-radius:12px;padding:2rem;box-shadow:0 4px 20px #6b442314;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(107,68,35,.1)}.card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #6b44231f}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.3rem;color:var(--text-medium, #5D4037)}.error{background:#ffebee;color:#c62828;padding:1rem 1.5rem;border-radius:8px;margin:1rem 0;border-left:4px solid #c62828}.success{background:#e8f5e9;color:#2e7d32;padding:1rem 1.5rem;border-radius:8px;margin:1rem 0;border-left:4px solid #2e7d32}@media(max-width:768px){.navbar-content{flex-direction:column;gap:1rem}.navbar-links{gap:1rem}.btn{padding:.65rem 1.5rem;font-size:.95rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}
