:root {
    --white: #fff;
    --gray-dark: #24262a;
    --gray-light: #999;
    --discount-background: #090;
    --discount-border-color: #0c0;
    --discount-color: #d2ffd7;
    --ppl-modal-background: var(--white);
    --ppl-modal-border-color: #bebebe;
    --ppl-modal-shadow-color: rgb(0 0 0 / 30%);

    --space-small: .5em;
    --border-radius: 5px;
}

/* BASE */

body {
    font-size: 15px;
    color: #222428;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
}

@media print {

    body {
        background: white;
        color: black;
        font-size: 12pt;
    }
}

h1, h2, h3, h4, h5, h6 {
    color: #222428;
}

h1, h2 {
    font-size: 18px;
    font-weight: normal;
    line-height: 18px;
    background: url("../images/h-strike.gif") repeat-x center 21px;
    padding-bottom: 21px;
    margin: 20px 0 0;
    text-align: center;
    position: relative;
    text-shadow: 0 0 1px rgb(11 96 0 / 50%);
}

h3 {
    font-size: 18px;
    line-height: 20px;
    margin-bottom: 3px;
}

h4 {
    font-size: 1.2em;
    line-height: 1.25;
    margin-bottom: 1.25em;
}

h5 {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 1.5em;
}

h6 {
    font-size: 1em;
    font-weight: bold;
}

p {
    margin: 0;
    padding: 6px 0;
    line-height: 1.2;
    font-weight: normal;
}

/* unused in frontend templates
p img.left { float: left; margin: 0 8px 8px 0; padding: 0; }
*/

/* unused in frontend templates
p img.right { float: right; margin: 1.5em 0 1.5em 1.5em; }
*/

/* a:visited { color: #30334A; } */

a {
    color: #29a6ec;
    text-decoration: underline;
}

@media print {

    a::after { /* media print */
        content: " (" attr(href) ") ";
        font-size: 90%;
    }
}

a:focus, a:hover {
    color: #1e93d4;
}

hr {
    color: #bebebe;
    background-color: #bebebe;
    border: none;
    height: 1px;
    margin: 6px 0;
    clear: both;
}

blockquote {
    margin: 1.5em;
    color: #666;
    font-style: italic;
}

strong {
    font-weight: bold;
}

em, dfn {
    font-style: italic;
}

dfn {
    font-weight: bold;
}

sup, sub {
    line-height: 1.22;
    font-size: xx-small;
}

sup {
    vertical-align: top;
}

sub {
    vertical-align: bottom;
}

abbr, acronym {
    border-bottom: 1px dotted #666;
}

address {
    margin: 0 0 1.5em;
    font-style: italic;
}

del {
    color: #666;
}

pre {
    margin: 1.5em 0;
    white-space: pre;
}

pre, code, tt {
    font: 1em 'andale mono', 'lucida console', monospace;
    line-height: 1.5;
    color: #d0a600;
}

ul, ol {
    margin: 0 1.5em 1.5em;
}

ul {
    list-style-type: disc;
}

ol {
    list-style-type: decimal;
}

li ul, li ol {
    margin: 0 1.5em;
}

dl {
    margin: 0 0 1.5em;
}

dl dt {
    font-weight: bold;
}

dd {
    margin-left: 1.5em;
}

table {
    margin-bottom: 1.4em;
    width: 100%;
}

th {
    font-weight: bold;
}

th, td, caption {
    padding: 4px 10px 4px 5px;
}

th, td {
    padding: 3px 0.5em;
}

thead th {
    background: #acaeb9;
}

/* unused in frontend templates
tr.even td { background: #e5ecf9; }
*/

tfoot {
    font-style: italic;
}

caption {
    background: #eee;
    color: #000;
}

/* UTILITIES */

.center {
    text-align: center;
}

/* button může byt použit pro <a>, <button> a <input submit> */

.button {
    display: inline-grid;
    place-items: center;
    white-space: nowrap;
}

/* unused in frontend templates
.small { font-size: .8em; margin-bottom: 1.875em; line-height: 1.875em; }

.large { font-size: 1.2em; line-height: 2.5em; margin-bottom: 1.25em; }

.hide, .hidden { display: none; }

.quiet { color: #666; }

.loud { color: #000; }

.highlight { background:#e6f6ff; color:#FFF; }

.added { background:#060; color: #fff; }

.removed { background:#900; color: #fff; }

.first { margin-left:0; padding-left:0; }

.last { margin-right:0; padding-right:0; }

.top { margin-top:0; padding-top:0; }

.bottom { margin-bottom:0; padding-bottom:0; }
*/

/** overlay pro ajax formuláře apod. Parent container musí být position relative */

.overlay-container {
    position: relative;
}

.overlay {
    background: var(--gray-light) repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 1rem,
        rgb(255 255 255 / 40%) 1rem,
        rgb(255 255 255 / 40%) 2rem
    );
    background-size: 200% 200%;
    display: none;
    height: 100%;
    left: 0;
    opacity: 0.75;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 3;
}

.js-loading .overlay {
    animation: barberpole 10s linear infinite;
    display: block;
}

@keyframes barberpole {

    100% {
        background-position: 100% 100%;
    }
}

td.number {
    text-align: right;
}

h3, h4, h5 {
    font-weight: normal;
    border-bottom: #cecece solid 1px;
    text-align: center;
    position: relative;
}

select, input, textarea {
    background: #F1F1F7;
    border: 1px solid #D3D4DC;
    color: #303840;
}

.cleaner {
    clear: both;
}

::selection {
    background: #000;
    color: white;
}

