/**
Theme Name: I-match
Author: I-match child theme
Author URI: https://i-match.nl
Description: I-match child theme 2024
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: i-match
Template: astra
*/




/**
REFERENTIES HOMEPAGE 
*/
.referentie-swiper {
  width: 100%;
  overflow: hidden; 
  padding: 25px 0 20px 0; /* Extra ruimte onderaan voor het uitstekende naamblokje */
}

.referentie-card {
  background: #951b80;
  padding: 20px;
  border-radius: 8px;
  width: 100%;
  height: 250px; /* Iets aangepast omdat de naam nu lager staat */
  display: flex;
  flex-direction: column;
  position: relative;
  box-sizing: border-box;
}

/* Zorg dat alle teksten netjes boven eventuele achtergrondelementen liggen */
.referentie-tekst, .lees-meer, .referentie-naam {
  position: relative;
  z-index: 3;
}

/* Tekst styling */
.referentie-tekst {
  font-style: italic;
  margin-bottom: 8px;
  color: #ffffff;
  display: -webkit-box;
  -webkit-line-clamp: 4; 
  -webkit-box-orient: vertical;  
  overflow: hidden;
  text-overflow: ellipsis;
}

.lees-meer {
  display: inline-block;
  font-weight: bold;
  text-decoration: none!important;
  font-size: 0.9em;
  margin-bottom: 16px;
  color: #ffffff;
}

/* Nieuw naamblokje: schaalt mee met de naam, heeft padding en hangt halverwege buiten het vlak */
.referentie-naam {
  position: absolute;
  bottom: -15px;              /* Hangt hiermee halverwege (de helft van de totale hoogte) buiten de card */
  left: 20px;                 /* Uitlijning vanaf de linkerkant van de card */
  background: #1d1d1b;        /* Iets donkerdere tint paars voor contrast, of verander naar #951b80 */
  color: #ffffff;
  font-weight: 600;
  font-size: 0.95em;
  padding: 6px 14px;          /* Padding rondom de naam */
  border-radius: 4px;         /* Subtiele afronding van het blokje */
  width: fit-content;         /* Blokje wordt exact zo groot als de naam */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); /* Geeft diepte omdat het blokje 'zweeft' */
  white-space: nowrap;        /* Zorgt dat de naam altijd op één regel blijft */
}
/* ==========================================================================
   REFERENTIES SPECIFIEK VOOR MOBIEL (Schermen kleiner dan 768px)
   ========================================================================== */
@media screen and (max-width: 767px) {
  .referentie-swiper {
    /* Iets meer padding onderaan zodat het verplaatste naamblokje niet wordt afgesneden door de swiper overflow */
    padding-bottom: 35px; 
  }

  .referentie-card {
    /* Haal de vaste hoogte weg zodat de kaart meeschaalt als de tekst lang is */
    height: auto; 
    min-height: 220px;
    /* Extra padding aan de onderkant zodat de tekst nooit over het zwarte blokje heen valt */
    padding-bottom: 35px; 
  }

  .referentie-tekst {
    /* Toon op mobiel maximaal 3 regels in plaats van 4, dat voorkomt enorme kaarten */
    -webkit-line-clamp: 3; 
    margin-bottom: 4px;
  }

  .lees-meer {
    margin-bottom: 20px;
  }

  .referentie-naam {
    /* Voorkom dat een lange naam rechts uit beeld kan lopen */
    max-width: calc(100% - 40px); 
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    
    /* Optioneel: Als het zwarte vlakje op héél smalle telefoons nog steeds knelt, 
       kun je 'left: 20px;' hieronder vervangen door 'left: 15px;' */
    left: 20px; 
  }
}



/**
SPONSERS HOMEPAGE 
*/
.sponsor-swiper {
  width: 100%;
  margin: 0 auto;
}

.sponsor-swiper .swiper-slide {
  text-align: center;
}

.sponsor-swiper img {
  max-width: 100%;
  max-height: 50px; /* Afhankelijk van je ontwerp */
  object-fit: contain;
}






/**
 * SWIPER CONTAINER
 */
.bm-opleidingen-swiper {
  width: 100%;
  padding: 10px 0 30px;
  overflow: hidden;
}

.bm-opleidingen-swiper .swiper-wrapper {
  align-items: stretch;
}

.bm-opleidingen-swiper .swiper-slide {
  height: auto;
  display: flex;
}

/**
 * CARD
 */
.bm-card {
  width: 100%;
  min-height: 245px;

  background: #fff;
  border-radius: 8px;

  text-decoration: none;
  color: #1d1d1b;

  display: flex;
  flex-direction: column;

  position: relative;
  overflow: hidden;

  border-bottom: 4px solid transparent;

  box-shadow: 0 8px 22px rgba(0,0,0,.06);

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.bm-card:hover {
  transform: translateY(-5px);
  border-bottom-color: #1d1d1b;
  box-shadow: 0 14px 32px rgba(0,0,0,.11);
}

/**
 * CONTENT
 */
.bm-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 28px;
}

/**
 * ICON
 */
.bm-card__icon-wrap {
  margin-bottom: 20px;
  color: #1d1d1b;
  transition: color .25s ease;
}

.bm-card:hover .bm-card__icon-wrap {
  color: #1d1d1b;
}

.bm-card__icon {
  width: 34px;
  height: 34px;
  stroke: currentColor;
}

/**
 * CATEGORY
 */
.bm-card__category {
  display: block;

  margin-bottom: 8px;

  color: #666;
  font-size: 13px;
  font-weight: 800;

  text-transform: uppercase;
  letter-spacing: .5px;
}

/**
 * TITLE
 */
.bm-card__title {
  margin: 0;

  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;

  color: #1d1d1b;
}

/**
 * FOOTER
 */
.bm-card__footer {
  margin-top: auto;

  padding-top: 20px;

  border-top: 1px solid #eee;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.bm-card__level {
  font-size: 15px;
  color: #666;
}

/**
 * ARROW BUTTON
 */
.bm-card__arrow {
  width: 34px;
  height: 34px;

  border-radius: 50%;

  background: #1d1d1b;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 18px;
  font-weight: 700;

  transition: transform .25s ease;
}

.bm-card:hover .bm-card__arrow {
  transform: translateX(4px);
}

/**
 * MOBILE
 */
@media (max-width: 768px) {

  .bm-card {
    min-height: 220px;
  }

  .bm-card__content {
    padding: 24px;
  }

  .bm-card__title {
    font-size: 20px;
  }
}