/* =====================================================
   WGO Productkaarten
   Witgoedonderdeel.com - Proxima

   Mobiel: compacte horizontale categoriekaarten
   Tablet: oorspronkelijke Proxima-opmaak
   Desktop: 4 producten naast elkaar

   Data 05: | wordt nieuwe regel zonder bolletjes
   Data 05: volledige tekst zichtbaar
   Prijs: onder de volledige Data 05
   Inclusief WebwinkelKeur-productreviews
   ===================================================== */


/* =====================================================
   MOBIEL - maximaal 575px
   Horizontale categorieproductkaarten
   ===================================================== */

@media (max-width: 575.98px) {

  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 7px !important;
    padding-right: 7px !important;
    margin-top: 10px !important;
  }

  /* Horizontale productkaart */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    min-width: 0;
    min-height: 0;
    height: auto !important;
    overflow: visible;
  }

  /* Afbeelding links */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-grid-img-holder {
    flex: 0 0 31%;
    width: 31%;
    max-width: 135px;
    height: auto;
    min-height: 0;
    margin: 8px 0 !important;
    align-self: flex-start;
  }

  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-grid-img {
    display: block;
    width: 104.5% !important;
    max-width: none !important;
    height: auto !important;
    max-height: 190px;
    object-fit: contain;
    transform: translateX(-2.25%);
  }

  /* Productinformatie rechts */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block-sub {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    height: auto !important;
    padding: 10px 5px 18px 3px !important;
    overflow: visible;
  }

  /* Producttitel */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block-title {
    display: block;
    margin-top: 0 !important;
    font-size: 15px;
    line-height: 1.35;
    height: auto;
    min-height: 0;
    overflow-wrap: anywhere;
  }

  /* Prijs */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block-price {
    margin-top: 12px !important;
    font-size: 17px;
    line-height: 1.3;
  }

  /* Voorraadstatus */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-col-stock,
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-col-delivery {
    line-height: 1.3;
  }

  /* Uitverkocht */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-col-stock .out-of-stock,
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-col-delivery.out-of-stock,
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-col-delivery .out-of-stock {
    font-weight: 600;
  }

  /* Bestelgedeelte */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block-footer {
    margin-top: 10px !important;
    min-width: 0;
    width: 100%;
    justify-content: flex-start !important;
  }

  /* Aantalveld en bestelknop */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-block-footer .quick-order {
    flex-grow: 0 !important;
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    gap: 5px;
    min-width: 0;
  }

  /* Groene winkelwagenknop */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .quick-order-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto !important;
    min-width: 108px;
    height: 40px;
    padding: 0 10px !important;
    white-space: nowrap;
    flex-shrink: 0;
  }

  /* Winkelwagenicoon */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .quick-order-button i {
    font-size: 19px;
    line-height: 1;
  }

  /* Toevoegen */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .wgo-cart-label {
    display: inline;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
  }

  /* Bekijk product */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .wgo-view-product-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 110px;
    height: 40px;
    margin-left: 50px !important;
    padding: 0 10px !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
  }
}


/* =====================================================
   DESKTOP - 4 PRODUCTEN NAAST ELKAAR
   Alleen categorieproductkaarten
   ===================================================== */

@media (min-width: 992px) {

  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) {
    flex: 0 0 25% !important;
    width: 25% !important;
    max-width: 25% !important;
  }

}


/* =====================================================
   PRODUCTKAART - HOOGTE EN FLEX

   Voorkomt dat Data 05 wordt samengedrukt.
   ===================================================== */

/* Productkaart */
#collection .collection-products-row.product-grid
> .product-col:not(.product-list) .product-block {
  min-width: 0;
  min-height: 0;
}

/* Tekstgedeelte */
#collection .collection-products-row.product-grid
> .product-col:not(.product-list) .product-block-sub {
  min-width: 0;
  min-height: 0;
}

/* Directe kinderen mogen niet worden samengedrukt */
#collection .collection-products-row.product-grid
> .product-col:not(.product-list)
.product-block-sub > .product-block-title,

#collection .collection-products-row.product-grid
> .product-col:not(.product-list)
.product-block-sub > .wgo-wwk-reviews,

#collection .collection-products-row.product-grid
> .product-col:not(.product-list)
.product-block-sub > .product-block-desc,

#collection .collection-products-row.product-grid
> .product-col:not(.product-list)
.product-block-sub > .product-block-price,

#collection .collection-products-row.product-grid
> .product-col:not(.product-list)
.product-block-sub > .product-block-footer {
  flex-shrink: 0;
}

/* =====================================================
   BELANGRIJKE FIX - PROXIMA MT-AUTO

   Proxima gebruikt een automatische ruimteverdeler
   tussen de productomschrijving en de prijs.

   Deze veroorzaakte de grote witte ruimte.

   Alleen uitschakelen op categorieproductkaarten.
   ===================================================== */