/* LAYOUT */

.wrapper {
    width: 993px;
    margin: 0 auto;
    position: relative;
}

#header-wraper {
    height: 200px;
    background: #eaeaeb url("../images/bg_header-wraper.gif") repeat-y center;
}

#header {
    width: 993px;
    height: 200px;
    margin: 0 auto;
    background: url("../images/bg_header.jpg") no-repeat top center;
    position: relative;
}

@media print {

    #header {
        border-bottom: 1px solid black;
    }
}


a#logo {
    display: block;
    width: 154px;
    height: 82px;
    position: absolute;
    top: 6px;
    left: 0;
    text-decoration: none;
}

#slogan {
    position: absolute;
    bottom: 19px;
    left: 0;
    font-size: 18px;
    color: #919399;
}

.cart {
    position: absolute;
    width: 188px;
    height: 178px;
    top: 10px;
    right: 0;
}

/* COMPONENTS */

/* BLOCK: cart-box
   Purpose: košík v headeru. */

#kosikTop {
    position: absolute;
    width: 188px;
    height: 178px;
    top: 10px;
    right: 0;
    border: #348fc2 solid 1px;
    border-radius: 5px;
}

#kosikTop h3 {
    color: #ddf3ff;
    border: none;
}

/* #kosikTop h4 { color:#e6f6ff; border:none; font-size:24px; margin:0px; padding:0px;} */

/* #kosikTop h4 span {font-size:12px;} */

.cart__price {
    display: none !important; /* skryt cenu bez DPH */
}

#kosikTop p {
    color: #fff;
    font-size: 12px;
    text-align: center;
}

#kosikTop p strong {
    color: #65c7ff;
}

#kosikTop p a.buton {
    padding: 3px 40px;
}


/* END BLOCK: cart-box */

#menu {
    width: 993px;
    height: 33px;
    font-size: 14px;
    text-align: center;
    margin: 10px auto;
    position: relative;
    box-shadow: inset 0 0 1px #fff;
    border: #24262a solid 1px;
    border-radius: 5px;
    background-color: #FFF;
    background-image: linear-gradient(to bottom, rgb(37 39 43 / 100%), rgb(54 57 62 / 100%));
}

#menu ul {
    margin: 0;
}

#menu li {
    display: inline;
    list-style-type: none;
}

#menu a {
    text-decoration: none;
    color: #eaeaeb;
    display: block;
    height: 27px;
    padding: 2px 15px;
    line-height: 27px;
}

#menu li a {
    display: inline-block;
    white-space: nowrap;
}

#menu a:hover {
    border-top: #b6b7b7 dotted 1px;
    border-bottom: #b6b7b7 dotted 1px;
    color: #fff;
}

#menu li.selected a {
    background: #2c9edf;
    color: #fff;
    border-top: #80c5ec solid 1px;
    border-bottom: #80c5ec solid 1px;
}

#menu ul li ul {
    position: absolute;
    top: 33px;
    left: 0;
    width: 993px;
    height: 34px;
    z-index: 100;
    padding: 0;
    box-shadow: inset 0 0 1px #fff;
    border: #aadcf9 solid 1px;
    border-radius: 5px;
    background-color: #2c9edf;
    background-image: linear-gradient(to bottom, rgb(44 158 223 / 100%), rgb(110 195 244 / 100%));
    display: none;
}

#menu ul li.selected ul {
    display: block;
}

#menu ul li ul li a {
    color: #25272b;
    border-top: #e2ba01 dotted 1px;
    border-bottom: #e2ba01 dotted 1px;
}

#menu ul li ul li a:hover, #menu ul li ul li a.selected {
    color: #fff;
    border-top: #25272b dotted 1px;
    border-bottom: #25272b dotted 1px;
}

/* BLOCK: homepage slider
   Purpose: Slider s bannery na homepage. */

#sliderHolder {
    width: 993px;
    height: 239px;
    margin: 0 auto;
    background: #efeff0;
    border: #e6e6e7 solid 1px;
    border-radius: 5px;
    position: relative;
}

#sliderHolder .swiper {
    width: 993px;
    height: 239px;
}

#sliderHolder .swiper video {
    width: 100%;
    height: auto;
    background: url("../images/cs-phone-movie.jpg") no-repeat top center;
}

.swiper-wrapper {
    padding: 0;
    list-style-type: none;
}

ul.swiper-wrapper {
    padding: 0;
    margin: 0;
}

#sliderHolder.minified {
    height: 50px;
}

.banner-toggle {
    border: #e6e6e7 solid 1px;
    background: #fff;
    border-radius: 10px;
    color: #b9b9b9;
    padding: 2px 8px;
    text-align: center;
    position: absolute;
    bottom: -10px;
    left: 450px;
    font-size: 12px;
    cursor: pointer;
    z-index: 94;
}

.banner-toggle span {
    position: absolute;
    top: -15px;
    left: 40px;
    display: block;
    width: 22px;
    height: 13px;
    background: url("../images/web-icons.png") no-repeat top center;
}

#sliderHolderMin {
    width: 993px;
    height: 26px;
    margin: 0 auto;
    background: #efeff0;
    border: #e6e6e7 solid 1px;
    border-radius: 5px;
    position: relative;
}

.banner-toggle[data-action="show"] span {
    background-position: 0 -67px;
}

/* END BLOCK: Homepage slider */

