/* ===== Header: titel + categorie-label ===== */

/* ===== Cursustitel + subtitel als één titel ===== */
.rvc-course-title{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.35em;
  margin:0;
}
.rvc-course-title-main{
  font:inherit;
  color:inherit;
}
.rvc-course-subtitle{
  font-size:.58em;
  line-height:1.25;
  font-weight:500;
  color:#64748b;
  letter-spacing:0;
}
@media (max-width:680px){
  .rvc-course-title{gap:.25em .35em;}
  .rvc-course-subtitle{font-size:.56em;}
}
.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;
}

/* Compacte titelbalk voor de "Zie ook"-tegels.
 * De balk blijft laag zoals in het cursusoverzicht, maar kan bij langere
 * titels netjes naar een tweede regel groeien zonder de tegel uit model te trekken. */
.rvc-related .rvc-tile-caption{
  background:var(--rvc-accent, #1d4ed8);
  color:#fff;
  padding:6px 10px;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1.15;
  box-sizing:border-box;
}

.rvc-related .rvc-tile-title{
  margin:0;
  width:100%;
  text-align:center;
  font-size:clamp(11px, .82vw, 13px);
  font-weight:700;
  line-height:1.15;
  overflow-wrap:anywhere;
  word-break:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

@media (max-width:680px){
  .rvc-related .rvc-tile-caption{ padding:6px 8px; min-height:36px; }
  .rvc-related .rvc-tile-title{ font-size:12px; }
}
/* ===== v4.1.3: compacte titelbalk op ALLE Rovea cursustegels =====
 * In v4.1.2 stond dit alleen onder .rvc-related. Daardoor vielen dezelfde
 * tegels buiten het "Zie ook"-blok terug op de oudere, hogere caption.
 * Deze regels zijn bewust beperkt tot de bestaande rvc-tile classes. */
.rvc-tile-btn{
  height:100%;
}

.rvc-tile-caption{
  background:var(--rvc-accent, #1d4ed8);
  color:#fff;
  padding:5px 9px;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1.12;
  box-sizing:border-box;
}

.rvc-tile-title{
  margin:0;
  width:100%;
  text-align:center;
  font-size:clamp(10.5px, .78vw, 12.5px);
  font-weight:700;
  line-height:1.12;
  overflow-wrap:anywhere;
  word-break:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* De gerelateerde tegels erven nu dezelfde compacte basis. */
.rvc-related .rvc-tile-caption{
  padding:5px 9px;
  min-height:34px;
}
.rvc-related .rvc-tile-title{
  font-size:clamp(10.5px, .78vw, 12.5px);
  line-height:1.12;
}

@media (max-width:680px){
  .rvc-tile-caption,
  .rvc-related .rvc-tile-caption{
    padding:5px 8px;
    min-height:34px;
  }
  .rvc-tile-title,
  .rvc-related .rvc-tile-title{
    font-size:11px;
  }
}


/* ===== v4.1.4: compacte cursustitels op WP categoriepagina's =====
 * Categorie-archieven worden door het actieve thema gerenderd en gebruiken
 * niet altijd de .rvc-tile-* markup. Deze regels zijn daarom bewust begrensd
 * tot alleen Rovea-cursusposts die via post_class() gemarkeerd zijn. */
body.category .rvc-category-course-tile .rvc-category-course-title,
body.category .rvc-category-course-tile .rvc-category-course-title-link{
  font-size:clamp(10.5px, .78vw, 12.5px) !important;
  font-weight:700 !important;
  line-height:1.10 !important;
  text-align:center !important;
  margin:0 !important;
  overflow-wrap:anywhere;
  word-break:normal;
}

body.category .rvc-category-course-tile .rvc-category-course-title{
  padding:4px 8px !important;
  min-height:30px !important;
  box-sizing:border-box;
  display:flex !important;
  align-items:center;
  justify-content:center;
}

body.category .rvc-category-course-tile .rvc-category-course-title-link{
  width:100%;
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Als het thema de achtergrondkleur op een wrapper rond de titel zet. */
body.category .rvc-category-course-tile .rvc-category-course-caption{
  padding:0 !important;
  min-height:30px !important;
  line-height:1.10 !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}

body.category .rvc-category-course-tile .rvc-category-course-caption .rvc-category-course-title{
  width:100%;
  min-height:30px !important;
}

@media (max-width:680px){
  body.category .rvc-category-course-tile .rvc-category-course-title,
  body.category .rvc-category-course-tile .rvc-category-course-title-link{
    font-size:11px !important;
  }
  body.category .rvc-category-course-tile .rvc-category-course-title,
  body.category .rvc-category-course-tile .rvc-category-course-caption{
    min-height:30px !important;
  }
}


/* ===== v4.1.5: categorie-tegels, onafhankelijk van thema markup =====
 * De classes worden runtime uitsluitend toegevoegd aan titel-links van
 * Rovea-cursussen die werkelijk in het categorie-archief staan. */
body.category .rvc-cat-course-title-link-v415{
  font-size:clamp(10.5px, .78vw, 12.5px) !important;
  font-weight:700 !important;
  line-height:1.12 !important;
  text-align:center !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
}

body.category .rvc-cat-course-caption-v415{
  padding:5px 8px !important;
  min-height:30px !important;
  height:auto !important;
  line-height:1.12 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body.category .rvc-cat-course-caption-v415 .rvc-cat-course-title-link-v415{
  flex:1 1 auto !important;
}

@media (max-width:680px){
  body.category .rvc-cat-course-title-link-v415{font-size:11px !important;}
  body.category .rvc-cat-course-caption-v415{padding:5px 7px !important; min-height:30px !important;}
}
\n\n/* ===== v4.1.6: native WP category cursus-tegels ===== */
body.category .rvc-cat-course-title-link-v416{
  font-size:clamp(10.5px, .78vw, 12.5px) !important;
  font-weight:700 !important;
  line-height:1.12 !important;
  text-align:center !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
}

body.category .rvc-cat-course-caption-v416{
  padding:5px 8px !important;
  min-height:30px !important;
  height:auto !important;
  line-height:1.12 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body.category .rvc-cat-course-caption-v416 .rvc-cat-course-title-link-v416{
  flex:1 1 auto !important;
}

@media (max-width:680px){
  body.category .rvc-cat-course-title-link-v416{font-size:11px !important;}
  body.category .rvc-cat-course-caption-v416{padding:5px 7px !important;min-height:30px !important;}
}


/* ===== v4.1.7: WordPress categorie + subcategorie cursuskaarten =====
 * De JS markeert uitsluitend volledige links naar Rovea-cursussen op
 * body.category. Dit raakt dus niet de single pagina of "Zie ook". */
body.category a.rvc-wp-category-course-tile-v417 .rvc-wp-category-course-caption-v417{
  height:auto !important;
  min-height:30px !important;
  max-height:none !important;
  padding:4px 8px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1.1 !important;
}
body.category a.rvc-wp-category-course-tile-v417 .rvc-wp-category-course-title-v417{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
@media (max-width:680px){
  body.category a.rvc-wp-category-course-tile-v417 .rvc-wp-category-course-title-v417{font-size:11px !important;}
  body.category a.rvc-wp-category-course-tile-v417 .rvc-wp-category-course-caption-v417{padding:4px 7px !important;}
}

/* ===== v4.2.2: geen witte reststroken in cursus-tegels =====
 * Een grid-rij wordt zo hoog als de hoogste titel. height:100% op kortere
 * tegels liet daardoor lege witte ruimte in de kaart over. De tegel blijft
 * voortaan alleen zo hoog als afbeelding + caption. */
.rvc-related-grid--squares{
  align-items:start;
}

.rvc-related .rvc-tile-btn,
.rvc-tile-btn{
  height:auto;
  align-self:start;
}

.rvc-related .rvc-tile-media,
.rvc-tile-media{
  display:block;
  margin:0;
  padding:0;
  flex:0 0 auto;
}

.rvc-related .rvc-tile-caption,
.rvc-tile-caption{
  margin:0;
  flex:0 0 auto;
}



/* v4.2.8 - cursusdagen/tijden frontend */
.rvc-duration-display{display:flex;flex-direction:column;gap:6px}
.rvc-duration-days{display:block;font-weight:700}
.rvc-duration-days-list{display:flex;flex-wrap:wrap;gap:6px}
.rvc-duration-day{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #e3e7ed;border-radius:8px;background:#f8fafc;line-height:1.2}
.rvc-duration-day-label{font-weight:700;color:#374151}
.rvc-duration-time{color:#4b5563}
@media(max-width:640px){.rvc-duration-days-list{display:grid;grid-template-columns:1fr}.rvc-duration-day{justify-content:space-between}}


/* v4.2.9 - duur frontend altijd als Dag 1 / Dag 2 / Dag 3 */
.rvc-duration-display{
  display:block;
}
.rvc-duration-display .rvc-duration-days{
  display:none!important;
}
.rvc-duration-days-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
}
.rvc-duration-day{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 8px;
  margin:0;
  border:1px solid #e3e7ed;
  border-radius:8px;
  background:#f8fafc;
  line-height:1.2;
}
.rvc-duration-day-label{
  font-weight:700;
  color:#374151;
}
.rvc-duration-time{
  color:#4b5563;
}


/* v4.2.10 - "Zie ook" tegels vierkant en scherper */
.rvc-related .rvc-tile-btn,
.rvc-related-grid .rvc-tile-btn{
  height:auto !important;
  overflow:hidden !important;
  border-radius:14px !important;
}

/* Zelfde vierkante verhouding als de categoriekaarten. */
.rvc-related .rvc-tile-media,
.rvc-related-grid .rvc-tile-media{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
  background-color:#f4f6f8 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:cover !important;
}

/* Afbeelding vult het vierkant volledig, zonder rekken of witte randen. */
.rvc-related .rvc-tile-media img,
.rvc-related-grid .rvc-tile-media img,
.rvc-related .rvc-tile-btn img,
.rvc-related-grid .rvc-tile-btn img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  image-rendering:auto !important;
}

/* Titelstrook direct tegen de afbeelding. */
.rvc-related .rvc-tile-caption,
.rvc-related-grid .rvc-tile-caption{
  margin:0 !important;
  flex:0 0 auto !important;
}

.rvc-related img,
.rvc-related-grid img{
  max-width:none !important;
}


/* v4.2.11 - behoud de echte uitgelichte afbeelding in vierkante "Zie ook" tegels */
.rvc-related .rvc-tile-media,
.rvc-related-grid .rvc-tile-media{
  background-color:#f4f6f8 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:cover !important;
}


/* v4.2.12 - volledige "Zie ook" tegel echt vierkant (1:1)
 * De titelbalk zit binnen de vierkante kaart in plaats van eronder.
 */
.rvc-related-grid--squares .rvc-tile-btn,
.rvc-related .rvc-tile-btn{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
  border-radius:14px !important;
  background:#f4f6f8 !important;
}

/* Media vult de volledige vierkante tegel. */
.rvc-related-grid--squares .rvc-tile-media,
.rvc-related .rvc-tile-media{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  padding:0 !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

/* Titelbalk als overlay onderin, dus geen extra hoogte buiten de tegel. */
.rvc-related-grid--squares .rvc-tile-caption,
.rvc-related .rvc-tile-caption{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:2 !important;
  width:100% !important;
  min-height:34px !important;
  max-height:48px !important;
  margin:0 !important;
  padding:5px 8px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1.1 !important;
}

/* Lange titels maximaal twee regels, binnen dezelfde vierkante kaart. */
.rvc-related-grid--squares .rvc-tile-title,
.rvc-related .rvc-tile-title{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
}

/* Geen oude img-regels die de vierkante container opnieuw oprekken. */
.rvc-related-grid--squares .rvc-tile-btn img,
.rvc-related .rvc-tile-btn img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}


/* v4.2.13 - opgeslagen tegeluitsnede toepassen */
.rvc-related-grid--squares .rvc-tile-media,
.rvc-related .rvc-tile-media{
  position:absolute !important;
  inset:0 !important;
  overflow:hidden !important;
  background:none !important;
}
.rvc-related-grid--squares .rvc-tile-media > img,
.rvc-related .rvc-tile-media > img{
  position:absolute !important;
  inset:auto !important;
  left:var(--rvc-tile-left,0%) !important;
  top:var(--rvc-tile-top,0%) !important;
  display:block !important;
  width:var(--rvc-tile-size,100%) !important;
  height:var(--rvc-tile-size,100%) !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:var(--rvc-tile-x,50%) var(--rvc-tile-y,50%) !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  image-rendering:auto !important;
}




/* v4.2.18.3 - subtitel één typografische stap kleiner dan de hoofdtitel */
.rvc-course-title .rvc-course-subtitle,
.rvc-course-subtitle{
  font-size:.72em !important;
  line-height:1.2 !important;
  font-weight:500 !important;
  vertical-align:baseline !important;
}
@media (max-width:680px){
  .rvc-course-title .rvc-course-subtitle,
  .rvc-course-subtitle{
    font-size:.70em !important;
  }
}


/* v4.2.21 - Zie ook: afbeelding als vaste background-laag.
 * Geen <img>-tag meer, zodat lazyload/thema-scripts de cursusafbeelding
 * niet na het laden kunnen vervangen. Buitenmaat/layout blijft ongewijzigd.
 */
.rvc-related .rvc-tile-media > .rvc-related-image-layer,
.rvc-related-grid .rvc-tile-media > .rvc-related-image-layer{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  background-repeat:no-repeat !important;
  background-position:var(--rvc-tile-x,50%) var(--rvc-tile-y,50%) !important;
  background-size:cover !important;
  transform:scale(var(--rvc-tile-zoom,1)) !important;
  transform-origin:center !important;
  pointer-events:none !important;
}


/* ===== v4.2.25: subtitel kleiner binnen ALLE cursustegels =====
 * Hoofdtitel houdt de bestaande tegel-font-size. Alleen de apart gemarkeerde
 * subtitel wordt kleiner, zowel op categorie-hiërarchie als onder "Zie ook". */
.rvc-tile-title .rvc-tile-title-main,
.rvc-tile-title-split .rvc-tile-title-main{
  font-size:1em !important;
  font-weight:700 !important;
  line-height:inherit !important;
}

.rvc-tile-title .rvc-tile-subtitle,
.rvc-tile-title-split .rvc-tile-subtitle,
body.category .rvc-tile-subtitle{
  display:inline !important;
  font-size:.80em !important;
  font-weight:600 !important;
  line-height:1.05 !important;
  vertical-align:baseline !important;
}

@media (max-width:680px){
  .rvc-tile-title .rvc-tile-subtitle,
  .rvc-tile-title-split .rvc-tile-subtitle,
  body.category .rvc-tile-subtitle{
    font-size:.78em !important;
  }
}


/* ===== v4.2.26: lange titel/subtitel automatisch passend maken =====
 * De subtitel blijft als één geheel bij elkaar en wordt nooit midden in een
 * woord opgebroken. Alleen wanneer titel + subtitel anders niet binnen twee
 * regels passen, verkleint JavaScript de totale titel stap voor stap. */
.rvc-tile-title,
.rvc-tile-title-split,
body.category .rvc-tile-title-split{
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.rvc-tile-title .rvc-tile-title-main,
.rvc-tile-title-split .rvc-tile-title-main{
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.rvc-tile-title .rvc-tile-subtitle,
.rvc-tile-title-split .rvc-tile-subtitle,
body.category .rvc-tile-subtitle{
  display:inline-block !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  hyphens:none !important;
  max-width:none !important;
}

/* Tijdens het meten halen we de 2-regels-clamp heel even weg. Na het meten
 * vervalt deze class weer en blijft de bestaande tegel-layout ongewijzigd. */
.rvc-tile-title.rvc-title-autofit-measuring,
.rvc-tile-title-split.rvc-title-autofit-measuring,
body.category .rvc-tile-title-split.rvc-title-autofit-measuring{
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  overflow:visible !important;
  height:auto !important;
  max-height:none !important;
}


/* ===== v4.2.27: leesbare lange cursustitels, caption groeit mee =====
 * v4.2.26 probeerde titel + subtitel altijd in maximaal twee regels te persen.
 * Daardoor kon de tekst tot 8.5px krimpen. Vanaf v4.2.27 blijft de titel op een
 * normale leesbare grootte en groeit de groene balk wanneer extra regels nodig
 * zijn. Korte subtitels blijven als één blok bij elkaar; alleen een subtitel die
 * zelf breder is dan de tegel mag bij spaties over meerdere regels lopen. */
.rvc-tile-title,
.rvc-tile-title-split,
.rvc-related .rvc-tile-title,
body.category .rvc-tile-title-split{
  font-size:12px !important;
  line-height:1.16 !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  overflow:visible !important;
  max-height:none !important;
  height:auto !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.rvc-tile-title .rvc-tile-title-main,
.rvc-tile-title-split .rvc-tile-title-main,
body.category .rvc-tile-title-split .rvc-tile-title-main{
  font-size:1em !important;
  font-weight:700 !important;
  line-height:inherit !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.rvc-tile-title .rvc-tile-subtitle,
.rvc-tile-title-split .rvc-tile-subtitle,
body.category .rvc-tile-subtitle{
  display:inline-block !important;
  font-size:.80em !important;
  font-weight:600 !important;
  line-height:1.12 !important;
  vertical-align:baseline !important;
  width:auto !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

/* De caption krijgt ruimte in plaats van dat de tekst wordt verkleind. */
.rvc-tile-caption,
.rvc-related .rvc-tile-caption,
body.category .rvc-category-course-tile .rvc-category-course-title,
body.category .rvc-category-course-tile .rvc-category-course-caption,
body.category .rvc-cat-course-caption-v415,
body.category .rvc-cat-course-caption-v416,
body.category a.rvc-wp-category-course-tile-v417 .rvc-wp-category-course-caption-v417{
  height:auto !important;
  min-height:38px !important;
  max-height:none !important;
  padding-top:6px !important;
  padding-bottom:6px !important;
  overflow:visible !important;
}

/* Wanneer de runtime-splitter een bestaand thema-titelelement gebruikt, moeten
 * oudere 2-regels-clamps ook daar worden uitgeschakeld. */
body.category .rvc-tile-title-split.rvc-category-course-title-link,
body.category .rvc-tile-title-split.rvc-cat-course-title-link-v415,
body.category .rvc-tile-title-split.rvc-cat-course-title-link-v416,
body.category .rvc-tile-title-split.rvc-wp-category-course-title-v417{
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  overflow:visible !important;
  height:auto !important;
  max-height:none !important;
}

@media (max-width:680px){
  .rvc-tile-title,
  .rvc-tile-title-split,
  .rvc-related .rvc-tile-title,
  body.category .rvc-tile-title-split{
    font-size:11.5px !important;
  }

  .rvc-tile-title .rvc-tile-subtitle,
  .rvc-tile-title-split .rvc-tile-subtitle,
  body.category .rvc-tile-subtitle{
    font-size:.82em !important;
  }

  .rvc-tile-caption,
  .rvc-related .rvc-tile-caption,
  body.category .rvc-category-course-tile .rvc-category-course-title,
  body.category .rvc-category-course-tile .rvc-category-course-caption,
  body.category .rvc-cat-course-caption-v415,
  body.category .rvc-cat-course-caption-v416,
  body.category a.rvc-wp-category-course-tile-v417 .rvc-wp-category-course-caption-v417{
    min-height:38px !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }
}


/* ===== v4.2.28: uniforme categorie-tegels + opgeslagen afbeelding-uitsnede =====
 * Alleen voor WordPress categorie-archieven. Dit zijn zowel hoofd-, sub- als
 * sub-subcategorieen. Geen autofit per tegel meer: iedere titel gebruikt exact
 * dezelfde grootte en exact dezelfde vaste titelzone. */
body.category .rvc-cat-title-v4228{
  box-sizing:border-box !important;
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  margin:0 !important;
  padding:4px 7px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  text-align:center !important;
  white-space:normal !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.12 !important;
}

body.category .rvc-cat-title-v4228 .rvc-cat-title-inner-v4228{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.12 !important;
}

body.category .rvc-cat-title-v4228 .rvc-tile-title-main{
  display:inline !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

body.category .rvc-cat-title-v4228 .rvc-tile-subtitle{
  display:inline-block !important;
  font-size:9.5px !important;
  font-weight:600 !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  hyphens:none !important;
  vertical-align:baseline !important;
}

/* Het afbeeldingsframe behoudt exact de reeds door het thema bepaalde maat.
 * Alleen de inhoud wordt ingezoomd/verplaatst. Daardoor veranderen tegelmaat,
 * grid of titelbalk niet. */
body.category .rvc-cat-image-frame-v4228{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  line-height:0 !important;
}

body.category .rvc-cat-image-frame-v4228 > .rvc-cat-image-node-v4228,
body.category .rvc-cat-image-frame-v4228 picture.rvc-cat-image-node-v4228{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* v4.2.30: echte X/Y-pan zonder CSS transform. Dit behoudt de scherpe
 * hoge-resolutiebron uit v4.2.29, maar laat de fysiek vergrote afbeelding
 * binnen het vaste frame ook echt horizontaal én verticaal verschuiven. */
body.category .rvc-cat-image-frame-v4228 img.rvc-cat-image-v4228{
  position:absolute !important;
  inset:auto !important;
  left:var(--rvc-cat-tile-left,0%) !important;
  top:var(--rvc-cat-tile-top,0%) !important;
  display:block !important;
  width:var(--rvc-cat-tile-size,100%) !important;
  height:var(--rvc-cat-tile-size,100%) !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:cover !important;
  object-position:var(--rvc-cat-tile-x,50%) var(--rvc-cat-tile-y,50%) !important;
  transform:none !important;
  will-change:auto !important;
  image-rendering:auto !important;
}

@media (max-width:680px){
  body.category .rvc-cat-title-v4228{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    padding:4px 6px !important;
    font-size:11px !important;
  }
  body.category .rvc-cat-title-v4228 .rvc-cat-title-inner-v4228,
  body.category .rvc-cat-title-v4228 .rvc-tile-title-main{
    font-size:11px !important;
  }
  body.category .rvc-cat-title-v4228 .rvc-tile-subtitle{
    font-size:9px !important;
  }
}


/* ===== v4.2.35: fallback voor uniforme categorie-titels =====
 * De JS zet dezelfde waarden inline !important om theme-autofit te verslaan.
 * Deze regels zijn de veilige fallback wanneer JavaScript nog aan het laden is. */
body.category .rvc-cat-title-v4235,
body.category .rvc-cat-title-v4235 .rvc-cat-title-inner-v4235,
body.category .rvc-cat-title-v4235 .rvc-cat-title-main-v4235{
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.12 !important;
  transform:none !important;
  zoom:1 !important;
  text-size-adjust:100% !important;
  -webkit-text-size-adjust:100% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
body.category .rvc-cat-title-v4235 .rvc-cat-title-sub-v4235{
  font-size:9.5px !important;
  font-weight:600 !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  hyphens:none !important;
}
@media (max-width:680px){
  body.category .rvc-cat-title-v4235,
  body.category .rvc-cat-title-v4235 .rvc-cat-title-inner-v4235,
  body.category .rvc-cat-title-v4235 .rvc-cat-title-main-v4235{
    font-size:11px !important;
  }
  body.category .rvc-cat-title-v4235 .rvc-cat-title-sub-v4235{
    font-size:9px !important;
  }
}


/* ===== v4.2.37: veilige, vaste categorie-titels zonder overlay =====
 * De zichtbare bestaande titel blijft intact. Geen transparante tekstlaag, geen
 * absolute overlay. Alleen één vaste typografie voor hoofd/sub/sub-subcategorie. */
body.category .rvc-cat-title-fixed-v4237{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  margin:0 !important;
  padding:3px 7px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-content:center !important;
  align-items:baseline !important;
  justify-content:center !important;
  column-gap:.28em !important;
  row-gap:0 !important;
  overflow:hidden !important;
  text-align:center !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:13.4px !important;
  letter-spacing:normal !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  transform:none !important;
  scale:none !important;
  zoom:1 !important;
}
body.category .rvc-cat-title-fixed-v4237 > .rvc-cat-title-main-v4237,
body.category .rvc-cat-title-fixed-v4237 > .rvc-cat-title-main-v4237 *{
  font-size:12px !important;
  font-weight:700 !important;
  line-height:13.4px !important;
  letter-spacing:normal !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  transform:none !important;
  scale:none !important;
  zoom:1 !important;
}
body.category .rvc-cat-title-fixed-v4237 > .rvc-cat-title-sub-v4237{
  display:inline-block !important;
  flex:0 0 auto !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-size:9.5px !important;
  font-weight:600 !important;
  line-height:10.5px !important;
  letter-spacing:normal !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  hyphens:none !important;
  transform:none !important;
  scale:none !important;
  zoom:1 !important;
}
@media(max-width:680px){
  body.category .rvc-cat-title-fixed-v4237{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    padding:3px 6px !important;
    font-size:11px !important;
    line-height:12.3px !important;
  }
  body.category .rvc-cat-title-fixed-v4237 > .rvc-cat-title-main-v4237,
  body.category .rvc-cat-title-fixed-v4237 > .rvc-cat-title-main-v4237 *{
    font-size:11px !important;
    line-height:12.3px !important;
  }
  body.category .rvc-cat-title-fixed-v4237 > .rvc-cat-title-sub-v4237{
    font-size:9px !important;
    line-height:10px !important;
  }
}
