/*
Theme Name: DBV

WooCommerce styles override
*/

#site-navigation .dbv-cart .cart-title {
    font-size: 0;
}

#site-navigation .dbv-cart .cart-title::before {
    content: "\f07a";
    display: inline-block;
    font-size: 1.125rem;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

#site-navigation .dbv-cart a {
    position: relative;
}

#site-navigation .dbv-cart .cart-item-count {
    display: block;
    position: absolute;
    font-size: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    background-color: #ff0000;
    border-radius: 50%;
    text-align: center;
    color: #fff;
    top: -0.5rem;
    right: -1rem;
    padding-top: 0.2rem;
}

#site-navigation .dbv-cart .cart-number {
    display: block;
    font-size: 0.75rem;
}


/**
 * Shop tables
 */
table.shop_table_responsive thead {
    display: none;
}

table.shop_table_responsive tbody th {
    display: none;
}

table.shop_table_responsive tr td {
    display: block;
    text-align: right;
    clear: both;
}

table.shop_table_responsive tr td::before {
    content: attr(data-title) ": ";
    float: left;
}

table.shop_table_responsive tr td.product-remove a {
    text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
    display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
    display: none;
}

table.shop_table_responsive tr td.download-actions .button {
    display: block;
    text-align: center;
}

@media screen and (min-width: 48em) {

    table.shop_table_responsive thead {
        display: table-header-group;
    }

    table.shop_table_responsive tbody th {
        display: table-cell;
    }

    table.shop_table_responsive tr th,
    table.shop_table_responsive tr td {
        text-align: left;
    }

    table.shop_table_responsive tr td {
        display: table-cell;
    }

    table.shop_table_responsive tr td::before {
        display: none;
    }
}

/**
 * Products
 */
ul.products {
    margin: 0;
    padding: 0;
}

ul.products li.product {
    list-style: none;
    position: relative;
    margin-bottom: 2em;
}

ul.products li.product img {
    display: block;
}

ul.products li.product .button {
    display: block;
}

/*todo: related products */
.related.products ul.products {
    width: 100%;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.related.products ul.products li.product {
    margin-right: 3rem;
    width: calc(33% - 3rem);
}

@media screen and (min-width: 48em) {

    ul.products li.product {
        width: 30.79667%;
        float: left;
        margin-right: 3.8%;
    }

    ul.products li.product.first {
        clear: both;
    }

    ul.products li.product.last {
        margin-right: 0;
    }

    ul.products.columns-1 li.product {
        float: none;
        width: 100%;
    }

    ul.products.columns-2 li.product {
        width: 40%;
    }

    ul.products.columns-3 li.product {
        width: 30.79667%;
    }

    ul.products.columns-4 li.product {
        width: 22.15%;
    }

    ul.products.columns-5 li.product {
        width: 16.96%;
    }

    ul.products.columns-6 li.product {
        width: 13.49333%;
    }
}

/**
 * Single product
 */
.single-product div.product {
    position: relative;
}

.single-product div.product .woocommerce-product-gallery {
    position: relative;
    float: left;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    position: absolute;
    top: 2em;
    right: 1em;
    display: block;
    z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
    margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    margin: 0;
    padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    list-style: none;
    cursor: pointer;
    float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    opacity: 0.5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
    opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
    width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
    margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
    clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
    width: 30.79667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
    margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
    clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
    margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
    clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
    width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
    margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
    clear: both;
}

.stock:empty::before {
    display: none;
}

.stock.in-stock {
    color: #0f834d;
}

.stock.out-of-stock {
    color: #e2401c;
}

/**
 * Checkout
 */
@media screen and (min-width: 768px) {

    .col2-set .form-row-first {
        float: left;
        margin-right: 3.8%;
    }

    .col2-set .form-row-last {
        float: right;
        margin-right: 0;
    }

    .col2-set .form-row-first,
    .col2-set .form-row-last {
        width: 48.1%;
    }
}

/**
 * General WooCommerce components
 */

/**
 * Header cart
 */
.site-header-cart {
    position: relative;
    margin: 0;
    padding: 0;
}

.site-header-cart .cart-contents {
    text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
    display: none;
}

.site-header-cart .product_list_widget {
    margin: 0;
    padding: 0;
}

/**
 * Star rating
 */
.star-rating {
    overflow: hidden;
    position: relative;
    height: 1.618em;
    line-height: 1.618;
    width: 5.3em;
    font-family: star;
    font-weight: 400;
}

.star-rating::before {
    content: "\53\53\53\53\53";
    opacity: 0.25;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
}

.star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

.star-rating span::before {
    content: "\53\53\53\53\53";
    top: 0;
    position: absolute;
    left: 0;
    color: #4169e1;
}

p.stars a {
    position: relative;
    height: 1em;
    width: 1em;
    text-indent: -999em;
    display: inline-block;
    text-decoration: none;
    margin-right: 1px;
    font-weight: 400;
}

p.stars a::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    line-height: 1;
    font-family: star;
    content: "\53";
    color: #404040;
    text-indent: 0;
    opacity: 0.25;
}