span.buton, a.buton, input.buton, button.buton {
    color: #dcdcdc;
    font-size: 12px;
    font-weight: normal;
    line-height: 21px;
    height: 21px;
    padding: 3px 10px;
    text-decoration: none;
    position: relative;
    cursor: pointer;
    box-shadow: inset 0 0 1px #02293d;
    border: #2289c2 solid 1px;
    border-radius: 5px;
    background-color: #FFF;
    background-image: linear-gradient(to bottom, rgb(0 90 141 / 100%), rgb(3 54 82 / 100%));
}

span:hover.buton, a:hover.buton, input:hover.buton, button:hover.buton {
    border: #41bbff solid 1px;
}

input.buton, button.buton {
    padding: 0 4px;
    margin: 0 4px;
    height: 24px;
}

.buton.buton--large {
    display: inline-block;
    font-size: 18px;
    height: auto;
    line-height: 1.5;
    padding: .4em 2em;
}

#siderLeft {
    float: left;
    padding: 0;
    width: 240px;
}

/* unused in frontend templates
.bannerHolder {margin:5px auto; text-align:center; clear:both;}

.comentItem { margin:0 0 5px; position: relative;}

.comentItem p { padding:0;}

.comentInfo { background: #f2f2f2; padding:3px;border-radius:5px; border-radius: 5px; border-radius:5px;}

.comentInfo h4 { color:#014d03; font-size:14px; border:none; margin:0; font-weight:bold;}

.viceInfo{ display:block; width:23px; height:23px; background: url("../images/ikony2-mystrips.png") no-repeat; background-position: -54px -1px; position:absolute; top:42px; right:-10px; }

.viceInfo strong {display:none;}
*/

/* BLOCK: search-box
   Purpose: Vyhledávací pole v sidebaru. */

#serchBox {
    border: #e6e6e7 solid 1px;
    background: #efeff0;
    margin: 12px 0;
    border-radius: 5px;
    padding: 5px 10px;
}

#serchBox input[type="search"] {
    border: #e6e6e7 solid 1px;
    background: #fff;
    color: #979797;
    border-radius: 5px;
    width: 155px;
    height: 21px;
    text-align: center;
}

#serchBox input:hover.buton {
    border: #000 solid 1px;
}

.autoComplete_wrapper {
    width: inherit;
}

/* END BLOCK: search-box */

#kategorie {
    width: 240px;
    margin-bottom: 10px;
}

#kategorie ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 14px;
}

#kategorie li {
    margin: 0 0 1px;
}

#kategorie ul li a {
    text-decoration: none;
    color: #fff;
    display: block;
    padding: 0 0 0 12px;
    line-height: 24px;
    background: #2f3136 url("../images/bg_menu_kategory.gif") no-repeat;
}

#kategorie ul li a:hover {
    background-position: 0 -50px;
    color: #222427;
}

#kategorie ul li.js-selected a {
    background-position: 0 -50px;
    color: #222427;
}

#kategorie ul li ul li a, #kategorie ul li.js-selected ul li a {
    padding: 0 0 0 28px;
    color: #222427;
    line-height: 24px;
    background-position: 0 -25px;
}

#kategorie ul li ul li a:hover, #kategorie ul li ul li.js-selected a {
    background-position: 0 -50px;
    color: #222427;
}

#boxUserInfo {
    position: relative; /* kvuli overlay */
}

#boxCustomer {
    margin-bottom: 10px;
    text-align: center;
    padding: 5px;
    color: #e2e2e6;
    box-shadow: inset 0 0 1px #fff;
    border: #033652 solid 1px;
    border-radius: 5px;
    background-color: #FFF;
    background-image: linear-gradient(to bottom, rgb(11 89 133 / 100%), rgb(6 104 160 / 100%));
}

#boxCustomer input[type="email"], #boxCustomer input[type="password"] {
    border: #e6e6e7 solid 1px;
    background: #fff;
    color: #979797;
    border-radius: 5px;
    width: 190px;
    height: 21px;
    text-align: center;
}

#boxCustomer .login .buton {
    width: 190px;
}

#boxCustomer p span {
    color: #FFF;
    font-size: 18px;
}

.banner {
    padding-bottom: 10px;
}


#obsah {
    position: relative;
    float: right;
    width: 741px;
}

.breadcrumb {
    font-size: 13px;
    margin-bottom: 10px;
}

.breadcrumb > :first-child {
    text-transform: lowercase;
}

/* BLOCK: filter
   Purpose: Panel pro filtrování produktů. */

#filtr {
    height: 106px;
    margin-bottom: 10px;
    border: #e6e6e7 solid 1px;
    border-radius: 5px;
    background-color: #f1f1f2;
    background-image: linear-gradient(to bottom, rgb(241 241 241 / 100%), rgb(249 249 249 / 100%));
}

.filterButon {
    background: url("../images/bg-filter-btn.png") no-repeat right;
    width: 198px;
    height: 106px;
    display: block;
    float: right;
    border: #d0a600 solid 1px;
    border-left: none;
    font-size: 24px;
    color: #222428;
    border-radius: 0 5px 5px 0;
}

.filterButon:hover {
    color: #FFF;
    text-shadow: 0 0 6px rgb(97 77 0 / 90%);
}

#filtrFunkce {
    float: left;
    width: 520px;
    padding: 10px;
}

#filtr h6 {
    margin: 0;
}

#filtrFunkce img {
    max-height: 21px;
    max-width: 21px;
}

#filtrFunkce label {
    padding-right: 4px;
}

.filterItemHolder {
    display: inline-block;
    margin-right: 5px;
    font-size: 13px;
}

/* END BLOCK: filter */

/* BLOCK: list-toolbar
   Purpose: stránkování a řazení produktů. */

