/* ////////////////////
---------------------
WooCommerce Styles
----------------------
/////////////////////  */

body {
    --woo-accent-color: var(--e-global-color-dark, #222);

    --woo-button-text-color: var(--e-global-color-dark, #222);
    --woo-button-hover-text-color: var(--e-global-color-light, snow);
}
.light-text {
    --woo-accent-color: snow;

    --woo-button-text-color: var(--e-global-color-light, snow);
    --woo-button-hover-text-color: var(--e-global-color-dark, #222);
}
div.woocommerce br {
    display: none;
}
div.woocommerce p:empty {
    display: none;
}
body.woocommerce-store-notice, 
.woocommerce p.demo_store {
    background-color: var(--woo-accent-color);
}
body.underline .woocommerce-store-notice a, 
body.underline p.demo_store a {
    text-decoration: none;
}

/* No list style */
.underline .woocommerce-MyAccount-navigation-link,
.underline .wc-block-grid__product {
  list-style-type: none;
  padding-left: 0;
}

.underline li.woocommerce-MyAccount-navigation-link::marker,
.underline .woocommerce-error li::marker,
.underline li.wc-block-grid__product::marker {
  content: none;
}

/* --- Loader --- */
.woocommerce .blockUI.blockOverlay {
    display: flex;
    justify-content: center;
    align-items: center;
}
.underline.woocommerce .blockUI.blockOverlay::before,
.underline .woocommerce .blockUI.blockOverlay::before {
    --svg: var(--circle-notch);
    background: unset;
    background-color: var(--e-global-color-dark);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    margin: 0;
    position: static;
}

/* ////////////////////////////
Woo Mini Cart
/////////////////////////////// */
li:has(.mini-cart) {
    position: static;
}
.mini-cart {
    position: absolute;
    max-height: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: max-height .3s ease, padding .3s ease, opacity .3s ease;
    overflow: hidden;
    background-color: var(--nav-bg-color);
    top: 100%;
}
.mini-cart-expanded .mini-cart {
    max-height: 100vh;
    opacity: 1;
    overflow-y: auto;
}
.mini-cart-wrapper {
    padding: var(--gap-sm) var(--indent);
    max-width: calc(1.25* var(--lg-text-width));
    margin: 0 auto;
}
.mini-cart button.icon-close {
    flex: 0 0 100%;
    display: flex;
    justify-content: flex-end;
    color: var(--nav-text-color);
    gap: .5ch;
    align-items: center;
    background: unset;
    box-shadow: none;
    padding: 0;
    margin-left: auto;
    margin-bottom: var(--gap-sm);
}
.mini-cart button.icon-close::after {
    content: '';
    display: inline-flex;
    width: var(--md-icon-size);
    height: var(--md-icon-size);
    --svg: var(--x-cross);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
}
.mini-cart-contents {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    flex-wrap: wrap;
}

p.woocommerce-mini-cart__empty-message {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--gap-xxs);
}
.mini-cart p.woocommerce-mini-cart__empty-message::before {
    content: '';
    height: var(--lg-icon-size);
    width: var(--lg-icon-size);
    background: currentColor;
    display: block;
    --svg: var(--empty-basket);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
}
div.mini-cart ul.woocommerce-mini-cart.cart_list.product_list_widget {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-bottom: var(--gap-xxs);
    padding-left: 0;
    margin: 0;
}
.woocommerce div.mini-cart ul.cart_list li::after, 
.woocommerce div.mini-cart ul.cart_list li::before, 
.woocommerce div.mini-cart ul.product_list_widget li::after, 
.woocommerce div.mini-cart ul.product_list_widget li::before {
    content: none;
}
div.mini-cart li.woocommerce-mini-cart-item.mini_cart_item::before,
div.mini-cart li.woocommerce-mini-cart-item.mini_cart_item::after {
    content: none;
}
.mini-cart li.woocommerce-mini-cart-item.mini_cart_item {
    padding: 0;
    display: grid;
    grid-template-columns: calc(60px + 2.5vw) 1fr 30px;
    gap: var(--gap-xs);
    padding: var(--gap-xs) 0;
    border-bottom: 1.5px solid currentColor;
    margin-bottom: 0;
}
.mini-cart li.woocommerce-mini-cart-item.mini_cart_item:last-child {
    border-bottom: none;
}
#masthead .mini-cart ul li.woocommerce-mini-cart-item.mini_cart_item a {
    font-size: inherit;
    padding: 0;
}
.woocommerce .mini-cart dl.variation {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: .3ch;
}
.mini-cart dd.variation-Size p {
    font-size: inherit;
}
.woocommerce .mini-cart ul.cart_list li dl::after, 
.woocommerce .mini-cart ul.cart_list li dl::before, 
.woocommerce .mini-cart ul.product_list_widget li dl::after, 
.woocommerce .mini-cart ul.product_list_widget li dl::before {
    content: none;
}
.woocommerce .mini-cart dl.variation :is(dt, dd) {
    margin: 0;
    padding: 0;
    font-weight: normal;
}
.mini-cart ul li a {
    background-image: none;
}
li.woocommerce-mini-cart-item.mini_cart_item a img {
    margin: 0;
    width: 100%;
    float: none;
}
li.woocommerce-mini-cart-item.mini_cart_item a img[src$="png"] {
    background: var(--e-global-color-woo-product-bg);
}
.mini-cart-product-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.woocommerce .mini-cart ul.cart_list li a, 
.woocommerce .mini-cart ul.product_list_widget li a {
    font-weight: normal;
}
.mini-cart .woocommerce-Price-amount.amount {
     color: var(--nav-text-color);
     font-size: calc(1.1rem + .15vw);
}
#masthead div.mini-cart ul li a.remove.remove_from_cart_button {
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    font-size: calc(2.2rem + .5vw);
    font-weight: normal;
    color: var(--nav-text-color) !important;
    background: unset;
    font-size: 0;
}
div.mini-cart ul li a.remove::after {
    content: '';
    display: inline-flex;
    width: var(--sm-icon-size);
    height: var(--sm-icon-size);
    --svg: var(--trash-icon);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
}
p.woocommerce-mini-cart__total.total {
    margin-bottom: 0;
}
p.woocommerce-mini-cart__buttons.buttons {
    display: flex;
    gap: var(--gap-xs);
    justify-content: center;
}
#masthead p.woocommerce-mini-cart__buttons.buttons > a {
    display: flex;
    justify-content: center;
    padding: 10px 15px;
    border: 1.5px solid currentColor;
    font-weight: normal;
    background: unset;
    border-radius: 0;
}
.mini-cart .blockUI.blockOverlay {
    display: flex;
    justify-content: center;
    align-items: center;
}
.woocommerce .mini-cart .blockUI.blockOverlay::before {
    background-color: var(--e-global-color-accent);
}
p.woocommerce-mini-cart__total.total {
    text-align: center;
}
p.woocommerce-mini-cart__total.total strong {
    font-weight: normal;
}
.woo-mini-cart-total-and-buttons {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    padding-top: var(--gap-xxs);
    border-top: 2px solid var(--nav-text-color);
}

@media screen and (min-width:768px) {
    .mini-cart-contents {
        flex-direction: row;
    }
    div.mini-cart ul.woocommerce-mini-cart.cart_list.product_list_widget {
        flex-grow: 1;
        padding-right: var(--gap-xs);
        padding-bottom: 0;
    }
    .woo-mini-cart-total-and-buttons {
        padding-left: var(--gap-xs);
        padding-top: 0;
        border-top: unset;
        border-left: 2px solid var(--nav-text-color);
    }
    p.woocommerce-mini-cart__total.total {
        text-align: left;
    }
}


/* /////////////////
WooCOmmerce Standard Star Rating
////////////////////////////// */
.woocommerce .products .star-rating {
    margin: 0;
    width: 5.4rem;
}
.woocommerce .star-rating::before,
.woocommerce .star-rating span::before {
    font-family: star;
    font-size: 1rem;
    line-height: 1;
}

/* ////////////////////
Ratings Plugin Global
///////////////////// */
.underline .glsr-star-empty, 
.underline .glsr-star-rating--stars[class*=" s"]>span,
.underline .glsr-star-full, 
.underline .glsr-star-rating--stars[class*=" s"]>span.gl-active, 
.underline .glsr-star-rating--stars[class*=" s"]>span.gl-active.gl-selected,
.underline .glsr-star-half {
    background-image: unset !important;
    content: '';
    display: inline-flex;
    width: var(--xs-icon-size);
    min-width: var(--xs-icon-size);
    height: var(--xs-icon-size);
    background-color: var(--woo-accent-color, currentColor);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
.underline .glsr-star-empty, 
.underline .glsr-star-rating--stars[class*=" s"]>span {
    --svg: var(--star-outline);
    background-color: var(--mid-grey);
}
.underline .glsr-star-full, 
.underline .glsr-star-rating--stars[class*=" s"]>span.gl-active, 
.underline .glsr-star-rating--stars[class*=" s"]>span.gl-active.gl-selected {
    --svg: var(--star-filled);
}
.underline .glsr-star-half {
    --svg: var(--star-half);
}


/* ////////////////////
Buttons
///////////////////// */

/* ////// Ghost ////// */
.woocommerce ul.products li.product .button, 
body.underline div.product .summary button.single_add_to_cart_button, 
.underline.woocommerce-cart .return-to-shop a.button, 
.underline.woocommerce-cart table.shop_table .coupons-empty-cart td button, 
.underline.woocommerce-cart button.button[name="update_cart"], 
.underline.woocommerce-cart .wc-proceed-to-checkout a.button, 
.woocommerce .woocommerce-message a.button, 
.woocommerce form.woocommerce-cart-form a.empty-cart.button, 
button#place_order, 
.underline button.woocommerce-form-login__submit, 
.underline button.woocommerce-Button, 
.underline .woocommerce button.button, 
.underline a.woocommerce-Button, 
.underline .woocommerce a.button, 
.woocommerce button.button[name="save_address"], 
body.underline.woocommerce #respond input#submit, 
.underline button.filter-button, 
button.wp-block-button__link.wc-block-filter-submit-button, 
.underline .wpc-filters-main-wrap a.wpc-filters-reset-button, 
.underline .wpc-filters-main-wrap a.wpc-filters-submit-button, 
.tinv-modal button.tinvwl_button_view, 
.underline .lmp_load_more_button .lmp_button, 
section[class*="bb"] a.button {
    padding: 15px 20px;
    display: flex;
    gap: .7ch;
    justify-content: center;
    background-color: transparent;
    box-shadow: 0px 0px 0px 1.5px var(--woo-accent-color) inset;
    color: var(--woo-button-text-color);
    text-transform: capitalize;
    align-items: center;
    /* align-self: flex-end; */
    line-height: 1.1;
    text-align: center;
    font-size: calc(1rem + .1vw);
    border-radius: 0;
    transition: background-color .3s ease, color .3s ease;
    flex-direction: row;
    font-weight: normal;
}
.lmp_load_more_button .lmp_button {
    font-size: inherit !important;
    color: inherit !important;
    background-color: inherit !important;
    padding: 15px 20px !important;
    border: none !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus,

body.underline .product button.single_add_to_cart_button:hover,
body.underline .product button.single_add_to_cart_button:focus,

.underline.woocommerce-cart .return-to-shop a.button:focus,
.underline.woocommerce-cart .return-to-shop a.button:hover,

.underline.woocommerce-cart .wc-proceed-to-checkout a.button:focus,
.underline.woocommerce-cart .wc-proceed-to-checkout a.button:hover,

.underline.woocommerce-cart .coupon button:hover,
.underline.woocommerce-cart .coupon button:focus,

.underline.woocommerce-cart button.button[name="update_cart"]:enabled:focus,
.underline.woocommerce-cart button.button[name="update_cart"]:enabled:hover,

.woocommerce .woocommerce-message a.button:focus,
.woocommerce .woocommerce-message a.button:hover,

.woocommerce .woocommerce-cart-form a.empty-cart.button:hover,
.woocommerce .woocommerce-cart-form a.empty-cart.button:focus,

button#place_order:hover,
button#place_order:focus,

.underline button.woocommerce-form-login__submit:hover,
.underline button.woocommerce-form-login__submit:focus,

.underline button.woocommerce-Button:hover,
.underline button.woocommerce-Button:focus,

.underline a.woocommerce-Button:hover,
.underline a.woocommerce-Button:focus,

.underline .woocommerce a.button:hover,
.underline .woocommerce a.button:focus,

.woocommerce button.button[name="save_address"]:focus,
.woocommerce button.button[name="save_address"]:hover,

.underline .woocommerce button.button:hover,
.underline .woocommerce button.button:focus,

body.underline.woocommerce #respond input#submit:hover,
body.underline.woocommerce #respond input#submit:focus,

button.filter-button:hover,
button.filter-button:focus,

button.wp-block-button__link.wc-block-filter-submit-button:hover,
button.wp-block-button__link.wc-block-filter-submit-button:focus,

.underline .wpc-filters-main-wrap a.wpc-filters-reset-button:hover,
.underline .wpc-filters-main-wrap a.wpc-filters-reset-button:focus,

.tinv-modal button.tinvwl_button_view:hover,
.tinv-modal button.tinvwl_button_view:focus,

section[class*="bb"] a.button:hover,
section[class*="bb"] a.button:focus {
    background-color: var(--woo-accent-color);
    color: var(--woo-button-hover-text-color);
}
.underline .lmp_load_more_button.br_lmp_button_settings .lmp_button:hover {
    background-color: var(--woo-accent-color) !important;
    color: var(--woo-button-hover-text-color) !important;
}

/* ////// Filled ////// */
.underline .wpc-filters-main-wrap a.wpc-filters-submit-button,
body.underline .product button.single_add_to_cart_button,
.underline .wc-proceed-to-checkout a.checkout-button.button,
.woocommerce button#place_order {
    background-color: var(--woo-accent-color);
    color: var(--e-global-color-light, snow);
    transition: background-color .3s ease, color .3s ease, box-shadow .3s ease;
}

.underline .wpc-filters-main-wrap a.wpc-filters-submit-button:hover,
.underline .wpc-filters-main-wrap a.wpc-filters-submit-button:focus,

body.underline .product button.single_add_to_cart_button:hover,
body.underline .product button.single_add_to_cart_button:focus,

.underline .wc-proceed-to-checkout a.checkout-button.button:focus,
.underline .wc-proceed-to-checkout a.checkout-button.button:hover,

.woocommerce button#place_order:hover,
.woocommerce button#place_order:focus {
    background-color: var(--e-global-color-accent);
    box-shadow: 0px 0px 0px 1.5px rgba(0,0,0,.3) inset;
    color: var(--e-global-color-light, snow);
}



