/* ADD STYLE */

/* 15.04.2021 - style for change vm category Vyrobce */
div#myPodleVyberu.inVmCat.isCatVyrobce {
  margin-bottom: 16px;
}
div.myAddVyrobceText {
  text-align: center;
}
a.myButtonToCatVyrobce {
  display: inline-block;
  padding: 10px 10px;
  margin: 5px;
  line-height: 16px;
  font-size: 16px;
  font-weight: bold;
  font-style: normal;
  vertical-align: top;
  background-color: #009de0;
  color: white;
  text-decoration: none;
}
a.myButtonToCatVyrobce:hover {
  background-color: #b2c800;
}
a.myButtonToCatVyrobce.mySearchWord {
  display: none;
}
@media (max-width: 991px) {
  div#myPodleVyberu.inVmCat.mySearchWord {
    display: none;
  }
  a.myButtonToCatVyrobce.mySearchWord {
    display: inline-block;
  }
}
/* ATC – moderni seznam clanku – START */

#k2Container.itemListView.atc-article-list {
  color: #334155;
  padding-bottom: 32px;
}

#k2Container.atc-article-list .itemListCategory {
  margin: 0 0 24px;
  padding: 24px;
  background: #f2f8fc;
  border: 1px solid #dceaf3;
  border-radius: 16px;
}

#k2Container.atc-article-list .page-header {
  margin: 0;
  padding: 0;
  border: 0;
}

#k2Container.atc-article-list .page-header h2 {
  margin: 0;
  color: #073b60;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
}

#k2Container.atc-article-list [id~="itemListPrimary"] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
}

#k2Container.atc-article-list [id~="itemListPrimary"] > .clr {
  display: none;
}

#k2Container.atc-article-list .itemContainer {
  display: flex;
  float: none;
  width: auto !important;
  min-width: 0;
  margin: 0;
  padding: 0;
}

#k2Container.atc-article-list .catItemView {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 24px;
  background: #fff;
  border: 1px solid #dce5ed;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(7, 59, 96, .04);
  transition: border-color .2s, box-shadow .2s;
}

#k2Container.atc-article-list .catItemView:hover,
#k2Container.atc-article-list .catItemView:focus-within {
  border-color: #009de0;
  box-shadow: 0 8px 24px rgba(7, 59, 96, .10);
}

#k2Container.atc-article-list h3.catItemTitle {
  margin: 0 0 20px;
  padding: 0;
  font-size: 22px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#k2Container.atc-article-list h3.catItemTitle a {
  color: #073b60;
  font-weight: 700;
  text-decoration: none;
}

#k2Container.atc-article-list .catItemView:hover h3 a,
#k2Container.atc-article-list h3 a:focus {
  color: #007cb5;
}

#k2Container.atc-article-list .catItemBody {
  margin: 0;
  padding: 0;
}

#k2Container.atc-article-list .catItemBody > .sppb-row {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
  margin: 0;
}

#k2Container.atc-article-list .catItemBody > .sppb-row::before,
#k2Container.atc-article-list .catItemBody > .sppb-row::after {
  display: none;
}

#k2Container.atc-article-list .catItemBody > .sppb-row > div {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}

/* Prazdny prostredni sloupec puvodni sablony */
#k2Container.atc-article-list
.catItemBody > .sppb-row > .sppb-col-md-3:nth-child(2):empty {
  display: none;
}

/* Sloupec obsahuje pouze mezery a odradkovani */
#k2Container.atc-article-list
.catItemBody > .sppb-row > .sppb-col-md-3:nth-child(2) {
  grid-column: 1 / -1;
}

#k2Container.atc-article-list
.catItemBody > .sppb-row > .sppb-col-md-3:nth-child(2):not(:has(*)) {
  display: none;
}

#k2Container.atc-article-list .catItemImageBlock,
#k2Container.atc-article-list .catItemImage {
  display: block;
  float: none;
  margin: 0;
  padding: 0;
}

#k2Container.atc-article-list .catItemImage img {
  box-sizing: border-box;
  display: block;
  width: 112px !important;
  max-width: 100%;
  height: 112px !important;
  margin: 0;
  padding: 6px;
  object-fit: contain;
  background: #f5f8fb;
  border: 0;
  border-radius: 12px;
}