.list-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: #e6e6e7 solid 1px;
    background: #f6f6f6;
    border-radius: 5px;
    padding: 6px 10px;
    margin-bottom: 10px;
    clear: both;
    height: 21px;
}

.list-toolbar:empty {
    display: none;
}

.pagination {
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 21px;
}

.pagination ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.pagination__link {
    display: block;
    width: 21px;
    height: 21px;
    background: url("../images/iko-pager.png") no-repeat 0 -42px;
    color: #222428;
    text-align: center;
    font-size: 11px;
    line-height: 21px;
    text-decoration: none;
}

.pagination__link:hover {
    background-position: -21px -42px;
}

.pagination__link[aria-disabled="true"] {
    visibility: hidden;
}

.pagination .js-active .pagination__link {
    background-position: -21px -42px;
    color: #fff;
    font-weight: bold;
}

.pagination .js-farther {
    display: none;
}

@media (width >= 550px) {
    .pagination .js-farther {
        display: unset;
    }
}

.pagination__link--first,
.pagination__link--prev,
.pagination__link--next,
.pagination__link--last {
    text-indent: -9999px;
    overflow: hidden;
}

.pagination__link--first { background-position: 0 -84px; }
.pagination__link--first:hover { background-position: 0 -84px; }

.pagination__link--last { background-position: -21px -84px; }
.pagination__link--last:hover { background-position: -21px -84px; }

.pagination__link--prev { background-position: 0 -63px; }
.pagination__link--prev:hover { background-position: 0 -63px; }

.pagination__link--next { background-position: -21px -63px; }
.pagination__link--next:hover { background-position: -21px -63px; }

.pagination__counter {
    color: #555;
    font-size: 12px;
}

.sort {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    font-size: 12px;
    line-height: 21px;
}

.sort__group {
    display: inline-flex;
    align-items: center;
    background: url("../images/iko-pager.png") no-repeat 0 -126px;
    width: 37px;
    height: 21px;
}

.sort__link--asc,
.sort__link--desc {
    display: block;
    width: 16px;
    height: 21px;
    text-decoration: none;
    text-indent: -9999px;
    overflow: hidden;
    background: url("../images/iko-pager.png") no-repeat 40px 0;
}

.sort__link--asc:hover {
    background-position: 0 -21px;
}

.sort__link--desc:hover {
    background-position: -16px 0;
}

.sort__group .sort__link--desc {
    margin-left: auto;
}

/* END BLOCK: list-toolbar */

/* BLOCK: product-card
   Purpose: Karta produktu ve výpisech. */

.listItem {
    width: 238px;
    height: 265px;
    margin: 0 7px 20px 0;
    border: #e0e0e4 solid 1px;
    border-radius: 5px;
    overflow: hidden;
    float: left;
    position: relative;
    background: #fff url("../images/bg_price_listItem.gif") no-repeat bottom center;
}

.listItem:hover {
    border: #29a6ec solid 1px;
}

.listItem h5 {
    font-size: 18px;
    color: #222428;
    background: url("../images/bg_name_listItem.png") no-repeat center bottom;
    margin: 0;
    padding: 5px 0 45px;
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 238px;
    z-index: 4;
}

.listitemImg {
    width: 238px;
    height: 178px;
    object-fit: contain;
    position: absolute;
    top: 30px;
    left: 0;
    z-index: 3;
}

.listitemImg[src=""] {
    content: url("../images/nonimg-thumb-1.jpg");
}

.listItem a {
    text-decoration: none;
}

a div.listItemInfo {
    position: absolute;
    top: -215px;
    left: 0;
    width: 218px;
    height: 185px;
    background: url("../images/alfa-white-90-perc.png") repeat;
    padding: 10px;
    text-align: center;
}

a:hover div.listItemInfo {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 7;
}

.listItemInfo h6 {
    color: #29a6ec;
    border: #29a6ec solid 2px;
    padding: 10px;
    margin: 40px 0 0;
    border-radius: 5px;
    background: #fff;
}

.product-card__prices-container {
    display: grid;
    grid-template-areas: "prices cart";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3em;
    align-items: center;
}

.product-card__discount,
.product-card__prices {
    color: var(--white);
    grid-area: prices;
    place-items: center;
    font-size: 0.9rem;
}

.product-card__discount p,
.product-card__prices p {
    padding: 0;
}

.product-card__prices .amount {
    font-size: 1rem;
}

.product-card__price {
    display: none !important; /* skrýt cenu bez DPH */
}

/* .frmAddToCart { */

/*    border: none; */

/*    !*position: absolute;*! */

/*    !*bottom: 0px;*! */

/*    !*left: 0px;*! */

/*    padding: 5px; */

/*    width: 226px; */

/*    !*height: 36px;*! */

/*    height: auto; */

/* } */

.product-card__cart {
    grid-area: cart;
    display: flex;
    justify-content: flex-end;
}

.product-card__cart input[type="number"] {
    width: 2em;
    height: 20px;
    border: #2289c2 solid 1px;
    border-radius: 5px 0 0 5px;
    background: #FFF;
    text-align: center;
}

/* .frmAddToCart button.buton {-moz-border-radius: 0 5px 5px 0; -webkit-border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0; margin:0; border:#2289c2 solid 1px;} */

/* .frmAddToCart div { float:right; margin:5px 0;} */

/* .frmAddToCart p {line-height:30px; height:30px; padding:0; margin-top:2px; color:#e6f6ff; float:left;} */

/* .priceListItem {font-size:22px; letter-spacing:-1px; } */

/* END BLOCK: product-card */

/* BLOCK: product
   Purpose: Detail produktu. */

