/* Compact event previews and festival actions. */
.calendar-event-image{display:block;width:100%;height:94px;object-fit:cover;border-radius:12px;border:1px solid rgba(127,29,29,.14);margin-bottom:14px;background:#f7e8ce}
.calendar-event-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;padding-bottom:4px}
.calendar-event-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 20px;border:1px solid #81152f;border-top-color:#d9707b;border-radius:999px;background:linear-gradient(135deg,#c34755,#a21d3b 42%,#701330);color:#fff7de;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff30,0 3px 0 #570d14,0 6px 12px #57131c24;transition:transform .16s ease,box-shadow .16s ease}
.calendar-event-button:hover{background:linear-gradient(135deg,#d45461,#b52749 42%,#81183b);transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff38,0 4px 0 #570d14,0 8px 16px #57131c2b}
.calendar-event-button:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #4c091930,0 1px 0 #570d14}
.calendar-event-button:focus-visible{outline:3px solid #17657a;outline-offset:5px}
@media(max-width:767px){.calendar-event-image{height:140px;max-width:320px}}
@media(prefers-reduced-motion:reduce){.calendar-event-button{transition:none}.calendar-event-button:hover,.calendar-event-button:active{transform:none}}