#k2Container.atc-article-list .catItemIntroText {
  padding: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #475569;
  overflow-wrap: anywhere;
}

#k2Container.atc-article-list .catItemIntroText p {
  margin: 0 0 14px;
}

#k2Container.atc-article-list .catItemReadMore {
  display: block;
  margin: 16px 0 0;
}

#k2Container.atc-article-list .catItemReadMore a.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  color: #006b9f;
  background: #edf7fd;
  border: 1px solid #cce7f5;
  border-radius: 9px;
  box-shadow: none;
  text-shadow: none;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

#k2Container.atc-article-list .catItemReadMore a.btn:hover {
  color: #fff;
  background: #007cb5;
  border-color: #007cb5;
}

#k2Container.atc-article-list a:focus-visible {
  outline: 3px solid #007cb5;
  outline-offset: 4px;
}

#k2Container.atc-article-list .k2Pagination {
  margin-top: 30px;
  padding: 20px 0;
  text-align: center;
}

@media (max-width: 900px) {
  #k2Container.atc-article-list [id~="itemListPrimary"] {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

@media (max-width: 480px) {
  #k2Container.atc-article-list .catItemView {
    padding: 18px;
  }

  #k2Container.atc-article-list h3.catItemTitle {
    font-size: 20px;
  }

  #k2Container.atc-article-list .page-header h2 {
    font-size: 27px;
  }

  #k2Container.atc-article-list .catItemBody > .sppb-row {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 14px;
  }

  #k2Container.atc-article-list .catItemImage img {
    width: 80px !important;
    height: 80px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #k2Container.atc-article-list .catItemView {
    transition: none;
  }
}

/* ATC – moderni seznam clanku – END */
/* ATC – oprava sirek sloupcu SP Page Builder */
#k2Container.atc-article-list .itemContainer,
#k2Container.atc-article-list .catItemBody > .sppb-row > div {
  max-width: none !important;
  flex: none !important;
  min-width: 0;
}/* ATC – karty aktualit na homepage */

#sppb-addon-1556270956048 .sppb-addon-content > .sppb-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  margin: 0;
}

#sppb-addon-1556270956048 .sppb-addon-content > .sppb-row::before,
#sppb-addon-1556270956048 .sppb-addon-content > .sppb-row::after {
  display: none;
}

#sppb-addon-1556270956048 .sppb-row > .sppb-col-sm-12 {
  width: 100%;
  max-width: none;
  min-width: 0;
  flex: none;
  float: none;
  padding: 0;
}

#sppb-addon-1556270956048 .sppb-addon-article {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
  box-sizing: border-box;
  margin: 0;
  padding: 24px;
  background: #fff;
  border: 1px solid #dce5ed;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(7, 59, 96, .04);
  transition: border-color .2s, box-shadow .2s;
}

#sppb-addon-1556270956048 .sppb-addon-article::before,
#sppb-addon-1556270956048 .sppb-addon-article::after {
  display: none;
}

#sppb-addon-1556270956048 .sppb-addon-article:hover,
#sppb-addon-1556270956048 .sppb-addon-article:focus-within {
  border-color: #009de0;
  box-shadow: 0 8px 24px rgba(7, 59, 96, .10);
}

#sppb-addon-1556270956048 .sppb-article-img-wrap {
  display: block;
  float: none;
  width: 112px;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

#sppb-addon-1556270956048 .sppb-article-img-wrap img {
  display: block;
  box-sizing: border-box;
  width: 112px !important;
  max-width: 100% !important;
  height: 112px !important;
  margin: 0;
  padding: 6px;
  object-fit: contain;
  background: #f5f8fb;
  border: 0;
  border-radius: 12px;
}

#sppb-addon-1556270956048 .sppb-article-info-wrap {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
}

#sppb-addon-1556270956048 .sppb-article-info-wrap h3 {
  margin: 0 0 12px;
  padding: 0;
  font-size: 22px;
  line-height: 1.35;
}

#sppb-addon-1556270956048 .sppb-article-info-wrap h3 a {
  color: #073b60;
  font-weight: 700;
  text-decoration: none;
}

#sppb-addon-1556270956048 .sppb-addon-article:hover h3 a,
#sppb-addon-1556270956048 .sppb-article-info-wrap h3 a:focus {
  color: #007cb5;
}

#sppb-addon-1556270956048 .sppb-article-introtext {
  color: #475569;
  font-size: 15px;
  line-height: 1.7;
}

