
/* =========================================================
   GymSupps – moderní nákupní blok produktu
   FINÁLNÍ ČISTÁ VERZE V3
   Nahraďte celý předchozí CSS blok nákupního boxu tímto souborem.
   ========================================================= */

:root {
  --gs-buy-text: #24242b;
  --gs-buy-muted: #74747c;
  --gs-buy-line: #e5e5e8;
  --gs-buy-soft: #f6f6f7;
  --gs-buy-soft-2: #efeff1;
  --gs-buy-dark: #2e3030;
  --gs-buy-green: #389b84;
  --gs-buy-red: #d80b0b;
  --gs-buy-red-soft: #fff5f4;
  --gs-buy-red-line: #f0d2cf;
  --gs-buy-radius: 18px;
}

/* =========================
   SKLADOVOST
   ========================= */

.availability-label,
.availability-amount {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--gs-buy-text) !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
}

.availability-label {
  position: relative !important;
  padding-left: 28px !important;
  font-weight: 700 !important;
}

.availability-label::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 14px !important;
  height: 14px !important;
  background: var(--gs-buy-green) !important;
  border-radius: 50% !important;
  transform: translateY(-50%) !important;
}

.availability-amount {
  margin-left: 5px !important;
  color: var(--gs-buy-muted) !important;
  font-weight: 400 !important;
}

/* =========================
   DORUČENÍ
   ========================= */

