/* Listing styles for the recovered site.
   The Funeral Notices and Obituaries pages are rebuilt as a Content Views
   grid (the same markup the home page uses). These rules only tidy that
   grid; the rest of the page is the original BeTheme styling. */

/* The original notices widget was set to 50% width, which left the grid
   squeezed into the left half of the page. */
.elementor-element-111babe,
.column_filters .elementor-widget__width-initial {
  width: 100% !important;
  max-width: 100% !important;
}

.pt-cv-wrapper { margin: 0 0 30px; width: 100%; }

.pt-cv-page {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 34px 26px;
}

.pt-cv-page > .pt-cv-content-item {
  width: auto;
  float: none;
  padding: 0;
  margin: 0;
}

/* Photos come from families in every shape and size. A fixed ratio with
   object-fit keeps rows even instead of ragged. The theme sets
   img{width:auto!important}, so these need !important to take effect. */
.pt-cv-page .pt-cv-thumbnail {
  width: 100% !important;
  height: 300px !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 2px;
}

.pt-cv-page .pt-cv-href-thumbnail {
  display: block;
  overflow: hidden;
  background: #f2f2f2;
  line-height: 0;
}

.pt-cv-page .pt-cv-thumbnail:hover { opacity: .88; transition: opacity .2s ease; }

.pt-cv-page .pt-cv-title {
  margin: 14px 0 4px;
  font-size: 17px;
  line-height: 1.35;
}

.pt-cv-page .pt-cv-meta-fields {
  font-size: 13px;
  opacity: .7;
  margin-bottom: 8px;
}

.pt-cv-page .pt-cv-content { margin: 0; }
.pt-cv-page .pt-cv-readmore,
.pt-cv-page .pt-cv-readmore:hover,
.pt-cv-page .pt-cv-readmore:focus {
  display: inline-block;
  padding: 0;
  background: none !important;
  border: 0;
  font-size: 13px;
  color: #ab815a !important;   /* theme accent; the Bootstrap default was white */
  text-shadow: none;
}
.pt-cv-page .pt-cv-readmore:hover { text-decoration: underline; }

/* "Related posts" at the foot of an obituary: same even rows as the grid. */
.section-post-related .section-related-ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.section-post-related .post-related { width: auto; float: none; margin: 0; }
.section-post-related .post-related .image_wrapper img {
  width: 100% !important;
  height: 260px !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.section-post-related .post-related .desc h4 { margin: 12px 0 6px; font-size: 16px; }
.section-post-related .post-related .date_label { font-size: 13px; opacity: .7; }

@media (max-width: 900px) {
  .section-post-related .section-related-ul { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .section-post-related .section-related-ul { grid-template-columns: 1fr; }
}

/* Pager: First / Prev / numbers / Next / Last, comfortable to tap. */
.pager_wrapper .pager { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pager_wrapper .pager .pages { display: flex; flex-wrap: wrap; gap: 6px; }
.pager_wrapper .pager a.page,
.pager_wrapper .pager span.page {
  min-width: 40px;
  padding: 8px 10px;
  text-align: center;
  line-height: 1.2;
}
.pager_wrapper .pager a.prev_page,
.pager_wrapper .pager a.next_page { padding: 8px 12px; }

@media (max-width: 1240px) {
  .pt-cv-page { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .pt-cv-page { grid-template-columns: repeat(2, 1fr); gap: 26px 18px; }
  .pt-cv-page .pt-cv-thumbnail { height: 260px; }
}
@media (max-width: 560px) {
  .pt-cv-page { grid-template-columns: 1fr; }
  .pt-cv-page .pt-cv-thumbnail { height: 320px; }
}
