body[data-theme=Olive]{--primary-color:#556b2f;--primary-light:#8f9779;--primary-dark:#3a4b1f;--text-primary:#2d3324;--text-secondary:#4a543b;--text-muted:#737c61;--bg-primary:#f6f7f2;--bg-secondary:#edebe1;--bg-accent:#e1e4d3;--border-color:#d1d6c3;--shadow-sm:0 1px 2px 0 #2d33240d;--shadow-md:0 6px 12px -2px #2d332426;--shadow-lg:0 15px 25px -3px #2d332426;--shadow-xl:0 25px 30px -5px #2d332426;--font-heading:"Cinzel","Playfair Display",serif;--font-body:"DM Sans","Inter",sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3.5rem;--spacing-2xl:5rem;--radius-sm:.75rem;--radius-md:1.25rem;--radius-lg:2rem;--radius-xl:3rem}body[data-theme=Olive] *{box-sizing:border-box;margin:0;padding:0}body[data-theme=Olive]{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=Olive] h1,body[data-theme=Olive] h2,body[data-theme=Olive] h3,body[data-theme=Olive] h4,body[data-theme=Olive] h5,body[data-theme=Olive] h6,body[data-theme=Olive] .wedding-couple-names{font-family:var(--font-heading);margin-bottom:var(--spacing-md);font-weight:700;line-height:1.2}body[data-theme=Olive] h1{font-size:3.5rem}body[data-theme=Olive] h2{font-size:3rem}body[data-theme=Olive] h3{font-size:2rem}body[data-theme=Olive] h4{font-size:1.5rem}body[data-theme=Olive] h5{font-size:1.25rem}body[data-theme=Olive] h6{font-size:1rem}body[data-theme=Olive] p{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}body[data-theme=Olive] a{color:var(--primary-color);text-decoration:none;transition:all .3s}body[data-theme=Olive] a:hover{color:var(--primary-dark)}body[data-theme=Olive] .wedding-section{padding:var(--spacing-2xl)var(--spacing-md)}body[data-theme=Olive] .wedding-section:nth-child(3n+1 of .wedding-section){background:var(--bg-primary)}body[data-theme=Olive] .wedding-section:nth-child(3n+2 of .wedding-section){background:linear-gradient(135deg,var(--bg-secondary)0%,var(--bg-primary)100%)}body[data-theme=Olive] .wedding-section:nth-child(3n of .wedding-section){background:linear-gradient(135deg,var(--bg-accent)0%,var(--bg-primary)100%)}body[data-theme=Olive] .wedding-container{max-width:1200px;margin:0 auto}body[data-theme=Olive] .wedding-container-narrow{max-width:800px;margin:0 auto}body[data-theme=Olive] .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=Olive] .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=Olive] .wedding-empty-state{text-align:center;color:var(--text-muted);padding:var(--spacing-xl);font-style:italic}body[data-theme=Olive] .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=Olive] .wedding-info-text{color:var(--text-secondary)}body[data-theme=Olive] .wedding-error{justify-content:center;align-items:center;min-height:100vh;display:flex}body[data-theme=Olive] .wedding-error-content{text-align:center}body[data-theme=Olive] .wedding-error-title{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:2rem;font-weight:700}body[data-theme=Olive] .wedding-error-link{color:var(--primary-color)}body[data-theme=Olive] .wedding-error-link:hover{text-decoration:underline}@keyframes oliveFadeInUp{0%{opacity:0;transform:translateY(80px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes oliveRevealLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}@keyframes oliveRevealRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@supports (animation-timeline:view()){body[data-theme=Olive] .wedding-section-title,body[data-theme=Olive] .wedding-section-subtitle{animation:linear both oliveFadeInUp;animation-timeline:view();animation-range:entry 10% cover 30%}}body[data-theme=Olive] .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=Olive] .wedding-nav-container{max-width:1200px;padding:var(--spacing-md)var(--spacing-md);margin:0 auto;position:relative}body[data-theme=Olive] .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=Olive] .wedding-nav-hamburger span{background:var(--text-primary);border-radius:2px;width:25px;height:3px;transition:all .3s;display:block}body[data-theme=Olive] .wedding-nav-links{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;list-style:none;display:flex}body[data-theme=Olive] .wedding-nav-link{color:var(--text-secondary);font-size:1rem;font-weight:500;transition:color .3s}body[data-theme=Olive] .wedding-nav-link:hover{color:var(--primary-light)}@media (max-width:768px){body[data-theme=Olive] .wedding-nav{position:fixed;top:0;left:0;right:0}body[data-theme=Olive] .wedding-nav-container{justify-content:center;align-items:center;display:flex}body[data-theme=Olive] .wedding-nav-hamburger{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-theme=Olive] .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=Olive] .wedding-nav-links.open{opacity:1;pointer-events:auto}body[data-theme=Olive] .wedding-nav-links li{text-align:center;width:100%;max-width:300px}body[data-theme=Olive] .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=Olive] .wedding-nav-link:last-child{border-bottom:none}}body[data-theme=Olive] .wedding-nav{background:#f6f7f2d9}body[data-theme=Olive] .wedding-hero{background:linear-gradient(135deg,var(--bg-accent)0%,var(--bg-primary)50%,var(--bg-secondary)100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:0;display:flex;position:relative}body[data-theme=Olive] .wedding-hero:before{content:"";opacity:.3;background:radial-gradient(circle at 50% 120%,#d4af3726,#0000);position:absolute;inset:0}body[data-theme=Olive] .wedding-hero-content{text-align:center;width:100%;max-width:1000px;padding:var(--spacing-2xl)var(--spacing-md);position:relative}body[data-theme=Olive] .wedding-header-image{width:calc(100% - 2rem);max-width:800px;max-height:70vh;box-shadow:var(--shadow-xl);border-radius:var(--radius-xl);flex-shrink:0;margin:3rem auto 0;overflow:hidden}body[data-theme=Olive] .wedding-header-image img{object-fit:cover;object-position:center top;border-radius:var(--radius-xl);width:100%;height:100%;max-height:70vh;display:block}body[data-theme=Olive] .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=Olive] .wedding-couple-names{flex-direction:column;align-items:center;gap:.5rem;font-size:3rem;display:flex}body[data-theme=Olive] .wedding-name-separator{font-size:2.5rem}}body[data-theme=Olive] .wedding-divider{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}body[data-theme=Olive] .wedding-divider-line{background:linear-gradient(90deg,transparent,var(--primary-color),transparent);width:4rem;height:2px}body[data-theme=Olive] .wedding-divider-icon{color:var(--primary-color);font-size:1.5rem;animation:2s ease-in-out infinite olive-pulse}@keyframes olive-pulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}body[data-theme=Olive] .wedding-date{color:var(--text-secondary);margin-bottom:var(--spacing-sm);font-size:1.5rem}body[data-theme=Olive] .wedding-countdown{font-size:1.25rem;font-weight:600}body[data-theme=Olive] .wedding-countdown.today,body[data-theme=Olive] .wedding-countdown.future{color:var(--primary-color)}body[data-theme=Olive] .wedding-countdown.past{color:var(--text-muted)}body[data-theme=Olive] .wedding-hero:before{background:radial-gradient(circle at 50% 120%,#556b2f66,#0000)}body[data-theme=Olive] .wedding-section-our-story{text-align:center}body[data-theme=Olive] .wedding-our-story-text{color:var(--text-secondary);white-space:pre-line;font-size:1.125rem;line-height:1.8}@supports (animation-timeline:view()){body[data-theme=Olive] .wedding-our-story-text{animation:linear both oliveFadeInUp;animation-timeline:view();animation-range:entry 10% cover 30%}}body[data-theme=Olive] .wedding-timeline-list{max-width:900px;margin:0 auto var(--spacing-2xl);padding:var(--spacing-sm)0;position:relative}body[data-theme=Olive] .wedding-timeline-list:before{content:"";background:linear-gradient(to bottom,transparent,var(--primary-light)8%,var(--primary-color)50%,var(--primary-light)92%,transparent);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}body[data-theme=Olive] .wedding-timeline-item{align-items:center;gap:0 var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:1fr 4rem 1fr;display:grid;position:relative}body[data-theme=Olive] .wedding-timeline-icon{background:linear-gradient(135deg,var(--primary-light)0%,#fff8e7 100%);border:2px solid var(--primary-light);width:3.5rem;height:3.5rem;box-shadow:0 0 0 4px var(--bg-secondary),var(--shadow-sm);color:var(--primary-color);z-index:1;border-radius:50%;grid-area:1/2;justify-content:center;justify-self:center;align-items:center;font-size:1.25rem;transition:transform .3s,box-shadow .3s;display:flex}body[data-theme=Olive] .wedding-timeline-item:hover .wedding-timeline-icon{box-shadow:0 0 0 4px var(--bg-secondary),var(--shadow-md);transform:scale(1.15)}body[data-theme=Olive] .wedding-timeline-item:nth-child(odd) .wedding-timeline-content{text-align:right;grid-area:1/1}body[data-theme=Olive] .wedding-timeline-item:nth-child(odd) .wedding-timeline-header{justify-content:flex-end}body[data-theme=Olive] .wedding-timeline-item:nth-child(odd) .wedding-timeline-location{flex-direction:row-reverse;justify-content:flex-start}body[data-theme=Olive] .wedding-timeline-item:nth-child(2n) .wedding-timeline-content{text-align:left;grid-area:1/3}body[data-theme=Olive] .wedding-timeline-item:nth-child(2n) .wedding-timeline-header{flex-direction:row-reverse;justify-content:flex-end}body[data-theme=Olive] .wedding-timeline-content{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:transform .3s,box-shadow .3s,border-color .3s}body[data-theme=Olive] .wedding-timeline-item:hover .wedding-timeline-content{box-shadow:var(--shadow-xl);border-color:var(--primary-light);transform:translateY(-3px)}body[data-theme=Olive] .wedding-timeline-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}body[data-theme=Olive] .wedding-timeline-name{color:var(--text-primary);margin:0;font-size:1.4rem;font-weight:700}body[data-theme=Olive] .wedding-timeline-time{color:#fff;background:var(--primary-light);border-radius:var(--radius-sm);white-space:nowrap;padding:.2rem .6rem;font-size:.95rem;font-weight:700}body[data-theme=Olive] .wedding-timeline-location{color:var(--text-secondary);margin-bottom:var(--spacing-xs);align-items:center;gap:.3rem;font-size:.9rem;font-weight:500;display:flex}body[data-theme=Olive] .wedding-timeline-description{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}body[data-theme=Olive] .wedding-timeline-visual{display:none}@media (max-width:640px){body[data-theme=Olive] .wedding-timeline-list:before{left:1.75rem;transform:none}body[data-theme=Olive] .wedding-timeline-item{gap:0 var(--spacing-md);grid-template-columns:3.5rem 1fr}body[data-theme=Olive] .wedding-timeline-icon{grid-column:1;width:3.5rem;height:3.5rem}body[data-theme=Olive] .wedding-timeline-item:nth-child(odd) .wedding-timeline-content,body[data-theme=Olive] .wedding-timeline-item:nth-child(2n) .wedding-timeline-content{text-align:left;grid-area:1/2}body[data-theme=Olive] .wedding-timeline-item:nth-child(odd) .wedding-timeline-header,body[data-theme=Olive] .wedding-timeline-item:nth-child(2n) .wedding-timeline-header,body[data-theme=Olive] .wedding-timeline-item:nth-child(odd) .wedding-timeline-location{flex-direction:row;justify-content:flex-start}}body[data-theme=Olive] .wedding-bestpersons-grid{gap:var(--spacing-xl);grid-template-columns:1fr;display:grid}@media (min-width:768px){body[data-theme=Olive] .wedding-bestpersons-grid{grid-template-columns:repeat(2,1fr)}}body[data-theme=Olive] .wedding-bestperson{text-align:center}body[data-theme=Olive] .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=Olive] .wedding-bestperson-name{color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:1.5rem;font-weight:700}body[data-theme=Olive] .wedding-bestperson-role{color:var(--text-muted);margin-bottom:var(--spacing-sm);font-size:.875rem}body[data-theme=Olive] .wedding-bestperson-description{color:var(--text-secondary);line-height:1.6}body[data-theme=Olive] .wedding-bestperson-image{border-radius:var(--radius-lg);border:4px solid var(--primary-light)}body[data-theme=Olive] .wedding-section-menu{text-align:center}body[data-theme=Olive] #menu .wedding-content-text{color:var(--text-secondary);white-space:pre-line;font-size:1.125rem;line-height:1.8}body[data-theme=Olive] .wedding-section-fun-facts{text-align:center}body[data-theme=Olive] #zabavna-dejstva .wedding-content-text{color:var(--text-secondary);white-space:pre-line;font-size:1.125rem;line-height:1.8}body[data-theme=Olive] .wedding-section-faq{text-align:center}body[data-theme=Olive] #pogosta-vprasanja .wedding-content-text{color:var(--text-secondary);white-space:pre-line;font-size:1.125rem;line-height:1.8}body[data-theme=Olive] .raffle-container{margin:var(--spacing-xl)0}body[data-theme=Olive] .raffle-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Olive] .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=Olive] .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=Olive] .raffle-question-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Olive] .raffle-question-text{margin-bottom:var(--spacing-md);color:var(--text-primary);font-size:1.125rem;font-weight:600}body[data-theme=Olive] .raffle-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Olive] .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=Olive] .raffle-option-label:hover{background:var(--bg-accent);border-color:var(--primary-light)}body[data-theme=Olive] .raffle-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Olive] .raffle-option-text{color:var(--text-primary);font-size:1rem;font-weight:500}body[data-theme=Olive] .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=Olive] .raffle-email-label{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Olive] .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=Olive] .raffle-email-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #f43f5e1a}body[data-theme=Olive] .raffle-email-hint{color:var(--text-muted);margin-top:var(--spacing-xs);font-size:.875rem}body[data-theme=Olive] .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=Olive] .raffle-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Olive] .raffle-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Olive] .raffle-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Olive] .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=Olive] .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}@supports (animation-timeline:view()){body[data-theme=Olive] .raffle-container{animation:linear both oliveFadeInUp;animation-timeline:view();animation-range:entry 10% cover 30%}}body[data-theme=Olive] .upload-container{margin:var(--spacing-xl)0}body[data-theme=Olive] .upload-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Olive] .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=Olive] .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=Olive] .upload-file-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Olive] .upload-file-input{display:none}body[data-theme=Olive] .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=Olive] .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=Olive] .upload-file-hint{color:var(--primary-dark);text-align:center;margin:0;font-size:1rem;font-weight:600}body[data-theme=Olive] .upload-file-info{color:var(--text-muted);text-align:center;margin:0;font-size:.875rem;line-height:1.6}body[data-theme=Olive] .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=Olive] .upload-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Olive] .upload-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Olive] .upload-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Olive] .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=Olive] .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}body[data-theme=Olive] .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=Olive] .wedding-photos-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){body[data-theme=Olive] .wedding-photos-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){body[data-theme=Olive] .wedding-photos-grid{grid-template-columns:repeat(4,1fr)}}body[data-theme=Olive] .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=Olive] .wedding-photo-item:hover{box-shadow:var(--shadow-xl)}body[data-theme=Olive] .wedding-photo-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s}body[data-theme=Olive] .wedding-photo-item:hover img{transform:scale(1.1)}@supports (animation-timeline:view()){body[data-theme=Olive] .wedding-photo-item{animation:linear both oliveFadeInUp;animation-timeline:view();animation-range:entry 5% cover 25%}}body[data-theme=Olive] .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=Olive] .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=Olive] .rsvp-responded{color:var(--text-secondary);text-align:center;font-size:1.1rem;line-height:1.6}body[data-theme=Olive] .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=Olive] .rsvp-link-button:hover{color:var(--primary-dark)}body[data-theme=Olive] .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=Olive] .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=Olive] .rsvp-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Olive] .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=Olive] .rsvp-invitee-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light)}body[data-theme=Olive] .rsvp-invitee-header{margin-bottom:var(--spacing-md)}body[data-theme=Olive] .rsvp-invitee-name{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:1.2rem;font-weight:600}body[data-theme=Olive] .rsvp-attendance-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Olive] .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=Olive] .rsvp-radio-label:hover{background-color:var(--bg-accent)}body[data-theme=Olive] .rsvp-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Olive] .rsvp-radio-text{font-size:1rem;font-weight:500}body[data-theme=Olive] .rsvp-radio-text.rsvp-yes{color:#2d7a3e}body[data-theme=Olive] .rsvp-radio-text.rsvp-no{color:#a73c2e}body[data-theme=Olive] .rsvp-invitee-notes{flex-direction:column;display:flex}body[data-theme=Olive] .rsvp-notes-label{color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-size:.9rem;display:block}body[data-theme=Olive] .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=Olive] .rsvp-notes-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #d4af3726}body[data-theme=Olive] .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=Olive] .rsvp-message-label{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Olive] .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=Olive] .rsvp-message-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #f43f5e1a}body[data-theme=Olive] .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=Olive] .rsvp-submit-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}body[data-theme=Olive] .rsvp-submit-button:active:not(:disabled){transform:translateY(0)}body[data-theme=Olive] .rsvp-submit-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}body[data-theme=Olive] .rsvp-status-message{padding:var(--spacing-md);border-radius:var(--radius-sm);text-align:center;font-weight:500}body[data-theme=Olive] .rsvp-status-success{color:#2d7a3e;background-color:#e8f5e9;border:1px solid #4caf50}body[data-theme=Olive] .rsvp-status-error{color:#a73c2e;background-color:#ffebee;border:1px solid #e57373}@supports (animation-timeline:view()){body[data-theme=Olive] .rsvp-container{animation:linear both oliveFadeInUp;animation-timeline:view();animation-range:entry 10% cover 30%}}body[data-theme=Olive] .wedding-footer{color:#f5e6c8;padding:var(--spacing-lg)var(--spacing-md);background:linear-gradient(135deg,#2c2520 0%,#3d342c 100%)}body[data-theme=Olive] .wedding-footer-content{text-align:center;max-width:1000px;margin:0 auto}body[data-theme=Olive] .wedding-footer-text{color:#f5e6c8;opacity:.9;font-size:.875rem}body[data-theme=Olive] .wedding-footer-link{color:var(--primary-light);text-decoration:underline;transition:all .3s}body[data-theme=Olive] .wedding-footer-link:hover{color:var(--primary-color);text-decoration:none}body[data-theme=Olive] .wedding-footer{background:linear-gradient(135deg,var(--primary-dark)0%,#1a240f 100%);color:var(--primary-light)}
body[data-theme=Eucalyptus]{--font-script:"Great Vibes",cursive;--font-body:"Source Sans 3",sans-serif;--color-text:#6a6a6a;--color-heading:#6a6a6a;--color-green:#5a7163;--color-blue:#9ebfcb;--color-blush:#fcd5ce;--color-bg:#fbf8f8;--color-white:#fff;--spacing-section:4em 0;--primary-color:#5a7163;--primary-light:#a8c4b0;--primary-dark:#3e5245;--text-primary:#3c3c3c;--text-secondary:#6a6a6a;--text-muted:#9a9a9a;--border-color:#e0ddd8;--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;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--btn-bg:var(--color-blush);--btn-fg:#fff;--btn-sweep:var(--color-blue);--btn-shadow:0 5px 15px #0003;--btn-padding:17px 60px;--btn-font-size:15px;--btn-font-weight:700;--btn-secondary-bg:var(--primary-light);--btn-secondary-fg:var(--primary-color)}body[data-theme=Eucalyptus] *,body[data-theme=Eucalyptus] :before,body[data-theme=Eucalyptus] :after{box-sizing:border-box;margin:0;padding:0}body[data-theme=Eucalyptus]{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-white);font-size:18px;font-weight:300;line-height:1.6;overflow-x:hidden}body[data-theme=Eucalyptus] p{color:var(--color-text);font-family:var(--font-body);margin-bottom:.75em;font-weight:300}body[data-theme=Eucalyptus] h1,body[data-theme=Eucalyptus] h2,body[data-theme=Eucalyptus] h3,body[data-theme=Eucalyptus] h4{font-family:var(--font-script);color:var(--color-heading);font-weight:500;line-height:1}body[data-theme=Eucalyptus] h1{font-size:2.66667em}body[data-theme=Eucalyptus] h2{font-size:2.44444em}body[data-theme=Eucalyptus] h3{font-size:2em}body[data-theme=Eucalyptus] a{color:var(--color-text);text-decoration:none;transition:color .3s}body[data-theme=Eucalyptus] a:hover{color:var(--color-green)}body[data-theme=Eucalyptus] .form-label{color:var(--text-secondary)}body[data-theme=Eucalyptus] .form-input,body[data-theme=Eucalyptus] .form-textarea{background-color:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}body[data-theme=Eucalyptus] .form-input:focus{border-color:var(--primary-color)}body[data-theme=Eucalyptus] .form-radio{border-color:var(--border-color)}body[data-theme=Eucalyptus] .form-radio:checked{background-color:var(--primary-color);border-color:var(--primary-color)}body[data-theme=Eucalyptus] .form-radio:hover{border-color:var(--primary-color)}body[data-theme=Eucalyptus] .form-radio:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #f43f5e1a}body[data-theme=Eucalyptus] .form-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;width:100%;font-family:var(--font-body);font-size:var(--btn-font-size);cursor:pointer;border:none;border-radius:4px;padding:17px 24px;font-weight:600;transition:all .3s}body[data-theme=Eucalyptus] .form-button:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-light),var(--primary-color))}body[data-theme=Eucalyptus] .form-button:active:not(:disabled){background:linear-gradient(135deg,var(--primary-dark),var(--primary-dark))}body[data-theme=Eucalyptus] .form-button:disabled{opacity:.5;cursor:not-allowed}body[data-theme=Eucalyptus] .wedding-section{padding:var(--spacing-section);position:relative;overflow-x:clip}body[data-theme=Eucalyptus] .wedding-section:nth-child(3n+1 of .wedding-section){background-color:var(--color-white)}body[data-theme=Eucalyptus] .wedding-section:nth-child(3n+2 of .wedding-section){background-color:var(--color-bg)}body[data-theme=Eucalyptus] .wedding-section:nth-child(3n of .wedding-section){background:linear-gradient(0deg,#fcd5ce33 0%,var(--color-white)100%)}body[data-theme=Eucalyptus] .wedding-container{max-width:1280px;margin:0 auto;padding:0 60px}body[data-theme=Eucalyptus] .wedding-container-narrow{max-width:900px;margin:0 auto;padding:0 60px}@media (max-width:767px){body[data-theme=Eucalyptus] .wedding-container,body[data-theme=Eucalyptus] .wedding-container-narrow{padding:0 30px}}body[data-theme=Eucalyptus] .wedding-section-title{font-family:var(--font-script);color:var(--color-heading);text-align:center;margin-bottom:1em;font-size:3em;font-weight:500;line-height:1}body[data-theme=Eucalyptus] .wedding-section-subtitle{text-align:center;color:var(--color-text);max-width:680px;margin-bottom:2em;margin-left:auto;margin-right:auto;font-size:1rem;font-weight:300;line-height:1.7}body[data-theme=Eucalyptus] .wedding-empty-state{text-align:center;color:var(--text-muted);padding:var(--spacing-xl);font-style:italic}body[data-theme=Eucalyptus] .wedding-info-box{text-align:center;background:var(--bg-alt);border-radius:var(--radius-xl);padding:var(--spacing-lg);max-width:700px;margin:0 auto var(--spacing-xl)}body[data-theme=Eucalyptus] .wedding-info-text{color:var(--text-secondary)}body[data-theme=Eucalyptus] .wedding-error{justify-content:center;align-items:center;min-height:100vh;display:flex}body[data-theme=Eucalyptus] .wedding-error-content{text-align:center}body[data-theme=Eucalyptus] .wedding-error-title{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:2rem;font-weight:700}body[data-theme=Eucalyptus] .wedding-error-link{color:var(--color-green)}body[data-theme=Eucalyptus] .wedding-error-link:hover{text-decoration:underline}body[data-theme=Eucalyptus] .wedding-hero+section.wedding-section,body[data-theme=Eucalyptus] .wedding-hero+.wedding-section{margin-top:80px}body[data-theme=Eucalyptus] .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=Eucalyptus] .wedding-nav-container{max-width:1200px;padding:var(--spacing-md)var(--spacing-md);margin:0 auto;position:relative}body[data-theme=Eucalyptus] .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=Eucalyptus] .wedding-nav-hamburger span{background:var(--text-primary);border-radius:2px;width:25px;height:3px;transition:all .3s;display:block}body[data-theme=Eucalyptus] .wedding-nav-links{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;list-style:none;display:flex}body[data-theme=Eucalyptus] .wedding-nav-link{color:var(--text-secondary);font-size:1rem;font-weight:500;transition:color .3s}body[data-theme=Eucalyptus] .wedding-nav-link:hover{color:var(--primary-color)}@media (max-width:768px){body[data-theme=Eucalyptus] .wedding-nav{position:fixed;top:0;left:0;right:0}body[data-theme=Eucalyptus] .wedding-nav-container{justify-content:center;align-items:center;display:flex}body[data-theme=Eucalyptus] .wedding-nav-hamburger{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-theme=Eucalyptus] .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=Eucalyptus] .wedding-nav-links.open{opacity:1;pointer-events:auto}body[data-theme=Eucalyptus] .wedding-nav-links li{text-align:center;width:100%;max-width:300px}body[data-theme=Eucalyptus] .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=Eucalyptus] .wedding-nav-link:last-child{border-bottom:none}}@media (max-width:480px){body[data-theme=Eucalyptus] .wedding-nav-links{gap:var(--spacing-xs)}body[data-theme=Eucalyptus] .wedding-nav-link{font-size:.875rem}}body[data-theme=Eucalyptus] .wedding-hero{background-color:var(--color-white);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:80vh;padding-top:60px;display:flex;position:relative;overflow-x:clip}body[data-theme=Eucalyptus] .wedding-hero:before{content:"";z-index:1;background-color:#17172666;position:absolute;inset:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H100 V90 C85 100 65 100 50 97 S15 88 0 93 Z' fill='white'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H100 V90 C85 100 65 100 50 97 S15 88 0 93 Z' fill='white'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%}body[data-theme=Eucalyptus] .wedding-hero:after{content:"";z-index:2;pointer-events:none;background-image:url(/themes/eucalyptus/eucalyptus_hero.png);background-position:100%;background-repeat:no-repeat;background-size:contain;width:100%;height:230px;position:absolute;bottom:-90px;right:-50px}body[data-theme=Eucalyptus] .wedding-hero-wave{z-index:1;width:100%;line-height:0;position:absolute;bottom:-2px;left:0;overflow:hidden}body[data-theme=Eucalyptus] .wedding-hero-content{text-align:center;z-index:2;width:80%;max-width:800px;padding:2em 0;position:relative}body[data-theme=Eucalyptus] .wedding-header-image{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H100 V90 C85 100 65 100 50 97 S15 88 0 93 Z' fill='white'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H100 V90 C85 100 65 100 50 97 S15 88 0 93 Z' fill='white'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%}body[data-theme=Eucalyptus] .wedding-header-image img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}body[data-theme=Eucalyptus] .wedding-couple-names{font-family:var(--font-script);color:#fff;text-align:center;margin-bottom:20px;padding-bottom:20px;font-size:4.22222em;font-weight:300;line-height:1.1;position:relative}body[data-theme=Eucalyptus] .wedding-couple-names:after{content:"";background-color:#fff;width:200px;height:1px;display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%)}body[data-theme=Eucalyptus] .wedding-name-separator{display:inline}@media (max-width:767px){body[data-theme=Eucalyptus] .wedding-couple-names{font-size:2.5em}}body[data-theme=Eucalyptus] .wedding-divider{display:none}body[data-theme=Eucalyptus] .wedding-date{font-family:var(--font-body);color:#fff;opacity:.8;text-align:center;margin-bottom:.5em;font-size:1.44444em;font-weight:300}body[data-theme=Eucalyptus] .wedding-countdown{font-family:var(--font-body);color:#ffffffb3;text-align:center;letter-spacing:.05em;margin-top:.5em;font-size:1em;font-weight:300}body[data-theme=Eucalyptus] .wedding-countdown.today{color:var(--color-blush)}body[data-theme=Eucalyptus] .wedding-countdown.past{color:#ffffff80}body[data-theme=Eucalyptus] .wedding-our-story-text{font-family:var(--font-body);color:var(--color-text);text-align:center;white-space:pre-line;font-size:1rem;font-weight:300;line-height:1.8}body[data-theme=Eucalyptus] .wedding-timeline-list{max-width:900px;margin:0 auto var(--spacing-xl);padding:var(--spacing-sm)0;position:relative}body[data-theme=Eucalyptus] .wedding-timeline-list:before{content:"";background:linear-gradient(to bottom,transparent,var(--primary-light)8%,var(--primary-color)50%,var(--primary-light)92%,transparent);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}body[data-theme=Eucalyptus] .wedding-timeline-item{align-items:center;gap:0 var(--spacing-lg);margin-bottom:var(--spacing-sm);grid-template-columns:1fr 4rem 1fr;display:grid;position:relative}body[data-theme=Eucalyptus] .wedding-timeline-icon{background:linear-gradient(135deg,var(--primary-light)0%,#fff8e7 100%);border:2px solid var(--primary-color);width:3.5rem;height:3.5rem;box-shadow:0 0 0 4px var(--bg-secondary),var(--shadow-sm);color:var(--primary-color);z-index:1;border-radius:50%;grid-area:1/2;justify-content:center;justify-self:center;align-items:center;font-size:1.25rem;transition:transform .3s,box-shadow .3s;display:flex}body[data-theme=Eucalyptus] .wedding-timeline-item:hover .wedding-timeline-icon{box-shadow:0 0 0 4px var(--bg-secondary),var(--shadow-md);transform:scale(1.15)}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(odd) .wedding-timeline-content{text-align:right;grid-area:1/1}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(odd) .wedding-timeline-header{justify-content:flex-end}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(odd) .wedding-timeline-location{flex-direction:row-reverse;justify-content:flex-start}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(odd):hover .wedding-timeline-content{transform:translate(-3px)}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(2n) .wedding-timeline-content{text-align:left;grid-area:1/3}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(2n):hover .wedding-timeline-content{transform:translate(3px)}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(2n) .wedding-timeline-header{flex-direction:row-reverse;justify-content:flex-end}body[data-theme=Eucalyptus] .wedding-timeline-content{background:var(--bg-primary);padding:var(--spacing-md);transition:transform .3s}body[data-theme=Eucalyptus] .wedding-timeline-item:hover .wedding-timeline-content{transform:scale(1.02)}body[data-theme=Eucalyptus] .wedding-timeline-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}body[data-theme=Eucalyptus] .wedding-timeline-name{color:var(--text-primary);margin:0;font-size:2rem}body[data-theme=Eucalyptus] .wedding-timeline-time{color:var(--primary-color);border-radius:var(--radius-sm);white-space:nowrap;font-size:1.5rem;font-weight:700}body[data-theme=Eucalyptus] .wedding-timeline-location{color:var(--text-secondary);margin-bottom:var(--spacing-xs);align-items:center;gap:.3rem;font-size:.9rem;font-weight:500;display:flex}body[data-theme=Eucalyptus] .wedding-timeline-description{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}body[data-theme=Eucalyptus] .wedding-timeline-visual{display:none}@media (max-width:640px){body[data-theme=Eucalyptus] .wedding-timeline-list:before{left:1.75rem;transform:none}body[data-theme=Eucalyptus] .wedding-timeline-item{gap:0 var(--spacing-md);grid-template-columns:3.5rem 1fr}body[data-theme=Eucalyptus] .wedding-timeline-icon{grid-column:1;width:3.5rem;height:3.5rem}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(odd) .wedding-timeline-content,body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(2n) .wedding-timeline-content{text-align:left;grid-area:1/2}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(odd) .wedding-timeline-header,body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(2n) .wedding-timeline-header{flex-direction:column;align-items:flex-start;gap:.1rem}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(odd) .wedding-timeline-location{flex-direction:row;justify-content:flex-start}}body[data-theme=Eucalyptus] .wedding-bestpersons-grid{flex-wrap:wrap;justify-content:center;gap:4%;display:flex}body[data-theme=Eucalyptus] .wedding-bestperson{text-align:center;width:48%;min-width:220px}body[data-theme=Eucalyptus] .wedding-bestperson-image{object-fit:cover;border:4px solid var(--color-white);border-radius:50%;width:160px;height:160px;margin:0 auto 1em;box-shadow:0 4px 16px #0000001f}body[data-theme=Eucalyptus] .wedding-bestperson-name{font-family:var(--font-script);color:var(--color-heading);margin-bottom:.25em;font-size:2em;font-weight:500}body[data-theme=Eucalyptus] .wedding-bestperson-role{font-family:var(--font-body);color:var(--color-green);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75em;font-size:.85rem;font-weight:400}body[data-theme=Eucalyptus] .wedding-bestperson-description{font-family:var(--font-body);color:var(--color-text);font-size:.95rem;font-weight:300;line-height:1.7}@media (max-width:767px){body[data-theme=Eucalyptus] .wedding-bestperson{width:100%}}body[data-theme=Eucalyptus] .wedding-section-menu{text-align:center}body[data-theme=Eucalyptus] .wedding-section-menu:before{content:"";background-image:url(/themes/eucalyptus/eucalyptus_section2.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:250px;height:250px;margin:0 auto 1.5em;display:block}body[data-theme=Eucalyptus] .wedding-section-menu-text{font-family:var(--font-body);color:var(--color-text);text-align:center;white-space:pre-line;font-size:1rem;font-weight:300;line-height:1.8}body[data-theme=Eucalyptus] .wedding-section-fun-facts{text-align:center}body[data-theme=Eucalyptus] .wedding-section-fun-facts:before{content:"";background-image:url(/themes/eucalyptus/eucalyptus_section.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:180px;height:180px;margin:0 auto 1.5em;display:block}body[data-theme=Eucalyptus] .wedding-section-fun-facts-text{font-family:var(--font-body);color:var(--color-text);text-align:center;white-space:pre-line;font-size:1rem;font-weight:300;line-height:1.8}body[data-theme=Eucalyptus] .wedding-section-faq{text-align:center}body[data-theme=Eucalyptus] .wedding-section-faq:before{content:"";background-image:url(/themes/eucalyptus/eucalyptus_section2.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:250px;height:250px;margin:0 auto 1.5em;display:block}body[data-theme=Eucalyptus] .wedding-section-faq-text{font-family:var(--font-body);color:var(--color-text);text-align:center;white-space:pre-line;font-size:1rem;font-weight:300;line-height:1.8}body[data-theme=Eucalyptus] .raffle-container{margin:2em 0}body[data-theme=Eucalyptus] .raffle-form{flex-direction:column;gap:1em;display:flex}body[data-theme=Eucalyptus] .raffle-intro-text{text-align:center;color:var(--color-text);margin-bottom:1em;font-size:1rem;font-weight:300;line-height:1.7}body[data-theme=Eucalyptus] .raffle-question-card{background:var(--color-white);border:1px solid #6a6a6a26;border-radius:4px;padding:1.5em}body[data-theme=Eucalyptus] .raffle-question-text{color:var(--color-text);margin-bottom:1em;font-size:1rem;font-weight:400}body[data-theme=Eucalyptus] .raffle-options{flex-wrap:wrap;gap:1.5em;display:flex}body[data-theme=Eucalyptus] .raffle-option-label{cursor:pointer;color:var(--color-text);border-radius:4px;align-items:center;gap:.5em;padding:.3em .5em;font-size:.95rem;font-weight:300;transition:background .2s;display:flex}body[data-theme=Eucalyptus] .raffle-option-label:hover{background:#5a71630f}body[data-theme=Eucalyptus] .raffle-radio{accent-color:var(--color-green);cursor:pointer;width:1.1rem;height:1.1rem}body[data-theme=Eucalyptus] .raffle-option-text{color:var(--color-text)}body[data-theme=Eucalyptus] .raffle-email-card{background:var(--color-white);border:1px solid #6a6a6a26;border-radius:4px;padding:1.5em}body[data-theme=Eucalyptus] .raffle-email-label{color:var(--color-text);margin-bottom:.25em;font-size:.9rem;font-weight:300;display:block}body[data-theme=Eucalyptus] .raffle-email-input{border:none;border:1px solid var(--primary-light);width:100%;font-family:var(--font-body);color:var(--color-text);background:0 0;border-radius:4px;outline:none;margin-top:.5em;padding:.25em .5em;font-size:1rem;font-weight:300;transition:border-color .3s}body[data-theme=Eucalyptus] .raffle-email-input:focus{border:1px solid var(--color-green);outline:none}body[data-theme=Eucalyptus] .raffle-email-hint{color:var(--color-text);opacity:.8;margin-top:.25em;font-size:.8rem;font-weight:300}body[data-theme=Eucalyptus] .raffle-status-success{color:var(--color-green);text-align:center;background:#e9f3ec;border:1px solid #5a71634d;border-radius:4px;padding:1em;font-weight:400}body[data-theme=Eucalyptus] .raffle-status-error{color:#a0503a;text-align:center;background:#fef0f0;border:1px solid #a0503a4d;border-radius:4px;padding:1em;font-weight:400}body[data-theme=Eucalyptus] .wedding-photos-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2em;display:grid}@media (min-width:640px){body[data-theme=Eucalyptus] .wedding-photos-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){body[data-theme=Eucalyptus] .wedding-photos-grid{grid-template-columns:repeat(4,1fr)}}body[data-theme=Eucalyptus] .wedding-photo-item{aspect-ratio:1;background:var(--color-bg);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}body[data-theme=Eucalyptus] .wedding-photo-item:after{content:"";pointer-events:none;border:8px solid #fff;border-bottom-width:24px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000000f}body[data-theme=Eucalyptus] .wedding-photo-item:hover{transform:scale(1.03)rotate(-.8deg);box-shadow:0 8px 24px #00000026}body[data-theme=Eucalyptus] .wedding-photo-item img{object-fit:cover;width:100%;height:100%;transition:transform .4s}body[data-theme=Eucalyptus] .wedding-photo-item:hover img{transform:scale(1.06)}body[data-theme=Eucalyptus] .upload-container{margin:2em 0}body[data-theme=Eucalyptus] .upload-form{flex-direction:column;gap:1em;display:flex}body[data-theme=Eucalyptus] .upload-intro-text{text-align:center;color:var(--color-text);margin-bottom:1em;font-size:1rem;font-weight:300;line-height:1.7}body[data-theme=Eucalyptus] .upload-file-card{background:var(--color-bg);text-align:center;border:1px dashed #5a716366;border-radius:4px;flex-direction:column;align-items:center;gap:1em;padding:2.5em;transition:border-color .3s,background .3s;display:flex}body[data-theme=Eucalyptus] .upload-file-card:hover{border-color:var(--color-green);background:#5a71630a}body[data-theme=Eucalyptus] .upload-file-input{display:none}body[data-theme=Eucalyptus] .upload-file-label{text-align:center;cursor:pointer;text-transform:uppercase;color:var(--btn-fg);font-family:var(--font-body);font-weight:var(--btn-font-weight);background-color:var(--btn-bg);border:none;outline:none;padding:14px 48px;font-size:14px;text-decoration:none;transition:background .3s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 5px 15px #00000026}body[data-theme=Eucalyptus] .upload-file-label:hover{background-color:var(--btn-sweep)}body[data-theme=Eucalyptus] .upload-file-hint{color:var(--color-green);margin:0;font-size:1rem;font-weight:400}body[data-theme=Eucalyptus] .upload-file-info{color:var(--color-text);opacity:.7;margin:0;font-size:.8rem;font-weight:300;line-height:1.5}body[data-theme=Eucalyptus] .upload-submit-button{text-align:center;cursor:pointer;text-transform:uppercase;color:var(--btn-fg);font-family:var(--font-body);font-weight:var(--btn-font-weight);font-size:var(--btn-font-size);background-color:var(--btn-bg);padding:var(--btn-padding);width:100%;box-shadow:var(--btn-shadow);border:none;outline:none;margin:.5em 0 0;transition:color .3s;display:inline-block;position:relative;overflow:hidden}body[data-theme=Eucalyptus] .upload-submit-button:after{content:"";background:var(--btn-sweep);width:200%;height:800%;transition:all .5s ease-in-out;position:absolute;top:0;left:0;transform:translate(-120%)translateY(-25%)rotate(45deg)}body[data-theme=Eucalyptus] .upload-submit-button:hover:not(:disabled):after{transform:translate(-9%)translateY(-25%)rotate(45deg)}body[data-theme=Eucalyptus] .upload-submit-button span{z-index:1;color:var(--btn-fg);position:relative}body[data-theme=Eucalyptus] .upload-submit-button:disabled{opacity:.5;cursor:not-allowed}body[data-theme=Eucalyptus] .upload-status-success{color:var(--color-green);text-align:center;background:#e9f3ec;border:1px solid #5a71634d;border-radius:4px;padding:1em;font-weight:400}body[data-theme=Eucalyptus] .upload-status-error{color:#a0503a;text-align:center;background:#fef0f0;border:1px solid #a0503a4d;border-radius:4px;padding:1em;font-weight:400}body[data-theme=Eucalyptus] .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);border:1px solid var(--border-color)}body[data-theme=Eucalyptus] .rsvp-title{font-family:var(--font-script);color:var(--color-heading);margin-bottom:var(--spacing-md);text-align:center;font-size:2.66667em;font-weight:500;line-height:1}body[data-theme=Eucalyptus] .rsvp-responded{color:var(--text-secondary);text-align:center;font-size:1.1rem;line-height:1.6}body[data-theme=Eucalyptus] .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=Eucalyptus] .rsvp-link-button:hover{color:var(--primary-dark)}body[data-theme=Eucalyptus] .rsvp-intro-text{margin-bottom:var(--spacing-md);color:var(--text-secondary);text-align:center;margin-top:30px;font-size:1.1rem;line-height:1.8}body[data-theme=Eucalyptus] .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=Eucalyptus] .rsvp-form{gap:var(--spacing-md);flex-direction:column;display:flex}body[data-theme=Eucalyptus] .rsvp-invitee-card{padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--border-color);background:#fff;transition:all .3s}body[data-theme=Eucalyptus] .rsvp-invitee-card:hover{border-color:var(--primary-light)}body[data-theme=Eucalyptus] .rsvp-invitee-header{margin-bottom:var(--spacing-md)}body[data-theme=Eucalyptus] .rsvp-invitee-name{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:1.2rem;font-weight:600}body[data-theme=Eucalyptus] .rsvp-attendance-options{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}body[data-theme=Eucalyptus] .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=Eucalyptus] .rsvp-radio-label:hover{background-color:var(--bg-accent)}body[data-theme=Eucalyptus] .rsvp-radio{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}body[data-theme=Eucalyptus] .rsvp-radio-text{font-size:1rem;font-weight:500}body[data-theme=Eucalyptus] .rsvp-radio-text.rsvp-yes{color:#2d7a3e}body[data-theme=Eucalyptus] .rsvp-radio-text.rsvp-no{color:#a73c2e}body[data-theme=Eucalyptus] .rsvp-invitee-notes{flex-direction:column;display:flex}body[data-theme=Eucalyptus] .rsvp-notes-label{color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-size:.9rem;display:block}body[data-theme=Eucalyptus] .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=Eucalyptus] .rsvp-notes-input:focus{border-color:var(--primary-color);outline:none}body[data-theme=Eucalyptus] .rsvp-message-card{margin-top:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--border-color);background:#fff}body[data-theme=Eucalyptus] .rsvp-message-label{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}body[data-theme=Eucalyptus] .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=Eucalyptus] .rsvp-message-textarea:focus{border-color:var(--primary-color);outline:none}body[data-theme=Eucalyptus] .rsvp-status-message{padding:var(--spacing-md);border-radius:var(--radius-sm);text-align:center;font-weight:500}body[data-theme=Eucalyptus] .rsvp-status-success{color:#2d7a3e;background-color:#e8f5e9;border:1px solid #4caf50}body[data-theme=Eucalyptus] .rsvp-status-error{color:#a73c2e;background-color:#ffebee;border:1px solid #e57373}body[data-theme=Eucalyptus] .wedding-footer{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));padding:1em}body[data-theme=Eucalyptus] .wedding-footer-content{text-align:center;max-width:1280px;margin:0 auto}body[data-theme=Eucalyptus] .wedding-footer-text{font-size:.77778em;font-family:var(--font-body);color:#fff;font-weight:300}body[data-theme=Eucalyptus] .wedding-footer-link{color:#fff;text-decoration:none}body[data-theme=Eucalyptus] .wedding-footer-link:hover{color:#fff;text-decoration:underline}body[data-theme=Eucalyptus] .wedding-couple-names{animation:1s cubic-bezier(.22,1,.36,1) .3s both scroll-fade-up}body[data-theme=Eucalyptus] .wedding-date{animation:.85s cubic-bezier(.22,1,.36,1) .75s both scroll-fade-up}body[data-theme=Eucalyptus] .wedding-countdown{animation:.85s cubic-bezier(.22,1,.36,1) 1.05s both scroll-fade-up}body[data-theme=Eucalyptus] .wedding-section-title,body[data-theme=Eucalyptus] .rsvp-title,body[data-theme=Eucalyptus] .wedding-timeline-name,body[data-theme=Eucalyptus] .wedding-bestperson-name{opacity:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}body[data-theme=Eucalyptus] .wedding-section-title.is-visible,body[data-theme=Eucalyptus] .rsvp-title.is-visible,body[data-theme=Eucalyptus] .wedding-timeline-name.is-visible,body[data-theme=Eucalyptus] .wedding-bestperson-name.is-visible{opacity:1;transform:none}body[data-theme=Eucalyptus] .wedding-section-subtitle,body[data-theme=Eucalyptus] .wedding-our-story-text,body[data-theme=Eucalyptus] .wedding-section-menu-text,body[data-theme=Eucalyptus] .wedding-section-fun-facts-text,body[data-theme=Eucalyptus] .wedding-section-faq-text,body[data-theme=Eucalyptus] .wedding-timeline-description,body[data-theme=Eucalyptus] .wedding-timeline-location,body[data-theme=Eucalyptus] .wedding-bestperson-role,body[data-theme=Eucalyptus] .wedding-bestperson-description,body[data-theme=Eucalyptus] .rsvp-intro-text,body[data-theme=Eucalyptus] .rsvp-instructions,body[data-theme=Eucalyptus] .wedding-footer-text{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1) .15s,transform .8s cubic-bezier(.22,1,.36,1) .15s;transform:translateY(20px)}body[data-theme=Eucalyptus] .wedding-section-subtitle.is-visible,body[data-theme=Eucalyptus] .wedding-our-story-text.is-visible,body[data-theme=Eucalyptus] .wedding-section-menu-text.is-visible,body[data-theme=Eucalyptus] .wedding-section-fun-facts-text.is-visible,body[data-theme=Eucalyptus] .wedding-section-faq-text.is-visible,body[data-theme=Eucalyptus] .wedding-timeline-description.is-visible,body[data-theme=Eucalyptus] .wedding-timeline-location.is-visible,body[data-theme=Eucalyptus] .wedding-bestperson-role.is-visible,body[data-theme=Eucalyptus] .wedding-bestperson-description.is-visible,body[data-theme=Eucalyptus] .rsvp-intro-text.is-visible,body[data-theme=Eucalyptus] .rsvp-instructions.is-visible,body[data-theme=Eucalyptus] .wedding-footer-text.is-visible{opacity:1;transform:none}body[data-theme=Eucalyptus] .wedding-bestperson-image,body[data-theme=Eucalyptus] .wedding-photo-item,body[data-theme=Eucalyptus] .rsvp-container{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:scale(.9)translateY(16px)}body[data-theme=Eucalyptus] .wedding-bestperson-image.is-visible,body[data-theme=Eucalyptus] .wedding-photo-item.is-visible,body[data-theme=Eucalyptus] .rsvp-container.is-visible{opacity:1;transform:none}body[data-theme=Eucalyptus] .wedding-photo-item:first-child{transition-delay:0s}body[data-theme=Eucalyptus] .wedding-photo-item:nth-child(2){transition-delay:80ms}body[data-theme=Eucalyptus] .wedding-photo-item:nth-child(3){transition-delay:.16s}body[data-theme=Eucalyptus] .wedding-photo-item:nth-child(4){transition-delay:.24s}body[data-theme=Eucalyptus] .wedding-photo-item:nth-child(5){transition-delay:.32s}body[data-theme=Eucalyptus] .wedding-photo-item:nth-child(6){transition-delay:.4s}body[data-theme=Eucalyptus] .rsvp-submit-button,body[data-theme=Eucalyptus] .wedding-nav-link{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1) .25s,transform .6s cubic-bezier(.22,1,.36,1) .25s;transform:translateY(12px)}body[data-theme=Eucalyptus] .rsvp-submit-button.is-visible,body[data-theme=Eucalyptus] .wedding-nav-link.is-visible{opacity:1;transform:none}body[data-theme=Eucalyptus] .wedding-timeline-list:before{transform-origin:top;transition:transform 1.4s cubic-bezier(.22,1,.36,1) .2s;transform:scaleY(0)}body[data-theme=Eucalyptus] .wedding-timeline-list.is-visible:before{transform:scaleY(1)}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(odd){opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translate(-44px)}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(2n){opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translate(44px)}body[data-theme=Eucalyptus] .wedding-timeline-item.is-visible{opacity:1;transform:none}body[data-theme=Eucalyptus] .wedding-timeline-item:first-child{transition-delay:50ms}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(2){transition-delay:.15s}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(3){transition-delay:.25s}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(4){transition-delay:.35s}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(5){transition-delay:.45s}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(6){transition-delay:.55s}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(7){transition-delay:.65s}body[data-theme=Eucalyptus] .wedding-timeline-item:nth-child(8){transition-delay:.75s}body[data-theme=Eucalyptus] .wedding-timeline-icon{opacity:0;transition:opacity .5s cubic-bezier(.34,1.56,.64,1) .2s,transform .5s cubic-bezier(.34,1.56,.64,1) .2s;transform:scale(.4)}body[data-theme=Eucalyptus] .wedding-timeline-item.is-visible .wedding-timeline-icon{opacity:1;transform:scale(1)}body[data-theme=Eucalyptus] .wedding-section-faq:before,body[data-theme=Eucalyptus] .wedding-section-fun-facts:before{opacity:0;transition:opacity .8s .1s,transform .8s cubic-bezier(.22,1,.36,1) .1s;transform:translateY(-18px)rotate(-5deg)}body[data-theme=Eucalyptus] .wedding-section-faq.is-visible:before,body[data-theme=Eucalyptus] .wedding-section-fun-facts.is-visible:before{opacity:1;transform:none}body[data-theme=Eucalyptus] .wedding-bestperson{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:scale(.88)translateY(20px)}body[data-theme=Eucalyptus] .wedding-bestperson.is-visible{opacity:1;transform:none}body[data-theme=Eucalyptus] .wedding-bestperson:first-child{transition-delay:0s}body[data-theme=Eucalyptus] .wedding-bestperson:nth-child(2){transition-delay:.15s}body[data-theme=Eucalyptus] .wedding-bestperson:nth-child(3){transition-delay:.3s}body[data-theme=Eucalyptus] .wedding-bestperson:nth-child(4){transition-delay:.45s}body[data-theme=Eucalyptus] .wedding-hero:after{animation:7s ease-in-out 1s infinite scroll-float}body[data-theme=Eucalyptus] .rsvp-container:after{animation:8s ease-in-out .8s infinite scroll-float}@media (prefers-reduced-motion:reduce){body[data-theme=Eucalyptus] .wedding-couple-names,body[data-theme=Eucalyptus] .wedding-date,body[data-theme=Eucalyptus] .wedding-countdown,body[data-theme=Eucalyptus] .wedding-section-title,body[data-theme=Eucalyptus] .rsvp-title,body[data-theme=Eucalyptus] .wedding-timeline-name,body[data-theme=Eucalyptus] .wedding-bestperson-name,body[data-theme=Eucalyptus] .wedding-section-subtitle,body[data-theme=Eucalyptus] .wedding-our-story-text,body[data-theme=Eucalyptus] .wedding-section-menu-text,body[data-theme=Eucalyptus] .wedding-section-fun-facts-text,body[data-theme=Eucalyptus] .wedding-section-faq-text,body[data-theme=Eucalyptus] .wedding-timeline-description,body[data-theme=Eucalyptus] .wedding-timeline-location,body[data-theme=Eucalyptus] .wedding-bestperson-role,body[data-theme=Eucalyptus] .wedding-bestperson-description,body[data-theme=Eucalyptus] .rsvp-intro-text,body[data-theme=Eucalyptus] .rsvp-instructions,body[data-theme=Eucalyptus] .wedding-footer-text,body[data-theme=Eucalyptus] .wedding-bestperson-image,body[data-theme=Eucalyptus] .wedding-photo-item,body[data-theme=Eucalyptus] .rsvp-container,body[data-theme=Eucalyptus] .rsvp-submit-button,body[data-theme=Eucalyptus] .wedding-nav-link,body[data-theme=Eucalyptus] .wedding-timeline-list:before,body[data-theme=Eucalyptus] .wedding-timeline-item,body[data-theme=Eucalyptus] .wedding-timeline-icon,body[data-theme=Eucalyptus] .wedding-section-faq:before,body[data-theme=Eucalyptus] .wedding-section-fun-facts:before,body[data-theme=Eucalyptus] .wedding-bestperson,body[data-theme=Eucalyptus] .wedding-hero:after,body[data-theme=Eucalyptus] .rsvp-container:after{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}
@keyframes scroll-fade-up{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-fade-down{0%{opacity:0;transform:translateY(-36px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-fade-left{0%{opacity:0;transform:translate(-48px)}to{opacity:1;transform:translate(0)}}@keyframes scroll-fade-right{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}@keyframes scroll-zoom-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes scroll-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes scroll-draw-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes scroll-draw-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes scroll-float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-8px)rotate(1.5deg)}66%{transform:translateY(4px)rotate(-1deg)}}@keyframes scroll-shimmer-in{0%{opacity:0;transform:translateY(20px)rotate(-3deg)}to{opacity:1;transform:translateY(0)rotate(0)}}[data-animate=fade-up]{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(36px)}[data-animate=fade-down]{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(-36px)}[data-animate=fade-left]{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translate(-48px)}[data-animate=fade-right]{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translate(48px)}[data-animate=zoom-in]{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:scale(.88)}[data-animate=pop]{opacity:0;transition:opacity .5s cubic-bezier(.34,1.56,.64,1),transform .5s cubic-bezier(.34,1.56,.64,1);transform:scale(.4)}[data-animate].is-visible{opacity:1;transform:none}[data-delay="1"]{transition-delay:.1s}[data-delay="2"]{transition-delay:.2s}[data-delay="3"]{transition-delay:.32s}[data-delay="4"]{transition-delay:.45s}[data-delay="5"]{transition-delay:.6s}[data-delay="6"]{transition-delay:.75s}[data-delay="7"]{transition-delay:.92s}[data-delay="8"]{transition-delay:1.1s}@media (prefers-reduced-motion:reduce){[data-animate],[data-animate].is-visible{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}[data-delay]{transition-delay:0s!important}}
body .wedding-example-badge{color:#fff;-webkit-backdrop-filter:blur(8px);z-index:9999;text-align:center;background:#2e7c7c;border:1px solid #fff3;border-radius:15px;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.875rem;font-weight:500;animation:2s ease-in-out infinite default-pulse-badge;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}@keyframes default-pulse-badge{0%,to{box-shadow:0 0 #ffffff1a}50%{box-shadow:0 0 0 10px #fff0}}body .wedding-example-badge a{color:#fff;font-weight:600;text-decoration:underline}body .wedding-example-badge a:hover{color:#fff;opacity:.8;text-decoration:none}body .wedding-example-badge-close{color:#fff;cursor:pointer;opacity:.6;background:0 0;border:none;align-items:center;margin-left:.25rem;padding:0;font-size:1.1rem;line-height:1;transition:opacity .2s;display:flex}body .wedding-example-badge-close:hover{opacity:1}@media (max-width:768px){body .wedding-example-badge{text-align:left;justify-content:space-between;padding:1rem;font-size:.875rem;top:4rem;left:1rem;right:1rem}}
