/************************************************************
 * 1. Algemene JA Megafilter / toolbar styling
 ************************************************************/

/* Dingen verbergen die je niet nodig hebt */
.ja-filter-wrapper .filter-content .block-subtitle.filter-current-subtitle,
.products-toolbar .toolbar-amount,
.pages.pagination-wrap,
.products-toolbar .toolbar-sorter .sorter-label {
  display: none;
}

.ln-element.products-toolbar {
    background: #f1f5f9;
}

/* Filterblok achtergrond + onderlijn */
.ja-filter-wrapper .filter-content {
  background-color: #f1f5f9;
  border-bottom: 1px solid #006699;
}

/* Overige toolbar-elementen transparant */
.products-toolbar .orderby-displaynumber,
.products-toolbar .toolbar-sorter .action {
  background-color: transparent;
}

/* Onderste toolbar verbergen */
.toolbar-bottom {
  display: none;
}

/* Sort-pijltjes (Font Awesome) */
.products-toolbar .toolbar-sorter .action.sort-asc .fa-long-arrow-up:before {
  content: "\f885";
  color: #000;
}

.fa-long-arrow-up:before {
  content: "\f884";
  color: #000;
}

/* Layout chooser knoppen */
.products-toolbar .jamg-layout-chooser span {
  background-color: #f1f5f9;
  border: none;
  color: #000;
}

.products-toolbar .jamg-layout-chooser span.active {
  color: #006699;
}

/* Huidige filterchips */
.filter-current.filter-values {
  margin-bottom: 2rem;
}

.ja-filter-wrapper .filter-content .selected-filters ol li.item {
  padding: 5px;
  font-size: 0.85rem;
  line-height: 1.4;
}

/* "Clear all filters" knop */
.btn.btn-default.clear-all-filter.action.filter-clear {
  font-size: 0.85rem;
  color: #006699;
  border: none;
  padding-top: 0;
}

/************************************************************
 * 2. Filtersectie titels (accordion headings)
 ************************************************************/

.ja-filter-wrapper .filter-content .block-subtitle {
  border-bottom: 1px solid #006699;
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.2rem;
}

/* Titel van elke filtergroep */
.ja-filter-wrapper .filter-content .filter-options-title span {
  background-color: transparent;
  font-size: 1rem;
  letter-spacing: 0;
  padding: 5px 10px 5px 25px;
  text-transform: none;
}

/* Pijltje bij open/dichtklappen */
.ja-filter-wrapper .filter-content .filter-options-title span:after {
  content: "\f103";
  color: #006699;
  font-size: 1.2rem;
}

.ja-filter-wrapper .filter-content .filter-options-title.collapsed span:after {
  content: "\f101";
  font-size: 1.2rem;
}

/* Hoverkleur van icoontje */
.ja-filter-wrapper .filter-content .filter-options-title span:hover:after {
  color: #000;
}

@media (max-width: 768px) {
    .ja-megafilter-wrap .ja-mg-sidebar .sidebar-toggle {
        background-color: transparent;
        color: var(--as-header-bg);
        font-weight: 700;
        text-decoration: none;
      }
    .ja-megafilter-wrap .ja-mg-sidebar .sidebar-toggle:hover {
        background-color: transparent;
    }
}

/************************************************************
 * 3. Basis Chosen-styling in filterblok
 ************************************************************/

/* Basisfont voor Chosen in filter */
.ja-filter-wrapper .filter-content .chosen-container {
  font-size: 0.85rem;
}

/************************************************************
 * 4. Sorter (dropdown + sorteerpijl) boven de resultaten
 ************************************************************/

/* Sorter container */
.toolbar-sorter.sorter {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: inherit;
  color: #000;
  background: #f1f5f9;
  padding: 6px 10px;
  border-bottom: none;
}

/* Label "Sorteren" wordt verborgen met display:none hierboven,
   we tonen nu een eigen label in de dropdown zelf ("Sorteren op:") */

/* Specifieke Chosen-container voor sorter */
#sorter_chosen.chosen-container-single {
  font-size: 15px;
  color: #000;
  width: 150px !important;
}

/* Gesloten sorter-dropdown */
#sorter_chosen .chosen-single {
  background: #ffffff !important;
  border: 1px solid rgba(0, 102, 153, 0.4);
  box-shadow: none;
  border-radius: 2px;
  height: auto;
  position: relative;
  padding: 4px 24px 4px 10px;
}

/* Echte tekst verbergen, eigen label tonen */
#sorter_chosen .chosen-single span {
  margin: 0;
  color: transparent;
  font-size: 0; /* geen horizontale ruimte */
  font-weight: 600;
  padding: 0;
  text-indent: 0;
}

/* Custom labeltekst */
#sorter_chosen .chosen-single span::after {
  content: "Sorteren op:";
  font-size: 15px;
  color: #000;
  display: inline-block;
}

/* Standaard Chosen-pijltje weg */
#sorter_chosen .chosen-single div b {
  background: none !important;
}

/* Eigen pijltje */
#sorter_chosen .chosen-single div {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

#sorter_chosen .chosen-single div::after {
  content: "▾";
  font-size: 11px;
  color: #000;
}

/* Hover/focus/active gelijk houden */
#sorter_chosen.chosen-container-single .chosen-single:hover,
#sorter_chosen.chosen-container-single .chosen-single:focus,
#sorter_chosen.chosen-container-active.chosen-container-single .chosen-single {
  background: #ffffff !important;
  border: 1px solid rgba(0, 102, 153, 0.4) !important;
  box-shadow: none !important;
}