#sppb-addon-1556270956048 .sppb-article-introtext p {
  margin: 0 0 14px;
}

#sppb-addon-1556270956048 a.sppb-readmore {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 0;
  padding: 10px 16px;
  color: #006b9f;
  background: #edf7fd;
  border: 1px solid #cce7f5;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

#sppb-addon-1556270956048 a.sppb-readmore::after {
  content: "→";
}

#sppb-addon-1556270956048 a.sppb-readmore:hover {
  color: #fff;
  background: #007cb5;
  border-color: #007cb5;
}

#sppb-addon-1556270956048 a#btn-1556270956048 {
  float: none;
  display: inline-block;
  margin: 20px 0 0;
  padding: 12px 18px;
  color: #fff;
  background: #007cb5;
  border: 1px solid #007cb5;
  border-radius: 9px;
  font-weight: 700;
  text-decoration: none;
}

#sppb-addon-1556270956048 a#btn-1556270956048:hover {
  color: #fff;
  background: #073b60;
  border-color: #073b60;
}

#sppb-addon-1556270956048 a:focus-visible {
  outline: 3px solid #007cb5;
  outline-offset: 4px;
}

@media (max-width: 480px) {
  #sppb-addon-1556270956048 .sppb-addon-article {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }

  #sppb-addon-1556270956048 .sppb-article-img-wrap {
    width: 80px;
  }

  #sppb-addon-1556270956048 .sppb-article-img-wrap img {
    width: 80px !important;
    height: 80px !important;
  }

  #sppb-addon-1556270956048 .sppb-article-info-wrap h3 {
    font-size: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #sppb-addon-1556270956048 .sppb-addon-article {
    transition: none;
  }
}

/* ATC – karty aktualit na homepage – END */
/* ATC – nove produkty na homepage */

#sppb-addon-1723546252847 .naskladneno {
  box-sizing: border-box;
  padding: 24px;
  background: #fff;
  border: 1px solid #dce5ed;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(7, 59, 96, .04);
}

#sppb-addon-1723546252847 .naskladneno h3 {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  color: #073b60;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

#sppb-addon-1723546252847 .naskladneno h3 span {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

#sppb-addon-1723546252847 ol.product-list {
  margin: 0 0 20px;
  padding: 0 0 0 28px;
  list-style: decimal outside;
}

#sppb-addon-1723546252847 .product-list li {
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.55;
  text-indent: 0;
  border-bottom: 1px solid #e8eef3;
}

#sppb-addon-1723546252847 .product-list li:last-child {
  border-bottom: 0;
}

#sppb-addon-1723546252847 .product-list li::marker {
  color: #007cb5;
  font-weight: 600;
}

#sppb-addon-1723546252847 .product-list li::after {
  display: none;
  content: none;
}

#sppb-addon-1723546252847 .product-list li a {
  display: block;
  padding: 10px 8px;
  color: #334155;
  border-radius: 7px;
  text-decoration: none;
  overflow-wrap: anywhere;
}

#sppb-addon-1723546252847 .product-list li a:hover,
#sppb-addon-1723546252847 .product-list li a:focus-visible {
  color: #006b9f;
  background: #edf7fd;
}

#sppb-addon-1723546252847 button#load-more,
#sppb-addon-1723546252847 button#load-less {
  margin: 0 8px 0 0;
  padding: 12px 18px;
  color: #fff !important;
  background: #007cb5 !important;
  border: 1px solid #007cb5 !important;
  border-radius: 9px !important;
  box-shadow: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}

#sppb-addon-1723546252847 button#load-more:hover,
#sppb-addon-1723546252847 button#load-less:hover {
  background: #073b60 !important;
  border-color: #073b60 !important;
}

#sppb-addon-1723546252847 a:focus-visible,
#sppb-addon-1723546252847 button:focus-visible {
  outline: 3px solid #007cb5;
  outline-offset: 3px;
}

@media (max-width: 480px) {
  #sppb-addon-1723546252847 .naskladneno {
    padding: 18px;
  }

  #sppb-addon-1723546252847 .naskladneno h3 {
    font-size: 22px;
  }
}

/* ATC – nove produkty na homepage – END */
/* ATC – kompaktnejsi vypis novych produktu */