p.stars a:hover ~ a::before {
    content: "\53";
    color: #404040;
    opacity: 0.25;
}

p.stars:hover a::before {
    content: "\53";
    color: #4169e1;
    opacity: 1;
}

p.stars.selected a.active::before {
    content: "\53";
    color: #4169e1;
    opacity: 1;
}

p.stars.selected a.active ~ a::before {
    content: "\53";
    color: #404040;
    opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
    content: "\53";
    color: #4169e1;
    opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.woocommerce-tabs ul.tabs li {
    display: block;
    margin: 0;
    /*position: relative;*/
}

.woocommerce-tabs ul.tabs li a {
    padding: 1em 0;
    display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
    margin-bottom: 1em;
}

.reset_variations {
    display: inline-block;
    font-size: 1rem;
}

.reset_variations::before {
    display: inline-block;
    content: "\f55a";
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 0.25rem;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
    text-align: right;
}

.woocommerce-password-strength.strong {
    color: #0f834d;
}

.woocommerce-password-strength.short {
    color: #e2401c;
}

.woocommerce-password-strength.bad {
    color: #e2401c;
}

.woocommerce-password-strength.good {
    color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
    -webkit-box-shadow: inset 2px 0 0 #0f834d;
    box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
    -webkit-box-shadow: inset 2px 0 0 #e2401c;
    box-shadow: inset 2px 0 0 #e2401c;
}

.required {
    color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
    background-color: #0f834d;
    clear: both;
    color: #fff;
}

.woocommerce-message {
    padding: 0 1rem;
}

.woocommerce-message

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
    background-color: #3d9cd2;
}

.woocommerce-error {
    background-color: #e2401c;
}

.demo_store {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    margin: 0;
    padding: 1em;
    background-color: #3d9cd2;
    z-index: 9999;
}

@media screen and (min-width: 48em) {

    /**
     * Header cart
     */
    .site-header-cart .widget_shopping_cart {
        position: absolute;
        top: 100%;
        width: 100%;
        z-index: 999999;
        left: -999em;
        display: block;
        -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
        box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    }

    .site-header-cart:hover .widget_shopping_cart,
    .site-header-cart.focus .widget_shopping_cart {
        left: 0;
        display: block;
    }
}

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
    margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
    text-align: right;
    line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
    float: left;
}

.widget_price_filter .ui-slider {
    position: relative;
    text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 1em;
    height: 1em;
    cursor: ew-resize;
    outline: none;
    background: #4169e1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: -0.25em;
    opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
    margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
    -webkit-box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
    position: absolute;
    z-index: 1;
    display: block;
    border: 0;
    background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
    height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
    height: 100%;
}

/*--------------------------------------------------------------
## Theme DBV - Überschreiben von Anweisungen aus dem Plugin
--------------------------------------------------------------*/

:root {
    --dbv-success-backgroundcolor: #e0f3e8;
    --dbv-success-color: #2fa060;
    --dbv-error-backgroundcolor: #f8d7da;
    --dbv-error-color: #c04953;
    --dbv-warning-backgroundcolor: #fcf8e3;
    --dbv-warning-color: #9d8557;
    --dbv-info-backgroundcolor: #fcf8e3;
    --dbv-info-color: #9d8557;
}


/* TODO: Aufräumen wenn DBV ihren Teil entfernt hat - #page und !important weg*/

#dbv-complete-wheel-quantity,
#dbv-shipping-country {
    /*position: relative;*/
    /*top: -0.5rem;*/
    max-height: 2.5rem;
}