/* ////////////////////
Messages
///////////////////// */

.woocommerce-message {
    display: flex;
    justify-content: space-between;
    grid-gap: 25px;
    grid-gap: var(--gap-sm);
    grid-gap: 30px;
}
.woocommerce-message .button.wc-forward {
    /* justify-self: flex-end; */
    order: 2;
}
.wp-admin .woocommerce-message .icon-close {
    display: none;
}
.woocommerce-message .icon-close {
    position: absolute;
    right: 15px;
    top: 15px;
    content: '';
    display: inline-flex;
    width: var(--sm-icon-size);
    height: var(--sm-icon-size);
    --svg: var(--x-cross);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
}
.woocommerce-message .icon-close:hover {
    cursor: pointer;
}
.js .underline .woocommerce-message {
    padding: 55px 50px 40px 30px;
}
.underline ul.woocommerce-error, 
.underline .woocommerce-info, 
.underline .woocommerce-message {
    padding: 25px;
    padding: var(--gap-sm);
    position: relative;
    /* border-top: 3px solid #a46497; */
    border-top: 2px solid rgb(245, 245, 245);
    list-style: none outside;
    width: auto;
    word-wrap: break-word;
    box-shadow: 7px 7px 7px -7px rgba(0, 0, 0, 0.4);
    background: var(--e-global-color-light, snow);
    border-left: 1.5px solid var(--light-grey);
    border-right: 1.5px solid var(--light-grey);
    border-bottom: 1.5px solid var(--light-grey);
    display: flex;
    align-items: center;
    max-width: 90vw;
    gap: 0.3ch;
    justify-content: space-between;
    max-width: min(90vw, var(--lg-text-width));
    margin: 0 auto var(--gap-sm);
}
.woocommerce-message {
    line-height: 1.3;
}
.underline ul.woocommerce-error {
    border-top-color: firebrick;
}
.underline .woocommerce-info {
    border-top-color: #ccc
}
.underline .woocommerce-message {
    border-top-color: #ccc
}
/* ////// Error Message ////// */
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
    float: none;
}
.woocommerce-error::after,
.woocommerce-error::before,
.woocommerce-info::after,
.woocommerce-info::before,
.woocommerce-message::after,
.woocommerce-message::before {
    content: none;
}
.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout .woocommerce-error {
    flex-direction: column;
    align-items: flex-start;
}

.underline ul.woocommerce-error {
    gap: var(--gap-xxs);
}
ul.woocommerce-error li {
    padding-bottom: 0;
    margin-bottom: 0;
}

.underline .woocommerce-message .woocommerce-Button.button,
.underline .woocommerce-info .woocommerce-Button.button {
    order: 3;
    margin-left: 3rem;
    text-align: center;
    margin-top: 0;
}
.underline .woocommerce-message .button.wc-forward {
    margin-top: 0;
}

.woocommerce-notices-wrapper:empty {
    display: none;
}

a.showlogin,
a.showcoupon {
    color: inherit;
    padding: 1px 2px;
    background-image: linear-gradient(to top, var(--e-global-color-accent) 100%, var(--e-global-color-accent) 100%);
    background-repeat: no-repeat;
    background-size: 100% 5%;
    background-position: center 101%;
    transition: background-size .3s ease, color .3s ease;
}
a.showlogin:hover,
a.showlogin:focus,
a.showcoupon:hover,
a.showcoupon:focus  {
    color: var(--e-global-color-light, snow);;
    background-size: 100% 100%;
}



/* ////////////
Shop Page
/////////////  */

/* ////// Custom Hero ////// */
section#shop-hero {
    padding-top: calc(var(--nav-height) + var(--gap-lg));
    padding-bottom: var(--gap-lg);
    padding-left: var(--indent);
    padding-right: var(--indent);
    position: relative;
}
header.shop-banner-content {
    max-width: var(--lg-text-width);
    margin: 0 auto;
}
header.shop-banner-content .woocommerce-breadcrumb {
    margin-bottom: var(--gap-xxs);
}
header.shop-banner-content .archive-description {
    margin-top: var(--gap-xs);
}

/* --- Hero Image --- */
section#shop-hero .post-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}
section#shop-hero .post-thumbnail img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.post-thumbnail + header.shop-banner-content::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--woo-accent-color);
    opacity: .85;
    z-index: -1;
}
#shop-hero .post-thumbnail + header :is(h1, h2, h3, p, a, nav, span) {
    color: var(--e-global-color-light, snow);
}
/* --- Header --- */
header.shop-banner-content h1 {
    font-size: calc(2.5rem + 2.2vw);
}
/* --- Main Shop Only - not category --- */
.woocommerce-shop h1.woocommerce-products-header__title.page-title {
    text-align: center;
}
/* --- No desc or breadcrumb --- */
.woocommerce-archive.no-breadcrumbs.no-archive-desc h1 {
    font-size: calc(2.25rem + 1vw);
    word-spacing: .2ch;
    letter-spacing: -.075ch;
}
/* --- Has Breadcrumbs No Desc --- */
.woocommerce-archive.has-breadcrumbs.no-archive-desc h1 {
    font-size: calc(2.25rem + 1vw);
    word-spacing: .2ch;
    letter-spacing: -.065ch;
}

@media screen and (min-width: 400px) {
    .woocommerce-archive.no-breadcrumbs.no-archive-desc h1 {
        font-size: clamp(3.25rem, 8vw, 7rem);
    }
    .woocommerce-archive.has-breadcrumbs.no-archive-desc h1 {
        font-size: clamp(3.25rem, 8vw, 7rem);
    }
}

/* ////// Main ////// */
.woocommerce-shop div#primary, 
.woocommerce.tax-product_cat div#primary,
.woocommerce.tax-product_tag div#primary {
    padding-top: var(--gap-md);
    padding-bottom: var(--gap-xl);
    padding-left: var(--indent);
    padding-right: var(--indent);
}
.woocommerce-shop main#main,
.woocommerce.tax-product_cat main#main,
.woocommerce.tax-product_tag main#main {
    max-width: var(--lg-content-width);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
}

.woocommerce .woocommerce-breadcrumb {
    margin: 0;
    padding: 0;
    font-size: calc(1.1rem + .1vw);
}
header.woocommerce-products-header {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}
h1.woocommerce-products-header__title.page-title {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* ////// Archive Header - Count, Sorting ////// */
.woocommerce-archive-header {
    display: flex;
    gap: var(--gap-sm);
    flex-direction: column;
}
/* --- Count --- */
.woocommerce p.woocommerce-result-count,
.woocommerce form.woocommerce-ordering {
    margin-bottom: 0;
    font-size: calc(1.25rem + .25vw);
}
/* --- Ordering --- */
form.woocommerce-ordering {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}
form.woocommerce-ordering > label, 
.woocommerce-ordering select {
    grid-column: 1/2;
    grid-row: 1/2;
}
/* --- Sorting --- */
.woocommerce-sorting {
    display: grid;
    gap: var(--gap-xxs);
    grid-template-columns: 1fr 1fr;
}
.woocommerce .woocommerce-ordering select {
    vertical-align: top;
}
.woocommerce-sorting select.orderby,
.woocommerce-sorting button.filter-button {
    height: 100%;
}
.woocommerce-sorting .woocommerce-ordering label {
    height: 100%;
    background-image: none;
    padding: 15px 20px;
    display: flex;
    gap: .7ch;
    justify-content: center;
    background-color: transparent;
    box-shadow: 0px 0px 1px 1.5px var(--woo-accent-color) inset;
    color: var(--woo-accent-color);
    text-transform: capitalize;
    align-items: center;
    align-self: flex-end;
    line-height: 1.1;
    text-align: center;
    font-size: calc(1rem + .1vw);
    border-radius: 0;
    transition: background-color .3s ease, color .3s ease;
    flex-direction: row;
    border: none;
    white-space: pre;
}
.woocommerce-sorting .woocommerce-ordering label::after {
    content: '';
    display: inline-flex;
    width: var(--sm-icon-size);
    min-width: var(--sm-icon-size);
    height: var(--sm-icon-size);
    --svg: var(--arrow-up-down);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
.woocommerce .woocommerce-ordering select {
    text-indent: -99999px;
    background: none;
    box-shadow: none;
    border: none;
}
form.woocommerce-ordering select:hover {
    cursor: pointer;
}

/* --- Filter --- */
.woocommerce-sorting button.filter-button::after {
    content: '';
    display: inline-flex;
    width: var(--sm-icon-size);
    min-width: var(--sm-icon-size);
    height: var(--sm-icon-size);
    --svg: var(--sliders);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}


/* ////// Product List ul ////// */

body.underline ul.products::before {
    content: none;
}
body.underline ul.products {
    margin: var(--gap-xs) 0 0 0;
    display: grid;
    gap: var(--gap-md) var(--gap-sm);
    justify-content: center;
    padding-bottom: var(--gap-sm);
}
ul.products.columns-2,
ul.products.columns-3,
ul.products.columns-4 {
    grid-template-columns: 1fr 1fr;
}
body.underline .products ul::after, 
body.underline .products ul::before, 
body.underline ul.products::after, 
body.underline ul.products::before {
    content: none;
}

/* ////// Product Card li //////*/
body.underline ul.products[class*=columns-] li.product::marker, 
body.woocommerce-page ul.products[class*=columns-] li.product::marker {
    content: none;
}
body.underline ul.products[class*=columns-] li.product, 
body.woocommerce-page ul.products[class*=columns-] li.product {
    float: none;
    width: auto;
    margin: 0;
    display: grid;
    max-width: 600px;
    gap: var(--gap-sm);
    padding: 0;
}
body.underline ul.products li.product a.woocommerce-LoopProduct-link {
    background-image: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}
body.underline ul.products li.product a:hover,
body.underline ul.products li.product a:focus {
    color: inherit;
}

/* --- Product Notices --- */
.woocommerce ul.woo-product-badges {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .7ch;
    position: absolute;
    left: 10px;
    bottom: 10px;
}
.underline ul.woo-product-badges li {
    margin: 0;
    line-height: 1;
    padding: 7px 10px;
    background-color: var(--e-global-color-light, snow);
    color: var(--e-global-color-heading-text, #333);
    display: flex;
    align-items: center;
    font-size: calc(.9rem + .1vw);
}
ul.woo-product-badges li.sale-percentage {
    background-color: firebrick;
    color: var(--e-global-color-light, snow);
}
ul.woo-product-badges li.sold-out {
    background-color: var(--dark-grey);
    color: var(--e-global-color-light, snow);
}
/* li.sale .underline-wc-thumbnail::after {
    content: "Sale";
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
    background: red;
    color: var(--e-global-color-light, snow);
    font-size: calc(0.9rem + 0.1vw);
}

li.outofstock .underline-wc-thumbnail:after {
    content: "Out Of Stock";
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
    background: grey;
    color: var(--e-global-color-light, snow);
    font-size: calc(0.9rem + 0.1vw);
} */
/* li.product.product-type-variable.pa_colour .underline-wc-thumbnail::before,
li.product.product-type-variable.pa_color .underline-wc-thumbnail::before {
    content: 'More Colours';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    font-size: .9rem;
    background-color: var( --e-global-color-accent );
    color: #fff;
    padding: 7px;
    text-align: center;
    line-height: 1;
    z-index: 9;
    opacity: .7;
} */


/* --- Product Image --- */
.underline-wc-thumbnail {
    position: relative;
    overflow: hidden;
}
body.underline ul.products li.product a img {
    margin-bottom: 0
}
body.underline ul.products li.product a img,
body .woocommerce ul.products li.product a img {
  transition: transform .3s ease-in-out;
}
.woocommerce-LoopProduct-link.woocommerce-loop-product__link:hover img, 
.woocommerce-LoopProduct-link.woocommerce-loop-product__link:focus img {
  transform: scale(1.05);
}


/* --- Product Price/Title etc --- */
.woocommerce-product-name-price {
    display: grid;
    justify-content: flex-start;
    gap: var(--gap-xxs);
    align-items: center;
}
body.underline ul.products li.product .woocommerce-loop-product__title {
    padding: 0;
    /* margin-bottom: var(--gap-xxs); */
    font-size: calc(1.3rem + .2vw);
}

/* body.underline ul.products li.product span.price {
    color: var(--e-global-color-text);
} */
body.underline span.price,
body.underline span.price * {
    line-height: .9;
}
body.underline ul.products li.product .price {
    display: flex;
    font-weight: 400;
    margin-bottom: 0;
    font-size: calc(1.2rem + .2vw);
    flex-wrap: wrap;
    gap: 7px;
    color: inherit;
}
body.underline ul.products li.product .price ins {
    font-style: normal;
    text-decoration: none;
}

/* --- Variation Swatches --- */
.underline table.cfvsw-shop-variations, 
.underline .cfvsw-shop-variations tbody, 
.underline .cfvsw-shop-variations td, 
.underline .cfvsw-shop-variations tr {
    padding: 0;
}
.underline .variations tr:not(:last-child) th.label, 
.underline .variations tr:not(:last-child) td.value {
    padding-bottom: var(--gap-xs);
}
.underline .cfvsw-label-option {
    font-size: calc(.9rem + .1vw);
    padding: 7px 12px;
}
.underline .cfvsw-swatches-option:not( .cfvsw-label-option, .cfvsw-image-option ) .cfvsw-swatch-inner,
.cfvsw-label-option, .cfvsw-image-option {
    border: 1.5px solid #00000060;
}
.cfvsw-swatches-option:not( .cfvsw-swatches-disabled, .cfvsw-swatches-out-of-stock ):hover,
.cfvsw-swatches-option:not( .cfvsw-swatches-disabled, .cfvsw-swatches-out-of-stock ):focus,
.cfvsw-selected-swatch {
    background-color: var(--woo-accent-color);
    color: var(--e-global-color-light, snow);
}

/*  --- Rating ---  */
li.product .glsrw-loop-rating {
    margin: unset !important;
    display: inline-flex !important;
}
li.product .glsr-star-rating.glsr-stars::after {
    content: "(" attr(data-reviews) ")";
    margin-left: .5ch;
}
/* li.product .glsr-star-rating.glsr-stars[data-reviews="0"]::after {
    content: "(No reviews yet)";
} */
li.product .glsr-star-rating {
    align-items: center;
    display: flex;
    position: relative;
    flex-wrap: wrap;
}
li.product .glsr-stars {
    justify-content: flex-start;
    /* gap: .5ch; */
}

/* --- Add To Basket --- */
body.underline ul.products li.product .button {
    margin-top: 0;
}
a.added_to_cart.wc-forward {
    text-align: center;
}
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.loading::after {
    position: static;
}
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added::after {
    margin-left: 0;
}
a.add_to_cart_button::after,
a.button[aria-label*="Read more about"]::after,
a.button[aria-label*="Select options for"]::after,
a.button[aria-label*="View products in"]::after,
a.button.product_type_external::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    min-width: 1.2em;
    height: 1.2em;
    --svg: var(--add-to-basket);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;  
}
a.button[aria-label*="Read more about"]::after,
a.button[aria-label*="Select options for"]::after {
    --svg: var(--info);
}
a.button[aria-label*="View products in"]::after {
    --svg: var(--eye); 
}
a.button.product_type_external::after {
    --svg: var(--external-link);
}
a.add_to_cart_button.loading::after {
    --svg: var(--circle-notch);
}
.woocommerce a.added_to_cart {
    padding-top: .5em;
    /* display: flex; */
    /* width: auto; */
    justify-self: center;
    padding-top: 0;
}


/* ////// Pagination ////// */
nav.woocommerce-pagination {
    display: flex;
    justify-content: center;
    margin-top: var(--gap-md);
}
body.underline nav.woocommerce-pagination ul {
    margin: 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
    border: none;
    /* width: max-content; */
    gap: 7px;
}
body.underline .woocommerce-pagination ul.page-numbers li, 
body.woocommerce-page .woocommerce-pagination ul.page-numbers li {
    display: flex;
    border: 1px solid var(--light-grey, #ddd);
}
body.underline nav.woocommerce-pagination ul li a, 
body.underline nav.woocommerce-pagination ul li span {
    background-image: none;
    font-size: calc(1rem + .1vw);
    display: flex;
    align-items: center;
}
.woocommerce nav.woocommerce-pagination ul li a:focus, 
.woocommerce nav.woocommerce-pagination ul li a:hover, 
.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: var(--woo-accent-color);
    color: var(--e-global-color-light, snow);
} 
body.underline nav.woocommerce-pagination ul li span.current {
    color: var(--e-global-color-light, snow);
    opacity: .5;
}
body.underline nav.woocommerce-pagination ul li a:focus, 
body.underline nav.woocommerce-pagination ul li a:hover {
    color: var(--e-global-color-light, snow);
}
.woocommerce-pagination a.page-numbers.next::after,
.woocommerce-pagination a.page-numbers.prev::after {
    content: '';
    display: inline-flex;
    width: var(--sm-icon-size);
    min-width: var(--sm-icon-size);
    height: var(--sm-icon-size);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
.woocommerce-pagination a.prev.page-numbers::after {
    --svg: var(--caret-left);
}
.woocommerce-pagination a.next.page-numbers::after {
    --svg: var(--caret-right);
}




/* ////// Load More////// */
#main > p.woocommerce-result-count {
    text-align: center;
    margin: 0;
    /* padding-top: var(--gap-sm); */
    font-size: calc(1.1rem + .1vw);
}
/* --- Button --- */
.lmp_load_more_button.br_lmp_button_settings {
    display: flex;
    justify-content: center;
}
a.lmp_button::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    min-width: 1.2em;
    height: 1.2em;
    --svg: var(--plus);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
/* --- Loader --- */
.underline .bapf_lcontainer,
.underline .bapf_lcontainer .bapf_loader {
    width: 56px;
    height: 56px;
}
.bapf_lcontainer .bapf_loader .bapf_lfirst, 
.bapf_lcontainer .bapf_loader .bapf_lsecond {
    display: none;
}
.bapf_lcontainer .bapf_loader::after,
.lmp_rotate::after {
    content: '';
    height: 56px;
    width: 56px;
    background: var(--woo-accent-color);
    display: block;
    --svg: var(--circle-notch);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

/* /// WP Filters Global /// */
.shop-sidebar h3.wp-block-heading {
    font-size: calc(1.1rem + .2vw);
}
.wc-block-components-checkbox-list li::marker {
    content: none;
}
.shop-widgets .refine-by h2 {
    font-size: calc(1.75rem  + .6vw);
    margin-bottom: 0;
}
.wc-block-active-filters span.wc-block-active-filters__list-item-type,
.wc-block-active-filters span.wc-block-active-filters__list-item-name {
    font-size: inherit;
    letter-spacing: inherit;
    font-weight: inherit;
    text-transform: inherit;
}
.shop-widgets .wc-block-active-filters button.wc-block-active-filters__clear-all {
    float: none;
}
#secondary button.wc-block-active-filters__list-item-remove {
    background: unset;
    box-shadow: none;
    border: 1.5px solid currentColor;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: inherit;
}
#secondary button.wc-block-active-filters__list-item-remove,
#secondary button.wc-block-active-filters__list-item-remove svg {
    height: calc(1rem + .1vw);
    width: calc(1rem + .1vw);
}
.shop-widgets .wc-block-stock-filter__actions,
.shop-widgets .wc-block-attribute-filter__actions {
    justify-content: flex-start;
}
#secondary.shop-sidebar button.wc-block-components-filter-reset-button {
    background: unset;
    color: inherit;
    box-shadow: none;
    float: none;
}
.shop-sidebar :is(p, li, span, input, label, textarea) {
    font-size: calc(1rem + .1vw);
}
.shop-sidebar .widget_block .wp-block-woocommerce-filter-wrapper {
    padding: var(--gap-sm) 0;
    border-bottom: 1.5px solid var(--light-grey, #ddd);
}
.shop-sidebar .widget_block.no-active-filters .wp-block-woocommerce-filter-wrapper {
    padding: 0;
    border-bottom: none;
}
.shop-sidebar .widget_block:last-child {
    border-bottom: none;
}
.shop-sidebar .wc-block-components-price-slider,
.shop-sidebar .wc-block-attribute-filter {
    margin-bottom: 0;
}
.wp-block-woocommerce-attribute-filter {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xxs);
    /* justify-content: flex-start; */
}
button.wp-block-button__link.wc-block-filter-submit-button.wc-block-components-filter-submit-button.wc-block-attribute-filter__button {
    padding: 8px 16px;
}
#secondary button.components-button.components-form-token-field__remove-token.has-icon {
    background: unset;
    box-shadow: unset;
}


