/* ============================================================
   PM-NEWS.CSS — ported from the demo (allpages-2/assets/css/pages/news.css).
   Every class has the pm- prefix and every rule is scoped to
   Parkmatic widgets:  .elementor-widget[class*="elementor-widget-pm-"]
   Generated by tools/port_css.py from the demo file — keep changes small;
   WordPress-only fixes go in pm-wp.css.
   ============================================================ */
.elementor-widget[class*="elementor-widget-pm-"] .pm-news__grid {
  row-gap: var(--pm-space-48);
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__link {
  display: flex;
  flex-direction: column;
  gap: var(--pm-space-12);
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__media {
  --pm-news-cut: 24px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: var(--pm-color-bg-tint);
  margin-bottom: var(--pm-space-4);
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - var(--pm-news-cut)),
    calc(100% - var(--pm-news-cut)) 100%,
    0 100%
  );
}
@media (min-width: 1024px) {
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__media {
    --pm-news-cut: 32px;
  }
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 800ms var(--pm-ease-out);
}
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:hover .pm-news-card__media img,
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:focus-visible .pm-news-card__media img {
  transform: scale(1.04);
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__meta {
  margin: 0;
  font-size: var(--pm-fs-caption);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pm-color-text-muted);
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__title {
  margin: 0;
  font-size: var(--pm-fs-h5);
  font-weight: 500;
  line-height: 1.4;
  color: var(--pm-color-graphite);
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--pm-space-16);
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__arrow {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--pm-color-green-deep);
  background-color: var(--pm-color-white);
  border: 1px solid var(--pm-color-green-deep);
  transition: background-color var(--pm-transition-base), color var(--pm-transition-base);
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__arrow svg {
  width: 20px;
  height: 20px;
  transition: transform var(--pm-transition-base);
}
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:hover .pm-news-card__arrow,
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:focus-visible .pm-news-card__arrow {
  color: var(--pm-color-white);
  background-color: var(--pm-color-green-deep);
}
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:hover .pm-news-card__arrow svg,
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:focus-visible .pm-news-card__arrow svg {
  transform: translateX(3px);
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__title {
    background-image: linear-gradient(
      100deg,
      var(--pm-color-graphite) 0%,
      var(--pm-color-graphite) 38%,
      var(--pm-color-green) 47%,
      var(--pm-color-yellow) 55%,
      var(--pm-color-graphite) 64%,
      var(--pm-color-graphite) 100%
    );
    background-size: 300% 100%;
    background-position: 150% 0;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
  }
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:hover .pm-news-card__title,
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:focus-visible .pm-news-card__title {
    animation: pm-news-title-sheen 3000ms var(--pm-ease-smooth) both;
  }
}
@keyframes pm-news-title-sheen {
  from {
    background-position: 150% 0;
  }
  to {
    background-position: -50% 0;
  }
}
@media (prefers-reduced-motion: reduce) {
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-card__media img {
    transition: none;
  }
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:hover .pm-news-card__media img,
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:focus-visible .pm-news-card__media img {
    transform: none;
  }
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:hover .pm-news-card__arrow svg,
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:focus-visible .pm-news-card__arrow svg {
    transform: none;
  }
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:hover .pm-news-card__title,
.elementor-widget[class*="elementor-widget-pm-"] a.pm-news-card__link:focus-visible .pm-news-card__title {
    animation: none;
    background-image: none;
    color: var(--pm-color-green-deep);
  }
}
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-hero .pm-page-hero__image {
  object-position: 50% 72%;
}
@media (min-width: 768px) {
.elementor-widget[class*="elementor-widget-pm-"] .pm-news-hero .pm-page-hero__image {
    object-position: 50% 60%;
  }
}
