:root {
    --sidebar-top-default: 12rem;
}

/* ==========================================================================
1.0 Typography
========================================================================== */
.woocommerce-container h2 {
    font-size: var(--h3);
    font-weight: var(--font-regular);
}

/* .woocommerce-container :not(.woocommerce-seo-section, .woocommerce-text-section) h2 {
    margin: unset;
} */

.woocommerce-container :is(ul, ol) {
    padding: unset;
    list-style: none;
    margin: unset;
}

/* ==========================================================================
1.0 General 
========================================================================== */
.woocommerce-container {
    padding: 0 var(--side-padding) var(--section-padding);
}

.woocommerce-seo-section,
.woocommerce-text-section {
    padding: 0 var(--side-padding) var(--section-padding);
}

:is(.woocommerce-shop, .woocommerce-checkout, .woocommerce-cart) .woocommerce-container {
    padding-top: calc(0.5 * var(--section-padding));
}

.woocommerce-container.empty-cart {
    padding-top: var(--section-padding);
}

.woocommerce-container__inner {
    max-width: var(--wd-container-default);
    margin: 0 auto;
}

.products {
    display: grid;
    grid-gap: var(--column-gap);
    align-items: flex-start;
}

.products.columns-2 {
    grid-template-columns: repeat(2, minmax(0,1fr));
}
.products.columns-3 {
    grid-template-columns: repeat(3, minmax(0,1fr)); 
}
.products.columns-4 {
    grid-template-columns: repeat(4, minmax(0,1fr));
}
.products.columns-5 {
    grid-template-columns: repeat(5, minmax(0,1fr));  
}
.products.columns-6 {
    grid-template-columns: repeat(6, minmax(0,1fr));  
}

@media only screen and (max-width: 1080px) {
    .products {
        grid-gap: var(--m-column-gap);
    }
}

