/* Shared decoration for the editor canvas and the real guest form. */
[data-studio-design=true]{position:relative;isolation:isolate;background:var(--studio-paper)!important;border-radius:var(--studio-radius)!important}
[data-studio-design=true]::before,.rsvp[data-studio-design=true] .person-rsvp>summary::before{content:'';position:absolute;inset:0 0 auto;height:105px;border-radius:inherit;pointer-events:none;z-index:-1;opacity:var(--studio-opacity);background-size:var(--studio-scale) var(--studio-scale);color:var(--studio-accent)}
[data-studio-design=true][data-motif=petals]::before,.rsvp[data-studio-design=true][data-motif=petals] .person-rsvp>summary::before{background:var(--studio-accent);mask-size:var(--studio-scale) var(--studio-scale);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='black' stroke-width='1.4'%3E%3Cpath d='M8 99Q45 75 48 38M29 83Q10 65 17 56Q40 57 36 76M43 62Q65 43 74 50Q70 68 43 70'/%3E%3Cellipse cx='48' cy='24' rx='8' ry='13'/%3E%3Cellipse cx='48' cy='24' rx='8' ry='13' transform='rotate(72 48 38)'/%3E%3Cellipse cx='48' cy='24' rx='8' ry='13' transform='rotate(144 48 38)'/%3E%3Cellipse cx='48' cy='24' rx='8' ry='13' transform='rotate(216 48 38)'/%3E%3Cellipse cx='48' cy='24' rx='8' ry='13' transform='rotate(288 48 38)'/%3E%3Ccircle cx='48' cy='38' r='4'/%3E%3C/g%3E%3C/svg%3E")}
[data-studio-design=true][data-motif=sparkles]::before,.rsvp[data-studio-design=true][data-motif=sparkles] .person-rsvp>summary::before{background:var(--studio-accent);mask-size:var(--studio-scale) var(--studio-scale);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 12Q52 45 70 48Q52 51 50 84Q48 51 30 48Q48 45 50 12ZM16 8L19 17L28 20L19 23L16 32L13 23L4 20L13 17Z'/%3E%3Ccircle cx='83' cy='76' r='2'/%3E%3C/svg%3E")}
[data-studio-design=true][data-motif=arches]::before,.rsvp[data-studio-design=true][data-motif=arches] .person-rsvp>summary::before{background-image:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 12px,currentColor 13px 14px,transparent 15px 24px)}
[data-studio-design=true][data-motif=none]::before,.rsvp[data-studio-design=true][data-motif=none] .person-rsvp>summary::before{display:none}
.rsvp[data-studio-design=true] .person-rsvp>summary{position:relative;isolation:isolate}
.rsvp[data-studio-design=true] .person-rsvp>summary::before{height:100%;mask-position:right center;background-position:right center}
[data-studio-design=true][data-motif=invitation]::before,.rsvp[data-studio-design=true][data-motif=invitation] .person-rsvp>summary::before{background-image:var(--studio-art,none);background-size:var(--studio-art-size,180%) auto;background-position:var(--studio-art-position,left top);background-repeat:no-repeat;mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%)}
[data-studio-design=true][data-font=sans] h2,[data-studio-design=true][data-font=sans] h3,[data-studio-design=true][data-font=sans] .person-heading strong{font-family:Arial,sans-serif!important}
.studio-paper[data-studio-design=true] .studio-canvas-field,.invitation-stacked .rsvp[data-studio-design=true] details.person-rsvp,.invitation-stacked .rsvp[data-studio-design=true] .shared-rsvp{border-radius:var(--studio-radius)}
.invitation-stacked .rsvp[data-studio-design=true]{--form-accent:var(--studio-accent);--form-tint:color-mix(in srgb,var(--studio-accent) 5%,#faf7f8)}
.invitation-stacked .rsvp[data-studio-design=true] form>button{background:color-mix(in srgb,var(--studio-accent) 35%,#493240)}
.invitation-stacked .rsvp[data-studio-design=true]>form{background:#fffdfc;color:#443c43;padding:16px;border-radius:var(--studio-radius)}
.studio-paper[data-studio-design=true]>h2,.studio-paper[data-studio-design=true]>.eyebrow,.studio-paper[data-studio-design=true]>.hint,.studio-paper[data-studio-design=true] .studio-form-group>h3,.invitation-stacked .rsvp[data-studio-design=true]>h2,.invitation-stacked .rsvp[data-studio-design=true]>p:not(.error){color:var(--studio-ink,#443c43)}
/* Card-derived palettes also colour the navigation and field surfaces. */
.invitation-stacked .rsvp[data-motif=invitation] .people-sidebar,.invitation-stacked .rsvp[data-motif=invitation] .shared-rsvp{background:color-mix(in srgb,var(--studio-accent) 4%,white);border-color:color-mix(in srgb,var(--studio-accent) 18%,white)}
.invitation-stacked .rsvp[data-motif=invitation] .people-sidebar button[aria-current]{background:color-mix(in srgb,var(--studio-accent) 11%,white);border-color:color-mix(in srgb,var(--studio-accent) 42%,white);color:var(--form-ink)}
.invitation-stacked .rsvp[data-motif=invitation] .people-sidebar button:hover{background:color-mix(in srgb,var(--studio-accent) 7%,white)}
.invitation-stacked .rsvp[data-motif=invitation] .person-rsvp>summary{background:linear-gradient(110deg,color-mix(in srgb,var(--studio-accent) 3%,white),#fffdfb)}
.invitation-stacked .rsvp[data-motif=invitation] .person-state{background:color-mix(in srgb,var(--studio-accent) 8%,white);color:var(--form-ink)}
.invitation-stacked .rsvp[data-motif=invitation] .is-confirmed .person-state{background:#e8f0e9;color:#3b6248}
.invitation-stacked .rsvp[data-motif=invitation] .choice input{color:color-mix(in srgb,var(--studio-accent) 75%,#222)}
.invitation-stacked .rsvp[data-motif=invitation] input:not([type=checkbox]):not([type=radio]),.invitation-stacked .rsvp[data-motif=invitation] textarea,.invitation-stacked .rsvp[data-motif=invitation] select{background:#fffefc;border-color:color-mix(in srgb,var(--studio-accent) 22%,white)}
