.ja-calendar{position:relative;display:inline-block;max-width:100%;text-align:left;font-family:var(--font-body,'DM Sans',Arial,sans-serif);color:inherit;font-size:14px;line-height:1.5;letter-spacing:normal}
.ja-calendar>summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;padding:12px 0;min-height:44px;font:inherit;color:inherit}
.ja-calendar>summary::-webkit-details-marker{display:none}.ja-calendar>summary::marker{content:''}.ja-calendar>summary>svg{flex:none}.ja-calendar>summary:focus-visible,.ja-calendar a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.ja-calendar .ja-calendar-options{position:absolute;top:100%;left:0;z-index:60;width:320px;max-width:min(86vw,360px);border:1px solid #d7d5cc;background:#fffdf8;box-shadow:0 14px 35px #24382f20;border-radius:8px;padding:8px;color:#294039;text-transform:none;font-size:14px;line-height:1.5}
.ja-calendar-options a{display:flex!important;flex-direction:column;gap:3px;align-items:flex-start!important;justify-content:flex-start!important;padding:12px 14px!important;margin:0!important;width:100%;min-height:56px;text-decoration:none!important;border:0!important;background:transparent!important;color:#294039!important;font:inherit!important;box-sizing:border-box}
.ja-calendar-options a:hover{background:#eff2e9!important;border-radius:4px}.ja-calendar-options a strong{font-size:14px;font-weight:600}.ja-calendar-options a span{font-size:12px;color:#687268}.ja-calendar-help{font:12px/1.5 'DM Sans',Arial,sans-serif!important;color:#687268!important;margin:8px 14px 12px!important;padding-top:12px;border-top:1px solid #e3e6dd}.ja-calendar-demo{font:11px/1.5 'DM Sans',Arial,sans-serif!important;color:#687268!important;margin:0 14px 10px!important}
.hero-cta:has(.ja-calendar){display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}.invitation-sheet>.ja-calendar{margin-top:8px}
@media(max-width:600px){.ja-calendar{display:block;width:100%;font-size:13px}.ja-calendar .ja-calendar-options{position:relative;top:auto;left:auto;width:100%;max-width:100%;margin:5px 0 12px;box-shadow:0 5px 18px #24382f10}.ja-calendar>summary{justify-content:flex-start}.hero-cta:has(.ja-calendar){display:flex;flex-direction:column;align-items:flex-start;gap:8px}}

/* Mobile: RSVP button and calendar stay centred, also while the calendar list is open. */
@media(max-width:600px){.ja-calendar>summary{justify-content:center}.hero-cta:has(.ja-calendar),.hero-actions:has(.ja-calendar){display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;gap:8px}}