@media only screen and (max-width: 700px) {
    .products:is(.products.columns-3, .columns-4, .columns-5, .columns-6) {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media only screen and (max-width: 480px) {
    .products:is(.columns-2, .products.columns-3, .columns-4, .columns-5, .columns-6) {
        grid-template-columns: repeat(1, minmax(0,1fr));
    }
}

.woocommerce-content-area {
    display: grid;
    grid-gap: var(--section-padding);
}

.woocommerce-content-area select {
    border: none;
    padding: 0 1.5em 0 0;
    background: rgba(255, 255, 255, 1) url(../images/chevron-down.svg) no-repeat 100% 50%;
    font-weight: var(--font-semibold);
    margin-bottom: unset;
}

/* Scroll products
========================================================================== */
.scroll-products-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.scroll-products-header h2 {
    padding: unset;
    margin: unset;
}

.scroll-products :is(ol, ul) {
    padding: 0;
}

.scroll-products .products {
    display: flex;
    overflow-x: scroll;
    cursor: pointer;
    padding-bottom: var(--gap-default);
}

.scroll-products .product {
    min-width: 28.2rem;
    max-width: 28.2rem;
}

.scroll-products ::-webkit-scrollbar {
    height: 1rem;
}
  
.scroll-products ::-webkit-scrollbar-track {
    background: #f2f2f2; 
    border-radius: 50rem;
    margin: 0 2rem;
}
   
.scroll-products ::-webkit-scrollbar-thumb {
    background: #bbbbbb; 
    border-radius: 50rem;

}
  
.scroll-products ::-webkit-scrollbar-thumb:hover {
    background: #bbbbbb; 
}

@media only screen and (max-width: 768px) {
    .scroll-products .products {
        margin-left: -2rem;
        margin-right: -2rem;
        padding: 0 2rem var(--gap-default);
    }
}

/* Breadcrumbs
========================================================================== */
.woocommerce-breadcrumbs {
    padding: 0 2rem;
    max-width: calc(var(--wd-container-default) + 4rem);
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-breadcrumb {
    padding: 2rem 0;
    font-size: var(--paragraph);
    color: var(--text-clr-secondary);
}

.single-product .woocommerce-breadcrumb {
    padding: 2rem 0 var(--column-gap);
}

.woocommerce-breadcrumb .separator {
    padding: 0 1rem;
}

.woocommerce-breadcrumb a {
    color: var(--text-clr-secondary);
}

.woocommerce-breadcrumb .last {
    color: var(--text-clr);
}

@media only screen and (max-width: 510px) {
    .woocommerce-breadcrumb .separator {
        padding: 0 0.4rem;
    }
}

/* Notices and error messages
========================================================================== */
.woocommerce-notices-wrapper {
    font-size: var(--paragraph-small);
    margin-top: 2rem;
    font-style: italic;
}

.woocommerce-notices-wrapper div {
    padding-bottom: 2rem;
}

.woocommerce-notices-wrapper a.button, 
.woocommerce-notices-wrapper a.button:hover {
    font-style: normal;
    padding: unset;
    margin: unset;
    color: inherit;
    background-color: transparent;
}

.woocommerce-notices-wrapper div > span,
.woocommerce-message > span, 
.woocommerce-info > span,
.woocommerce-error > span {
    /*display: flex;
    grid-gap: 1.5rem;*/
    font-size: var(--paragraph-small);
    margin-bottom: 0;
    font-style: italic;
}

.woocommerce-error span::before {
    content: url('/wp-content/themes/bauder/images/woo-notice-error.svg');
	margin-right: 1rem;
}

.woocommerce-info span::before {
    content: url('/wp-content/themes/bauder/images/woo-notice-info.svg');
	margin-right: 1rem;
}

.woocommerce-message span::before {
    content: url('/wp-content/themes/bauder/images/woo-notice-message.svg');
	margin-right: 1rem;
}

/* Sale badge
========================================================================== */
.onsale,
.out-of-stock-badge {
    position: absolute;
    top: 0;
    left: 0;
    font-size: var(--paragraph-small);
    color: var(--text-clr-invert);
    background-color: var(--accent);
    padding: 0 1em;
    text-transform: uppercase;
    height: 3rem;
    display: flex;
    align-items: center;
}

/* Buttons
========================================================================== */
.woocommerce button, 
.woocommerce .button {
    background: var(--bg-primary);
    font-size: var(--paragraph-small);
    color: var(--text-clr-invert);
    border: unset;
    border-radius: 50rem;
    padding: 1.2rem 2rem;
    cursor: pointer;
    transition: all 150ms linear;
}

.woocommerce button:hover, 
.woocommerce .button:hover {
    background-color: var(--bg-secondary);
    color: var(--text-clr);
}

.woocommerce-variation-add-to-cart {
    display: grid;
    grid-gap: var(--gap-default);
}

/* Search */
input[type="search"] {
    font-size: initial;
    border-radius: 50rem;
    border: none;
    background-color: #f2f2f2;
    padding: 0.8rem 1rem 0.8rem 5rem;
    box-sizing: border-box;
    width: 100%;
    background-image: url('/wp-content/themes/bauder/images/icon-search.svg');
    background-repeat: no-repeat;
    background-position: 2rem center;
    background-size: 1.7rem;
}

/* ==========================================================================
2.0 Archive page
========================================================================== */
.woocommerce-products-header__title.page-title {
    text-align: center;
}

.archive .woocommerce-products-header {
    margin-bottom: var(--column-gap);
}

.woocommerce-result-ordering {
    display: flex;
    justify-content: space-between;
    grid-gap: var(--gap-default);
    align-items: baseline;
    margin-bottom: 1.5rem;
}

.woocommerce-result-count {
    font-size: var(--paragraph);
    color: var(--text-clr-secondary);
}

.woocommerce-products-archive {
    display: grid;
    grid-template-columns: 1fr repeat(3, 1fr);
    grid-gap: var(--column-gap);
}

.woocommerce-products-archive .woocommerce-content {
    grid-column: 2/5;
}

@media only screen and (max-width: 1080px) {
    .woocommerce-products-archive {
        grid-template-columns: 1fr;
    }

    .woocommerce-products-archive .woocommerce-content {
        grid-column: 1/-1;
    }
}

.product {
    position: relative;
    display: grid;
    grid-gap: 2rem;
}

.product .product-item-content {
    display: grid;
    grid-gap: 2rem;
    grid-template-columns: 1fr auto;
}

.product .button {
    width: fit-content;
    padding: 1.2rem 2rem;
    height: fit-content;
}

/* Product archive category */
.tax-product_cat .woocommerce-products-header {
    padding: 0 var(--side-padding);
    margin-bottom: var(--column-gap);
    height: clamp(30rem, 30vw, 40rem);
    display: flex;
    align-items: center;
    background-position: 50% 50%;
    background-size: cover !important;
    background-blend-mode: multiply;
}

.tax-product_cat .woocommerce-products-header__inner {
    max-width: var(--wd-container-xs);
    margin: 0 auto;
    text-align: center;
}

.tax-product_cat .woocommerce-products-header__inner * {
    color: var(--text-clr-invert);
}

.tax-product_cat .woocommerce-products-header__inner p {
    font-size: var(--paragraph-ingress);
}

/* Page numbering
========================================================================== */
.woocommerce-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0 0;
}
.woocommerce ul.page-numbers {
    display: flex;
    gap: 1rem;
}

.woocommerce .page-numbers {
    font-size: 1.8rem;
    font-weight: 500;
}
.woocommerce .page-numbers.current {
    opacity: .5;
    font-weight: normal;
}

/* Product categories
========================================================================== */
.woocommerce-categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: var(--column-gap);
    margin-bottom: var(--column-gap);
}

.woocommerce-categories .category-item {
    height: 13rem;
    overflow: hidden;
    width: 100%;
    position: relative;
}

.woocommerce-categories .category-item::before {
    content: '';
    background: rgb(0 0 0 / 40%);
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
}

.woocommerce-categories .category-item-heading {
    font-size: var(--h4);
    font-weight: var(--font-bold);
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    color: var(--text-clr-invert);
    z-index: 1;
}

.woocommerce-categories .category-item-heading::after {
    content: url('/wp-content/themes/bauder/images/icon-arrow.svg');
    vertical-align: baseline;
    margin-left: 0.5em;
    transition: all 150ms linear;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    filter: invert(1);
    vertical-align: middle;
}
.woocommerce-categories a:hover .category-item-heading::after {
    margin-left: 0.85em;
} 

.woocommerce-categories .category-item-image {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

@media only screen and (max-width: 1080px) {
    .woocommerce-categories {
        display: none;
    }
}

/* Product categories home page */
.home .woocommerce-categories {
    display: grid;
    margin-bottom: unset;
}

.home .woocommerce-categories .category-item {
    height: 38rem;
}

.home .woocommerce-categories .category-item-heading {
    text-align: left;
    top: 100%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -100%);
    padding: var(--gap-default);
}

@media only screen and (max-width: 1200px) {
    .home .woocommerce-categories {
        grid-gap: var(--gap-default);
    } 
    
    .home .woocommerce-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home .woocommerce-categories .category-item {
        height: 30rem;
    }
}

@media only screen and (max-width: 510px) {
    .home .woocommerce-categories {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 480px) {
    .woocommerce-categories .category-item-heading::after {
        display: none;
    }
}

/* Sidebar 
========================================================================== */
.woocommerce-sidebar {
    position: sticky;
    top: var(--sidebar-top-default);
    height: fit-content;
}

.woocommerce-sidebar .sidebar-heading {
    font-size: var(--h4);
    font-weight: var(--font-bold);
    font-family: var(--heading-font);
    margin-bottom: 2rem;
}

.woocommerce-sidebar ul {
    line-height: 2.25;
}

.woocommerce-sidebar .wp-widget-group__inner-blocks:not(:last-of-type) {
    margin-bottom: var(--gap-default);
}
.woocommerce-sidebar a {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.woocommerce-sidebar a img {
    display: inline-block;
    width: 1.75rem; 
    height: 2rem;
}

/* Hälsokontroll */
.woocommerce-sidebar a[data-id="18"]::before { 
    background-image: url('/wp-content/themes/bauder/images/icon-halsokontroll.svg');
}
/* DailyVit */
.woocommerce-sidebar a[data-id="16"]::before { 
    background-image: url('/wp-content/themes/bauder/images/icon-dailyvit.svg');
}
/* Vitaminer */
.woocommerce-sidebar a[data-id="17"]::before { 
    background-image: url('/wp-content/themes/bauder/images/icon-vitaminer.svg');
}
/* Merchandise */
.woocommerce-sidebar a[data-id="19"]::before { 
    background-image: url('/wp-content/themes/bauder/images/icon-merchandise.svg');
}
/* Hälsoplan */
.woocommerce-sidebar a[data-id="33"]::before { 
    background-image: url('/wp-content/themes/bauder/images/icon-halsoplan.svg');
}

@media only screen and (max-width: 1080px) {
    .woocommerce-sidebar {
        position: relative;
        top: unset;
        overflow: hidden;
    }

    .woocommerce-sidebar .sidebar-heading {
        display: none;
    }

    .woocommerce-sidebar .wp-widget-group__inner-blocks:first-of-type {
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .woocommerce-sidebar .wp-widget-group__inner-blocks:first-of-type::-webkit-scrollbar {
        display: none;
    }

    .woocommerce-sidebar ul {
        display: flex;
        grid-gap: 2rem;
        justify-content: center;
    }

    .woocommerce-sidebar li {
        display: flex;
    }

    .woocommerce-sidebar .wp-widget-group__inner-blocks:first-of-type a {
        display: flex;
        align-items: center;
        border-radius: 50rem;
        background-color: var(--bg-tertiary);
        color: var(--text-clr);
        padding: 0.65em 1.25em;
        font-size: var(--paragraph-small);
        line-height: normal;
		min-width: max-content;
    }

    .woocommerce-sidebar .wp-widget-group__inner-blocks:first-of-type a:hover {
        background-color: var(--bg-primary);
        color: var(--text-clr-invert);
    }

    .woocommerce-sidebar a:hover::before {
        filter: invert(1)
    }
}

@media only screen and (max-width: 650px) {
    .woocommerce-sidebar {
        margin: 0 -2rem;
    }

    .woocommerce-sidebar ul {
        justify-content: flex-start;
    }

    .woocommerce-sidebar .wp-widget-group__inner-blocks {
        padding: 0 2rem;
    }

    .woocommerce-sidebar li {
        display: flex;
    }

    .woocommerce-sidebar li:last-of-type {
        padding-right: 2rem;
    }
}

/* Product card 
========================================================================== */
.product .woocommerce-loop-product__title {
    font-size: var(--paragraph);
    font-weight: var(--font-semibold);
    margin-bottom: 0.5em;
    line-height: normal;
}

.product .summary .price {
    margin: 0;
}

.product .summary .price-small {
    font-size: var(--h4);
}

.product .extra {
    font-size: var(--paragraph-mini);
    color: var(--text-clr-secondary);
}

.woocommerce-loop-product__link, 
.product-item-image {
    height: 100%;
    width: 100%;
}

.attachment-woocommerce_thumbnail {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

a.added_to_cart {display:none !important}

/* ==========================================================================
3.0 Product category page
========================================================================== */

/* ==========================================================================
4.0 Single product page
========================================================================== */
.woocommerce-products-single .product {
    display: grid;
    grid-template-columns: 4fr 5fr;
    grid-gap: var(--column-gap);
}

@media only screen and (max-width: 768px) {
    .woocommerce-products-single .product {
        grid-template-columns: 1fr;
    }
}

/* Product image
========================================================================== */
.single-product .woocommerce-product-gallery {
    opacity: 1 !important;
}

.single-product .woocommerce-product-gallery__wrapper {
    position: sticky;
    top: 12rem;
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    grid-gap: 1rem;
}

/* .single-product .flex-viewport .woocommerce-product-gallery__wrapper {
    display: block;
    position: relative;
    top: initial;
}

.woocommerce-product-gallery .flex-control-nav {
    display: flex;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
    text-align: center;
} */


.single-product .woocommerce-product-gallery__wrapper div:first-of-type {
    grid-column: 1/-1;
}

.pswp .pswp__caption__center {
    text-align: center;
}

.pswp__bg {
    background-color: var(--bg-body);
}

/* Summary
========================================================================== */
.single-product .summary {
    display: grid;
    grid-gap: clamp(1.5rem, 3vw, 2.5rem);
    height: fit-content;
}

.summary ul,
.summary ol {
	padding-left: 1.5rem;
    margin-bottom: 2rem;
    margin-top: 2rem;
}

.summary ul {
	list-style: disc;
}

.summary ol {
	list-style: decimal;
}


/* Product title
========================================================================== */
.product_title {
    font-size: var(--h2);
    font-weight: var(--font-semibold);
    margin: unset;
}

/* Variations (not simple product)
========================================================================== */
table.variations {
    border: none;
}

table.variations tbody {
    display: flex;
    flex-direction: column;
    grid-gap: 2rem;
}

table.variations tr {
    display: flex;
    flex-direction: column;
    width: 100%;
}

table.variations th.label {
    border: none;
    padding: unset;
    margin-bottom: 0.75em;
}

table.variations th.label {
    font-weight: var(--font-semibold);
}

table.variations td.value {
    border: none;
    padding: unset;
}

table.variations td.value select {
    border: var(--border-default);
    padding: 1rem 1.5rem;
}

table.variations td:last-of-type {
    text-align: left;
}

table.variations select {
    font-weight: var(--font-regular);
    background-position: 97% 50%;
}

table.variations .reset_variations {
    margin-top: 1rem;
}

/* Price
========================================================================== */
.price {
    display: flex;
    grid-gap: 0.75em;
}

.price ins {
    text-decoration: unset;
}

.price del {
    color: var(--accent);
}

.summary .price {
    font-size: var(--h3);
}

/* Product excerpt
========================================================================== */
.woocommerce-product-details__short-description p {
    font-size: var(--paragraph-ingress);
}

/* Cart form (quantity and cart button)
========================================================================== */
.single-product .single_add_to_cart_button {
    width: 100%;
    margin-top: unset;
}

.single-product form.cart {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--gap-default);
}

.single-product .quantity input {
    border: var(--border-default);
    font-size: initial;
    padding: 1.1rem;
    width: 5em;
    border-radius: unset;
}

.screen-reader-text {
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

/* Product meta
========================================================================== */
.single-product .product_meta {
    font-size: initial;
}

/* Product tabs */
.woocommerce-tabs {
    margin-top: var(--column-gap);
}

.woocommerce-tabs ul {
    display: flex;
    grid-gap: var(--gap-default);
    border-bottom: 2.5px solid #f2f2f2;
}

.woocommerce-tabs li {
    display: inline-block;
    padding: 0.5em;
    border-bottom: 2.5px solid transparent;
    margin-bottom: -2.5px;
    transition: all 150ms linear;
}

.woocommerce-tabs li.active,
.woocommerce-tabs li:hover {
    border-color: var(--bg-primary);
}

.woocommerce-tabs a {
    font-weight: var(--font-bold);
}

.woocommerce-tabs .panel {
    margin-top: var(--gap-default);
    padding: 0;
}

@media (max-width: 550px) {
	.woocommerce-tabs ul {
		grid-gap: 1rem;
		flex-wrap: wrap;
		border-bottom: 0;
		padding-left: 0;
	}
}

/* Related products
========================================================================== */
.related {
    grid-gap: var(--gap-default);
}

.related-products-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.related .products {
    display: flex;
    overflow-x: scroll;
    cursor: pointer;
    padding-bottom: var(--gap-default);
}

.related .products .product {
    min-width: 28.2rem;
    max-width: 28.2rem;
}

.related ::-webkit-scrollbar {
    height: 1rem;
}
  
.related ::-webkit-scrollbar-track {
    background: #f2f2f2; 
    border-radius: 50rem;
    margin: 0 2rem;
}
   
.related ::-webkit-scrollbar-thumb {
    background: #bbbbbb; 
    border-radius: 50rem;

}
  
.related ::-webkit-scrollbar-thumb:hover {
    background: #bbbbbb; 
}

@media only screen and (max-width: 768px) {
    .related .products {
        margin: 0 -2rem;
        padding: 0 2rem var(--gap-default);
    }
}

/* ==========================================================================
5.0 Cart
========================================================================== */
.woocommerce-cart {
    background-color: var(--bg-tertiary);
}

.woocommerce-cart h1 {
    text-align: center;
}

.woocommerce-cart-header {
    margin-bottom: var(--column-gap);
}

.woocommerce-cart .woocommerce-cart-form,
.cart-collaterals {
    max-width: var(--wd-container-s);
    margin: 0 auto;
    padding: 3rem;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.05);
    background-color: var(--bg-body);
}

.woocommerce-cart .woocommerce-cart-form {
    margin-bottom: var(--column-gap);
}

.woocommerce-cart .woocommerce-message span,
.woocommerce-cart .woocommerce-error span {
    justify-content: center;
}

/* Cart coupon */
.woocommerce-cart .coupon {
    display: flex;
    grid-gap: 1rem;
}

.woocommerce-cart .coupon label {
    display: none;
}

.woocommerce-cart .coupon :is(input, button) {
    margin: unset;
}

@media only screen and (max-width: 650px) {
    .woocommerce-cart .coupon {
        flex-direction: column;
    }

    .woocommerce-cart .button:not(.checkout-button) {
        width: 100%;
    }
}

/* Cart table */
.woocommerce-cart table thead {
    font-size: var(--h4);
    vertical-align: top;
}

.woocommerce-cart table :is(td, th) {
    border: unset;
    padding: unset;
}

.woocommerce-cart table {
    border: unset;
}

.woocommerce-cart table .cart_item {
    border-bottom: var(--border-default);
}

.woocommerce-cart .cart_item :is(td, th) {
    padding: 3rem 0;
}

.woocommerce-checkout table .product-subtotal {
    text-align: right;
}

.woocommerce-cart tbody td:last-of-type {
    padding: 3rem 0;
    vertical-align: top;
    text-align: right;
}

.woocommerce-cart thead th:last-of-type {
    text-align: right;
}

.woocommerce-cart .cart_item .product-info {
    display: grid;
    grid-gap: var(--gap-default);
    grid-template-columns: 12rem 1fr;
}

.woocommerce-cart .cart_item .product-name {
    display: inline-flex;
    flex-direction: column;
    grid-gap: 1rem;
}
.woocommerce-cart .cart_item .product-name a {
    font-weight: var(--font-semibold);
}

.woocommerce-cart .cart_item .quantity input {
    width: 5em;
    margin: unset;
}

@media only screen and (max-width: 600px) {
    .woocommerce-cart .cart_item :is(td, th) {
        padding: 1.5rem 0;
    }

    .woocommerce-cart table img {
        width: 5rem;
        height: 5rem;
        display: block;
    }

    .woocommerce-cart .cart_item .product-info {
        grid-template-columns: 1fr;
        grid-gap: 1rem;
    }
}

/* Cart totals */
.woocommerce-cart .cart-collaterals h2 {
    font-size: var(--h4);
    font-weight: var(--font-semibold);
}

.woocommerce-cart .cart-collaterals .order-total {
    border-top: var(--border-default);
    font-size: var(--h4);
}

.cart-collaterals tr:not(:last-child) :is(th, td) {
    padding: unset;
    font-weight: var(--font-regular);
    line-height: 2;
}

.woocommerce-cart .cart-collaterals tr:first-of-type :is(th, td) {
    padding-top: 3rem;
}

.woocommerce-cart .cart-collaterals tr:nth-last-child(-n+2) :is(th, td) {
    padding-bottom: 3rem;
}

/* Empty cart */
.woocommerce-container.empty-cart {
    padding: var(--section-padding) var(--side-padding);
    text-align: center;
    min-height: 55vh;
    display: flex;
    align-items: center;
}

.woocommerce-cart .cart-empty.woocommerce-info {
    padding-bottom: 1em;
}

/* ==========================================================================
6.0 Checkout
========================================================================== */
.woocommerce-checkout {
    background-color: var(--bg-tertiary);
}

.woocommerce-checkout h1 {
    text-align: center;
}

.woocommerce-checkout-header {
    margin-bottom: var(--column-gap);
}

.kco-checkout #kco-wrapper {
    padding: 1rem;
    display: grid;
    grid-gap: var(--column-gap);
    max-width: var(--wd-container-s);
    margin: 0 auto;
}
/*
.kco-one-selected #kco-iframe, 
.kco-one-selected #kco-order-review {
*/
#kco-iframe, 
#kco-order-review {
    width: 100%;
    float: none;
    margin: unset;
    padding: 3rem;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.05);
    background-color: var(--bg-body);
}

#kco-order-review {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--gap-default);
}