/* ////// Be Rocket Filters ////// */

/* --- Global --- */
.underline .bapf_head h3 {
    font-size: calc(1.3rem + .3vw);
}
#secondary .refine-by + .berocket_single_filter_widget {
    padding-top: 0;
}
.berocket_single_filter_widget {
    padding-top: var(--gap-sm);
}
.berocket_single_filter_widget:has(+.berocket_single_filter_widget) {
    padding: var(--gap-sm) 0;
    border-bottom: 1.5px solid var(--light-grey);
}
.underline .bapf_sfilter {
    margin-bottom: 0;
}
.underline .bapf_sfilter.brchecked_default input:checked+label .bapf_clr_span, 
.underline .bapf_sfilter.brchecked_default input:checked+label .bapf_img_span, 
.underline .bapf_sfilter.brchecked_rotate input:checked+label .bapf_clr_span, 
.underline .bapf_sfilter.brchecked_rotate input:checked+label .bapf_img_span {
    transform: unset;
    outline: 2px solid var(--woo-accent-color);
    outline-offset: 2px;
}
span.bapf_show_hide {
    margin-top: var(--gap-xs);
    display: flex;
    gap: .5ch;
    align-items: center;
}
span.bapf_show_hide::after {
    content: '';
    display: inline-flex;
    width: 18px;
    height: 18px;
    --svg: var(--caret-up);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
.bapf_fhide span.bapf_show_hide::after {
    --svg: var(--caret-down);
}

/* --- Chips --- */
.bapf_sfa_inline {
    padding-top: var(--gap-sm);
}
.berocket_aapf_widget_selected_filter,
.berocket_aapf_widget_selected_filter ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-xxs);
    padding: 0;
    margin: 0;
    display: flex;
    gap: var(--gap-xxs);
}
.bapf_sfa_taxonomy span {
    display: none;
}
.bapf_sfilter ul li::marker {
    content: none;
}
.bapf_sfa_inline .berocket_aapf_widget_selected_area ul li {
    display: flex;
}
.underline .berocket_aapf_widget_selected_filter li a {
    background-image: unset;
    padding: 5px 8px;
    border: 1.5px solid var(--woo-accent-color);
    border-radius: 25px;
    display: flex;
    align-items: center;
    gap: .7ch;
    background-color: var(--woo-accent-color);
    color: white;
}
.berocket_aapf_widget_selected_filter li a::after {
    content: '';
    display: inline-flex;
    width: 18px;
    height: 18px;
    --svg: var(--x-cross);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
.underline .berocket_aapf_widget_selected_filter li a.braapf_unselect_all {
    border-color: firebrick;
    background-color: transparent;
    color: var(--e-global-text-color);
}
.underline .berocket_aapf_widget_selected_filter li a:hover,
.underline .berocket_aapf_widget_selected_filter li a:focus {
    background-color: transparent;
    color: var(--e-global-text-color);
}
.underline .berocket_aapf_widget_selected_filter li a.braapf_unselect_all:hover,
.underline .berocket_aapf_widget_selected_filter li a.braapf_unselect_all:focus {
    background-color: firebrick;
    color: white;
}

/* --- Dropdown Select --- */
.bapf_sfilter .select2-hidden-accessible {
    border: 1.5px solid var(--light-grey) !important;
    clip: unset !important;
    -webkit-clip-path: unset !important;
    clip-path: unset !important;
    height: auto!important;
    overflow: initial !important;
    padding: 8px 35px 8px 15px !important;
    position: static !important;
    width: 100%!important;
    white-space: initial !important;
}
span.select2.select2-container {
    display: none;
}

/* --- Checkbox --- */
/* Standard */
.underline.bapf_sfilter.bapf_ckbox input[type=checkbox] {
    margin-right: 1.5ch;
}
.bapf_ckbox ul {
    display: grid;
    gap: calc(7px + .1vw);
}
.bapf_sfilter.bapf_ckbox input[type=checkbox] {
    margin-right: 1ch;
}
/* Colour Swatch */
.bapf_ckbox.bapf_stylecolor ul {
    display: flex;
    gap: .7ch;
    flex-wrap: wrap;
}
.bapf_sfilter .bapf_clr_span {
    border-radius: 50%;
}
/* Text Label */
.bapf_ckbox.bapf_clr_txt_right ul,
.bapf_ckbox.bapf_clr_txt_left ul {
    display: flex;
    flex-direction: column;
}
/* Colour Swatch */
.bapf_ckbox.bapf_stylecolor ul {
    display: flex;
    gap: .7ch;
    flex-wrap: wrap;
}
.bapf_sfilter .bapf_clr_span {
    border-radius: 50%;
    outline: 2px solid rgba(0,0,0,.2);
    outline-offset: -2px;
}
/* Image Swatch */
.bapf_sfilter .bapf_img_span {
    border: unset;
}
.bapf_sfilter.bapf_clr_txt_right .bapf_img_span {
    margin: 0 1.5ch 0 0;
}
.bapf_styleimage ul {
    gap: var(--gap-xxs);
}
/* Checkbox Text List */
.bapf_hideckbox ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--gap-xxs);
}
.underline .bapf_hideckbox ul li {
    padding: 5px 10px !important;
    border: 1.5px solid var(--woo-accent-color);
}
.underline .bapf_hideckbox li label, 
.underline .bapf_hideckbox li label a {
    color: var(--e-global-text-color);
    transition: background-color .3s ease, color .3s ease;
}
.underline .bapf_hideckbox ul li.checked {
    background-color: var(--woo-accent-color);
}
.underline .bapf_hideckbox ul li.checked label::after {
    content: '';
    display: inline-flex;
    width: 18px;
    height: 18px;
    --svg: var(--x-cross);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
.bapf_hideckbox ul li input:checked+label, 
.bapf_hideckbox ul li input:checked+label a {
    color: white;
    display: inline-flex !important;
    align-items: center;
    gap: .5ch;
}
.underline .bapf_hideckbox ul li:hover {
    background-color: var(--woo-accent-color);
    color: white;
}
.underline .bapf_hideckbox ul li.checked:hover {
    background-color: firebrick;
}
.bapf_hideckbox li input:checked+label:hover, 
.bapf_hideckbox li input:checked+label:hover a {
    color: white;
}

/* --- Slider --- */
.bapf_slidr_main.ui-widget-content span.ui-slider-handle {
    background: white;
    outline: 2px solid var(--woo-accent-color);
}
.underline .bapf_slidr_main.ui-widget-content .ui-slider-range, 
.underline .berocket_filter_price_slider.ui-widget-content .ui-slider-range {
    background: var(--woo-accent-color);
}


/* --- Filter Button (Mobile Only) --- */

@media screen and (max-width: 1023px) {
    .js .shop-sidebar .sidebar-widgets {
        transform: translateX(-100%);
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        display: block;
        background: var(--e-global-color-light, snow);
        right: var(--gap-lg);
        z-index: 999999;
        padding: 30px;
        overflow-y: scroll;
        overflow-y: scroll;
        -webkit-scrollbar-width: none;
        scrollbar-width: none;
        transition: transform .5s ease;
    }
    button.filter-button {
        width: 100%;
    }
    .product-filter-open::after {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: black;
        opacity: 0.7;
        z-index: 2;
        mix-blend-mode: multiply;
        z-index: 99999;
    }  
    .shop-sidebar-enabled.product-filter-open .sidebar-widgets {
        transform: translateX(0);
    }
  
    /* Hide scrollbar for Chrome, Safari and Opera */
    .shop-sidebar-enabled.product-filter-open
      .sidebar-widgets::-webkit-scrollbar {
      display: none;
    }
    /* Hide scrollbar for IE and Edge */
    .shop-sidebar-enabled.product-filter-open .sidebar-widgets {
      -ms-overflow-style: none;
    }
  
    .refine-by {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: var(--gap-sm);
    }
    .refine-by h2 {
        margin-bottom: 0;
    }
    .shop-sidebar .icon-close:hover,
    .shop-sidebar .icon-close:focus {
      color: var(--link-color);
      cursor: pointer;
    }
}

@media screen and (min-width:1024px) {
    /* ////// layout ////// */
    .woocommerce-shop.shop-sidebar-enabled div#primary,
    .tax-product_cat.shop-sidebar-enabled div#primary,
    .tax-product_tag.shop-sidebar-enabled div#primary {
        display: grid;
        grid-template-columns: 1fr 3fr;
    }
    .woocommerce-shop.shop-sidebar-enabled aside#secondary {
        padding-right: var(--gap-md);
        border-right: 1.5px solid var(--light-grey, #ddd);
    }
    .woocommerce-shop.shop-sidebar-enabled main#main, 
    .woocommerce.tax-product_cat.shop-sidebar-enabled main#main,
    .tax-product_tag.shop-sidebar-enabled main#main  {
        max-width: unset;
        padding-left: var(--gap-md);
    }
    /* ////// Filter ////// */
    .shop-widgets .refine-by h2 {
        font-size: calc(1.75rem  + .6vw);
        margin-bottom: 0;
        display: flex;
        align-items: center;
        gap: .7ch;
    }
    .shop-widgets .refine-by h2::after {
        content: '';
        display: inline-flex;
        width: 1em;
        min-width: 1em;
        height: 1em;
        --svg: var(--sliders);
        background-color: currentColor;
        -webkit-mask-image: var(--svg);
        mask-image: var(--svg);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
    }
    .shop-sidebar i.icon-close,
    .underline button.filter-button {
        display: none;
    }
    /* ////// Archive header ////// */
    .woocommerce-archive-header {
        display: flex;
        gap: var(--gap-xxs);
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .woocommerce-sorting {
        display: flex;
    }
}

