/* =========================
   Quantity discounts – FINAL + animations + recommend badge
   Accent: #43cdff
   ========================= */

.quantity-discounts{
  --accent: #43cdff;
  --accent-soft: rgba(67,205,255,.14);
  --accent-border: rgba(67,205,255,.45);

  --radius-card: 16px;
  --radius-badge: 12px;

  margin-top: 14px;
  padding: 12px;
  border-radius: var(--radius-card);
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}

.quantity-discounts__headline{
  font-weight: 900;
  font-size: 15px;
  margin: 0 0 10px;
}

/* stack cards */
.quantity-discounts__table{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* one card */
.quantity-discounts__item{
  position: relative;

  /* force same rounding everywhere */
  border-radius: var(--radius-card) !important;

  border: 2px solid rgba(0,0,0,.12);
  background: #fff;
  padding: 16px 16px 16px 56px;
  min-height: 78px;

  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;

  cursor: pointer;

  /* smooth feel */
  transition: transform .16s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
  will-change: transform;
}

/* hover */
.quantity-discounts__item:hover{
  border-color: rgba(0,0,0,.25);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

/* RADIO – default empty */
.quantity-discounts__item::before{
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 3px solid var(--accent-border);
  background: #fff;
  transition: box-shadow .18s ease, border-color .18s ease;
}

/* ✅ SELECTED STATE – Shoptet uses this */
.quantity-discounts__item--highlighted{
  border-color: var(--accent);
  border-width: 4px;
  background: var(--accent-soft);
  box-shadow: 0 14px 34px rgba(67,205,255,.22);

  /* micro "pop" when selected */
  transform: scale(1.01);
}

/* ✅ SELECTED RADIO DOT */
.quantity-discounts__item--highlighted::before{
  border-color: var(--accent);
  box-shadow: inset 0 0 0 5px var(--accent);
}

/* left text */
.quantity-discounts__title{
  font-weight: 900;
  font-size: 18px;
  line-height: 1.1;
}

/* right price */
.quantity-discounts__price-wrapper{
  text-align: right;
  font-size: 13px;
  color: rgba(0,0,0,.55);
}

.quantity-discounts__price{
  font-size: 26px;
  font-weight: 1000;
  color: rgba(0,0,0,.88);
  transition: transform .18s ease, opacity .18s ease;
}

/* subtle price emphasis on selected */
.quantity-discounts__item--highlighted .quantity-discounts__price{
  transform: translateY(-1px);
}

/* ===== BADGES (fixed positions, same rounding) ===== */

.quantity-discounts__item[data-amount="1"]::after,
.quantity-discounts__item[data-amount="2"]::after,
.quantity-discounts__item[data-amount="3"]::after{
  position: absolute;
  right: 16px;
  top: -12px;
  font-size: 12px;
  font-weight: 900;
  padding: 8px 12px;
  border-radius: var(--radius-badge) !important;
  color: #fff;
  letter-spacing: .2px;
  white-space: nowrap;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);

  /* tiny fade-in (looks nice on load) */
  animation: qdBadgeIn .22s ease-out both;
}

@keyframes qdBadgeIn{
  from{ opacity: 0; transform: translateY(4px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* 1 ks */
.quantity-discounts__item[data-amount="1"]::after{
  content: "BĚŽNÁ CENA";
  background: rgba(0,0,0,.65);
}

/* 2 ks */
.quantity-discounts__item[data-amount="2"]::after{
  content: "DOPORUČUJEME";
  background: rgba(67,205,255,.95);
}

/* 3+ */
.quantity-discounts__item[data-amount="3"]::after{
  content: "🏆 NEJVÝHODNĚJŠÍ";
  background: var(--accent);
}

/* space for badge */
.quantity-discounts__item[data-amount="1"] .quantity-discounts__title,
.quantity-discounts__item[data-amount="2"] .quantity-discounts__title,
.quantity-discounts__item[data-amount="3"] .quantity-discounts__title{
  padding-right: 175px;
}

/* save row */
.quantity-discounts__save{
  margin-top: 12px;
  padding: 12px 14px;
  margin-right: 0 ;
  margin-left: 0 ;
  border-radius: var(--radius-card);
  background: var(--accent-soft);
  border: 1px solid var(--accent-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;

  transition: background-color .18s ease, border-color .18s ease;
}

.quantity-discounts__saved-amount{
  background: var(--accent);
  color: #fff;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
}

/* Motion reduced accessibility */
@media (prefers-reduced-motion: reduce){
  .quantity-discounts__item,
  .quantity-discounts__item::before,
  .quantity-discounts__price,
  .quantity-discounts__item[data-amount]::after{
    transition: none !important;
    animation: none !important;
  }
}

/* mobile */
@media (max-width: 740px){
  .quantity-discounts__item{
    grid-template-columns: 1fr;
    padding-right: 16px;
  }

  .quantity-discounts__item[data-amount="1"] .quantity-discounts__title,
  .quantity-discounts__item[data-amount="2"] .quantity-discounts__title,
  .quantity-discounts__item[data-amount="3"] .quantity-discounts__title{
    padding-right: 0;
  }
}


body:has(.quantity-discounts) .price-final {
  display: none !important;
}

.quantity-discounts__item--highlighted .quantity-discounts__price {
  font-size: 28px;
  font-weight: 1000;
  color: #000;
}

 /* =========================
   XY Discount banner – CENTERED FIX
   ========================= */

.xyDiscount__banner{
  --xy-discount-banner-color: #43cdff !important;

  display: flex;
  align-items: center;                 /* 🔑 KLÍČ: vertikální centrování */
  gap: 12px;

  border-radius: 16px;
  border: 1px solid rgba(67,205,255,.35);
  background: rgba(67,205,255,.08);

  padding: 12px 14px;
  margin: 10px 0 12px;
  box-sizing: border-box;
}

/* Ikona */
.xyDiscount__icon{
  flex: 0 0 34px;
  width: 34px;
  height: 34px;

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

  background: #43cdff;
  color: #fff;
  border-radius: 999px;

  font-size: 16px;
}

/* Textový blok */
.xyDiscount__content{
  display: flex;
  flex-direction: column;
  justify-content: center;             /* 🔑 centrování textu vůči ikoně */
  gap: 2px;
}

/* Nadpis */
.xyDiscount__title{
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  margin: 0;
  color: rgba(0,0,0,.92);
}

/* Popis */
.xyDiscount__description{
  margin: 0;
}

.xyDiscount__description p{
  margin: 0;
}

/* Přepíše inline styly z doplňku */
.xyDiscount__description span,
.xyDiscount__description strong{
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: rgba(0,0,0,.75) !important;
  background: none !important;
  padding: 0 !important;
}