#kco-extra-checkout-fields {
    width: 100%;
}

#kco-extra-checkout-fields .form-row label {
    margin-bottom: 2rem;
}

.woocommerce-input-wrapper :is(textarea, input, select) {
    width: 100%;
    margin-top: 0.5rem;
}

tr.recurring-totals th {
    font-weight: 600!important;
	padding-top: 2rem!important;
}

@media only screen and (max-width: 510px) {
    .kco-checkout #kco-wrapper {
        padding: unset;
    }
}

/* Coupon code */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    font-size: initial;
    text-align: center;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle span::before {
    content: '';
}

.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
    text-align: center;
    margin-top: 2rem;
    max-width: var(--wd-container-s);
    background-color: var(--bg-body);
    margin-left: auto;
    margin-right: auto;
    padding: 3rem;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) span {
    font-style: normal;
    display: block;
    font-size: initial;
}

.woocommerce-checkout-header .woocommerce-error > span {
    justify-content: center;
    margin-top: 1rem;
}

/* Checkout log in */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info span {
    display: block;
    font-size: initial;
    font-style: normal;
    text-align: center;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info span {
    margin-bottom: 1em;
}

.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info ::before {
    content: '';
}

form.woocommerce-form-login,
.myaccount-login form {
    max-width: var(--wd-container-xs);
    margin: 0 auto 3rem;
    background-color: var(--bg-body);
    padding: 3rem;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 5%);
}

