:root{--cps-bg:#f8f8f6;--cps-card:#fff;--cps-text:#20182f;--cps-muted:#716a7e;--cps-border:#e6dfef;--cps-primary:#6f43c1;--cps-primary-dark:#56309e;--cps-primary-soft:#f0e9fb;--cps-secondary:#ffb54a;--cps-success:#1d7a45;--cps-warning:#9a6300;--cps-error:#b42318;--cps-shadow:0 18px 50px rgba(43,31,62,.10)}*{box-sizing:border-box}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cps-public{margin:0;background:var(--cps-bg);color:var(--cps-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}.cps-public-shell{width:min(760px,calc(100% - 28px));margin:28px auto 48px}.cps-event-hero{overflow:hidden;border-radius:28px;background:linear-gradient(135deg,var(--cps-primary-dark) 0%,var(--cps-primary) 58%,var(--cps-secondary) 135%);background-size:cover;background-position:center;color:var(--cps-hero-text,#fff);box-shadow:var(--cps-shadow);padding:24px 28px 36px;position:relative}.cps-event-hero:after{content:"";position:absolute;right:-70px;bottom:-110px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 34px rgba(255,255,255,.05),0 0 0 72px rgba(255,255,255,.03)}.cps-brand-row{display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;z-index:1}.cps-brand{display:flex;align-items:center;gap:10px;font-family:Georgia,"Times New Roman",serif;font-size:20px}.cps-mark{color:var(--cps-secondary);font-size:24px}.cps-private-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);border-radius:999px;font-size:13px}.cps-hero-content{position:relative;z-index:1;margin-top:48px;max-width:590px}.cps-eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700}.cps-hero-content h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,8vw,64px);line-height:1.02;margin:0 0 18px;font-weight:500}.cps-event-date,.cps-event-location{font-size:16px;margin:6px 0;color:var(--cps-hero-text-muted,rgba(255,255,255,.9))}.cps-public-card{background:var(--cps-card);border:1px solid var(--cps-border);border-radius:22px;padding:24px;margin-top:18px;box-shadow:0 10px 32px rgba(43,31,62,.06)}.cps-public-notice{border-radius:14px;padding:14px 16px;margin-top:18px;font-weight:600;border:1px solid}.cps-public-notice.is-success{background:#edf8f1;border-color:#b8dfc5;color:var(--cps-success)}.cps-public-notice.is-error{background:#fff0ef;border-color:#f2b8b5;color:var(--cps-error)}.cps-public-notice.is-warning{background:#fff7e6;border-color:#ebd39f;color:var(--cps-warning)}.cps-guest-hello{font-family:Georgia,"Times New Roman",serif;font-size:27px;margin:0 0 10px}.cps-intro-card>p:not(.cps-guest-hello){color:var(--cps-muted)}.cps-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.cps-detail-grid>div{background:#faf8fc;border:1px solid var(--cps-border);border-radius:14px;padding:14px}.cps-detail-grid span,.cps-detail-grid small{display:block;color:var(--cps-muted);font-size:12px}.cps-detail-grid strong{display:block;margin:5px 0;font-size:14px}.cps-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.cps-section-heading h2,.cps-privacy-card h2{font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:500;margin:0}.cps-response-badge{padding:6px 10px;border-radius:999px;background:var(--cps-primary-soft);color:var(--cps-primary-dark);font-weight:700;font-size:12px}.cps-muted{color:var(--cps-muted);margin-top:8px}.cps-rsvp-form{margin-top:20px}.cps-choice-fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0;padding:0;margin:0 0 20px}.cps-choice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;border:1px solid var(--cps-border);border-radius:16px;padding:16px 10px;cursor:pointer;background:#fff;transition:.18s ease}.cps-choice:hover{border-color:#bca7df;transform:translateY(-1px)}.cps-choice.is-selected{border-color:var(--cps-control-border,var(--cps-primary));background:var(--cps-primary-soft);box-shadow:0 0 0 2px rgba(111,67,193,.08)}.cps-choice input{position:absolute;opacity:0;pointer-events:none}.cps-choice-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-weight:800;margin-bottom:4px}.cps-choice-icon.is-yes{background:#e6f6ec;color:var(--cps-success)}.cps-choice-icon.is-maybe{background:#fff3d8;color:var(--cps-warning)}.cps-choice-icon.is-no{background:#fde9e7;color:var(--cps-error)}.cps-choice small{color:var(--cps-muted);font-size:12px}.cps-form-fields{display:grid;gap:16px}.cps-form-fields.is-hidden,.is-hidden{display:none!important}.cps-field{display:block;margin-top:16px}.cps-field>span{display:block;font-weight:700;margin-bottom:7px}.cps-field input,.cps-field textarea{width:100%;border:1px solid #cbc2d7;border-radius:12px;background:#fff;color:var(--cps-text);font:inherit;padding:12px 13px;outline:none}.cps-field input:focus,.cps-field textarea:focus{border-color:var(--cps-primary);box-shadow:0 0 0 3px rgba(111,67,193,.14)}.cps-field small{display:block;color:var(--cps-muted);font-size:12px;margin-top:6px}.cps-primary-button{width:100%;border:0;border-radius:13px;background:var(--cps-action-surface,var(--cps-primary));color:var(--cps-action-contrast,#fff);font:inherit;font-weight:700;padding:14px 18px;margin-top:22px;cursor:pointer;box-shadow:0 10px 20px var(--cps-action-shadow,rgba(111,67,193,.22))}.cps-primary-button:hover{background:var(--cps-action-hover,var(--cps-primary-dark));color:var(--cps-action-hover-contrast,#fff)}.cps-privacy-card{display:flex;gap:16px;align-items:flex-start}.cps-privacy-card h2{font-size:23px}.cps-privacy-card p{margin:6px 0 0;color:var(--cps-muted)}.cps-lock-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:var(--cps-primary-soft)}.cps-public-footer{text-align:center;color:var(--cps-muted);font-size:12px;margin:24px 0}.cps-error-shell{min-height:72vh;display:grid;place-items:center}.cps-error-card{text-align:center;max-width:520px}.cps-error-card h1{font-family:Georgia,"Times New Roman",serif;font-size:34px}.cps-error-card p{color:var(--cps-muted)}@media(max-width:640px){.cps-public-shell{width:min(100% - 18px,760px);margin:9px auto 30px}.cps-event-hero{border-radius:20px;padding:20px 19px 30px}.cps-brand{font-size:17px}.cps-private-chip{font-size:11px}.cps-hero-content{margin-top:38px}.cps-public-card{border-radius:18px;padding:19px}.cps-detail-grid{grid-template-columns:1fr}.cps-choice-fieldset{grid-template-columns:1fr 1fr 1fr}.cps-choice{padding:13px 5px}.cps-choice small{display:none}.cps-section-heading h2{font-size:27px}}@media(max-width:380px){.cps-private-chip{display:none}.cps-choice-fieldset{grid-template-columns:1fr}.cps-choice{display:grid;grid-template-columns:36px 1fr;align-items:center;text-align:left}.cps-choice small{display:block;grid-column:2}}

/* v0.2.4 event-change reconfirmation. */
.cps-update-card{border:1px solid #d6c6f2;background:linear-gradient(180deg,#fbf9ff 0%,#fff 100%)}
.cps-response-badge.is-warning{background:#fff0c7;color:#6f4700}
.cps-change-list{display:grid;gap:10px;margin:18px 0}
.cps-change-row{display:grid;grid-template-columns:minmax(110px,.75fr) repeat(2,minmax(0,1fr));gap:12px;align-items:start;padding:12px;border:1px solid #ded4ef;border-radius:12px;background:#fff}
.cps-change-row>div{display:grid;gap:4px}
.cps-change-row span{font-size:12px;color:#746b82;text-transform:uppercase;letter-spacing:.04em}
.cps-change-row del{color:#8c6670;text-decoration-thickness:1px;overflow-wrap:anywhere}
.cps-change-row b{color:#2f2148;overflow-wrap:anywhere}
.cps-update-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
.cps-update-actions form{margin:0;flex:1}
.cps-update-actions .cps-primary-button{width:100%;margin:0}
.cps-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid #6c3fc5;border-radius:10px;color:#5b35a8;text-decoration:none;font-weight:700;background:#fff}
@media(max-width:650px){.cps-change-row{grid-template-columns:1fr}.cps-update-actions{display:grid}.cps-update-actions form,.cps-secondary-button{width:100%}}

/* v0.2.10 shared Event branding. */
.cps-brand-logo{display:block;width:auto;height:34px;max-width:120px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))}.cps-brand-monogram{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border:1px solid rgba(255,255,255,.34);border-radius:12px;background:rgba(255,255,255,.14);font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:700;color:#fff}.cps-event-hero[style]{background-size:cover;background-position:center}.cps-event-hero[style]:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.14));pointer-events:none}.cps-event-hero[style]>.cps-brand-row,.cps-event-hero[style]>.cps-hero-content{position:relative;z-index:2}

/* v0.2.11 canonical hero image framing shared by public RSVP and admin preview. */
.cps-event-hero[data-cps-public-hero]{isolation:isolate;background:linear-gradient(135deg,var(--cps-primary-dark) 0%,var(--cps-primary) 58%,var(--cps-secondary) 135%)}
.cps-event-hero[data-cps-public-hero]:before{display:none}
.cps-event-hero[data-cps-public-hero]:after{z-index:1}
.cps-hero-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:0;pointer-events:none;max-width:none;max-height:none}.cps-event-hero[data-cps-framed="1"] .cps-hero-cover{inset:auto;left:50%;top:50%;object-fit:fill}
.cps-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,15,28,.82),rgba(20,15,28,.38));z-index:1;pointer-events:none}
.cps-event-hero[data-cps-public-hero]>.cps-brand-row,.cps-event-hero[data-cps-public-hero]>.cps-hero-content{position:relative;z-index:2}

/* v0.2.12 canonical color-driven design tokens. */
.cps-public{background-color:var(--cps-page-bg,#f8f8f6);background-image:radial-gradient(circle at top left,var(--cps-page-glow-secondary,transparent) 0,transparent 38%),radial-gradient(circle at top right,var(--cps-page-glow-primary,transparent) 0,transparent 40%);font-family:var(--cps-font-body)}
.cps-event-hero{font-family:var(--cps-font-body)}
.cps-hero-overlay{background:linear-gradient(135deg,var(--cps-hero-overlay-start),var(--cps-hero-overlay-end))}
.cps-brand,.cps-hero-content h1,.cps-guest-hello,.cps-section-heading h2,.cps-privacy-card h2,.cps-error-card h1{font-family:var(--cps-font-heading)}
.cps-brand-monogram{border-color:var(--cps-secondary-border);background:var(--cps-secondary-glass);color:var(--cps-hero-text)}
.cps-mark{color:var(--cps-secondary)}
.cps-private-chip{border-color:var(--cps-private-chip-border);background:var(--cps-private-chip-bg)}
.cps-public-card{border-color:var(--cps-primary-border)}
.cps-intro-card{background:linear-gradient(180deg,#fff 0%,var(--cps-primary-surface) 160%)}
.cps-detail-grid>div{background:linear-gradient(145deg,var(--cps-primary-surface),var(--cps-secondary-surface));border-color:var(--cps-primary-border)}
.cps-detail-grid>div:nth-child(2n){border-color:var(--cps-secondary-border)}
.cps-rsvp-card{box-shadow:inset 0 3px 0 var(--cps-primary),0 10px 32px rgba(43,31,62,.06)}
.cps-public-card .cps-eyebrow{color:var(--cps-primary-dark)}
.cps-response-badge{background:var(--cps-primary-soft);color:var(--cps-primary-dark);border:1px solid var(--cps-primary-border)}
.cps-choice:hover{border-color:var(--cps-primary);background:var(--cps-primary-surface)}
.cps-choice.is-selected{border-color:var(--cps-control-border,var(--cps-primary));background:linear-gradient(145deg,var(--cps-primary-soft),var(--cps-secondary-surface));box-shadow:0 0 0 3px var(--cps-focus-ring)}
.cps-choice:focus-within{outline:0;box-shadow:0 0 0 3px var(--cps-focus-ring)}
.cps-field input:focus,.cps-field textarea:focus{border-color:var(--cps-primary);box-shadow:0 0 0 3px var(--cps-focus-ring)}
.cps-primary-button{background:var(--cps-action-surface);color:var(--cps-action-contrast);font-family:var(--cps-font-button);box-shadow:0 10px 20px var(--cps-action-shadow)}
.cps-primary-button:hover,.cps-primary-button:focus{background:var(--cps-action-hover);color:var(--cps-action-hover-contrast)}
.cps-secondary-button{border-color:var(--cps-control-border,var(--cps-action-border));color:var(--cps-control-contrast,#20182f);font-family:var(--cps-font-button);background:var(--cps-control-surface,#fff)}
.cps-secondary-button:hover,.cps-secondary-button:focus{background:var(--cps-control-hover,var(--cps-control-surface,#fff));color:var(--cps-control-hover-contrast,var(--cps-control-contrast,#20182f))}
.cps-privacy-card{background:linear-gradient(145deg,var(--cps-primary-surface),var(--cps-secondary-surface))}
.cps-lock-icon{background:var(--cps-primary-soft);color:var(--cps-primary-dark);border:1px solid var(--cps-primary-border)}


/* v0.2.15 adaptive event-tinted page background and optional hero shading. */

/* v0.2.18 event-selected hero text and edge-constrained framing. */
.cps-event-hero .cps-brand,.cps-event-hero .cps-private-chip,.cps-event-hero .cps-eyebrow,.cps-event-hero .cps-hero-content h1{color:var(--cps-hero-text,#fff)}
.cps-event-hero[data-cps-hero-shading="off"] .cps-hero-content,.cps-event-hero[data-cps-hero-shading="off"] .cps-brand-row{text-shadow:var(--cps-hero-text-shadow,0 1px 3px rgba(0,0,0,.45))}


/* v0.3.1 normalized attendee names */
.cps-attendee-section{gap:16px}.cps-attendee-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--cps-secondary-border,var(--cps-border,#e4deea));border-radius:15px;background:var(--cps-secondary-surface,#faf7f0)}.cps-attendee-heading>div>span{display:block;font-weight:800}.cps-attendee-heading small{display:block;margin-top:4px;color:var(--cps-muted,#6f6679);line-height:1.45}.cps-attendee-heading>strong{white-space:nowrap}.cps-attendee-name-list{display:grid;gap:10px}.cps-attendee-name-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.cps-attendee-remove{min-height:44px;padding:0 12px;border:1px solid var(--cps-border,#e4deea);border-radius:10px;background:#fff;color:#7a3040;font-weight:700;cursor:pointer}.cps-attendee-add{justify-self:start}.cps-attendee-section.is-hidden{display:none}@media(max-width:520px){.cps-attendee-heading{display:grid}.cps-attendee-name-row{grid-template-columns:1fr}.cps-attendee-remove{justify-self:start;min-height:38px}}

/* v0.3.3 structured meal choice and allergy data per participant */
.cps-field select{width:100%;min-height:48px;border:1px solid #cbc2d7;border-radius:12px;background:#fff;color:var(--cps-text);font:inherit;padding:11px 40px 11px 13px;outline:none}.cps-field select:focus{border-color:var(--cps-primary);box-shadow:0 0 0 3px var(--cps-focus-ring,rgba(111,67,193,.14))}.cps-primary-food-card{padding:16px;border:1px solid var(--cps-border);border-radius:16px;background:#faf8fc}.cps-primary-food-card>h3{margin:0 0 4px;font-size:1rem}.cps-primary-food-card .cps-participant-card{padding:0;border:0;background:transparent}.cps-participant-card{position:relative;display:grid;gap:14px;padding:16px;border:1px solid var(--cps-border);border-radius:16px;background:#fff}.cps-participant-card>.cps-field,.cps-participant-food-grid .cps-field{margin-top:0}.cps-participant-food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cps-allergy-fieldset{min-width:0;margin:0;padding:0;border:0}.cps-allergy-fieldset legend{font-weight:700;margin-bottom:4px}.cps-allergy-fieldset>small{display:block;margin-bottom:9px;color:var(--cps-muted);font-size:12px}.cps-allergy-options{display:flex;flex-wrap:wrap;gap:7px}.cps-allergy-options label{position:relative;cursor:pointer}.cps-allergy-options input{position:absolute;opacity:0;pointer-events:none}.cps-allergy-options span{display:block;padding:8px 11px;border:1px solid var(--cps-border);border-radius:999px;background:#fff;color:var(--cps-text);font-size:13px;line-height:1.1;transition:.15s ease}.cps-allergy-options input:checked+span{border-color:var(--cps-primary);background:var(--cps-primary-soft);color:var(--cps-primary-dark);box-shadow:0 0 0 2px rgba(111,67,193,.08)}.cps-allergy-options input:focus-visible+span{outline:3px solid var(--cps-focus-ring,rgba(111,67,193,.22));outline-offset:2px}.cps-other-field{margin-top:0}.cps-participant-card>.cps-attendee-remove{justify-self:end}.cps-attendee-name-list{gap:14px}
@media(max-width:560px){.cps-participant-food-grid{grid-template-columns:1fr}.cps-allergy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cps-allergy-options span{text-align:center}.cps-participant-card>.cps-attendee-remove{justify-self:start}}
@media(max-width:360px){.cps-allergy-options{grid-template-columns:1fr}}

/* v0.3.5 invitation capacity and food/drink workflow */
.cps-attendee-heading>.cps-party-summary{max-width:none;white-space:nowrap;text-align:right;line-height:1.35}.cps-participant-food-grid+.cps-participant-food-grid{margin-top:-2px}@media(max-width:520px){.cps-attendee-heading>.cps-party-summary{max-width:none;text-align:left}}

/* v0.3.7 plain-language invitation response and highlighted participant guidance */
.cps-attendee-heading>div>span{font-size:1.05rem}.cps-attendee-heading>strong{padding:7px 10px;border-radius:999px;background:var(--cps-secondary-soft,#f7efdf);color:var(--cps-text)}
@media(max-width:520px){.cps-attendee-heading{padding:14px}.cps-attendee-heading>strong{justify-self:start}.cps-attendee-heading>.cps-party-summary{white-space:normal}}


/* v0.3.9 canonical responsive banner hero.
 * Public invitation, Core preview and Organizer preview use one 8:5 viewport.
 * Image framing and typography therefore keep the same composition at every width. */
.cps-event-hero[data-cps-public-hero]{
	container-type:inline-size;
	display:flex;
	flex-direction:column;
	width:100%;
	min-height:0;
	aspect-ratio:8 / 5;
	padding:clamp(14px,3.15cqw,24px) clamp(16px,3.7cqw,28px) clamp(18px,4.75cqw,36px);
}
.cps-event-hero[data-cps-public-hero] .cps-brand-row{gap:clamp(8px,2.1cqw,16px)}
.cps-event-hero[data-cps-public-hero] .cps-brand{gap:clamp(6px,1.35cqw,10px);font-size:clamp(13px,2.65cqw,20px)}
.cps-event-hero[data-cps-public-hero] .cps-brand-logo{height:clamp(24px,4.5cqw,34px);max-width:clamp(82px,15.8cqw,120px)}
.cps-event-hero[data-cps-public-hero] .cps-brand-monogram{min-width:clamp(30px,5cqw,38px);height:clamp(30px,5cqw,38px);font-size:clamp(11px,1.85cqw,14px)}
.cps-event-hero[data-cps-public-hero] .cps-mark{font-size:clamp(17px,3.15cqw,24px)}
.cps-event-hero[data-cps-public-hero] .cps-private-chip{gap:clamp(3px,.8cqw,6px);padding:clamp(4px,.9cqw,7px) clamp(7px,1.35cqw,10px);font-size:clamp(9px,1.7cqw,13px);white-space:nowrap}
.cps-event-hero[data-cps-public-hero] .cps-hero-content{position:absolute;left:clamp(16px,3.7cqw,28px);right:clamp(16px,3.7cqw,28px);bottom:clamp(14px,3.15cqw,24px);z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;margin:0;max-width:none;padding:0}
.cps-event-hero[data-cps-public-hero] .cps-hero-title-block{width:min(72cqw,650px);min-width:0}.cps-event-hero[data-cps-public-hero] .cps-eyebrow{margin:0 0 clamp(4px,1cqw,8px);font-size:clamp(9px,1.58cqw,12px);letter-spacing:.13em}
.cps-event-hero[data-cps-public-hero] .cps-hero-content h1{margin:0;font-size:clamp(23px,6.25cqw,48px);line-height:.98;overflow-wrap:anywhere;text-wrap:balance}.cps-event-hero[data-cps-public-hero] .cps-hero-meta{display:flex;align-items:flex-end;flex-wrap:nowrap;gap:clamp(7px,2.1cqw,16px);width:100%;min-height:clamp(15px,2.2cqw,20px);margin-top:clamp(6px,1.45cqw,11px)}
.cps-event-hero[data-cps-public-hero] .cps-event-date,.cps-event-hero[data-cps-public-hero] .cps-event-location{margin:0;font-size:clamp(10px,1.9cqw,15px);line-height:1.2}.cps-event-hero[data-cps-public-hero] .cps-event-date{order:2;flex:0 0 auto;white-space:nowrap}.cps-event-hero[data-cps-public-hero] .cps-event-location{order:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){
	.cps-event-hero[data-cps-public-hero]{border-radius:20px}
}
@media(max-width:360px){
	.cps-event-hero[data-cps-public-hero] .cps-private-chip{display:inline-flex}
}

/* v0.3.10 deterministic 8:5 hero geometry and visible full-image shading. */
.cps-event-hero[data-cps-public-hero]{
	height:var(--cps-hero-frame-height,auto);
	min-height:0!important;
	max-height:none!important;
	aspect-ratio:8 / 5!important;
	contain:layout paint;
}
.cps-event-hero[data-cps-public-hero][data-cps-framed="1"] .cps-hero-cover{
	inset:auto!important;
	left:50%!important;
	top:50%!important;
	right:auto!important;
	bottom:auto!important;
	object-fit:fill!important;
}
.cps-event-hero[data-cps-public-hero]:after{z-index:1}
.cps-event-hero[data-cps-public-hero] .cps-hero-overlay{
	z-index:2;
	background:linear-gradient(135deg,var(--cps-hero-overlay-start),var(--cps-hero-overlay-end));
}
.cps-event-hero[data-cps-public-hero]>.cps-brand-row,
.cps-event-hero[data-cps-public-hero]>.cps-hero-content{z-index:3}


/* v0.3.11 Event-theme participant guidance frame.
 * The complete Who is coming heading uses the same visual frame as Event details. */
.cps-attendee-heading{
	border:1px solid var(--cps-primary-border,var(--cps-border,#e4deea));
	border-radius:14px;
	background:linear-gradient(145deg,var(--cps-primary-surface,#faf8fc),var(--cps-secondary-surface,#fffaf1));
	box-shadow:0 7px 18px rgba(43,31,62,.035);
}
.cps-attendee-heading>strong{
	border:1px solid var(--cps-secondary-border,var(--cps-primary-border,#e4deea));
}


/* Authenticated Organizer preview shell; invitation content below remains canonical. */
.cps-preview-notice { position: sticky; top: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px 16px; background: #1f1730; color: #fff; font-size: .84rem; line-height: 1.35; box-shadow: 0 4px 16px rgba(0,0,0,.18); }
.cps-preview-notice strong { flex: 0 0 auto; }
.cps-preview-notice span { opacity: .9; }
@media (max-width: 640px) { .cps-preview-notice { position: relative; align-items: flex-start; flex-direction: column; gap: 3px; } }


/* v0.3.18 canonical lower-caption layout. The metadata row is the absolute visual floor; longer Event names grow upward and never push the floor down. */
.cps-event-hero[data-cps-public-hero] .cps-hero-content{transform:none}
@media(max-width:420px){.cps-event-hero[data-cps-public-hero] .cps-hero-title-block{width:min(78cqw,650px)}.cps-event-hero[data-cps-public-hero] .cps-hero-meta{gap:6px 12px}}

/* v0.3.44 canonical participant Question Engine. */
.cps-participant-sections{display:grid;gap:8px;margin-top:2px}.cps-participant-section{overflow:hidden;border:1px solid var(--cps-border,#e4deea);border-radius:13px;background:#fff}.cps-participant-section>summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;gap:10px;min-height:48px;padding:11px 13px;cursor:pointer;list-style:none}.cps-participant-section>summary::-webkit-details-marker{display:none}.cps-participant-section>summary>span:first-child{font-weight:800}.cps-participant-section>summary small{min-width:0;overflow:hidden;color:var(--cps-muted,#6f6679);font-size:.78rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}.cps-participant-section[open]>summary{border-bottom:1px solid var(--cps-border,#e4deea);background:var(--cps-secondary-soft,#faf7f0)}.cps-participant-section-body{display:grid;gap:14px;padding:14px}.cps-rsvp-question{min-width:0;margin:0;padding:0;border:0}.cps-rsvp-question>legend{margin-bottom:8px;font-weight:800}.cps-rsvp-answer-choice{display:flex;align-items:center;gap:9px;min-height:40px;padding:6px 8px;border-radius:9px;cursor:pointer}.cps-rsvp-answer-choice:hover{background:var(--cps-secondary-soft,#faf7f0)}.cps-rsvp-answer-choice input{flex:0 0 auto}.cps-rsvp-other{margin-top:8px}.cps-rsvp-section-actions{display:flex;align-items:center;gap:10px;padding-top:2px}.cps-rsvp-section-actions>[data-cps-section-message]{color:var(--cps-muted,#6f6679);font-size:.78rem}.cps-participant-card{position:relative;display:grid;gap:12px;padding:14px;border:1px solid var(--cps-border,#e4deea);border-radius:16px;background:#fff}.cps-participant-card>.cps-attendee-remove{justify-self:start}
@media(max-width:560px){.cps-participant-section>summary{grid-template-columns:minmax(0,1fr) auto}.cps-participant-section>summary small{grid-column:1/-1;grid-row:2;text-align:left}.cps-participant-section-body{padding:12px}.cps-rsvp-answer-choice{min-height:44px}}


/* v0.3.47: participant rows read as individual guest cards, not one continuous list. */
.cps-attendee-name-list{gap:22px}
.cps-participant-card{border:2px solid var(--cps-secondary-border,var(--cps-border,#d8d0e3));border-radius:18px;background:var(--cps-secondary-soft,#faf7f0);box-shadow:0 10px 26px color-mix(in srgb,var(--cps-text,#2d2440) 9%,transparent);padding:18px}
.cps-participant-card:focus-within{border-color:var(--cps-action-border,var(--cps-primary,#6d4aff));box-shadow:0 0 0 3px var(--cps-focus-ring,rgba(104,66,194,.15)),0 10px 26px color-mix(in srgb,var(--cps-text,#2d2440) 9%,transparent)}
