/* Independent edge controls leave the center of the invitation readable. */
body .ambient-controls.rsvp-controls,body.opened .ambient-controls.rsvp-controls{position:static;display:contents;transform:none;background:none;border:0;padding:0;width:auto;backdrop-filter:none;box-shadow:none}
body .rsvp-controls .rsvp-reminder{position:fixed;left:auto;right:max(0px,env(safe-area-inset-right));bottom:calc(74px + env(safe-area-inset-bottom));z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:62px;height:78px;min-height:78px;padding:5px 3px;border:1px solid color-mix(in srgb,var(--theme-d7bd7c,#d7bd7c) 50.196%,transparent);border-radius:17px;background:color-mix(in srgb,var(--theme-14372e,#14372e) 94.902%,transparent);box-shadow:0 5px 20px color-mix(in srgb,var(--theme-061e18,#061e18) 20.0%,transparent);color:var(--theme-f3e7c9,#f3e7c9);cursor:pointer}
body.opened .rsvp-controls .rsvp-reminder{bottom:calc(154px + env(safe-area-inset-bottom))}
.reminder-seal{position:relative;display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--theme-dfc589,#dfc589);border-radius:50%;background:linear-gradient(135deg,var(--theme-b69153,#b69153),var(--theme-eed6a0,#eed6a0));color:var(--theme-173b2e,#173b2e);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--theme-f8e7c1,#f8e7c1) 23.137%,transparent);animation:reminder-glow 5s ease-in-out infinite}
.reminder-seal svg{width:22px;height:22px}.reminder-seal i{position:absolute;width:7px;height:7px;right:1px;top:1px;border-radius:50%;background:#c96857;border:1px solid var(--theme-f8dfaa,#f8dfaa)}
.reminder-copy{display:block;width:100%;pointer-events:none;text-align:center}.reminder-copy strong{display:block;font:500 8px/1.35 var(--sans);letter-spacing:0;color:var(--theme-f3e7c9,#f3e7c9)}.reminder-copy small,.reminder-arrow{display:none}
body .rsvp-controls #toggle-music{position:fixed;right:max(10px,env(safe-area-inset-right));left:auto;bottom:calc(22px + env(safe-area-inset-bottom));z-index:30;width:42px;height:42px;min-width:42px;margin:0;border-color:color-mix(in srgb,var(--theme-cbb77e,#cbb77e) 60.0%,transparent);background:color-mix(in srgb,var(--theme-f2e7ce,#f2e7ce) 90.98%,transparent);color:var(--theme-173b2e,#173b2e);box-shadow:0 5px 20px color-mix(in srgb,var(--theme-061e18,#061e18) 20.0%,transparent)}
body.opened .rsvp-controls #toggle-music{bottom:calc(102px + env(safe-area-inset-bottom))}
.rsvp-reminder.is-confirmed .reminder-seal{animation:none;background:var(--theme-d8e7d4,#d8e7d4);border-color:var(--theme-aec4aa,#aec4aa)}.rsvp-reminder.is-confirmed .reminder-seal i{background:var(--theme-4b8957,#4b8957)}
.rsvp-reminder:focus-visible{outline:2px solid var(--theme-eed8a4,#eed8a4);outline-offset:3px}.rsvp-reminder:hover .reminder-seal{transform:translateY(-2px)}
.rsvp-form-intro{padding:17px 18px 15px;margin:0 0 24px;border:1px solid color-mix(in srgb,var(--theme-cfb77b,#cfb77b) 33.333%,transparent);border-radius:3px;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-e6d3a0,#e6d3a0) 4.314%,transparent),color-mix(in srgb,var(--theme-e6d3a0,#e6d3a0) 9.02%,transparent))}
.rsvp-form-intro .eyebrow{font-size:8px!important;line-height:1.6}.rsvp-form-intro p{font-size:11px!important;line-height:1.7;color:var(--theme-ddd2b7,#ddd2b7);margin:8px 0 0}
.rsvp-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rsvp-profile-grid>div{min-width:0}.field-hint{display:block;font-size:9px;color:var(--theme-bdbaa3,#bdbaa3);margin-top:6px}.rsvp-section form label>span{color:var(--theme-e7ca8a,#e7ca8a)}
.rsvp-section form input,.rsvp-section form select{min-height:49px}.rsvp-section form select{width:100%}
.rsvp-form-progress{margin:0 0 25px}#rsvp-progress-label{display:block;font-size:10px;line-height:1.6;color:var(--theme-ddc99d,#ddc99d);margin-bottom:8px}#rsvp-progress{height:3px;background:color-mix(in srgb,var(--theme-e2cc9a,#e2cc9a) 13.333%,transparent);border-radius:5px;overflow:hidden}#rsvp-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--theme-b08b4a,#b08b4a),var(--theme-f1d6a0,#f1d6a0));transition:width .35s ease}
.rsvp-attention form{animation:rsvp-invitation-pulse 1.4s ease-in-out 3}
.guest-profile-cell{max-width:240px;white-space:normal;overflow-wrap:anywhere}.guest-nip{font-variant-numeric:tabular-nums;white-space:nowrap}
@keyframes reminder-glow{0%,65%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--theme-e7c689,#e7c689) 0.0%,transparent),inset 0 0 0 3px color-mix(in srgb,var(--theme-f8e7c1,#f8e7c1) 23.137%,transparent)}78%{box-shadow:0 0 0 6px color-mix(in srgb,var(--theme-e7c689,#e7c689) 13.333%,transparent),inset 0 0 0 3px color-mix(in srgb,var(--theme-f8e7c1,#f8e7c1) 23.137%,transparent)}90%{box-shadow:0 0 0 10px color-mix(in srgb,var(--theme-e7c689,#e7c689) 0.0%,transparent),inset 0 0 0 3px color-mix(in srgb,var(--theme-f8e7c1,#f8e7c1) 23.137%,transparent)}}
@keyframes rsvp-invitation-pulse{0%,100%{filter:drop-shadow(0 0 0 color-mix(in srgb,var(--theme-d1b474,#d1b474) 0.0%,transparent))}50%{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--theme-d1b474,#d1b474) 31.373%,transparent))}}
@media(max-width:480px){.rsvp-profile-grid{grid-template-columns:1fr;gap:0}.rsvp-profile-grid>div+div{margin-top:2px}.reminder-copy strong{font-size:8px}.reminder-copy small{font-size:7.5px}.rsvp-section form input,.rsvp-section form select{font-size:16px}}

.child-count-label{display:block;margin-top:22px!important}.stepper>span{line-height:1.6!important;white-space:normal}.stepper>span small{font-size:9px;line-height:1.5}.child-stepper{margin-bottom:6px}.rsvp-section .stepper input{flex-shrink:0}
@media(max-width:480px){.rsvp-section .stepper>span{font-size:9px!important;padding:0 8px!important}.rsvp-section .stepper>span small{font-size:8px}.rsvp-section .stepper button{min-width:36px}}

.rsvp-field-error{display:block;color:#ffd5c7;font-size:11px;line-height:1.7;margin:6px 0 12px;letter-spacing:0}.rsvp-field-error[hidden]{display:none!important}#rsvp-form [aria-invalid=true]{border-color:#e6a08c;box-shadow:0 0 0 1px #e6a08c66}
