.calendar-options { max-width: 330px; margin: -13px auto 22px; }
.calendar-options > summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; color: #702a39; cursor: pointer; font-size: 15px; list-style: none; }
.calendar-options > summary::-webkit-details-marker { display: none; }
.calendar-options > summary > span:first-of-type { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #702a3966; }
.calendar-options > summary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.calendar-options > summary:focus-visible { outline: 2px solid #702a39; outline-offset: 3px; }
.calendar-chevron { font-size: 19px; }
.calendar-options[open] .calendar-chevron { transform: rotate(180deg); }
.calendar-choices { display: grid; gap: 9px; padding: 5px 0 15px; }
.calendar-choices .button { min-height: 46px; font-size: 14px; padding: 12px 32px 12px 14px; }
.calendar-choices .calendar-download { padding-inline: 12px; }
.rsvp-leaf-list { list-style: none; max-width: 430px; padding: 0; margin: 24px auto 26px; text-align: left; color: #644e42; font-size: 16px; line-height: 1.65; }
.rsvp-leaf-list > li { display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 12px; align-items: start; margin: 0 0 15px; }
.rsvp-leaf-list > li:last-child { margin-bottom: 0; }
.rsvp-leaf-list .rsvp-deadline { color: #702a39; font-weight: 600; }
.rsvp-leaf { display: block; width: 26px; height: 26px; object-fit: contain; margin-top: 1px; transform-origin: 50% 82%; transform: rotate(-9deg); }
.rsvp-leaf-list > li:nth-child(even) .rsvp-leaf { transform: rotate(6deg); }
html.enhanced body[data-state="open"] .rsvp-leaf { animation: rsvp-leaf-wiggle 5.8s ease-in-out infinite; }
.rsvp-leaf-list > li:nth-child(2) .rsvp-leaf { animation-delay: -1.4s; animation-duration: 6.3s; }
.rsvp-leaf-list > li:nth-child(3) .rsvp-leaf { animation-delay: -3.1s; animation-duration: 5.5s; }
.rsvp-leaf-list > li:nth-child(4) .rsvp-leaf { animation-delay: -4.2s; animation-duration: 6.1s; }
@keyframes rsvp-leaf-wiggle { 0%, 62%, 100% { transform: rotate(-9deg); } 71% { transform: rotate(5deg); } 80% { transform: rotate(-13deg); } 89% { transform: rotate(1deg); } }
@media (prefers-reduced-motion: reduce) { .rsvp-leaf { animation: none !important; } }
.contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 430px; margin: 22px auto 8px; }
.contact-actions .button { min-height: 48px; padding-inline: 16px; font-size: 16px; }
.contact-actions .contact-messenger { padding-right: 34px; }
.contact-section .contact-email { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .calendar-options { margin-top: -13px; margin-bottom: 19px; }
  .contact-actions { grid-template-columns: 1fr; max-width: 330px; gap: 10px; }
  .contact-actions .button { min-height: 50px; }
}
