body.checkout-wc, html, main.checkoutwc { height: inherit !important; }
body:not(.checkout-wc) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body:not(.checkout-wc) > *, body:not(.checkout-wc) > .container.grid-container { width: 100%; }
body:not(.checkout-wc) > .container.grid-container { flex-grow: 1; }

.woocommerce .button {
    border-radius: 70px !important;
}

.woocommerce-message, .woocommerce-notices-wrapper li {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
}
.woocommerce-message .button, .woocommerce-notices-wrapper li .button {
  background: transparent;
  padding: 0;
  color: inherit;
  white-space: nowrap;
}
.woocommerce-message:has(.button), .woocommerce-notices-wrapper li:has(.button) { flex-direction: row-reverse; }
.woocommerce-message:after { display: none; }
.woocommerce-message * { min-width: fit-content; }

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    border-style: solid;
    border-width: 0 0 2px 0;
}

.woocommerce-error a, .woocommerce-info a, .woocommerce-message a,
.woocommerce-error a.button, .woocommerce-info a.button, .woocommerce-message a.button {
  background: transparent !important;
  font-weight: normal !important;
  color: inherit !important;
  border-bottom: 1px solid transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.woocommerce-message, .woocommerce-message a, .woocommerce-message a.button { border-color: var(--accent) !important; }
.woocommerce-info, .woocommerce-info a, .woocommerce-info a.button { border-color: var(--pm-warning) !important; }
.woocommerce-error, .woocommerce-error a, .woocommerce-error a.button { border-color: var(--pm-error) !important; }

.woocommerce-privacy-policy-text { font-size: 12px; line-height: 1.6em; padding-top: 10px; }

body.woocommerce-account.woocommerce-orders .woocommerce-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

body.woocommerce-account.woocommerce-orders .woocommerce-info p {
    margin: 0;
    flex: 1;
}

body.woocommerce-account .woocommerce_account_subscriptions .button {
    color: inherit;
    background-color: inherit;
    padding: 0;
}

body.woocommerce-account.woocommerce-edit-address .woocommerce-Address header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}
body.woocommerce-account.woocommerce-edit-address .woocommerce-Address header h3 { flex: 1; margin: 0; }
body.woocommerce-account.woocommerce-edit-address .woocommerce-Address address { font-size: 14px; }

body.woocommerce-account.woocommerce-edit-address .woocommerce-address-fields .woocommerce-address-fields__field-wrapper { margin-bottom: 25px; }
body.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm .woocommerce-account-password-fields { padding-top: 20px; margin-bottom: 25px; }
body.woocommerce-account.woocommerce-edit-account .woocommerce-EditAccountForm .password-fields-title { margin-bottom: 15px; }

body.woocommerce-account.woocommerce-add-payment-method #add_payment_method button.woocommerce-Button {
    width: auto !important;
    padding: 10px 20px !important;
    font-size: 100% !important;
}

body.woocommerce-account.woocommerce-add-payment-method #add_payment_method .form-row { text-align: center; }

input[type=radio], input[type=checkbox] {
    accent-color: var(--base-2);
}

select {
    padding-right: 40px;
    border-color: #ccc;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--contrast-3) 50%),
        linear-gradient(135deg, var(--contrast-3) 50%, transparent 50%);
    background-position:
        calc(100% - 20px) calc(1em + 3px),
        calc(100% - 15px) calc(1em + 3px);
    background-size:
        5px 5px,
        5px 5px;
    background-repeat: no-repeat;
    -webkit-appearance: none;
    -moz-appearance: none;
}

body.single-product .woocommerce-breadcrumb {
    margin-bottom: 40px;
    font-size: 13px;
}

body.single-product div.type-product .product_title {
    font-family: "Helvetica Neue", "Helvetica", sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 37px;
    color: var(--contrast);
    margin-bottom: 15px;
}

/* body.single-product div.type-product .product_title:not(.has-subtitle) { margin-bottom: 35px; } */