/* Dropdown van sorter */
#sorter_chosen .chosen-drop {
  border: none;
  box-shadow: none;
  background: #f8fafc;
  padding: 0;
}

/* Zoekveld verbergen */
#sorter_chosen .chosen-search {
  display: none !important;
}

/* Resultatenlijst van sorter */
#sorter_chosen .chosen-results {
  margin: 0;
  padding: 0;
  border: 1px solid rgba(0, 102, 153, 0.4);
}

/* Losse opties in sorter */
#sorter_chosen .chosen-results li {
  padding: 8px 12px;
  margin: 0;
  color: #000;
  background: none;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  border-bottom: 1px solid rgba(0, 102, 153, 0.15);
  text-indent: 0;
  list-style: none;
}

/* Eerste optie ("ongesorteerd") verbergen */
#sorter_chosen .chosen-results li[data-option-array-index="0"] {
  display: none;
}

/* Laatste optie geen border */
#sorter_chosen .chosen-results li:last-child {
  border-bottom: none;
}

/* Hover/selected in sorter */
#sorter_chosen .chosen-results li.highlighted,
#sorter_chosen .chosen-results li.result-selected {
  background: none;
  color: #000;
  text-decoration: underline;
}

/* Sort-direction icoon */
.toolbar-sorter .sorter-action {
  margin-left: 0.25rem;
  color: #000;
  text-decoration: none;
}

.toolbar-sorter .sorter-action .fa {
  color: #000;
  font-size: 14px;
}

/************************************************************
 * 5. Checkbox-filters (bijv. thema’s / categorieën)
 ************************************************************/

/* Lijst met checkboxfilters */
ul.items.filter-items {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.85rem;
}

/* Individuele regels */
ul.items.filter-items li.filter-item {
  margin: 0 0 4px 0;
}

/* Label: checkbox + tekst uitgelijnd */
ul.items.filter-items li.filter-item label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.85rem;
  cursor: pointer;
}

/* Custom checkbox */
ul.items.filter-items li.filter-item input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  margin: 2px 0 0 0;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #006699;
  border-radius: 3px;
  background-color: #f1f5f9;
  cursor: pointer;
  position: relative;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

/* Check state */
ul.items.filter-items li.filter-item input[type="checkbox"]:checked {
  background-color: #006699;
  border-color: #006699;
}

/* Vinkje */
ul.items.filter-items li.filter-item input[type="checkbox"]::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 6px;
  height: 11px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(40deg);
  opacity: 0;
  transition: opacity 0.15s ease;
}

ul.items.filter-items li.filter-item input[type="checkbox"]:checked::after {
  opacity: 1;
}

/* Focusstate (toetsenbord) */
ul.items.filter-items li.filter-item input[type="checkbox"]:focus-visible {
  outline: 2px solid #004466;
  outline-offset: 2px;
}

/* Tekstblok naast checkbox */
ul.items.filter-items li.filter-item label > span {
  display: inline-block;
  padding-right: 3px;
  line-height: 1.4;
}

/* Aantal tussen haakjes */
ul.items.filter-items li.filter-item label > span > span {
  margin-left: 0.25rem;
  opacity: 0.8;
  white-space: nowrap;
}

/************************************************************
 * 6. Single-select filter dropdown (bijv. "Soort materiaal")
 ************************************************************/

/* Container van deze chosen dropdown */
.filter-options-content.filter-dropdown .chosen-container-single {
  font-size: 15px;
  color: #000;
}

/* Gesloten dropdown */
.filter-options-content.filter-dropdown .chosen-single {
  background: #ffffff !important;
  border: 1px solid rgba(0, 102, 153, 0.4);
  box-shadow: none;
  border-radius: 2px;
  height: auto;
  line-height: 1.4;
  position: relative;
  padding: 8px 24px 8px 10px;
}

/* Labeltekst */
.filter-options-content.filter-dropdown .chosen-single span {
  margin: 0;
  padding: 0;
  font-size: 15px;
  font-weight: 500;
  color: #000;
}

/* Standaard Chosen-pijltje weg */
.filter-options-content.filter-dropdown .chosen-single div b {
  background: none !important;
}