#sppb-addon-1723546252847 .naskladneno {
  padding: 18px 20px;
}

#sppb-addon-1723546252847 .naskladneno h3 {
  margin-bottom: 12px;
  font-size: 22px;
}

#sppb-addon-1723546252847 .naskladneno h3 span {
  margin-top: 3px;
}

#sppb-addon-1723546252847 ol.product-list {
  margin-bottom: 14px;
  padding-left: 24px;
}

#sppb-addon-1723546252847 .product-list li {
  font-size: 13px;
  line-height: 1.4;
}

#sppb-addon-1723546252847 .product-list li a {
  padding: 6px 4px;
}

#sppb-addon-1723546252847 button#load-more,
#sppb-addon-1723546252847 button#load-less {
  padding: 10px 16px;
}

/* ATC – objednavka VP One Page Checkout – v1
   Pouze vzhled; existujici AJAX a mobilni rozbalovani zustavaji v pluginu. */
#ProOPC {
  color: #334155;
  font-size: 14px;
  line-height: 1.5;
}
body #ProOPC .proopc-process-title {
  box-sizing: border-box;
  margin-bottom: 12px;
  padding: 12px;
  color: #073b60;
  background: #f2f8fc;
  border: 1px solid #d5e5ef;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}
#ProOPC .proopc-step {
  border-radius: 6px;
  background-color: #0085b5;
  color: #fff;
}
#ProOPC input[type="text"],
#ProOPC input[type="email"],
#ProOPC input[type="tel"],
#ProOPC input[type="password"],
#ProOPC input[type="number"],
#ProOPC select,
#ProOPC textarea {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #bfd6e5;
  border-radius: 8px;
  background-color: #fff;
  color: #073b60;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.4;
}
#ProOPC textarea { min-height: 96px; }
#ProOPC input:focus-visible,
#ProOPC select:focus-visible,
#ProOPC textarea:focus-visible,
#ProOPC button:focus-visible,
#ProOPC a:focus-visible {
  outline: 2px solid #0085b5;
  outline-offset: 2px;
}
#ProOPC input[aria-invalid="true"],
#ProOPC select[aria-invalid="true"],
#ProOPC textarea[aria-invalid="true"],
#ProOPC input.invalid {
  border-color: #c53434;
}
#ProOPC #proopc-shipment-form fieldset > label,
#ProOPC #proopc-payment-form fieldset > label {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 14px;
  margin: 0 0 10px;
  border: 1px solid #d5e5ef;
  border-radius: 12px;
  background: #fff;
  overflow-wrap: anywhere;
  transition: border-color .15s, background-color .15s;
}
#ProOPC #proopc-shipment-form fieldset > label > *,
#ProOPC #proopc-payment-form fieldset > label > * {
  min-width: 0;
  max-width: 100%;
}
#ProOPC #proopc-shipment-form fieldset > label:hover,
#ProOPC #proopc-payment-form fieldset > label:hover {
  border-color: #0085b5;
  background: #f5fbff;
}
#ProOPC #proopc-shipment-form fieldset > input[type="radio"]:checked + label,
#ProOPC #proopc-payment-form fieldset > input[type="radio"]:checked + label {
  border-color: #0085b5;
  background: #edf8ff;
  box-shadow: inset 0 0 0 1px #0085b5;
}
#ProOPC .vmshipment_name,
#ProOPC .vmpayment_name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}
#ProOPC #proopc-shipment-form .vmshipment_description,
#ProOPC #proopc-payment-form .vmpayment_description {
  font-size: 13px;
  line-height: 1.55;
  color: #475569;
}
#ProOPC .vmCartShipmentLogo img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
#ProOPC div[id^="selectedPickupPoint_"],
#ProOPC .topshipping_pickup_selected_place {
  box-sizing: border-box;
  max-width: 100%;
  overflow-wrap: anywhere;
}
#ProOPC .topshipping_pickup_selected_place br { line-height: 1.4; }
#ProOPC .btn {
  box-sizing: border-box;
  border-radius: 8px;
  box-shadow: none;
  text-shadow: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