form.woocommerce-form-login p.form-row,
.myaccount-login form p.form-row {
    display: flex;
    flex-direction: column;
}

form.woocommerce-form-login :is(.password-input, .user-input) input {
    width: 100%;
}

.woocommerce-form-login .lost_password {
    text-align: center;
    padding-top: 1rem;
}

.woocommerce-lost-password .woocommerce-message {
	max-width: var(--wd-container-default);
	margin: 0 auto -2rem;
	padding: 7rem var(--side-padding) 0;
	text-align: center;
}

.woocommerce-ResetPassword {
	width: 100%;
}

.password-input input {
	width: 100%;
}

.woocommerce-password-strength {
	padding-top: 1rem;
}


@media (max-width: 768px) {
	.woocommerce-lost-password .woocommerce-message {
		margin: 0;
		padding: 0 2rem;
	}
}

/* Checkout table */
.woocommerce-checkout table thead,
.woocommerce-checkout h3 {
    font-size: var(--h4);
    vertical-align: top;
}

.woocommerce-checkout table :is(td, th) {
    border: unset;
    padding: unset;
}

.woocommerce-checkout table {
    border: unset;
}

.woocommerce-checkout table .product-total {
    text-align: right;
}

.woocommerce-checkout tbody td:last-of-type {
    padding: 3rem 0;
    vertical-align: top;
    text-align: right;
}

