/* ===== Header: titel + categorie-label ===== */
.rvc-header{
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:.75rem; margin-bottom:1rem;
}
.rvc-category-label{
  display:inline-block; color:#fff; font-size:.9rem; padding:.4rem .9rem;
  border-radius:999px; font-weight:600; line-height:1;
  text-shadow:0 1px 1px rgba(0,0,0,.25);
  box-shadow:0 6px 14px rgba(0,0,0,.25);
}

/* ===== Card met cursusgegevens ===== */
.rvc-card{
  margin:2rem 0; background:#fff; border-radius:16px;
  box-shadow:0 8px 24px rgba(0,0,0,.08); padding:1.5rem 1.75rem;
}
.rvc-card > h2{
  margin:0 0 1rem; font-size:1.2rem; font-weight:700; color:#111827;
  border-bottom:2px solid #f3f4f6; padding-bottom:.5rem;
}

/* Tabel */
.rvc-table{ width:100%; border-collapse:separate; border-spacing:0; }
.rvc-table th, .rvc-table td{
  padding:.85rem 1rem; text-align:left; vertical-align:top;
}
.rvc-table th{
  width:30%; font-weight:600; color:#374151; background:#fafafa;
  border-top:1px solid #f0f1f3; border-right:1px solid #f0f1f3;
}
.rvc-table td{ background:#fff; border-top:1px solid #f0f1f3; }
.rvc-table tr:first-child th, .rvc-table tr:first-child td{ border-top:none; }

/* ===== Zie ook: tegels met foto + caption balk in accentkleur ===== */
.rvc-related{ margin:3rem 0; }
.rvc-related h2{ font-size:1.2rem; font-weight:700; margin-bottom:1rem; }

.rvc-related-grid--squares{
  display:grid; gap:14px;
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
@media (max-width: 1024px){ .rvc-related-grid--squares{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width: 680px){  .rvc-related-grid--squares{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 420px){  .rvc-related-grid--squares{ grid-template-columns:1fr; } }

.rvc-tile-btn{
  display:flex; flex-direction:column; text-decoration:none; color:#111827;
  border-radius:14px; overflow:hidden; background:#fff; border:1px solid #e5e7eb;
  box-shadow:0 8px 20px rgba(0,0,0,.06); transition:transform .12s, box-shadow .12s, border-color .12s;
}
.rvc-tile-btn:hover{
  transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.12); border-color:transparent;
}
.rvc-tile-media{
  background:#f3f4f6; background-size:cover; background-position:center;
  aspect-ratio:1/1;
}
.rvc-tile-caption{
  padding:.75rem 1rem; background:var(--rvc-accent, #4f46e5);
  color:#fff; display:flex; align-items:center; justify-content:center;
}
.rvc-tile-title{ font-weight:700; text-align:center; }

/* Placeholder voor leegte */
.rvc-related-empty{ color:#6b7280; }

.rvc-shortcode { margin: 32px 0; padding: 20px; background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; }

/* ====== Single Cursus Shortcodes ====== */
.rvc-card.rvc-shortcode {
  margin-top: 24px;
  padding: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

.rvc-shortcode-item {
  margin-bottom: 20px;
}

.rvc-shortcode-item:last-child {
  margin-bottom: 0; /* geen extra marge onder de laatste shortcode */
}

/* Buttons / formulieren in shortcodes netjes uitlijnen */
.rvc-shortcode-item form,
.rvc-shortcode-item .wp-block-button {
  margin: 0 auto;
  display: inline-block;
}

.rvc-shortcode-item .wp-block-button__link,
.rvc-shortcode-item input[type="submit"],
.rvc-shortcode-item button {
  margin-top: 8px;
  border-radius: 8px;
  font-weight: 600;
}
.rvc-card.rvc-shortcode { margin-top:24px; padding:20px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 4px 14px rgba(0,0,0,.06); }
.rvc-shortcode-item { margin-bottom:20px; }
.rvc-shortcode-item:last-child { margin-bottom:0; }
.rvc-shortcode-debug { margin:6px 0 0; padding:10px 12px; background:#f9fafb; border:1px dashed #e5e7eb; border-radius:8px; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:13px; color:#374151; }

.rvc-card.rvc-shortcode { margin-top:24px; padding:20px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 4px 14px rgba(0,0,0,.06); }
.rvc-shortcode-item { display:block; margin-bottom:20px; }
.rvc-shortcode-item:last-child { margin-bottom:0; }
.rvc-shortcode-debug { margin-top:8px; padding:10px 12px; background:#f9fafb; border:1px dashed #e5e7eb; border-radius:8px; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:13px; color:#374151; }

/* Make "Zie ook" tiles have a fixed-height colored caption */
.rvc-related .rvc-tile-btn{
  display:flex;
  flex-direction:column;
  height:100%;
  border-radius:14px;
  overflow:hidden;          /* keep corners clean */
}

.rvc-related .rvc-tile-media{
  aspect-ratio:16/9;
  background-size:cover;
  background-position:center;
  flex:0 0 auto;
}

/* Force the caption stripe to a consistent height and fill color */
.rvc-related .rvc-tile-caption{
  background:var(--rvc-accent, #1d4ed8);
  color:#fff;
  padding:10px 12px;
  min-height:64px;          /* ≈ two lines; tweak if needed */
  display:flex;
  align-items:center;       /* vertically center text */
  line-height:1.2;
}

.rvc-related .rvc-tile-title{
  margin:0;
  display:block;
  /* optional: clamp to 2 lines to keep heights identical */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}