/* Navigation cards only. Informational boxes keep their own presentation. */
body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href]), .blog-compact .post-preview[href]) {
  --card-padding: 28px;
  background: #fff;
  border: 1px solid #e5edf1;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(65, 90, 107, .06);
  color: #555e66;
  font-family: var(--font-display);
  overflow: hidden;
  min-width: 0;
  height: 100%;
}

body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href])) {
  display: flex;
  flex-direction: column;
  padding: var(--card-padding);
}

body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href]), .blog-compact .post-preview[href]) :is(.title, .title a, .polizia-service-card__title, .polizia-service-card__title a) {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  color: #426b84;
  min-height: 0;
  overflow-wrap: anywhere;
}

body main .blog .posts-list article:has(.read-more a[href]) .title {
  margin: 26px 0 18px;
}

body main .polizia-service-card:has(a[href]) .polizia-service-card__title {
  margin: 0 0 18px;
}

body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href]), .blog-compact .post-preview[href]) :is(.content, p, .polizia-service-card__description) {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 400 !important;
  line-height: 1.65;
  color: #555e66;
}

body main .blog .posts-list article:has(.read-more a[href]) .content { margin-top: 0; }
body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href])) p { margin-bottom: 28px; }

body main .blog .posts-list article:has(.read-more a[href]) .post-img {
  flex-shrink: 0;
  height: 220px;
  aspect-ratio: auto;
  margin: calc(-1 * var(--card-padding)) calc(-1 * var(--card-padding)) 0;
  padding: 20px;
  background: #fff;
  border-radius: 16px 16px 0 0;
}

body main .blog .posts-list article:has(.read-more a[href]) .post-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body main .blog.cards-photographic .posts-list article:has(.read-more a[href]) .post-img { padding: 0; }
body main .blog.cards-photographic .posts-list article:has(.read-more a[href]) .post-img img { object-fit: cover; }

body main .blog .posts-list article:has(.read-more a[href]) .meta-top { margin: 0 0 16px; }
body main .blog .posts-list article:has(.read-more a[href]) .meta-top a { color: #687780; font-size: 14px; }

body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href])) .read-more {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin-top: auto;
  align-self: flex-end;
  max-width: 100%;
}

body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href])) .read-more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  max-width: 100%;
  margin-left: 0 !important;
  padding: 10px 22px;
  background: #5577b3;
  border: 1px solid #5577b3;
  border-radius: 10px;
  color: #fff;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}

body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href])) .read-more a:hover {
  background: #45659c;
  border-color: #45659c;
  color: #fff;
}

body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href])) a:focus-visible,
body main .blog-compact .post-preview[href]:focus-visible {
  outline: 3px solid #326d94;
  outline-offset: 3px;
}

body main .blog-compact .post-preview[href] { padding: 0; gap: 0; }
body main .blog-compact .post-preview[href] .post-body { padding: 24px; min-width: 0; }
body main .blog-compact .post-preview[href] .post-thumb { border-radius: 0; }
body main .blog-compact .post-preview[href] .title { margin: 0 0 12px; }

@media (max-width: 767px) {
  body main :is(.blog .posts-list article:has(.read-more a[href]), .polizia-service-card:has(a[href])) { --card-padding: 22px; }
}