.woocommerce-checkout .cart_item .product-name {
    display: flex;
    grid-gap: var(--gap-default);
    font-weight: var(--font-semibold);
}

.woocommerce-checkout .cart_item .product-name img {
	object-fit: contain;
    align-self: flex-start;
}

.woocommerce-checkout table .cart_item {
    border-bottom: var(--border-default);
}

.woocommerce-checkout .cart_item :is(td, th) {
    padding: 3rem 0;
}
 
.woocommerce-checkout th.product-total,
.woocommerce-checkout td:last-of-type {
    text-align: right;
    vertical-align: top;
}

.woocommerce-checkout tfoot :not(.order-total) :is(td, th) {
    font-weight: var(--font-regular);
    line-height: 2;
}

.woocommerce-checkout tfoot .order-total {
    border-top: var(--border-default);
}

.woocommerce-checkout tfoot .order-total :is(th, td) {
    padding-top: 3rem;
    font-size: var(--h4);
}

.woocommerce-checkout tfoot tr:first-of-type :is(th, td) {
    padding-top: 3rem;
}

.woocommerce-checkout tfoot tr:nth-last-child(-n+2) :is(th, td) {
    padding-bottom: 3rem;
}

@media only screen and (max-width: 600px) {
    /*.kco-one-selected #kco-order-review {*/
    #kco-order-review {
        padding: 3rem 2rem;
    }

    .kco-one-selected #kco-iframe {
        padding: 2rem 0.5rem;
    }

    .woocommerce-checkout .cart_item :is(td, th) {
        padding: 1.5rem 0;
    }

    .woocommerce-checkout .cart_item .product-name {
        display: block;
        padding: 1.5rem 0;
    }

    .woocommerce-checkout table img {
        width: 5rem;
        height: 5rem;
        margin-bottom: 1rem;
        display: block;
    }
}