#ProOPC table.cart-summary {
  border-color: #d5e5ef;
  background: #fff;
}
#ProOPC table.cart-summary th {
  padding: 10px 8px;
  background: #f2f8fc;
  color: #073b60;
  border-color: #d5e5ef;
}
#ProOPC table.cart-summary td {
  border-color: #e3edf4;
}
@media (max-width: 768px) {
  body #ProOPC .proopc-process-title {
    font-size: 15px;
    padding-right: 90px;
    border-bottom: 1px solid #d5e5ef;
  }
  #ProOPC input[type="text"],
  #ProOPC input[type="email"],
  #ProOPC input[type="tel"],
  #ProOPC input[type="password"],
  #ProOPC input[type="number"],
  #ProOPC select,
  #ProOPC textarea {
    font-size: 16px;
    min-height: 44px;
  }
  #ProOPC .coll-content {
    box-sizing: border-box;
    max-width: 100%;
  }
  #ProOPC .go-next-btn { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  #ProOPC #proopc-shipment-form fieldset > label,
  #ProOPC #proopc-payment-form fieldset > label { transition: none; }
}
/* ATC – objednavka VP One Page Checkout – END */


/* ATC – kosik v2: kontrast a mobilni sekce */
body #ProOPC #proopc-shipment-form .vmshipment_description,
body #ProOPC #proopc-payment-form .vmpayment_description,
body #ProOPC #proopc-shipment-form .vmshipment_description :is(span, p, strong, b),
body #ProOPC #proopc-payment-form .vmpayment_description :is(span, p, strong, b) {
  color: #475569 !important;
  opacity: 1;
}
@media (max-width: 768px) {
  /* Puvodni vnejsi ramecek obalu; nadpis ma vlastni zaobleny ramecek. */
  body #ProOPC div:has(> .proopc-process-title),
  body #ProOPC div:has(> .coll-header) {
    border: 0 !important;
    box-shadow: none !important;
  }
  body #ProOPC .proopc-process-title,
  body #ProOPC .coll-header {
    margin-top: 0;
    margin-bottom: 0;
  }
  body #ProOPC .coll-content {
    padding-top: 10px !important;
    padding-bottom: 0;
    border: 0;
    box-shadow: none;
  }
  body #ProOPC #proopc-shipment-form,
  body #ProOPC #proopc-payment-form {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body #ProOPC #proopc-shipment-form fieldset,
  body #ProOPC #proopc-payment-form fieldset {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body #ProOPC #proopc-shipment-form fieldset > label,
  body #ProOPC #proopc-payment-form fieldset > label {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }
}
/* ATC – kosik v2 – END */

/* ATC – kosik v3: pismo, pole a tlacitka */
body #ProOPC {
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px;
  line-height: 1.55;
}
body #ProOPC :is(table, th, td, p, label, input, select, textarea, h1, h2, h3, h4, .proopc-process-title) {
  font-family: Roboto, Arial, sans-serif !important;
}
body #ProOPC :is(label, p, td) { font-size: 14px; line-height: 1.55; }
body #ProOPC table.cart-summary th {
  font-size: 13px;
  font-weight: 700;
  text-transform: none;
}
body #ProOPC table.cart-summary td { text-transform: none; }
body #ProOPC table.cart-summary td:first-child a:not(.btn):not(:has(img)) {
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.45;
  color: #073b60;
  white-space: normal;
  overflow-wrap: anywhere;
  text-transform: none;
}
body #ProOPC table.cart-summary td:first-child a:not(.btn):hover { color: #007ca8; }
body #ProOPC table.cart-summary :is(.product-sku, .cart-sku, .customProductData) {
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body #ProOPC table.cart-summary :is(.PricebillTotal, .billTotal) {
  font-size: 20px !important;
  line-height: 1.4;
  font-weight: 700;
}
body #ProOPC :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select, textarea) {
  box-sizing: border-box !important;
  min-height: 42px;
  max-width: 100%;
  padding: 9px 11px !important;
  border: 1px solid #bfd6e5 !important;
  border-radius: 8px !important;
  background-color: #fff;
  color: #073b60;
  font-size: 14px;
  box-shadow: none !important;
}
body #ProOPC :is(input.invalid, textarea.invalid, select.invalid, input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"]) {
  border-color: #c53434 !important;
}
/* Ikonova tlacitka tabulky mnozstvi nejsou zahrnuta. */
body #ProOPC :is(button, input[type="submit"], input[type="button"], a.btn):not(table *):not(.vmicon) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 42px;
  height: auto;
  padding: 10px 16px !important;
  border: 1px solid #bfd6e5 !important;
  border-radius: 8px !important;
  background: #edf7fc !important;
  color: #006b91 !important;
  font-family: Roboto, Arial, sans-serif;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-align: center;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
}
body #ProOPC #proopc-shipment-form :is(button, input[type="button"], a.btn, a.wfpopup),
body #ProOPC .proopc-confirm-order :is(button, input[type="submit"], a.btn) {
  border-color: #0085b5 !important;
  background: #0085b5 !important;
  color: #fff !important;
}
body #ProOPC .proopc-confirm-order :is(button, input[type="submit"], a.btn) {
  min-height: 48px;
  width: 100%;
  font-size: 15px !important;
}
body #ProOPC :is(button, input[type="submit"], input[type="button"], a.btn):not(table *):not(.vmicon):hover:not(:disabled):not(.disabled) {
  background: #073b60 !important;
  border-color: #073b60 !important;
  color: #fff !important;
}
body #ProOPC :is(button, input[type="submit"], input[type="button"]):disabled {
  opacity: .55;
  cursor: not-allowed;
}
@media (min-width: 769px) {
  body #ProOPC div:has(> .proopc-process-title) {
    border-radius: 12px;
    border-color: #d5e5ef;
  }
}
@media (max-width: 768px) {
  body #ProOPC :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select, textarea) {
    min-height: 44px;
    font-size: 16px !important;
  }
}
/* ATC – kosik v3 – END */