/* Eigen pijltje */
.filter-options-content.filter-dropdown .chosen-single div {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

.filter-options-content.filter-dropdown .chosen-single div::after {
  content: "▾";
  font-size: 11px;
  color: #000;
}

/* Hover / focus / active */
.filter-options-content.filter-dropdown .chosen-container-single .chosen-single:hover,
.filter-options-content.filter-dropdown .chosen-container-single .chosen-single:focus,
.filter-options-content.filter-dropdown .chosen-container-active.chosen-container-single .chosen-single {
  background: #ffffff !important;
  border: 1px solid rgba(0, 102, 153, 0.4) !important;
  box-shadow: none !important;
}

/* Dropdownpanel */
.filter-options-content.filter-dropdown .chosen-drop {
  border: 1px solid rgba(0, 102, 153, 0.4);
  border-top: none;
  box-shadow: none;
  background: #f8fafc;
  padding: 4px 0;
}

/* Zoekveld verbergen */
.filter-options-content.filter-dropdown .chosen-search {
  display: none !important;
}

/* Resultatenlijst */
.filter-options-content.filter-dropdown .chosen-results {
  margin: 0;
  padding: 4px 0;
}

/* Individuele opties */
.filter-options-content.filter-dropdown .chosen-results li {
  padding: 8px 12px;
  margin: 0;
  color: #000;
  background: none;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  border-bottom: 1px solid rgba(0, 102, 153, 0.15);
  text-indent: 0;
  list-style: none;
}

/* Laatste item geen border */
.filter-options-content.filter-dropdown .chosen-results li:last-child {
  border-bottom: none;
}

/* Hover/selected */
.filter-options-content.filter-dropdown .chosen-results li.highlighted,
.filter-options-content.filter-dropdown .chosen-results li.result-selected {
  background: none;
  color: #000;
  text-decoration: underline;
}

/* Kleine veiligheidsnet tegen flitsen */
.filter-options-content.filter-dropdown .chosen-single,
.filter-options-content.filter-dropdown .chosen-drop,
.filter-options-content.filter-dropdown .chosen-results li {
  transition: none !important;
}

/************************************************************
 * 7. Multi-select dropdown (onderwijstypen MBO/Havo/etc.)
 ************************************************************/

/* Container multi-select */
.filter-options-content.filter-dropdown .chosen-container-multi {
  font-size: 15px;
  color: #000;
}

/* Bovenste veld (tags + placeholder) */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices {
  background: #ffffff;
  border: 1px solid rgba(0, 102, 153, 0.4);
  border-radius: 2px;
  box-shadow: none;
  min-height: 32px;
  padding: 3px 6px;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  cursor: text;
}

/* Zoekveld / placeholder */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices .search-field input.chosen-search-input {
  border: none;
  background: transparent;
  box-shadow: none;
  outline: none;
  font-size: 14px;
  padding: 2px 0;
  margin: 0;
}

/* Placeholder "Maak een keuze" */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices .search-field input.default {
  color: #999;
}

/* Tags (gekozen onderwijstypen) */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices .search-choice {
  background: #006699;
  border: 1px solid #006699;
  border-radius: 999px;
  padding: 8px 26px 8px 10px;
  font-size: 13px;
  font-weight: 500;
  color: #ffffff;
  box-shadow: none;
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Tekst in labels wit */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices .search-choice span {
  color: #ffffff;
}

/* Sluit-kruisje in label */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices .search-choice .search-choice-close {
  background: none !important;
  width: 14px;
  height: 14px;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.9;
}

/* Eigen "×" icoon */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices .search-choice .search-choice-close::before {
  content: "×";
  display: block;
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  text-align: center;
  margin: -3px 0 0 6px;
}

/* Hover op kruisje */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices .search-choice .search-choice-close:hover::before {
  opacity: 1;
}

/* Hover/focus actief veld */
.filter-options-content.filter-dropdown .chosen-container-multi.chosen-container-active .chosen-choices,
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices:hover {
  background: #ffffff;
  border: 1px solid rgba(0, 102, 153, 0.8);
  box-shadow: none;
}

/* Dropdownpanel multi-select */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-drop {
  border: 1px solid rgba(0, 102, 153, 0.4);
  border-top: none;
  box-shadow: none;
  background: #f8fafc;
  padding: 4px 0;
}

/* Lijst met opties */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-results {
  margin: 0;
  padding: 4px 0;
}

/* Opties */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-results li {
  padding: 8px 12px;
  margin: 0;
  color: #000;
  background: none;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  border-bottom: 1px solid rgba(0, 102, 153, 0.15);
  text-indent: 0;
  list-style: none;
}

/* Laatste optie */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-results li:last-child {
  border-bottom: none;
}

/* Hover/selected in multi-select */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-results li.highlighted,
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-results li.result-selected {
  background: none;
  color: #000;
  text-decoration: underline;
}

/* Transitions uit in multi-select */
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-choices,
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-drop,
.filter-options-content.filter-dropdown .chosen-container-multi .chosen-results li {
  transition: none !important;
}

/************************************************************
 * 8. Tekstfilter (bijv. "Zoek op Titel")
 ************************************************************/

.filter-options-content .input-text[type="text"] {
  display: block;
  width: 100%;
  max-width: 260px;

  font-size: 0.9rem;
  font-weight: 400;
  font-family: inherit;
  color: #000;

  padding: 6px 10px;
  border: 1px solid rgba(0, 102, 153, 0.4);
  border-radius: 2px;
  background-color: #ffffff;

  box-shadow: none;
  outline: none;
  box-sizing: border-box;
}

/* Placeholder */
.filter-options-content .input-text::placeholder {
  color: #999;
}

/* Focus */
.filter-options-content .input-text:focus {
  border-color: rgba(0, 102, 153, 0.9);
  background-color: #ffffff;
}

/************************************************************
 * 9. Tegelweergave
 ************************************************************/

.ja-products-wrapper .product-items {
    gap: 32px;
}

.product.product-item {
    border: 1px solid #006699;
    border-radius: 8px;
}

.product.product-item:hover {
    background-color: rgba(0, 102, 153, 0.05);
}

.ja-products-wrapper .product-item .product-item-info {
    background: none;
    border: none;
    padding: 0;
}

.ja-products-wrapper .product-item a.product-item-photo img {
    width: 100%;
    border-radius: 8px 8px 0 0;
    height: 250px;
    object-fit: cover;
    transition: all 0.5s;
}

.ja-products-wrapper .product-item a.product-item-photo img:hover {
    opacity: 0.7;
}

.ja-products-wrapper .product-item-photo, .ja-products-wrapper .product-item .item-field {
    margin-bottom: 0;
}

.ja-products-wrapper .item-field.cat {
    background-color: #f2f2f2;
    padding: 6px 16px;
    color: #6e6f77;
}

.ja-products-wrapper .product-item .product-item-name {
    line-height: 1.25;
    margin: 1.5em 2rem 1em;
}

.item-field h4.product-item-name a {
    font-weight: 700;
    font-size: 1.5rem;
    text-decoration: none;
  
}

.item-field h4.product-item-name a:hover {
    color: #993399 !important;
    text-decoration: underline;
}

.item-field.fulltext {
    color: #000;
    margin: 0 2rem 1rem 2rem;
    line-height: 2;
    font-size: 16px;
}

.product-item-actions a.btn.btn-default {
    display: none;
}

.partners-alias .ja-products-wrapper .product-item a.product-item-photo img {
    height: 150px;
    object-fit: contain;
    background-size: cover;
    padding: 1rem 0.5rem;
    width: auto;
    max-width: 80%;
}

/************************************************************
 * 10. Lijstweergave
 ************************************************************/
.ja-products-wrapper.list .list .product-item .product-item-info {
    border: none;
    border-bottom: none;
    padding-left: 160px;
    overflow: hidden;
}

a.product-item-photo {
    border-radius: 8px 0 0 8px;
}

.ja-products-wrapper.list .list .product-item .product-item-info .thumb {
    top: 0;
}

.ja-products-wrapper.list .list .product-item .product-item-info .product-item-photo img {
    width: 184px;
    border-radius: 8px 0 0 8px;
    height: 200px;
}

.ja-products-wrapper.products-list .item-field.cat {
    border-radius: 0 8px 0 0;
}

/************************************************************
 * Content Events – Educatief aanbod + Gastsprekers
 * - verbergt lege velden (ook bij whitespace / lege links)
 * - Educatief aanbod: fullwidth afbeelding
 * - Gastsprekers: profielfoto klein en rechts
 ************************************************************/

/* ==========================================================
 * 0) Lege velden verbergen (robuster)
 * ========================================================== */

/* 0a) Als value echt leeg is */
.astroid-article-events .field-entry .field-value:empty {
  display: none !important;
}
.astroid-article-events .field-entry:has(.field-value:empty) {
  display: none !important;
}

/* 0b) Als value alleen een lege link bevat (soms gebeurt dat) */
.astroid-article-events .field-entry:has(.field-value > a:only-child:empty) {
  display: none !important;
}

/* 0c) Als value alleen een <br> bevat */
.astroid-article-events .field-entry:has(.field-value > br:only-child) {
  display: none !important;
}

/* 0d) Als value alleen een leeg element met whitespace is:
   CSS kan whitespace niet perfect detecteren.
   Maar: we kunnen veel gevallen afvangen door te verbergen
   als er geen “zinvolle” children zijn. */
.astroid-article-events .field-entry:has(.field-value:not(:has(*)):not(:has(textarea)):not(:has(input))) {
  /* let op: dit pakt ook plain text values mee, daarom NIET verbergen */
}

/* ==========================================================
 * 1) Afbeeldingen
 * ========================================================== */

/* Educatief aanbod: fullwidth header image */
.item-page .astroid-article-full-image,
.item-page .astroid-article-full-image figure,
.item-page .astroid-article-full-image img {
  width: 100%;
  max-width: 100%;
}

.item-page .astroid-article-full-image {
  margin: 0 0 1.25rem 0 !important;
}
.item-page .astroid-article-full-image figure { margin: 0; }
.item-page .astroid-article-full-image img {
  display: block;
  height: auto;
  border-radius: 10px;
}

/* Gastsprekers: profielfoto veld klein, rechts */
.item-pageg-gastspreker .astroid-article-events .field-entry.profielfoto {
  padding: 0;
  border: none;
}
.item-pageg-gastspreker .astroid-article-events .field-entry.profielfoto .field-value {
  width: 100%;
}
.item-pageg-gastspreker .astroid-article-events .field-entry.profielfoto img {
  display: block;
  width: min(260px, 100%);
  height: auto;
  border-radius: 14px;
  margin-left: auto;
  box-shadow: 0 8px 20px rgba(0,0,0,0.10);
}

/* Logo rustiger */
.item-pageg-gastspreker .astroid-article-events .field-entry.bedrijfslogo img,
.item-page .astroid-article-events .field-entry.bedrijfslogo img {
  display: block;
  max-width: 220px;
  height: auto;
  margin-top: .25rem;
}

/* ==========================================================
 * 2) Meta cards (events blokken)
 * ========================================================== */

.astroid-article-events {
  padding: 1.25rem 1.5rem;
  background-color: #f1f5f9;
  border-bottom: 1px solid #006699;
  border-radius: 10px;
  margin: 0 0 1.5rem 0;
}

/* Breedtes per type */
.item-page .astroid-article-events, .item-page .astroid-article-full-image { width: min(100%, 860px); }
.item-pageg-gastspreker .astroid-article-events { width: min(100%, 860px); }

/* UL grid */
.astroid-article-events .fields-container {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: .9rem 1.25rem;
}

/* Rij: label links, value rechts */
.astroid-article-events .field-entry {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding-bottom: .55rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.astroid-article-events .field-entry:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* Label */
.astroid-article-events .field-label {
  flex: 0 0 11.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.78rem;
  opacity: 0.85;
}

/* Forceer uppercase labels overal (overschrijft eerdere uitzonderingen) */
.astroid-article-events .field-label,
.astroid-article-events .field-entry.basisonderwijs .field-label,
.astroid-article-events .field-entry.voortgezet-onderwijs .field-label,
.astroid-article-events .field-entry.mbo .field-label {
  text-transform: uppercase !important;
}

/* Value */
.astroid-article-events .field-value {
  flex: 1 1 auto;
  line-height: 1.45;
  font-size: 0.95rem;
}

/* Links: netjes afbreken */
.astroid-article-events a {
  overflow-wrap: anywhere;
}

/* Mobiel: label boven value */
@media (max-width: 640px) {
  .astroid-article-events .field-entry { flex-direction: column; gap: .25rem; }
  .astroid-article-events .field-label { flex: 0 0 auto; }
}

/* Gastsprekers: smallere labels voor Functie en Opleiding */
.item-pageg-gastspreker .astroid-article-events 
.field-entry.functietitel .field-label,
.item-pageg-gastspreker .astroid-article-events 
.field-entry.opleiding .field-label {
  flex: 0 0 7.5rem;   /* was ~11.5rem */
  font-size: 0.75rem;
  letter-spacing: 0.03em;
}

.cat-inactief {
    display: block;
    margin-top: 10px;
    padding: 6px 10px !important;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: center;
    border-radius: 4px;
    background-color: #f8d7da !important;
    color: #842029 !important;
    border-left: 4px solid #dc3545;
}

/* ==========================================================
 * 3) Gastsprekers: velden zonder label netjes maken
 * (zoals organisatie & website: alleen field-value)
 * ========================================================== */

/* Als er geen label is, laat value netjes “links starten” */
.astroid-article-events .field-entry:not(:has(.field-label)) .field-value {
  flex: 1 1 auto;
}

/* Gastsprekers: Organisatie & Website zonder badge-look */
.item-pageg-gastspreker .astroid-article-events .field-entry.organisatie,
.item-pageg-gastspreker .astroid-article-events .field-entry.website {
  border-bottom: 1px solid rgba(0,0,0,0.06);
  padding-bottom: .55rem;
}

.item-pageg-gastspreker .astroid-article-events 
.field-entry.organisatie .field-value,
.item-pageg-gastspreker .astroid-article-events 
.field-entry.website .field-value {
  padding: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
  font-size: 0.95rem;
}

/* ==========================================================
 * 4) Educatief aanbod: eerste meta-blok 2 kolommen (na full image)
 * ========================================================== */

@media (min-width: 768px) {
  .item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .fields-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}

/* Provincie + Thema’s stacked */
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.provincie,
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.themas {
  flex-direction: column;
  align-items: flex-start;
  gap: .25rem;
}
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.provincie .field-label,
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.themas .field-label {
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 0.85rem;
  opacity: 0.9;
  flex: 0 0 auto;
}
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.provincie .field-value,
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.themas .field-value {
  flex: 0 0 auto;
}

/* Onderwijstype naar rechterkolom */
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.basisonderwijs,
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.voortgezet-onderwijs,
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.mbo {
  border: none;
  padding: 0;
}
@media (min-width: 768px) {
  .item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.basisonderwijs,
  .item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.voortgezet-onderwijs,
  .item-page .astroid-column > .astroid-article-full-image + .astroid-article-events .field-entry.mbo {
    grid-column: 2;
  }
}


/* Fix: zorg dat "Onderwijstype" titel zichtbaar blijft */
.item-page
.astroid-column > .astroid-article-full-image + .astroid-article-events
.field-entry.basisonderwijs {
  position: relative;
}

.item-page
.astroid-column > .astroid-article-full-image + .astroid-article-events
.field-entry.basisonderwijs::before {
  width: 100%;
  flex: 0 0 auto;
  line-height: 1.2;
}

.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events
.field-entry.basisonderwijs .field-label,
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events
.field-entry.voortgezet-onderwijs .field-label,
.item-page .astroid-column > .astroid-article-full-image + .astroid-article-events
.field-entry.mbo .field-label {
  flex: 0 0 auto;
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 0.85rem;
  opacity: 0.9;
}

/* ==========================================================
 * 5) Gastsprekers: eerste meta-blok 2 kolommen (na title)
 * - profielfoto + logo rechts
 * ========================================================== */



  /* Basis grid voor het EERSTE gastspreker-events-blok */
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events .fields-container{
    display: grid;
    grid-template-columns: 1fr 1fr; /* we sturen per item de kolom */
    gap: 1rem 1.5rem;
    align-items: start;
  }

  /* ======================================================
   * SET 1: 2 kolommen
   * Links: Functie, Opleiding, Organisatie, Website, Bedrijfslogo
   * Rechts: Profielfoto
   * (op basis van jouw huidige volgorde: 1..6)
   * ====================================================== */

  /* Profielfoto (1) rechts */
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(1) {
    grid-column: 2;
    grid-row: 1 / span 6; /* blijft naast de hele linker stack */
    align-self: start;
  }

  /* Functie..Bedrijfslogo (2..6) links */
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(2),
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(3),
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(4),
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(5),
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(6) {
    grid-column: 1;
  }

  /* ======================================================
   * SET 2: 1 kolom (full width)
   * Provincies, Standplaats, Thema's (7..9)
   * ====================================================== */
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(7),
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(8),
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li:nth-child(9) {
    grid-column: 1 / -1; /* hele breedte */
  }

  /* ======================================================
   * SET 3: 2 kolommen
   * Links: Onderwijstypen (10..12)
   * Rechts: Vak, Excursie, Beschikbaarheid (13..15)
   * ====================================================== */

/* ======================================================
 * SET 3 – strak uitlijnen zonder lege ruimte
 * ====================================================== */

/* Onderwijstypen links (Basisonderwijs / VO / MBO) */
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.fields-container > li:nth-child(10),
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.fields-container > li:nth-child(11),
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.fields-container > li:nth-child(12) {
  grid-column: 1;
}

/* Rechterkolom: start expliciet naast Basisonderwijs */
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.fields-container > li:nth-child(13) {
  grid-column: 2;
  grid-row: 10;   /* start naast Basisonderwijs */
}

/* Volgende items sluiten daar netjes onder aan */
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.fields-container > li:nth-child(14) {
  grid-column: 2;
  grid-row: 11;
}

.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.fields-container > li:nth-child(15) {
  grid-column: 2;
  grid-row: 12;
}


/* Thema’s / provincies / beschikbaarheid stacked (lekker leesbaar bij lange tekst) */
.item-pageg-gastspreker .astroid-article-events .field-entry.provincie,
.item-pageg-gastspreker .astroid-article-events .field-entry.themas,
.item-pageg-gastspreker .astroid-article-events .field-entry.beschikbaar-voor-lessen-in-provincie-s,
.item-pageg-gastspreker .astroid-article-events .field-entry.specifiekere-aanduiding-locatie-bv-stad-of-regio {
  flex-direction: column;
  gap: .25rem;
}
.item-pageg-gastspreker .astroid-article-events .field-entry.provincie .field-label,
.item-pageg-gastspreker .astroid-article-events .field-entry.themas .field-label,
.item-pageg-gastspreker .astroid-article-events .field-entry.beschikbaar-voor-lessen-in-provincie-s .field-label,
.item-pageg-gastspreker .astroid-article-events .field-entry.specifiekere-aanduiding-locatie-bv-stad-of-regio .field-label {
  flex: 0 0 auto;
  text-transform: none;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  opacity: 0.9;
}

@media (min-width: 992px) {
  /* Onderwijstypen onder de profielfoto plaatsen */
  .item-pageg-gastspreker 
  .astroid-column > .astroid-article-title + .astroid-article-events
  .field-entry.basisonderwijs,
  .item-pageg-gastspreker 
  .astroid-column > .astroid-article-title + .astroid-article-events
  .field-entry.voortgezet-onderwijs,
  .item-pageg-gastspreker 
  .astroid-column > .astroid-article-title + .astroid-article-events
  .field-entry.mbo {
    grid-column: 2;
    margin-top: .75rem;
  }

  /* Labels iets rustiger */
  .item-pageg-gastspreker 
  .field-entry.basisonderwijs .field-label,
  .item-pageg-gastspreker 
  .field-entry.voortgezet-onderwijs .field-label,
  .item-pageg-gastspreker 
  .field-entry.mbo .field-label {
    text-transform: none;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
  }
}

/* Onderwijstypen: label boven value, alles onder elkaar */
.astroid-article-events .field-entry.basisonderwijs,
.astroid-article-events .field-entry.voortgezet-onderwijs,
.astroid-article-events .field-entry.mbo {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.25rem !important;
}

/* Bij stacked layout willen we geen vaste labelbreedte */
.astroid-article-events .field-entry.basisonderwijs .field-label,
.astroid-article-events .field-entry.voortgezet-onderwijs .field-label,
.astroid-article-events .field-entry.mbo .field-label {
  flex: 0 0 auto !important;
  width: auto !important;
}

/* Gastsprekers – Set 3 rechterkolom:
   labels boven de waarde (stacked) */
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.field-entry.vak,
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.field-entry.kan-een-rondleiding-excursie-geven-op-deze-locatie,
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.field-entry.beschikbaarheid {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

/* Geen vaste labelbreedte bij stacked layout */
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.field-entry.vak .field-label,
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.field-entry.kan-een-rondleiding-excursie-geven-op-deze-locatie .field-label,
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.field-entry.beschikbaarheid .field-label {
  flex: 0 0 auto;
  width: auto;
  line-height: 1.2;
}

  /* Gastsprekers – digitaal verzorgen:
   label verbergen, value benadrukken */
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.field-entry.ik-kan-de-gastles-in-overleg-ook-digitaal-verzorgen .field-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.field-entry.ik-kan-de-gastles-in-overleg-ook-digitaal-verzorgen .field-value {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.8rem;
}

/* Gastsprekers: als Bedrijfslogo een afbeelding heeft, verberg Organisatie */
.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.fields-container:has(li.field-entry.bedrijfslogo img)
li.field-entry.organisatie {
  display: none !important;
}


/* ==========================================================
 * 6) Tweede meta-blok (na bodytekst) voor beide types
 * ========================================================== */

.astroid-column > .astroid-article-text + .astroid-article-events .field-entry {
  flex-direction: column;
  align-items: flex-start;
  gap: .25rem;
}
.astroid-column > .astroid-article-text + .astroid-article-events .field-label {
  flex: 0 0 auto;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: none;
  letter-spacing: 0.02em;
  opacity: 0.9;
}
.astroid-column > .astroid-article-text + .astroid-article-events .field-value {
  flex: 0 0 auto;
  font-size: 0.95rem;
}

/* ==========================================================
 * 7) Link als button (laatste item in onderste blok)
 * ========================================================== */

.astroid-column > .astroid-article-text + .astroid-article-events .fields-container > li:last-child {
  align-items: flex-start;
}

/* label verbergen maar toegankelijk */
.astroid-column > .astroid-article-text + .astroid-article-events .fields-container > li:last-child .field-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.astroid-column > .astroid-article-text + .astroid-article-events .fields-container > li:last-child .field-value {
  flex: 0 0 auto;
}

.astroid-column > .astroid-article-text + .astroid-article-events .fields-container > li:last-child .field-value a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 170px;
  padding: .55rem 1rem;

  border-radius: 999px;
  border: 1px solid rgba(21, 72, 106, 1);
  background-color: rgba(21, 72, 106, 1);

  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;

  transition: opacity .18s ease-in-out, transform .18s ease-in-out;
}

.astroid-column > .astroid-article-text + .astroid-article-events .fields-container > li:last-child .field-value a:hover,
.astroid-column > .astroid-article-text + .astroid-article-events .fields-container > li:last-child .field-value a:focus-visible {
  opacity: 0.78;
  transform: translateY(-1px);
}

.astroid-column > .astroid-article-text + .astroid-article-events .fields-container > li:last-child .field-value a:focus-visible {
  outline: 2px solid rgba(21, 72, 106, 1);
  outline-offset: 2px;
}

 /* ======================================================
 * Gastsprekers – Onderwijstypen als subtiele card
 * (alleen links, geen afronding)
 * ====================================================== */

@media (min-width: 992px) {

  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li.field-entry.basisonderwijs,
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li.field-entry.voortgezet-onderwijs,
  .item-pageg-gastspreker
  .astroid-column > .astroid-article-title + .astroid-article-events
  .fields-container > li.field-entry.mbo {

    background-color: #eaf2f7;      /* lichte, rustige tint */
    padding: 0.75rem 1rem;
    border-left: 4px solid #006699; /* accent */
  }

  /* Iets ruimte tussen de onderwijsregels */
  .item-pageg-gastspreker
  .fields-container > li.field-entry.voortgezet-onderwijs,
  .item-pageg-gastspreker
  .fields-container > li.field-entry.mbo {
    margin-top: 0.35rem;
  }
}

/* ======================================================
 * Gastsprekers – Thema's als subtiele card (Set 2)
 * ====================================================== */

.item-pageg-gastspreker
.astroid-column > .astroid-article-title + .astroid-article-events
.fields-container > li.field-entry.themas {

  background-color: #eaf2f7;
  padding: 0.75rem 1rem;
  border-left: 4px solid #006699;
}

/* Thema's altijd label boven waarde (rustig lezen) */
.item-pageg-gastspreker
.field-entry.themas {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
}

.item-pageg-gastspreker
.field-entry.themas .field-label {
  flex: 0 0 auto;
  width: auto;
  line-height: 1.2;
}

@media (max-width: 768px) {
   .item-pageg-gastspreker .astroid-column > .astroid-article-title + .astroid-article-events .fields-container {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
   }
   .astroid-article-events .field-entry {
        flex-direction: row;
   }
}

/* =========================================================
   Gastles-overzicht (JA Megafilter) – styling items
   Scope: body.zoek-en-boek-een-gastles-alias
   (GEEN grid/columns/flex layout voor wrappers; alleen card + inhoud)
   ========================================================= */

body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .product-item-info{
  border-radius: 8px;
  overflow: hidden;            /* foto en hoeken netjes clippen */
  background: #fff;
}

/* Binnenkant: wel netjes wat ruimte, maar foto blijft edge-to-edge */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .product-item-details{
  padding: 0;                  /* belangrijk: foto geen padding/marge */
}

/* Foto edge-to-edge, vaste hoogte + crop */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.field-profielfoto{
  width: 100%;
  margin: 0;
  padding: 0;
  aspect-ratio: 4 / 3;         /* pas aan naar 1/1 als je vierkant wilt */
  overflow: hidden;
  background: #f2f4f7;
}

body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.field-profielfoto img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  margin: 0;
  padding: 0;
  border: 0;
}

/* ---- Placeholder alleen bij geen foto ---- */

body.zoek-en-boek-een-gastles-alias .product-item-info.no-photo::before{
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;              /* match met jouw foto ratio */
  background: linear-gradient(135deg, #eef2f6, #f7f9fb);
}

/* Zorg dat de "content padding" nog steeds klopt (zoals je had) */
body.zoek-en-boek-een-gastles-alias .product-item-info.no-photo .product-item-details{
  padding: 0;                        /* foto/placeholder edge-to-edge */
}

/* Content onder de foto: eigen padding (zodat foto tegen de rand blijft) */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.name,
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.fulltext,
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.field-werkgever{
  padding-left: 14px;
  padding-right: 14px;
}

body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.name{
  padding-top: 14px;
  padding-bottom: 4px;
}

/* ---- Fulltext: weer normaal zichtbaar ---- */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.fulltext{
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;

  overflow: visible !important;
  white-space: normal !important;

  font-size: 0.95rem;
  line-height: 1.4;
  opacity: 0.9;
  margin: 0;
  padding: 0 14px 8px;
}


/* Titel: strakker, geen underlines */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .product-item-name{
  margin: 0;
  line-height: 1.2;
}

body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .product-item-link{
  text-decoration: none;
}

/* ---- Werkgever badge: subtieler + links uitgelijnd ---- */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.field-werkgever {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.9rem;
    background: #f3f7ff;
    border: 1px solid #d8e6ff;
    margin: 14px 14px 0 14px;
    line-height: 1.2;
}

/* icoon */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.field-werkgever::before{
  content: "\f1ad";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  opacity: 0.85;
}


/* Actieknop: eigen padding, onderaan in de card, zonder foto-rand te beïnvloeden */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .product-item-actions{
  padding: 0 14px 14px;
}

body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .product-item-actions .btn{
  border-radius: 12px;
  padding: 10px 14px;
  text-decoration: none;
}

/* Kleine extra: als fulltext leeg is, niet onnodig ruimte */
body.zoek-en-boek-een-gastles-alias .ja-products-wrapper .item-field.fulltext:empty{
  display: none;
}

/* =================================================
   LIST VIEW – gastsprekers
   Scope: .ja-products-wrapper.products-list
   ================================================= */

/* Card zelf ongemoeid laten, alleen binnenkant aanpassen */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-details{
  display: grid;
  grid-template-columns: 180px 1fr; /* linker kolom = foto/placeholder */
  column-gap: 14px;
  row-gap: 6px;
  align-items: start;
  padding: 0; /* foto/placeholder edge-to-edge */
}

/* -----------------------------
   FOTO links (list)
   ----------------------------- */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.field-profielfoto{
  grid-column: 1;
  grid-row: 1 / span 10;
  width: 100%;
  aspect-ratio: 3 / 4;
  margin: 0;
  overflow: hidden;
}

body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.field-profielfoto img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* -----------------------------
   PLACEHOLDER links (list)
   ----------------------------- */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info{
  display: block; /* card zelf geen flex/grid */
}

body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info.no-photo::before{
  content: "";
  float: left;
  width: 180px;
  aspect-ratio: 3 / 4;
  margin-right: 14px;
  background: linear-gradient(135deg, #eef2f6, #f7f9fb);
  border-radius: 12px;
}

/* -----------------------------
   TEKST rechts
   ----------------------------- */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.name,
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.fulltext,
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.field-werkgever{
  grid-column: 2;
  padding-left: 0;
  padding-right: 14px;
}

/* Titel iets lucht */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.name{
  padding-top: 12px;
}

/* Fulltext normaal laten lopen */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.fulltext{
  font-size: 0.95rem;
  line-height: 1.4;
  opacity: 0.9;
}

/* -----------------------------
   WERKGEVER badge (list)
   ----------------------------- */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.field-werkgever{
  display: inline-flex;
  align-items: center;
  gap: 6px;

  width: fit-content;
  margin: 4px 0 8px 0;

  padding: 3px 7px;
  border-radius: 10px;

  font-size: 0.9rem;
  font-weight: 700;

  background: #f3f7ff;
  border: 1px solid #d8e6ff;
}

/* -----------------------------
   ACTIEKNOP (list)
   ----------------------------- */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-actions{
  padding: 0; /* geen extra witruimte onder */
  margin: 0;
}

/* -----------------------------
   Opschonen lege velden
   ----------------------------- */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.item-field.fulltext:empty{
  display: none;
}

/* =================================================
   LIST VIEW – single placeholder (links), geen dubbele
   + border-radius alleen links
   ================================================= */

/* 1) Zet eventueel eerdere list-placeholder (float/grid) definitief uit */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info.no-photo::before{
  /* we definiëren hieronder opnieuw; dit blok zorgt dat andere varianten niet "meeliften" */
  float: none !important;
  margin: 0 !important;
}

/* 2) Maak de card een positioning context */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info{
  position: relative;
}

/* 3) Eén enkele placeholder links (edge-to-edge) */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info.no-photo::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;                 /* loopt mee met card hoogte */
  width: 180px;              /* zelfde als je list-foto breedte */
  background: linear-gradient(135deg, #eef2f6, #f7f9fb);
  border-radius: 8px 0 0 8px; /* alleen links afgerond */
}

/* 4) Content naar rechts schuiven zodat placeholder niet "boven" de tekst komt */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info.no-photo .product-item-details,
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info.no-photo .product-item-actions{
  padding-left: calc(180px + 14px) !important; /* placeholder + gap */
}

/* 5) Als er wél een foto is: zorg dat die ook links staat en edge-to-edge blijft */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info.has-photo .item-field.field-profielfoto{
  width: 180px;
  aspect-ratio: 3 / 4;
  position: absolute;
  left: 0;
  top: 0;
  /* niet bottom:0, anders wordt de foto uitgerekt; hoogte komt uit aspect-ratio */
  border-radius: 8px 0 0 8px; /* alleen links afgerond */
  overflow: hidden;
  margin: 0;
}

/* schuif content ook bij has-photo naar rechts */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info.has-photo .product-item-details,
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-info.has-photo .product-item-actions{
  padding-left: calc(180px + 14px) !important;
}

/* 6) In list-view: zet je eerdere 2-koloms grid op details uit,
      anders concurreert het met deze "absolute left column" aanpak */
body.zoek-en-boek-een-gastles-alias
.ja-products-wrapper.products-list
.product-item-details{
  display: block !important;
}

