:root {
  --registration-discount-border-radius: 10px;
  --registration-discount-BG: #f1f1f1;
  --registration-discount-BG-hover: #f1f1f1;
  --registration-discount-btn-BG: var(--color-secondary);
  --registration-discount-btn-BG-hover: var(--color-secondary-hover);
  --registration-discount-title-color: var(--color-secondary);
}

html, body {
  overflow-x: hidden;
}

.site-msg-custom.information, .site-msg.information {
  opacity: 1 !important;
  background: var(--color-primary);
  box-shadow: 0 6px 8px rgba(0,0,0,.08);
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  right: 50% !important;
  top: 0 !important;
  margin: 0 -50vw !important;
  padding: 14px 40px !important;
  min-height: 52px !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  color: #000 !important;
  box-sizing: border-box !important;
  transform: none !important;
}
.site-msg-custom.information .text, .site-msg.information .text {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.3 !important;
}
.site-msg-custom.information .text::before, .site-msg.information .text::before {
  color: #000;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.site-msg-custom .close, .site-msg .close {
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.site-msg-custom .close::before, .site-msg .close::before,
.site-msg-custom .close::after, .site-msg .close::after { background: #000; }

.container { max-width: 1780px; width: 100%; }
.columns-4 .products-block > div { flex: 0 0 16%; }
.xyDiscount__banner { display: block !important; margin-bottom: 0 !important; }
.site-msg-custom, .site-msg { min-height: 52px; }

body.is-loaded .flag.flag-discount,
.price-save,
.product .price-final .price-standard + .price-standard,
[class*=interconnection] .is-type--photos a.is-current .item-type-img:before,
[class*=interconnection] .is-type--photos .item-label,
.p-info-grid .detail-grid-title,
.detail-parameters-block:before {
  display: none !important;
}

.kontaktni-boxy { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; margin-bottom: 40px; }
.kontaktni-box { flex: 1 1 calc(33.333% - 20px); background: #fff; border-radius: 20px; box-shadow: 0 4px 20px rgba(0,0,0,.15); padding: 30px 20px 20px; box-sizing: border-box; text-align: center; min-width: 280px; }
.kontaktni-box h3 { margin: 0 0 20px; font: 700 18px/1.2 inherit; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.kontaktni-box p { margin: 10px 0; font-size: 16px; }
.kontaktni-box a { color: #066f7f; text-decoration: underline; font-weight: 500; }
.kontaktni-ikona { font-size: 20px; margin-right: 8px; }
.kontaktni-deleni { border-top: 1px solid #ddd; margin: 40px 0 20px; }
.fakturacni-udaje { font: 700 18px/1.2 inherit; text-align: center; }

.carousel, .image-carousel, .carousel-inner, .carousel-inner .item, .image-carousel .owl-item {
  max-width: 1400px !important;
  height: 700px !important;
  margin: 0 auto !important;
}
.carousel-inner .item img, .image-carousel .owl-item img, .carousel-inner .carousel-item img {
  width: 100% !important;
  height: 700px !important;
  object-fit: fill !important;
  display: block !important;
}

/* Posunutí odkazu DETAILNÍ INFORMACE o 1 cm nahoru */
.p-short-description {
  margin-bottom: 2px !important;
}
.p-short-description + a,
a[href="#description"],
.detail-info-link,
.p-info-wrapper > a[href*="#"] {
  position: relative !important;
  top: -14px !important;
  margin-top: -22px !important;
  margin-bottom: 0 !important;
  display: inline-block !important;
}

/* ==========================================================================
   SPOLEČNÉ ROZVRŽENÍ A JEDNOTNÉ PÍSMO PRO VŠECHNY PRODUKTY
   ========================================================================== */
.unified-detail,
.unified-detail * {
  font-family: inherit !important;
}

.p-info-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 10px 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: -22px 0 12px 0 !important;
  padding-top: 0 !important;
  box-sizing: border-box !important;
}
.p-info-grid .detail-price-block { order: 1; flex: 0 0 auto; width: auto; margin: 0; position: relative; z-index: 2; }
.p-info-grid .priceWrap { order: 2; flex: 0 0 auto; max-width: 310px; margin: 0 !important; padding: 0 !important; transform: none !important; align-self: flex-end !important; }

/* Skrytí rušivého odkazu pod cenovkou u variantních produktů */
.unified-detail .detail-price-block > a,
.unified-detail .detail-price-block .detail-link,
.unified-detail .detail-price-block [class*="detail-parameters"] {
  display: none !important;
}

/* Nápis "Akce je platná..." v boxu odpočtu: o 1 px nahoru a celý nápis přesně na střed */
.p-info-grid .priceWrap > div:first-child,
.p-info-grid .priceWrap > p:first-child,
.p-info-grid .priceWrap > span:first-child,
.p-info-grid .priceWrap [class*="title"],
.p-info-grid .priceWrap [class*="text"],
.p-info-grid .priceWrap [class*="label"] {
  position: relative !important;
  top: -1px !important;
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}

/* Zarovnání oranžové cenovky s boxem Akce je platná do — pouze aktivní cena */
@media (min-width: 768px) {
  .unified-detail .detail-price-block {
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-self: flex-end !important;
  }
  .unified-detail .detail-price-block .price-final-holder.no-display,
  .unified-detail .detail-price-block .price-final.no-display {
    display: none !important;
  }
  .unified-detail .detail-price-block .price-final-holder:not(.no-display) {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .unified-detail .detail-price-block .price-final:not(.no-display) {
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    min-width: 215px !important;
    margin: 0 !important;
    padding: 8px 22px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    align-content: center !important;
    justify-content: center !important;
    gap: 0 5px !important;
    text-align: center !important;
    overflow: hidden !important;
  }
  .unified-detail .detail-price-block .price-standard {
    flex: 0 0 100% !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1.1 !important;
    margin-bottom: 2px !important;
  }
  .unified-detail .detail-price-block .price-measure,
  .unified-detail .detail-price-block [class*="unit"],
  .unified-detail .detail-price-block [class*="measure"] {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
  }
}

/* Fotky příchutí / variant uprostřed */
[class*=interconnection-detail-params] {
  order: 3 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 6px 0 !important;
}
[class*=interconnection-detail-params__title] { text-align: center !important; width: 100% !important; margin-bottom: 4px; font-weight: 700; }
[class*=interconnection] .is-type--photos {
  display: grid !important;
  grid-template-columns: repeat(6, 62px) !important;
  gap: 10px;
  justify-content: center;
  width: 100%;
  margin: 6px auto;
}
[class*=interconnection] .is-type--photos a,
[class*=interconnection] .is-type--photos span.item-type-img {
  width: 62px !important;
  height: 62px !important;
  min-height: 62px;
  margin: 0;
  padding: 0;
}
[class*=interconnection] .is-type--photos span.item-type-img {
  border-radius: 10px;
  border: 1px solid #dcdcdc;
  background: center/contain no-repeat;
  display: block;
}
[class*=interconnection] .is-type--photos a.is-current span.item-type-img {
  border: 2.5px solid #ff5a00 !important;
}

/* Hlavní kontejner pro roletku varianty + modrý pruh dostupnosti + košík */
.cbg {
  order: 4 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 14px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  box-sizing: border-box !important;
}
.cbg > div { width: 100% !important; margin: 0 !important; padding: 0 !important; }

/* Roletka výběru varianty (např. NIKOTIN) */
.no-variant-detail .cbg .detail-parameters-block { display: none !important; }
.has-variant-detail .cbg .detail-parameters-block {
  order: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto 2px auto !important;
  padding: 10px 16px !important;
  background: #f8fbff !important;
  border: 1.5px solid #cde6f7 !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
}
.has-variant-detail .cbg .detail-parameters-block .detail-parameters,
.has-variant-detail .cbg .detail-parameters-block table,
.has-variant-detail .cbg .detail-parameters-block tbody,
.has-variant-detail .cbg .detail-parameters-block tr,
.has-variant-detail .cbg .detail-parameters-block th,
.has-variant-detail .cbg .detail-parameters-block td {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px 14px !important;
  width: auto !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
.has-variant-detail .cbg .detail-parameters-block th {
  font: 800 12px/1.2 inherit !important;
  text-transform: uppercase !important;
  color: #333 !important;
}
.has-variant-detail .cbg .detail-parameters-block select,
.has-variant-detail #parameter-id-21 {
  display: inline-block !important;
  width: 240px !important;
  min-width: 200px !important;
  max-width: 100% !important;
  height: 44px !important;
  border-radius: 10px !important;
  border: 1.5px solid #8a94a6 !important;
  padding: 0 14px !important;
  margin: 0 !important;
  font-weight: 700 !important;
  background-color: #fff !important;
  box-sizing: border-box !important;
  cursor: pointer;
}

/* ==========================================================================
   MODRÝ PRUH DOSTUPNOSTI — PŘESNĚ PODLE VZORU NA KAŽDÉM PRODUKTU
   ========================================================================== */
.unified-detail .cbg .detail-availability-block {
  order: 2 !important;
  width: 100% !important;
  height: 118px !important;
  min-height: 118px !important;
  max-height: 118px !important;
  background: linear-gradient(90deg, #d8effc 0%, #f5fbff 50%, #d8effc 100%) !important;
  border: 2px solid #96d0f0 !important;
  border-radius: 20px !important;
  padding: 0 165px !important;
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: hidden !important;
}

/* Skrytí neaktivních variantních prvků (.no-display) a nadpisu "Dostupnost" */
.unified-detail .cbg .detail-availability-block .no-display,
.unified-detail .cbg .detail-availability-block h2,
.unified-detail .cbg .detail-availability-block h3,
.unified-detail .cbg .detail-availability-block h4,
.unified-detail .cbg .detail-availability-block strong,
.unified-detail .cbg .detail-availability-block [class*="title"],
.unified-detail .cbg .detail-availability-block [class*="heading"] {
  display: none !important;
}

.unified-detail .cbg .detail-availability-block::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 74px;
  height: 52px;
  pointer-events: none;
  background: url("/user/documents/skladem.svg") center/contain no-repeat;
}
.unified-detail .cbg .detail-availability-block::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 146px;
  height: 62px;
  pointer-events: none;
  background: url("/user/documents/doruceni.svg") center/contain no-repeat;
}

/* Text ze štítku dostupnosti (SKLADEM / NA SKLADĚ / ZVOLTE VARIANTU) vlevo vedle přepravky */
.unified-detail .cbg .detail-availability-block .availability-label:not(.no-display) {
  position: absolute !important;
  left: 96px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.unified-detail .cbg .detail-availability-block .availability-amount:not(.no-display) {
  position: absolute !important;
  left: 156px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  color: #222 !important;
}

/* Svislý sloupec uprostřed pro MŮŽEME DORUČIT DO + datum + MOŽNOSTI DORUČENÍ */
.unified-detail .cbg .detail-availability-block > div:not(.social-buttons-wrapper):not(.no-display),
.unified-detail .cbg .detail-availability-block > p:not(.no-display) {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}

/* Nápis "MŮŽEME DORUČIT DO:" — přesně stejný styl, barva a výška jako "MOŽNOSTI DORUČENÍ" (bez podtržení) */
.unified-detail .cbg .detail-availability-block .delivery-time-label:not(.no-display) {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: #ff7a00 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.unified-detail .cbg .detail-availability-block .delivery-time-label::before,
.unified-detail .cbg .detail-availability-block .delivery-time-label::after {
  content: none !important;
  display: none !important;
}

.unified-detail .cbg .detail-availability-block .delivery-time:not(.no-display) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  padding: 4px 16px !important;
}
.unified-detail .cbg .detail-availability-block a:not([class*="social"]):not([class*="link-icon"]):not(.no-display) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  text-decoration: underline !important;
  color: #ff7a00 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Stav před zvolením varianty */
.unified-detail .cbg .detail-availability-block.nv .delivery-time-label,
.unified-detail .cbg .detail-availability-block.nv .delivery-time,
.unified-detail .cbg .detail-availability-block.nv a:not([class*="social"]):not([class*="link-icon"]) {
  display: none !important;
}
.mdb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ff7a00;
  color: #fff !important;
  border-radius: 50px;
  padding: 7px 20px;
  font: 800 11px/1.1 inherit;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  border: 0;
  margin: 0 !important;
  box-shadow: 0 2px 6px rgba(255,122,0,.3);
}
.mdb:hover { background: #e56d00; }

/* ZEPTAT SE a HLÍDAT uvnitř modrého pruhu dole — 3px mezera před ikonkou psa */
.unified-detail .detail-availability-block .social-buttons-wrapper,
.unified-detail .detail-availability-block .social-buttons-wrapper ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
  white-space: nowrap !important;
}
.unified-detail .detail-availability-block .social-buttons-wrapper .link-icon.print,
.unified-detail .detail-availability-block .social-buttons-wrapper [class*="print"] {
  display: none !important;
}
.unified-detail .detail-availability-block .social-buttons-wrapper li,
.unified-detail .detail-availability-block .social-buttons-wrapper > div,
.unified-detail .detail-availability-block .social-buttons-wrapper a,
.unified-detail .detail-availability-block .social-buttons-wrapper span {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #7ac142 !important;
  text-decoration-color: #7ac142 !important;
  white-space: nowrap !important;
}
.unified-detail .detail-availability-block .social-buttons-wrapper li + li,
.unified-detail .detail-availability-block .social-buttons-wrapper > div + div,
.unified-detail .detail-availability-block .social-buttons-wrapper a + a {
  margin-left: 3px !important;
  padding-left: 3px !important;
}

/* Košík + Množství + Pobočky */
.cbg .add-to-cart {
  order: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-top: 2px !important;
  overflow: visible !important;
}
.cbg [class*=branch], .cbg [class*=pickup], .cbg [class*=store] {
  order: 4 !important;
  margin-top: 4px !important;
  text-align: center !important;
}

.quantity { border: 0 !important; background: 0 !important; min-height: 46px; overflow: visible; display: inline-flex; align-items: center; position: relative; flex: 0 0 160px; }
.quantity input { border: 1px solid #8a94a6 !important; border-radius: 10px; height: 46px; width: 100%; box-sizing: border-box; background: #fff; }
.add-to-cart-button, button.btn-cart { border-radius: 50px !important; height: 48px; padding: 0 26px; font-weight: 700; white-space: nowrap; flex: 1; }
.registration-discount-block { max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important; }

/* ==========================================================================
   100% RESPONZIVITA PRO VŠECHNY MONITORY, TABLETY A MOBILY
   ========================================================================== */
@media (max-width: 1500px) { .columns-4 .products-block > div { width: 20%; } }
@media (max-width: 1400px) { .carousel, .image-carousel, .carousel-inner, .carousel-inner .item, .carousel-inner .item img { height: auto !important; aspect-ratio: 1400/700; } }
@media (max-width: 1280px) { .columns-4 .products-block > div { width: 25%; } }

@media (max-width: 991px) {
  .p-info-grid { flex-direction: column !important; align-items: center !important; margin-top: 0 !important; }
  .p-info-grid .detail-price-block, .p-info-grid .priceWrap { width: 100% !important; max-width: 100% !important; justify-content: center; text-align: center; }
  .unified-detail .detail-price-block { margin-bottom: 6px !important; align-self: center !important; }
  .unified-detail .cbg .detail-availability-block { padding: 0 150px !important; }
}

@media (max-width: 800px) { .kontaktni-box { flex: 1 1 100%; } }
@media (max-width: 780px) { .columns-4 .products-block > div { width: 33%; } }

@media (max-width: 767px) {
  .carousel, .image-carousel, .carousel-inner, .carousel-inner .item, .carousel-inner .item img { height: 250px !important; }
  .banners-row .banner-item, .rex-banners .banner-item, .banners-row img { height: 120px !important; }
  [class*=interconnection] .is-type--photos { grid-template-columns: repeat(4, 62px) !important; gap: 10px; }

  .has-variant-detail .cbg .detail-parameters-block { padding: 10px 12px !important; }
  .has-variant-detail .cbg .detail-parameters-block select,
  .has-variant-detail #parameter-id-21 { width: 100% !important; }

  .cbg .add-to-cart { flex-wrap: wrap; justify-content: center; }
  .cbg .add-to-cart button { width: 100%; flex: 0 0 100%; }

  .unified-detail .cbg .detail-availability-block {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    padding: 12px 14px !important;
    gap: 5px !important;
    border-radius: 18px !important;
  }
  .unified-detail .cbg .detail-availability-block .availability-label:not(.no-display),
  .unified-detail .cbg .detail-availability-block .availability-amount:not(.no-display) {
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    font-size: 12px !important;
    margin: 0 2px !important;
  }
  .unified-detail .cbg .detail-availability-block::before {
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    width: 54px !important;
    height: 40px !important;
    margin: 2px auto 0 !important;
  }
  .unified-detail .detail-availability-block .social-buttons-wrapper,
  .unified-detail .detail-availability-block .social-buttons-wrapper ul {
    flex-wrap: wrap !important;
    gap: 4px !important;
    margin-top: 4px !important;
  }
  .unified-detail .cbg .detail-availability-block::after {
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    width: 110px !important;
    height: 48px !important;
    margin: 4px auto 0 !important;
  }
}

@media (max-width: 480px) {
  .squareholder { float: left; width: 100%; }
  .columns-4 .products-block > div { width: 50%; }
}