/* Katalog má vlastní font */
.bp-v2{
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Fullscreen katalog */
.bp-v2 .bp-catalog{
  padding: 18px 12px 40px;
}

/* grid přes celou šířku */
.bp-v2 .bp-catalog__grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}

/* desktop breakpoints */
@media (max-width: 1200px){
  .bp-v2 .bp-catalog__grid{ grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 992px){
  .bp-v2 .bp-catalog__grid{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px){
  .bp-v2 .bp-catalog__grid{ grid-template-columns: repeat(3, 1fr); }
}

/* ✅ mobil: 2 vedle sebe */
@media (max-width: 520px){
  .bp-v2 .bp-catalog{
    padding-left: 10px;
    padding-right: 10px;
  }
  .bp-v2 .bp-catalog__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

.bp-v2 .bp-catHead{
  padding: 24px 16px 10px;
}

/* karta */
.bp-v2 .bp-card{
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow: hidden;
  min-width: 0;
}

/* obrázek */
.bp-v2 .bp-card__media{
  display: block;
  background: #f6f7f8;
  aspect-ratio: 4 / 5;     /* drží výšku konzistentně */
  overflow: hidden;
}
.bp-v2 .bp-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform .25s ease;
}
@media (hover:hover){
  .bp-v2 .bp-card:hover .bp-card__media img{ transform: scale(1.03); }
}

/* tělo */
.bp-v2 .bp-card__body{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 12px 12px;
}

/* název (2 řádky max) */
.bp-v2 .bp-card__title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;

  text-decoration: none;
  color: #111;
  font-weight: 700;
  line-height: 1.15;
  font-size: 15px;
}
@media (max-width: 520px){
  .bp-v2 .bp-card__title{ font-size: 14px; }
}

/* ceny */
.bp-v2 .bp-card__prices{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bp-v2 .bp-card__price{
  font-size: 18px;
  font-weight: 800;
  line-height: 1.05;
  color: #111;
}

.bp-v2 .bp-card__priceNew{
  font-size: 18px;
  font-weight: 800;
  line-height: 1.05;
  color: #E82291;
}

.bp-v2 .bp-card__unit{
  font-size: 12.5px;
  color: rgba(0,0,0,.62);
}

/* řádek pro ceny (old + new vedle sebe) */
.bp-v2 .bp-card__priceRow{
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

/* původní cena (přeškrtnutá) */
.bp-v2 .bp-card__priceOld{
  font-size: 14px;
  font-weight: 700;
  color: #bbb;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: #bbb;
}

/* aktuální cena – když je sale, ať je výraznější */
.bp-v2 .bp-card__prices--sale .bp-card__price{
  font-weight: 900;
}

/* na mobilu trochu kompaktnější */
@media (max-width: 520px){
  .bp-v2 .bp-card__priceOld{ font-size: 13px; }
  .bp-v2 .bp-card__priceRow{ gap: 8px; }
}

/* CTA */
.bp-v2 .bp-card__cta{
  margin-top: 2px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 700;

  background: #2f7d32;
  color: #fff;
}
.bp-v2 .bp-card__cta:hover{ filter: brightness(.96); }

/* na mobilu ať je CTA kompaktnější */
@media (max-width: 520px){
  .bp-v2 .bp-card__cta{ height: 38px; border-radius: 12px; }
}

/* Akce v kartě: vpravo dole */
.bp-v2 .bp-card__actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
/* Ikonové tlačítko */
.bp-v2 .bp-ico{
  flex: 0 0 auto;     /* ❗ nesmí se zmenšovat */
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  text-decoration: none;
  border: 1px solid rgba(0,0,0,.12);
  background: #f3f4f6;            /* hezká šedá */
  color: rgba(0,0,0,.70);
  transition: transform .12s ease, filter .12s ease, background .12s ease;
}

.bp-v2 .bp-ico i{
  font-size: 16px;
  line-height: 1;
}

/* hover jen na desktopu */
@media (hover:hover){
  .bp-v2 .bp-ico:hover{
    filter: brightness(.97);
    transform: translateY(-1px);
  }
}

/* "buy" může být o chlup výraznější, ale stále šedé */
.bp-v2 .bp-ico--buy{
  background: #2f7d32;        /* zelená */
  border-color: #2f7d32;
  color: #fff;
}

@media (hover:hover){
  .bp-v2 .bp-ico--buy:hover{
    filter: brightness(1.05);
  }
}

/* quick view jako šedá ikonka */
.bp-v2 .bp-ico--qv{
  background: #f3f4f6;
  border-color: rgba(0,0,0,.12);
  color: rgba(0,0,0,.70);
}

/* košík zelený (už máš) */
.bp-v2 .bp-ico--buy{
  background: #2f7d32;
  border-color: #2f7d32;
  color: #fff;
}

/* mobil kompaktně */
@media (max-width: 520px){
  .bp-v2 .bp-ico{ width: 38px; height: 38px; }
  .bp-v2 .bp-ico i{ font-size: 15px; }
}



/* Přepínání: default košík vidět, stepper skrytý */
/*.bp-v2 .bp-stepper{ display: none; }
.bp-v2 .bp-buySolo{ display: inline-flex; }*/

/* Když je produkt v košíku */
/*.bp-v2 .bp-card.is-in-cart .bp-buySolo{ display: none; }
.bp-v2 .bp-card.is-in-cart .bp-stepper{ display: inline-flex; }*/

/* Stepper layout (tři kolečka vedle sebe) */
.bp-v2 .bp-stepper{
  align-items: center;
  gap: 10px;
}

/* Tlačítka stepperu = kolečka */
.bp-v2 .bp-stepper__btn{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  line-height: 1;
  padding: 0;
}

.bp-v2 .bp-stepper__btn i{
  font-size: 16px;
}

/* Minus = světle zelené */
.bp-v2 .bp-stepper__btn--minus{
  background: #E7F6EA;              /* světle zelená */
  border-color: rgba(47,125,50,.20);
  color: #2f7d32;
}

/* Plus = primární zelená */
.bp-v2 .bp-stepper__btn--plus{
  background: #2f7d32;
  border-color: #2f7d32;
  color: #fff;
}

/* Počet kusů jako "badge" mezi nimi */
.bp-v2 .bp-stepper__qty{
  min-width: 1px;
  text-align: center;
  font-weight: 900;
  font-size: 12px;
  color: rgba(0,0,0,.75);
}

/* Mobil kompaktně */
@media (max-width: 520px){
  .bp-v2 .bp-stepper{ gap: 8px; }
  .bp-v2 .bp-stepper__btn{ width: 40px; height: 40px; }
  .bp-v2 .bp-stepper__btn i{ font-size: 15px; }
  .bp-v2 .bp-stepper__qty{ font-size: 13px; }
}

.bp-v2 .bp-stepper__btn--plus.has-qty{
  position: relative;
}

.bp-v2 .bp-stepper__btn--plus.has-qty::after{
  content: attr(data-qty);
  position: absolute;
  top: -6px;
  right: -6px;

  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;

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

  background: #111;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}


/* Katalog roztáhnout mimo Bootstrap .container */
.bp-v2{
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* vnitřní odsazení od krajů */
.bp-v2 .bp-catalog{
  padding-left: 16px;
  padding-right: 16px;
}

/* pro jistotu proti horizontálnímu scrollu */
.shop-page-container{
  overflow-x: clip;
}


/* FIX: stepper je v DOM, ale schovávali jsme ho – vynutíme zobrazení */
.bp-v2 .bp-card__actions > .bp-stepper{
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

/* Košík (solo) nech klidně tak, jak je – když není v košíku, existuje.
   Když je v košíku, systém ho pravděpodobně odstraní, takže se nebude prát. */
.bp-v2 .bp-buySolo{
  display: inline-flex;
  flex: 0 0 auto;
}


/* Tělo karty jako flex sloupec a ať se natahuje */
.bp-v2 .bp-card{
  height: 100%;
}

.bp-v2 .bp-card__body{
  display: flex;
  flex-direction: column;
  height: auto;
}

/* Název max 2 řádky (už máš), ale hlavně drží konzistentní prostor */
.bp-v2 .bp-card__title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;

  line-height: 1.15;
  min-height: 2.2em; /* rezervuje místo pro 2 řádky */
}

/* Akce (ikonky) vždy dolů */
.bp-v2 .bp-card__actions{
  margin-top: auto;   /* tím se přilepí na spodek */
}

/* místo nekonečné díry uděláme řízený spacing */
.bp-v2 .bp-card__actions{
  margin-top: auto;
  padding-top: 14px;   /* minimální odsazení od cen */
}

/* karta jako relativní konteiner */
.bp-v2 .bp-card{
  position: relative;
}

/* v těle rezervujeme místo pro spodní akce */
.bp-v2 .bp-card__body{
  padding-bottom: 66px; /* uprav podle výšky ikon + spacingu */
}

/* akce přilepit dolů (bez vytváření “díry” v layoutu) */
.bp-v2 .bp-card__actions{
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;

  margin-top: 0;           /* zrušíme auto */
  justify-content: flex-end;
}

/* obal fotky – bílé pozadí už máš nebo ho nastavíme */
.bp-v2 .bp-card__media{
  background: #fff;          /* bílé kolem */
  overflow: hidden;
}

/* obrázek: vždy celý viditelný */
.bp-v2 .bp-card__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;       /* místo cover */
  object-position: center;
  display: block;
}

/* STEPPR: zabít dědičný line-height a box model */
.bp-v2 .bp-stepper__qty{
  display: inline-flex;        /* ❗ ne inline */
  align-items: center;
  justify-content: center;

  line-height: 1;              /* ❗ KLÍČOVÉ */
  height: 1em;                 /* ❗ */
  padding: 0;                  /* ❗ */
  margin: 0;                   /* ❗ */

  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.bp-v2 .bp-stepper__qty{
  min-height: 0 !important;
  max-height: none;
}


/* =========
   DETAIL PRODUKTU
   ========= */
.bp-v2 .bp-v2-detail{
  --bp-green: #2f7d32;
  --bp-green-dark: #276a2a;
  --bp-text: #111;
  --bp-sale: #E82291;    
  --bp-muted: rgba(17,17,17,.72);
  --bp-border: rgba(17,17,17,.12);
  --bp-border-strong: rgba(17,17,17,.18);
  --bp-bg-soft: #f3f5f6;
  --bp-shadow: 0 10px 30px rgba(0,0,0,.08);

  padding: 56px 0 60px;
  color: var(--bp-text);
  background: #F5F5F5;
}

/* layout container */
.bp-v2 .bp-v2-detail__wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 18px;
}

/* TOP 50/50 */
.bp-v2 .bp-v2-detail__top{
  display: grid;
  grid-template-columns: 1fr 1fr; /* 50/50 */
  gap: 34px;
  align-items: start;
}

/* MEDIA */
.bp-v2 .bp-v2-detail__mediaMain{
  display: block;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--bp-shadow);
}

.bp-v2 .bp-v2-detail__mediaMain img{
  display: block;
  width: 100%;
  height: auto;
}

.bp-v2 .bp-v2-detail__mediaHidden{ display: none; }

/* GLightbox – počítadlo fotek */
.bp-gcounter{
  position: absolute;
  top: 14px;
  right: 56px;           /* aby nebylo pod X (close) */
  z-index: 9999;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .4px;
  color: #fff;
  background: rgba(0,0,0,.45);
  user-select: none;
}

/* text počítadla se bere z data atributu */
.bp-gcounter::after{
  content: attr(data-counter);
}

/* DETAIL: breadcrumbs */
.bp-v2 .bp-v2-detail__breadcrumbs{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  margin: 0 0 30px 0;
  font-size: 14px;          /* menší než H1 */
  line-height: 1.2;
  color: #BDBDBD;
}

.bp-v2 .bp-v2-detail__crumb--home{
  border-bottom: 0 !important;
}

.bp-v2 .bp-v2-detail__crumb--home:hover{
  border-bottom: 0 !important;
}

.bp-v2 .bp-v2-detail__crumb,
.bp-v2 .bp-v2-detail__crumbSep{
  color: #BDBDBD;
}

.bp-v2 .bp-v2-detail__crumb{
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .12s ease, border-color .12s ease;
}

.bp-v2 .bp-v2-detail__crumb:hover{
  color: var(--bp-green-dark);
  border-bottom-color: var(--bp-green-dark);
}

.bp-v2 .bp-v2-detail__crumb--home{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
}

.bp-v2 .bp-v2-detail__crumb--home i{
  font-size: 14px;
  line-height: 1;
}

/* aktuální stránka – bez hover/underline */
.bp-v2 .bp-v2-detail__crumb.is-current{
  border-bottom: 0;
  color: #8E8E8E; 
}

.bp-v2 .bp-v2-detail__crumb.is-current:hover{
  color: var(--bp-green-dark);
  border-bottom: 1px solid var(--bp-green-dark);
}

/* mobil: breadcrumbs klidně doleva (ať se vejdou) */
@media (max-width: 980px){
  .bp-v2 .bp-v2-detail__breadcrumbs{
    justify-content: flex-start;
    flex-wrap: wrap;
    row-gap: 6px;
  }
}

/* INFO */
.bp-v2 .bp-v2-detail__title,
.bp-v2 .bp-catTitle{
  margin: 0 0 10px;
  font-size: 35px;
  line-height: 1.05;
  letter-spacing: -0.6px;
  font-weight: 600;
  text-transform: none;
  color: #2f7d32;
}

.bp-v2 .bp-v2-detail__price{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline;
  margin: 0 0 12px;
}

.bp-v2 .bp-v2-detail__priceNow{
  font-size: 28px;
  font-weight: 900;
}

.bp-v2 .bp-v2-detail__priceNow.is-sale{
  color: var(--bp-sale);
}

.bp-v2 .bp-v2-detail__priceOld{
  font-size: 16px;
  text-decoration: line-through;
  opacity: .55;
  font-weight: 700;
}

.bp-v2 .bp-v2-detail__unit{
  font-size: 14px;
  color: var(--bp-muted);
  font-weight: 600;
}

.bp-v2 .bp-v2-detail__unitPrice{
  font-size: 13px;
  color: var(--bp-muted);
  font-weight: 600;
  padding-left: 8px;
  border-left: 1px solid var(--bp-border);
}

.bp-v2 .bp-v2-detail__short{
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--bp-muted);
  max-width: 62ch;
}

/* META */
.bp-v2 .bp-v2-detail__meta{
  margin: 10px 0 0;
  padding: 0;
}

.bp-v2 .bp-v2-detail__metaRow{
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid var(--bp-border);
}

.bp-v2 .bp-v2-detail__meta dt{
  opacity: .65;
  font-weight: 700;
}

.bp-v2 .bp-v2-detail__meta dd{
  margin: 0;
  font-weight: 700;
}

.bp-v2 .bp-v2-detail__meta a{
  color: #FFB100;
  text-decoration: none;
}

.bp-v2 .bp-v2-detail__meta a:hover{
  text-decoration: underline;
}

.bp-v2 .bp-v2-detail__stock{
  font-weight: 900;
}
.bp-v2 .bp-v2-detail__stock.is-in{
  color: var(--bp-green);
}

/* 4) CTA BOX layout: vlevo benefity / vpravo akce */
.bp-v2 .bp-v2-detail__ctaBox{
  background: #e0e0e0;
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 22px;
  padding: 18px;
}

/* =========================================================
   DETAIL – informační CTA box (chlazené produkty apod.)
   ========================================================= */

.bp-v2 .bp-v2-detail__ctaBox--info{
  background: #e0e0e0;            /* stejný šedý tón jako na starém webu */
}

.bp-v2 .bp-v2-detail__ctaInfoText{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  color: #111;
  font-size: 15px;
  line-height: 1.55;
}

.bp-v2 .bp-v2-detail__ctaInfoText i{
  flex: 0 0 22px;
  font-size: 18px;
  line-height: 1.4;
  color: #111;
  margin-top: 2px;
}

.bp-v2 .bp-v2-detail__ctaInfoText p{
  margin: 0;
}

.bp-v2 .bp-v2-detail__ctaInfoText strong{
  font-weight: 800;
}

.bp-v2 .bp-v2-detail__ctaGrid{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
}

.bp-v2 .bp-v2-detail__benefits{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  color: rgba(17,17,17,.65);
  font-weight: 800;
  font-size: 22px;              /* jako na tvém 3. screenu */
  line-height: 1.25;
}

/* ACTIONS row */
/* 5) Akce: stepper + košík vedle sebe */
.bp-v2 .bp-actions{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  min-width: 520px;             /* aby to vpravo drželo tvar */
}

/* BUTTON */
.bp-v2 .bp-btn{
  appearance: none;
  border: 1px solid var(--bp-border);
  background: #fff;
  color: var(--bp-text);
  font-weight: 800;
  border-radius: 999px;
  padding: 12px 18px;
  cursor: pointer;
  line-height: 1;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

.bp-v2 .bp-btn:active{ transform: translateY(1px); }

.bp-v2 .bp-btn--primary{
  background: var(--bp-green);
  border-color: var(--bp-green);
  color: #fff;
  width: 100%;
  padding: 13px 18px;
}

.bp-v2 .bp-btn--primary:hover{
  background: var(--bp-green-dark);
  border-color: var(--bp-green-dark);
}

/* STEPPER */
.bp-v2 .bp-stepper{
  display: grid;
  grid-template-columns: 44px 130px 44px;
  align-items: center;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--bp-border);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  overflow: hidden;
}

.bp-v2 .bp-stepper__btn{
  width: 44px;
  height: 44px;
  border: 0;
  cursor: pointer;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  background: #e9ecef;
  color: #222;
  transition: background .12s ease, transform .12s ease;
}

.bp-v2 .bp-stepper__btn:active{ transform: scale(.98); }

.bp-v2 .bp-stepper__btn--plus{
  background: var(--bp-green);
  color: #fff;
}

.bp-v2 .bp-stepper__btn--plus:hover{
  background: var(--bp-green-dark);
}

.bp-v2 .bp-stepper__input{
  width: 100%;
  height: 44px;
  border: 0;
  outline: none;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  color: #111;
}

/* remove default spinners where possible */
.bp-v2 .bp-stepper__input::-webkit-outer-spin-button,
.bp-v2 .bp-stepper__input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.bp-v2 .bp-stepper__input[type=number]{ -moz-appearance: textfield; }

/* BENEFITS */
.bp-v2 .bp-v2-detail__benefits{
  list-style: none;
  margin: 1px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
  font-size: 14px;
  color: var(--bp-muted);
  font-weight: 600;
}

/* TABS */
.bp-v2 .bp-v2-detail__tabs{
  margin-top: 18px;
}

.bp-v2 .bp-v2-detail__tabList{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.bp-v2 .bp-v2-detail__tab{
  border: 1px solid var(--bp-border);
  background: #fff;
  padding: 10px 16px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  color: var(--bp-text);
  transition: background .12s ease, border-color .12s ease;
}

.bp-v2 .bp-v2-detail__tab:hover{
  border-color: var(--bp-border-strong);
}

.bp-v2 .bp-v2-detail__tab.is-active{
  background: var(--bp-bg-soft);
  border-color: var(--bp-border-strong);
}

.bp-v2 .bp-v2-detail__panel{
  margin-top: 14px;
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}

.bp-v2 .bp-v2-detail__panel p{
  margin: 0 0 10px;
  line-height: 1.65;
  color: rgba(17,17,17,.85);
}
.bp-v2 .bp-v2-detail__panel p:last-child{ margin-bottom: 0; }

.bp-v2 .bp-v2-detail__tabPanels{
  margin-top: 28px;
}

/* RELATED */
.bp-v2 .bp-v2-detail__related{
  margin-top: 36px;
}

.bp-v2 .bp-v2-detail__h2{
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.2px;
  font-weight: 900;
  text-transform: uppercase;
}

/* horizontal row scroll */
.bp-v2 .bp-scrollRow{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 260px);
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.bp-v2 .bp-scrollRow > *{
  scroll-snap-align: start;
}

/* responsive */
@media (max-width: 980px){
  .bp-v2 .bp-v2-detail__top{
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .bp-v2 .bp-v2-detail__title{
    font-size: 32px;
  }

  .bp-v2 .bp-v2-detail__actions{
    grid-template-columns: 1fr;
  }

  .bp-v2 .bp-stepper{
    grid-template-columns: 44px 1fr 44px;
  }
}


/* DETAIL: akce v CTA boxu (stepper + košík vedle sebe) */
.bp-v2 .bp-v2-detail__actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex-wrap: nowrap;
}

.bp-v2 .bp-v2-detail__actions .bp-stepper{
  flex: 0 0 auto;
}

.bp-v2 .bp-v2-detail__actions .bp-btn--cart{
  flex: 0 0 auto;
  height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 40px;
  white-space: nowrap;
}

.bp-v2 .bp-v2-detail__benefits{
  list-style: none;
  padding: 0;
  margin: 0;
}

.bp-v2 .bp-v2-detail__benefits li{
  display: grid;
  grid-template-columns: 18px 1fr; /* FIXNÍ šířka pro ikonu */
  align-items: start;
  column-gap: 10px;
}

/* ikona má vždy stejný prostor */
.bp-v2 .bp-v2-detail__benefits li i{
  width: 28px;
  text-align: center;
  font-size: 16px; /* klidně uprav */
  line-height: 1.2;
  opacity: .8;
}

/* =========================================================
   BP V2 – HARD OVERRIDES (sjednocení katalog + detail)
   VLOŽIT ÚPLNĚ NA KONEC SOUBORU
   ========================================================= */

/* 1) STEPPER = vždy katalogová "kolečková" varianta (zabije grid/pill) */
.bp-v2 .bp-stepper{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;

  /* zruš pill/grid vlastnosti */
  grid-template-columns: unset !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.bp-v2 .bp-stepper__btn{
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  cursor: pointer !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.bp-v2 .bp-stepper__btn i{
  font-size: 16px !important;
  line-height: 1 !important;
}

/* minus / plus barvy */
.bp-v2 .bp-stepper__btn--minus{
  background: #E7F6EA !important;
  border-color: rgba(47,125,50,.20) !important;
  color: #2f7d32 !important;
}

.bp-v2 .bp-stepper__btn--plus{
  background: #2f7d32 !important;
  border-color: #2f7d32 !important;
  color: #fff !important;
}

.bp-v2 .bp-stepper__qty{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  height: 1em !important;
  padding: 0 !important;
  margin: 0 !important;

  font-weight: 900 !important;
  font-size: 14px !important;
  color: rgba(0,0,0,.75) !important;
  white-space: nowrap !important;
}

.bp-v2 :is(h1,h2,h3,h4,h5,h6){
  font-family: inherit;
}

/* 2) DETAIL CTA actions: stepper + košík vedle sebe */
.bp-v2 .bp-v2-detail__actions{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}

/* košík tlačítko v CTA */
.bp-v2 .bp-v2-detail__actions .bp-btn--cart{
  width: auto !important;
  min-width: 200px;
  height: 40px;
  line-height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  white-space: nowrap;
}

/* 3) Mobil: CTA box pod sebe – nejdřív actions, pak benefity */
@media (max-width: 980px){
  .bp-v2 .bp-v2-detail__ctaGrid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  .bp-v2 .bp-v2-detail__actions{
    order: 1 !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }

  .bp-v2 .bp-v2-detail__ctaLeft{
    order: 2 !important;
  }

  /* ať se košík na mobilu hezky vejde */
  .bp-v2 .bp-v2-detail__actions .bp-btn--cart{
    min-width: 0;
    flex: 1 1 auto;
  }
}


/* =========================================================
   DETAIL – stylování UL/LI v obsahu tabů (CRM obsah)
   ========================================================= */

.bp-v2 .bp-v2-detail__panel ul{
  list-style: none;
  padding-left: 25px;
  margin: 1.2em 0;
}

.bp-v2 .bp-v2-detail__panel li{
  position: relative;
  padding-left: 20px;
  margin: 0.5em 0;
  line-height: 1.6;
  color: #111;
}

/* zelená odrážka */
.bp-v2 .bp-v2-detail__panel li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;              /* vertikální zarovnání k textu */
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bp-green);
}

/* ========== PAGINATION PILL NAV ========== */

.bp-pagination-container #bp-pages ul{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 20px 0 32px;
}

/* čísla = kolečka */
.bp-pagination-container #bp-pages ul li a:not(.bp-pageNav),
.bp-pagination-container #bp-pages ul li span.bp-pageDots{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(0,0,0,.12);
  background: #f3f4f6;
  color: rgba(0,0,0,.75);

  font-weight: 700;
  text-decoration: none;
}

/* aktivní číslo */
.bp-pagination-container #bp-pages ul li a.active{
  background: #1f5a23;
  border-color: #1f5a23;
  color: #fff;
}

