:root {
    --white: #fff;
    --gray-dark: #24262a;
    --gray-light: #999;

    --search-box-bg: #efeff0;
    --search-box-border: #e6e6e7;

    --space-small: .5em;
    --space-xs: .25em;
    --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 {
    background: url("../images/h-strike.gif") repeat-x center 21px;
    font-size: 18px;
    font-weight: normal;
    line-height: 18px;
    margin: 20px 0 0;
    padding-bottom: 21px;
    position: relative;
    text-align: center;
    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 {
    font-weight: normal;
    line-height: 1.2;
    margin: 0;
    padding: 6px 0;
}

p img.left {
    float: left;
    margin: 0 8px 8px 0;
    padding: 0;
}

p img.right {
    float: right;
    margin: 1.5em 0 1.5em 1.5em;
}

a {
    color: #e1b901;
    text-decoration: underline;
}

@media print {

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

a:focus, a:hover {
    color: #ca9300;
}

@media print {

    a img {
        border: 0;
    }
}

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: 1.4em 0;
    width: 100%;
}

th {
    font-weight: bold;
}

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

thead th {
    background: #acaeb9;
}

tr.even td {
    background: #e5ecf9;
}

tfoot {
    font-style: italic;
}

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

/* UTILITIES */

.center {
    text-align: center;
}

.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;
}

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

.last {
    margin-right: 0;
    padding-right: 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;
    text-align: center;
    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: 42px 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;
}

#lang {
    position: absolute;
    top: 104px;
    left: 0;
    font-size: 12px;
}

#lang a {
    color: #FFF;
    font-size: 12px;
    font-weight: normal;
    line-height: 20px;
    height: 20px;
    padding: 3px 10px;
    text-decoration: none;
    position: relative;
    border-radius: 10px;
    background: #3e3d3c;
    cursor: pointer;
}

#lang a:hover {
    color: #3e3d3c;
    background: #f8bd35;
}

.icon3D {
    width: 44px;
    height: 44px;
    position: absolute;
    right: 10px;
    bottom: 65px;
    z-index: 33;
}

/* COMPONENTS */

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

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

.cart {
    width: 100%;
    height: 100%;
    border: #494b4e solid 1px;
    border-radius: var(--border-radius);
}

.cart h3 {
    color: #adafb2;
    border: none;
}

.cart p {
    color: var(--white);
    font-size: 12px;
    text-align: center;
}

.cart p strong {
    color: #f0cb00;
}

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

.cart .cart__price {
    display: none;
}

.cart .cart__price-vat {
    color: #f4c900;
    border: none;
    margin: 0;
    padding: 0;
    font-size: 18px;
}

.cart-box .cart__price-vat span {
    font-size: 22px;
}

/* 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: linear-gradient(to bottom, #25272b, #36393e);
}

#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: #e2ba01;
    color: #202020;
    border-top: #f2e29b solid 1px;
    border-bottom: #e2ba01 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: #d0a600 solid 1px;
    border-radius: 5px;
    background: linear-gradient(to bottom, #e2ba01, #f3c800);
    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: hero-banner
   Purpose: Slider s bannery na homepage. */

.hero-banner {
    width: 993px;
    height: 239px;
    margin: 0 auto;
    background: #efeff0;
    border: #e6e6e7 solid 1px;
    border-radius: var(--border-radius);
    position: relative;
}

.hero-banner__carousel {
    width: 993px;
    height: 239px;
}

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

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

.hero-banner__toggle {
    border: #e6e6e7 solid 1px;
    background: var(--white);
    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;
}

.hero-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;
}

.hero-banner-mini .hero-banner__toggle span {
    background: url("../images/web-icons.png") no-repeat 0 -67px;
}

.hero-banner__nav-btn {
    cursor: pointer;
    height: 44px;
    position: absolute;
    top: 97px;
    width: 44px;
    z-index: 93;
}

.hero-banner__nav-btn--prev {
    background: url("../images/slider/arrow-prew-next.png") no-repeat 0 0;
    left: -22px;
}

.hero-banner__nav-btn--next {
    background: url("../images/slider/arrow-prew-next.png") no-repeat 0 -44px;
    right: -22px;
}

.hero-banner-mini {
    width: 993px;
    height: 26px;
    margin: 0 auto;
    background: #efeff0;
    border: #e6e6e7 solid 1px;
    border-radius: var(--border-radius);
    position: relative;
}

/* END BLOCK: hero-banner */

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 #000;
    border: #777 solid 1px;
    border-radius: 5px;
    background: linear-gradient(to bottom, #5f5f5f, #4b4b4b);
}

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

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

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

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