#collection .collection-products-row.product-grid
> .product-col:not(.product-list)
.product-block-sub > .mt-auto {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   DATA 05 - NIEUWE REGEL BIJ |

   Met |    = ieder tekstdeel op een eigen regel
   Zonder | = gewone doorlopende tekst

   Geen bolletjes
   Geen maximale hoogte
   Geen afkapping
   ===================================================== */

#collection .collection-products-row.product-grid
> .product-col:not(.product-list)
.product-block-desc.wgo-data05-holder {
  display: block !important;

  width: 100%;
  min-width: 0;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 6px 0 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: initial !important;

  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;

  color: #606975 !important;

  text-align: left;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

/* Iedere | wordt een nieuwe regel */
#collection .wgo-data05-holder .wgo-data05-line {
  display: block !important;

  width: 100%;
  height: auto !important;
  min-height: 0;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  font: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: 400;

  color: inherit;

  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;

  overflow: visible !important;
}

/* Geen ruimte na laatste regel */
#collection .wgo-data05-holder
.wgo-data05-line:last-child {
  margin-bottom: 0 !important;
}

/* Eventuele oude lijstweergave neutraliseren */
#collection .wgo-data05-holder .wgo-data05-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#collection .wgo-data05-holder .wgo-data05-list li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#collection .wgo-data05-holder
.wgo-data05-list li::before {
  content: none !important;
}

#collection .wgo-data05-holder
.wgo-data05-list li::marker {
  content: none !important;
}


/* =====================================================
   DATA 05 - MOBIEL
   ===================================================== */

@media (max-width: 575.98px) {

  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-block-desc.wgo-data05-holder {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 5px !important;
  }

  #collection .wgo-data05-holder .wgo-data05-line {
    font-size: inherit;
    line-height: inherit;
  }

}


/* =====================================================
   PRODUCTEN ZONDER DATA 05
   Bestaande korte productomschrijving
   ===================================================== */

#collection .collection-products-row.product-grid
> .product-col:not(.product-list)
.product-block-desc:not(.wgo-data05-holder) {
  display: block;

  margin-top: 6px;
  padding: 0;

  height: auto;
  min-height: 0;

  font-size: 12px;
  line-height: 1.45;

  color: #606975;

  white-space: normal;
  overflow-wrap: break-word;
}


/* =====================================================
   PRIJS - DIRECT ONDER VOLLEDIGE DATA 05

   Geen grote automatische witruimte.
   Wel voldoende afstand voor leesbaarheid.
   ===================================================== */

#collection .collection-products-row.product-grid
> .product-col:not(.product-list) .product-block-price {
  position: relative;

  height: auto;
  min-height: 0;

  margin-top: 10px !important;
  margin-bottom: 0;

  flex-shrink: 0;
}

/* Mobiel */
@media (max-width: 575.98px) {

  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block-price {
    margin-top: 12px !important;
  }

}


/* =====================================================
   VOORRAAD EN BESTELGEDEELTE

   Deze blijven onder de prijs staan.
   ===================================================== */

#collection .collection-products-row.product-grid
> .product-col:not(.product-list) .product-block-footer {
  flex-shrink: 0;
  min-width: 0;
}

/* Zorg voor voldoende ruimte onderin de kaart */
#collection .collection-products-row.product-grid
> .product-col:not(.product-list) .product-block-sub {
  padding-bottom: 15px;
}

/* Mobiel iets meer ruimte onderaan */
@media (max-width: 575.98px) {

  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block-sub {
    padding-bottom: 18px !important;
  }

}


/* =====================================================
   WEBWINKELKEUR - PRODUCTREVIEWS
   ===================================================== */

#collection .wgo-wwk-reviews {
  display: flex;
  align-items: center;
  gap: 5px;

  min-height: 19px;

  margin-top: 4px;
  margin-bottom: 3px;

  line-height: 1;
}

/* Sterren */
#collection .wgo-wwk-stars {
  position: relative;
  display: inline-block;

  font-size: 16px;
  line-height: 1;

  white-space: nowrap;
  flex-shrink: 0;
}

/* Grijze achtergrondsterren */
#collection .wgo-wwk-stars-empty {
  color: #d1d5db;
}

/* Gele sterren */
#collection .wgo-wwk-stars-filled {
  position: absolute;
  top: 0;
  left: 0;

  overflow: hidden;

  color: #ffc400ff;
  white-space: nowrap;
}

/* Aantal reviews */
#collection .wgo-wwk-count {
  position: relative;
  top: 1px;

  color: #337ab7;

  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;

  white-space: nowrap;
}

/* Lege reviewblokken verbergen */
#collection .wgo-wwk-reviews:empty {
  display: none !important;

  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   WEBWINKELKEUR - DESKTOP
   ===================================================== */

@media (min-width: 992px) {

  #collection .wgo-wwk-stars {
    font-size: 18px;
  }

  #collection .wgo-wwk-count {
    top: 1px;
  }

}


/* =====================================================
   WGO - GELIJKE ONDERZIJDE PRODUCTKAARTEN
   Desktop vanaf 992px

   - Prijzen op gelijke hoogte
   - Winkelwagenknoppen op gelijke hoogte
   - Data 05 volledig zichtbaar
   - Geen vaste teksthoogte
   - Alleen categoriepagina's
   ===================================================== */

@media (min-width: 992px) {

  /* Productkolommen laten meegroeien */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
  }

  /* De volledige productkaart vult de kolom */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  /* Productinformatie neemt beschikbare hoogte in */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list) .product-block-sub {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Oude Proxima-spacer uitschakelen */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-block-sub > .mt-auto {
    display: none !important;
  }

  /* Data 05 volledig weergeven */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-block-desc.wgo-data05-holder {
    display: block !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  /* BELANGRIJK: prijs naar onderkant duwen */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-block-price {
    margin-top: auto !important;
    padding-top: 14px !important;
    flex-shrink: 0 !important;
  }

  /* Bestelgedeelte direct onder de prijs */
  #collection .collection-products-row.product-grid
  > .product-col:not(.product-list)
  .product-block-footer {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
  }

}