#page ul.products.columns-2 li.product {
    margin-bottom: 5rem;
    width: 48%;
}

#page h2.woocommerce-loop-category__title,
#page h2.woocommerce-loop-product__title {
    font-size: 1.5rem;
    line-height: 1.25;
    margin: 0 0 0.5rem;
}

#page a.add_to_cart_button {
    border: none;
    border-radius: 0;
    line-height: 1;
    margin-top: 2rem;
    padding: 0.5rem 1rem;
    text-transform: uppercase;
    width: 100%;
    text-align: center;
}

/********************************************************
 * General
 *******************************************************/
.woocommerce-message > a,
.woocommerce-info > a,
.woocommerce-info > a:focus,
.woocommerce-info > a:hover,
.woocommerce-message > a:hover,
.woocommerce-message > a:focus {
    color: #fff;
}

.variation dd {
    margin-left: 0;
}

/********************************************************
 * Shop
 *******************************************************/
.woocommerce-loop-category__title,
.woocommerce-loop-product__title {
    word-break: keep-all;
}

/********************************************************
 * Shop categories
 *******************************************************/

#primary.shop-main {
    position: relative;
}

#primary.shop-main h1.page-title {
    width: 100%;
}

.dbv-categories-wrapper {
    margin-bottom: 1rem;
}

#dbv-product-sidebar {
    width: 33%;
    display: inline-block;
    vertical-align: top;
    float: left;
    position: sticky;
    top: 0;
    z-index: 100;
}

.shop-main .woocommerce-result-count {
    display: inline-block;
    width: 49%;
}

.shop-main .woocommerce-ordering {
    display: inline-block;
    width: 50%;
    text-align: right;
}

.woocommerce-ordering select {
    max-width: 100%;
}

.shop-main ul.products {
    width: 66%;
    display: inline-block;
    list-style-position: unset;
}

ul.products li.product {
    margin-right: 3.8%;
}

.dbv-sub-cat {
    list-style: none;
    padding: 0 0 0 1rem;
    margin: 0;
}

/* https://www.grahamethomson.com/2018/09/05/align-woocommerce-add-to-cart-buttons/ */
.woocommerce ul.products, .woocommerce-page ul.products{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.woocommerce ul.products li.product{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.woocommerce ul.products li.product .button{
    -ms-flex-item-align: start;
    align-self: flex-start;
}


.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

/********************************************************
 * Product list
 *******************************************************/
.attachment-woocommerce_thumbnail {
    /*background-color: #f8f8f8;*/
    margin-bottom: 1rem;
    width: 100%;
}

.products:before, .products:after {
    content: " ";
    display: table;
}

.products::after {
    content: "";
    clear: both;
    display: table;
}

/********************************************************
 * Pagination
 *******************************************************/
ul.page-numbers {
    list-style-type: none;
    text-align: center;
    margin: 0;
}

ul.page-numbers li {
    display: inline-block;
    margin-right: 2rem;
}

ul.page-numbers li .page-numbers {
    font-weight: 700;
}

ul.page-numbers li .page-numbers.current {
    font-weight: 400;
}

/********************************************************
 * Single product
 *******************************************************/
.product {
    margin-top: 5rem;
}

.product_title {
    line-height: 1.25;
}

.woocommerce-product-gallery {
    aspect-ratio: 1;
    /*background-color: #F8F8F8;*/
    width: 100%;
}

.woocommerce-product-gallery__wrapper {
    height: 100%;
    margin: 0;
    width: 100%;
}

.woocommerce-product-gallery__image,
.woocommerce-product-gallery__image img {
    height: 100%;
    width: 100%;
}

.woocommerce-variation-add-to-cart > .quantity {
    margin-bottom: 20px;
}

.quantity > input {
    max-height: 2.25rem;
}

table.variations {
    width: auto;
}

table.variations > tbody > tr {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
}

table.variations td {
    vertical-align: middle;
    position: relative;
    padding-right: 1rem;
}

.single_variation_wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    position: relative;
}

.woocommerce-variation-add-to-cart-disabled {
    display: none;
}

.product_meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 2rem;
}

.woocommerce-tabs {
    clear: both;
}

.woocommerce-tabs ul.tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.woocommerce-tabs ul.tabs > li {
    margin-right: 2rem;
}