.search-box {
    background: var(--search-box-bg);
    border: var(--search-box-border) solid 1px;
    border-radius: var(--border-radius);
    margin: .75rem 0;
    padding: var(--space-xs) var(--space-small);
}

.search-box__controls {
    align-items: center;
    display: grid;
    gap: var(--space-xs);
    grid-template-columns: auto auto;
    justify-content: center;
    margin: 0;
    padding: var(--space-xs) 0;
}

.search-box__input {
    background: var(--white);
    border: var(--search-box-border) solid 1px;
    border-radius: var(--border-radius);
    color: var(--gray-light);
    height: 1.4rem;
    text-align: center;
    width: 9em;
}

.search-box__button {
    background: linear-gradient(to bottom, #5f5f5f, #4b4b4b);
    border: #777 solid 1px;
    border-radius: var(--border-radius);
    box-shadow: inset 0 0 1px #000;
    color: #dcdcdc;
    cursor: pointer;
    font-size: .8rem;
    font-weight: normal;
    height: 1.6rem;
    margin: 0 var(--space-xs);
    padding: 0 var(--space-xs);
}

.search-box__button:hover {
    border: #000 solid 1px;
}

/* 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: #24262a solid 1px;
    border-radius: 5px;
    background: linear-gradient(to bottom, #25272b, #36393e);
}

#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 .buton {
    width: 190px;
}

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

.banner {
    padding-bottom: 10px;
}

.noveinfo {
    background: #E9FFF0;
    padding: 40px;
    font-size: 16px;
    text-align: center;
    color: #093;
    border-radius: 5px;
    margin: 10px;
}

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

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

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

.filter {
    margin-bottom: 10px;
    overflow: hidden;
    border: #e6e6e7 solid 1px;
    border-radius: 5px;
    background: linear-gradient(to bottom, #f1f1f2, #f9f9f9);
}

.filter__button {
    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;
}

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

.filter-icons {
    display: inline-block;
    box-sizing: border-box;
    width: calc(100% - 200px);
    padding: 10px;
}

.filter-icons__heading {
    margin: 0;
}

.filter-icons__item {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs, .25em);
    margin: 2px;
    border-radius: 5px;
    border: #e6e6e7 solid 1px;
    padding: 2px;
}

.filter-icons__item:hover {
    border: #777 solid 1px;
}

.filter-icons__item img {
    height: 1.4em;
    width: 1.4em;
}

/* END BLOCK: filter */

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

.list-toolbar {
    display: flex;
    align-items: center;
    gap: var(--space-small, .5em);
    border: #e6e6e7 solid 1px;
    border-radius: 5px;
    background: #f6f6f6;
    padding: 6px 10px;
    margin-bottom: 10px;
}

.pagination {
    display: flex;
    align-items: center;
    gap: var(--space-small, .5em);
    line-height: 21px;
}

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

.pagination__link {
    display: block;
    width: 21px;
    height: 21px;
    background: url("../images/iko-pager.png") no-repeat 0 -42px;
    color: #222428;
    font-size: 11px;
    line-height: 21px;
    text-align: center;
    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 {
    overflow: hidden;
    text-indent: -9999px;
}

.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: var(--space-xs, .25em);
    margin-left: auto;
    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;
    overflow: hidden;
    text-decoration: none;
    text-indent: -9999px;
    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: #f0c600 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;
    position: absolute;
    top: 30px;
    left: 0;
    z-index: 3;
}

.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;
    display: none;
}

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

.product-card__prices-container {
    display: grid;
    grid-template-areas: "prices cart";
    grid-template-columns: 1fr auto;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 36px;
    padding: 0 5px;
}

.product-card__discount {
    align-items: center;
    display: flex;
    font-size: 0.8rem;
    gap: var(--space-small);
    grid-area: prices;
    padding-left: var(--space-small);
}

.product-card__prices {
    grid-area: prices;
    color: #f0c600;
    font-size: 0.8rem;
}

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

.product-card__price {
    display: none;
}

.product-card__cart {
    grid-area: cart;
    display: flex;
    align-items: center;
}

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

.product-card__cart button.buton {
    border-radius: 0 5px 5px 0;
    margin: 0;
}

/* END BLOCK: product-card */

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

.product-detail, .boxHold {
    border: #e0e0e4 solid 1px;
    border-radius: 5px;
    margin-bottom: 10px;
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}

.thumb-2 {
    display: block;
    flex-shrink: 0;
    width: 358px;
    height: 268px;
    position: relative;
    overflow: hidden;
}

.thumb-2 img {
    border: #e0e0e4 solid 1px;
    max-width: 100%;
    height: auto;
}

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

.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;
}

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

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

