/*
 * Protected media-card template.
 * This file intentionally owns only .paraklit-media-card selectors.
 */

.paraklit-media-card,
.paraklit-media-card *,
.paraklit-media-card *::before,
.paraklit-media-card *::after {
  box-sizing: border-box;
}

.paraklit-media-card {
  font-family: var(--paraklit-media-card-font, inherit);
}

/* WordPress listing cards: preserve the approved homepage structure. */
@media (min-width: 769px) {
  body .paraklit-media-card.paraklit-media-card--listing:has(.entry-summary img:not(.emoji)) .inside-article,
  body .paraklit-media-card.paraklit-media-card--listing:has(.entry-content img:not(.emoji)) .inside-article,
  body .paraklit-media-card.paraklit-media-card--listing:has(.post-image img) .inside-article {
    display: grid !important;
    grid-template-columns: minmax(220px, var(--paraklit-media-card-image-width, 40%)) minmax(0, 1fr) !important;
    column-gap: var(--paraklit-media-card-gap, 18px) !important;
    row-gap: 0 !important;
    align-items: start !important;
    margin: 0 !important;
    padding: var(--paraklit-media-card-padding, 16px) !important;
    border-top: var(--paraklit-media-card-border-width, 3px) solid var(--paraklit-media-card-border, #245865) !important;
    border-radius: var(--paraklit-media-card-radius, 0) !important;
    background: var(--paraklit-media-card-bg, #f1eee4) !important;
    color: var(--paraklit-media-card-text, #1f2326) !important;
  }

  body .paraklit-media-card.paraklit-media-card--listing .entry-title {
    margin: 0 !important;
    font-family: var(--paraklit-media-card-font, inherit) !important;
    font-size: var(--paraklit-media-card-title-size, 23px) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
  }

  body .paraklit-media-card.paraklit-media-card--listing .entry-summary > p:has(img:not(.emoji)),
  body .paraklit-media-card.paraklit-media-card--listing .entry-content > p:has(img:not(.emoji)),
  body .paraklit-media-card.paraklit-media-card--listing .post-image {
    border-radius: var(--paraklit-media-card-media-radius, 0) !important;
  }

  body .paraklit-media-card.paraklit-media-card--listing .entry-summary > p:has(img:not(.emoji)) img,
  body .paraklit-media-card.paraklit-media-card--listing .entry-content > p:has(img:not(.emoji)) img,
  body .paraklit-media-card.paraklit-media-card--listing .post-image img {
    border-radius: inherit !important;
  }

  body .paraklit-media-card.paraklit-media-card--listing .paraklit-excerpt-wrap,
  body .paraklit-media-card.paraklit-media-card--listing .entry-summary > p:not(:has(img:not(.emoji))):not(.paraklit-post-hashtags),
  body .paraklit-media-card.paraklit-media-card--listing .entry-content > p:not(:has(img:not(.emoji))):not(.paraklit-post-hashtags) {
    color: var(--paraklit-media-card-text, #1f2326) !important;
    font-family: var(--paraklit-media-card-font, inherit) !important;
    font-size: var(--paraklit-media-card-text-size, 19px) !important;
    line-height: var(--paraklit-media-card-line-height, 142%) !important;
  }

  body .paraklit-media-card.paraklit-media-card--listing.paraklit-excerpt-expanded-card .entry-header {
    margin-left: calc(var(--paraklit-media-card-image-width, 40%) + var(--paraklit-media-card-gap, 18px)) !important;
  }

  body .paraklit-media-card.paraklit-media-card--listing.paraklit-excerpt-expanded-card .post-image,
  body .paraklit-media-card.paraklit-media-card--listing.paraklit-excerpt-expanded-card .entry-summary > p:has(img:not(.emoji)),
  body .paraklit-media-card.paraklit-media-card--listing.paraklit-excerpt-expanded-card .entry-content > p:has(img:not(.emoji)) {
    width: var(--paraklit-media-card-image-width, 40%) !important;
    margin: 0 var(--paraklit-media-card-gap, 18px) 0 0 !important;
  }
}

body .paraklit-media-card.paraklit-media-card--listing .entry-title a,
body .paraklit-media-card.paraklit-media-card--listing .entry-title a:link {
  color: var(--paraklit-media-card-title, #1f65b7) !important;
}

body .paraklit-media-card.paraklit-media-card--listing .entry-title a:visited {
  color: var(--paraklit-media-card-title-visited, #6b4fa3) !important;
}

body .paraklit-media-card.paraklit-media-card--listing .entry-title a:hover,
body .paraklit-media-card.paraklit-media-card--listing .entry-title a:focus {
  color: var(--paraklit-media-card-hover, #bf001f) !important;
}

body .paraklit-media-card.paraklit-media-card--listing footer.entry-meta,
body .paraklit-media-card.paraklit-media-card--listing footer.entry-meta a {
  color: var(--paraklit-media-card-meta, #1f65b7) !important;
  font-family: var(--paraklit-media-card-font, inherit) !important;
  font-size: var(--paraklit-media-card-meta-size, 16px) !important;
}

body .paraklit-media-card.paraklit-media-card--listing .paraklit-post-hashtags,
body .paraklit-media-card.paraklit-media-card--listing .paraklit-post-hashtags a {
  color: var(--paraklit-media-card-tag, #6b4fa3) !important;
  font-size: var(--paraklit-media-card-meta-size, 16px) !important;
}

body .paraklit-media-card.paraklit-media-card--listing button.paraklit-excerpt-toggle {
  color: var(--paraklit-media-card-toggle, #0551c1) !important;
  font-family: var(--paraklit-media-card-font, inherit) !important;
  font-size: var(--paraklit-media-card-toggle-size, 16px) !important;
}

body .paraklit-media-card.paraklit-media-card--listing button.paraklit-excerpt-toggle:hover,
body .paraklit-media-card.paraklit-media-card--listing button.paraklit-excerpt-toggle:focus {
  color: var(--paraklit-media-card-hover, #bf001f) !important;
}

/* Calendar and document adapters use the same visual and interaction contract. */
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template {
  display: grid !important;
  grid-template-columns: minmax(220px, var(--paraklit-media-card-image-width, 40%)) minmax(0, 1fr) !important;
  column-gap: var(--paraklit-media-card-gap, 18px) !important;
  row-gap: 0 !important;
  align-items: start !important;
  padding: var(--paraklit-media-card-padding, 16px) !important;
  border: 0 !important;
  border-top: var(--paraklit-media-card-border-width, 3px) solid var(--paraklit-media-card-border, #245865) !important;
  border-radius: var(--paraklit-media-card-radius, 0) !important;
  background: var(--paraklit-media-card-bg, #f1eee4) !important;
  color: var(--paraklit-media-card-text, #1f2326) !important;
  font-family: var(--paraklit-media-card-font, inherit) !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-document.paraklit-media-card--template {
  width: calc(100% + 30px) !important;
  margin-right: -15px !important;
  margin-left: -15px !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > img,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-document-card__image,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-source-video-preview,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-source-video {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: var(--paraklit-media-card-media-radius, 0) !important;
  aspect-ratio: 16 / 9 !important;
  line-height: 0 !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > img,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-document-card__image img,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-source-video-preview img,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-source-video iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  object-fit: cover !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-source-card__copy {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  color: var(--paraklit-media-card-text, #1f2326) !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h3,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h4 {
  margin: 0 0 3px !important;
  color: var(--paraklit-media-card-title, #1f65b7) !important;
  font-family: var(--paraklit-media-card-font, inherit) !important;
  font-size: var(--paraklit-media-card-title-size, 23px) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h3 a,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h4 a,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h3 a:link,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h4 a:link {
  color: var(--paraklit-media-card-title, #1f65b7) !important;
  font: inherit !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h3 a:visited,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h4 a:visited {
  color: var(--paraklit-media-card-title-visited, #6b4fa3) !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h3 a:hover,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h3 a:focus,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h4 a:hover,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template h4 a:focus {
  color: var(--paraklit-media-card-hover, #bf001f) !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-clamped-copy {
  min-width: 0 !important;
  color: var(--paraklit-media-card-text, #1f2326) !important;
  font-family: var(--paraklit-media-card-font, inherit) !important;
  font-size: var(--paraklit-media-card-text-size, 19px) !important;
  line-height: var(--paraklit-media-card-line-height, 142%) !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-clamped-copy p {
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-card-actions {
  display: flex !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  align-items: baseline !important;
  gap: 0 4ch !important;
  margin: 0 !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-source-terms,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-source-terms a {
  color: var(--paraklit-media-card-meta, #1f65b7) !important;
  font-family: var(--paraklit-media-card-font, inherit) !important;
  font-size: var(--paraklit-media-card-meta-size, 16px) !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-document-hashtags,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-document-hashtags a,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-document-hashtags span {
  color: var(--paraklit-media-card-tag, #6b4fa3) !important;
  font-family: var(--paraklit-media-card-font, inherit) !important;
  font-size: var(--paraklit-media-card-meta-size, 16px) !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-card-actions button[data-calendar-expand-copy],
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-card-actions button[data-paraklit-document-expand-copy] {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--paraklit-media-card-toggle, #0551c1) !important;
  box-shadow: none !important;
  font-family: var(--paraklit-media-card-font, inherit) !important;
  font-size: var(--paraklit-media-card-toggle-size, 16px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-transform: lowercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-card-actions button:hover,
body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-card-actions button:focus {
  color: var(--paraklit-media-card-hover, #bf001f) !important;
}

@media (min-width: 769px) {
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-card-actions {
    grid-row: 2 !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded {
    display: block !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded > img,
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded > .paraklit-calendar-document-card__image,
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded > .paraklit-calendar-source-video-preview,
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded > .paraklit-calendar-source-video {
    float: left !important;
    width: var(--paraklit-media-card-image-width, 40%) !important;
    margin: 0 var(--paraklit-media-card-gap, 18px) 0 0 !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded > .paraklit-calendar-source-card__copy {
    display: contents !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded h3,
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded h4 {
    margin-left: calc(var(--paraklit-media-card-image-width, 40%) + var(--paraklit-media-card-gap, 18px)) !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded .paraklit-calendar-clamped-copy {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded .paraklit-calendar-clamped-copy p:not(.paraklit-calendar-document-hashtags) {
    display: block !important;
    overflow: visible !important;
    -webkit-line-clamp: initial !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template.paraklit-media-card--expanded .paraklit-calendar-card-actions {
    clear: both !important;
    padding-top: 4px !important;
  }
}

@media (max-width: 768px) {
  body .paraklit-media-card.paraklit-media-card--listing:has(.entry-summary img:not(.emoji)) .inside-article,
  body .paraklit-media-card.paraklit-media-card--listing:has(.entry-content img:not(.emoji)) .inside-article,
  body .paraklit-media-card.paraklit-media-card--listing:has(.post-image img) .inside-article,
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: var(--paraklit-media-card-padding, 16px) !important;
    border-top: var(--paraklit-media-card-border-width, 3px) solid var(--paraklit-media-card-border, #245865) !important;
    border-radius: var(--paraklit-media-card-radius, 0) !important;
    background: var(--paraklit-media-card-bg, #f1eee4) !important;
    color: var(--paraklit-media-card-text, #1f2326) !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > img,
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-document-card__image,
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-source-video-preview,
  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template > .paraklit-calendar-source-video {
    display: block !important;
    width: 100% !important;
    margin: 0 0 var(--paraklit-media-card-gap, 18px) !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-clamped-copy:not(.is-expanded) p:not(.paraklit-calendar-document-hashtags) {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: var(--paraklit-media-card-mobile-lines, 4) !important;
  }

  body .paraklit-media-card.paraklit-media-card--calendar-source.paraklit-media-card--template .paraklit-calendar-card-actions {
    margin-top: 8px !important;
  }
}