/* ////// Prodcuts ul on desktop ////// */
body.underline #main,
div.woocommerce[class*="columns-"] {
    container: product-list / inline-size;
}
@container product-list (min-width:800px) {
    /* .woocommerce-archive-header {
        display: flex;
        gap: var(--gap-xxs);
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    } */
    
    /* .woocommerce-sorting {
        display: flex;
        gap: var(--gap-xxs);
    } */
    ul.products.columns-3 {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@container product-list (min-width:1000px) {
    ul.products.columns-4 {
        /* grid-template-columns: 1fr 1fr 1fr 1fr; */

        --grid-layout-gap: var(--gap-sm);
        --grid-column-count: 4;
        --grid-item--min-width: 200px;
    
        --gap-count: calc(var(--grid-column-count) - 1);
        --total-gap-width: calc(var(--gap-count) * var(--grid-layout-gap));
        --grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));
    
        grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
        grid-gap: var(--grid-layout-gap);
    }
}


/* ////// Product card li on desktop ////// */
body.underline li.product {
    container: product-card / inline-size;
}
@container product-card (min-width:300px) {
    /* .woocommerce-product-name-price {
        display: grid;
        justify-content: flex-start;
        gap: var(--gap-xxs);
        align-items: center;
    } */
    body.underline ul.products li.product .woocommerce-loop-product__title {
        margin-bottom: 0;
    }
    /* body.underline ul.products li.product .price {
        justify-content: flex-end;
        gap: 0;
    } */
    body.underline ul.products li.product .price ins {
        margin-left: 7px;
    }
}

/* -----------------
TI Wishlist
------------------ */

/* --- Shop Page --- */
a.tinvwl_add_to_wishlist_button {
    background-image: unset;
}
.tinv-wraper.tinv-wishlist.tinvwl-above_thumb-add-to-cart {
    display: flex;
    position: absolute;
    padding: 4px;
    background-color: rgba(255,255,255,.6);
    border-radius: 50%;
}
.underline .tinv-wishlist.tinvwl-above_thumb-add-to-cart a.tinvwl_add_to_wishlist_button {
    height: 30px;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .3s ease, transform .3s ease;
}
.underline .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before {
    font-size: 30px;
    margin-right: 0;
}
.underline .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt:before, 
.underline .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt:before {
    position: static;
    top: unset;
    left: unset;
    margin: 0;
}
a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt.tinvwl-position-above_thumb,
a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt.tinvwl-position-above_thumb {
    color: var( --e-global-color-dark );
}
a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt.tinvwl-position-above_thumb:hover,
a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt.tinvwl-position-above_thumb:focus {
    color: var( --e-global-color-accent );
    transform: scale(1.1);
}

/* --- Pop Up --- */
.woocommerce .tinv-wishlist button.tinvwl_button_close {
    background: unset;
    display: flex;
    justify-content: center;
    align-items: center;
}
.underline .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-heart-o::before, 
.underline .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-key::before, 
.underline .tinv-wishlist .tinvwl-buttons-group button i.ftinvwl-times::before {
    top: unset;
}

/* --- Product Page --- */
.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button {
    margin-top: 0;
    display: flex;
    align-items: center;
}
.tinv-wraper.woocommerce.tinv-wishlist.tinvwl-after-add-to-cart.tinvwl-woocommerce_after_add_to_cart_button {
    display: flex;
    width: 100%;
}

/* --- Wishlist Page --- */
.tinv-header,
table.tinvwl-table-manage-list thead {
    display: none;
}
.tinv-wishlist tbody {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap-sm);
}
tr.wishlist_item {
    position: relative;
    display: grid;
    gap: var(--gap-xxs);
}
body.underline .tinv-wishlist form table.tinvwl-table-manage-list td, 
body.underline .tinv-wishlist form table.tinvwl-table-manage-list th {
    border: none;
    padding: 0;
}
.tinv-wishlist table.tinvwl-table-manage-list tbody td {
    width: 100%;
    text-align: center;
}

/* Checkbox */
.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-cb {
    position: absolute;
    top: 14px;
    left: 10px;
    display: flex;
    width: auto !important;
}
/* Remove */
.tinv-wishlist table.tinvwl-table-manage-list tbody td.product-remove {
    position: absolute;
    top: 10px;
    right: 10px;
    height: 27px;
    width: 27px !important;
    display: flex;
}
.tinv-wishlist table .product-remove button {
    margin: 0;
    padding: 0;
    align-items: center;
}
.tinv-wishlist .product-remove button:hover,
.tinv-wishlist .product-remove button:focus {
    color: var(--e-global-color-light, snow);
}
/* Image */
.tinv-wishlist table .product-thumbnail img {
    max-width: 100%;
    width: 100%;
}
/* Name */
.tinv-wishlist td.product-name a {
    font-size: calc(1.4rem  + .4vw);
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: var(--e-global-typography-primary-text-transform);
    text-transform: var(--e-global-typography-primary-text-transform);
    letter-spacing: -.05ch;
}
/* In Stock */
.underline .tinv-wishlist .tinvwl-table-manage-list td.product-stock p {
    display: flex;
    text-align: center;
    justify-content: center;
    gap: .7ch;
}
.underline .tinv-wishlist .product-stock span {
    display: flex;
    align-items: center;
}
.tinv-wishlist td.product-stock i {
    margin: 0;
}
/* Apply Filters - add, remove etc. */
.tinv-wishlist tfoot {
    margin-top: var(--gap-md);
}
.tinv-wishlist tfoot .tinvwl-to-left:not(:empty) > div {
    display: flex;
    padding: var(--gap-xs) var(--gap-sm);
    background: var(--light-grey);
    gap: var(--gap-xs);
    align-items: center;
}
.underline .tinv-wishlist .tinvwl-to-left .tinvwl-input-group .form-control+.tinvwl-input-group-btn {
    padding: 0;
    width: auto;
}
.underline .tinvwl-input-group .form-control {
    float: none;
    flex-grow: 1;
    width: auto;
    height: 100%;
}
.tinv-wishlist table tfoot div.tinvwl-to-right.look_in {
    margin: 0;
    background: var(--feint-grey);
    padding: var(--gap-xs) var(--gap-sm);
    display: flex;
    gap: var(--gap-xs);
    justify-content: center;
}
.tinv-wishlist table tfoot .tinvwl-to-right>* {
    margin: 0;
}
.tinvwl-to-left.look_in,
.tinvwl-to-right.look_in {
    flex-grow: 1;
}
.underline .tinv-wishlist table.tinvwl-table-manage-list {
    margin-bottom: 0;
}
body.underline .tinv-wishlist table.tinvwl-table-manage-list tfoot td {
    margin-top: var(--gap-md);
    display: flex;
    flex-direction: column;
}
/* Share */
.underline .tinv-wishlist .social-buttons {
    margin-top: var(--gap-md);
    display: grid;
    gap: var(--gap-xxs);
}
.tinv-wishlist .social-buttons>span {
    margin-right: 0;
    text-align: center;
    display: block;
    font-size: calc(1.2rem + .2vw);
}
.tinv-wishlist ul:not(.woocommerce-error) {
    display: flex;
    gap: var(--gap-xs);
    justify-content: center;
}
.tinv-wishlist ul:not(.woocommerce-error) li::marker {
    content: none;
}
.tinv-wishlist ul:not(.woocommerce-error) li {
    padding: 0;
    margin: 0;
}
.tinv-wishlist .social-buttons li a.social {
    background-image: unset;
    transition: color .3s ease, background-color .3s ease;
}
.tinv-wishlist .social-buttons li a.social:hover,
.tinv-wishlist .social-buttons li a.social:focus {
    background-color: var(--e-global-color-accent);
}

@media screen and (min-width: 768px) {
    body.underline .tinv-wishlist table.tinvwl-table-manage-list tfoot td {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media only screen and (max-width: 1024px) and (min-width: 769px) {
    .underline .tinv-wishlist .tinvwl-table-manage-list td.product-stock .tinvwl-txt,
    .tinv-wishlist table .product-action .button .tinvwl-txt {
        display: initial;
    }
    .underline .tinv-wishlist .tinvwl-table-manage-list td.product-stock p {
        display: flex;
        text-align: center;
        justify-content: center;
        gap: .7ch;
    }
    .tinv-wishlist table .product-thumbnail {
        max-width: 100%;
        width: 100%;
    }
}

@media screen and (min-width:1024px) {
    .tinv-wishlist tbody {
        grid-template-columns: 1fr 1fr 1fr;
    }
    /* Apply */
    .tinvwl-to-left.look_in, 
    .tinvwl-to-right.look_in {
        flex-grow: 0;
    }
    /* Share */
    body.underline .tinv-wishlist table.tinvwl-table-manage-list tfoot td {
        display: flex;
        width: 100%;
        justify-content: space-between;
        background-color: var(--feint-grey);
    }
    .tinv-wishlist tfoot .tinvwl-to-left:not(:empty) > div,
    .tinv-wishlist table tfoot div.tinvwl-to-right.look_in {
        background-color: unset;
    }
    .tinv-wishlist table tfoot .tinvwl-to-left:not(:empty) {
        float: unset;
        width: auto;
        margin-right: 0;
    }
    .tinv-wishlist table tfoot .tinvwl-to-right {
        float: none;
        width: auto;
        text-align: initial;
    }
}

/* ////////////////////
Single Product Page
///////////////////// */

/* ////// Layout ////// */
.single-product main#main {
    padding: 0;
    max-width: unset;
}
.single-product #main section.underline-woo-header {
    padding-top: calc(var(--gap-sm) + var(--nav-height));
    padding-left: var(--indent);
    padding-right: var(--indent);
    padding-bottom: var(--gap-sm);
}
.underline.woocommerce.single-product .woocommerce-breadcrumb {
    margin: 0 auto;
    max-width: var(--md-content-width);
}
.woo-header-grid {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
}
  
/* ////// Images ////// */
.underline-woo-gallery {
    padding-left: var(--indent);
    padding-right: var(--indent);
}
body.underline div.product div.images {
    max-width: var(--md-content-width);
    margin: 0 auto;
}
.underline.woocommerce div.product div.images img {
    /* padding: var(--gap-md); */
    margin: 0 auto;
    height: 100%;
    object-fit: cover;
}
.underline.woocommerce div.product div.images img[src$="png"],
.underline.woocommerce ul.products li.product a img[src$="png"],
.underline .woocommerce ul.products li.product a img[src$="png"] {
    object-fit: contain;
    background: var(--e-global-color-52aeadd, #BFBFBF);
}
.underline.woocommerce div.product div.images .flex-control-thumbs {
    overflow: hidden;
    transform: scale(1);
    transform-origin: 0 0;
    margin: 40px 0 0 0;
    padding: 0;
}

/* ////// Pop Up ////// */
.underline .pswp__bg {
    opacity: 0.8 !important;
}
.underline .pswp__img {
    padding: 40px;
    background: var(--e-global-color-light, snow);
}
.woocommerce div.product div.images.woocommerce-product-gallery {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--gap-xxs);
}
.underline.woocommerce div.product div.images .flex-control-thumbs {
    margin-top: 0;
    display: flex;
    gap: var(--gap-xxs);
}
.underline.woocommerce div.product div.images .flex-control-thumbs li {
    width: unset;
    padding-bottom: 0;
    height: 80px;
    margin-bottom: 0;
}
.underline .woocommerce-product-gallery__image {
    height: auto;
    aspect-ratio: 1/1;
}
.woocommerce-product-gallery__image a::before {
    content: '';
    width: 40px;
    height: 40px;
    position: absolute;
    right: 15px;
    top: 15px;
    background-color: rgba(255,255,255,.6);
    border-radius: 50%;
}
.woocommerce-product-gallery__image a::after {
    content: '';
    display: inline-flex;
    width: 25px;
    height: 25px;
    --svg: var(--search);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    position: absolute;
    right: 22.5px;
    top: 22.5px;
}