.woocommerce-product-attributes-item__label {
    vertical-align: top;
}

/********************************************************
 * Shopping cart
 *******************************************************/
.product-header-mobile {
    display: none;
    font-weight: bold;
}

.product-row-header {
    word-break: break-word;
    font-weight: bold;
    border-bottom: 2px solid #E0E0E0;
}

.product-row {
    display: -ms-flexbox;
    display: grid;
    -ms-grid-columns: 0.15fr 1rem 2fr 1rem 6fr 1rem 2fr 1rem 2fr 1rem 2fr;
    grid-template-columns: 0.15fr 2fr 6fr 2fr 2fr 2fr;
    grid-template-areas: inherit;
    grid-gap: 1rem;
}

.product-row:nth-child(2) {
    margin-top: 1rem;
}

.product-row .product-column {
    display: block;
}

.product-row .product-column.product-remove {
    max-width: 2rem;
    min-width: 2rem;
    display: -ms-grid;
    display: grid;
    max-height: 2rem;
}

.product-row:not(.product-row-header) .product-column.product-remove {
    border: 1px solid var(--dbv-grey);
    background-color: var(--dbv-light-grey);
    cursor: pointer;
}

.product-row .product-column.product-remove a {
    display: inline-block;
    -ms-grid-column-align: center;
    justify-self: center;
    text-align: center;
    width: 100%;
    color: var(--dbv-green);
}

.product-row .product-column.product-thumbnail {
    min-width: 10rem;
}

.product-row .product-column.product-name {
    min-width: 15rem;
}

.product-row .product-column.product-price {
    min-width: 5rem;
}

.product-row .product-column.product-quantity {
    min-width: 5rem;
}

.product-row .product-column.product-subtotal {
    min-width: 10rem;
}

.product-row .product-column dl.variation {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / span 2;
}

.order-tax {
    text-align: right;
}

.order-tax th {
    text-align: start;
}

.quantity input {
    width: 5rem;
}

.cart_item > td.product-remove {
    width: 32px;
    height: 32px;
    display: block;
    text-align: center;
    border: 1px solid #E0E0E0;
    background-color: #F8F8F8;
}

.cart-actions {
    padding: 2rem 0;
    border-top: 2px solid #E0E0E0;
    border-bottom: 2px solid #E0E0E0;
}

.cart-actions.actions .coupon {
    display: inline-block;
}

.cart-actions.actions .coupon input {
    max-height: 2.25rem;
    margin-right: 0.5rem;
}

.cart-actions.actions > button[type="submit"] {
    float: right;
}

.cart-collaterals {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 1rem;
}

#shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cart-collaterals .shop_table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 800px;
}

.checkout-cart-subtotal > *,
.cart-collaterals .shop_table > * {
    margin-bottom: 1rem;
}

.shop_table .cart-subtotal, .shop_table .order-total, .shop_table .shipping {
    position: relative;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
}

/*.woocommerce-shipping-totals.shipping > div:nth-child(2),*/
/*.woocommerce-shipping-totals.shipping > div:nth-child(2) form,*/
.cart-discount,
.shop_table .cart-subtotal > div:nth-child(2),
.shop_table .order-total > div:nth-child(2) {
    text-align: right;
}

.woocommerce-shipping-totals.shipping > div:nth-child(2) form input,
.woocommerce-shipping-totals.shipping > div:nth-child(2) form button {
    width: 100%;
}

.shop_table .cart-subtotal::after,
.shop_table .order-total::after,
.shop_table .shipping::after {
    content: "";
    display: inline-block;
    width: 100%;
    bottom: 0;
    height: 1px;
    background-color: #E0E0E0;
    position: absolute;
    left: 0;
}

.woocommerce-shipping-destination {
    margin-bottom: 0 !important;
}

.wc-proceed-to-checkout {
    text-align: end;
}

.wc-proceed-to-checkout {
    margin-top: 2rem;
}

.wc-proceed-to-checkout > a {
    border: 1px solid ;
    border-radius: 0;
    padding: 0.5rem 1.5rem;
}

/********************************************************
 * Kasse / Checkout
 *******************************************************/