/* hover čísla */
@media (hover:hover){
  .bp-pagination-container #bp-pages ul li a:not(.bp-pageNav):hover{
    background: #1f5a23;
    border-color: #1f5a23;
    color: #fff;
  }
}

/* ========== PILL NAV ========== */

.bp-pagination-container #bp-pages ul li a.bp-pageNav{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  height: 40px;
  padding: 0 16px;
  border-radius: 999px;

  background: #f3f4f6;
  border: 1px solid rgba(0,0,0,.12);
  color: rgba(0,0,0,.8);

  font-weight: 600;
  text-decoration: none;
}

/* hover pill */
@media (hover:hover){
  .bp-pagination-container #bp-pages ul li a.bp-pageNav:hover{
    background: #1f5a23;
    border-color: #1f5a23;
    color: #fff;
  }
}

/* disabled */
.bp-pagination-container #bp-pages ul li a.bp-pageNav[aria-disabled="true"]{
  opacity: .4;
  pointer-events: none;
}

/* ======= Pagination hard reset (production safe) ======= */
.bp-pagination-container #bp-pages ul{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;

  padding: 0 !important;
  margin: 20px 0 32px !important;
  list-style: none !important;

  /* některé šablony dávají inline-block a pak to blbne */
  width: 100% !important;
}