/* --- Zoom Popup --- */
.underline .pswp__ui--fit .pswp__top-bar {
    top: var(--nav-height);
    /* background-color: unset; */
}
.woocommerce img.pswp__img, 
.woocommerce-page img.pswp__img {
    max-width: none;
    padding: var(--gap-sm);
}
.pswp__caption{
    display: none;
}
.underline button.pswp__button--arrow--left::before, 
.underline button.pswp__button--arrow--right::before {
    background-color: grey!important;
    backdrop-filter: blur(10px);
    border-radius: 100px;
}

/* ////// Product Overview ////// */
.product-summary-holder {
    display: grid;
    gap: var(--gap-xs);
}
body.underline div.product div.summary {
    margin: 0;
    padding: 40px 5vw 0;
    padding: var(--gap-md) var(--indent);
}
div.product div.summary > * {
    max-width: 700px;
    max-width: var(--md-content-width);
    margin-left: auto;
    margin-right: auto;
}
.woocommerce div.product .summary .woocommerce-product-rating {
    margin-bottom: 0;
}

/* --- Price --- */
.woocommerce div.product p.price {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}
body.underline div.summary.entry-summary .price, 
.woocommerce-Price-amount.amount {
    color: inherit;
    font-size: calc(1.5rem + .3vw);
    line-height: 1;
}

/* --- Short Desc --- */
.underline .woocommerce-product-details__short-description {
    margin-top: 0;
}

/* --- Variations --- */
body.underline div.product form.cart::after, 
body.underline div.product form.cart::before {
    content: none;
}
body.underline div.product form.cart .variations {
    margin-bottom: 14px;
    margin-bottom: var(--gap-sm);
}
.variations tr:not(:last-child) th.label, 
.variations tr:not(:last-child) td.value {
    padding-bottom: 14px;
}
th.label {
    text-align: left;
    padding: 0;
}
td.value {
    padding: 0;
    flex-grow: 1;
}
.underline table tbody>tr:nth-child(odd)>td, 
.underline table tbody>tr:nth-child(odd)>th,
.underline table tbody tr:hover>td, 
.underline table tbody tr:hover>th {
    background-color: unset;
}
/* --- Reset Variations --- */
body.underline div.product form.cart .reset_variations {
    align-self: flex-start;
    font-size: calc(.8rem + .1vw);
    display: inline-flex;
    align-items: center;
    /* padding: 5px; */
    outline: 1.5px solid firebrick;
    line-height: 1;
    color: firebrick;
    padding: 0;
    height: 0;
    opacity: 0;
    transition: height .3s ease, margin-top .3s ease, opacity .3s ease;
    display: block;
    width: max-content;
}
body.underline div.product form.cart .reset_variations[style="visibility: visible;"] {
    height: auto;
    padding: 5px;
    margin-top: 25px;
    opacity: 1;
}
.reset_variations::after {
    content: ' \2715';
    margin-left: 7px;
}


.underline.woocommerce div.product form.cart .variations select {
    margin-right: 0;
}
.underline.woocommerce div.product form.cart .variations td.label {
    padding-right:1rem;
    width: 1%;
}

/* --- Swatch Variations --- */
.underline .product .cfvsw-label-option {
    font-size: calc(1rem + .1vw);
    padding: 7px 12px;
}

/*--- Add To Cart - Quantity & Button --- */
.underline.woocommerce div.product form.cart, 
.woocommerce-variation-add-to-cart {
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    width: 100%;
    margin-top: var(--gap-xs);
    /* flex-direction: column; */
}
.underline.woocommerce div.product .variations_form.cart {
    gap: 0;
}

/* --- Quantity --- */
.ui-controlgroup-vertical .ui-spinner-input {
	/* Support: IE8 only, Android < 4.4 only */
	width: 75%;
	width: calc( 100% - 2.4em );
}
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
	border-top-style: solid;
}
.ui-spinner {
    display: flex;
    height: 50px;
}
.ui-spinner-button {
	cursor: default;
	width: 30px;
	padding: 7px;
	/* height: 100%; */
	display: flex;
	align-items: center;
	justify-content: center;
}
/* more specificity required here to override default borders */
.ui-spinner a.ui-spinner-button {
    transition: background .3s ease;
}
.ui-spinner a.ui-spinner-button:hover {
    background: var(--woo-accent-color);
    background: var(--dark-color);
    cursor: pointer;
}
.ui-spinner a.ui-spinner-button::before {
	content: none;
}
.ui-spinner-down {
    order: -1;
}
.ui-spinner-down::after {
    content: '-';
}
.ui-spinner-up::after {
    content: '+';
}
.js .woocommerce.single-product .quantity input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}
.js .woocommerce.single-product .quantity input[type=number]::-webkit-inner-spin-button,
.js .woocommerce.single-product .quantity input[type=number]::-webkit-outer-spin-button
    /* .js .woocommerce-cart-form .quantity input[type=number]::-webkit-inner-spin-button,
    .js .woocommerce-cart-form .quantity input[type=number]::-webkit-outer-spin-button*/ {
    -webkit-appearance: none;
}
/* Single Product Quantity */
.single-product div.product form.cart .quantity {
    float: none;
    margin: 0;
    display: inline-block;
}
.single-product button.woo-quantity {
    padding: 5px 15px;
    background: transparent;
    color: var(--heading-text-color);
    border-radius: unset;
    box-shadow: none;
    border: 1px solid var(--light-grey, #ddd);
}
.single-product button.woo-quantity:hover,
.single-product button.woo-quantity:focus {
    border: 1px solid var(--light-grey, #ddd);
}
.single-product.woocommerce div.product form.cart div.quantity {
    margin-right: 0;
    /* width: 50px; */
    float: none;
    /* align-self: flex-start; */
}
.woocommerce .woocommerce.single-product .quantity .qty {
    width: 60px;
    text-align: center;
    max-width: none;
}
/* Grouped */
.woocommerce div.product form.cart .group_table td:first-child {
    width: unset;
    text-align: center;
}
.underline .woocommerce div.product form.cart .group_table td {
    vertical-align: middle;
    padding-bottom: .5em;
    border: 0;
}
.woocommerce-grouped-product-list-item__quantity {
    display: flex;
    width: auto;
}
.underline.woocommerce .quantity .qty {
    height: 100%;
    margin: 0;
    border: unset;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
}
.woocommerce div.product form.cart div.quantity {
    border: 1px solid #ccc;
    /* height: 100%; */
}
.woocommerce-cart-form .ui-spinner-down {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
.woocommerce-cart-form .ui-spinner-up {
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
span.ui-spinner.ui-corner-all.ui-widget.ui-widget-content {
    height: 100% !important;
}
.single_variation_wrap {
    width: 100%;
}


/* --- Add To Basket --- */
.woo-add-to-cart {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: unset;
    gap: var(--gap-xxs);
    align-items: center;
}
li.product .woo-add-to-cart a.button {
    width: 100%;
}
.basket-wishlist-button-group {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xxs);
}
.underline.woocommerce #respond input#submit,
.underline.woocommerce a.button,
.underline.woocommerce button.button,
.underline.woocommerce input.button {
    font-size: calc(1rem + 0.2vw);
}
.woocommerce-variation.single_variation {
    flex: 0 0 100%;
}
.woocommerce-variation-description + .woocommerce-variation-price {
    margin-bottom: 14px;
    margin-bottom: var(--gap-sm);
}
.woocommerce div.product form.cart .button {
    margin-top: 0;
    flex-grow: 1;
}
.woocommerce button.disabled,
.woocommerce-variation-add-to-cart-disabled {
    pointer-events: none;
}
.woocommerce-variation-add-to-cart-disabled .quantity {
    opacity: 0.5;
}
.underline-product-info > div:not(:first-child) {
    margin-top: 40px;
    margin-top: var(--gap-md);
}
/* Added */
.summary .blockUI.blockOverlay {
    top: -1px !important;
    right: -1px !important;
}
/* .woocommerce .summary .blockUI.blockOverlay::before {
    --svg: var(--circle-notch);
    background: unset;
    background-color: var(--e-global-color-accent);
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    margin: 0;
    position: static;
} */
.woocommerce .summary a.added_to_cart {
    display: flex;
    align-items: center;
    padding: 2px 5px;
}



/* ////// Product tabs ////// */
section.underline-woo-tabs {
    padding: var(--gap-md) var(--indent);
}
.woocommerce-tabs.wc-tabs-wrapper {
    max-width: var(--lg-content-width);
    margin-left: auto;
    margin-right: auto;    
}
.woocommerce-tabs ul.tabs > li > a {
    background-image: unset;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    margin: 0 0 var(--gap-smd) 0;
}
body.underline div.product .woocommerce-tabs .panel {
    margin-bottom: 0;
    max-width: var(--md-text-width);
}
body.underline div.product .woocommerce-tabs .panel h2 {
    margin-bottom: var(--gap-sm);
}

/* --- Info --- */
.woocommerce table.shop_attributes td.woocommerce-product-attributes-item__value {
    padding: 0 10px;
}
td.woocommerce-product-attributes-item__value a {
    background-size: 100% 0%;
}
td.woocommerce-product-attributes-item__value a:hover,
td.woocommerce-product-attributes-item__value a:focus {
    background-size: 100% 100%;
}

/* --- Reviews --- */
h2.woocommerce-Reviews-title {
    display: none;
}
.woocommerce #review_form #respond p.stars {
    margin: 0 0 10px;
    width: max-content;
}
.woocommerce p.stars a {
    background-image: unset;
    color: inherit;
}
body.underline #reviews #comment {
    height: 10rem;
}
body.underline.woocommerce #respond input#submit {
    margin-top: var(--gap-smd);
}

/* --- Related Products --- */
section.related.products {
    padding-top: var(--gap-md);
    padding-left: var(--indent);
    padding-right: var(--indent);
    padding-bottom: var(--gap-xl);
}
.related-products-grid {
    border-top: 1px solid var(--e-global-color-text);
    padding-top: var(--gap-md);
    max-width: var(--lg-content-width);
    margin: 0 auto;
}

/* --- Single Product Info (if tabs removed) --- */
section.sp-info {
    padding: var(--gap-md) var(--indent);
}
.sp-info-grid {
    max-width: var(--md-content-width);
    margin: 0 auto;
}
.sp-info-grid > h2,
.related-products-grid > h2 {
    margin-bottom: calc(0.7 * 40px);
    margin-bottom: calc(0.7 * var(--gap-md));
    text-align: center;
}


/* --- Reviews --- */
/* Product Summary */
.woocommerce .woocommerce-product-rating.glsr::after, 
.woocommerce .woocommerce-product-rating.glsr::before {
    content: none;
}
.woocommerce div.product .woocommerce-product-rating.glsr {
    margin: 0;
}
.woocommerce-product-rating.glsr.glsr-.glsr-ltr {
    display: flex;
    align-items: center;
}
.glsr-reviews>p {
    text-align: center;
}
.underline .glsr-default .glsr-summary {
    max-width: 100%;
    justify-content: center;
    text-align: center;
}
.underline span.glsr-button-text {
    color: unset;
    font-family: unset;
    font-weight: unset;
}
span.glsr-bar-label {
    text-align: left;
}
.glsr-default .glsr-summary-stars .glsr-star {
    background-size: var(--md-icon-size);
    height: var(--md-icon-size);
    width: var(--md-icon-size);
}
.underline  .glsr-default .glsr-summary-percentages {
    margin-top: var(--gap-xxs);
    max-width: var(--sm-text-width);
}
.glsr-default .glsr-bar>span {
    font-size: calc(.9rem + .1vw);
}
.underline .glsr-summary-text span {
    font-size: calc(1.1rem + .2vw);
    /* margin-bottom: var(--gap-xxs); */
}
.underline .glsr-default form.glsr-form label.glsr-label {
    margin-bottom: calc(.7*var(--gap-xxs));
    text-align: left;
}
div.glsr.glsr-default {
    margin-top: var(--gap-sm);
}
.glsr-default .glsr-review {
    padding: 25px;
    padding: var(--gap-sm);
    border: 1px solid rgb(236 236 236);
    box-shadow: var(--drop-shadow);
    background-color: var(--e-global-color-light, snow);
}
.glsr-review.light-background {
    background-color: var(--e-global-color-light, snow);
}
.underline .glsr-review-date span,
.underline .glsr-review-author span {
    font-size: calc(.9rem + .1vw);
}
.underline .glsr-default .glsr-review>.glsr-review-date {
    flex-basis: 100%;
}
.underline .glsr-default .glsr-review>.glsr-review-rating+.glsr-review-date span {
    margin-left: 0;
    margin-top: calc(.7*var(--gap-xxs));
}
.underline .glsr-default .glsr-review>.glsr-review-content {
    margin: var(--gap-xs) 0;
}
.underline .glsr-default .glsr-review>:not(.glsr-review-avatar)+.glsr-review-author:before {
    content: none;
}
.glsr-review-title {
    margin-bottom: 7px;
    margin-bottom: var(--gap-xxs);
}
.underline button.button.leave-a-review {
    margin: 0 auto;
}
.woocommerce .glsr-form-wrap {
    height: 0;
    /* height: 0; */
    overflow: hidden;
    transition: 5s ease height;
}
.review-open .glsr-form-wrap {
    height: 100%;
    /* height: 0; */
    overflow: visible;
}
#reviews .glsr-form-wrap > h3 {
    padding-top: 25px;
    padding-top: var(--gap-sm);
    margin-bottom: 14px;
    margin-bottom: var(--gap-xs);
    text-align: center;
}
.underline button.glsr-button.button.btn.btn-primary {
    margin-top: calc(.8*25px);
    margin-top: calc(.6*var(--gap-sm));
}
div#respond .glsr {
    text-align: center;
}

