/*
    Custom style overrides in cart
*/

@media screen and (max-width: 640px) {
    #cart.cart-responsive #cart-right {
        float: none !important;
    }
}

#cart #cart-left {
    padding-right: 0 !important;
}

#cart #cart-right {
    position: relative !important;
    top: 0 !important;
    right: 0 !important;
    width: 100% !important;
    float: none !important;
    margin-top: 1em !important;
}

#cart #order-sum {
    position: relative;
    margin: 0 0 .5em 0;
    padding: 0 !important;
    background: #fff;
    border: 1px solid #808080 !important;
    border-radius: 4px !important;
    clear: both;
}

#cart #order-sum table.t1,
#cart #order-sum table.t2 {
    border-collapse: collapse;
}

#cart #order-sum table.t2 {
    margin: .5rem 0 0;
    border-top: .1rem solid #808080;
}

#cart #order-sum table.t1 tr td {
    padding: .5rem 0;
}

#cart #order-sum table.t2 tr td {
    padding: 1rem 0;
}

#cart #order-sum table.t1 tr.dots:not(:last-child),
#cart #order-sum table.t2 tr.dots {
    border-bottom: .1rem solid #f3f3f3;
}

#cart #order-sum table tr.dots .sum-capt small {
    font-weight: 400;
}

#cart .discount-code {
    margin-top: 1.5rem;
}

#cart .discount-code button {
    min-width: 15rem;
    width: auto !important;
}

#cart .submit-row .btn.btn-block {
    justify-content: center;
}

#cart-right .cart-step .subnav-capt {
    color: #fff;
    height: 48px;
    line-height: 48px;
    padding: 0 1em;
    cursor: pointer;
    font-size: 1.33em;
    border-radius: 3px 3px 0 0;
    background: #808080;
}

#cart-right .cart-step .subnav-cont {
    padding: 1em;
}

#cart .cart-td.cart-td-add-product,
#cart .cart-td.cart-td-add-product:hover {
    background: #fff !important;
}

#cart .cart-td.cart-td-add-product .cart-col {
    padding: 20px 8px 4px;
    border-bottom: none;
}

/* Uprava zobrazovani darku v kosiku */
#cart .cart-td.voucher.cart-gift {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 2rem 5rem 2rem .8rem;
}

#cart .cart-td.voucher.cart-gift:nth-last-child(2) {
    padding: 2rem 5rem 1rem .8rem;
}

#cart .cart-gift .cart-gift-icon {
    flex: 0 0 auto;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 1rem 0 0;
    font-size: 1.7rem;
    font-weight: bold;
}

#cart .cart-gift .cart-gift-icon svg {
    margin: 0 .3rem;
    color: #e22524;
}

#cart .cart-gift .cart-gift-name {
    flex: 0 1 auto;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 1rem 0 0;
}

#cart .cart-gift .cart-gift-name .image {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 .5rem 0 0;
}

#cart .cart-gift .cart-gift-name .image img {
    flex: 0 0 3rem;
    height: 3rem;
    object-fit: contain;
}

#cart .cart-gift .cart-gift-name a {
    color: #e22524;
    font-size: 1.7rem;
}

#cart .cart-gift .cart-gift-price {
    flex: 0 0 auto;
    margin: 0 0 0 auto;
}

#cart .cart-gift .cart-gift-price strong {
    color: #3bc45b;
}

#cart .cart-present ul li {
    position: relative;
    display: flex !important;
    justify-content: flex-start;
    align-items: center;
    width: 100% !important;
    margin: 0 !important;
    padding: 1em 5rem 1em 1em;
    border: none !important;
}

#cart .cart-present ul li > * {
    max-width: none;
    margin: 0;
}

#cart .cart-present ul li .present-remove {
    position: absolute;
    top: 50%;
    left: -1rem;
    flex: 0 0 auto;
    display: inline-block;
    height: 2rem;
    line-height: 1;
    transform: translateY(-50%);
}

#cart .cart-present ul li .present-remove:hover i {
    background-position: -2rem 0;
}

#cart .cart-present ul li .present-remove i {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiIFs8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48IUVOVElUWSBuc194bGluayAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+XT48c3ZnICB2ZXJzaW9uPSIxLjEiIHhtbG5zPSImbnNfc3ZnOyIgeG1sbnM6eGxpbms9IiZuc194bGluazsiIHdpZHRoPSI0MCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDMyIDE2IiBvdmVyZmxvdz0idmlzaWJsZSIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnIGlkPSJpY29uLWRlbGV0ZSI+PGc+PHBhdGggZmlsbD0iI0Q4RENFMCIgZD0iTTgsMEMzLjU4MiwwLDAsMy41NywwLDcuOTczYzAsNC40MDMsMy41ODIsNy45NzMsOCw3Ljk3M2M0LjQxNywwLDgtMy41NjksOC03Ljk3M0MxNiwzLjU3LDEyLjQxNywwLDgsMEw4LDB6IE04LDEzLjk0NWMtMy4zMDgsMC02LTIuNjgtNi01Ljk3M0MyLDYuMzc5LDIuNjIzLDQuODgsMy43NTUsMy43NTJDNC44ODksMi42MjIsNi4zOTYsMiw4LDJjMS42MDMsMCwzLjExMSwwLjYyMiw0LjI0NSwxLjc1MkMxMy4zNzcsNC44OCwxNCw2LjM3OSwxNCw3Ljk3M2MwLDEuNTk1LTAuNjIzLDMuMDk0LTEuNzU1LDQuMjIxQzExLjExMSwxMy4zMjMsOS42MDQsMTMuOTQ1LDgsMTMuOTQ1TDgsMTMuOTQ1eiIvPjwvZz48bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNEOERDRTAiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjUuMTcyIiB5MT0iNS4xMTYiIHgyPSIxMC44MjgiIHkyPSIxMC43NzMiLz48bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNEOERDRTAiIHN0cm9rZS13aWR0aD0iMiIgeDE9IjEwLjgyOCIgeTE9IjUuMTE2IiB4Mj0iNS4xNzIiIHkyPSIxMC43NzMiLz48L2c+PGcgaWQ9Imljb24tZGVsZXRlX3g1Rl9ob3ZlciI+PGc+PHBhdGggZmlsbD0iI0Q3MUIyMCIgZD0iTTI0LDBjLTQuNDE4LDAtOCwzLjU4Mi04LDhjMCw0LjQxOSwzLjU4Miw4LDgsOGM0LjQxNywwLDgtMy41ODEsOC04QzMyLDMuNTgyLDI4LjQxNywwLDI0LDBMMjQsMHogTTI0LDE0Yy0zLjMwOCwwLTYtMi42OTItNi02czIuNjkyLTYsNi02czYsMi42OTIsNiw2UzI3LjMwOCwxNCwyNCwxNEwyNCwxNHoiLz48L2c+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRDcxQjIwIiBzdHJva2Utd2lkdGg9IjIiIHgxPSIyMS4xNzIiIHkxPSI1LjE3MSIgeDI9IjI2LjgyOCIgeTI9IjEwLjgyOSIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0Q3MUIyMCIgc3Ryb2tlLXdpZHRoPSIyIiB4MT0iMjYuODI4IiB5MT0iNS4xNzEiIHgyPSIyMS4xNzIiIHkyPSIxMC44MjkiLz48L2c+PC9zdmc+) no-repeat 0 0;
    background-size: 4rem 2rem;
}