.woocommerce-shipping-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper > p,
.woocommerce-billing-fields__field-wrapper,
.woocommerce-billing-fields__field-wrapper > p {
    display: grid;
    -ms-grid-columns: 1fr 3fr;
    grid-template-columns: 1fr 3fr;
}

#shipping_first_name_field, #shipping_last_name_field,
#billing_first_name_field, #billing_last_name_field {
    margin-right: 0;
    width: 100%;
}

.woocommerce-shipping-fields__field-wrapper > p > span,
.woocommerce-billing-fields__field-wrapper > p > span {
    max-width: 100%;
}

.woocommerce-shipping-fields__field-wrapper > p > span > input,
.woocommerce-billing-fields__field-wrapper > p > span > input {
    width: 100% !important;
}

.woocommerce-shipping-fields__field-wrapper > p:not(#shipping_address_2_field),
.woocommerce-billing-fields__field-wrapper > p:not(#billing_address_2_field) {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / span 2;
}

.woocommerce-shipping-fields__field-wrapper #shipping_address_2_field,
.woocommerce-billing-fields__field-wrapper #billing_address_2_field {
    -ms-grid-column: 2;
    grid-column-start: 2;
}

#payment .wc_payment_methods {
    width: 100%;
    margin: 0.5rem auto;
    padding: 0.5rem;
    list-style: none;
}

.product-name {
    width: 70%;
    text-align: left;
}

.product-total {
    width: 30%;
    text-align: center;
}

th.product-total, th.product-name {
    word-break: break-all;
}

.order-total > th, .order-total > td {
    padding-top: 10px;
}

.cart-subtotal > th, .order-total > th {
    text-align: left;
}

.cart-subtotal > td, .order-total > td {
    text-align: center;
}

#place_order {
    float: right;
}

#billing_address_2_field,
#shipping_address_2_field {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}

/* checkout - order review */
#order_review .order-review-header {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 2rem;
}

#order_review .order-review-header .product-name,
#order_review .order-review-header .product-total {
    width: 100%;
    font-weight: bold;
}

#order_review .order-review-header > div:nth-child(2) {
    text-align: right;
}

#order_review .cart_item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2fr 1rem 1fr;
    grid-template-columns: 2fr 1fr;
    grid-gap: 1rem;
}

#order_review .cart_item .product-total {
    text-align: right;
    width: 100%;
}

.checkout-mobile-header {
    display: none;
    font-weight: bold;
}

#shipping_method,
.dbv-tax-info--before,
.dbv-tax-info--after {
    text-align: right;
    margin: 0 !important;
}

/********************************************************
 * Woocommerce Notices
 *******************************************************/
.woocommerce-message {
    background-color: var(--dbv-success-backgroundcolor);
    color: var(--dbv-success-color);
    padding: 0.5rem 1rem;
}

.woocommerce-message a {
    color: var(--dbv-success-color) !important;
}

.woocommerce-message a {
    color: var(--dbv-info-color);
    float: right;
    border-left: 1px solid var(--dbv-success-color);
    padding-left: 1rem;
    margin-left: 1rem;
}

.woocommerce-message::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    content: "\f058";
}

.woocommerce-info {
    padding: 0.5rem 1rem;
    background-color: var(--dbv-info-backgroundcolor);
    border: 1px solid var(--dbv-info-color);
    color: var(--dbv-info-color);
}

.woocommerce-info a {
    color: var(--dbv-info-color) !important;
}

.woocommerce-info .showcoupon {
    text-decoration: underline;
}

.woocommerce-info::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    content: "\f05a";
}

.woocommerce-error {
    background-color: var(--dbv-error-backgroundcolor);
    border: 1px solid var(--dbv-error-color);
    color: var(--dbv-error-color);
    margin: 0;
    padding: 0 1rem;
    list-style: none;
}

.woocommerce-error a {
    color: var(--dbv-error-color) !important;
}

:not(ul).woocommerce-error::before,
ul.woocommerce-error li::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    content: "\f057";
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

/********************************************************
 * Shipping
 *******************************************************/
#shipping_method li label {
    display: inline-block;
    margin-left: 0.5rem;
}

/********************************************************
 * Order Details
 *******************************************************/
.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    list-style: none;
    margin: 0;
    padding: 0;
}

.order-details-header,
.woocommerce-table__line-item.order_item,
.order-details-footer {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 50% 1rem 50%;
    grid-template-columns: 50% 50%;
    text-align: left;
    grid-gap: 1rem;
}