/* change-payment checkout */
.change-payment-checkout #change-payment-wrapper {
    padding: 1rem;
    display: grid;
    grid-gap: var(--column-gap);
    max-width: var(--wd-container-s);
    margin: 0 auto;
}

.change-payment-checkout #change-payment-review {
    width: 100%;
    float: none;
    margin: unset;
    padding: 3rem;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.05);
    background-color: var(--bg-body);
}

#change-payment-review {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--gap-default);
}

.change-payment-checkout .payment_method_kco img {
    display: none;
}
.change-payment-checkout .payment_method_kco {
    margin: 1rem 0;
}

.change-payment-checkout .woocommerce-input-wrapper :is(textarea, input, select) {
    width: unset;
    vertical-align: unset;
}

.change-payment-checkout #place_order {
    margin: 2rem auto;
}

/* ==========================================================================
7.0 My account
========================================================================== */
.woocommerce-account {
    background-color: var(--bg-tertiary);
}

.woocommerce-account header {
	position: initial;
	top: initial;
	box-shadow: unset;
}

.woocommerce-account .woocommerce-MyAccount-content>*:not(:last-child) {
	margin-bottom: var(--gap-default);
}

.woocommerce-account .woocommerce-container {
    padding-top: calc(0.5 * var(--section-padding));
}