/* ATC – kosik v4: zarovnani kroku, font odkazu, oznacene akce */
@media (min-width: 769px) {
body #ProOPC .proopc-process-title {
  display: flex !important;
  align-items: center !important;
  gap: 7px;
}
body #ProOPC .proopc-process-title .proopc-step {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  float: none !important;
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 26px;
  min-height: 26px;
  line-height: 1 !important;
  vertical-align: middle;
}
}
body #ProOPC :is(a, strong, b, .vmshipment_name, .vmpayment_name, .vmshipment_description, .vmpayment_description) {
  font-family: Roboto, Arial, sans-serif !important;
}
body .atc-checkout-action {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  min-height: 42px !important;
  height: auto !important;
  max-width: 100%;
  padding: 10px 16px !important;
  margin: 4px;
  border: 1px solid #bfd6e5 !important;
  border-radius: 8px !important;
  background: #edf7fc !important;
  color: #006b91 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-align: center;
  text-shadow: none !important;
  box-shadow: none !important;
  white-space: normal !important;
}
body .atc-checkout-action.atc-checkout-primary,
body #ProOPC .atc-checkout-action.atc-checkout-primary {
  border-color: #0085b5 !important;
  background: #0085b5 !important;
  color: #fff !important;
}
body .atc-checkout-action.atc-checkout-order,
body #ProOPC .atc-checkout-action.atc-checkout-order {
  width: 100%;
  min-height: 48px !important;
  margin: 8px 0 0;
  font-size: 15px !important;
}
body .atc-checkout-action:hover:not(:disabled):not(.disabled),
body #ProOPC .atc-checkout-action:hover:not(:disabled):not(.disabled) {
  background: #073b60 !important;
  border-color: #073b60 !important;
  color: #fff !important;
}
body .atc-checkout-action:focus-visible { outline: 2px solid #0085b5; outline-offset: 3px; }
/* ATC – kosik v4 – END */

/* ATC v5 - shodne rozmery hornich tlacitek */
body .atc-checkout-action.atc-checkout-toolbar {
  width: 220px !important;
  max-width: calc(100% - 8px) !important;
  min-height: 46px !important;
  padding: 10px 14px !important;
  margin: 4px !important;
  vertical-align: middle;
}

/* Hlavni objednavkova akce: prednost pred obecnym stylem tlacitek. */
body #ProOPC#ProOPC .atc-checkout-action.atc-checkout-order,
body #ProOPC#ProOPC input[value*="povinností platby"] {
  background: #0085b5 !important;
  border: 1px solid #0085b5 !important;
  color: #fff !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
body #ProOPC#ProOPC .atc-checkout-action.atc-checkout-order:hover:not(:disabled):not(.disabled),
body #ProOPC#ProOPC input[value*="povinností platby"]:hover:not(:disabled) {
  background: #073b60 !important;
  border-color: #073b60 !important;
}