.order-details-header,
.woocommerce-table__line-item.order_item {
    margin-bottom: 2rem;
}

.order-details-header {
    font-weight: bold;
}

.order-details-body {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}


.order-details-header .product-total,
.order-details-body .product-total {
    text-align: left;
}

.order-product-mobile-header,
.order-product-total-mobile-header {
    display: none;
    font-weight: bold;
}

.woocommerce-table__line-item.order_item .product-name {
    font-size: clamp(1rem, 2vw, 1.25rem);
}

#order_review .order-total {
    font-weight: bold;
}

#order_review .order-total > span:nth-child(2) {
    text-align: right;
}

.order-details-footer > div:last-child,
.order-details-footer > div:nth-last-child(2) {
    font-weight: bold;
}

/********************************************************
 * Woocommerce Germanized - Overrides
 ********************************************************/
.woocommerce-checkout .shop_table {
    background: transparent !important;
}

.woocommerce-shipping-calculator {
    text-align: right;
}

p.woocommerce-shipping-destination {
    display: none;
}

.dhl-preferred-service {
    margin-top: 1rem;
}

/* preferred service */
.dhl-preferred-service-logo {
    max-width: 20rem;
}

ul.dhl-preferred-location-types {
    margin-left: 0;
    padding-left: 0;
    list-style: none;
}

.dhl-hidden {
    display: none;
}

#place_order {
    margin-top: 1rem;
}

.shop_table.woocommerce-checkout-review-order-table .cart_item {
    border-top: 1px solid;
    padding-top: 1em;
}


/********************************************************
 * Media queries
 *******************************************************/

@media screen and (max-width: 1400px) {

    #site-navigation .dbv-cart a {
        margin: 0.5rem 1.2rem 0 0;
    }

    #site-navigation .dbv-cart .cart-item-count {
        padding-top: 0.1rem;
    }

}

@media screen and (max-width: 1100px) {

    #dbv-product-sidebar {
        width: 100%;
    }

    #dbv-product-categories {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 100%;
    }

    .dbv-categories-wrapper {
        margin-right: 2rem;
    }

    .dbv-categories-header {
        width: 100%;
        margin-bottom: auto;
    }

    .dbv-parent-cat {
        color: var(--dbv-green);
        cursor: pointer;
    }

    .dbv-sub-cat {
        display: none;
        margin: 0 !important;
        padding-left: 1rem;
    }

    .shop-main ul.products {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        /*justify-content: center;*/
    }

    .product {
        margin-top: 2rem;
    }

}

@media screen and (max-width: 992px) {

    #dbv-product-sidebar {
        top: 90px;
    }

}

