@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600&family=Great+Vibes&display=swap";:root{--crimson: #8B1A1A;--crimson-light: #A52A2A;--crimson-dark: #6B0F0F;--crimson-glow: rgba(139, 26, 26, .3);--gold: #C9A94E;--gold-light: #DAC06A;--gold-dark: #A68B3C;--gold-glow: rgba(201, 169, 78, .25);--ivory: #FAF3E0;--ivory-dark: #F0E6CC;--ivory-warm: #FFF8ED;--charcoal: #2D2D2D;--charcoal-light: #4A4A4A;--charcoal-muted: #6B6B6B;--rose-petal: #C44D56;--emerald-leaf: #2E5E3F;--font-display: "Playfair Display", "Georgia", serif;--font-body: "Lora", "Georgia", serif;--font-ui: "Inter", -apple-system, sans-serif;--font-script: "Great Vibes", cursive;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 48px;--space-2xl: 80px;--space-3xl: 120px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-ornate: 50%;--shadow-soft: 0 2px 16px rgba(45, 45, 45, .08);--shadow-medium: 0 4px 24px rgba(45, 45, 45, .12);--shadow-deep: 0 8px 40px rgba(45, 45, 45, .18);--shadow-gold: 0 4px 20px rgba(201, 169, 78, .2);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .7s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--charcoal);background-color:var(--ivory);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--charcoal)}a{color:var(--crimson);text-decoration:none;transition:color var(--duration-fast) var(--ease-out-expo)}a:hover{color:var(--gold-dark)}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font-body);font-size:1rem}.section-container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.section-padding{padding:var(--space-3xl) 0}.section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);text-align:center;margin-bottom:var(--space-md);color:var(--charcoal)}.section-subtitle{font-family:var(--font-body);font-size:clamp(1rem,2vw,1.25rem);text-align:center;color:var(--charcoal-muted);max-width:600px;margin:0 auto var(--space-xl);font-style:italic}.ornament{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin:var(--space-lg) auto;max-width:300px}.ornament:before,.ornament:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.ornament-icon{color:var(--gold);font-size:1.2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px 32px;font-family:var(--font-ui);font-size:.875rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius-sm);transition:all var(--duration-normal) var(--ease-out-expo);position:relative;overflow:hidden}.btn-primary{background:var(--crimson);color:var(--ivory);border:2px solid var(--crimson)}.btn-primary:hover{background:var(--crimson-dark);border-color:var(--crimson-dark);transform:translateY(-2px);box-shadow:var(--shadow-deep)}.btn-secondary{background:transparent;color:var(--gold-dark);border:2px solid var(--gold)}.btn-secondary:hover{background:var(--gold);color:var(--ivory);transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--charcoal);border:2px solid var(--gold)}.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:var(--ivory);transform:translateY(-2px);box-shadow:var(--shadow-gold)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-family:var(--font-ui);font-size:.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--charcoal-muted);margin-bottom:var(--space-sm)}.form-input,.form-textarea,.form-select{width:100%;padding:12px 16px;font-size:1rem;color:var(--charcoal);background:var(--ivory-warm);border:1px solid var(--ivory-dark);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out-expo);outline:none}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.form-textarea{min-height:120px;resize:vertical}.card{background:#fff;border:1px solid var(--ivory-dark);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--duration-normal) var(--ease-out-expo)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-deep)}.toast{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:.9rem;animation:slideUp .4s var(--ease-out-back)}.toast-success{background:#e8f5e9;color:#2e5e3f;border:1px solid #A5D6A7}.toast-error{background:#ffebee;color:var(--crimson);border:1px solid #FFCDD2}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--ivory)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dark)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}::selection{background:var(--gold-glow);color:var(--charcoal)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:1px solid transparent;transition:box-shadow var(--duration-normal) var(--ease-out-expo)}.navbar-inner{max-width:1200px;margin:0 auto;padding:0 var(--space-lg);display:flex;align-items:center;justify-content:space-between;height:72px}.navbar-logo{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--ivory);text-decoration:none;letter-spacing:2px;text-shadow:0 1px 6px rgba(0,0,0,.6);transition:color var(--duration-fast) var(--ease-out-expo),text-shadow var(--duration-fast) var(--ease-out-expo)}.logo-heart{color:var(--crimson);font-size:.9rem;animation:heartbeat 2s ease-in-out infinite}.logo-ampersand{color:var(--ivory);transition:color var(--duration-fast) var(--ease-out-expo)}.navbar.scrolled .navbar-logo,.navbar.scrolled .logo-ampersand{color:var(--charcoal);text-shadow:none}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.2)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}.navbar-links{display:flex;list-style:none;gap:var(--space-lg);align-items:center}.navbar-links a{font-family:var(--font-ui);font-size:.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--ivory-dark);text-decoration:none;padding:8px 0;position:relative;text-shadow:0 1px 6px rgba(0,0,0,.6);transition:color var(--duration-fast) var(--ease-out-expo),text-shadow var(--duration-fast) var(--ease-out-expo)}.navbar.scrolled .navbar-links a{color:var(--charcoal-light);text-shadow:none}.navbar-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:width var(--duration-normal) var(--ease-out-expo)}.navbar-links a:hover,.navbar-links a.active{color:var(--crimson)}.navbar-links a.active:after,.navbar-links a:hover:after{width:100%}.navbar-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.navbar-toggle span{display:block;width:24px;height:2px;background:var(--ivory);filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));transition:all var(--duration-fast) var(--ease-out-expo)}.navbar.scrolled .navbar-toggle span{background:var(--charcoal);filter:none}.navbar-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar-toggle.active span:nth-child(2){opacity:0}.navbar-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.navbar-toggle{display:flex}.navbar-links{position:fixed;inset:72px 0 0;flex-direction:column;background:var(--ivory);padding:var(--space-xl);gap:var(--space-lg);transform:translate(100%);transition:transform var(--duration-normal) var(--ease-out-expo)}.navbar-links.open{transform:translate(0)}.navbar-links a{font-size:1rem}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0;background:#1a1510;overflow:hidden}.hero-img{width:100%;height:100%;object-fit:cover;object-position:center 55%;mask-image:radial-gradient(ellipse 70% 65% at 50% 50%,#000 30%,#0009 55%,#0003 75%,#0000);-webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 50%,rgba(0,0,0,1) 30%,rgba(0,0,0,.6) 55%,rgba(0,0,0,.2) 75%,rgba(0,0,0,0) 100%);opacity:.85}.hero-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 70% 60% at 50% 50%,#1e191433,#1e191466 50%,#1a1510d9 80%,#1a1510)}.hero-petals{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.petal{position:absolute;top:-20px;width:12px;height:12px;background:var(--rose-petal);border-radius:50% 0 50% 50%;opacity:.5;animation:petalFall linear infinite}@keyframes petalFall{0%{transform:translateY(-20px) rotate(0) translate(0);opacity:0}10%{opacity:.5}90%{opacity:.3}to{transform:translateY(100vh) rotate(360deg) translate(80px);opacity:0}}.hero-particles{position:absolute;inset:0;z-index:2;pointer-events:none}.gold-particle{position:absolute;width:3px;height:3px;background:var(--gold);border-radius:50%;animation:sparkle ease-in-out infinite alternate}@keyframes sparkle{0%{opacity:0;transform:scale(.5)}50%{opacity:.8}to{opacity:0;transform:scale(1.5)}}.hero-content{position:relative;z-index:3;text-align:center;padding:var(--space-xl);display:flex;flex-direction:column;align-items:center}.hero-ornament-top{font-size:1rem;color:var(--gold-light);letter-spacing:8px;margin-bottom:var(--space-md)}.hero-subtitle-top{font-family:var(--font-body);font-style:italic;font-size:clamp(.9rem,2vw,1.2rem);color:var(--ivory-dark);letter-spacing:3px;margin-bottom:var(--space-lg)}.hero-title{display:flex;flex-direction:column;align-items:center;gap:0}.hero-name{font-family:var(--font-script);font-size:clamp(4rem,12vw,8rem);font-weight:400;color:var(--ivory);line-height:1.1;text-shadow:0 2px 20px rgba(0,0,0,.3);letter-spacing:0}.hero-ampersand{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.5rem);font-style:italic;color:var(--gold);margin:4px 0}.hero-date{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-xl)}.date-text{font-family:var(--font-ui);font-size:clamp(.75rem,1.5vw,.9rem);font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--ivory);white-space:nowrap}.date-line{width:60px;height:1px;background:var(--gold)}.hero-countdown{display:flex;gap:var(--space-lg);margin-top:var(--space-xl)}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:64px}.countdown-number{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--ivory);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.3)}.countdown-label{font-family:var(--font-ui);font-size:.65rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);margin-top:4px}.hero-rose{margin-top:var(--space-xl)}.enchanted-rose{width:60px;height:90px}.rose-glow{animation:roseGlow 3s ease-in-out infinite alternate}@keyframes roseGlow{0%{opacity:.4;r:28}to{opacity:.8;r:34}}.rose-petal-1,.rose-petal-2,.rose-petal-3{animation:petalSway 4s ease-in-out infinite alternate}.rose-petal-2{animation-delay:.5s}.rose-petal-3{animation-delay:1s}@keyframes petalSway{0%{transform:rotate(0)}to{transform:rotate(2deg)}}.glass-dome{animation:domeShimmer 5s ease-in-out infinite alternate}@keyframes domeShimmer{0%{stroke-opacity:.2}to{stroke-opacity:.5}}.hero-scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--ivory-dark)}.hero-scroll-indicator span{font-family:var(--font-ui);font-size:.7rem;letter-spacing:2px;text-transform:uppercase;opacity:.7}.scroll-arrow{animation:scrollBounce 2s ease-in-out infinite}.scroll-arrow svg{transform:rotate(180deg)}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media(max-width:600px){.hero-countdown{gap:var(--space-md)}.countdown-item{min-width:50px}.date-line{width:30px}}.our-story{background:var(--ivory);position:relative}.timeline{position:relative;max-width:900px;margin:0 auto;padding:var(--space-xl) 0}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,var(--gold),var(--gold),transparent);transform:translate(-50%)}.timeline-card{display:flex;gap:var(--space-lg);margin-bottom:var(--space-2xl);position:relative;width:45%}.timeline-card.left{margin-right:auto;flex-direction:row}.timeline-card.right{margin-left:auto;flex-direction:row-reverse;text-align:right}.timeline-card:after{content:"";position:absolute;top:30px;width:14px;height:14px;background:var(--gold);border:3px solid var(--ivory);border-radius:50%;z-index:2;box-shadow:0 0 0 4px var(--gold-glow)}.timeline-card.left:after{right:-31px}.timeline-card.right:after{left:-31px}.timeline-card-image{position:relative;width:100%;max-width:180px;min-width:120px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.timeline-card-image img{width:100%;height:200px;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out-expo)}.timeline-card:hover .timeline-card-image img{transform:scale(1.05)}.timeline-card-image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(45,45,45,.15) 100%)}.timeline-card-content{flex:1;display:flex;flex-direction:column;justify-content:center}.timeline-card-date{font-family:var(--font-ui);font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:var(--space-xs)}.timeline-card-title{font-family:var(--font-display);font-size:1.3rem;color:var(--charcoal);margin-bottom:var(--space-sm)}.timeline-card-desc{font-size:.9rem;color:var(--charcoal-muted);line-height:1.6}@media(max-width:768px){.timeline-line{left:20px}.timeline-card{width:100%;padding-left:50px;flex-direction:column!important;text-align:left!important}.timeline-card.left,.timeline-card.right{margin:0;margin-bottom:var(--space-xl)}.timeline-card:after{left:13px!important;right:auto!important}.timeline-card-image{max-width:100%}.timeline-card-image img{height:180px}}.the-wedding{background:var(--charcoal);color:var(--ivory);position:relative;overflow:hidden}.the-wedding .section-title{color:var(--ivory)}.the-wedding .section-subtitle{color:var(--gold-light)}.the-wedding .ornament:before,.the-wedding .ornament:after{background:linear-gradient(90deg,transparent,var(--gold),transparent)}.wedding-bg-ornament{position:absolute;top:-100px;right:-100px;width:400px;height:400px;border:1px solid rgba(201,169,78,.08);border-radius:50%;pointer-events:none}.wedding-bg-ornament:before{content:"";position:absolute;inset:40px;border:1px solid rgba(201,169,78,.06);border-radius:50%}.wedding-details{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);margin-top:var(--space-xl)}.wedding-detail-card{background:#ffffff0a;border:1px solid rgba(201,169,78,.15);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);text-align:center;transition:all var(--duration-normal) var(--ease-out-expo)}.wedding-detail-card:hover{background:#ffffff14;border-color:#c9a94e4d;transform:translateY(-4px)}.wedding-detail-icon{font-size:2rem;display:block;margin-bottom:var(--space-md)}.wedding-detail-title{font-family:var(--font-ui);font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-sm)}.wedding-detail-info{font-family:var(--font-display);font-size:1.3rem;color:var(--ivory);margin-bottom:var(--space-xs)}.wedding-detail-sub{font-size:.8rem;color:var(--charcoal-muted);color:#faf3e080}.wedding-map-placeholder,.wedding-map-container{margin-top:var(--space-2xl)}.map-placeholder-inner{background:#ffffff08;border:1px dashed rgba(201,169,78,.2);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;color:#faf3e066}.map-icon{font-size:2.5rem;display:block;margin-bottom:var(--space-md)}@media(max-width:768px){.wedding-details{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.wedding-details{grid-template-columns:1fr}}.rsvp{background:var(--ivory-warm)}.rsvp-form{max-width:680px;margin:0 auto;background:#fff;padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--ivory-dark);box-shadow:var(--shadow-soft)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.rsvp-radio-group{display:flex;gap:var(--space-md)}.rsvp-radio{flex:1;display:flex;align-items:center;justify-content:center;padding:14px;border:2px solid var(--ivory-dark);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);font-size:.9rem}.rsvp-radio input{display:none}.rsvp-radio:hover{border-color:var(--gold)}.rsvp-radio.active{border-color:var(--gold);background:var(--gold-glow);color:var(--charcoal)}.rsvp-captcha{display:flex;justify-content:center;margin:var(--space-lg) 0}.rsvp-submit{width:100%}.rsvp-submit:disabled{opacity:.6;cursor:not-allowed}.rsvp-error{text-align:center;color:var(--crimson);margin-top:var(--space-md);font-size:.9rem}.rsvp-success{max-width:500px;margin:0 auto;text-align:center;padding:var(--space-2xl);background:#fff;border-radius:var(--radius-lg);border:1px solid var(--ivory-dark)}.success-icon{font-size:3rem;display:block;margin-bottom:var(--space-md)}.rsvp-success h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--space-sm)}.rsvp-success p{color:var(--charcoal-muted)}@media(max-width:600px){.form-row{grid-template-columns:1fr}.rsvp-radio-group{flex-direction:column}.rsvp-form{padding:var(--space-lg)}}.guestbook{background:var(--charcoal);color:var(--ivory)}.guestbook .section-title{color:var(--ivory)}.guestbook .section-subtitle{color:var(--gold-light)}.guestbook .ornament:before,.guestbook .ornament:after{background:linear-gradient(90deg,transparent,var(--gold),transparent)}.guestbook-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:start}.guestbook-messages-title,.guestbook-form-title{font-family:var(--font-display);font-size:1.2rem;margin-bottom:var(--space-lg);color:var(--gold-light)}.guestbook-list{display:flex;flex-direction:column;gap:var(--space-md);max-height:500px;overflow-y:auto;padding-right:var(--space-sm)}.guestbook-list::-webkit-scrollbar{width:4px}.guestbook-list::-webkit-scrollbar-thumb{background:var(--gold-dark);border-radius:2px}.guestbook-card{background:#ffffff0d;border:1px solid rgba(201,169,78,.1);border-radius:var(--radius-lg);padding:var(--space-lg);transition:background var(--duration-fast) ease}.guestbook-card:hover{background:#ffffff14}.guestbook-card-message{font-family:var(--font-body);font-style:italic;font-size:.95rem;line-height:1.6;color:#faf3e0d9;margin-bottom:var(--space-md)}.guestbook-card-footer{display:flex;justify-content:space-between;align-items:center}.guestbook-card-author{font-family:var(--font-display);font-size:.85rem;color:var(--gold)}.guestbook-card-date{font-family:var(--font-ui);font-size:.7rem;color:#faf3e066}.guestbook-empty{text-align:center;padding:var(--space-2xl);color:#faf3e066;font-style:italic}.guestbook-form{background:#ffffff0a;border:1px solid rgba(201,169,78,.15);border-radius:var(--radius-lg);padding:var(--space-xl)}.guestbook-form .form-input,.guestbook-form .form-textarea{background:#ffffff0f;border-color:#c9a94e26;color:var(--ivory)}.guestbook-form .form-input::placeholder,.guestbook-form .form-textarea::placeholder{color:#faf3e059}.guestbook-form .form-input:focus,.guestbook-form .form-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a94e26}.guestbook-form .form-label{color:#faf3e099}.guestbook-sent{text-align:center;padding:var(--space-2xl)}.guestbook-sent h3{font-family:var(--font-display);font-size:1.3rem;color:var(--gold-light);margin-bottom:var(--space-sm)}.guestbook-sent p{color:#faf3e099;margin-bottom:var(--space-lg)}@media(max-width:768px){.guestbook-layout{grid-template-columns:1fr}.guestbook-list{max-height:350px}}.gift-registry{background:var(--ivory)}.gifts-empty{text-align:center;padding:var(--space-2xl);color:var(--charcoal-muted);font-size:1.1rem;font-style:italic}.gifts-category{margin-bottom:var(--space-2xl)}.gifts-category-title{font-family:var(--font-display);font-size:1.4rem;color:var(--charcoal);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--ivory-dark)}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg)}.gift-card{cursor:pointer;border:1px solid var(--ivory-dark);display:flex;flex-direction:column}.gift-card-image{height:180px;overflow:hidden}.gift-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out-expo)}.gift-card:hover .gift-card-image img{transform:scale(1.05)}.gift-card-body{padding:var(--space-lg) var(--space-lg) var(--space-md);display:flex;flex-direction:column;height:100%}.gift-card-name{font-family:var(--font-display);font-size:1.1rem;margin-bottom:var(--space-sm);color:var(--charcoal)}.gift-card-desc{font-size:.85rem;color:var(--charcoal-muted);margin-bottom:var(--space-md);line-height:1.5;flex:1}.gift-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding-top:var(--space-sm);border-top:1px solid var(--ivory-dark)}.gift-card-price{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--crimson);white-space:nowrap}.btn-sm{padding:8px 16px;font-size:.75rem}.gift-modal-overlay{position:fixed;inset:0;background:#2d2d2db3;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.gift-modal{background:#fff;border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--space-xl);position:relative}.gift-modal-close{position:absolute;top:16px;right:16px;font-size:1.5rem;color:var(--charcoal-muted);background:none;border:none;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background var(--duration-fast) ease}.gift-modal-close:hover{background:var(--ivory-dark)}.gift-modal-header{text-align:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--ivory-dark)}.gift-modal-header h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--space-sm)}.gift-modal-price{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--crimson)}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.payment-method{display:flex;flex-direction:column;align-items:center;padding:var(--space-lg);border:2px solid var(--ivory-dark);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);text-align:center}.payment-method input{display:none}.payment-method:hover{border-color:var(--gold)}.payment-method.active{border-color:var(--gold);background:var(--gold-glow)}.payment-method-icon{font-size:1.8rem;margin-bottom:var(--space-xs)}.payment-method-label{font-family:var(--font-ui);font-size:.9rem;font-weight:600;color:var(--charcoal)}.payment-method-hint{font-family:var(--font-ui);font-size:.7rem;color:var(--charcoal-muted)}.gift-modal-success{text-align:center;padding:var(--space-lg) 0}.gift-modal-success h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--space-sm)}.gift-modal-success p{color:var(--charcoal-muted);margin-bottom:var(--space-lg)}.pix-section{margin:var(--space-lg) 0;padding:var(--space-lg);background:var(--ivory-warm);border-radius:var(--radius-lg)}.pix-label{font-family:var(--font-ui);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--charcoal-muted);margin-bottom:var(--space-sm)}.pix-code{display:flex;align-items:center;gap:var(--space-sm);background:#fff;border:1px solid var(--ivory-dark);border-radius:var(--radius-md);padding:var(--space-sm);margin-bottom:var(--space-sm)}.pix-code code{flex:1;font-size:.75rem;word-break:break-all;color:var(--charcoal)}.pix-hint{font-size:.8rem;color:var(--charcoal-muted);font-style:italic}@media(max-width:600px){.gifts-grid{grid-template-columns:1fr}.gift-modal{padding:var(--space-lg)}}.footer{background:var(--charcoal);color:var(--ivory);padding:var(--space-2xl) var(--space-lg);text-align:center}.footer-inner{max-width:600px;margin:0 auto}.footer-rose{font-size:2rem;margin-bottom:var(--space-md);animation:heartbeat 2s ease-in-out infinite}.footer-names{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin-bottom:var(--space-xs)}.footer-date{font-family:var(--font-ui);font-size:.8rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-lg)}.footer-ornament{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.footer-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.footer-heart{color:var(--crimson-light);font-size:.8rem}.footer-quote{font-family:var(--font-body);font-style:italic;font-size:.9rem;color:#faf3e099;margin-bottom:var(--space-xl)}.footer-copy{font-family:var(--font-ui);font-size:.7rem;color:#faf3e04d;letter-spacing:1px}