/* ATC v6 – mobilni zarovnani horni dvojice a kompaktnejsi tabulka */
@media (max-width: 768px) {
  body #ProOPC :is(div, span, p):has(> .atc-checkout-toolbar) {
    box-sizing: border-box !important;
    display: block !important;
    float: none !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
  }
  body .atc-checkout-action.atc-checkout-toolbar,
  body #ProOPC .atc-checkout-action.atc-checkout-toolbar {
    display: flex !important;
    float: none !important;
    position: static !important;
    transform: none !important;
    width: 220px !important;
    max-width: 100% !important;
    margin: 8px 0 8px auto !important;
    box-sizing: border-box !important;
  }
  body #ProOPC table.cart-summary td {
    box-sizing: border-box;
    min-height: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 9px 10px !important;
    line-height: 1.45;
  }
  body #ProOPC table.cart-summary td::before {
    position: static !important;
    display: block;
    float: none !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    font-size: 13px;
    line-height: 1.4;
  }
  body #ProOPC table.cart-summary td p {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }
  body #ProOPC table.cart-summary .cart-images {
    margin-bottom: 6px;
  }
}
/* ATC v6 – END */

/* ATC v7 – citelny souhrn dopravy a platby */
body #ProOPC table.cart-summary :is(.vmshipment_description, .vmpayment_description),
body #ProOPC table.cart-summary :is(.vmshipment_description, .vmpayment_description) :is(span, p, strong, b) {
  color: #475569 !important;
  opacity: 1 !important;
  font-size: 13px;
  line-height: 1.5;
}
/* Popisky a hodnoty vedle sebe; puvodni zobrazeni/skryti bunek zachovano. */
@media (max-width: 768px) {
  body #ProOPC table.cart-summary td:not(:first-child) {
    text-align: right !important;
    min-height: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    overflow-wrap: anywhere;
  }
  body #ProOPC table.cart-summary td:not(:first-child)::before {
    float: left !important;
    clear: none !important;
    width: 40% !important;
    margin: 0 6% 0 0 !important;
    text-align: left !important;
    font-weight: 600;
  }
  body #ProOPC table.cart-summary td:not(:first-child)::after {
    content: "";
    display: block;
    clear: both;
  }
  body #ProOPC table.cart-summary td:not(:first-child) :is(div[class*="Price"], span[class*="Price"]) {
    text-align: right !important;
    line-height: 1.5;
  }
  body #ProOPC table.cart-summary td:not(:first-child) > div {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  /* Ovladace mnozstvi maji vlastni radek a zustavaji pohodlne ovladatelne. */
  body #ProOPC table.cart-summary td:has(input, button) {
    text-align: left !important;
  }
  body #ProOPC table.cart-summary td:has(input, button)::before {
    float: none !important;
    width: auto !important;
    margin: 0 0 4px !important;
  }
}
/* ATC v7 – END */

/* ATC v8 – svetle modry pruh konecne ceny */
body #ProOPC table.cart-summary tr:has(.PricebillTotal),
body #ProOPC table.cart-summary tr:has(.PricebillTotal) > td,
body #ProOPC table.cart-summary tr:has(.billTotal),
body #ProOPC table.cart-summary tr:has(.billTotal) > td {
  background: #edf7fc !important;
  border-color: #cce3ef !important;
}
/* ATC v8 – END */

/* ATC – bocni kosik v1, vcetne polozek doplnenych pres AJAX */
body #vmCartModule #cart-panel2 {
  z-index: 10001;
  max-width: 100vw;
  box-sizing: border-box;
  background: #fff;
  color: #334155;
  font-family: Roboto, Arial, sans-serif;
  box-shadow: -8px 0 28px rgba(7,59,96,.12);
}
body #vmCartModule #cart-panel2.panel2 { width: 360px; }
body #vmCartModule #cart-panel2 .cartpanel {
  box-sizing: border-box;
  position: relative;
  padding: 24px 20px;
  max-height: 100vh;
  max-height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
}
body #vmCartModule #cart-panel2 .close-cart-panel {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  line-height: 34px;
  text-align: center;
  right: 12px;
  top: 12px;
  border: 1px solid #d5e5ef;
  border-radius: 8px;
  background: #f2f8fc;
  color: #073b60;
  font-size: 24px;
  cursor: pointer;
}
body #vmCartModule #cart-panel2 .show-cart-link {
  margin: 0 42px 20px 0;
  color: #073b60;
  font-size: 17px;
  font-weight: 700;
}
body #vmCartModule #cart-panel2 .vm_cart_products .product_row {
  box-sizing: border-box;
  margin: 0 0 12px;
  padding: 14px;
  border: 1px solid #d5e5ef;
  border-radius: 10px;
  background: #fff;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body #vmCartModule #cart-panel2 .quantity { font-weight: 700; color: #475569; }
