/* ==========================================================================
   LRI Referenties — grid, kaarten en knop
   --------------------------------------------------------------------------
   De kleuren hieronder volgen de huidige site (blauw accent, zwarte knop).
   Wil je later naar het nieuwe palet? Pas alleen dit blok aan:
     --lri-ref-accent : #1256A0   (donkerder blauw)
     --lri-ref-btn-bg : #FFC53D   (amber)
     --lri-ref-btn-tx : #06121F
   ========================================================================== */
.lri-ref-grid{
  --lri-ref-cols:3;
  --lri-ref-accent:#3E9CD9;
  --lri-ref-ink:#1A1A1A;
  --lri-ref-text:#333B44;
  --lri-ref-muted:#6B7885;
  --lri-ref-line:#E3E7EB;
  --lri-ref-paper:#FFFFFF;
  --lri-ref-btn-bg:#1C1C1B;
  --lri-ref-btn-tx:#FFFFFF;
  --lri-ref-radius:4px;
  --lri-ref-gap:28px;

  display:grid;
  grid-template-columns:repeat(var(--lri-ref-cols),minmax(0,1fr));
  gap:var(--lri-ref-gap);
  margin:0 0 8px;
  padding:0;
  list-style:none;
}

/* ---------- kaart ---------- */
.lri-ref-card{
  display:flex;
  flex-direction:column;
  background:var(--lri-ref-paper);
  border:1px solid var(--lri-ref-line);
  border-radius:var(--lri-ref-radius);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lri-ref-card:hover{
  transform:translateY(-3px);
  border-color:#CBD5DE;
  box-shadow:0 18px 40px -26px rgba(10,25,40,.5);
}

/* ---------- afbeelding ---------- */
.lri-ref-media{
  display:block;
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#EDF0F3;
  line-height:0;
}
.lri-ref-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.lri-ref-card:hover .lri-ref-media img{ transform:scale(1.04); }

.lri-ref-media-leeg{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#94A3B0;
  background:repeating-linear-gradient(135deg,rgba(62,156,217,.06) 0 10px,transparent 10px 20px),#EDF0F3;
}

/* ---------- tekst ---------- */
.lri-ref-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:22px 22px 24px;
}

.lri-ref-tag{
  display:inline-block;
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lri-ref-accent);
  margin-bottom:8px;
}

.lri-ref-title{
  font-size:1.15rem;
  line-height:1.3;
  margin:0 0 10px;
}
.lri-ref-title a{
  color:var(--lri-ref-ink);
  text-decoration:none;
}
.lri-ref-title a:hover{ color:var(--lri-ref-accent); }

.lri-ref-excerpt{
  font-size:.95rem;
  line-height:1.6;
  color:var(--lri-ref-muted);
  margin:0 0 20px;
}

/* ---------- knop ---------- */
.lri-ref-btn{
  align-self:flex-start;
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 20px;
  background:var(--lri-ref-btn-bg);
  color:var(--lri-ref-btn-tx);
  font-size:.92rem;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  border-radius:var(--lri-ref-radius);
  transition:background .18s ease, transform .18s ease;
}
.lri-ref-btn:hover,
.lri-ref-btn:focus{
  background:var(--lri-ref-accent);
  color:#fff;
  transform:translateY(-1px);
}
.lri-ref-btn svg{ flex:none; transition:transform .18s ease; }
.lri-ref-btn:hover svg{ transform:translate(2px,-2px); }

/* toetsenbordfocus zichtbaar houden */
.lri-ref-btn:focus-visible,
.lri-ref-title a:focus-visible,
.lri-ref-media:focus-visible{
  outline:3px solid var(--lri-ref-accent);
  outline-offset:3px;
}

.screen-reader-text{
  position:absolute!important;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}

/* ---------- paginering ---------- */
.lri-ref-paginering{ margin-top:34px; }
.lri-ref-paginering .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;height:40px;
  margin:0 4px;padding:0 10px;
  border:1px solid var(--lri-ref-line,#E3E7EB);
  border-radius:4px;
  text-decoration:none;
  color:#333B44;
  font-size:.92rem;
}
.lri-ref-paginering .page-numbers.current,
.lri-ref-paginering .page-numbers:hover{
  background:#3E9CD9;
  border-color:#3E9CD9;
  color:#fff;
}

.lri-ref-leeg{ color:#6B7885; font-style:italic; }

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .lri-ref-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
}
@media(max-width:640px){
  .lri-ref-grid{ grid-template-columns:1fr; gap:20px; }
  .lri-ref-body{ padding:20px; }
}

@media(prefers-reduced-motion:reduce){
  .lri-ref-card,
  .lri-ref-media img,
  .lri-ref-btn,
  .lri-ref-btn svg{ transition:none; }
  .lri-ref-card:hover{ transform:none; }
  .lri-ref-card:hover .lri-ref-media img{ transform:none; }
}

/* ==========================================================================
   Detailpagina (alleen als de plugin-template wordt gebruikt)
   ========================================================================== */
.lri-ref-single{ max-width:1300px; margin:0 auto; padding:48px 24px 72px; }
.lri-ref-single .lri-ref-tekstkolom{ max-width:900px; }
.lri-ref-single .lri-ref-terug{
  display:inline-block; margin-bottom:24px; font-size:.9rem;
  color:#3E9CD9; text-decoration:none;
}
.lri-ref-single .lri-ref-terug:hover{ text-decoration:underline; }
.lri-ref-single h1{ margin:0 0 16px; line-height:1.15; }
/* de hero is nu de galerij, opmaak staat in lri-galerij.css */
.lri-ref-meta{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1px; background:#E3E7EB; border:1px solid #E3E7EB; margin:0 0 32px;
}
.lri-ref-meta div{ background:#fff; padding:16px 18px; }
.lri-ref-meta dt{
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:#3E9CD9; font-weight:600; margin-bottom:4px;
}
.lri-ref-meta dd{ margin:0; font-size:.97rem; color:#333B44; }