.woocommerce-account .woocommerce-container__inner {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-gap: var(--column-gap)
}

.woocommerce-account h2 {
    margin-bottom: var(--gap-default);
}

.woocommerce-account .button {
    width: inherit;   
    margin-top: 2rem;
}

.woocommerce-customer-details .woocommerce-columns {}

@media only screen and (max-width: 980px) {
    .woocommerce-account .woocommerce-container__inner {
        grid-template-columns: 1fr;
    } 

    .woocommerce .woocommerce-MyAccount-navigation {
        position: relative;
        top: unset;
    }

    .woocommerce .woocommerce-MyAccount-content {
        padding: 3rem;
    }
}

/* Login */
#customer_login {
	display: grid;
}

#customer_login>div:first-child {
	order: 1;
}

.woocommerce-account .myaccount-login .woocommerce-container__inner {
    grid-template-columns: 1fr !important;
    grid-gap: unset;
}

.woocommerce-form-login__rememberme input {
    margin: 0 1rem 0;
}

div#customer_login h2 {
    text-align: center;
}

.woocommerce-form-register {
    background-color: var(--bg-body);
    padding: 3rem;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 5%);
    max-width: var(--wd-container-xs);
    margin: 0 auto;
}

.woocommerce-form-row {
    display: flex;
    flex-direction: column;
}

/* Content */
.woocommerce-MyAccount-content {
    background-color: var(--bg-body);
    padding: 5rem;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 5%);
    height: fit-content;
}

.woocommerce-MyAccount-content :is(button, .button):not(.view) {
    margin-top: 2rem;
    width: fit-content;
}

.woocommerce-MyAccount-content .woocommerce-Message--info {
    display: flex;
    flex-direction: column-reverse;
    width: fit-content;
    font-size: initial;
}

/* Navigation */
.woocommerce-MyAccount-navigation {
    background-color: var(--bg-body);
    padding: 3rem;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 5%);
    height: fit-content;
    position: sticky;
    top: var(--section-padding);
    line-height: 2;
}

.woocommerce-MyAccount-navigation-link--customer-logout {
    background-color: var(--bg-primary);
    border-radius: 50rem;
    padding: 1rem 2rem;
    line-height: normal;
    margin-top: 2rem;
    width: fit-content;
    transition: all 150ms linear;
}
.woocommerce-MyAccount-navigation-link--customer-logout:hover {
    background-color: var(--bg-secondary);
    cursor: pointer;
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: var(--text-clr-invert);
    transition: all 150ms linear;
    font-size: var(--paragraph-small);
}
.woocommerce-MyAccount-navigation-link--customer-logout:hover a {
    color: var(--text-clr);
}

