/* ============ CCA Press Templates — scoped styles ============ */

/* shared ----------------------------------------------------- */
.cca-press-archive, .cca-press-single { background:#fff; color:#0F385A; font-family:'Inter',sans-serif; }
.cca-press-archive .cca-wrap, .cca-press-single .cca-wrap { max-width:1280px; margin:0 auto; padding:0 1.5rem; }
.cca-press-archive .eyebrow, .cca-press-single .eyebrow { font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#1d4ed8; }
.cca-press-archive .breadcrumb ol, .cca-press-single .breadcrumb ol { list-style:none; display:flex; gap:.5rem; padding:0; margin:0 0 1.5rem; font-size:.75rem; color:#5b6c81; }
.cca-press-archive .breadcrumb a, .cca-press-single .breadcrumb a { color:inherit; text-decoration:none; }

/* hero ------------------------------------------------------- */
.cca-press-archive .press-hero, .cca-press-single .press-hero { padding:6rem 0 3rem; background:#f6f9fc; border-bottom:1px solid #e4ecf5; }
.cca-press-archive .press-hero h1 { font-size:clamp(2rem,4vw,2.75rem); font-weight:800; margin:1rem 0; letter-spacing:-.02em; }
.cca-press-archive .lead { font-size:1.0625rem; line-height:1.6; color:#3d4f66; max-width:42rem; }
.cca-press-archive .meta-strip, .cca-press-single .meta-strip { margin-top:1.25rem; font-size:.8125rem; color:#5b6c81; display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.cca-press-archive .meta-strip a { color:#1d4ed8; text-decoration:none; }

/* topic filter ----------------------------------------------- */
.cca-press-archive .topic-strip { padding:1rem 0; background:#fff; border-bottom:1px solid #eef2f7; }
.cca-press-archive .topic-strip .cca-wrap { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.cca-press-archive .filter-label { font-size:.75rem; font-weight:600; color:#5b6c81; text-transform:uppercase; letter-spacing:.1em; margin-right:.5rem; }
.cca-press-archive .topic-pill { padding:.35rem .85rem; border:1px solid #d4dce6; border-radius:999px; font-size:.8125rem; color:#5b6c81; text-decoration:none; font-weight:500; }
.cca-press-archive .topic-pill.active { background:#1d4ed8; color:#fff; border-color:#1d4ed8; }
.cca-press-archive .topic-pill:hover:not(.active) { border-color:#1d4ed8; color:#1d4ed8; }

/* archive list ----------------------------------------------- */
.cca-press-archive .press-grid-section { padding:3rem 0 5rem; }
.cca-press-archive .press-list { list-style:none; padding:0; margin:0; }
.cca-press-archive .press-row { padding:2rem 0; border-bottom:1px solid #eef2f7; }
.cca-press-archive .press-row-grid { display:grid; grid-template-columns:9rem 1fr auto; gap:2rem; align-items:start; }
@media (max-width:768px) { .cca-press-archive .press-row-grid { grid-template-columns:1fr; gap:1rem; } }
.cca-press-archive .press-date { color:#1d4ed8; }
.cca-press-archive .month-day { font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin:0; }
.cca-press-archive .year { font-size:2rem; font-weight:800; line-height:1; margin:0; }
.cca-press-archive .location { font-size:.75rem; color:#5b6c81; margin:0 0 .5rem; text-transform:uppercase; letter-spacing:.1em; }
.cca-press-archive .press-title { font-size:1.25rem; font-weight:700; line-height:1.35; margin:0 0 .75rem; }
.cca-press-archive .press-title a { color:#0F385A; text-decoration:none; }
.cca-press-archive .press-title a:hover { color:#1a5a8a; }
.cca-press-archive .press-excerpt { font-size:.9375rem; line-height:1.6; color:#3d4f66; margin-bottom:.75rem; }
.cca-press-archive .press-meta { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; font-size:.75rem; color:#5b6c81; }
.cca-press-archive .press-meta .tag { background:#f0f4fa; color:#3d4f66; padding:.125rem .5rem; border-radius:4px; font-weight:500; }
.cca-press-archive .read-release { font-size:.8125rem; font-weight:600; color:#1d4ed8; text-decoration:none; white-space:nowrap; }
.cca-press-archive .navigation.pagination { margin-top:3rem; display:flex; justify-content:center; gap:.5rem; }
.cca-press-archive .navigation .page-numbers { padding:.5rem .9rem; border:1px solid #d4dce6; border-radius:8px; color:#5b6c81; text-decoration:none; font-size:.8125rem; font-weight:500; }
.cca-press-archive .navigation .page-numbers.current { background:#1d4ed8; color:#fff; border-color:#1d4ed8; }

/* resources block (shared) ----------------------------------- */
.cca-press-archive .press-resources, .cca-press-single .press-related { background:#f6f9fc; padding:4rem 0; border-top:1px solid #e4ecf5; }
.cca-press-archive .press-resources h2, .cca-press-single .press-related h2 { font-size:1.5rem; font-weight:800; letter-spacing:-.01em; margin:0 0 2rem; }
.cca-press-archive .resource-cards, .cca-press-single .related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media (max-width:768px) { .cca-press-archive .resource-cards, .cca-press-single .related-grid { grid-template-columns:1fr; } }
.cca-press-archive .resource-card, .cca-press-single .related-card { background:#fff; padding:1.5rem; border:1px solid #e4ecf5; border-radius:12px; text-decoration:none; display:block; transition:transform .15s; }
.cca-press-archive .resource-card:hover, .cca-press-single .related-card:hover { transform:translateY(-2px); }
.cca-press-archive .resource-card h3, .cca-press-single .related-card h3 { font-size:1.0625rem; font-weight:700; color:#0F385A; margin:.5rem 0; }
.cca-press-archive .resource-card p, .cca-press-single .related-card p { font-size:.875rem; line-height:1.5; color:#3d4f66; margin:0; }

/* ============ single ============ */
.cca-press-single .badges { display:flex; gap:.5rem; margin-bottom:1rem; flex-wrap:wrap; }
.cca-press-single .badge-press { background:#fef2f2; color:#dc2626; padding:.25rem .75rem; border-radius:6px; font-size:.7rem; font-weight:700; }
.cca-press-single .badge-meta { background:transparent; color:#5b6c81; padding:.25rem .75rem; border-radius:6px; font-size:.7rem; font-weight:600; border:1px solid #d4dce6; }
.cca-press-single .press-hero h1 { font-size:clamp(2rem,4vw,2.85rem); font-weight:800; line-height:1.1; letter-spacing:-.02em; margin:0 0 1.5rem; max-width:62rem; }
.cca-press-single .dateline { font-size:1rem; line-height:1.65; color:#3d4f66; max-width:60rem; }
.cca-press-single .dateline strong { color:#0F385A; }

.cca-press-single .press-body-section { padding:3rem 0 5rem; }
.cca-press-single .press-grid { display:grid; grid-template-columns:1fr 20rem; gap:3rem; align-items:start; }
@media (max-width:1024px) { .cca-press-single .press-grid { grid-template-columns:1fr; } }

.cca-press-single .press-article { background:#fff; padding:2.5rem; border:1px solid #e4ecf5; border-radius:16px; font-size:1rem; line-height:1.7; color:#3d4f66; }
.cca-press-single .press-article p { margin:0 0 1.25rem; }
.cca-press-single .press-article h2 { font-size:1.5rem; font-weight:700; color:#0F385A; margin:2.5rem 0 1rem; letter-spacing:-.01em; }
.cca-press-single .press-article ul { margin:0 0 1.5rem 1.5rem; padding:0; }
.cca-press-single .press-article a { color:#1d4ed8; text-decoration:underline; }

.cca-press-single .press-quote { margin:2.5rem 0; padding:1.5rem 2rem; border-left:4px solid #1d4ed8; background:#f6f9fc; border-radius:0 12px 12px 0; }
.cca-press-single .press-quote p { font-size:1.0625rem; font-style:italic; color:#0F385A; margin:0; line-height:1.6; }
.cca-press-single .press-quote footer { margin-top:1rem; font-size:.875rem; font-weight:600; color:#3d4f66; font-style:normal; }

.cca-press-single .press-end { text-align:center; font-size:.75rem; font-weight:700; letter-spacing:.3em; color:#5b6c81; margin:2rem 0 0; }

.cca-press-single .press-sidebar { display:flex; flex-direction:column; gap:1.25rem; }
.cca-press-single .sidebar-card { background:#fff; padding:1.5rem; border:1px solid #e4ecf5; border-radius:12px; }
.cca-press-single .sidebar-card h3 { font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#0F385A; margin:0 0 1rem; }
.cca-press-single .sidebar-card dl { font-size:.875rem; margin:0; }
.cca-press-single .sidebar-card dt { color:#5b6c81; margin-top:.75rem; }
.cca-press-single .sidebar-card dt:first-child { margin-top:0; }
.cca-press-single .sidebar-card dd { font-weight:600; color:#0F385A; margin:.125rem 0 0; }
.cca-press-single .tag-list { display:flex; flex-wrap:wrap; gap:.4rem; }
.cca-press-single .tag-list a { font-size:.7rem; font-weight:500; background:#f0f4fa; color:#3d4f66; padding:.25rem .6rem; border-radius:6px; text-decoration:none; }
.cca-press-single .share-links { display:flex; gap:.5rem; }
.cca-press-single .share-links a { width:2.5rem; height:2.5rem; display:inline-flex; align-items:center; justify-content:center; background:#f0f4fa; color:#3d4f66; border-radius:8px; text-decoration:none; font-weight:700; }
.cca-press-single .sidebar-cta { background:linear-gradient(135deg,#0F385A,#1a5a8a); color:#fff; }
.cca-press-single .sidebar-cta h3 { color:#fff; font-size:1.125rem; letter-spacing:normal; text-transform:none; }
.cca-press-single .sidebar-cta p { font-size:.875rem; line-height:1.5; opacity:.85; margin:0 0 1rem; }
.cca-press-single .sidebar-cta a { color:#fff; font-weight:600; text-decoration:underline; }

.cca-press-single .related-card .related-date { font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#1d4ed8; margin:0 0 .5rem; }
.cca-press-single .view-all { display:inline-block; margin-top:2rem; font-size:.875rem; font-weight:600; color:#1d4ed8; text-decoration:none; padding:.5rem 1rem; border:1px solid #1d4ed8; border-radius:8px; }
