@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.e2c8389a.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.9c448f3c.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.4f3fa681.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.d19752fb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_d5eda251-module__JGL7aG__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_d5eda251-module__JGL7aG__variable{--font-playfair:"Playfair Display","Playfair Display Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_7b064e0d-module__MOT0tq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_7b064e0d-module__MOT0tq__variable{--font-inter:"Inter","Inter Fallback"}
body[data-theme=Default]{--primary-color:#d4af37;--primary-light:#f5e6c8;--primary-dark:#c8a334;--text-primary:#2c2520;--text-secondary:#6b5d52;--text-muted:#9b8b7e;--bg-primary:#fff;--bg-secondary:#fdfbf7;--bg-accent:#fef9f0;--border-color:#e7e5e4;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--font-heading:"Playfair Display",serif;--font-body:"Inter",sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem}body[data-theme=Default] *{box-sizing:border-box;margin:0;padding:0}body[data-theme=Default]{font-family:var(--font-body);color:var(--text-primary);background:linear-gradient(135deg,#fdfbf7 0%,#fff 50%,#fef9f0 100%);min-height:100vh;line-height:1.6}body[data-theme=Default] h1,body[data-theme=Default] h2,body[data-theme=Default] h3,body[data-theme=Default] h4,body[data-theme=Default] h5,body[data-theme=Default] h6,body[data-theme=Default] .wedding-couple-names{font-family:var(--font-heading);margin-bottom:var(--spacing-md);font-weight:700;line-height:1.2}body[data-theme=Default] h1{font-size:3.5rem}body[data-theme=Default] h2{font-size:3rem}body[data-theme=Default] h3{font-size:2rem}body[data-theme=Default] h4{font-size:1.5rem}body[data-theme=Default] h5{font-size:1.25rem}body[data-theme=Default] h6{font-size:1rem}body[data-theme=Default] p{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}body[data-theme=Default] a{color:var(--primary-color);text-decoration:none;transition:all .3s}body[data-theme=Default] a:hover{color:var(--primary-dark)}body[data-theme=Default] .wedding-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);z-index:50;border-bottom:1px solid var(--border-color);background:#fffffff2;position:sticky;top:0}body[data-theme=Default] .wedding-nav-container{max-width:1200px;padding:var(--spacing-md)var(--spacing-md);margin:0 auto;position:relative}body[data-theme=Default] .wedding-nav-hamburger{cursor:pointer;z-index:60;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px;display:none}body[data-theme=Default] .wedding-nav-hamburger span{background:var(--text-primary);border-radius:2px;width:25px;height:3px;transition:all .3s;display:block}body[data-theme=Default] .wedding-nav-links{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;list-style:none;display:flex}body[data-theme=Default] .wedding-nav-link{color:var(--text-secondary);font-size:1rem;font-weight:500;transition:color .3s}body[data-theme=Default] .wedding-nav-link:hover{color:var(--primary-color)}@media (max-width:768px){body[data-theme=Default] .wedding-nav{position:fixed;top:0;left:0;right:0}body[data-theme=Default] .wedding-nav-container{justify-content:center;align-items:center;display:flex}body[data-theme=Default] .wedding-nav-hamburger{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-theme=Default] .wedding-nav-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none;opacity:0;pointer-events:none;background:#fffffffa;flex-direction:column;justify-content:center;align-items:center;gap:0;height:100vh;max-height:none;padding:0;transition:opacity .3s;position:fixed;inset:0}body[data-theme=Default] .wedding-nav-links.open{opacity:1;pointer-events:auto}body[data-theme=Default] .wedding-nav-links li{text-align:center;width:100%;max-width:300px}body[data-theme=Default] .wedding-nav-link{padding:var(--spacing-md);text-align:center;border-bottom:1px solid var(--border-color);font-size:1.25rem;display:block}body[data-theme=Default] .wedding-nav-link:last-child{border-bottom:none}}body[data-theme=Default] .wedding-hero{background:linear-gradient(135deg,var(--bg-accent)0%,var(--bg-primary)50%,var(--bg-secondary)100%);min-height:100vh;padding:var(--spacing-2xl)var(--spacing-md);justify-content:center;align-items:center;display:flex;position:relative}body[data-theme=Default] .wedding-hero:before{content:"";opacity:.3;background:radial-gradient(circle at 50% 120%,#d4af3726,#0000);position:absolute;inset:0}body[data-theme=Default] .wedding-hero-content{text-align:center;max-width:1000px;position:relative}body[data-theme=Default] .wedding-example-badge{background:var(--primary-light);color:var(--primary-dark);padding:var(--spacing-xs)var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:9999px;font-size:.875rem;font-weight:500;display:inline-block}body[data-theme=Default] .wedding-example-badge-icon{margin-right:var(--spacing-xs)}body[data-theme=Default] .wedding-example-badge a{color:var(--primary-dark);text-decoration:underline}body[data-theme=Default] .wedding-example-badge a:hover{color:var(--primary-dark);text-decoration:none}body[data-theme=Default] .wedding-header-image{width:100%;max-width:800px;margin:0 auto var(--spacing-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}body[data-theme=Default] .wedding-header-image img{border-radius:var(--radius-xl);width:100%;height:auto}body[data-theme=Default] .wedding-couple-names{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:4.5rem;font-weight:700}@media (max-width:768px){body[data-theme=Default] .wedding-couple-names{flex-direction:column;align-items:center;gap:.5rem;font-size:3rem;display:flex}body[data-theme=Default] .wedding-name-separator{font-size:2.5rem}}body[data-theme=Default] .wedding-divider{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}body[data-theme=Default] .wedding-divider-line{background:linear-gradient(90deg,transparent,var(--primary-color),transparent);width:4rem;height:2px}body[data-theme=Default] .wedding-divider-icon{color:var(--primary-color);font-size:1.5rem;animation:2s ease-in-out infinite default-pulse}@keyframes default-pulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}body[data-theme=Default] .wedding-date{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:1.5rem}body[data-theme=Default] .wedding-countdown{font-size:1.25rem;font-weight:600}body[data-theme=Default] .wedding-countdown.today,body[data-theme=Default] .wedding-countdown.future{color:var(--primary-color)}body[data-theme=Default] .wedding-countdown.past{color:var(--text-muted)}body[data-theme=Default] .wedding-section{padding:var(--spacing-2xl)var(--spacing-md)}body[data-theme=Default] .wedding-section.bg-white{background:var(--bg-primary)}body[data-theme=Default] .wedding-section.bg-alt{background:linear-gradient(135deg,var(--bg-secondary)0%,var(--bg-primary)100%)}body[data-theme=Default] .wedding-section.bg-accent{background:linear-gradient(135deg,var(--bg-accent)0%,var(--bg-primary)100%)}body[data-theme=Default] .wedding-container{max-width:1200px;margin:0 auto}body[data-theme=Default] .wedding-container-narrow{max-width:800px;margin:0 auto}body[data-theme=Default] .wedding-section-title{text-align:center;color:var(--text-primary);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-2xl);font-size:3rem}body[data-theme=Default] .wedding-section-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-xl);max-width:700px;margin-left:auto;margin-right:auto;font-size:1.125rem}body[data-theme=Default] .wedding-story-text{color:var(--text-secondary);white-space:pre-line;font-size:1.125rem;line-height:1.8}body[data-theme=Default] .wedding-timeline-list{margin-bottom:var(--spacing-2xl);max-width:800px;margin-left:auto;margin-right:auto}body[data-theme=Default] .wedding-timeline-item{text-align:center;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);flex-direction:column;transition:all .3s;display:flex}body[data-theme=Default] .wedding-timeline-item:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-light);transform:translateY(-4px)}body[data-theme=Default] .wedding-timeline-icon{background:linear-gradient(135deg,var(--primary-light)0%,#fff8e7 100%);width:5rem;height:5rem;box-shadow:var(--shadow-md);border:3px solid var(--bg-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;transition:all .3s;display:flex}body[data-theme=Default] .wedding-timeline-item:hover .wedding-timeline-icon{box-shadow:var(--shadow-lg);transform:scale(1.1)}body[data-theme=Default] .wedding-timeline-icon svg{width:60%;height:60%}body[data-theme=Default] .wedding-timeline-content{flex:1}body[data-theme=Default] .wedding-timeline-header{align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}body[data-theme=Default] .wedding-timeline-name{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}body[data-theme=Default] .wedding-timeline-time{color:var(--primary-color);background:var(--primary-light);border-radius:var(--radius-sm);padding:.25rem .75rem;font-size:1.125rem;font-weight:700}body[data-theme=Default] .wedding-timeline-location{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:1.125rem;font-weight:500}body[data-theme=Default] .wedding-timeline-description{color:var(--text-muted);font-size:1rem;line-height:1.6}body[data-theme=Default] .wedding-timeline-visual{width:100%;margin-top:var(--spacing-xl)}body[data-theme=Default] .wedding-bestpersons-grid{gap:var(--spacing-xl);grid-template-columns:1fr;display:grid}@media (min-width:768px){body[data-theme=Default] .wedding-bestpersons-grid{grid-template-columns:repeat(2,1fr)}}body[data-theme=Default] .wedding-bestperson{text-align:center}body[data-theme=Default] .wedding-bestperson-image{width:12rem;height:12rem;margin:0 auto var(--spacing-md);object-fit:cover;box-shadow:var(--shadow-xl);border:4px solid var(--bg-primary);border-radius:50%}body[data-theme=Default] .wedding-bestperson-name{color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:1.5rem;font-weight:700}body[data-theme=Default] .wedding-bestperson-role{color:var(--text-muted);margin-bottom:var(--spacing-sm);font-size:.875rem}body[data-theme=Default] .wedding-bestperson-description{color:var(--text-secondary);line-height:1.6}body[data-theme=Default] .wedding-content-text{color:var(--text-secondary);white-space:pre-line;font-size:1.125rem;line-height:1.8}body[data-theme=Default] .wedding-photos-grid{gap:var(--spacing-md);margin-top:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:640px){body[data-theme=Default] .wedding-photos-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){body[data-theme=Default] .wedding-photos-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){body[data-theme=Default] .wedding-photos-grid{grid-template-columns:repeat(4,1fr)}}body[data-theme=Default] .wedding-photo-item{aspect-ratio:1;border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:box-shadow .3s;position:relative;overflow:hidden}body[data-theme=Default] .wedding-photo-item:hover{box-shadow:var(--shadow-xl)}body[data-theme=Default] .wedding-photo-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s}body[data-theme=Default] .wedding-photo-item:hover img{transform:scale(1.1)}body[data-theme=Default] .wedding-empty-state{text-align:center;color:var(--text-muted);padding:var(--spacing-xl);font-style:italic}body[data-theme=Default] .wedding-info-box{text-align:center;background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-lg);max-width:700px;margin:0 auto var(--spacing-xl)}body[data-theme=Default] .wedding-info-text{color:var(--text-secondary)}body[data-theme=Default] .wedding-error{justify-content:center;align-items:center;min-height:100vh;display:flex}body[data-theme=Default] .wedding-error-content{text-align:center}body[data-theme=Default] .wedding-error-title{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:2rem;font-weight:700}body[data-theme=Default] .wedding-error-link{color:var(--primary-color)}body[data-theme=Default] .wedding-error-link:hover{text-decoration:underline}body[data-theme=Default] .wedding-footer{color:#f5e6c8;padding:var(--spacing-lg)var(--spacing-md);margin-top:var(--spacing-2xl);background:linear-gradient(135deg,#2c2520 0%,#3d342c 100%)}body[data-theme=Default] .wedding-footer-content{text-align:center;max-width:1000px;margin:0 auto}body[data-theme=Default] .wedding-footer-text{color:#f5e6c8;opacity:.9;font-size:.875rem}body[data-theme=Default] .wedding-footer-link{color:var(--primary-light);text-decoration:underline;transition:all .3s}body[data-theme=Default] .wedding-footer-link:hover{color:var(--primary-color);text-decoration:none}body[data-theme=Default] .rsvp-container{margin:var(--spacing-xl)0;padding:var(--spacing-xl);background:linear-gradient(135deg,var(--bg-accent),var(--bg-secondary));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}body[data-theme=Default] .rsvp-title{font-family:var(--font-heading);margin-bottom:var(--spacing-md);color:var(--text-primary);text-align:center;font-size:2.5rem;font-weight:700}body[data-theme=Default] .rsvp-responded{color:var(--text-secondary);text-align:center;font-size:1.1rem;line-height:1.6}body[data-theme=Default] .rsvp-link-button{color:var(--primary-color);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline;transition:color .3s}body[data-theme=Default] .rsvp-link-button:hover{color:var(--primary-dark)}body[data-theme=Default] .rsvp-intro-text{margin-bottom:var(--spacing-md);color:var(--text-secondary);text-align:center;font-size:1.1rem;line-height:1.8}body[data-theme=Default] .rsvp-instructions{margin-bottom:var(--spacing-xl);color:var(--text-muted);text-align:center;font-size:.95rem;font-style:italic;line-height:1.6}body[data-theme=Default] .rsvp-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Default] .rsvp-invitee-card{padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff;transition:all .3s}body[data-theme=Default] .rsvp-invitee-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Default] .rsvp-invitee-header{margin-bottom:var(--spacing-md)}body[data-theme=Default] .rsvp-invitee-name{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:1.2rem;font-weight:600}body[data-theme=Default] .rsvp-attendance-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Default] .rsvp-radio-label{align-items:center;gap:var(--spacing-xs);cursor:pointer;padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);transition:background-color .2s;display:flex}body[data-theme=Default] .rsvp-radio-label:hover{background-color:var(--bg-accent)}body[data-theme=Default] .rsvp-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Default] .rsvp-radio-text{font-size:1rem;font-weight:500}body[data-theme=Default] .rsvp-radio-text.rsvp-yes{color:#2d7a3e}body[data-theme=Default] .rsvp-radio-text.rsvp-no{color:#a73c2e}body[data-theme=Default] .rsvp-invitee-notes{flex-direction:column;display:flex}body[data-theme=Default] .rsvp-notes-label{color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-size:.9rem;display:block}body[data-theme=Default] .rsvp-notes-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);background:#fff;font-size:1rem;transition:all .3s}body[data-theme=Default] .rsvp-notes-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #d4af3726}body[data-theme=Default] .rsvp-message-card{margin-top:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff}body[data-theme=Default] .rsvp-message-label{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Default] .rsvp-message-textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);resize:vertical;background:#fff;min-height:6rem;font-size:1rem;line-height:1.6;transition:all .3s}body[data-theme=Default] .rsvp-message-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #f43f5e1a}body[data-theme=Default] .rsvp-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Default] .rsvp-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Default] .rsvp-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Default] .rsvp-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Default] .rsvp-status-message{padding:var(--spacing-md);border-radius:var(--radius-sm);text-align:center;font-weight:500}body[data-theme=Default] .rsvp-status-success{color:#2d7a3e;background-color:#e8f5e9;border:1px solid #4caf50}body[data-theme=Default] .rsvp-status-error{color:#a73c2e;background-color:#ffebee;border:1px solid #e57373}body[data-theme=Default] .raffle-container{margin:var(--spacing-xl)0}body[data-theme=Default] .raffle-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Default] .raffle-intro-text{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:1.1rem;line-height:1.8}body[data-theme=Default] .raffle-question-card{padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff;transition:all .3s}body[data-theme=Default] .raffle-question-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Default] .raffle-question-text{margin-bottom:var(--spacing-md);color:var(--text-primary);font-size:1.125rem;font-weight:600}body[data-theme=Default] .raffle-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Default] .raffle-option-label{align-items:center;gap:var(--spacing-xs);cursor:pointer;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-sm);background:var(--bg-secondary);border:2px solid #0000;transition:all .2s;display:flex}body[data-theme=Default] .raffle-option-label:hover{background:var(--bg-accent);border-color:var(--primary-light)}body[data-theme=Default] .raffle-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Default] .raffle-option-text{color:var(--text-primary);font-size:1rem;font-weight:500}body[data-theme=Default] .raffle-email-card{padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff}body[data-theme=Default] .raffle-email-label{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Default] .raffle-email-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);background:#fff;font-size:1rem;transition:all .3s}body[data-theme=Default] .raffle-email-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #f43f5e1a}body[data-theme=Default] .raffle-email-hint{color:var(--text-muted);margin-top:var(--spacing-xs);font-size:.875rem}body[data-theme=Default] .raffle-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Default] .raffle-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Default] .raffle-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Default] .raffle-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Default] .raffle-status-success{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#2d7a3e;text-align:center;background-color:#e8f5e9;border:1px solid #4caf50;font-weight:500}body[data-theme=Default] .raffle-status-error{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#a73c2e;text-align:center;background-color:#ffebee;border:1px solid #e57373;font-weight:500}body[data-theme=Default] .upload-container{margin:var(--spacing-xl)0}body[data-theme=Default] .upload-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Default] .upload-intro-text{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:1.1rem;line-height:1.8}body[data-theme=Default] .upload-file-card{padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);gap:var(--spacing-md);background:#fff;flex-direction:column;align-items:center;transition:all .3s;display:flex}body[data-theme=Default] .upload-file-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Default] .upload-file-input{display:none}body[data-theme=Default] .upload-file-label{padding:var(--spacing-md)var(--spacing-xl);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-accent));border:2px solid var(--primary-light);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);text-align:center;font-size:1.1rem;font-weight:600;transition:all .3s;display:inline-block}body[data-theme=Default] .upload-file-label:hover{background:linear-gradient(135deg,var(--primary-light),var(--bg-accent));border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}body[data-theme=Default] .upload-file-hint{color:var(--primary-dark);text-align:center;margin:0;font-size:1rem;font-weight:600}body[data-theme=Default] .upload-file-info{color:var(--text-muted);text-align:center;margin:0;font-size:.875rem;line-height:1.6}body[data-theme=Default] .upload-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Default] .upload-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Default] .upload-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Default] .upload-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Default] .upload-status-success{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#2d7a3e;text-align:center;background-color:#e8f5e9;border:1px solid #4caf50;font-weight:500}body[data-theme=Default] .upload-status-error{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#a73c2e;text-align:center;background-color:#ffebee;border:1px solid #e57373;font-weight:500}@media (max-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.wedding-couple-names{font-size:3rem}.wedding-section-title{font-size:2rem}}@media (max-width:480px){.wedding-nav-links{gap:var(--spacing-xs)}.wedding-nav-link{font-size:.875rem}}
body[data-theme=Lavender]{--primary-color:#a78bfa;--primary-light:#ddd6fe;--primary-dark:#9d6fec;--text-primary:#3f3f46;--text-secondary:#71717a;--text-muted:#a0a0b0;--bg-primary:#fefeff;--bg-secondary:#faf5ff;--bg-accent:#f3e8ff;--border-color:#e9d5ff;--shadow-sm:0 1px 3px 0 #8b5cf61a;--shadow-md:0 4px 6px -1px #8b5cf626;--shadow-lg:0 10px 15px -3px #8b5cf633;--shadow-xl:0 20px 25px -5px #8b5cf640;--font-heading:"Great Vibes",cursive;--font-body:"Lato","Inter",sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--radius-sm:1rem;--radius-md:1.25rem;--radius-lg:1.5rem;--radius-xl:2rem}body[data-theme=Lavender] *{box-sizing:border-box;margin:0;padding:0}body[data-theme=Lavender]{font-family:var(--font-body);color:var(--text-primary);background:linear-gradient(135deg,#faf5ff 0%,#fff 50%,#f3e8ff 100%);min-height:100vh;line-height:1.7}body[data-theme=Lavender] h1,body[data-theme=Lavender] h2,body[data-theme=Lavender] h3,body[data-theme=Lavender] h4,body[data-theme=Lavender] h5,body[data-theme=Lavender] h6,body[data-theme=Lavender] .wedding-couple-names{font-family:var(--font-heading);margin-bottom:var(--spacing-md);color:var(--primary-dark);font-weight:400;line-height:1.3}body[data-theme=Lavender] h1{font-size:4.5rem}body[data-theme=Lavender] h2{font-size:3.5rem}body[data-theme=Lavender] h3{font-size:2.5rem}body[data-theme=Lavender] h4{font-size:2rem}body[data-theme=Lavender] h5{font-size:1.5rem}body[data-theme=Lavender] h6{font-size:1.25rem}body[data-theme=Lavender] p{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}body[data-theme=Lavender] a{color:var(--primary-color);text-decoration:none;transition:all .3s}body[data-theme=Lavender] a:hover{color:var(--primary-dark);text-decoration:underline}body[data-theme=Lavender] .wedding-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;border-bottom:2px solid var(--border-color);background:#faf5fffa;position:sticky;top:0;box-shadow:0 4px 12px #a78bfa1a}body[data-theme=Lavender] .wedding-nav-container{max-width:1200px;padding:var(--spacing-md);text-align:center;margin:0 auto;position:relative}body[data-theme=Lavender] .wedding-nav-hamburger{cursor:pointer;z-index:60;background:0 0;border:none;flex-direction:column;gap:5px;padding:10px;display:none}body[data-theme=Lavender] .wedding-nav-hamburger span{background:var(--primary-color);border-radius:3px;width:28px;height:3px;transition:all .3s;display:block}body[data-theme=Lavender] .wedding-nav-links{justify-content:center;gap:var(--spacing-lg);flex-wrap:wrap;list-style:none;display:flex}body[data-theme=Lavender] .wedding-nav-link{color:var(--text-secondary);letter-spacing:.5px;font-size:1.05rem;font-weight:500;transition:all .3s;position:relative}body[data-theme=Lavender] .wedding-nav-link:after{content:"";background:var(--primary-color);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}body[data-theme=Lavender] .wedding-nav-link:hover{color:var(--primary-color);text-decoration:none}body[data-theme=Lavender] .wedding-nav-link:hover:after{width:100%}@media (max-width:768px){body[data-theme=Lavender] .wedding-nav{position:fixed;top:0;left:0;right:0}body[data-theme=Lavender] .wedding-nav-container{justify-content:center;align-items:center;display:flex}body[data-theme=Lavender] .wedding-nav-hamburger{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-theme=Lavender] .wedding-nav-links{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:none;opacity:0;pointer-events:none;background:linear-gradient(135deg,#faf5fffa,#f3e8fffa);flex-direction:column;justify-content:center;align-items:center;gap:0;height:100vh;max-height:none;padding:0;transition:opacity .3s;position:fixed;inset:0}body[data-theme=Lavender] .wedding-nav-links.open{opacity:1;pointer-events:auto}body[data-theme=Lavender] .wedding-nav-links li{text-align:center;width:100%;max-width:300px}body[data-theme=Lavender] .wedding-nav-link{padding:var(--spacing-md);text-align:center;border-bottom:1px solid var(--border-color);font-size:1.25rem;display:block}body[data-theme=Lavender] .wedding-nav-link:after{display:none}body[data-theme=Lavender] .wedding-nav-link:last-child{border-bottom:none}}body[data-theme=Lavender] .wedding-hero{min-height:100vh;padding:var(--spacing-2xl)var(--spacing-md);background:linear-gradient(135deg,#faf5ff 0%,#fff 40%,#f3e8ff 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}body[data-theme=Lavender] .wedding-hero:before{content:"💐";opacity:.1;font-size:4rem;animation:6s ease-in-out infinite lavender-float;position:absolute;top:10%;left:5%}body[data-theme=Lavender] .wedding-hero:after{content:"🦋";opacity:.15;font-size:3rem;animation:8s ease-in-out infinite lavender-float;position:absolute;bottom:15%;right:8%}@keyframes lavender-float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}body[data-theme=Lavender] .wedding-hero-content{text-align:center;max-width:1000px;position:relative}body[data-theme=Lavender] .wedding-example-badge{background:linear-gradient(135deg,var(--primary-light),var(--primary-color));color:#fff;padding:var(--spacing-xs)var(--spacing-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-md);border-radius:9999px;font-size:.9rem;font-weight:500;display:inline-block}body[data-theme=Lavender] .wedding-example-badge-icon{margin-right:var(--spacing-xs)}body[data-theme=Lavender] .wedding-example-badge a{color:#fff;text-decoration:underline}body[data-theme=Lavender] .wedding-example-badge a:hover{color:#fff;text-decoration:none}body[data-theme=Lavender] .wedding-header-image{width:100%;max-width:800px;margin:0 auto var(--spacing-xl);position:relative}body[data-theme=Lavender] .wedding-header-image:before{content:"";background:linear-gradient(135deg,var(--primary-light),var(--primary-color));border-radius:var(--radius-xl);opacity:.3;z-index:-1;filter:blur(20px);position:absolute;inset:-10px}body[data-theme=Lavender] .wedding-header-image img{border-radius:var(--radius-xl);width:100%;height:auto;box-shadow:var(--shadow-xl);border:6px solid #fff}body[data-theme=Lavender] .wedding-couple-names{color:var(--primary-dark);margin-bottom:var(--spacing-lg);text-shadow:2px 2px 4px #a78bfa1a;font-size:5.5rem;font-weight:400}body[data-theme=Lavender] .wedding-divider{justify-content:center;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}body[data-theme=Lavender] .wedding-divider-line{background:linear-gradient(90deg,transparent,var(--primary-color),transparent);width:5rem;height:2px}body[data-theme=Lavender] .wedding-divider-icon{color:var(--primary-color);font-size:1.8rem;animation:2s ease-in-out infinite lavender-pulse}@keyframes lavender-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}body[data-theme=Lavender] .wedding-date{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:1.6rem;font-style:italic}body[data-theme=Lavender] .wedding-countdown{font-size:2rem;font-family:var(--font-heading);letter-spacing:1px}body[data-theme=Lavender] .wedding-countdown.today,body[data-theme=Lavender] .wedding-countdown.future{color:var(--primary-color);font-size:2rem}body[data-theme=Lavender] .wedding-countdown.past{color:var(--text-muted)}body[data-theme=Lavender] .wedding-section{padding:var(--spacing-xl)var(--spacing-md);position:relative}body[data-theme=Lavender] .wedding-section.bg-white{background:var(--bg-primary)}body[data-theme=Lavender] .wedding-section.bg-alt{background:linear-gradient(135deg,var(--bg-secondary)0%,var(--bg-primary)100%)}body[data-theme=Lavender] .wedding-section.bg-accent{background:linear-gradient(135deg,var(--bg-accent)0%,var(--bg-secondary)100%);position:relative}body[data-theme=Lavender] .wedding-section.bg-accent:before{content:"";background:radial-gradient(circle,#a78bfa1a 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:0;right:0}body[data-theme=Lavender] .wedding-container{max-width:1200px;margin:0 auto}body[data-theme=Lavender] .wedding-container-narrow{max-width:800px;margin:0 auto}body[data-theme=Lavender] .wedding-section-title{text-align:center;color:var(--primary-dark);width:100%;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);font-size:3.5rem;display:inline-block;position:relative}body[data-theme=Lavender] .wedding-section-title:after{content:"✿";text-align:center;color:var(--primary-color);margin-top:var(--spacing-sm);font-size:1.5rem;display:block}body[data-theme=Lavender] .wedding-section-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-xl);max-width:700px;margin-left:auto;margin-right:auto;font-size:1.15rem;font-style:italic}body[data-theme=Lavender] .wedding-story-text{color:var(--text-secondary);white-space:pre-line;text-align:center;font-size:1.15rem;line-height:1.9}body[data-theme=Lavender] .wedding-timeline-list{margin-bottom:var(--spacing-2xl)}body[data-theme=Lavender] .wedding-timeline-item{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--primary-color);background:#fff;align-items:flex-start;transition:transform .3s,box-shadow .3s;display:flex}body[data-theme=Lavender] .wedding-timeline-item:hover{box-shadow:var(--shadow-lg);transform:translate(8px)}body[data-theme=Lavender] .wedding-timeline-icon{background:linear-gradient(135deg,var(--primary-light),var(--primary-color));width:4.5rem;height:4.5rem;box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;display:flex}body[data-theme=Lavender] .wedding-timeline-icon svg{width:60%;height:60%}body[data-theme=Lavender] .wedding-timeline-content{flex:1}body[data-theme=Lavender] .wedding-timeline-header{align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}body[data-theme=Lavender] .wedding-timeline-name{color:var(--primary-dark);font-size:1.8rem;font-weight:400;font-family:var(--font-heading);letter-spacing:1px;margin:0}body[data-theme=Lavender] .wedding-timeline-time{background-color:var(--primary-light);border-radius:var(--radius-lg);color:var(--primary-color-dark);font-weight:700;font-family:var(--font-body);padding:var(--spacing-xs)var(--spacing-sm)}body[data-theme=Lavender] .wedding-timeline-location{color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-size:1.05rem}body[data-theme=Lavender] .wedding-timeline-description{color:var(--text-muted);font-size:.95rem;font-style:italic}body[data-theme=Lavender] .wedding-timeline-visual{width:100%;margin-top:var(--spacing-xl);filter:drop-shadow(0 4px 8px #a78bfa33)}body[data-theme=Lavender] .wedding-bestpersons-grid{gap:var(--spacing-2xl);grid-template-columns:1fr;display:grid}@media (min-width:768px){body[data-theme=Lavender] .wedding-bestpersons-grid{grid-template-columns:repeat(2,1fr)}}body[data-theme=Lavender] .wedding-bestperson{text-align:center;padding:var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:2px solid var(--border-color);background:#fff;transition:transform .3s}body[data-theme=Lavender] .wedding-bestperson:hover{transform:translateY(-8px)}body[data-theme=Lavender] .wedding-bestperson-image{width:14rem;height:14rem;margin:0 auto var(--spacing-lg);object-fit:cover;box-shadow:var(--shadow-xl);border:6px solid var(--primary-light);border-radius:50%;transition:border-color .3s}body[data-theme=Lavender] .wedding-bestperson:hover .wedding-bestperson-image{border-color:var(--primary-color)}body[data-theme=Lavender] .wedding-bestperson-name{color:var(--primary-dark);margin-bottom:var(--spacing-xs);font-size:2rem;font-weight:400;font-family:var(--font-heading)}body[data-theme=Lavender] .wedding-bestperson-role{color:var(--text-muted);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:1px;font-size:.9rem}body[data-theme=Lavender] .wedding-bestperson-description{color:var(--text-secondary);font-style:italic;line-height:1.7}body[data-theme=Lavender] .wedding-content-text{color:var(--text-secondary);white-space:pre-line;font-size:1.15rem;line-height:1.9}body[data-theme=Lavender] .wedding-photos-grid{gap:var(--spacing-md);margin-top:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:640px){body[data-theme=Lavender] .wedding-photos-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){body[data-theme=Lavender] .wedding-photos-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){body[data-theme=Lavender] .wedding-photos-grid{grid-template-columns:repeat(4,1fr)}}body[data-theme=Lavender] .wedding-photo-item{aspect-ratio:1;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:3px solid #fff;transition:all .3s;position:relative;overflow:hidden}body[data-theme=Lavender] .wedding-photo-item:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-light);transform:scale(1.05)}body[data-theme=Lavender] .wedding-photo-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s}body[data-theme=Lavender] .wedding-photo-item:hover img{transform:scale(1.15)}body[data-theme=Lavender] .wedding-empty-state{text-align:center;color:var(--text-muted);padding:var(--spacing-2xl);font-size:1.1rem;font-style:italic}body[data-theme=Lavender] .wedding-info-box{text-align:center;background:linear-gradient(135deg,var(--bg-accent),var(--bg-secondary));border-radius:var(--radius-xl);padding:var(--spacing-xl);max-width:700px;margin:0 auto var(--spacing-xl);border:2px solid var(--border-color);box-shadow:var(--shadow-md)}body[data-theme=Lavender] .wedding-info-text{color:var(--text-secondary);font-size:1.05rem}body[data-theme=Lavender] .wedding-error{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-primary));justify-content:center;align-items:center;min-height:100vh;display:flex}body[data-theme=Lavender] .wedding-error-content{text-align:center;padding:var(--spacing-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);background:#fff}body[data-theme=Lavender] .wedding-error-title{color:var(--primary-dark);margin-bottom:var(--spacing-md);font-size:2.5rem;font-weight:400;font-family:var(--font-heading)}body[data-theme=Lavender] .wedding-error-link{color:var(--primary-color);font-weight:600}body[data-theme=Lavender] .wedding-error-link:hover{text-decoration:underline}body[data-theme=Lavender] .wedding-footer{background:linear-gradient(135deg,var(--primary-dark),var(--primary-color));color:#fff;padding:var(--spacing-xl)var(--spacing-md);margin-top:var(--spacing-2xl);position:relative;overflow:hidden}body[data-theme=Lavender] .wedding-footer:before{content:"✿ ✿ ✿";opacity:.05;font-size:8rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-theme=Lavender] .wedding-footer-content{text-align:center;z-index:1;max-width:1000px;margin:0 auto;position:relative}body[data-theme=Lavender] .wedding-footer-text{opacity:.95;color:#fff;font-size:.95rem}body[data-theme=Lavender] .wedding-footer-link{color:#fff;text-decoration:underline;transition:opacity .3s}body[data-theme=Lavender] .wedding-footer-link:hover{color:#fff;text-decoration:none}body[data-theme=Lavender] .rsvp-container{margin:var(--spacing-xl)0;padding:var(--spacing-xl);background:linear-gradient(135deg,var(--bg-accent),var(--bg-secondary));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:2px solid var(--border-color)}body[data-theme=Lavender] .rsvp-title{font-family:var(--font-heading);margin-bottom:var(--spacing-md);color:var(--primary-dark);text-align:center;font-size:2.5rem;font-weight:400}body[data-theme=Lavender] .rsvp-responded{color:var(--text-secondary);text-align:center;font-size:1.1rem;line-height:1.6}body[data-theme=Lavender] .rsvp-link-button{color:var(--primary-color);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline;transition:color .3s}body[data-theme=Lavender] .rsvp-link-button:hover{color:var(--primary-dark)}body[data-theme=Lavender] .rsvp-intro-text{margin-bottom:var(--spacing-md);color:var(--text-secondary);text-align:center;font-size:1.1rem;line-height:1.8}body[data-theme=Lavender] .rsvp-instructions{margin-bottom:var(--spacing-xl);color:var(--text-muted);text-align:center;font-size:.95rem;font-style:italic;line-height:1.6}body[data-theme=Lavender] .rsvp-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Lavender] .rsvp-invitee-card{padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:2px solid var(--border-color);background:#fff;transition:all .3s}body[data-theme=Lavender] .rsvp-invitee-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color)}body[data-theme=Lavender] .rsvp-invitee-header{margin-bottom:var(--spacing-md)}body[data-theme=Lavender] .rsvp-invitee-name{margin-bottom:var(--spacing-sm);color:var(--primary-dark);font-size:1.2rem;font-weight:600}body[data-theme=Lavender] .rsvp-attendance-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Lavender] .rsvp-radio-label{align-items:center;gap:var(--spacing-xs);cursor:pointer;padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);transition:background-color .2s;display:flex}body[data-theme=Lavender] .rsvp-radio-label:hover{background-color:var(--bg-accent)}body[data-theme=Lavender] .rsvp-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Lavender] .rsvp-radio-text{font-size:1rem;font-weight:500}body[data-theme=Lavender] .rsvp-radio-text.rsvp-yes{color:#15803d}body[data-theme=Lavender] .rsvp-radio-text.rsvp-no{color:#b91c1c}body[data-theme=Lavender] .rsvp-invitee-notes{flex-direction:column;display:flex}body[data-theme=Lavender] .rsvp-notes-label{color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-size:.9rem;display:block}body[data-theme=Lavender] .rsvp-notes-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);background:#fff;font-size:1rem;transition:all .3s}body[data-theme=Lavender] .rsvp-notes-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #a78bfa1a}body[data-theme=Lavender] .rsvp-message-card{margin-top:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:2px solid var(--border-color);background:#fff}body[data-theme=Lavender] .rsvp-message-label{color:var(--primary-dark);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Lavender] .rsvp-message-textarea{width:100%;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);resize:vertical;background:#fff;min-height:6rem;font-size:1rem;line-height:1.6;transition:all .3s}body[data-theme=Lavender] .rsvp-message-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #a78bfa1a}body[data-theme=Lavender] .rsvp-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);letter-spacing:.5px;border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Lavender] .rsvp-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Lavender] .rsvp-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Lavender] .rsvp-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Lavender] .rsvp-status-message{padding:var(--spacing-md);border-radius:var(--radius-sm);text-align:center;font-weight:500}body[data-theme=Lavender] .rsvp-status-success{color:#065f46;background-color:#d1fae5;border:2px solid #10b981}body[data-theme=Lavender] .rsvp-status-error{color:#991b1b;background-color:#fee2e2;border:2px solid #ef4444}body[data-theme=Lavender] .raffle-container{margin:var(--spacing-xl)0}body[data-theme=Lavender] .raffle-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Lavender] .raffle-intro-text{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:1.1rem;font-style:italic;line-height:1.8}body[data-theme=Lavender] .raffle-question-card{padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:2px solid var(--border-color);background:#fff;transition:all .3s}body[data-theme=Lavender] .raffle-question-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color);transform:translateY(-2px)}body[data-theme=Lavender] .raffle-question-text{margin-bottom:var(--spacing-md);color:var(--primary-dark);font-size:1.125rem;font-weight:600}body[data-theme=Lavender] .raffle-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Lavender] .raffle-option-label{align-items:center;gap:var(--spacing-xs);cursor:pointer;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-sm);background:var(--bg-secondary);border:2px solid #0000;transition:all .2s;display:flex}body[data-theme=Lavender] .raffle-option-label:hover{background:var(--bg-accent);border-color:var(--primary-light)}body[data-theme=Lavender] .raffle-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Lavender] .raffle-option-text{color:var(--text-primary);font-size:1rem;font-weight:500}body[data-theme=Lavender] .raffle-email-card{padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:2px solid var(--border-color);background:#fff}body[data-theme=Lavender] .raffle-email-label{color:var(--primary-dark);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Lavender] .raffle-email-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);background:#fff;font-size:1rem;transition:all .3s}body[data-theme=Lavender] .raffle-email-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #a78bfa1a}body[data-theme=Lavender] .raffle-email-hint{color:var(--text-muted);margin-top:var(--spacing-xs);font-size:.875rem;font-style:italic}body[data-theme=Lavender] .raffle-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);letter-spacing:.5px;border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Lavender] .raffle-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Lavender] .raffle-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Lavender] .raffle-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Lavender] .raffle-status-success{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#065f46;text-align:center;background-color:#d1fae5;border:2px solid #10b981;font-weight:500}body[data-theme=Lavender] .raffle-status-error{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#991b1b;text-align:center;background-color:#fee2e2;border:2px solid #ef4444;font-weight:500}body[data-theme=Lavender] .upload-container{margin:var(--spacing-xl)0}body[data-theme=Lavender] .upload-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Lavender] .upload-intro-text{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:1.15rem;font-style:italic;line-height:1.9}body[data-theme=Lavender] .upload-file-card{padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:2px solid var(--border-color);gap:var(--spacing-md);background:#fff;flex-direction:column;align-items:center;transition:all .3s;display:flex}body[data-theme=Lavender] .upload-file-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color);transform:translateY(-4px)}body[data-theme=Lavender] .upload-file-input{display:none}body[data-theme=Lavender] .upload-file-label{padding:var(--spacing-md)var(--spacing-xl);background:linear-gradient(135deg,var(--primary-light),var(--primary-color));border-radius:var(--radius-md);font-family:var(--font-body);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);text-align:center;border:none;font-size:1.1rem;font-weight:600;transition:all .3s;display:inline-block}body[data-theme=Lavender] .upload-file-label:hover{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Lavender] .upload-file-hint{color:var(--primary-dark);text-align:center;margin:0;font-size:1rem;font-weight:600}body[data-theme=Lavender] .upload-file-info{color:var(--text-muted);text-align:center;margin:0;font-size:.9rem;font-style:italic;line-height:1.6}body[data-theme=Lavender] .upload-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Lavender] .upload-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Lavender] .upload-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Lavender] .upload-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Lavender] .upload-status-success{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#065f46;text-align:center;background-color:#d1fae5;border:2px solid #10b981;font-weight:500}body[data-theme=Lavender] .upload-status-error{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#991b1b;text-align:center;background-color:#fee2e2;border:2px solid #ef4444;font-weight:500}@media (max-width:768px){body[data-theme=Lavender] h1{font-size:3rem}body[data-theme=Lavender] h2{font-size:2.5rem}body[data-theme=Lavender] h3{font-size:2rem}body[data-theme=Lavender] .wedding-couple-names{font-size:3.5rem}body[data-theme=Lavender] .wedding-section-title{font-size:2.5rem}body[data-theme=Lavender] .wedding-timeline-item{text-align:center;flex-direction:column;align-items:center}}@media (max-width:480px){body[data-theme=Lavender] .wedding-nav-links{gap:var(--spacing-sm)}body[data-theme=Lavender] .wedding-nav-link{font-size:.9rem}body[data-theme=Lavender] .wedding-couple-names{font-size:2.8rem}}
body[data-theme=Love]{--primary-color:#f43f5e;--primary-light:#fecdd3;--primary-dark:#be123c;--text-primary:#1c1917;--text-secondary:#78716c;--text-muted:#a8a29e;--bg-primary:#fff;--bg-secondary:#fafaf9;--bg-accent:#fef2f2;--border-color:#e7e5e4;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--font-heading:"Playfair Display",serif;--font-body:"Inter",sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem}body[data-theme=Love] *{box-sizing:border-box;margin:0;padding:0}body[data-theme=Love]{font-family:var(--font-body);color:var(--text-primary);background:linear-gradient(135deg,#fafaf9 0%,#fff 50%,#f5f5f4 100%);min-height:100vh;line-height:1.6}body[data-theme=Love] h1,body[data-theme=Love] h2,body[data-theme=Love] h3,body[data-theme=Love] h4,body[data-theme=Love] h5,body[data-theme=Love] h6,body[data-theme=Love] .wedding-couple-names{font-family:var(--font-heading);margin-bottom:var(--spacing-md);font-weight:700;line-height:1.2}body[data-theme=Love] h1{font-size:3.5rem}body[data-theme=Love] h2{font-size:3rem}body[data-theme=Love] h3{font-size:2rem}body[data-theme=Love] h4{font-size:1.5rem}body[data-theme=Love] h5{font-size:1.25rem}body[data-theme=Love] h6{font-size:1rem}body[data-theme=Love] p{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}body[data-theme=Love] a{color:var(--primary-color);text-decoration:none;transition:all .3s}body[data-theme=Love] a:hover{color:var(--primary-dark)}body[data-theme=Love] .wedding-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);z-index:50;border-bottom:1px solid var(--border-color);background:#fffffff2;position:sticky;top:0}body[data-theme=Love] .wedding-nav-container{max-width:1200px;padding:var(--spacing-md)var(--spacing-md);margin:0 auto;position:relative}body[data-theme=Love] .wedding-nav-hamburger{cursor:pointer;z-index:60;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px;display:none}body[data-theme=Love] .wedding-nav-hamburger span{background:var(--text-primary);border-radius:2px;width:25px;height:3px;transition:all .3s;display:block}body[data-theme=Love] .wedding-nav-links{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;list-style:none;display:flex}body[data-theme=Love] .wedding-nav-link{color:var(--text-secondary);font-size:1rem;font-weight:500;transition:color .3s}body[data-theme=Love] .wedding-nav-link:hover{color:var(--primary-color)}@media (max-width:768px){body[data-theme=Love] .wedding-nav{position:fixed;top:0;left:0;right:0}body[data-theme=Love] .wedding-nav-container{justify-content:center;align-items:center;display:flex}body[data-theme=Love] .wedding-nav-hamburger{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-theme=Love] .wedding-nav-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none;opacity:0;pointer-events:none;background:#fffffffa;flex-direction:column;justify-content:center;align-items:center;gap:0;height:100vh;max-height:none;padding:0;transition:opacity .3s;position:fixed;inset:0}body[data-theme=Love] .wedding-nav-links.open{opacity:1;pointer-events:auto}body[data-theme=Love] .wedding-nav-links li{text-align:center;width:100%;max-width:300px}body[data-theme=Love] .wedding-nav-link{padding:var(--spacing-md);text-align:center;border-bottom:1px solid var(--border-color);font-size:1.25rem;display:block}body[data-theme=Love] .wedding-nav-link:last-child{border-bottom:none}}body[data-theme=Love] .wedding-hero{background:linear-gradient(135deg,var(--bg-accent)0%,var(--bg-primary)50%,var(--bg-secondary)100%);min-height:100vh;padding:var(--spacing-2xl)var(--spacing-md);justify-content:center;align-items:center;display:flex;position:relative}body[data-theme=Love] .wedding-hero:before{content:"";opacity:.3;background:radial-gradient(circle at 50% 120%,#f43f5e1a,#0000);position:absolute;inset:0}body[data-theme=Love] .wedding-hero-content{text-align:center;max-width:1000px;position:relative}body[data-theme=Love] .wedding-example-badge{background:var(--primary-light);color:var(--primary-dark);padding:var(--spacing-xs)var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:9999px;font-size:.875rem;font-weight:500;display:inline-block}body[data-theme=Love] .wedding-example-badge-icon{margin-right:var(--spacing-xs)}body[data-theme=Love] .wedding-example-badge a{color:var(--primary-dark);text-decoration:underline}body[data-theme=Love] .wedding-example-badge a:hover{color:var(--primary-dark);text-decoration:none}body[data-theme=Love] .wedding-header-image{width:100%;max-width:800px;margin:0 auto var(--spacing-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}body[data-theme=Love] .wedding-header-image img{border-radius:var(--radius-xl);width:100%;height:auto}body[data-theme=Love] .wedding-couple-names{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:4.5rem;font-weight:700}@media (max-width:768px){body[data-theme=Love] .wedding-couple-names{flex-direction:column;align-items:center;gap:.5rem;font-size:3rem;display:flex}body[data-theme=Love] .wedding-name-separator{font-size:2.5rem}}body[data-theme=Love] .wedding-divider{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}body[data-theme=Love] .wedding-divider-line{background:var(--primary-color);width:4rem;height:1px}body[data-theme=Love] .wedding-divider-icon{color:var(--primary-color);font-size:1.5rem;animation:2s ease-in-out infinite love-pulse}@keyframes love-pulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}body[data-theme=Love] .wedding-date{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:1.5rem}body[data-theme=Love] .wedding-countdown{font-size:1.25rem;font-weight:600}body[data-theme=Love] .wedding-countdown.today,body[data-theme=Love] .wedding-countdown.future{color:var(--primary-color)}body[data-theme=Love] .wedding-countdown.past{color:var(--text-muted)}body[data-theme=Love] .wedding-section{padding:var(--spacing-2xl)var(--spacing-md)}body[data-theme=Love] .wedding-section.bg-white{background:var(--bg-primary)}body[data-theme=Love] .wedding-section.bg-alt{background:linear-gradient(135deg,var(--bg-secondary)0%,var(--bg-primary)100%)}body[data-theme=Love] .wedding-section.bg-accent{background:linear-gradient(135deg,var(--bg-accent)0%,var(--bg-primary)100%)}body[data-theme=Love] .wedding-container{max-width:1200px;margin:0 auto}body[data-theme=Love] .wedding-container-narrow{max-width:800px;margin:0 auto}body[data-theme=Love] .wedding-section-title{text-align:center;color:var(--text-primary);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-2xl);font-size:3rem}body[data-theme=Love] .wedding-section-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-xl);max-width:700px;margin-left:auto;margin-right:auto;font-size:1.125rem}body[data-theme=Love] .wedding-story-text{color:var(--text-secondary);white-space:pre-line;font-size:1.125rem;line-height:1.8}body[data-theme=Love] .wedding-timeline-list{margin-bottom:var(--spacing-2xl);max-width:800px;margin-left:auto;margin-right:auto}body[data-theme=Love] .wedding-timeline-item{text-align:center;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);flex-direction:column;transition:all .3s;display:flex}body[data-theme=Love] .wedding-timeline-item:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-light);transform:translateY(-4px)}body[data-theme=Love] .wedding-timeline-icon{background:linear-gradient(135deg,var(--primary-light)0%,var(--bg-accent)100%);width:5rem;height:5rem;box-shadow:var(--shadow-md);border:3px solid var(--bg-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;transition:all .3s;display:flex}body[data-theme=Love] .wedding-timeline-item:hover .wedding-timeline-icon{box-shadow:var(--shadow-lg);transform:scale(1.1)}body[data-theme=Love] .wedding-timeline-icon svg{width:60%;height:60%}body[data-theme=Love] .wedding-timeline-content{flex:1}body[data-theme=Love] .wedding-timeline-header{align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}body[data-theme=Love] .wedding-timeline-name{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}body[data-theme=Love] .wedding-timeline-time{color:var(--primary-color);background:var(--primary-light);border-radius:var(--radius-sm);padding:.25rem .75rem;font-size:1.125rem;font-weight:700}body[data-theme=Love] .wedding-timeline-location{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:1.125rem;font-weight:500}body[data-theme=Love] .wedding-timeline-description{color:var(--text-muted);font-size:1rem;line-height:1.6}body[data-theme=Love] .wedding-timeline-visual{width:100%;margin-top:var(--spacing-xl)}body[data-theme=Love] .wedding-bestpersons-grid{gap:var(--spacing-xl);grid-template-columns:1fr;display:grid}@media (min-width:768px){body[data-theme=Love] .wedding-bestpersons-grid{grid-template-columns:repeat(2,1fr)}}body[data-theme=Love] .wedding-bestperson{text-align:center}body[data-theme=Love] .wedding-bestperson-image{width:12rem;height:12rem;margin:0 auto var(--spacing-md);object-fit:cover;box-shadow:var(--shadow-xl);border:4px solid var(--bg-primary);border-radius:50%}body[data-theme=Love] .wedding-bestperson-name{color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:1.5rem;font-weight:700}body[data-theme=Love] .wedding-bestperson-role{color:var(--text-muted);margin-bottom:var(--spacing-sm);font-size:.875rem}body[data-theme=Love] .wedding-bestperson-description{color:var(--text-secondary);line-height:1.6}body[data-theme=Love] .wedding-content-text{color:var(--text-secondary);white-space:pre-line;font-size:1.125rem;line-height:1.8}body[data-theme=Love] .wedding-photos-grid{gap:var(--spacing-md);margin-top:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:640px){body[data-theme=Love] .wedding-photos-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){body[data-theme=Love] .wedding-photos-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){body[data-theme=Love] .wedding-photos-grid{grid-template-columns:repeat(4,1fr)}}body[data-theme=Love] .wedding-photo-item{aspect-ratio:1;border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:box-shadow .3s;position:relative;overflow:hidden}body[data-theme=Love] .wedding-photo-item:hover{box-shadow:var(--shadow-xl)}body[data-theme=Love] .wedding-photo-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s}body[data-theme=Love] .wedding-photo-item:hover img{transform:scale(1.1)}body[data-theme=Love] .wedding-empty-state{text-align:center;color:var(--text-muted);padding:var(--spacing-xl);font-style:italic}body[data-theme=Love] .wedding-info-box{text-align:center;background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-lg);max-width:700px;margin:0 auto var(--spacing-xl)}body[data-theme=Love] .wedding-info-text{color:var(--text-secondary)}body[data-theme=Love] .wedding-error{justify-content:center;align-items:center;min-height:100vh;display:flex}body[data-theme=Love] .wedding-error-content{text-align:center}body[data-theme=Love] .wedding-error-title{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:2rem;font-weight:700}body[data-theme=Love] .wedding-error-link{color:var(--primary-color)}body[data-theme=Love] .wedding-error-link:hover{text-decoration:underline}body[data-theme=Love] .wedding-footer{color:#fff;padding:var(--spacing-lg)var(--spacing-md);margin-top:var(--spacing-2xl);background:#1c1917}body[data-theme=Love] .wedding-footer-content{text-align:center;max-width:1000px;margin:0 auto}body[data-theme=Love] .wedding-footer-text{color:#fff;opacity:.8;font-size:.875rem}body[data-theme=Love] .wedding-footer-link{color:#fff;text-decoration:underline;transition:opacity .3s}body[data-theme=Love] .wedding-footer-link:hover{opacity:1;color:#fff;text-decoration:none}body[data-theme=Love] .rsvp-container{margin:var(--spacing-xl)0;padding:var(--spacing-xl);background:linear-gradient(135deg,var(--bg-accent),var(--bg-secondary));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}body[data-theme=Love] .rsvp-title{font-family:var(--font-heading);margin-bottom:var(--spacing-md);color:var(--text-primary);text-align:center;font-size:2.5rem;font-weight:700}body[data-theme=Love] .rsvp-responded{color:var(--text-secondary);text-align:center;font-size:1.1rem;line-height:1.6}body[data-theme=Love] .rsvp-link-button{color:var(--primary-color);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline;transition:color .3s}body[data-theme=Love] .rsvp-link-button:hover{color:var(--primary-dark)}body[data-theme=Love] .rsvp-intro-text{margin-bottom:var(--spacing-md);color:var(--text-secondary);text-align:center;font-size:1.1rem;line-height:1.8}body[data-theme=Love] .rsvp-instructions{margin-bottom:var(--spacing-xl);color:var(--text-muted);text-align:center;font-size:.95rem;font-style:italic;line-height:1.6}body[data-theme=Love] .rsvp-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Love] .rsvp-invitee-card{padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff;transition:all .3s}body[data-theme=Love] .rsvp-invitee-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Love] .rsvp-invitee-header{margin-bottom:var(--spacing-md)}body[data-theme=Love] .rsvp-invitee-name{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:1.2rem;font-weight:600}body[data-theme=Love] .rsvp-attendance-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Love] .rsvp-radio-label{align-items:center;gap:var(--spacing-xs);cursor:pointer;padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);transition:background-color .2s;display:flex}body[data-theme=Love] .rsvp-radio-label:hover{background-color:var(--bg-accent)}body[data-theme=Love] .rsvp-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Love] .rsvp-radio-text{font-size:1rem;font-weight:500}body[data-theme=Love] .rsvp-radio-text.rsvp-yes{color:#15803d}body[data-theme=Love] .rsvp-radio-text.rsvp-no{color:#b91c1c}body[data-theme=Love] .rsvp-invitee-notes{flex-direction:column;display:flex}body[data-theme=Love] .rsvp-notes-label{color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-size:.9rem;display:block}body[data-theme=Love] .rsvp-notes-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);background:#fff;font-size:1rem;transition:all .3s}body[data-theme=Love] .rsvp-notes-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #f43f5e1a}body[data-theme=Love] .rsvp-message-card{margin-top:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff}body[data-theme=Love] .rsvp-message-label{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Love] .rsvp-message-textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);resize:vertical;background:#fff;min-height:6rem;font-size:1rem;line-height:1.6;transition:all .3s}body[data-theme=Love] .rsvp-message-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #f43f5e1a}body[data-theme=Love] .rsvp-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Love] .rsvp-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Love] .rsvp-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Love] .rsvp-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Love] .rsvp-status-message{padding:var(--spacing-md);border-radius:var(--radius-sm);text-align:center;font-weight:500}body[data-theme=Love] .rsvp-status-success{color:#065f46;background-color:#d1fae5;border:1px solid #10b981}body[data-theme=Love] .rsvp-status-error{color:#991b1b;background-color:#fee2e2;border:1px solid #ef4444}body[data-theme=Love] .raffle-container{margin:var(--spacing-xl)0}body[data-theme=Love] .raffle-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Love] .raffle-intro-text{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:1.1rem;line-height:1.8}body[data-theme=Love] .raffle-question-card{padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff;transition:all .3s}body[data-theme=Love] .raffle-question-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Love] .raffle-question-text{margin-bottom:var(--spacing-md);color:var(--text-primary);font-size:1.125rem;font-weight:600}body[data-theme=Love] .raffle-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Love] .raffle-option-label{align-items:center;gap:var(--spacing-xs);cursor:pointer;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-sm);background:var(--bg-secondary);border:2px solid #0000;transition:all .2s;display:flex}body[data-theme=Love] .raffle-option-label:hover{background:var(--bg-accent);border-color:var(--primary-light)}body[data-theme=Love] .raffle-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Love] .raffle-option-text{color:var(--text-primary);font-size:1rem;font-weight:500}body[data-theme=Love] .raffle-email-card{padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);background:#fff}body[data-theme=Love] .raffle-email-label{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Love] .raffle-email-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-primary);background:#fff;font-size:1rem;transition:all .3s}body[data-theme=Love] .raffle-email-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #f43f5e1a}body[data-theme=Love] .raffle-email-hint{color:var(--text-muted);margin-top:var(--spacing-xs);font-size:.875rem}body[data-theme=Love] .raffle-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Love] .raffle-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Love] .raffle-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Love] .raffle-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Love] .raffle-status-success{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#065f46;text-align:center;background-color:#d1fae5;border:1px solid #10b981;font-weight:500}body[data-theme=Love] .raffle-status-error{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#991b1b;text-align:center;background-color:#fee2e2;border:1px solid #ef4444;font-weight:500}body[data-theme=Love] .upload-container{margin:var(--spacing-xl)0}body[data-theme=Love] .upload-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Love] .upload-intro-text{text-align:center;color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:1.1rem;line-height:1.8}body[data-theme=Love] .upload-file-card{padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);gap:var(--spacing-md);background:#fff;flex-direction:column;align-items:center;transition:all .3s;display:flex}body[data-theme=Love] .upload-file-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Love] .upload-file-input{display:none}body[data-theme=Love] .upload-file-label{padding:var(--spacing-md)var(--spacing-xl);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-accent));border:2px solid var(--primary-light);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);text-align:center;font-size:1.1rem;font-weight:600;transition:all .3s;display:inline-block}body[data-theme=Love] .upload-file-label:hover{background:linear-gradient(135deg,var(--primary-light),var(--bg-accent));border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}body[data-theme=Love] .upload-file-hint{color:var(--primary-dark);text-align:center;margin:0;font-size:1rem;font-weight:600}body[data-theme=Love] .upload-file-info{color:var(--text-muted);text-align:center;margin:0;font-size:.875rem;line-height:1.6}body[data-theme=Love] .upload-submit-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-md);border:none;font-size:1.1rem;font-weight:600;transition:all .3s}body[data-theme=Love] .upload-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Love] .upload-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Love] .upload-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Love] .upload-status-success{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#065f46;text-align:center;background-color:#d1fae5;border:1px solid #10b981;font-weight:500}body[data-theme=Love] .upload-status-error{padding:var(--spacing-md);border-radius:var(--radius-sm);color:#991b1b;text-align:center;background-color:#fee2e2;border:1px solid #ef4444;font-weight:500}@media (max-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.wedding-couple-names{font-size:3rem}.wedding-section-title{font-size:2rem}}@media (max-width:480px){.wedding-nav-links{gap:var(--spacing-xs)}.wedding-nav-link{font-size:.875rem}}