.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    content: url('/wp-content/themes/bauder/images/icon-logout.svg');
    filter: invert(1);
    vertical-align: middle;
    margin-right: 1rem;
    transition: all 150ms linear;
}
.woocommerce-MyAccount-navigation-link--customer-logout:hover a::before {
    filter: invert(0);
}

/* Orders and order details */
section.woocommerce-order-details {
    margin: var(--gap-default) 0;
}

.woocommerce-orders-table__cell .button,
.woocommerce-orders-table__cell .button:hover {
    background-color: transparent;
    padding: unset;
    color: initial;
}  

.woocommerce-MyAccount-orders .woocommerce-orders-table__header-order-actions,
.woocommerce-order-details .woocommerce-table--order-details th.product-total {
    text-align: center;
}

@media only screen and (max-width: 980px) {
    .woocommerce-MyAccount-orders tr td::before {
        content: attr(data-title) ": ";
        font-weight: var(--font-regular);
        float: left;
    }

    .woocommerce-MyAccount-orders thead {
        display: none;
    }

    .woocommerce-MyAccount-orders td,
    .woocommerce-MyAccount-orders th {
        display: block;
        padding: unset;
        text-align: right !important;
        line-height: 2;
        border: unset;
    }

    .woocommerce-MyAccount-orders {
        border: unset;
    }

    .woocommerce-MyAccount-orders tr.woocommerce-orders-table__row:not(:last-of-type) {
        border-bottom: var(--border-default);
    }

    .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number {
        margin: 1rem 0;
    }

    .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number {
        margin: 1rem 0;
    }

    .woocommerce-MyAccount-orders tr td:first-of-type::before,
    .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number * {
        font-weight: var(--font-bold);
    }

    .woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-actions {
        margin-bottom: 1.5rem;
    }
    
}

/* Address */
.woocommerce-Addresses {
    margin-top: var(--gap-default);
}
.woocommerce-Address:not(:last-of-type) {
    margin-bottom: var(--gap-default);
}

.woocommerce-Addresses .woocommerce-Address-title {
    margin-bottom: 1rem;
}
.woocommerce-Addresses .woocommerce-Address-title p {
    font-weight: var(--font-regular);
    font-size: var(--h4);
    margin-bottom: 1rem;
}

address {
    font-size: initial;
}

/* Edit account */
.woocommerce-EditAccountForm .woocommerce-form-row {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
    line-height: normal;
}

.woocommerce-EditAccountForm .woocommerce-form-row span {
    margin-top: 0.5rem;
}

.woocommerce-EditAccountForm fieldset {
    border: var(--border-default);
    padding: 1rem 2rem 0.5rem;
    font-size: initial;
}

/* ==========================================================================
9.0 Thank you / Order received
========================================================================== */
.woocommerce-order-received .woocommerce-container {
    padding-top: var(--section-padding);
}

.woocommerce-order {
    max-width: var(--wd-container-s);
    margin: 0 auto;
}

.woocommerce-order .woocommerce-thankyou-order-received {
    text-align: center;
}

.woocommerce-order .woocommerce-order-overview {
    margin-bottom: var(--column-gap);
}

.woocommerce-order .woocommerce-table__product-table.product-total {
    text-align: right !important;
}

.woocommerce-order .k-loading {
    box-shadow: 0px 2px 10px rgb(0 0 0 / 5%);
}

.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
    background-color: var(--bg-body);
    padding: 3rem;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 5%);
}

@media only screen and (max-width: 768px) {
    .woocommerce-order .woocommerce-order-details,
    .woocommerce-order .woocommerce-customer-details {
        padding: 3rem 2rem;
    }   
}

.woocommerce-order h2 {
    font-size: var(--h4);
    font-weight: var(--font-semibold);
    margin-bottom: 3rem;
}

.woocommerce-order tbody td:last-of-type {
    padding: 0.75rem 0;
}

/* hide subscription start price from product card */
.subscription-details .woocommerce-Price-amount:not( .woocommerce-checkout .subscription-details .woocommerce-Price-amount ) {
	display:none;
}

.wc_payment_methods {
	background-color: var(--bg-tertiary);
	padding: 1rem !important;
	margin-bottom: 2rem !important;
}

.wc_payment_methods label {
	font-weight: 700;
}

.woocommerce-form-coupon-toggle {
	max-width: var(--wd-container-xs);
    margin: 0 auto;
    padding-top: 3rem;
}

.woocommerce-error, .woocommerce-message {
    max-width: var(--wd-container-xs);
    margin: 0 auto;
    text-align: center;
    padding: 3rem 0;
}
