
/* =========================================================
   GymSupps – produktové karty, kompaktní a zarovnané
   NAHRAĎ celý předchozí soubor:
   gymsupps-product-cards-aligned.css

   Cíl:
   - žádné obří prázdné místo mezi názvem a cenou
   - název, cena, dostupnost a tlačítko ve stejné úrovni
   - karty zůstanou kompaktní
   - popis a kód produktu se zarovnají přirozeně
   ========================================================= */

/* ---------- základ karty ---------- */

.products-block .product,
.products-block .product > .p {
  height: auto !important;
  min-height: 0 !important;
}

.products-block .product > .p {
  display: block !important;
}

/* Textová část */
.products-block .p-in,
.products-block .p-in-in {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  flex: none !important;
}

/* ---------- hvězdičky ---------- */

.products-block .stars-wrapper {
  min-height: 28px !important;
  margin-bottom: 8px !important;
}

/* Pokud produkt hvězdičky nemá, rezervuje se stejná výška */
.products-block .stars {
  min-height: 24px !important;
}

/* ---------- název ---------- */

.products-block .p-in-in > a.name,
.products-block .p-in-in .name {
  display: -webkit-box !important;

  min-height: 52px !important;
  max-height: 52px !important;

  margin: 0 0 14px !important;
  overflow: hidden !important;

  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;

  color: #17171b !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

/* ---------- cenová část ---------- */

.products-block .p-bottom,
.products-block .p-bottom.no-buttons {
  display: block !important;

  min-height: 0 !important;
  height: auto !important;

  margin: 0 0 8px !important;
  padding: 0 !important;

  flex: none !important;
}

.products-block .p-bottom .price,
.products-block .price.price-final {
  min-height: 34px !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;
}

.products-block .price.price-final strong {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* měrná cena */
.products-block .price-measure {
  display: block !important;
  min-height: 22px !important;
  margin-top: 2px !important;
  color: #77777d !important;
}

/* ---------- dostupnost ---------- */

.products-block .availability,
.products-block .availability-value {
  display: flex !important;
  align-items: center !important;

  min-height: 30px !important;
  margin: 4px 0 10px !important;
}

/* ---------- tlačítko ---------- */

.products-block .p-tools {
  display: flex !important;
  align-items: center !important;

  min-height: 58px !important;
  height: auto !important;

  margin: 0 0 14px !important;
  padding: 0 !important;
}

.products-block .p-tools .btn,
.products-block .p-tools a.btn,
.products-block .p-tools button.btn,
.products-block .p-tools .add-to-cart-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 170px !important;
  min-width: 170px !important;
  height: 58px !important;
  min-height: 58px !important;

  margin: 0 !important;
  padding: 0 24px !important;

  color: #fff !important;
  -webkit-text-fill-color: #fff !important;

  background: #2e3030 !important;
  background-color: #2e3030 !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;

  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
}

.products-block .p-tools .btn:hover,
.products-block .p-tools a.btn:hover,
.products-block .p-tools button.btn:hover,
.products-block .p-tools .add-to-cart-button:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #171818 !important;
  background-color: #171818 !important;
}

/* ---------- popis ---------- */

.products-block .p-desc,
.products-block .p-description {
  display: -webkit-box !important;

  min-height: 68px !important;
  max-height: 68px !important;

  margin: 0 !important;
  overflow: hidden !important;

  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;

  color: #6f6f75 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* ---------- kód produktu ---------- */

.products-block .p-code,
.products-block [class*="product-code"] {
  margin: 10px 0 0 !important;
  padding: 0 !important;

  color: #6f6f75 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  text-align: right !important;
}

/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 992px) {

  /* Jednotná výška jen důležitých obsahových zón,
     ne celé karty */
  .products-block .p-in-in > a.name,
  .products-block .p-in-in .name {
    min-height: 52px !important;
    max-height: 52px !important;
  }

  .products-block .p-bottom,
  .products-block .p-bottom.no-buttons {
    min-height: 58px !important;
  }

  .products-block .availability,
  .products-block .availability-value {
    min-height: 30px !important;
  }

  .products-block .p-tools {
    min-height: 58px !important;
  }
}

/* =========================================================
   MOBIL
   ========================================================= */

@media (max-width: 767px) {

  .products-block .p-in-in > a.name,
  .products-block .p-in-in .name {
    min-height: 46px !important;
    max-height: 46px !important;
    margin-bottom: 10px !important;

    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  .products-block .price.price-final strong {
    font-size: 21px !important;
  }

  .products-block .p-tools {
    min-height: 50px !important;
    margin-bottom: 10px !important;
  }

  .products-block .p-tools .btn,
  .products-block .p-tools a.btn,
  .products-block .p-tools button.btn,
  .products-block .p-tools .add-to-cart-button {
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;

    border-radius: 12px !important;
    font-size: 14px !important;
  }

  .products-block .p-desc,
  .products-block .p-description {
    min-height: 60px !important;
    max-height: 60px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   GymSupps – menší tlačítka produktových karet na mobilu
   Doplňkový CSS blok – vložte na konec externího CSS
   ========================================================= */

@media (max-width: 767px) {

  .products-block .p-tools {
    min-height: 44px !important;
    margin-bottom: 10px !important;
  }

  .products-block .p-tools .btn,
  .products-block .p-tools a.btn,
  .products-block .p-tools button.btn,
  .products-block .p-tools .add-to-cart-button {
    width: auto !important;
    min-width: 132px !important;
    max-width: 100% !important;

    height: 44px !important;
    min-height: 44px !important;

    padding: 0 18px !important;

    border-radius: 11px !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }
}

/* Ještě užší telefony */
@media (max-width: 380px) {
  .products-block .p-tools .btn,
  .products-block .p-tools a.btn,
  .products-block .p-tools button.btn,
  .products-block .p-tools .add-to-cart-button {
    min-width: 120px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 15px !important;
    font-size: 13px !important;
  }
}
