/* APACPH latest posts. Card grid or compact list, sharing one set of card styles. */

.apacph-posts{
  --apacph-posts-navy:#082747;
  --apacph-posts-blue:#005f8f;
  --apacph-posts-teal:#008f8c;
  --apacph-posts-gold:#d99b2b;
  --apacph-posts-ink:#17324d;
  --apacph-posts-muted:#587087;
  --apacph-posts-border:#d9e5ee;
  --apacph-posts-canvas:#f4f8fb;
  --apacph-posts-columns:3;
  --apacph-posts-gap:24px;
  color:var(--apacph-posts-ink)
}

.apacph-posts__head{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:space-between;margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid var(--apacph-posts-border)}
.apacph-posts__heading{margin:0;color:var(--apacph-posts-navy);font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.25}
.apacph-posts__more{display:inline-flex;gap:8px;align-items:center;padding:6px 0;color:var(--apacph-posts-blue);font-weight:700;text-decoration:none}
.apacph-posts__more:hover{color:var(--apacph-posts-navy);text-decoration:underline}
.apacph-posts__more svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

.apacph-posts__grid{display:grid;gap:var(--apacph-posts-gap);margin:0;padding:20;list-style:none}
.apacph-posts--grid .apacph-posts__grid{grid-template-columns:repeat(var(--apacph-posts-columns),minmax(0,1fr))}
.apacph-posts--list .apacph-posts__grid{grid-template-columns:1fr;gap:0}

.apacph-post-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--apacph-posts-border);border-radius:12px;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.apacph-post-card:hover{transform:translateY(-3px);border-color:#b9ccda;box-shadow:0 10px 28px rgb(8 39 71/.1)}

.apacph-post-card__media{display:block;overflow:hidden;background:var(--apacph-posts-canvas);aspect-ratio:16/9}
.apacph-post-card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.apacph-post-card:hover .apacph-post-card__image{transform:scale(1.04)}

.apacph-post-card__body{display:flex;flex:1;flex-direction:column;padding:30px}
.apacph-post-card__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 10px;font-size:.8rem}
.apacph-post-card__category{padding:3px 10px;border-radius:999px;background:#dff5f2;color:#006b69;font-weight:700;letter-spacing:.02em}
.apacph-post-card__meta time{color:var(--apacph-posts-muted);font-variant-numeric:tabular-nums}
.apacph-post-card__title{margin:0 0 10px;font-size:1.275rem;line-height:1.35;font-weight:bolder}
.apacph-post-card__title a{color:var(--apacph-posts-navy);text-decoration:none}
.apacph-post-card__title a:hover{color:var(--apacph-posts-blue);text-decoration:underline}
/* The whole card is clickable, without trapping text selection or nesting links. */
.apacph-post-card__title a::after{content:'';position:absolute;inset:0}
.apacph-posts__item{position:relative}
.apacph-post-card__excerpt{margin:0;color:var(--apacph-posts-muted);font-size:.94rem;line-height:1.6}
.apacph-post-card__author{margin:12px 0 0;color:var(--apacph-posts-muted);font-size:.82rem}
.apacph-post-card__body>*:last-child{margin-bottom:0}

.apacph-posts a:focus-visible{outline:3px solid var(--apacph-posts-blue);outline-offset:3px}
.apacph-post-card:focus-within{border-color:var(--apacph-posts-blue)}

/* List layout: a compact horizontal row, dividers instead of cards. */
.apacph-posts--list .apacph-post-card{flex-direction:row;gap:18px;height:auto;border:0;border-bottom:1px solid var(--apacph-posts-border);border-radius:0;padding:18px 0;background:none}
.apacph-posts--list .apacph-post-card:hover{transform:none;box-shadow:none}
.apacph-posts--list .apacph-posts__item:last-child .apacph-post-card{border-bottom:0}
.apacph-posts--list .apacph-post-card__media{flex:0 0 168px;border-radius:8px;aspect-ratio:4/3}
.apacph-posts--list .apacph-post-card__body{padding:0}

@media(max-width:900px){
  .apacph-posts--grid .apacph-posts__grid{grid-template-columns:repeat(min(var(--apacph-posts-columns),2),minmax(0,1fr))}
}
@media(max-width:600px){
  .apacph-posts{--apacph-posts-gap:18px}
  .apacph-posts--grid .apacph-posts__grid{grid-template-columns:1fr}
  .apacph-posts--list .apacph-post-card{flex-direction:column;gap:12px}
  .apacph-posts--list .apacph-post-card__media{flex:none;width:100%;aspect-ratio:16/9}
}

@media(prefers-reduced-motion:reduce){
  .apacph-post-card,.apacph-post-card__image{transition:none}
  .apacph-post-card:hover{transform:none}
  .apacph-post-card:hover .apacph-post-card__image{transform:none}
}

/* Load more */
.apacph-posts__footer{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:28px}
.apacph-posts__load{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border:1px solid var(--apacph-posts-blue);border-radius:8px;background:#fff;color:var(--apacph-posts-blue);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease}
.apacph-posts__load:hover{background:var(--apacph-posts-blue);color:#fff}
.apacph-posts__load:focus-visible{outline:3px solid var(--apacph-posts-blue);outline-offset:3px}
.apacph-posts__load.is-loading{opacity:.72;cursor:progress}
.apacph-posts__load[disabled]{cursor:progress}
.apacph-posts__status{margin:0;min-height:1.2em;color:var(--apacph-posts-muted);font-size:.85rem}
/* Newly appended cards should not flash in for anyone who asked for less motion. */
@media(prefers-reduced-motion:no-preference){
  .apacph-posts__grid .apacph-posts__item{animation:apacph-post-in .3s ease-out both}
}
@keyframes apacph-post-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.apacph-posts__load:focus-visible,.apacph-post-card__title a:focus-visible{outline:3px solid var(--apacph-posts-blue);outline-offset:3px}