#prodDetail {
    border: #e0e0e4 solid 1px;
    border-radius: 5px;
    margin-bottom: 10px;
    padding: 10px;
}

.thumb-2 {
    display: block;
    width: 358px;
    height: 268px;
    position: relative;
    float: left;
}

.thumb-2 img {
    border: #e0e0e4 solid 1px;
}

.thumb-2 img:hover {
    border: #c7c7cb solid 1px;
}

.thumb-2 img[src=""] {
    content: url("../images/nonimg-thumb-2.jpg");
}

.thumb-2 span {
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width: 22px;
    height: 22px;
    background: url("../images/web-icons.png") no-repeat 0 -43px;
}

.product__main-image {
    display: grid;
    place-items: center;
}

.product__main-image img {
    display: block;
    max-width: 358px;
    max-height: 268px;
    object-fit: contain;
}

/* unused in frontend templates
#discountPrice { border-radius:5px; border-radius:5px; border-radius:5px; background:#090; color:#D2FFD7; border:#0C0 solid 1px; position:absolute; bottom: 45px; left:0; padding:1px 10px;}
*/

/* unused selector in frontend templates: #discountPrice span */

.listDiscountPrice span {
    color: #FFF;
    font-weight: bold;
}

.listDiscountPrice {
    border-radius: 5px;
    background: var(--discount-background);
    color: var(--discount-color);
    border: var(--discount-border-color) solid 1px;
    position: absolute;
    bottom: 55px;
    left: 1px;
    padding: 1px;
    width: 232px;
    z-index: 9;
    text-align: center;
}

#infoFloater {
    float: right;
    width: 350px;
    height: 270px;
    position: relative;
    overflow: hidden;
}

.product__prices-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "prices cart";
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    align-items: center;
    background: var(--gray-dark);
    border-radius: var(--border-radius);
    padding: 4px 6px;
    row-gap: 2px;
}

.product__discount,
.product__prices {
    color: var(--white);
    place-items: center;
    font-size: 0.9rem;
}

.product__discount p,
.product__prices p {
    padding: 0;
}

.product__prices .amount {
    font-size: 1rem;
}

/* .frmAddToCart { */

/*    border: none; */

/*    !*position: absolute;*! */

/*    !*bottom: 0px;*! */

/*    !*left: 0px;*! */

/*    padding: 5px; */

/*    width: 226px; */

/*    !*height: 36px;*! */

/*    height: auto; */

/* } */

.product__prices {
    grid-area: prices;
    display: flex;
    flex-direction: row;
    gap: var(--space-small);
    padding-left: var(--space-small);
}

.product__discount {
    display: flex;
    align-items: center;
    gap: var(--space-small);
    position: absolute;
    bottom: calc(100% + 5px);
    left: 0;
    padding: 1px 10px;
    background: var(--discount-background);
    border: var(--discount-border-color) solid 1px;
    border-radius: 5px;
    color: var(--discount-color);
}

.product__discount p {
    margin: 0;
}

.product__price {
    color: var(--gray-light);
}

.product__price-vat .amount {
    font-size: 1.2rem;
    letter-spacing: -1px;
}

.product__discount[hidden] {
    display: none;
}

.product__discount .product__price {
    color: inherit;
}

.product__discount .amount,
.product__discount .currency {
    color: var(--white);
    font-weight: bold;
}

/* product card variant of the shared discount template: one line, price with VAT only */

.listDiscountPrice .product__discount-label {
    color: inherit;
    font-weight: normal;
}

.listDiscountPrice .product__price {
    display: none;
}

.listDiscountPrice .product__price-vat:not([hidden]) {
    display: inline;
}

.listDiscountPrice .product__price-vat .amount {
    font-size: inherit;
    letter-spacing: normal;
}

.product__cart {
    grid-area: cart;
    display: flex;
    justify-content: flex-end;
}

.product__cart input[type="number"] {
    width: 2em;
    height: 20px;
    border: #2289c2 solid 1px;
    border-radius: 5px 0 0 5px;
    background: #FFF;
    text-align: center;
}

/*    #infoFloater .frmAddToCart { */

/*        width: 340px; */

/*        background: #24262a; */

/*        -moz-border-radius: 5px; */

/*        -webkit-border-radius: 5px; */

/*        border-radius: 5px; */

/*    } */

/* #infoFloater .frmAddToCart p em { color:#999999; font-style:normal;} */

.icons img {
    max-height: 44px;
    max-width: 44px;
    display: inline-block;
    padding-right: 2px;
}


/* unused selector in frontend templates: #variants */

#crossSell, #upSell {
    margin: 0;
    padding: 0;
    width: 741px;
}

[data-product-carousel].swiper {
    height: auto;
}

/* unused selector in frontend templates: #variants .listItem */

#crossSell .listItem, #upSell .listItem {
    margin-right: 0;
}

.doporuc {
    background: #24262a;
    border-radius: 5px;
    font-size: 18px;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
}

.doporuc span a {
    display: block;
    width: 100%;
    height: 100%;
}

.prevCross {
    float: left;
    display: block;
    width: 21px;
    height: 21px;
    background: url("../images/iko-pager.png") no-repeat 0 -105px;
    margin: 0 10px;
    cursor: pointer;
}

.nextCross {
    float: right;
    display: block;
    width: 21px;
    height: 21px;
    background: url("../images/iko-pager.png") no-repeat -21px -105px;
    margin: 0 10px;
    cursor: pointer;
}

#footer {
    width: 100%;
    margin: 10px 0 0;
    clear: both;
    position: relative;
    background: #f9f9f9;
    border-top: #f3f2f2 solid 1px;
}

