/* Reuse the landing's paper, Onest and blue interaction accent. */
.calendar-invitation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:0 4px;color:var(--navy,#071c58)}
.calendar-invitation-copy{min-width:0;display:grid;gap:3px;font-size:13px;line-height:1.4;color:#40577f}
.calendar-invitation-copy strong{font-size:17px;font-weight:750;color:var(--navy,#071c58)}
.calendar-invitation-touch{display:none}
.calendar-hint-replay{flex:none;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 10px;background:transparent;border:0;border-radius:10px;font:inherit;font-size:12px;font-weight:650;line-height:1.3;color:#0758ce;cursor:pointer;text-align:left}
.calendar-hint-replay svg{width:18px;height:18px;flex:none}
.calendar-hint-replay:hover{background:#e7f2ff}
.calendar-hint-replay:focus-visible{outline:3px solid #e3ad20;outline-offset:2px}
.calendar-hint-cursor{position:absolute;inset:0 auto auto 0;z-index:9;width:34px;height:40px;pointer-events:none;display:none;filter:drop-shadow(0 3px 2px #071c5826)}
.calendar-hint-cursor.is-visible{display:block}
.calendar-hint-cursor svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:#fff;stroke:#071c58;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.calendar-hint-hand{opacity:0}
.calendar-hint-cursor.is-hand .calendar-hint-arrow{opacity:0}
.calendar-hint-cursor.is-hand .calendar-hint-hand{opacity:1}
.calendar-event.has-calendar-hint .event-visual::after{content:"";position:absolute;inset:1px;border:2px solid #0866f9;border-radius:7px;pointer-events:none}
.calendar-event.has-calendar-hint .event-visual{animation:calendar-hint-pickup 1.25s cubic-bezier(.16,1,.3,1) both}
@keyframes calendar-hint-pickup{0%,100%{transform:none}35%,65%{transform:scale(1.04)}}
@media(hover:none),(pointer:coarse),(max-width:600px){.calendar-invitation-desktop{display:none}.calendar-invitation-touch{display:inline}}
@media(max-width:600px){.calendar-invitation{gap:8px;margin-bottom:10px;padding:0}.calendar-invitation-copy{font-size:12px;max-width:24ch}.calendar-invitation-copy strong{font-size:16px}.calendar-hint-replay{font-size:11px;padding:8px;max-width:108px}.calendar-hint-cursor{width:30px;height:36px}}
@media(prefers-reduced-motion:reduce){.calendar-hint-cursor,.calendar-hint-replay{display:none!important}.calendar-event.has-calendar-hint .event-visual{animation:none}}

.calendar-hint-replay[hidden]{display:none}

/* Reserve card panning from contact start: switching touch-action after a hold is too late.
   Empty calendar cells retain native scrolling; two-finger zoom stays available. */
.calendar-event{touch-action:pinch-zoom}
/* Scope native selection/callout suppression to the draggable cards, including Safari descendants. */
.calendar-event,.calendar-event *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.calendar-event img{-webkit-user-drag:none}
.calendar-event.is-pressing .event-visual::after{content:"";position:absolute;inset:1px;border:2px solid #0866f9;border-radius:7px;pointer-events:none}