@media screen and (min-width: 768px) {
    .woocommerce #content div.product div.images, 
    .woocommerce div.product div.images, 
    .woocommerce-page #content div.product div.images, 
    .woocommerce-page div.product div.images,
    
    .woocommerce #content div.product div.summary, 
    .woocommerce div.product div.summary, 
    .woocommerce-page #content div.product div.summary, 
    .woocommerce-page div.product div.summary{
        float: none;
        width: 100%;
    }
}

/* ////// Added To Basket ////// */
.woocommerce-message:has(.woo-atc-product-overview) {
    gap: 0;
    display: grid;
    justify-content: center;
}
.woo-atc-product-overview {
    display: grid;
    align-items: center;
    gap: var(--gap-sm);
    /* flex-grow: 1; */
    /* width: 100%; */
    padding-bottom: var(--gap-xs);
    /* justify-content: center; */
    grid-template-columns: 1fr 1fr;
}
.woo-atc-product-overview img {
    height: 150px;
    width: 150px;
    object-fit: contain;
}
.woo-atc-product-overview img[src$="png"] {
    background: var(--e-global-color-woo-product-bg);
}
.woo-atc-product-info {
    flex-grow: 1;
}
.woo-atc-product-info {
    display: grid;
    /* gap: var(--gap-xxs); */
}
.woo-atc-product-overview p,
.woo-atc-cart-overview p {
    margin: 0;
}
p.woo-atc-product-name {
    font-size: calc(1.4rem + .4vw);
}
.woo-atc-product-info .woocommerce-Price-amount.amount {
    font-size: calc(1.2rem + .2vw);
}
.woo-atc-cart-overview {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    width: 100%;
    justify-content: space-between;
    padding-top: var(--gap-xs);
    border-top: 1.5px solid currentColor;
}
@media screen and (min-width: 1024px) {
    .woocommerce-message:has(.woo-atc-product-overview) {
        grid-auto-flow: column;
    }
    .woo-atc-product-overview {
        padding-bottom: 0;
        padding-right: var(--gap-md);
        grid-template-columns: repeat(2, auto);
        gap: var(--gap-xs);
    }
    .woo-atc-cart-overview {
        padding-top: 0;
        padding-left: var(--gap-md);
        height: 100%;
        /* flex-grow: 1; */
        flex-direction: column;
        justify-content: center;
        gap: var(--gap-xs);
        border-top: none;
        border-left: 1.5px solid currentColor;
    }
    .underline .woo-atc-cart-overview a.button {
        align-self: stretch;
    }
}

/* //////////////////////////////////////
Single Product Styles Starting at Tablet
/////////////////////////////////////// */

@media screen and (min-width: 900px) {
 
    .underline-product-overview {
      display: grid;
      grid-template-columns: 50% 50%;
    }
  
    /* ////// Gallery ////// */
    .underline-woo-gallery {
      padding-right: 0;
    }
    .underline-woo-gallery > * {
      max-width: none;
    }
    .woocommerce div.product div.images.woocommerce-product-gallery {
        max-width: unset;
        position: sticky;
        top: var(--gap-sm);
    }
    /* -- Single Image --- */
    .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
        flex-grow: 1;
        max-width: var(--md-text-width);
    }
  
    /* ////// Overview ////// */  
    div.product div.summary {
      padding: 25px 5vw;
      padding: var(--gap-sm) var(--indent);
    }
    div.product-type-simple .product-summary-holder {
      position: sticky;
      top: calc(60px + 25px);
      top: calc(var(--nav-height) + var(--gap-sm));
    }
    div.product div.summary > * {
        max-width: var(--sm-text-width);
      margin-left: unset;
      margin-right: unset;
    }
    .woocommerce-variation-add-to-cart {
        gap: var(--gap-xs);
        flex-direction: row;
        flex-wrap: wrap;
    }
    .underline.woocommerce .quantity .qty {
        height: unset;
    }

    /* ////// Product Tab Info ////// */
    section.sp-info {
        padding-top: var(--gap-lg);
    }
    section.sp-info + section.sp-info {
        padding-top: var(--gap-md);
    }
  }

/* //////////////////////////////////////
Single Product Styles Starting at Laptop
/////////////////////////////////////// */
@media screen and (min-width:1260px) {
    /* ////// Gallery ////// */
    .woocommerce div.product div.images.woocommerce-product-gallery {
        display: flex;
        flex-direction: row-reverse;
    }
    .underline.woocommerce div.product div.images .flex-control-thumbs {
        margin-top: 0
    }
    .woocommerce-product-gallery__wrapper {
        height: 100%;
    }
    .underline.woocommerce div.product div.images .flex-control-thumbs {
        grid-auto-flow: row;
        flex: 0 0 80px;
        flex-direction: column;
    }
    .underline div.product div.images img[src$="png"] {
        max-height: unset;
    }
}


/* ////////////////////
Cart Page
///////////////////// */

/* ////// Layout ////// */
.wp-block-woocommerce-cart.alignwide {
    margin-inline: 0;
}
.woocommerce-cart main#content {
    max-width: unset;
}
.woocommerce-cart header.page-header {
    text-align: center;
    padding-left: var(--indent);
    padding-right: var(--indent);
    padding-top: calc(var(--gap-md) + var(--nav-height));
    padding-bottom: var(--gap-md);
}
.woocommerce-cart header.page-header h1 {
    margin-bottom: 0;
    padding-bottom: 0;
}
.woocommerce-cart h1.entry-title {
    text-align: center;
}
.woocommerce-cart .page-content {
    padding-left: var(--indent);
    padding-right: var(--indent);
    padding-bottom: var(--gap-xl);
    padding-top: var(--gap-smd);
}
.woocommerce-cart .page-content > .woocommerce {
    max-width: var(--lg-content-width);
    margin: 0 auto;
}

/* ////// Form ////// */
.woocommerce-cart-form button.button {
    font-size: 1rem;
    margin-top: 0;
}
.woocommerce form .form-row:not(:last-child) {
    padding: 3px;
    margin: 0 0 calc(1.1 * 14px);
    margin: 0 0 calc(1.1 * var(--gap-xs));
}

/* ////// Table ////// */
.underline.woocommerce table.shop_table a::before {
    content: none;
}
table.shop_table p:empty,
table.shop_table br {
    display: none;
}
table.shop_table p {
    margin-bottom: 0;
}
.underline .woocommerce table.shop_table,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th,
table.shop_table thead:first-child tr:first-child th {
    border: none;
}
.underline .woocommerce table.shop_table_responsive tr:nth-child(2n) td, 
.underline.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background-color: unset;
}
.woocommerce table.shop_table td, 
.woocommerce table.shop_table th {
    padding: 1em;
}
.woocommerce table.shop_table tr td {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* --- Thumbnail & Name --- */
.underline td.wc-block-cart-item__image img {
    aspect-ratio: 1/1;
    height: unset;
}
tr.woocommerce-cart-form__cart-item.cart_item:not(:first-child) td.product-thumbnail-and-name {
    padding-top: var(--gap-sm);
}
tr.woocommerce-cart-form__cart-item.cart_item:has(+.coupons-empty-cart) td {
    border: none;
}
table.shop_table thead tr {
    background-color: var(--feint-grey);
}
.thumbnail-name-holder {
    display: grid;
    align-items: center;
    gap: var(--gap-sm);
    justify-content: center;
    /* flex-direction: column; */
    grid-template-columns: 1fr 1fr;
    flex-grow: 1;
}
.woocommerce table.shop_table_responsive tr td.product-thumbnail-and-name::before, 
.woocommerce-page table.shop_table_responsive tr td.product-thumbnail-and-name::before {
    content: none;
}
.cart_item td.product-thumbnail-and-name a {
    font-weight: 700;
    font-size: calc(1.1rem + .15vw);
    text-decoration: none;
    width: max-content;
    display: flex;
}
.cart-product-name {
    text-align: left !important;
    /* display: grid; */
}
.cart-product-name dl.variation {
    display: flex;
    /* gap: .7ch; */
}
.cart-product-name dl.variation dt {
    font-size: 0;
}
.cart-product-name dl.variation dd {
    margin-left: 0;
}
a.cart-name-link {
    width: 100%;
}
a.cart-thumbnail-link {
    justify-self: flex-end;
}
.underline.woocommerce-cart table.cart .thumbnail-name-holder img {
    width: calc(1 * var(--icon-height));
}


/* --- Remove --- */
.woocommerce table.shop_table td.product-remove {
    border-bottom: 1.5px solid var(--feint-grey);
    /* padding-bottom: var(--gap-sm); */
}
.product-remove-holder {
    /* height: 100%; */
    /* width: 100%; */
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.underline .woocommerce table.shop_table_responsive tr td.product-remove::before,
.underline.woocommerce-page table.shop_table_responsive tr td.product-remove::before {
    content: attr(data-title) ": ";
    font-weight: 700;
    float: left;
    display: initial;
}
.underline .woocommerce a.remove {
    padding: 10px;
    display: flex;
    height: unset;
    width: unset;
    border-radius: 100%;
    color: red!important;
    transition: background-color .3s ease, color .3s ease;
}
.underline .woocommerce a.remove:hover {
    color: var(--e-global-color-light, snow) !important;
}
.underline .woocommerce a.remove svg {
    height: 30px;
}

/* --- Coupon --- */
.woo-cart-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: var(--light-grey);
}
.woo-cart-actions p:empty {
    display: none;
}
.woo-cart-actions > div {
    padding: 10px;
    display: flex;
    gap: var(--gap-xs);
    /* align-items: stretch; */
    justify-content: stretch;
    /* flex-grow: 1; */
}
.underline #coupon_code {
    width: 100%;
    font-size: calc(1rem + 0.1vw);
    margin-right: 0;
    min-width: 150px;
}
.coupon .button::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    min-width: 1.2em;
    height: 1.2em;
    --svg: var(--coupon);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}


/* --- Empty cart Button --- */
.underline-wc-edit-cart :is(button, a) {
    flex-grow: 1;
}

a.empty-cart.button::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    min-width: 1.2em;
    height: 1.2em;
    --svg: var(--empty-basket);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
body.underline a.empty-cart.button {
    margin-left: 0;
    text-align: center;
    margin-top: 0;
    font-size: 1rem;
}
/* --- Update Cart --- */
.woocommerce-page #content table.cart td.actions button.button[name="update_cart"] {
    display: flex;
}
button.button[name="update_cart"]::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    min-width: 1.2em;
    height: 1.2em;
    --svg: var(--refresh);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

/* ////// No Items in Basket PAGE ////// */
.underline .woocommerce .cart-empty.woocommerce-info {
    border: none;
    box-shadow: none;
    /* padding: 25px 40px;
    padding: var(--gap-sm) var(--gap-md); */
    margin-bottom: 0;
}
.woocommerce-cart #page {
    display: grid;
    min-height: 100vh;
}
.underline .cart-empty {
    position: relative;
    margin-bottom: 40px;
    margin-bottom: var(--gap-md);
    display: flex;
    flex-direction: column;
    align-items: center;
    /* padding: 25px; */
    padding-bottom: var(--gap-sm);
    /* gap: var(--gap-sm); */
    padding-top: 0;
}
/* .woocommerce-cart footer {
    align-self: flex-end;
} */
.underline .cart-empty, 
.underline p.return-to-shop {
    text-align: center;
    display: flex;
    justify-content: center;
}
.wc-empty-cart-message::before {
    content: '';
    display: inline-flex;
    width: auto;
    height: 150px;
    --svg: var(--basket);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center;
    justify-content: center;
    width: 100%;
    margin-bottom: var(--gap-sm);
}
.woocommerce-cart p.return-to-shop {
    /* padding-bottom: var(--gap-xl); */
    margin-bottom: 0;
}
.underline.woocommerce-cart .return-to-shop a.button.wc-backward {
    margin-top: 0;
}
.cart-empty.woocommerce-info {
    box-shadow: none;
    background: unset;
    border: none;
}
.underline-wc-edit-cart {
    grid-auto-flow: column;
    display: grid;
    padding-top: var(--gap-sm);
    gap: var(--gap-xxs);
    background-color: var(--feint-grey);
}
.underline-wc-edit-cart button {
    height: 100%;
}

.wc-block-cart__empty-cart__title {
    text-align: center;
}
.underline .wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    height: calc(3rem + 1vw);
    width: calc(3rem + 1vw);
    mask-size: calc(3rem + 1vw);
    margin-bottom: 3rem;
}




/* ////// Cart Collaterels ////// */
.underline .woocommerce .cart-collaterals table.shop_table_responsive tbody th, 
.underline.woocommerce-page .cart-collaterals table.shop_table_responsive tbody th {
    display: block;
    border-top: none;
    padding-bottom: var(--gap-sm);
}
.underline .woocommerce .cart-collaterals table.shop_table_responsive tr td, 
.underline.woocommerce-page .cart-collaterals table.shop_table_responsive tr td {
    text-align: left!important;
    padding-bottom: var(--gap-sm);
}
/* .woocommerce .cart-collaterals table.shop_table tr {
    display: flex;
} */
.underline .woocommerce .cart-collaterals .shop_table_responsive tr td::before, 
.underline.woocommerce-page .cart-collaterals .shop_table_responsive tr td::before {
    content:none;
}
.underline.woocommerce-cart .cart-collaterals .cart_totals tr td {
    border-top: none;
}
.underline.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td {
    border-top: 1.5px solid var(--light-grey);
}
td.product-thumbnail {
    text-align: center;
}
.underline .woocommerce-cart-form .woocommerce-Price-amount.amount,
.underline .woocommerce-cart-form .woocommerce-Price-amount.amount span {
    font-size: calc(1rem + 0.2vw);
}
.woocommerce table.shop_table tr.shipping td {
    flex-direction: column;
    /* justify-content: center; */
    align-items: flex-start;
    gap: var(--gap-xs);
}
.underline .woocommerce-shipping-calculator {
    margin-top: 0;
}
.woocommerce-shipping-calculator a.shipping-calculator-button {
    background-image: none;
    color: inherit;
}