body #vmCartModule #cart-panel2 .product_name {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
body #vmCartModule #cart-panel2 .product_name a {
  color: #073b60;
  font-family: Roboto, Arial, sans-serif;
  text-decoration: none;
}
body #vmCartModule #cart-panel2 .product_name a:hover { color: #0085b5; }
body #vmCartModule #cart-panel2 .subtotal_with_tax {
  float: none !important;
  display: block;
  clear: both;
  margin-top: 8px;
  text-align: right;
  color: #0085b5;
  font-size: 16px;
  font-weight: 700;
}
body #vmCartModule #cart-panel2 .customProductData {
  margin-top: 6px;
  color: #475569;
  font-size: 13px;
}
body #vmCartModule #cart-panel2 .total {
  box-sizing: border-box;
  margin: 18px 0 14px;
  padding: 16px;
  background: #edf7fc;
  border: 1px solid #d5e5ef;
  border-radius: 10px;
  color: #073b60;
  font-size: 16px;
  line-height: 1.5;
}
body #vmCartModule #cart-panel2 .total strong { font-size: 20px; }
body #vmCartModule #cart-panel2 .popup-cart { padding: 0; margin: 0; box-shadow: none; }
body #vmCartModule #cart-panel2 .button-group { margin: 0; padding: 0; }
body #vmCartModule #cart-panel2 a.showcart {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid #0085b5 !important;
  border-radius: 8px !important;
  background: #0085b5 !important;
  color: #fff !important;
  font: 700 15px/1.4 Roboto, Arial, sans-serif;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  box-shadow: none;
}
body #vmCartModule #cart-panel2 a.showcart:hover { background: #073b60 !important; }
body #vmCartModule #cart-panel2 a:focus-visible { outline: 2px solid #0085b5; outline-offset: 3px; }
@media (max-width: 380px) {
  body #vmCartModule #cart-panel2 .cartpanel { padding: 20px 14px; }
}
/* ATC – bocni kosik v1 – END */

/* Keep the header return link below the cart panel. */
#top-handler .vmwithdrawal-item { z-index: auto !important; }

/* ATC: full-height mini-cart and consistent AJAX rows */
body #vmCartModule { position: relative; z-index: 10002; }
body #vmCartModule #cart-panel2.panel2 {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: none !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
body #vmCartModule #cart-panel2.panel2 .cartpanel {
  height: auto !important;
  max-height: none !important;
  min-height: 100%;
  overflow: visible;
}
body #vmCartModule #cart-panel2 .vm_cart_products,
body #vmCartModule #cart-panel2 .vm_cart_products .vmcontainer,
body #vmCartModule #cart-panel2 .vm_cart_products .product_row {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  float: none !important;
}
body #vmCartModule #cart-panel2 .vm_cart_products .vmcontainer {
  padding: 0 !important;
  margin: 0 !important;
}
body #vmCartModule #cart-panel2 .product_name {
  display: block !important;
  float: none !important;
  clear: both;
  width: 100% !important;
}
html.atc-mini-cart-open .moduletable.offcanvas-search,
html.atc-mini-cart-open #top-handler .vmwithdrawal-item {
  visibility: hidden !important;
  pointer-events: none !important;
}
/* Boční košík: čistý souhrn bez počtu a ikonky */
body #vmCartModule #cart-panel2 .total > .total_products,
body #vmCartModule #cart-panel2 .total i {
  display: none !important;
}
body #vmCartModule #cart-panel2 .cartpanel > .total::before {
  content: none !important;
  display: none !important;
}
/* Skrytí hledání pouze při otevřeném bočním košíku */
html.atc-mini-cart-open .mod-sp-vmajaxsearch,
html.atc-mini-cart-open .mod-sp-vmajaxsearch * {
  visibility: hidden !important;
  pointer-events: none !important;
}