body.single-product div.type-product .product_subtitle {
    font-family: "Helvetica Neue", "Helvetica", sans-serif;
    font-size: 15px;
    color: var(--contrast);
    margin-bottom: 15px;
}
body.single-product div.type-product .woocommerce-product-rating {
    display: flex;
    gap: 8px;
    align-items: center;
    line-height: 100%;
    margin: 0 0 35px;
}
body.single-product div.type-product .woocommerce-product-rating:before { display: none; }
body.single-product div.type-product .woocommerce-product-rating .star-rating { float: none; margin: 0; }

body.single-product div.type-product table.variations th.label {
    width: 1px;
    white-space: nowrap;
    text-align: left;
    vertical-align: middle;
    padding: 0;
    padding-right: 20px;
}

/* body.single-product div.type-product .single_variation {
    margin-bottom: 10px;
} */

body.single-product .wcsatt-options-product-prompt > ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.single-product .wcsatt-options-product-prompt > ul li .wcsatt-options-prompt-label {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.single-product .wcsatt-options-product-prompt > ul li .wcsatt-options-prompt-label .wcsatt-options-prompt-action {
    display: flex;
    align-items: center;
    gap: 20px;
}

body.single-product div.type-product p.price,
body.single-product div.type-product .woocommerce-variation-price,
body.single-product .wcsatt-options-product-prompt > ul li .wcsatt-options-prompt-label .wcsatt-options-prompt-action .price {
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--contrast);
    font-size: 28px;
    font-weight: 700;
    line-height: 100%;
}
body.single-product div.type-product p.price:not(:empty),
body.single-product div.type-product .woocommerce-variation-price:not(:empty) {
    margin-bottom: 30px;
}
body.single-product .wcsatt-options-product-prompt > ul li .wcsatt-options-prompt-label .wcsatt-options-prompt-action .price {
    font-weight: 700;
    margin-left: 0;
}
body.single-product .wcsatt-options-product-prompt > ul li .wcsatt-options-prompt-label .wcsatt-options-prompt-action .price .subscription-details {
    font-size: 16px;
    font-weight: normal;
    margin-left: -7px;
}
body.single-product .wcsatt-options-product-prompt > ul li .wcsatt-options-prompt-label .wcsatt-options-prompt-action .price del {
    opacity: 0.5;
    display: inline-block;
}

body.single-product div.type-product .woocommerce-variation-price .price { font-size: 1em; }

body.single-product div.type-product.product-type-variable .summary > p.price,
body.single-product div.type-product.has-subscription-plans .summary > p.price {
    display: none;
}

body.single-product div.product.do-quantity-buttons form.cart,
body.single-product div.product .woocommerce-variation-add-to-cart { align-items: center; }
body.single-product div.product form.cart div.quantity { margin-right: 20px; }
body.single-product div.product form.cart .ajax_add_to_cart { width: auto !important; }
body.single-product div.product form.cart .added_to_cart.wc-forward { display: none !important; }

#added-to-cart-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.156);
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.3s, opacity 0.3s;
  transition-delay: 0.3s, 0s;
  z-index: 1000;
}
#added-to-cart-popup.show {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s, 0s;
}

#added-to-cart-popup .added-to-cart-popup-box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: #fff;
  border-radius: 5px;
  padding: 40px;
  width: 90%;
  text-align: center;
  max-width: 450px;
}

#added-to-cart-popup .added-to-cart-popup-box .added-to-cart-popup-or {
  position: relative;
  opacity: 0.6;
}

#added-to-cart-popup .added-to-cart-popup-box .added-to-cart-popup-or span {
  position: relative;
  display: inline-block;
  background: #fff;
  padding: 0 10px;
  z-index: 10;
}

#added-to-cart-popup .added-to-cart-popup-box .added-to-cart-popup-or:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.6);
  transform: translateY(-1px);
}