.underline #add_payment_method table.cart img,
.underline .woocommerce-cart table.cart img,
.underline .woocommerce-checkout table.cart img {
    width: 100px;
}
.underline.woocommerce table.shop_table td {
    padding: 12px 20px;
}
.underline .cart-collaterals {
    margin-top: 70px;
    margin-top: var(--gap-lg);
}
#add_payment_method .cart-collaterals .cart_totals table td, 
#add_payment_method .cart-collaterals .cart_totals table th, 
.woocommerce-cart .cart-collaterals .cart_totals table td, 
.woocommerce-cart .cart-collaterals .cart_totals table th, 
.woocommerce-checkout .cart-collaterals .cart_totals table td, 
.woocommerce-checkout .cart-collaterals .cart_totals table th {
    vertical-align: middle;
}

/* --- Shipping Method --- */
.woocommerce ul#shipping_method li {
    margin: 0 0 .5em;
    line-height: 1.5em;
    list-style: none outside;
    padding-bottom: 0;
    margin-bottom: 0;
}
.woocommerce ul#shipping_method li {
    margin: 0 0 .5em;
    line-height: 1.5em;
    list-style: none outside;
    padding-bottom: 0;
    margin-bottom: 0;
}
.woocommerce-cart .cart-collaterals a.shipping-calculator-button {
    display: flex;
    align-items: center;
    /* justify-content: flex-end; */
    gap: .7ch;
}
#add_payment_method .cart-collaterals .shipping-calculator-button::after, 
.woocommerce-cart .cart-collaterals .shipping-calculator-button::after, 
.woocommerce-checkout .cart-collaterals .shipping-calculator-button::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    min-width: 1.2em;
    height: 1.2em;
    --svg: var(--van);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    margin: 0;
}
body.underline .woocommerce .woocommerce-cart-form__contents a.button,
body.underline .woocommerce .woocommerce-cart-form__contents button.button {
    width: auto;
}
.underline #add_payment_method .cart-collaterals a.shipping-calculator-button:hover,
.underline .woocommerce-cart .cart-collaterals a.shipping-calculator-button:hover,
.underline .woocommerce-checkout .cart-collaterals a.shipping-calculator-button:hover,
.underline #add_payment_method .cart-collaterals a.shipping-calculator-button:focus,
.underline .woocommerce-cart .cart-collaterals a.shipping-calculator-button:focus,
.underline .woocommerce-checkout .cart-collaterals a.shipping-calculator-button:focus {
    color: gold;
    color: var(--link-color);
}
.underline.woocommerce form .form-row::after,
.underline.woocommere form .form-row::before,
.underline .woocommerce-page form .form-row::after,
.underline .woocommerce-page form .form-row::before {
    content: none;
}

/* --- Cross Sells --- */
.underline.woocommere .cart-collaterals .cross-sells,
.underline .woocommerce-page .cart-collaterals .cross-sells {
    width: 40%;
    float: left;
}
.underline .cross-sells h2 {
    font-size: 1.5rem;
}
/* --- Proceed Button --- */
.underline a.button.checkout-button.wc-forward {
    margin-right: 0;
}
.underline .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward {
    /* display: flex; */
    width: 100%;
    font-size: calc(1.2rem + .2vw);
    margin-bottom: 0;
}
.wc-proceed-to-checkout br {
    display: none;
}
.wc-proceed-to-checkout a.button::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    min-width: 1.2em;
    height: 1.2em;
    --svg: var(--checkout);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;   
}
a.wc-block-cart__submit-button {
    background: var(--e-global-color-primary);
    div {
        color: white;
    }
}


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

    /* ////// Cart Form ////// */
    tr.woocommerce-cart-form__cart-item.cart_item:not(:last-child) td {
        border-bottom: 1.5px solid var(--feint-grey);
        padding-bottom: var(--gap-xxs);
    }
    tr.woocommerce-cart-form__cart-item.cart_item:not(:first-child) td.product-thumbnail-and-name {
        padding-top: var(--gap-xs);
    }
    .woocommerce table.shop_table tr td {
        display: table-cell;
    }

    /* --- Thumbnail & Name --- */
    .thumbnail-name-holder {
        display: flex;
        justify-content: flex-start;
    }
    .underline .woocommerce td.product-thumbnail-and-name dl.variation dt {
        display: none;
    }
    /* --- Remove --- */
    .underline .woocommerce table.shop_table_responsive tr td.product-remove::before, .underline.woocommerce-page table.shop_table_responsive tr td.product-remove::before {
        content: none;
    }
    .product-remove-holder {
        justify-content: center;
    }
    .woocommerce-cart-form__cart-item td.product-remove,
    .woocommerce-cart-form__cart-item td.product-subtotal,
    .woocommerce-cart-form__cart-item td.product-price,
    .woocommerce-cart-form__cart-item td.product-quantity {
        width: 1%;
    }




    /* ////// Collaterals ////// */
    .woocommerce-cart .cart-collaterals a.shipping-calculator-button {
        justify-content: flex-start;

    }
    .woocommerce-cart .cart-collaterals .cart_totals table tr.shipping th {
        border-top: none;
    }
    .underline.woocommerce-cart .cart-collaterals .cart_totals tr.order-total th {
        border-top: 1.5px solid var(--light-grey);
        width: auto;
    }

}

@media screen and (min-width:900px) {
        /* --- Coupons etc --- */
        .woo-cart-actions {
            flex-direction: row;
            gap: var(--gap-sm);
            justify-content: space-between;
            padding: 10px 20px;
        }
        .woo-cart-actions > div {
            padding: 0;
        }
        .coupon {
            background-color: unset;
        }
        .underline-wc-edit-cart {
            background-color: unset;
            padding-top: 0;
            border-top: none;
            padding: 0;
            float: none;
        }
}

/* ////////////////////
Checkout Page Styles
///////////////////// */

/* ////// Layout & Notices ////// */
.woocommerce-checkout nav.site-navigation.show {
    display: none;
}
.woocommerce-checkout .site-header .nav-holder,
.woocommerce-checkout #masthead .site-branding {
    justify-content: center;
}
.woocommerce-checkout .icon-button-group, 
.woocommerce-checkout .nav-widget.mobile-icons, 
.woocommerce-checkout #masthead .desktop-nav-widgets.desktop-only, 
.woocommerce-checkout #masthead #navigation,
.woocommerce-checkout .footer-main {
    display: none;
}
.woocommerce-form-login-toggle .woocommerce-info {
    justify-content: flex-start;
}
.woocommerce-checkout main#content {
    max-width: unset;
    padding: 0;
}
.woocommerce-checkout header.page-header {
    text-align: center;
    padding-left: var(--indent);
    padding-right: var(--indent);
    padding-top: calc(var(--gap-md) + var(--nav-height));
    padding-bottom: var(--gap-md);
}
.woocommerce-checkout header.page-header h1 {
    margin-bottom: 0;
    padding-bottom: 0;
}
.woocommerce-form-coupon-toggle .woocommerce-info {
    justify-content: flex-start;
}
.woocommerce-checkout .page-content {
    padding-left: var(--indent);
    padding-right: var(--indent);
    padding-bottom: var(--gap-xxl);
    max-width: unset;
    margin: 0 auto;
}
.wc-before-checkout-message {
  margin-bottom: var(--gap-md);
  margin-bottom: 40px;
}
ul#shipping_method li::marker {
  content: none;
}

/* --- Existing Customer --- */
.woocommerce-checkout form.woocommerce-form.woocommerce-form-login.login {
    margin-bottom: 25px;
    margin-bottom: var(--gap-sm);
    margin-left: auto;
    margin-right: auto;
}
.underline .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: block;
}


/* ////// Form ////// */

/* --- Details --- */
form.checkout.woocommerce-checkout {
  display: grid;
  gap: 40px;
  gap: var(--gap-md);
}
.woocommerce-order-overview {
  background: #eee;
  padding: 25px;
  padding: var(--gap-sm);
}
.woocommerce-order-overview  tfoot {
    background: var(--light-grey, #ddd);
}
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}
.underline .woocommerce form.checkout .form-row {
    padding: 0;
    margin: 0;
}
.underline .wc-block-components-form .wc-block-components-checkout-step {
    margin-bottom: 2.5em;
}
.woocommerce form.checkout .form-row-first, 
.woocommerce form.checkout .form-row-last, 
.woocommerce-page form.checkout .form-row-first, 
.woocommerce-page form.checkout .form-row-last {
    width: 100%;
    float: initial;
}
form.woocommerce-checkout .col2-set {
    width: 100%;
}
.woocommerce-checkout .woocommerce .col2-set .col-1, 
.woocommerce-checkout.woocommerce-page .col2-set .col-1 ,
.woocommerce-checkout .woocommerce .col2-set .col-2, 
.woocommerce-checkout.woocommerce-page .col2-set .col-2 {
    float: none;
    width: 100%;
}
form.checkout label.woocommerce-form__label-for-checkbox.checkbox {
    display: flex;
    align-items: center;
    gap: 1ch;
}
.underline #ship-to-different-address-checkbox {
    margin-right: 0;
}
.underline #ship-to-different-address {
    margin: 0;
}
.shipping_address {
    padding-top: var(--gap-sm);
}
.underline .woocommerce form input.input-checkbox {
    margin: 0;
    height: 2ch;
    width: 2ch;
    accent-color: var(--woo-accent-color);
}
.woocommerce ul#shipping_method li {
    padding-left: 0;
    margin: 0;
}
.woocommerce-checkout .col-2 {
    border-top: 1.5px solid var(--light-grey, #ddd);
    margin-top: var(--gap-md);
}
.woocommerce-shipping-fields {
  padding-top: 40px;
  padding-top: var(--gap-md);
}
.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 40px;
    margin-top: var(--gap-sm);
}
.underline .select2-container .select2-selection--single {
  height: 42px;
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 14px;
}
.underline .select2-container .select2-selection--single {
  height: 42px;
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 14px;
}
.underline .select2-container--default .select2-selection--single .select2-selection__rendered {
  font-size: 18px;
  text-align: left;
}
dd.variation-Size p {
    font-size: .9rem;
}
.woocommerce .woocommerce-checkout-review-order-table th {
    vertical-align: middle;
}
.woocommerce-checkout-review-order-table td.product-name strong {
    font-weight: normal;
}
p.ppcp-place-order-description {
    text-align: left !important;
    font-size: calc(1rem + .1vw);
    opacity: .8;
}

/* ////// Order Overview ////// */
.underline ul.woocommerce-order-overview {
  margin-top: 40px;
  margin-top: var(--gap-sm);
  background: #eee;
  padding: var(--gap-sm);
}
h3#order_review_heading,
div#customer_details .woocommerce-billing-fields h3 {
  /* font-size: calc(1.75rem + .4vw); */
  font-size: calc(1.75rem + 0.8vw);
}
.woocommerce-order-overview table.shop_table thead tr {
    background-color: unset;
}
.underline .wc-block-components-order-summary .wc-block-components-order-summary-item__image>img {
    height: unset;
}
.woocommerce-checkout-review-order .woocommerce-Price-amount.amount {
    font-size: calc(1.2rem + 0.2vw);
}
.woocommerce-checkout-review-order dl.variation {
    display: flex;
    align-items: baseline;
}
.underline .woocommerce td.product-name dl.variation dt {
    display: none;
}
.woocommerce-checkout-review-order-table tr.cart_item:last-child td {
    padding-bottom: var(--gap-sm);
}
.woocommerce table.woocommerce-checkout-review-order-table tr.cart_item td {
    display: table-cell;
}
tr.cart_item:not(:last-child) td {
    border-bottom: 1.5px solid var(--mid-grey);
}

body.underline button.wc-block-components-totals-coupon__button {
    font-size: calc(1rem + .1vw);
    padding: 0.5em;
    min-height: unset !important;
	div {
		line-height: 1;
	}
}
body button.wc-block-components-chip__remove {
    box-shadow: unset;
}
body .wc-block-components-chip.wc-block-components-chip--radius-large {
    padding: .25em .75em;
    margin: 0;
}

ul#shipping_method {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xxs);
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-cart #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 25px;
  padding: var(--gap-sm);
}
#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment {
  background: unset;
}
ul.wc_payment_methods.payment_methods.methods li::marker {
    content: none;
}
.underline.woocommerce-checkout #payment ul.payment_methods, 
.underline.woocommerce-checkout #payment ul.payment_methods li {
    padding: 0;
}
.underline a.woocommerce-privacy-policy-link {
    text-decoration: none;
}
button#place_order {
  justify-content: center;
  font-size: calc(1.4rem + .2vw);
}
button#place_order::after {
    content: '';
    display: inline-flex;
    width: 1.2em;
    height: 1.2em;
    min-width: 1.2em;
    --svg: var(--lock);
    background-color: currentColor;
    -webkit-mask-image: var(--svg);
    mask-image: var(--svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    mask-position: center center; 
}
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 25px;
  margin-bottom: var(--gap-sm);
}


/* ////// Order Received ////// */
.woocommerce-checkout.woocommerce-order-received a.custom-logo-link {
    left: 5vw;
    left: var(--indent);
    transform: none;
}
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
    float: none !important;
    width: 100% !important;
}
.woocommerce-order .woocommerce-Price-amount.amount {
    font-size: inherit;
}
.woocommerce-checkout.woocommerce-order-received [id*="hero"] {
    display: none;
}
.woocommerce-order-received .woocommerce-order {
    max-width: var(--lg-content-width);
    margin: 0 auto;
    /* padding-top: var(--nav-height); */
}
p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    text-align: center;
    max-width: 60ch;
    margin: 0 auto;
    font-size: calc(1.2rem + .4vw);
    margin-bottom: var(--gap-md);
}
div.woocommerce-order h2 {
    margin-bottom: var(--gap-sm);
}
ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details::before,
ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details::before {
    content: none;
}
ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    gap: var(--gap-sm);
    width: 100%;
    display: grid;
}
.underline .woocommerce ul.order_details li {
    border-right: unset;
    padding: 0;
    margin: 0;
}
.woocommerce-order-received section.woocommerce-columns--2 {
    display: flex;
    gap: var(--gap-md);
    flex-direction: column;
}
.woocommerce-order-received section.woocommerce-columns.addresses p:empty {
    display: none;
}  

