section.shop {
    padding: 0 2rem;
}

section.shop .product {
    width: 33.333%;
    padding: 0 1rem;
    display: inline-block;
}

section.shop .product .price {
    padding-bottom: 3rem;
}

.unit {
    margin-left: 0.5em;
}

.price .separator {
    margin: 0 0.5em;
}

section.product h3 {
    padding-top: 0;
    letter-spacing: 0.1em;
    font-size: 2rem;
}

section.product .price {
    padding-bottom: 3rem;
}

#show-delivery-address-checkbox {
    margin-bottom: 2rem;
}

@media screen and (min-width: 1920px) {
    section.product .text {
        min-height: calc(960px - 20rem);
    }
}

ul.variants-selection {
    display: inline-block;
}

li.variant {
    display: inline-block;
    margin: 0 0.5rem;
}

li.variant * {
    cursor: pointer;
}

div.variants {
    margin: 2rem 0;
}

.variants-title {
    font-size: 1.2rem;
    margin: 1rem 0;
}

.variant-value {
    display: inline-block;
    margin-left: 0.4rem;
}

input[name="color"] {
    opacity: 0;
    position: absolute;
}

.variant-value.color {
    vertical-align: top;
    font-size: 0;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    margin-left: 0;
    position: relative;
}

input:checked + .variant-value.color:after {
    content: "";
    display: inline-block;
    position: absolute;
    padding: 2px;
    top: -3px;
    left: -3px;
    width: 100%;
    height: 100%;
    border: 1px solid black;
    border-radius: 50%;
}

section.product form {
    padding: 2rem 0;
    text-align: left;
}

section.product form .wb-number-input.count {
    margin-right: 1rem;
}

#warenkorb .order-items {
    word-wrap: anywhere;
}

#warenkorb table .delete-product {
    position: absolute;
    top: calc(50% - 0.5em);
    line-height: 1em;
    font-size: 2em;
    left: -1em;
    color: var(--color-highlight);
    cursor: pointer;
}

#warenkorb .order-items td.product {
    position: relative;
}

#warenkorb .order-items td.single-price .outdated-price {
    color: red;
    text-decoration: line-through;
}

#warenkorb .order-items td.stock-lt-count .wb-number-input {
    border-color: red;
}

#warenkorb .order-items td.stock-lt-count .stock-message {
    margin-top: 0.1em;
}

#kasse table .number,
#warenkorb table .number {
    text-align: right;
}

#warenkorb .product img {
    width: 100px
}

.summary-table {
    margin-top: 2rem;
}

.summary-table tr,
#warenkorb .order-items thead tr {
    border-bottom: 1px solid var(--color-highlight);
    text-align: left;
}

#kasse table td,
#warenkorb table td {
    padding: 0.2em 0;
}

#warenkorb .ustg-19 {
    margin-top: 1rem;
}

.summary-table tr.hr {
    height: 0.25em;
}

.summary-table tr.total {
    border-bottom: none;
}

#kasse #paypal-buttons-container {
    margin-top: 2em;
    margin-right: 4em;
    margin-top: 2em;
    margin-right: 4em;
    width: 20.5em;
    align-self: end;
}

#kauf-fehlgeschlagen .message {
    margin: 1em 0 2em;
}

/*************************************************************************************************************************************************/

@media (max-width: 920px) {
    section.shop .product {
        width: 50%;
    }
    
    #warenkorb .product img {
        width: 80px;
    }
}

/*************************************************************************************************************************************************/

@media (max-width: 500px) {
    section.shop .product {
        width: 100%;
    }
    
    #warenkorb .product img {
        width: 50px;
    }

}