body.single-product form .quantity.buttons-added .minus,
body.single-product form .quantity.buttons-added .plus,
body.woocommerce-cart form .quantity.buttons-added .minus,
body.woocommerce-cart form .quantity.buttons-added .plus {
    border-width: 0;
    font-size: 20px;
    width: 40px;
}

body.single-product form .single_add_to_cart_button {
    border-radius: 100px;
}

body.single-product div.type-product .woocommerce-product-details__short-description ul {
    margin-left: 20px;
}

body.single-product div.type-product p.price .onsale,
body.single-product div.type-product .woocommerce-variation-price .onsale,
body.single-product .wcsatt-options-product-prompt > ul li .wcsatt-options-prompt-label .wcsatt-options-prompt-action .price .onsale {
    padding: 5px 10px;
    font-size: 14px;
    margin-bottom: 0;
}

body.single-product div.type-product .stock.out-of-stock {
    border-radius: 0;
    min-height: 15px;
    min-width: initial;
    font-weight: inherit;
    font-size: inherit;
    padding: 8px 13px;
    line-height: 1;
    display: inline-block;
    font-size: 80%;
    text-transform: uppercase;
    font-weight: 700;
    background-color: var(--pm-error);
    color: var(--accent-3);
}
.woocommerce .inside-wc-product-image .outofstock {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0;
    min-height: 15px;
    min-width: initial;
    font-weight: inherit;
    font-size: inherit;
    padding: 8px 13px;
    line-height: 1;
    display: inline-block;
    font-size: 80%;
    text-transform: uppercase;
    font-weight: 700;
    background-color: var(--pm-error);
    color: var(--accent-3);
}
.woocommerce .inside-wc-product-image .onsale,
.woocommerce .inside-wc-product-image .outofstock { top: 15px !important; }

body.single-product div.product div.images .woocommerce-product-gallery__image {
  display: flex !important;
  aspect-ratio: 1;
}

body.single-product div.product div.images .woocommerce-product-gallery__image > a {
  /* aspect-ratio: 1; */
  display: inline-flex;
  align-self: center;
}
body.single-product div.product div.images .woocommerce-product-gallery__image:not(.has-video) > a { aspect-ratio: 1; }
body.single-product div.product div.images .woocommerce-product-gallery__image > a > img { object-fit: contain; }

body.single-product div.product div.images .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

body.single-product div.product div.images .flex-control-thumbs li {
    position: relative;
    display: flex;
    width: calc(15% - 8px);
    padding: 0;
    max-width: none;
    min-width: 40px;
    aspect-ratio: 1;
}
body.single-product div.product div.images .flex-control-thumbs li.has-video:before,
body.single-product div.product div.images .flex-control-thumbs li.has-video:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  pointer-events: none;
}
body.single-product div.product div.images .flex-control-thumbs li.has-video:before {
  content: '';
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
}
body.single-product div.product div.images .flex-control-thumbs li.has-video:after {
  content: '\25B6';
  display: inline-block;
  left: 4px;
  width: 28px;
  height: 28px;
  line-height: 28px;
  font-size: 20px;
  text-align: center;
  color: var(--accent);
}
body.single-product div.product div.images .flex-control-thumbs li img { object-fit: cover; }

body.single-product div.product div.images.woocommerce-product-gallery ul.flex-direction-nav {
    position: absolute;
    top: 0;
    z-index: 99;
    width: calc(100% - 40px);
    left: 20px;
    margin: 0;
    padding: 0px;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
    translate: 0 -50%;
}

body.single-product div.product div.images.woocommerce-product-gallery ul.flex-direction-nav li a {
    position: relative;
    display: block;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    font-size: 0;
    color: transparent;
    pointer-events: all;
    transition: background 0.3s;
}
body.single-product div.product div.images.woocommerce-product-gallery ul.flex-direction-nav li a:hover { background: #fff; }

body.single-product div.product div.images.woocommerce-product-gallery ul.flex-direction-nav li a:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border: 2px solid var(--base-2);
    border-width: 2px 2px 0 0;
    position: absolute;
    top: 13px;
}

