/* Upcoming events cards on the home page (index.html, ru/, ua/). Brand colors of style.css, motion close to a critically damped spring. */
.pm-events-row > [class*="col-"] { margin-bottom: 30px; }

.pm-event {
  --ease: cubic-bezier(.3, 1, .4, 1);
  --topic: #0a6cc2;
  position: relative; height: 100%;
  display: flex; flex-direction: column;
  background: #fff; border-radius: 20px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(30, 43, 86, .06), 0 10px 30px rgba(30, 43, 86, .08);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.pm-event:hover { transform: translateY(-6px); box-shadow: 0 2px 4px rgba(30, 43, 86, .06), 0 24px 50px rgba(30, 43, 86, .16); }
.pm-event:active { transform: translateY(-2px) scale(.99); transition-duration: .12s; }
.pm-topic-audit { --topic: #04a374; }
.pm-topic-antifraud { --topic: #5b3fd6; }

.pm-event-media { position: relative; aspect-ratio: 11 / 7; overflow: hidden; background: #1e2b56; }
.pm-event-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.pm-event:hover .pm-event-media img { transform: scale(1.05); }

/* Topic chip: a light material over the poster */
.pm-chip {
  position: absolute; top: 14px; right: 14px; z-index: 1;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 12px; border-radius: 980px;
  font-size: 12px; font-weight: 700; line-height: 1; color: #1e2b56;
  background: rgba(255, 255, 255, .78);
  -webkit-backdrop-filter: blur(12px) saturate(180%); backdrop-filter: blur(12px) saturate(180%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
}
.pm-chip::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--topic); }

.pm-event-body { flex: 1; display: flex; flex-direction: column; padding: 20px 24px 22px; border-top: 3px solid var(--topic); }
.pm-event-date { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--topic); }
.pm-event-title { margin: 0 0 8px; font-size: 19px; line-height: 1.3; letter-spacing: -.015em; font-weight: 700; min-height: 2.6em; }
.pm-event-title a { color: #1e2b56; }
/* The title link covers the whole card: one big target, one link for screen readers */
.pm-event-title a::after { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: 20px; }
.pm-event-title a:focus-visible { outline: none; }
.pm-event-title a:focus-visible::after { outline: 3px solid rgba(10, 132, 255, .6); outline-offset: -3px; }
.pm-event-meta { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; font-size: 14px; color: #65666d; }
.pm-event-meta i, .pm-event-date i { width: 14px; text-align: center; }

.pm-event-more { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #1e2b56; }
.pm-event-more i { transition: transform .35s var(--ease); color: var(--topic); }
.pm-event:hover .pm-event-more i { transform: translateX(5px); }

@media (max-width: 575px) {
  .pm-event-title { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .pm-event, .pm-event-media img, .pm-event-more i { transition: none; }
  .pm-event:hover, .pm-event:active, .pm-event:hover .pm-event-media img, .pm-event:hover .pm-event-more i { transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .pm-chip { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