#footer .wrapper {
    padding: 20px 0;
    background: #f9f9f9;
}

#footer h3 {
    padding: 0;
    margin: 0 0 10px;
    color: #a2a5a9;
    border-bottom: none;
    text-align: left;
}

#footer .wrapper ul {
    margin: 0;
    padding: 0;
}

#footer .wrapper ul li {
    font-size: 13px;
    list-style-type: none;
    color: #3a3b3d;
}

#footer .wrapper ul li a {
    color: #3a3b3d;
}

#footer .wrapper ul li a:hover {
    color: #29a6ec;
}

.boxFooterL {
    width: 235px;
    float: left;
    margin-right: 10px;
}

.boxFooterR {
    width: 243px;
    float: right;
    text-align: right;
}

.boxFooterR h3 {
    text-align: right;
}

#callNow {
    width: 243px;
    height: 132px;
    float: left;
    text-align: center;
    background: #fbfbfb url("../images/footer-logo.jpg") no-repeat top center;
    border: #e9e9e9 solid 1px;
    border-radius: 10px;
}

#callNow p {
    padding: 80px 0 0;
}

#callNow p strong {
    font-size: 18px;
}

/* END BLOCK: product */

/* cart */

.cart-main .col-price,
.cart-main .col-subtotal,
.cart-main tfoot {
    display: none;
}


/* /cart */

/* BLOCK: order
   Purpose: Formulář objednávky — kroky, souhrn, platba, doprava. */

.stepBYstep, .stepBYstep2, .stepBYstep3, .stepBYstep4 {
    width: 723px;
    height: 43px;
    background: url("../images/stepBYstep.jpg") no-repeat top;
}

.stepBYstep2 {
    background-position: 0 -43px;
}

.stepBYstep3 {
    background-position: 0 -86px;
}

.stepBYstep4 {
    background-position: 0 -129px;
}

.order-form {
    position: relative;
}

.order-form__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-small);
}

.order-form .checkholder {
    display: flex;
    align-items: baseline;
    gap: .25em;
}

/* #frmOrder .overlay {background: white;} */

/* #frmOrder .overlay.confirm:before { content: none; } */

/* #frmOrder .overlay.order-ok:before { content: none; } */

.order-form__preview {
    background: white;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

/* PPL */
.ppl__modal {
    position: fixed;
    inset: 5%;
    z-index: 1000;
    width: 90%;
    height: 90%;
    padding: 1rem;
    background: var(--ppl-modal-background);
    border: 1px solid var(--ppl-modal-border-color);
    box-shadow: 0 8px 32px var(--ppl-modal-shadow-color);
}

.ppl__modal[hidden] {
    display: none;
}

.ppl__close {
    position: absolute;
    top: .5rem;
    right: .5rem;
    z-index: 1001;
}

.ppl__map {
    width: 100%;
    height: 100%;
}

@media (max-width: 700px) {

    .ppl__modal {
        inset: 2%;
        width: 96%;
        height: 96%;
        padding: .75rem;
    }
}
/* /PPL */

/* .overlay {position: absolute; left:0; top:0; width: 100%; height: 100%; text-align:center;} */

/* .overlay:before { content: ''; !*      display: inline-block;*! height: 100%; vertical-align: middle; margin-right: -0.25em; !* Adjusts for spacing *!} */

/* .overlay .vert-center { display: inline-block; vertical-align: middle; !* width: 300px;*! padding: 10px 15px;} */

/* .overlay .vert-center .close { border:#FFF solid 1px; -moz-border-radius:5px; -webkit-border-radius: 5px; border-radius:5px; padding:2px 16px; cursor:pointer;} */

/* #frmOrder .overlay.loading, .overlay.loading { background: url(../images/ajax-loader.gif) repeat;} */

.overlay.warning {
    border-radius: 5px;
    background-color: #910000;
    border: 1px solid #F00;
}

.overlay.info {
    background: lightyellow;
    color: red;
}

/*** /order form */

/* unused in frontend templates
.cart-animated {background: #FFF url("../images/box_closing.gif") center center no-repeat;border-radius:5px; border-radius: 5px; border-radius:5px; border:1px solid #29a6ec;}
*/

#boxUserInfo div.overlay.warning {
    color: #fff;
}

/* .overlay.loading { background: url(../images/ajax-loader.gif) repeat;} */

legend {
    border: #e6e6e7 solid 1px;
    padding: 1px 4px;
    border-radius: 5px;
    color: #666;
}

fieldset {
    border: 1px solid #e6e6e7;
    border-radius: 5px;
    margin: 2px 0 5px;
    padding: 10px;
}

/* unused in frontend templates
#fldNote { width:700px;}
*/

/* unused selector in frontend templates: #prodDetPriceCZ */

.subtotal {
    background: #24262A;
    border-radius: 5px;
    color: #999;
    text-align: center;
    font-size: 12px;
    line-height: 32px;
    margin: 0 0 10px;
}

/* unused selector in frontend templates: #prodDetPriceCZ strong */

.subtotal strong {
    font-size: 22px;
    letter-spacing: -1px;
    font-weight: normal;
}

/* unused selector in frontend templates: #prodDetPriceCZDPH */

.subtotalVAT {
    background: #24262A;
    border-radius: 5px;
    color: #e6f6ff;
    text-align: center;
    font-size: 12px;
    line-height: 32px;
}

/* unused selector in frontend templates: #prodDetPriceCZDPH strong */

.subtotalVAT strong {
    font-size: 30px;
    letter-spacing: -1px;
    font-weight: normal;
}