.detail-parameters {
  width: 100% !important;
  margin: 12px 0 22px !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

.detail-parameters tbody,
.detail-parameters tr,
.detail-parameters th,
.detail-parameters td {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.detail-parameters .delivery-time-label,
.detail-parameters .delivery-time {
  display: none !important;
}

html body .detail-parameters a.shipping-options,
html body .detail-parameters a.shipping-options:link,
html body .detail-parameters a.shipping-options:visited,
html body .detail-parameters a.shipping-options:hover,
html body .detail-parameters a.shipping-options:focus,
html body .detail-parameters a.shipping-options:active {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 14px 8px 42px !important;
  color: var(--gs-buy-text) !important;
  -webkit-text-fill-color: var(--gs-buy-text) !important;
  background: var(--gs-buy-soft) !important;
  border: 1px solid var(--gs-buy-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

html body .detail-parameters a.shipping-options:hover {
  background: #ececee !important;
  border-color: #d6d6da !important;
}

html body .detail-parameters a.shipping-options,
html body .detail-parameters a.shipping-options * {
  color: var(--gs-buy-text) !important;
  -webkit-text-fill-color: var(--gs-buy-text) !important;
  fill: var(--gs-buy-text) !important;
  stroke: var(--gs-buy-text) !important;
}

html body .detail-parameters a.shipping-options::before {
  content: "??" !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  font-size: 19px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}

/* =========================
   AKCE 2+1 ZDARMA
   Stylujeme pouze hlavní .xyDiscount.
   Žádné :has() a žádné obecné [class*="xyDiscount"].
   ========================= */

.xyDiscount {
  position: relative !important;
  margin: 18px 0 24px !important;
  padding: 22px 24px 22px 78px !important;
  overflow: hidden !important;
  color: var(--gs-buy-text) !important;
  background: var(--gs-buy-red-soft) !important;
  border: 1px solid var(--gs-buy-red-line) !important;
  border-radius: var(--gs-buy-radius) !important;
  box-shadow: none !important;
}

/* Zrušení případné vnořené karty */
.xyDiscount > div,
.xyDiscount__content,
.xyDiscount__inner,
.xyDiscount__description {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.xyDiscount::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 5px !important;
  background: var(--gs-buy-red) !important;
}

/* Čistá CSS ikona dárku bez emoji */
.xyDiscount::before {
  content: "" !important;
  position: absolute !important;
  left: 22px !important;
  top: 22px !important;
  width: 38px !important;
  height: 38px !important;
  background-color: var(--gs-buy-red) !important;
  border-radius: 50% !important;
  background-image:
    linear-gradient(#fff, #fff),
    linear-gradient(#fff, #fff),
    linear-gradient(#fff, #fff),
    linear-gradient(#fff, #fff);
  background-size:
    18px 2px,
    2px 18px,
    14px 10px,
    18px 2px;
  background-position:
    center 14px,
    center 18px,
    center 20px,
    center 26px;
  background-repeat: no-repeat;
}

.xyDiscount h2,
.xyDiscount h3,
.xyDiscount h4,
.xyDiscount .xyDiscount__title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--gs-buy-red) !important;
  -webkit-text-fill-color: var(--gs-buy-red) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.xyDiscount__description {
  color: #66666d !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.xyDiscount__description p {
  margin: 0 !important;
  padding: 0 !important;
}

.xyDiscount__description strong {
  color: var(--gs-buy-text) !important;
  font-weight: 800 !important;
}

.xyDiscount__description p:empty,
.xyDiscount__description p:has(meta) {
  display: none !important;
}

/* =========================
   MNOŽSTEVNÍ SLEVY
   ========================= */

.quantity-discounts {
  margin: 18px 0 22px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--gs-buy-soft) !important;
  border: 1px solid var(--gs-buy-line) !important;
  border-radius: var(--gs-buy-radius) !important;
  box-shadow: none !important;
}

.quantity-discounts__headline {
  margin: 0 !important;
  padding: 17px 18px 14px !important;
  color: var(--gs-buy-text) !important;
  background: #fff !important;
  border-bottom: 1px solid var(--gs-buy-line) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.quantity-discounts__table {
  display: block !important;
  width: 100% !important;
}

.quantity-discounts__item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  color: var(--gs-buy-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gs-buy-line) !important;
  cursor: pointer !important;
}

.quantity-discounts__item:last-child {
  border-bottom: 0 !important;
}

.quantity-discounts__item:hover {
  background: #fff !important;
}

.quantity-discounts__item--highlighted {
  background: #fff !important;
  box-shadow: inset 0 0 0 2px var(--gs-buy-text) !important;
}

.quantity-discounts__title {
  color: var(--gs-buy-text) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

.quantity-discounts__price-wrapper {
  color: var(--gs-buy-muted) !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}

.quantity-discounts__price {
  color: var(--gs-buy-text) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.quantity-discounts__save {
  padding: 12px 18px !important;
  color: var(--gs-buy-muted) !important;
  background: var(--gs-buy-soft-2) !important;
  border-top: 1px solid var(--gs-buy-line) !important;
  font-size: 14px !important;
  text-align: right !important;
}

.quantity-discounts__saved-amount {
  color: var(--gs-buy-text) !important;
  font-weight: 800 !important;
}

/* =========================
   NÁKUPNÍ ŘÁDEK
   ========================= */

.add-to-cart {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 118px minmax(220px, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 18px 0 22px !important;
}

.add-to-cart > label {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.add-to-cart .amount {
  width: 100% !important;
  height: 62px !important;
  margin: 0 !important;
  padding: 0 42px 0 16px !important;
  color: var(--gs-buy-text) !important;
  background: #fff !important;
  border: 1px solid var(--gs-buy-line) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-align: center !important;
  appearance: textfield !important;
}

.add-to-cart .amount::-webkit-outer-spin-button,
.add-to-cart .amount::-webkit-inner-spin-button {
  margin: 0 !important;
  appearance: none !important;
}

.add-to-cart .increase,
.add-to-cart .decrease {
  position: absolute !important;
  right: 0 !important;
  z-index: 2 !important;
  width: 38px !important;
  height: 31px !important;
  padding: 0 !important;
  color: var(--gs-buy-text) !important;
  background: var(--gs-buy-soft) !important;
  border: 0 !important;
  border-left: 1px solid var(--gs-buy-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.add-to-cart .increase {
  top: 0 !important;
  border-bottom: 1px solid var(--gs-buy-line) !important;
  border-top-right-radius: 14px !important;
}

.add-to-cart .decrease {
  top: 31px !important;
  border-bottom-right-radius: 14px !important;
}

.add-to-cart-button {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 14px 24px !important;
  color: #fff !important;
  background: var(--gs-buy-dark) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.add-to-cart-button:hover,
.add-to-cart-button:focus {
  color: #fff !important;
  background: #171818 !important;
}

.add-to-cart-button::before {
  margin-right: 10px !important;
}

.decrease-tooltip {
  position: absolute !important;
}

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

@media (max-width: 767px) {
  .availability-label,
  .availability-amount {
    font-size: 15px !important;
  }

  .availability-label {
    padding-left: 24px !important;
  }

  .availability-label::before {
    width: 12px !important;
    height: 12px !important;
  }

  .detail-parameters {
    margin: 10px 0 18px !important;
  }

  html body .detail-parameters a.shipping-options,
  html body .detail-parameters a.shipping-options:link,
  html body .detail-parameters a.shipping-options:visited {
    min-height: 36px !important;
    padding: 7px 12px 7px 38px !important;
    border-radius: 11px !important;
    font-size: 14px !important;
  }

  html body .detail-parameters a.shipping-options::before {
    left: 10px !important;
    font-size: 18px !important;
  }

  .xyDiscount {
    margin: 16px 0 20px !important;
    padding: 18px 16px 18px 60px !important;
    border-radius: 16px !important;
  }

  .xyDiscount::before {
    left: 15px !important;
    top: 17px !important;
    width: 32px !important;
    height: 32px !important;
    background-size:
      15px 2px,
      2px 15px,
      12px 8px,
      15px 2px;
    background-position:
      center 11px,
      center 15px,
      center 17px,
      center 23px;
  }

  .xyDiscount h2,
  .xyDiscount h3,
  .xyDiscount h4,
  .xyDiscount .xyDiscount__title {
    margin-bottom: 6px !important;
    font-size: 18px !important;
  }

  .xyDiscount__description {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .quantity-discounts {
    margin: 16px 0 18px !important;
    border-radius: 16px !important;
  }

  .quantity-discounts__headline {
    padding: 15px 16px 13px !important;
    font-size: 16px !important;
  }

  .quantity-discounts__item {
    gap: 10px !important;
    min-height: 58px !important;
    padding: 13px 15px !important;
  }

  .quantity-discounts__title {
    font-size: 14px !important;
  }

  .quantity-discounts__price {
    font-size: 15px !important;
  }

  .quantity-discounts__price-wrapper {
    font-size: 13px !important;
  }

  .quantity-discounts__save {
    padding: 11px 15px !important;
    font-size: 13px !important;
  }

  .add-to-cart {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  .add-to-cart .amount,
  .add-to-cart-button {
    min-height: 58px !important;
    height: 58px !important;
    border-radius: 13px !important;
  }

  .add-to-cart .amount {
    padding-left: 10px !important;
    padding-right: 36px !important;
    font-size: 16px !important;
  }

  .add-to-cart .increase,
  .add-to-cart .decrease {
    width: 34px !important;
    height: 29px !important;
  }

  .add-to-cart .decrease {
    top: 29px !important;
  }

  .add-to-cart-button {
    padding: 12px 14px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 380px) {
  .add-to-cart {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }

  .add-to-cart-button {
    font-size: 15px !important;
  }
}
