/* Ported from Code Snippets: "JD: Post archive & shared loop-post card styling" (id 60), pulled fresh from production 2026-08-24. */

/* ======================================================================
   Archive header (eyebrow / title / dek / rule) - post 24145 only.
   Same visual pattern as the Newsletter page's .jd-news-archive-page
   head band ("JD: News archive styling"), reusing the same class NAMES
   since the two pages never render at once - no collision - but scoped
   under a different page wrapper class so the two snippets stay
   independent and either can change without touching the other.
   ====================================================================== */
.jd-post-archive-page{ background:var(--jd-ground); padding-bottom:44px; }
.jd-post-archive-page .jd-archive-head{ max-width:var(--jd-max); margin:0 auto; }
.jd-post-archive-page .jd-archive-eyebrow,
.jd-post-archive-page .jd-archive-eyebrow .elementor-heading-title{
	font-size:var(--jd-fs-label); font-weight:700; letter-spacing:var(--jd-ls-label);
	text-transform:uppercase; color:var(--jd-accent); margin:0 0 10px !important;
}
.jd-post-archive-page h1.jd-archive-title,
.jd-post-archive-page h1.jd-archive-title .elementor-heading-title{
	margin:0 0 12px !important; color:var(--jd-navy-dark) !important;
}
.jd-post-archive-page .jd-archive-dek{
	font-size:15.5px !important; color:var(--jd-text-muted) !important;
	max-width:640px; line-height:1.6 !important; margin:0 !important;
}
.jd-post-archive-page .jd-archive-dek a{ color:var(--jd-accent) !important; }
hr.jd-archive-rule{ border:none; border-top:1px solid var(--jd-rule); }
.jd-post-archive-page .jd-archive-head hr.jd-archive-rule{ max-width:var(--jd-max); margin:26px auto 0; }

.jd-post-archive-page .jd-archive-filters{
	max-width:var(--jd-max); margin:22px auto 0; align-items:center;
	font-family:var(--jd-font); font-size:var(--jd-fs-meta);
}
.jd-post-archive-page .jd-archive-filters .facetwp-facet{ margin:0; }
.jd-post-archive-page .jd-archive-filters .facetwp-dropdown{
	font-family:var(--jd-font); font-size:var(--jd-fs-meta); color:var(--jd-text);
	border:1px solid var(--jd-rule); border-radius:var(--jd-r-sm); padding:6px 10px; background:var(--jd-surface);
}
.jd-post-archive-page .jd-archive-main{ max-width:var(--jd-max); margin:26px auto 0; }

.jd-post-archive-page .jd-archive-main .facetwp-load-more,
.jd-post-archive-page .jd-archive-main .dce-pagination a{
	font-family:var(--jd-font) !important; font-size:13px !important; font-weight:700 !important;
	letter-spacing:.04em; text-transform:uppercase;
	color:var(--jd-navy) !important; background:transparent !important; border:1px solid var(--jd-navy) !important;
	padding:12px 26px !important; border-radius:var(--jd-r-pill) !important; text-decoration:none;
}
.jd-post-archive-page .jd-archive-main .facetwp-load-more:hover,
.jd-post-archive-page .jd-archive-main .dce-pagination a:hover{ background:var(--jd-navy) !important; color:#fff !important; }

@media (max-width:900px){
	.jd-post-archive-page .jd-archive-filters{ flex-direction:column; align-items:flex-start; gap:10px; }
}

/* ======================================================================
   Card grid - Elementor's native Posts widget, Cards skin (switched from
   the DCE loop-item template on 22/23 Aug). Scoped to .jd-post-archive-page
   since this widget/skin combination isn't reused elsewhere on the site
   (the IAAP org news tab still uses the old DCE loop template, unaffected).
   No category badge: cards_show_badge is deliberately left off.
   Classes confirmed by live DOM inspection, 23 Aug 2026.
   ====================================================================== */
.jd-post-archive-page .elementor-post__card{
	display:flex; flex-direction:column; height:100%;
	background:var(--jd-surface); border:1px solid var(--jd-rule); border-radius:var(--jd-r-lg);
	overflow:hidden; transition:border-color .15s ease, box-shadow .15s ease;
}
.jd-post-archive-page .elementor-post__card:hover{ border-color:#d8d2c4; box-shadow:0 6px 18px rgba(26,51,82,.07); }

.jd-post-archive-page .elementor-post__thumbnail{ aspect-ratio:16/9; overflow:hidden; }
.jd-post-archive-page .elementor-post__thumbnail img{ width:100%; height:100%; object-fit:cover; display:block; }

.jd-post-archive-page .elementor-post__text{ display:flex; flex-direction:column; flex:1; padding:18px 20px 20px; }

.jd-post-archive-page .elementor-post__title,
.jd-post-archive-page .elementor-post__title a{
	font-family:var(--jd-font-serif) !important; font-weight:700 !important; font-style:normal !important;
	font-size:18px !important; line-height:1.35 !important; margin:0 0 8px !important;
	color:var(--jd-text) !important; text-decoration:none !important;
}
.jd-post-archive-page .elementor-post__title a:hover{ color:var(--jd-navy) !important; text-decoration:underline !important; }

.jd-post-archive-page .elementor-post__meta-data{ font-size:12.5px !important; color:var(--jd-text-muted) !important; margin:0 0 10px !important; }
.jd-post-archive-page .elementor-post-date{ text-transform:none !important; font-style:normal !important; }

.jd-post-archive-page .elementor-post__excerpt{ margin:0 0 12px; }
.jd-post-archive-page .elementor-post__excerpt p{
	font-size:13.5px !important; color:var(--jd-text-muted) !important; line-height:1.6 !important; margin:0 !important;
	display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}

.jd-post-archive-page .elementor-post__read-more-wrapper{ margin-top:auto; }
.jd-post-archive-page .elementor-post__read-more{
	font-size:13px !important; font-weight:600 !important; color:var(--jd-navy) !important; text-decoration:none !important;
}
.jd-post-archive-page .elementor-post__read-more:hover{ color:var(--jd-accent) !important; }
