.theme-soft-pastel { --cover-bg: var(--bg); --aside-bg: var(--bg); --aside-text: var(--primary); --title-color: var(--primary); }
.theme-soft-pastel .inv-main, .theme-soft-pastel .sec { background: var(--bg); }
.theme-soft-pastel .sec-alt { background: var(--surface); }
.theme-soft-pastel .sec-title { font-family: var(--names-font, var(--font-script)); font-weight: var(--names-weight, 400); font-size: var(--title-size, 44px); }
.theme-soft-pastel .sec-sub { letter-spacing: .3em; }
.theme-soft-pastel .host-name, .theme-soft-pastel .closing .names { font-family: var(--names-font, var(--font-script)); font-weight: var(--names-weight, 400); color: var(--primary); }
.theme-soft-pastel .btn-open, .theme-soft-pastel .btn { animation: none; box-shadow: none; }
.theme-soft-pastel .card { position: relative; }
.theme-soft-pastel.has-corners .card::before, .theme-soft-pastel.has-corners .card::after { content: ''; position: absolute; width: 44px; height: 44px; background: var(--orn-color, var(--accent)); -webkit-mask: var(--orn-corner) center / contain no-repeat; mask: var(--orn-corner) center / contain no-repeat; opacity: .6; pointer-events: none; }
.theme-soft-pastel.has-corners .card::before { top: 8px; left: 8px; }
.theme-soft-pastel.has-corners .card::after { bottom: 8px; right: 8px; transform: scale(-1); }
.theme-soft-pastel .inv-aside h1 { font-family: var(--names-font, var(--font-script)); font-weight: var(--names-weight, 400); }

.theme-soft-pastel { --orn-divider: url(/assets/ornaments/divider-hearts.svg); --orn-color: var(--primary); --divider-w: 130px; --divider-h: 22px; --radius: 24px; --frame-radius: 32px; --names-size: 58px; }
.theme-soft-pastel .cover, .theme-soft-pastel .inv-aside, .theme-soft-pastel .inv-main { background: radial-gradient(60% 40% at 15% 10%, var(--g1), transparent 70%), radial-gradient(60% 40% at 90% 85%, var(--g2), transparent 70%), var(--bg); }
.theme-soft-pastel .sec, .theme-soft-pastel .sec-alt { background: transparent; }
.theme-soft-pastel .cc-eyebrow, .theme-soft-pastel .sec-sub { font-weight: 600; letter-spacing: .2em; }
.theme-soft-pastel .cc-card, .theme-soft-pastel .card, .theme-soft-pastel .wish, .theme-soft-pastel .field { background: rgb(255 255 255 / .7) !important; backdrop-filter: blur(12px); border: 1px solid rgb(255 255 255 / .9); border-radius: 24px; box-shadow: 0 20px 40px -28px rgb(60 50 120 / .45); }
.theme-soft-pastel .btn-open, .theme-soft-pastel .btn { border-radius: 999px; background: var(--primary); padding: 13px 24px; font-weight: 600; }
.theme-soft-pastel .btn-outline { background: #fff; color: var(--primary); }
.theme-soft-pastel .host-photo { border-radius: 32px; border: 0; box-shadow: 0 24px 40px -24px rgb(60 50 120 / .5); }
.theme-soft-pastel .cd { background: #fff; color: var(--primary); border-radius: 20px; box-shadow: 0 14px 30px -22px rgb(60 50 120 / .5); }
.theme-soft-pastel .gift { background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 60%, var(--accent))); border-radius: 24px; }
.theme-soft-pastel .form input, .theme-soft-pastel .form select, .theme-soft-pastel .form textarea { border-radius: 14px; background: #fff; }
.theme-soft-pastel .btn-outline { box-shadow: inset 0 0 0 1.5px var(--primary); }