body.single-product div.product div.images.woocommerce-product-gallery ul.flex-direction-nav li a.flex-next:before {
    transform: rotate(45deg);
    left: 11px;
}

body.single-product div.product div.images.woocommerce-product-gallery ul.flex-direction-nav li a.flex-prev:before {
    transform: rotate(-135deg);
    left: 15px;
}

body.single-product div.product .wcsatt-options-product-wrapper { padding-left: 25px; }

body.single-product div.product .wcsatt-options-wrapper { margin-bottom: 15px; }
body.single-product div.product .wcsatt-options-wrapper .wcsatt-options-product-dropdown { margin-bottom: 15px; }
body.single-product div.product .wcsatt-options-wrapper .wcsatt-options-product-inner {
    display: flex;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 15px;
}
body.single-product div.product .wcsatt-options-wrapper .wcsatt-options-product-inner > * { margin: 0; }
body.single-product div.product .wcsatt-options-wrapper .wcsatt-options-product-inner .wcsatt-options-product-dropdown-label {
    font-weight: bold;
    white-space: nowrap;
    padding-right: 20px;
}

body.single-product div.product .price + .product-subscription-features-list { margin-top: -15px; margin-bottom: 20px; }
body.single-product div.product.has-subscription-plans .price + .product-subscription-features-list { display: none; }
body.single-product div.product .product-subscription-features-list {
    list-style: none;
    color: var(--base-3);
    margin-bottom: 10px;
    margin-left: 5px;
}
body.single-product div.product .product-subscription-features-list li {
    position: relative;
    padding-left: 20px;
}
body.single-product div.product .product-subscription-features-list li:before {
    content: '';
    display: block;
    position: absolute;
    width: 4px;
    height: 7px;
    border: 2px solid var(--base-3);
    border-top-width: 0;
    border-left-width: 0;
    top: 50%;
    left: 0;
    transform: rotate(40deg) translateY(-100%);
}

body.single-product div.product .product-long-description { clear: both; padding-top: 40px; margin-bottom: 100px; }
body.single-product div.product .related > h2,
body.single-product div.product .product-long-description .product-long-description-title { text-align: center; text-transform: capitalize; }

body.single-product div.product .product-long-description { text-align: center; }
body.single-product div.product .product-long-description .expand-description { display: inline-block; margin: auto; }
body.single-product div.product .product-long-description .product-long-description-content { max-height: initial; margin-bottom: 0; text-align: initial; }
body.single-product div.product .product-long-description .product-long-description-content.collapsed {
  position: relative;
  overflow: hidden;
  max-height: 400px;
  margin-bottom: 40px;
}
body.single-product div.product .product-long-description .product-long-description-content.collapsed:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background: linear-gradient(to bottom, transparent, #fff);
}


body.single-product #reviews { width: 75%; margin: 0 auto 100px; }
body.single-product #reviews .woocommerce-Reviews-title { text-align: center; margin-bottom: 50px; }
body.single-product #reviews .comment-form-rating .stars { display: inline-block; margin-bottom: 15px !important; }
body.single-product #reviews .comment-form-rating .stars.selected a:before { color: var(--accent); }
body.single-product #reviews .submit { border-radius: 50px; }
body.single-product #reviews .woocommerce-noreviews { text-align: center; font-size: 14px; }
body.single-product #reviews #comments { display: flex; gap: 40px; }
body.single-product #reviews #comments > * { flex-basis: 50%; }
body.single-product #reviews #comments .woocommerce-pagination { margin-top: 0; }
body.single-product #reviews #comments .comment-form label { display: block; margin-bottom: 5px; }
body.single-product #reviews #comments ol.commentlist li img.avatar { padding: 0; border: 0; border-radius: 4px; }

body.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
body.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-actions .button {
  min-width: fit-content;
}