/* zrušit legacy float / inline layout */
.bp-pagination-container #bp-pages ul > li{
  float: none !important;
  display: flex !important;      /* aby se dítě nechovalo divně */
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* linky uvnitř se nesmí smrštit a musí držet tvar */
.bp-pagination-container #bp-pages ul > li > a,
.bp-pagination-container #bp-pages ul > li > span{
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

.bp-pagination-container #bp-pages ul > li > a.bp-pageNav{
  white-space: nowrap !important;
  min-width: 0 !important;     /* ✅ zruší roztažení */
  width: auto !important;      /* ✅ jen podle obsahu */
  padding: 0 16px;             /* uprav si klidně 14–18px */
  gap: 8px;
}

/* mobil: menší pill, ať se vejde */
@media (max-width: 520px){
  .bp-pagination-container #bp-pages ul{ gap: 8px !important; }
  .bp-pagination-container #bp-pages ul > li > a.bp-pageNav{
    min-width: 0;
    padding: 0 14px;
  }
}

/* =========================================================
   BP V2 HOMEPAGE – HARD FIX PROTI GLOBÁLNÍ ŠABLONĚ
   VLOŽIT ÚPLNĚ NA KONEC SOUBORU
   ========================================================= */

/* homepage wrapper – stejné boční odsazení jako katalog */
.bp-v2 .bp-homeProducts{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 40px 16px 60px !important;
  box-sizing: border-box !important;
}