@media screen and (min-width:600px) {
    /* ////// Checkot Form ////// */
    .woocommerce-checkout .col-1, 
    .woocommerce-checkout .col-2 {
        max-width: 50ch;
        margin-left: auto;
        margin-right: auto;
    }
/*     .woocommerce-checkout input {
        max-width: 30ch;
    } */
    input#billing_first_name,
    input#billing_last_name,
    input#shipping_first_name,
    input#shipping_last_name {
        max-width: 20ch;
    }
    input#billing_postcode,
    input#shipping_postcode {
        max-width: 10ch;
    }
    input#billing_phone,
    input#shipping_phone {
        max-width: 15ch;
    }

}
 
  
.underline li[class*="woocommerce-order-overview"]::marker {
    content: none;
}

.underline .woocommerce .woocommerce-customer-details, 
.underline .woocommerce .woocommerce-order-details, 
.underline .woocommerce .woocommerce-order-downloads {
    margin-bottom: var(--gap-lg);
}
.underline .woocommerce section.woocommerce-customer-details:last-child {
    margin-bottom: 0;
}
section.woocommerce-customer-details br {
    display: block;
}
section.woocommerce-columns.addresses .woocommerce-column--shipping-address.col-2 {
    margin-top: 0;
}
section.woocommerce-columns.addresses p:empty {
    margin: 0;
}
.woocommerce .woocommerce-customer-details address {
    padding: var(--gap-sm);
}

.woocommerce .woocommerce-customer-details address {
    padding: var(--gap-sm);
    line-height: 1.4;
}

#ship-to-different-address-checkbox {
    margin-right: 8px;
}
.woocommerce-account-fields {
    margin-top: var(--gap-xs);
}
.underline .woocommerce-order-details p.order-again a.button {
    margin-top: var(--gap-xs);
}
p.order-again {
    text-align: center;
}

.woocommerce textarea#order_comments {
    min-height: 15rem;
}

.underline #ship-to-different-address,
.underline #ship-to-different-address span {
    font-size: calc(1rem + 0.2vw);
}
.underline #add_payment_method #payment ul.payment_methods li::marker,
.woocommerce-cart #payment ul.payment_methods li::marker,
.woocommerce-checkout #payment ul.payment_methods li::marker {
    content: none;
}
.underline #add_payment_method #payment ul.payment_methods li img,
.woocommerce-cart #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img {
    width: auto;
}
.wc_payment_methods .woocommerce-info::before {
    content: none;
}
.woocommerce-checkout .woocommerce {
    max-width: none;
}  
.woocommerce-privacy-policy-text:empty {
    display: none;
}
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    float: none;
    width: 100%;
    margin-top: 0;
} 
  
  
@media screen and (min-width: 768px) {
    .woocommerce-order-overview {
        margin-top: 0;
    }
    .woocommerce-order-overview-grid {
        position: sticky;
        top: var(--gap-sm);
    }

    ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }  
    div#customer_details {
        padding: var(--gap-sm) 0;
    }  
    .woocommerce-order-received section.woocommerce-columns--2::before,
    .woocommerce-order-received section.woocommerce-columns--2::after  {
        content: none;
    }
    .woocommerce-order-received section.woocommerce-columns--2 {
        flex-direction: row;
        gap: var(--gap-sm);
    }
    .woocommerce-order-received .woocommerce-column.woocommerce-column--2.woocommerce-column--shipping-address.col-2, 
    .woocommerce-order-received .woocommerce-column.woocommerce-column--1.woocommerce-column--billing-address.col-1 {
        display: grid;
        grid-template-rows: auto 1fr;
    }  
}
  
/* Styles Starting at Laptop */
    @media screen and (min-width: 1024px) {
    .checkout.woocommerce-checkout {
        display: grid;
        grid-template-columns: 10fr 9fr;
        grid-column-gap: 70px;
        grid-column-gap: var(--gap-lg);
        grid-row-gap: 40px;
        grid-row-gap: var(--gap-md);
        grid-template-rows: auto 1fr;
    }
    .woocommerce-NoticeGroup-checkout {
        grid-column: 1/-1;
    }
}


/* ////////////////////
Account Page
///////////////////// */

/* ////// Layout ////// */
.woocommerce-account main#content {
    max-width: unset;
    padding: 0;
}
.woocommerce-account header.page-header {
    text-align: center;
    padding-left: var(--indent);
    padding-right: var(--indent);
    padding-top: calc(var(--gap-md) + var(--nav-height));
    padding-bottom: var(--gap-md);
}
.woocommerce-account header.page-header h1 {
    margin-bottom: 0;
    padding-bottom: 0;
}
.woocommerce-account .page-content {
    padding: var(--gap-sm) var(--indent) var(--gap-xxl);
}

.underline.woocommerce-account a {
    text-decoration: none;
}
.woocommerce-account .page-content > .woocommerce > h2 {
    text-align: center;
}

/* ////// Login ////// */
div#customer_login > div > h2 {
    text-align: center;
}
.underline [name="login"] {
    margin-right: 10px !important;
}
.woocommerce-form.woocommerce-form-login.login {
    max-width: 60ch;
    margin: 0 auto;
}
.woocommerce form .show-password-input, 
.woocommerce-page form .show-password-input {
    position: absolute;
    right: .7em;
    top: 0.5rem;
    cursor: pointer;
}
button.woocommerce-button.button.woocommerce-form-login__submit {
    justify-content: center;
    width: 100%;
}

.underline .woocommerce .woocommerce-form.woocommerce-form-login button.woocommerce-form-login__submit {
    margin-bottom: 7px;
    margin-bottom: var(--gap-xxs);
    margin-top: 7px;
    margin-top: var(--gap-xxs);
}

.woocommerce-account.woocommerce-page .col-1 ,
.woocommerce-account.woocommerce-page .col-2 {
    float: none;
    width: 100%;
}
.underline .woocommerce form.checkout_coupon, 
.underline .woocommerce form.login, 
.underline .woocommerce form.register {
    padding: 25px;
    padding: var(--gap-sm);
    margin: var(--gap-sm) auto;
    max-width: var(--md-text-width);
}
form.checkout_coupon.woocommerce-form-coupon {
    display: grid;
    /* align-items: center; */
    justify-content: center;
    /* text-align: center; */
    gap: var(--gap-xxs);
}
.woocommerce form.checkout_coupon.woocommerce-form-coupon > p {
    margin: 0;
    text-align: center;
}

.underline .woocommerce-MyAccount-content legend {
    padding: 0 10px;
}
.underline .woocommerce-MyAccount-content fieldset {
    padding: 25px 25px 40px;
    padding: var(--gap-sm) var(--gap-sm) var(--gap-md);
}
.underline [name="save_account_details"] {
    margin-top: 25px !important;
    margin-top: var(--gap-sm) !important;
}

/* --- Addresses --- */
.underline.woocommerce-account .addresses .title .edit {
    float: none;
}
.u-columns.woocommerce-Addresses.col2-set.addresses::before {
    content: none;
}
.woocommerce-MyAccount-content .woocommerce-Addresses {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    margin-top: var(--gap-sm);
}
.woocommerce-address-fields {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
}


.underline .woocommerce-orders-table__cell-order-actions a {
    /* margin-bottom: 10px !important; */
    width: 100%;
}
a.woocommerce-button.button::before {
    content: none;
}
a.woocommerce-button.button.view {
    text-align: center;
}
.underline .woocommerce-privacy-policy-text {
    margin-bottom: 25px;
    margin-bottom: var(--gap-sm);
    margin-top: 25px;
    margin-top: var(--gap-sm);
}

/* ////// Navigation ////// */
.underline .woocommerce-MyAccount-navigation {
    margin-bottom: 40px;
    margin-bottom: var(--gap-md);
}
.underline.woocommerce-account .woocommerce-MyAccount-navigation ul:first-child {
    /* padding: 25px; */
    /* padding: var(--gap-sm); */
    padding: 0;
    margin: 0;
}
.underline .woocommerce-MyAccount-navigation-link {
    border: 1px solid var(--light-grey, #ddd);
    padding: 0;
    margin-bottom: 0;
}
nav.woocommerce-MyAccount-navigation li a {
    width: 100%;
    display: flex;
    background-image: none;
    padding: var(--gap-xxs);
    transition: color .3s ease, background-color .3s ease;
    gap: 1ch;
    justify-content: space-between;
}
nav.woocommerce-MyAccount-navigation li a::after {
    content: ' \203A';
}
body.underline nav.woocommerce-MyAccount-navigation li a:hover,
body.underline nav.woocommerce-MyAccount-navigation li.is-active a  {
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-light, snow);
}
.woocommerce-form.woocommerce-form-register.register p:nth-child(2)::after {
    content: "\A If you do not see the email in your Inbox then please make sure to check your Junk folder.";
    white-space: pre-wrap;
}
.woocommerce-LostPassword.lost_password {
    margin-top: 14px;
    margin-top: var(--gap-xs);
}
p.woocommerce-LostPassword.lost_password a {
    text-decoration: none;
}
#customer_login .woocommerce-form-register__submit {
    margin-top: 0;
    width: 100%;
}
.woocommerce-MyAccount-content a.edit {
    font-size: calc(0.7rem + 0.2vw);
    margin-left: var(--gap-xxs);
}
input#account_display_name {
    margin-bottom: 7px;
    margin-bottom: var(--gap-xxs);
}
input#account_display_name + span {
    font-size: calc(0.8rem + 0.15vw);
}
p#billing_country_field {
    margin-bottom: calc(14px + 7px);
    margin-bottom: calc(var(--gap-xs) + var(--gap-xxs));
}

/* --- reset Pasword --- */
form.woocommerce-ResetPassword.lost_reset_password {
    max-width: 60ch;
    margin: 0 auto;
}
.underline .woocommerce button.woocommerce-Button.button[value="Reset password"] {
    margin-top: var(--gap-xxs);
}


/* --- Previous Orders --- */
.underline td.woocommerce-orders-table__cell a.button.woocommerce-button {
    margin-top: 10px;
}
td.woocommerce-orders-table__cell a br {
    display: none;
}
.underline td.woocommerce-orders-table__cell a.button.woocommerce-button {
    margin: var(--gap-xxs) 0;
}


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

    div#customer_login {
        display: flex;
        gap: var(--gap-md);
    }    
    .underline.woocommerce-account .woocommerce-MyAccount-content {
        width: 64%;
        /* padding-top: 25px;
            padding-top: var(--gap-sm); */
    }

    .woocommerce-orders.woocommerce-account .woocommerce-MyAccount-navigation {
        width: 25%;
    }
    .woocommerce-orders.underline.woocommerce-account .woocommerce-MyAccount-navigation ul:first-child {
        border-right: unset;
    }
    .underline.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content {
        width: 72%;
    }
}



/* ////////////////////
---------------------
Woo Blocks
----------------------
///////////////////// */

/* ////////////////////
Variables
///////////////////// */

/* ////// BG Colours ////// */
.primary-col-bg {
	background: var(--e-global-color-primary);
}
.secondary-col-bg {
	background: var(--e-global-color-secondary);
}
.tertiary-col-bg {
	background: var(--e-global-color-tertiary);
}
.quaternary-col-bg {
	background: var(--e-global-color-quaternary);
}
.quinary-col-bg {
	background: var(--e-global-color-quinary);
}
.dark-col-bg {
    background: var(--e-global-color-dark);
}
.white-bg {
    background: var(--e-global-color-light);
}

/* ////// Layout ////// */
section[class^="bb"] {
    padding-top: var(--gap-md);
    padding-bottom: var(--gap-md);
}
.boxed-md,
.boxed-lg,
.indented {
    padding-left: 5vw;
    padding-right: 5vw;
    padding-left: var(--indent);
    padding-right: var(--indent);
}
.boxed-md > *,
section[class^="bb"].boxed-md > * {
    max-width: var(--md-content-width);
    margin-left: auto;
    margin-right: auto;
}
.boxed-lg > *,
section[class^="bb"].boxed-lg > * {
    max-width: var(--lg-content-width);
    margin-left: auto;
    margin-right: auto;
}
.button-holder {
    display: flex;
    /* flex-grow: 1; */
    width: 100%;
}
section[class^="bb"].light-text a.button {
    box-shadow: 0px 0px 1px 2px var(--e-global-color-light) inset;
    color: var(--e-global-color-light);
}
section[class^="bb"].light-text a.button:hover,
section[class^="bb"].light-text a.button:focus {
    color: var(--e-global-color-dark);
    background-color: var(--e-global-color-light);
}

/* ////////////////////
Blocks
///////////////////// */

/* ////// About ////// */
.about-grid {
    display: grid;
    gap: var(--gap-md);
}
.about-image {
    height: var(--img-height);
}
.about-image img {
    height: 100%;
}
.about-text {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}
.about-text h2 {
    width: 100%;
    text-align: center;
}
.bb-about .button-holder {
    justify-content: center;
}

@media screen and (max-width: 899px) {
    section.bb-about div.about-grid {
        max-width: var(--md-text-width);
        margin: 0 auto;
    }
}

@media screen and (min-width: 900px) {
    .about-grid {
        grid-template-columns: 1fr 1fr;
    } 
    .about-image {
        height: 0;
        min-height: min(100%, calc(var(--view-height) - 2*var(--gap-md)));
        position: sticky;
        top: var(--gap-md);
    }
    .about-img-right .about-image {
        order: 2;
    }
    .about-text {
        align-items: center;
        padding: var(--gap-md) 0;
    }
    .about-text h2 {
        text-align: left;
    }
    .bb-about .button-holder {
        justify-content: flex-start;
    }
}