body.woocommerce-cart table.shop_table .product-name a { display: inline-block; max-width: 70%; }

body.woocommerce-cart table.shop_table .product-price { width: 280px; }
body.woocommerce-cart table.shop_table .product-quantity { text-align: center; }
body.woocommerce-cart table.shop_table .product-quantity,
body.woocommerce-cart table.shop_table .product-subtotal { max-width: 150px; text-align: center; }
body.woocommerce-cart table.shop_table .product-quantity .quantity { display: inline-flex; margin: auto; }

body.woocommerce-cart table.cart .actions-row td { border-bottom-width: 0; }
body.woocommerce-cart table.cart .actions {
    display: flex;
    justify-content: space-between;
    text-align: left !important;
}

body.woocommerce-cart table.cart .actions button {
    background: none;
    color: var(--base-2);
    font-weight: 700;
    padding: 0;
}
body.woocommerce-cart table.cart .actions input { border-color: #ccc; border-radius: 3px; }
body.woocommerce-cart table.cart .actions button[name='update_cart'] { padding: 0; }

body.woocommerce-cart table.cart .actions .coupon { display: flex; gap: 15px; }
body.woocommerce-cart table.cart .actions .coupon .input-text { flex-grow: 1; }
body.woocommerce-cart .payment-or-woopay { font-weight: bold; text-align: center; margin-bottom: 20px; }

.woocommerce div.product form.cart .variations select { min-width: 0; }

.woocommerce ul.products li.product .woocommerce-LoopProduct-link .woocommerce-loop-product__title { color: var(--contrast); }

button:not(.gb-accordion__toggle):not(.components-button), html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) { border-radius: 100px !important; }

.woopay-express-button {
    padding: 30px 0;
}

.empty-cart-box,
.myaccount-form-wrap {
    max-width: 600px;
    margin: auto;
}

.myaccount-form-wrap .form-actions {
    padding-top: 15px !important;
    display: flex;
    align-items: center;
}

.myaccount-form-wrap .form-actions:before { display: none !important; }

.premom-password-requirements-hint { padding-top: 20px; }
.premom-password-requirements-hint .premom-password-requirements-list { margin-bottom: 0; }
.premom-password-requirements-hint .premom-password-requirements-list li {
  color: var(--pm-success);
}
.premom-password-requirements-hint .premom-password-requirements-list li.error {
  color: var(--pm-error);
}

.main-navigation ul li.hide {
  display: none;
}

.main-navigation ul ul li.new > a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.main-navigation ul ul li.new .menu-item-new-badge {
  content: 'new';
  background: var(--base-3);
  color: #fff;
  line-height: 100%;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 6px;
}