.listDiscountPrice {
    border-radius: 5px;
    background: #090;
    color: #D2FFD7;
    border: #0C0 solid 1px;
    position: absolute;
    bottom: 36px;
    left: 1px;
    padding: 1px;
    width: 232px;
    z-index: 9;
    text-align: center;
}

.product-detail__info {
    flex: 1;
    min-width: 300px;
    min-height: 270px;
    position: relative;
    overflow: hidden;
}

.product__prices-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "prices cart"
        "discount cart";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    min-height: 4.4em;
    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);
    font-size: 0.9rem;
}

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

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

.product__discount {
    grid-area: discount;
    display: flex;
    align-items: center;
    gap: var(--space-small);
    padding-left: var(--space-small);
}

.product__discount p {
    margin: 0;
}

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

.product__price-vat .amount {
    color: #f0c600;
    font-size: 1.7rem;
    font-weight: bold;
    letter-spacing: -1px;
}

.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;
}

.product__cart button.buton {
    border-radius: 0 5px 5px 0;
    margin: 0;
}

.product-availability {
    font-weight: bold;
    text-align: center;
    border-radius: 5px;
    border: 1px solid currentcolor;
}

.product-availability:empty {
    border: none;
}

.product-availability--in-stock {
    color: #093;
}

.product-availability--since {
    color: #e07000;
}

.product-availability--unknown {
    color: #777;
}

.product-availability--within-days {
    color: #e07000;
}

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


.cross-sell, .variants {
    margin: 0;
    padding: 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: #f0eded solid 1px;
}

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

#footer h3 {
    padding: 0;
    margin: 0 0 10px;
}

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

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

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

#footer .wrapper ul li a:hover {
    color: #5f5f5f;
}

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

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

#callNow {
    width: 243px;
    height: 132px;
    float: left;
    text-align: center;
    background: #f2f2f2 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 */

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

#frmOrder .overlay {
    background: white;
}

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

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

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

.overlay .vert-center {
    display: inline-block;
    vertical-align: middle;
    padding: 10px 15px;
}

.overlay .vert-center .close {
    border: #FFF solid 1px;
    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;
}



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

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

.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;
}

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;
}

#fldNote {
    width: 700px;
}

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

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

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

.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: #EAC101;
    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;
    width: 100%;
}

dl.ergoTabs dt {
    cursor: pointer;
    float: left;
    height: 25px;
    left: 5px;
    line-height: 25px;
    padding: 0 .8em;
    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: #fed100;
    border: #d0a600 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;
}

dd table.edit {
    margin: 0 auto;
}

dd table.edit td {
    padding: 0;
}

dl.ergoTabs dt.hilighter {
    border-left: #fed100 solid 1px;
    border-top: #fed100 solid 1px;
    border-right: #fed100 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: #eac101;
    padding: 0.625em;
}

blockquote, q {
    font-style: italic;
}

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;
}

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;
}

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

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

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;
}

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

p.warning {
    padding: 0.5em;
    background-color: #910000;
    border: 1px solid #f00;
    color: #FFF;
    font-size: 11px;
    text-align: center;
    margin: 0;
    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-bottom: 10px;
    text-align: center;
    border-radius: 5px;
}

.msgOK strong {
    color: #FFF;
}

p.warning, .msg {
    background-color: #9f0000;
    border-bottom: 1px solid #f90000;
    border-top: 1px solid #f90000;
    color: #FFF;
    padding: 5px 0;
    margin-bottom: 10px;
    text-align: center;
    border-radius: 5px;
}

.msg, .msgOK {
    margin: 0;
}

.msg:empty, .msgOK:empty {
    display: none;
}

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

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

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

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

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

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

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

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

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

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

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

ul.gallery li {
    text-align: center;
    width: 166px;
    height: 125px;
    position: relative;
}

ul.gallery li, ul.gallery2 li {
    float: left;
    margin: 0 5px 10px 0;
    background: #efeff0;
    border: #e0e0e4 solid 1px;
}

ul.gallery li:hover {
    border: #c7c7cb 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;
}

/* 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: #e2ba01;
    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: #FED100 solid 1px;
}

/* OVERRIDES */

/* autocompleter: výchozí hover barva přepsána na bílou dle designu */

.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 -------- */

/* BLOCK: 3D model
   Purpose: dialog s 3D modelem */

.dialog-model3d {
    border: none;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    height: min(90vh, 800px);
    padding: 0;
    width: min(90vw, 1100px);
}

.dialog-model3d__close {
    align-self: flex-end;
    margin: 0.25rem 0.5rem;
}

.dialog-model3d__frame {
    border: 0;
    flex: 1;
    width: 100%;
}

.dialog-model3d::backdrop {
    background: rgb(0 0 0 / 60%);
}

/* END BLOCK: 3D model */