#cart .cart-present ul li .present-remove span {
    display: none;
}

#cart .cart-present ul li input {
    flex: 0 0 auto;
    margin: 0 .75rem 0 0;
}

#cart .cart-present ul li input:checked ~ .gift-product .gift-chosen {
    display: inline-flex;
}

#cart .cart-present ul li input:checked ~ label,
#cart .cart-present ul li input:checked ~ .gift-product .name,
#cart .cart-present ul li input:checked ~ .gift-product .name a {
    color: #e22524;
}

#cart .cart-present ul li label {
    flex: 0 0 auto;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 1.25rem 0 0;
    color: #272727;
    font-size: 1.7rem;
    font-weight: bold;
}

#cart .cart-present ul li label svg {
    flex: 0 0 auto;
    margin: 0 .75rem 0 0;
    color: currentColor;
}

#cart .cart-present ul li label span {
    padding: 0;
    line-height: 1;
}

#cart .cart-present ul li .gift-product {
    flex: 0 1 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 1.5rem 0 0;
    text-align: left;
}

#cart .cart-present ul li .gift-product .image {
    flex: 0 0 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 1rem 0 0;
}

#cart .cart-present ul li .gift-product .image img {
    flex: 0 1 auto;
    width: 3rem;
    height: 3rem;
    object-fit: contain;
}

#cart .cart-present ul li .gift-product .name {
    flex: 0 1 auto;
    margin: 0;
    font-size: 1.7rem;
    line-height: 1.2;
}

.fonts-loaded #cart .cart-present ul li .gift-product .name {
    font-family: var(--font-family);
}

#cart .cart-present ul li .gift-product .name,
#cart .cart-present ul li .gift-product .name a {
    color: #6a6a6a;
}

#cart .cart-present ul li .gift-product .gift-chosen {
    flex: 0 0 auto;
    display: none;
    justify-content: center;
    align-items: center;
    height: 2.8rem;
    margin: 0 0 0 2rem;
    padding: 0 1rem;
    color: #3bc45b;
    background: #ecfff2;
    font-size: 1.6rem;
}

#cart .cart-present ul li .price {
    flex: 0 0 auto;
    margin: 0 0 0 auto;
    font-size: 1.6rem;
}

#cart .cart-present ul li .price.is-free {
    color: #3bc45b;
}

@media (max-width: 820px) {
    #cart .cart-td.voucher.cart-gift {
        flex-wrap: wrap;
        padding: 1rem .8rem;
    }

    #cart .cart-td.voucher.cart-gift:nth-last-child(2) {
        padding: 1rem .8rem;
    }

    #cart .cart-gift .cart-gift-icon {
        order: 1;
        margin: 0 1rem 0 0;
        font-size: 1.6rem;
    }

    #cart .cart-gift .cart-gift-name {
        order: 3;
        flex: 1 1 100%;
        margin: 1rem 0 0 0;
    }

    #cart .cart-gift .cart-gift-price {
        order: 2;
        margin: 0;
    }

    #cart .cart-present ul li {
        flex-wrap: wrap;
        padding: 1em .5em .5em;
    }

    #cart .cart-present ul li .present-remove {
        order: 1;
        position: static;
        margin: 0 1.5rem 0 0;
        transform: none;
    }

    #cart .cart-present ul li input {
        order: 2;
    }

    #cart .cart-present ul li label {
        order: 3;
    }

    #cart .cart-present ul li .price {
        order: 4;
    }

    #cart .cart-present ul li .gift-product {
        order: 5;
        flex: 1 1 100%;
        margin: 1.5rem 0 1rem;
    }

    #cart .cart-present ul li input:checked ~ .gift-product .gift-chosen {
        display: none;
    }
}

.responsive-form .cart-checkbox label input {
    flex: 0 0 auto;
}

#cart .form-control:disabled {
    background: #eee;
}

.cf_element .form-control:not(:placeholder-shown):invalid {
    border-color: #ddd;
}

.cf_element .form-control:not(:placeholder-shown):invalid:focus {
    border-color: #37cd62;
    border-color: var(--color-primary);
}