.ordersPrices {
    text-align: center;
}

.ordersPrices strong, fieldset.ordersPrices strong {
    font-size: 22px;
    color: #FFF;
    font-weight: normal;
}

fieldset.ordersPrices {
    background: #25272B;
    color: #4dbbfa;
    padding: 0.625em;
    border: #25272B;
}

.orderedItems {
    padding: 22px 10px 10px;
    background: #FFF url("../images/web-icons.png") no-repeat center -87px;
}


/* END BLOCK: order */

/* BLOCK: ergoTabs
   Purpose: Záložkový widget. */

dl.ergoTabs {
    position: relative;
    padding: 0;
    overflow: auto;
    margin: 0;
}

dl.ergoTabs dt {
    cursor: pointer;
    float: left;
    height: 25px;
    left: 5px;
    line-height: 25px;
    padding: 0 1em;
    position: relative;
    z-index: 2;
    font-weight: normal;
    border: #e0e0e4 solid 1px;
    background: #fff;
    font-size: 13px;
    border-radius: 5px 5px 0 0;
}

dl.ergoTabs dt.js-active {
    font-weight: bold;
    background: #fbfbfb;
    border: #e0e0e4 solid 1px;
    border-bottom: #fbfbfb solid 1px;
    border-radius: 5px 5px 0 0;
}

dl.ergoTabs dt:hover {
    background: #ace1ff;
    border: #29a6ec solid 1px;
}

dl.ergoTabs dd {
    float: right;
    margin: 26px 0 0 -100%;
    width: 100%;
    z-index: 1;
    display: none;
}

dl.ergoTabs dd.js-active {
    display: block;
}

dl.ergoTabs dd div {
    background: #fbfbfb;
    padding: 15px;
    border: #e0e0e4 solid 1px;
    border-radius: 5px;
}

/* unused in frontend templates
dd table.edit {margin:0 auto; }

dd table.edit td { padding:0; }
*/

dl.ergoTabs dt.hilighter {
    border-left: #29a6ec solid 1px;
    border-top: #29a6ec solid 1px;
    border-right: #29a6ec solid 1px;
}

/* END BLOCK: ergoTabs */

table.clr {
    border-top: #24262a 1px solid;
    border-bottom: #24262a 1px solid;
    color: #000;
    width: 100%;
    margin: 10px auto;
}

table.clr td {
    background-color: #f5f4f4;
    padding: 0.3em;
    border-bottom: #e3e3e3 1px solid;
    vertical-align: middle;
}

table.clr th {
    background-color: #36383d;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    border-bottom: #24262a 1px solid;
    vertical-align: middle;
}

table.clr p {
    background-color: #25272b;
    color: #4dbbfa;
    padding: 0.625em;
}

/* placed after table.clr td: same or higher specificity, so it wins by source order */

.order-form .order-form__grand-total td {
    background: var(--gray-dark);
    color: var(--white);
}

/* ostatni -------------------------------------------------------------- */

/* unused in frontend templates
.picRight { display: block; float:right; background:#e0e2e7; border: #9b9da2 solid 1px; margin:0 0 10px 10px; padding:5px;}

.picRight img {border: #9b9da2 solid 1px;}
*/

/* Sample obsahu -------------------------------------------------------------- */

blockquote, q {
    font-style: italic;
}

/* unused in frontend templates
p.cite { text-align:right; font-style:italic;}
*/

pre code {
    border: 1px dotted #5f5f5f;
    background-color: rgb(0 0 0 / 10%);
    display: block;
    max-height: 15em;
    overflow: auto;
    padding: 0.5em;
}

/* unused in frontend templates
span.imgBox {
display:block;
width:200px;
float:right;
margin:0.5em 0 0.5em 0.5em;
border:1px solid #CCC;
background:#333;
}

span.imgBox span { padding: 0.5em; display:block;}
*/

form {
    margin: 0;
    padding: 0;
    border: none;
}

/* unused in frontend templates
p.error {
padding:0.5em; background-color:#910000;
border: 1px solid #f00;
color:#FFF; font-size:11px;
text-align:center;
margin:0; border-radius:5px; border-radius: 5px; border-radius:5px;
}

p.error:empty {background: none repeat scroll 0 0 transparent; border: medium none;}

p.important {
padding:0.5em; text-align:center; color:#624005; font-size:11px;
background-color:#fec42b; border:1px solid #cb8100; border-radius:5px; border-radius: 5px; border-radius:5px;
}
*/

p.warning {
    padding: 5px 0;
    background-color: #9f0000;
    border: 1px solid #f00;
    border-bottom: 1px solid #f90000;
    border-top: 1px solid #f90000;
    color: #FFF;
    font-size: 11px;
    text-align: center;
    margin: 0 0 10px;
    border-radius: 5px;
    z-index: 100;
    position: absolute;
    top: 0;
}

.msgOK {
    background-color: #090;
    border-bottom: 1px solid #0C0;
    border-top: 1px solid #0C0;
    color: #a5ffa5;
    font-size: 11px;
    padding: 5px 0;
    margin: 0;
    text-align: center;
    border-radius: 5px;
}

/* unused selectors in frontend templates: #errMsg, .msg */

/* unused selector in frontend templates: .msg */

/* unused selectors in frontend templates: #errMsg:empty, .msg:empty */

.msgOK:empty {
    display: none;
}

/* unused in frontend templates
#errMsg.empty { display:none; }
*/

/* unused selector in frontend templates: .msg.empty */

.msgOK.empty {
    display: none;
}

/* kvuli msie samostatny selector */