/* jednotlivé sekce */
.bp-v2 .bp-homeSection{
  display: block !important;
  margin: 0 0 48px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* hlavička sekce: nadpis vlevo, odkaz vpravo */
.bp-v2 .bp-homeSection__head{
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 14px !important;

  width: 100% !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;

  text-align: left !important;
  float: none !important;
  position: relative !important;
}

/* H2 na homepage */
.bp-v2 .bp-homeSection__title{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;

  font-family: inherit !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;

  color: #2f7d32 !important;
  text-align: left !important;

  border: 0 !important;
  background: transparent !important;
  float: none !important;
}

/* odkaz Zobrazit vše */
.bp-v2 .bp-homeSection__all,
.bp-v2 .bp-homeSection__all:link,
.bp-v2 .bp-homeSection__all:visited{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;

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

  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;

  color: rgba(17,17,17,.70) !important;
  border: 0 !important;
  border-bottom: 1px solid transparent !important;
  background: transparent !important;

  float: none !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
}

/* šipka v odkazu */
.bp-v2 .bp-homeSection__all span{
  display: inline-block !important;
  line-height: 1 !important;
}

/* hover */
@media (hover:hover){
  .bp-v2 .bp-homeSection__all:hover{
    color: #2f7d32 !important;
    border-bottom-color: rgba(47,125,50,.45) !important;
  }
}

/* scroll row na homepage */
.bp-v2 .bp-homeProducts .bp-scrollRow{
  margin: 0 !important;
}

/* mobil */
@media (max-width: 520px){
  .bp-v2 .bp-homeProducts{
    padding: 32px 10px 48px !important;
  }

  .bp-v2 .bp-homeSection__head{
    align-items: flex-start !important;
  }

  .bp-v2 .bp-homeSection__title{
    font-size: 22px !important;
  }

  .bp-v2 .bp-homeSection__all{
    font-size: 13px !important;
  }
}