@media screen and (max-width: 900px) {

    ul.page-numbers {
        text-align: left;
        padding: 0;
        font-size: 25px
    }

    .woocommerce-gzd .product-total::before {
        content: "Zwischensumme:";
        font-weight: bold;
        text-align: right;
    }

    .wc-gzd-product-name-left {
        max-width: 50% !important;
    }

    .shop_table .cart-subtotal div:first-child, .shop_table .order-total div:first-child, .shop_table .shipping div:first-child {
        margin-right: 20px;
    }

    .woocommerce-shipping-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper > p,
    .woocommerce-billing-fields__field-wrapper, .woocommerce-billing-fields__field-wrapper > p {
        -ms-grid-columns: 1fr 1.5fr;
        grid-template-columns: 1fr 1.5fr;
    }

    div[id^="product-"] > .row > div[class^="col-"] {
        width: 100%;
    }

    .product-row .product-column.product-thumbnail {
        /*display: none;*/
        max-width: 15rem;
    }

    /* overwrite default style */
    .product-name {
        width: 100%;
    }

    .product-row {
        display: block;
        margin-bottom: 2rem;
    }

    .product-row.cart_item {
        margin-bottom: 5rem;
    }

    .product-row.product-row-header {
        display: none;
    }

    .product-header-mobile {
        display: block;
    }

    .product-row .product-column:not(.product-remove, .product-thumbnail) {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 50% 0.5rem 50%;
        grid-template-columns: 50% 50%;
        margin-bottom: 1rem;
        grid-gap: 0.5rem;
    }

    .product-remove {
        margin-left: auto;
        margin-bottom: 1rem;
        float: right;
    }

    .cart-actions.actions .coupon,
    .coupon button, .coupon input {
        display: block;
        margin-bottom: 1rem;
    }

    .cart-actions.actions > button,
    .cart-actions.actions .coupon button,
    .cart-actions.actions .coupon input {
        display: block;
        text-align: center;
        width: 50%;
        margin-left: auto;
        margin-right: auto;
    }

    .cart-actions.actions > button[type="submit"] {
        float: none;
    }

    .cart-collaterals {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .cart-collaterals .shop_table {
        width: 100%;
    }

    .cart-collaterals .cart_totals {
        width: 100%;
    }

    /* checkout mobile */
    #order_review .cart_item {
        display: block;
        margin-bottom: 4rem;
    }

    #order_review .order-review-header {
        display: none;
    }

    #order_review .checkout-mobile-header {
        display: block;
    }

    #order_review .product-name,
    #order_review .product-total {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1rem 1fr;
        grid-template-columns: 1fr 1fr;
        grid-gap: 1rem;
    }

    #order_review .woocommerce-gzd .product-name,
    #order_review .woocommerce-gzd .product-total {
        grid-template-columns: 1fr ;
        grid-gap: 0rem;
    }

    #order_review .cart_item .product-total > div:first-child {
        text-align: left;
    }

    #order_review .cart_item .product-total > .woocommerce-Price-amount {
        text-align: right;
    }

    /* order received mobile */
    /*.order-details-header {*/
    /*    display: none;*/
    /*}*/

    .order-product-mobile-header,
    .order-product-total-mobile-header {
        display: block;
    }

}

@media screen and (max-width: 840px) {

    #page ul.products.columns-2 li.product {
        width: 100%;
    }

    .shop-main .woocommerce-result-count, .shop-main .woocommerce-ordering {
        display: block;
        width: 100%;
        text-align: left;
    }

    .shop-main .woocommerce-ordering {
        margin-bottom: 2rem;
    }

    .cart-actions.actions .coupon {
        display: block;
    }

    .cart-actions.actions > button[type="submit"] {
        float: none;
        margin-top: 1rem;
    }

}

@media screen and (max-width: 767px) {

    .woocommerce ul.products li.product .button {
        width: 100%;
        text-align:center;
    }

    #page ul.products li.product {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-line-pack: center;
        align-content: center;
        margin-right: 0;
        width: 100%;
    }

    .woocommerce-loop-category__title,
    .woocommerce-loop-product__title,
    ul.products li.product .price {
        text-align: center;
    }

    .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper > p,
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-billing-fields__field-wrapper > p {
        display: block;
    }

    #place_order {
        float: none;
        width: 100%;
        display: inline-block;
    }

    .shop-main ul.products {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

}

@media screen and (max-width: 600px) {

    .wc-gzd-product-name-left {
        max-width: 100% !important;
    }

    .cart-actions.actions > button,
    .cart-actions.actions .coupon button,
    .cart-actions.actions .coupon input {
        width: 100%;
    }

    button[name="calc_shipping"],
    #calc_shipping_city,
    #calc_shipping_postcode {
        width: 100%;
        display: inline-block;
    }

    .wc-proceed-to-checkout > a {
        width: 100%;
        display: inline-block;
        text-align: center;
    }

    .shop_table .shipping {
        display: block;
    }

    .shop_table .cart-subtotal, .shop_table .order-total {
        -ms-grid-columns: 2fr 1fr;
        grid-template-columns: 2fr 1fr;
    }

    .product-row .product-column .woocommerce-Price-amount,
    .product-row .product-column .quantity,
    .product-row .product-column .product-subtotal {
        text-align: right;
    }

    .shop_table .shipping {
        grid-template-columns: 1fr;
        text-align: right;
    }

    .shop_table .shipping > div:first-child {
        margin-right: 0;
    }

}

@media screen and (max-width: 500px) {

    #dbv-shipping-country {
        width: 9.375rem;
    }

    #dbv-complete-wheel-quantity {
        max-width: 9.375rem;
    }

}

@media screen and (max-width: 420px) {

    table.variations > tbody > tr {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

}

@media screen and (max-width: 340px) {

    .dbv-label {
        font-size: 82% !important;
    }

}