/* unused in frontend templates
input.error { border:#C00 solid 1px;}

label.error { background-color:#C00; color:#FFF; font-size:11px; border:#8f000a solid 1px; padding:2px 6px; display: block; margin:5px;
border-radius:5px; border-radius:5px; border-radius:5px; text-align:center;}

a.hover:hover { font-style:italic; }

a.active:active { font-weight:bold }
*/

/* unused selector in frontend templates: a.pdf */

a[href$=".pdf"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -64px;
    margin-left: 3px;
    padding-left: 20px;
}

/* a.image, a[href$=".jpg"] {
background:transparent url(../images/ikony.png) no-repeat; background-position: 0px -16px;
margin-left:3px; padding-left:20px;
} */

/* unused selector in frontend templates: a.word */

a[href$=".doc"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -112px;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused selector in frontend templates: a.excel */

a[href$=".xls"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -48px;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused selector in frontend templates: a.compress */

a[href$=".zip"] {
    background: transparent url("../images/ikony.png") no-repeat 0 0;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused selector in frontend templates: a.text */

a[href$=".txt"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -96px;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused selector in frontend templates: a.email */

a[href^="mailto:"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -32px;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused selector in frontend templates: a.ppt */

a[href$=".ppt"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -80px;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused selector in frontend templates: a.bin */

a[href$=".bin"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -160px;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused selector in frontend templates: a.rar */

a[href$=".rar"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -144px;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused selector in frontend templates: a.exe */

a[href$=".exe"] {
    background: transparent url("../images/ikony.png") no-repeat 0 -128px;
    margin-left: 3px;
    padding-left: 20px;
}

/* unused in frontend templates
table.pagination {
background: none repeat scroll 0 0 #efefef;
border-bottom: 1px solid #000;
border-top: 1px solid #000;
color: #000;
empty-cells: hide;
margin: 10px 0;
text-align: center;
width: 100%;
}

table.pagination td strong {color: #000;}
*/

/* unused selector in frontend templates: ul.gallery2 */

ul.gallery {
    width: 695px;
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

ul.gallery li {
    text-align: center;
    width: 166px;
    height: 125px;
    position: relative;
    float: left;
    margin: 0 5px 10px 0;
    background: #efeff0;
    border: #e0e0e4 solid 1px;
}

/* width:166px; height:125px; */

/* unused selector in frontend templates: ul.gallery2 li */

ul.gallery li:hover {
    border: #c7c7cb solid 1px;
}

/* unused in frontend templates
ul.gallery2 li img {background:#fbfbfb; border:#e0e0e4 solid 1px;}
*/

ul.gallery li p {
    background: #5f5f5f;
    font-size: 11px;
    color: #fff;
    width: 164px;
    height: 13px;
    line-height: 13px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: absolute;
    bottom: 10px;
    left: 1px;
}

ul.gallery li p:empty {
    display: none;
}

@media print {

    a img {
        border: 0;
    }
}


/* BLOCK: cookie-bar
   Purpose: GDPR cookie dialog — centrovano fixně přes viewport. */

.cookie-bar {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-height: calc(100% - 16px);
    width: 50%;
    z-index: 100;
    background: #fff;
    color: #141414;
    border-radius: 8px;
    box-shadow: 0 32px 68px rgb(0 0 0 / 30%);
    padding: 40px;
    text-align: center;
}

.cookie-bar strong {
    color: #000;
}

.cookie-bar label {
    cursor: pointer;
    font-weight: bold;
}

.cookie-bar button {
    border: 0;
    border-radius: 3px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    cursor: pointer;
}

.cookie-bar button.prefer {
    background: #005a8d;
    color: #fff;
}

.cookie-bar button:hover {
    background: #000;
    color: #fff;
}

/* END BLOCK: cookie-bar */

/* cart-animated used in js */

.cart-animated {
    background: var(--white) url("../images/box_closing.gif") center center no-repeat;
    border-radius: var(--border-radius);
    border: var(--border-color) solid 1px;
}

/* OVERRIDES */

/* overide node_modules/autocompleter/autocomplete.css */

.autocomplete > div:hover:not(.group),
.autocomplete > div.selected {
    background: var(--white);
}

.autocomplete mark {
    color: inherit;
    font-weight: bold;
}


/* sweetalert2: ikona skryta globálně, používají se jen textové zprávy */
.swal2-icon {
    display: none !important;
}

/* BLOCK: order-withdrawal
   Purpose: Formulář pro odstoupení od smlouvy. */

.order-withdrawal {
    position: relative;
}

.order-withdrawal [data-withdrawal-overlay] {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 10;
    background: rgb(255 255 255 / 95%);
    padding: 1em 2em;
    border: 1px solid var(--gray-light);
    border-radius: var(--border-radius);
    overflow-y: auto;
}

.order-withdrawal [data-withdrawal-overlay]:not([hidden]) {
    display: block;
}

.order-withdrawal__items td:first-child {
    text-align: center;
    width: 1.5em;
}

.order-withdrawal__items td:last-child,
.order-withdrawal__items th:last-child {
    width: 4em;
}

.order-withdrawal__items td:last-child {
    text-align: right;
}

.order-withdrawal__items td:last-child input {
    text-align: right;
}

/* END BLOCK: order-withdrawal */

/* -------- form-fields -------- */

.form-fields {
    align-items: baseline;
    display: grid;
    gap: 0.25rem 0.75rem;
    grid-template-columns: auto 1fr;
    margin-bottom: 0.5rem;
}

@media (width <= 480px) {

    .form-fields {
        grid-template-columns: 1fr;
    }
}

/* -------- end form-fields -------- */