.main-navigation .app-cta {
    display: none;
    text-align: center !important;
    padding: 10px 16px 0;
}
.main-navigation .app-cta a {
    display: inline-block;
    width: 100%;
    font-family: Helvetica;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    border-radius: 40px;
    padding: 15px 0 !important;
    line-height: 100% !important;
    background-color: var(--base-3);
    color: var(--accent-3) !important;
    transition: all 0.5s ease !important;
}
.main-navigation .app-cta a:hover { background-color: var(--base-2) !important; }
.both-sticky-menu .main-navigation:not(#mobile-header).toggled .main-nav > ul {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    padding-bottom: 20px;
}
.both-sticky-menu .main-navigation:not(#mobile-header):not(.navigation-stick).toggled .main-nav > ul { padding-left: 20px; padding-right: 20px; }
.both-sticky-menu .main-navigation:not(#mobile-header).toggled .main-nav .app-cta { display: block; }

.both-sticky-menu .main-navigation:not(#mobile-header).toggled .main-nav > ul:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 10px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.10), transparent);
}

.menu-item-has-children .dropdown-menu-toggle { z-index: 100; }

.main-navigation.toggled .main-nav ul ul { padding: 0 10px; }

.wp-block-cb-carousel .slick-slide { overflow: visible; padding-left: 10px; padding-right: 10px; }
.slick-slider .slick-list { padding-bottom: 10px; }
.slick-arrow {
  display: block;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  font-size: 0;
  color: transparent;
  cursor: pointer;
  transition: background 0.3s;
}
.slick-arrow:not(:hover):not(:active) { background: rgba(255, 255, 255, 0.7) !important; }
.slick-arrow:hover { background: #fff; }

.slick-arrow:before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border: 2px solid var(--base-2);
  border-width: 2px 2px 0 0;
  position: absolute;
  top: 13px;
}

.slick-next { right: -50px; }
.slick-next:before {
  transform: rotate(45deg);
  left: 11px;
}
.slick-prev { left: -50px; }
.slick-prev:before {
  transform: rotate(-135deg);
  left: 15px;
}
.slick-dots { bottom: auto; padding-top: 20px; }
.slick-dots li button:before { font-size: 16px; transition: all 0.2s; }
.slick-dots li.slick-active button:before { color: var(--base-2); }

body.single-post .comments-area { max-width: 800px; margin: 0 auto; }

@media (min-width: 1025px) {
    .wc-related-upsell-columns-4 .related ul.products,
    .wc-related-upsell-columns-4 .up-sells ul.products,
    .woocommerce .wc-columns-container.wc-columns-4 .products {
        grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product,
    .wc-related-upsell-columns-4 .up-sells ul.products > .product,
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product {
        grid-column: span 2 !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product:nth-child(4n + 1):nth-last-child(1),
    .wc-related-upsell-columns-4 .up-sells ul.products > .product:nth-child(4n + 1):nth-last-child(1),
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product:nth-child(4n + 1):nth-last-child(1) {
        grid-column-end: -4 !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product:nth-child(4n + 1):nth-last-child(2),
    .wc-related-upsell-columns-4 .up-sells ul.products > .product:nth-child(4n + 1):nth-last-child(2),
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product:nth-child(4n + 1):nth-last-child(2) {
        grid-column-end: 5 !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product:nth-child(4n + 1):nth-last-child(3),
    .wc-related-upsell-columns-4 .up-sells ul.products > .product:nth-child(4n + 1):nth-last-child(3),
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product:nth-child(4n + 1):nth-last-child(3) {
        grid-column-end: -6 !important;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .wc-related-upsell-columns-4 .related ul.products,
    .wc-related-upsell-columns-4 .up-sells ul.products,
    .woocommerce .wc-columns-container.wc-columns-4 .products {
        grid-template-columns: repeat(6, 1fr) !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product,
    .wc-related-upsell-columns-4 .up-sells ul.products > .product,
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product {
        grid-column: span 2 !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product:last-child:nth-child(3n - 1),
    .wc-related-upsell-columns-4 .up-sells ul.products > .product:last-child:nth-child(3n - 1),
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product:last-child:nth-child(3n - 1) {
        grid-column-end: -2 !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product:nth-last-child(2):nth-child(3n + 1),
    .wc-related-upsell-columns-4 .up-sells ul.products > .product:nth-last-child(2):nth-child(3n + 1),
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product:nth-last-child(2):nth-child(3n + 1) {
        grid-column-end: 4 !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product:last-child:nth-child(3n - 2),
    .wc-related-upsell-columns-4 .up-sells ul.products > .product:last-child:nth-child(3n - 2),
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product:last-child:nth-child(3n - 2) {
        grid-column-end: 5 !important;
    }
}

@media (max-width: 767px) {
    body.single-product #reviews { width: 100%; }
}

@media (max-width: 768px) and (min-width: 601px) {
    .wc-related-upsell-columns-4 .related ul.products,
    .wc-related-upsell-columns-4 .up-sells ul.products,
    .woocommerce .wc-columns-container.wc-columns-4 .products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product,
    .wc-related-upsell-columns-4 .up-sells ul.products > .product,
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product {
        grid-column: span 2 !important;
    }
    .wc-related-upsell-columns-4 .related ul.products > .product:nth-child(2n + 1):last-child,
    .wc-related-upsell-columns-4 .up-sells ul.products > .product:nth-child(2n + 1):last-child,
    .woocommerce .wc-columns-container.wc-columns-4 .products > .product:nth-child(2n + 1):last-child {
        grid-column-end: -2 !important;
    }
}

@media (max-width: 768px) {
    body.woocommerce-cart .inside-header { padding-bottom: 5px; }
    body.single-product .site-content { padding-top: 0; }
    body.woocommerce-cart .site-content { padding-top: 10px; }
    body.single-product .woocommerce-breadcrumb { margin-bottom: 20px; }

    body.woocommerce-cart table.shop_table .product-name a { max-width: none; }

    body.woocommerce-cart table.shop_table .product-price { width: auto; }
    body.woocommerce-cart table.shop_table .product-price,
    body.woocommerce-cart table.shop_table .product-quantity,
    body.woocommerce-cart table.shop_table .product-subtotal { max-width: none; }
    body.woocommerce-cart table.shop_table.cart .product-remove { display: block; text-align: right; }
    body.woocommerce-cart table.shop_table .product-remove .remove {
        display: inline-block;
        font-size: 0;
        width: auto;
        height: auto;
        border: 0 !important;
        text-transform: capitalize;
        color: var(--base-2) !important;
    }
    body.woocommerce-cart table.shop_table .product-remove .remove:before {
        content: attr(class);
        font-size: 16px;
    }

    body.woocommerce-cart table.shop_table {
        width: 100vw;
        margin-left: 50% !important;
        transform: translateX(-50%);
    }
    body.woocommerce-cart table.shop_table tr td { padding-left: 24px; padding-right: 24px; }
    body.woocommerce-cart table.shop_table.cart tr td {
        display: flex;
        align-items: center;
        gap: 30px;
        justify-content: space-between;
    }
    body.woocommerce-cart table.shop_table tr.actions-row td { display: block; }

    body.woocommerce-cart .cart_totals table.shop_table tr:nth-child(2n) td { background-color: transparent; }
    
    body.woocommerce-cart table.shop_table .product-quantity { padding: 12px 8px 12px 24px; }
    body.woocommerce-cart table.shop_table .product-quantity .quantity { margin: inherit; }
    body.woocommerce-cart table.shop_table .product-quantity .quantity * { min-height: 40px; }

    .woocommerce table.shop_table_responsive tr td:before, .woocommerce-page table.shop_table_responsive tr td:before { content: attr(data-title); }
}

@media (max-width: 600px) {
    body.single-product #reviews #comments { flex-flow: column; }
    .woocommerce-message, .woocommerce-notices-wrapper li { font-size: 15px; }
}

@media (max-width: 550px) {
    body.single-product div.type-product .product_title {
        font-size: 18px;
        line-height: 27px;
    }

    body.single-product div.type-product .product_subtitle {
        line-height: 19px;
    }

    body.single-product .wcsatt-options-product-prompt > ul li .wcsatt-options-prompt-label .wcsatt-options-prompt-action {
        padding-left: 5px;
        flex-flow: column;
        align-items: flex-start;
        gap: 0;
    }

    body.single-product div.product .product-subscription-features-list { margin-bottom: 10px }
    body.single-product div.product form.cart .button { flex-grow: 1; }

    body.woocommerce-cart table.shop_table.cart tr td { line-height: 1.3em; }

    body.woocommerce-cart table.cart .actions {
        flex-flow: column;
        align-items: center;
        gap: 10px;
    }
    body.woocommerce-cart table.cart .actions .coupon { width: 100%; }
}

.wpsmswoopro-login-with-sms, .login-with-sms-choice-section {
	display: none;
}
.wpsmswoopro-btn {
	background-color: var(--base-2);
}
.wpsmswoopro-btn:hover {
	color: var(--accent-3);
	background-color: var(--base-3);
}