/*
Theme Name: Skinsecret
Theme URI: https://skinsecret.no
Author: Arthur Nørve
Author URI: https://noerve.com
Description: Custom theme for K-Beauty AS
Requires at least: 6.1
Tested up to: 6.1
Requires PHP: 8.0
Version: 1.0.51-26

Text Domain: skinsecret
*/

:root {
    --color-base-light: #fff;
    --color-contrast-light: #353535;
    --color-contrast-lighter: #353535;

    --color-base-grey: #FBFBF9;

    --color-secondary: #F8F6F2;/* beige */
    --color-primary: #F1DCDC; /* pink  */
    --color-success: #188D23; /* green */
	--color-success-light: #A2CCA2; /* light green */ 
    --color-danger: #B70101; /* red */

    --font-normal: "Montserrat", sans-serif;
	--font-special: "Montserrat", sans-serif;
    /*--font-special: "GT Walsheim Pro", no-serif;*/

    font-size: calc(0.75rem + 0.25vw);
}


@font-face {
    font-family: "GT Walsheim Pro";
    src: url("assets/fonts/gt-walsheim-pro/GTWalsheimPro-Light.ttf") format("truetype");
    font-style: normal;
    font-weight: 200;
}

@font-face {
    font-family: "GT Walsheim Pro";
    src: url("assets/fonts/gt-walsheim-pro/GTWalsheimPro-Black.ttf") format("truetype");
    font-style: normal;
    font-weight: 600;
}


@font-face {
    font-family: "GT Walsheim";
    src: url("assets/fonts/gt-walsheim/GT-Walsheim-Medium.woff2") format("woff");
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: "GT Walsheim";
    src: url("assets/fonts/gt-walsheim/GT-Walsheim-Bold.woff2") format("woff");
    font-style: normal;
    font-weight: 600;
}

@font-face {
    font-family: "GT Walsheim";
    src: url("assets/fonts/gt-walsheim/GT-Walsheim-Black.woff2") format("woff");
    font-style: normal;
    font-weight: 800;
}




/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
button,
input {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
	font-optical-sizing: auto;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}





















html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smooth: always;
    scroll-padding-top: 8rem;
    /* height of sticky header */
}

/*
@media screen and (max-width: 783px) {
	html {
		scroll-padding-top: 9rem;
	}
}
*/

body {
    background-color: var(--color-base-light);
    font-family: var(--font-normal);
    margin: 0 0 0 0;
    /* 8 rem for header and nav */
    padding: 0;
}





/*
 *
 * Generic styles
 *
 */

* {
    box-sizing: border-box;
}


a,
p {
    /*font-size: .85rem;*/
    line-height: 155%;
    font-weight: 400;
    /*font-family: var(--font-special);*/
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
	text-transform: uppercase;
    line-height: 155%;
    font-family: var(--font-special);
	color: var(--color-contrast-light);
}

h1 {
    font-size: 1.65rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

h2 {
    font-size: 1.25rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.45rem;
    line-height: 140%
}

h3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.15rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.25rem;
    line-height: 155%
}

h4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
    line-height: 1.6rem;
    font-size: 1.2rem;
}

ul {
    list-style: circle;
    padding-left: 2rem;
}

ol {
    list-style: decimal;
    padding-left: 2rem;
}

ol li,
ul li {
    line-height: 1.5;
}

a {
    color: var(--color-contrast-light);
	text-decoration: underline;
    font-weight: 600;
    cursor: pointer;
}

a:hover {
    text-decoration: underline;
    color: initial;
}

strong,
b {
    font-weight: 600;
}

i,
cite,
em,
var,
address,
dfn {
    font-style: italic;
}


footer button,
footer .button,
footer input[type="submit"],
footer select,
body:not(.page-template-ss-wp-bakery, .woocommerce-cart) main button:not(.wcpf-filter *, .show-password-input),
body:not(.page-template-ss-wp-bakery, .woocommerce-cart) main .button:not(.wcpf-filter *),
body:not(.page-template-ss-wp-bakery, .woocommerce-cart) main input[type="submit"]:not(.wcpf-filter *),
body:not(.page-template-ss-wp-bakery, .woocommerce-cart) main select:not(.wcpf-filter *),
body.page-template-ss-wp-bakery main .button {
    padding: 0 2rem !important;
    height: 2.5rem;
    line-height: 2.5rem !important;
    border-radius: 1.75rem !important;
    font-size: 0.85rem !important;
	
    color: var(--color-base-light) !important;
    background-color: var(--color-contrast-light) !important;
    text-align: center;
    display: inline-block;
    border: none;
    max-width: 100%;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    position: relative;
}


footer input:not([type='checkbox']),
body:not(.page-template-ss-wp-bakery, .woocommerce-cart) main input:not([type='checkbox']):not(.wcpf-filter *) {
    padding: 0 2rem !important;
    height: 2.5rem;
    line-height: 2.5rem !important;
    border-radius: 1.75rem !important;
    font-size: 0.85rem !important;
    /*
	height: 3rem;
	padding: 0 1rem;
	font-size: 0.75rem;
	border-radius: 1.5rem;
	*/
    border: none;
    box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -webkit-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -moz-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    max-width: 100%;
    appearance: none;
    -webkit-appearance: none;
}

body:not(.page-template-ss-wp-bakery, .woocommerce-cart) main textarea:not(.wcpf-filter *) {
    width: 100%;
    font-family: var(--font-normal);
    max-width: 100%;
}

footer select,
body:not(.page-template-ss-wp-bakery, .woocommerce) main select:not(.wcpf-filter *) {
    text-align: left;
    border-right: 1rem solid transparent max-width: 100%;
    appearance: none;
    -webkit-appearance: none;
}

.loading::after {
    top: 0 !important;
}

main article ol,
main article ul {
    margin: 1rem 0;
}

main article ul {
    list-style: circle;
    padding-left: 2rem;
}

main article ol {
    list-style: decimal;
    padding-left: 2rem;
}

main article ol li,
main article ul li {
    line-height: 1.5;
}

main article strong {
    font-weight: 600;
}

main article p {
    margin-bottom: 1rem;
}



main {
    padding-top: 1rem;
}

.container {
    max-width: 120rem;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 4rem;
    padding-left: 4rem;
}

@media screen and (max-width: 783px) {
    .container {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}




/*
 *
 * Footer
 *
 */

footer#site-footer {
    width: 100vw;
    max-width: 100%;
    background-color: var(--color-secondary);
    padding-top: 4rem;
    padding-bottom: 4rem;
    margin-top: 4rem;
}

footer#site-footer .bar {
    width: 100%;
    margin: auto;
    text-align: center;
}

footer#site-footer .bar .logo {
    width: 10%;
    min-width: 10rem;
    margin-bottom: 1rem;
}

footer#site-footer .bar p {
    padding-bottom: 1em;
    line-height: 1.25;
    font-size: 0.75rem;
}

footer#site-footer .bar>div:nth-child(2) {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}



footer#site-footer .info {
    display: flex;
    justify-content: space-between;
    padding: 6rem 0;
    gap: 6rem;
}

footer#site-footer .info>div {
    flex-basis: 50%;
}

footer#site-footer .info .newsletter {
    /*background-color: var(--color-base-grey);*/
    padding: 2rem 3rem;
}

footer#site-footer .info .newsletter h2 {
    margin-bottom: 0;
}

footer#site-footer .info .newsletter p {
    margin-bottom: 1rem;
}

footer#site-footer .info .menu .socials {
    display: flex;
    gap: 2rem;
}

@media screen and (max-width: 783px) {
    footer#site-footer .info .newsletter {
        padding: 2rem 0;
    }
}

footer#site-footer .info .menu>ul {
    margin: 0;
    list-style: none;
    padding-left: 0;
}

footer#site-footer .info .menu>ul>li {
    border-bottom: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
    padding: 0.5rem 0;
    cursor: pointer;
}

footer#site-footer .info .menu>li a {
    text-decoration: none;
    font-weight: 700;
    font-size: 1.15rem;
}

footer#site-footer .info .menu>ul>li:has(>ul)>a::after {
    content: url(assets/images/icon-add.svg);
    text-align: right;
    float: right;
}

footer#site-footer .info .menu>ul>li>ul {
    display: none;
}

footer#site-footer .info .menu>ul>li>ul.show {
    display: block;
}

footer#site-footer .info .menu>ul>li>ul a {
    font-weight: 400;
}

/*
footer#site-footer .info .drawer {
	width: 100%;
	border-bottom: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
	font-weight: 300;
	padding: 0.75rem 0;
}
footer#site-footer .info .drawer > h2 {
	font-size:1rem;
	margin: 0;
	padding: 1rem 0;
	cursor: pointer;
}
footer#site-footer .info .drawer > h2::after {
	content: url(assets/images/icon-add.svg);
	text-align: right;
	float: right;
}
footer#site-footer .info .drawer > div {
	display: none;
	border-top: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
	margin-top: 0.75rem;
}
footer#site-footer .info .drawer.show > div {
	display: block;
}
*/

@media screen and (max-width: 783px) {
    footer#site-footer .info {
        flex-wrap: wrap;
    }

    footer#site-footer .info>div {
        flex: 1 1 100%;
    }
}



/*
 *
 * Header
 *
 */


/* Admin bar fix */
.admin-bar header#site-header,
.admin-bar header#minimal-header {
    top: 46px;
}

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

    .admin-bar header#site-header,
    .admin-bar header#minimal-header {
        top: 32px;
    }
}

header#site-header {
    position: sticky;
    left: 0;
    top: 0;
    right: 0;
    bottom: auto;
    z-index: 9999;
    width: 100%;
    background-color: var(--color-base-grey);
}

header#site-header .top-bar .top-bar-default {
    background-color: var(--color-primary);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2rem;
    z-index: 10;
	
}

header#site-header .top-bar .top-bar-default>div {
    margin: 0 1rem;
    font-weight: 200;
    font-size: min(0.8rem, 2.5vw);
    line-height: min(0.8rem, 2vw);
	font-weight: 400;
}

header#site-header .top-bar .top-bar-default>div::before {
    display: inline-block;
    margin-right: 0.75rem;
    content: url(assets/images/icon-check.svg);
    vertical-align: 0.05rem;
}

@media screen and (max-width: 783px) {
    header#site-header .top-bar .top-bar-default {
        justify-content: center;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    header#site-header .top-bar .top-bar-default>div {
        margin: 0 0.5rem;
    }

    header#site-header .top-bar .top-bar-default>div::before {
        margin-right: 0.25rem;
    }
}

header#site-header .top-bar .top-bar-crawler {
    z-index: 10;
    overflow: hidden;
    display: flex;
    gap: 2rem;
	align-items: center;
	justify-content: center;
    
    &:hover > .wagon {
		animation-play-state: paused;
    }
}
header#site-header .top-bar .top-bar-crawler > .wagon {
    will-change: transform; /* We should be nice to the browser - let it know what we're going to animate. */
    /* animation: scrolling 10s linear infinite; */
    flex: 1 0 fit-content;
    margin: 0 !important;
}
header#site-header .top-bar .top-bar-crawler > .wagon p {
	white-space: nowrap;
}

@keyframes scrolling {
    0% {
		transform: translateX(0);
    }
    100% {
		transform: translateX(-100%);
    }
}





header#site-header .navigation-mobile {
    display: none;
}

header#site-header .navigation {
    display: flex;
    justify-content: space-between;
    background-color: var(--color-base-grey);
    height: 4.5rem;
    z-index: 10;
}

header#site-header .navigation>div {
    flex: 1 1;
}

header#site-header .brand {
    display: flex;
    align-items: center;
    flex: 1 0 25%;
}

header#site-header .search {
    flex: 1 1 40%;
    display: flex;
    align-items: center;
}

header#site-header .actions {
    flex: 1 0 25%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    z-index: 9999;
}

header#site-header a {
    line-height: 100%;
}

header#site-header .logo {
    width: 8rem;
    max-height: 100%;
}

header#site-header .search-form {
    width: 100%;
}

header#site-header .search-form .search-field {
    position: relative;
}

header#site-header .search-form input[type=text] {
    width: 100%;
    height: 3rem;
    border: none;
    box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -webkit-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -moz-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    appearance: none;
    -webkit-appearance: none;
    border-radius: 1.5rem;
    padding: 0 1rem;
    font-size: 0.8rem;
}

header#site-header .search-form input[type=submit] {
    position: absolute;
    right: 0;
    height: 3rem;
    width: 3.5rem;
    cursor: pointer;
    border: none;
    border-radius: 1.5rem;
    font-size: 1rem;
    color: var(--color-base-light);
    background: url(assets/images/icon-search.svg);
    background-position: center;
    background-repeat: no-repeat;
    /*
	transform: scale(0.9);
	background-color: var(--color-contrast-light);
	*/
}

header#site-header .actions>a {
    padding: 1rem;
    display: inline-block;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 0.75rem;
}

header#site-header .cart-link {
    background: transparent url(assets/images/icon-cart.svg);
    position: relative;
}

header#site-header .cart-link span {
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 100%;
}

header#site-header .profile-link {
    background: transparent url(assets/images/icon-profile.svg);
}

header#site-header .wishlist-link {
    background: transparent url(assets/images/icon-favourite.svg);

}



@keyframes jump {
    0% {
        transform: translate3d(0, 0, 0);
    }

    40% {
        transform: translate3d(0, -15%, 0);
    }

    100% {
        transform: translate3d(0, -25%, 0);
    }
}

.jump {
    transform-origin: 50% 50%;
    animation: jump .25s linear alternate 4;
    -webkit-animation: jump .25s linear alternate 4;
    -moz-animation: jump .25s linear alternate 4;
    -o-animation: jump .25s linear alternate 4;
}



@media screen and (max-width: 783px) {
    header#site-header .navigation {
        display: none;
    }

    header#site-header .navigation-mobile {
        display: flex;
        justify-content: space-between;
        background-color: var(--color-base-grey);
        height: 9rem;
        z-index: 10;
        flex-wrap: wrap;
    }

    header#site-header .menu {
        display: flex;
        justify-content: flex-start;
        flex: 1 0 25%;
    }

    header#site-header .brand {
        justify-content: center;
    }

    header#site-header .actions {
        justify-content: flex-end;
    }

    header#site-header .actions>a {
        margin: 0 0.25rem;
    }

    header#site-header .search {
        margin-bottom: 1rem;
    }

    header#site-header .logo {
        max-width: 12rem;
        width: 100%;
    }
}






/*
 *
 * Hamburger menu
 *
 */

.hamburger {
    display: flex;
    align-items: center;
    margin: .5rem 0;

    padding: 4px;
    border: none;
    background: none;
    cursor: pointer;
}

.hamburger .icon {
    width: 3rem;
    height: 3rem;
    position: relative;
}

.hamburger .icon .topline {
    height: 1px;
    background-color: var(--color-contrast-light);
    position: absolute;
    top: 1.3rem;
    left: .85rem;
    right: .85rem;
    transition: transform 0.4s;
}

.hamburger .icon .bottomline {
    height: 1px;
    background-color: var(--color-contrast-light);
    position: absolute;
    top: 1.8rem;
    left: .85rem;
    right: .85rem;
    transition: transform 0.4s;
}

.hamburger span {
    font-size: 0.8rem;
    color: var(--color-contrast-light);
}

.hamburger.showMenu .topline {
    transform: translate3d(0px, 0.3rem, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(-135deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
}

.hamburger.showMenu .bottomline {
    transform: translate3d(0px, -0.22rem, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(135deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
}


@media screen and (max-width: 800px) {
    .hamburger span {
        display: none;
    }
}



header#site-header nav {
    position: absolute;
    transition: transform 0.2s;
    z-index: -9999;
    background: var(--color-base-light);
    color: var(--color-contrast-light);
    list-style: none;
    left: max(4rem, calc((100vw - 120rem) / 2 + 4rem));
    bottom: 0;
    /* z-index: -5; */
    max-height: calc(100vh - 8rem);
    min-height: 10rem;
    height: calc(75vh - 8rem);
	transform: translateY(-100%);
}

header#site-header nav.showMenu {
    transform: translateY(100%);
}

header#site-header nav ul {
    list-style: none;
    padding-left: 0;
}

header#site-header nav>ul#menu-mobile {
    display: none;
}



/* Links */
header#site-header nav>ul>li a {
    color: var(--color-contrast-grey);
    line-height: 140%;
    display: block;
    width: 100%;
    font-weight: 300;
    text-decoration: none;
    font-size: 1rem;
    padding: 0.5rem 0;
    font-family: var(--font-special);;
}

header#site-header>ul>li:last-of-type a {
    border-bottom: none;
}

header#site-header nav>ul>li a:hover {
    opacity: 0.75;
}


/* Top level*/
header#site-header nav>ul {
    list-style: none;
    min-width: 20rem;
    margin: 0;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    border-right: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
    overflow: auto;
    height: 100%;
}

header#site-header nav>ul>li>a {
    border-bottom: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
    padding: 0.75rem 0;
}

header#site-header nav>ul>li>a:hover {
    background-position: 97% 52%;
}

header#site-header nav>ul>li:has(.sub-menu)>a::after {
    content: url(assets/images/icon-rarrow.svg);
    text-align: right;
    float: right;
}

header#site-header nav>ul li a:has(.routine-step) {
    display: flex;
    align-items: center;
    /*justify-content: space-between;*/
}

header#site-header nav>ul li .routine-step {
    margin-right: 1rem;
    display: inline-block;
    border: 1px solid var(--color-contrast-light);
    text-decoration: none;
    border-radius: 1rem;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 400;
    white-space: nowrap;
    line-height: 155%;
    text-align: center;
}




/* Other levels */
header#site-header nav>ul#menu-desktop>li>ul.sub-menu {
    width: calc(100vw - 100% - 8rem);
    /* Viewport - main level - padding */
    height: 100%;
    padding: 2rem;
    position: absolute;
    left: 100%;
    top: 0;
    display: none;
    /* flex */
    flex-direction: column;
    background: var(--color-base-light);
}

header#site-header nav>ul#menu-desktop>li>ul.sub-menu .menu-item-has-children a {
    font-weight: 700;
	text-transform: uppercase;
}

header#site-header nav>ul#menu-desktop>li.selected>ul.sub-menu {
    overflow: auto;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}


header#site-header nav>ul li:not(.selected)>ul.sub-menu {
    display: none;
}



@media screen and (max-width: 800px) {
    body:has(nav.showMenu) {
        /* height: 100%; */
        overflow-y: hidden;
    }

    header#site-header nav>ul#menu-desktop {
        display: none;
    }

    header#site-header nav>ul#menu-mobile {
        display: block;
    }

    header#site-header nav {
        width: 100%;
        left: 0;
        height: calc(100dvh - 10rem);
        overflow: hidden;
    }

    header#site-header nav.showMenu {
        transform: translateY(100%);
    }

    header#site-header nav ul {
        width: 100%;
        height: 100%;
        transition: transform 0.4s;
        padding: 2rem 0;
        overflow-y: auto;
    }

    header#site-header nav>ul:has(li.selected) {
        overflow: revert;
    }

    header#site-header nav ul>li {
        padding: 0 2rem;
    }

    header#site-header nav ul>li {
        padding: 0 2rem;
    }

    header#site-header nav>ul>li a {
        border-bottom: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
        padding: 0.75rem 0;
    }

    header#site-header nav>ul li:has(.sub-menu)>a::after {
        content: url(assets/images/icon-rarrow.svg);
        text-align: right;
        float: right;
    }



    header#site-header nav>ul>li ul.sub-menu {
        width: 100%;
        position: absolute;
    }



    header#site-header nav>ul>li ul.sub-menu {
        top: 0;
    }

    header#site-header nav>ul>li>ul {
        left: 100%;
    }

    header#site-header nav>ul>li>ul>li>ul {
        left: 200%;
    }

    header#site-header nav>ul>li>ul>li>ul>li>ul {
        left: 300%;
    }

    header#site-header nav li.selected>.sub-menu {
        overflow-y: auto;
    }

    header#site-header nav li.selected:has(li.selected)>.sub-menu {
        overflow-y: revert;
    }

    header#site-header nav>ul:has(>li.selected) {
        transform: translateX(-100%);
    }

    header#site-header nav>ul>li>ul:has(>li.selected) {
        transform: translateX(-200%);
    }

    header#site-header nav>ul>li>ul>li>ul:has(>li.selected) {
        transform: translateX(-300%);
    }


    header#site-header nav>ul li.back-button {
        display: block;
        font-weight: 800;
        padding: 0.75rem 2rem;
        font-size: 1rem;
        border-bottom: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
    }

    header#site-header nav>ul li.back-button::before {
        content: url(assets/images/icon-larrow.svg);
        width: 2rem;
        display: inline-block;
        vertical-align: -0.15rem;
        cursor: pointer;
    }

}


.nav_menu_background {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    visibility: hidden;
    opacity: 0;
    width: 100vw;
    max-width: 100%;
    height: 100vh;
    margin-right: 0;
    margin-left: 0;
    background-color: rgba(51, 51, 51, 0.4);
    backdrop-filter: blur(6px);
    transition: all 0.4s;
    z-index: 9998;
}

.nav_menu_background.show {
    opacity: 1;
    visibility: visible;
}

.nav_menu_background.fullscreen {
    z-index: 999;
}




/*
 *
 * Minmal header
 *
 */

header#minimal-header {
    display: flex;
    justify-content: center;
    padding-top: 1rem;
}

header#minimal-header img {
    padding: 0.5rem;
    height: 2.5rem;
    width: auto;
}



/*
 *
 * Breadcrumb
 *
 */


#breadcrumb {
    /*background-color: var(--color-secondary);*/
    padding: 0.5rem 0;
}

#breadcrumb nav {
    background-color: initial;
    margin: 0;
}

#breadcrumb nav a {
    text-decoration: underline;
    font-weight: 400;
}



/*
 *
 * Notices
 *
 */
.notices a.button {
	padding: 0 2rem !important;
    height: 2.5rem;
    line-height: 2.5rem !important;
    border-radius: 1.75rem !important;
    font-size: 0.85rem !important;
	
    color: var(--color-base-light) !important;
    background-color: var(--color-contrast-light) !important;
    text-align: center;
    display: inline-block;
    border: none;
    max-width: 100%;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    position: relative;
}



/*
 * 
 * Sidebar 
 * 
 */

aside#sidebar {
    width: 25%;
    position: fixed;
    transform: translateX(-100%);
    transition: transform 0.4s;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: var(--color-base-light);
    color: white;
    list-style: none;
    padding: 5rem 1rem 1rem 1rem;
    overflow-y: scroll;
}

aside#sidebar.showSidebar {
    transform: translateX(0);
}

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

    aside#sidebar {
        width: 100%;
        padding: 1rem;
    }

}




/*
 * 
 * Cart
 * 
 */


aside#cart {
    width: 30%;
    position: fixed;
    transform: translateX(100%);
    transition: transform 0.4s;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: var(--color-base-light);
    color: white;
    list-style: none;
    padding: 1rem 0;
    color: var(--color-contrast-light);
}

aside#cart.showSidebar {
    transform: translateX(0);
}

body:has(aside#cart.showSidebar) {
    overflow: hidden;
}

aside#cart form {
    height: 100%;
}

aside#cart .cart_container {
    display: flex;
    flex-direction: column;
    height: 100%;
}

aside#cart .cart_container>* {
    padding-left: 2rem;
    padding-right: 2rem;
}

@media screen and (max-width: 783px) {
    aside#cart {
        height: 100dvh;
        width: 100vw;
        left: 0;
    }

    aside#cart .cart_container>* {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}


aside#cart .shipping>p {
    font-size: 0.8rem;
}

aside#cart .shipping .progress-bar {
    background-color: white;
    width: 100%;
    height: 0.25rem;
    border-radius: 0.125rem;
    margin-top: 1rem;
}

aside#cart .shipping .progress-bar>div {
    background-color: var(--color-contrast-light);
    height: 100%;
    border-radius: 0.125rem;
}


.woocommerce-message,
aside#cart section.notices>* {
    margin-bottom: 0;
    background-color: transparent;
    border-top: none;
    padding: 0.5rem 0 0.5rem 2rem;
}

.woocommerce-message::before,
aside#cart section.notices>*::before {
    top: 0.5rem;
    left: 0.5rem;
}

aside#cart section.content {
    flex: 1;
    overflow-y: auto;
}

aside#cart section.content ul {
    list-style: none;
    padding-left: 0;
}

aside#cart section.content ul li.cart_item {
    display: flex;
    gap: 1rem;
    margin: 1rem 0;
}

aside#cart section.content ul li.cart_item::before {
    content: none;
}

aside#cart section.content ul li.cart_item::after {
    content: none;
}

aside#cart section.content ul li.cart_item .image {
    flex: 0 0 20%;
}

aside#cart section.content ul li.cart_item .image img {
    width: 100%;
    height: auto;
    max-width: 100%;
}

aside#cart section.content ul li.cart_item .info {
    flex-grow: 1;
    line-height: 1;
}

aside#cart section.content ul li.cart_item .info>.brand {
    font-size: 0.8rem;
    vertical-align: top;
}

aside#cart section.content ul li.cart_item .info>.title {
    text-decoration: none;
    display: block;
    font-weight: 700;
}

aside#cart section.content ul li.cart_item .item_total {
    flex: 1 0;
    text-align: right;
    padding-right: 2rem;
}

aside#cart section.content ul li.cart_item .item_total .amount {
    font-weight: 600;
    font-size: 0.8rem;
}

aside#cart section.content ul li.cart_item .item_total del .amount {
    font-weight: 400;
}

aside#cart section.content ul li.cart_item .item_total ins {
    text-decoration: none;
}

aside#cart section.content ul li.cart_item .item_price {
    margin-right: 1rem;
    margin-left: 2rem;
}

aside#cart section.content ul li.cart_item .item_price .awdr_cart_strikeout_line {
    display: inline-block;
}

aside#cart section.content ul li.cart_item .actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    margin-top: 0.5rem;
}

aside#cart section.content ul li.cart_item .actions .quantity input {
    height: 2.5rem;
    min-width: 5rem;
    box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -webkit-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -moz-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    appearance: none;
    -webkit-appearance: none;
    border-radius: 1.25rem;
    padding: 0 0.5rem 0 1rem;
    font-size: 1rem;
    text-align: left;
}

aside#cart section.content ul li.cart_item .actions a {
    color: var(--color-contrast-light) !important;
    text-decoration: underline;
    font-weight: 400;
    font-size: 0.8rem;
    width: auto !important;
}

aside#cart section.content ul li.cart_item .actions a:hover {
    background: none;
}

aside#cart section.content ul li.cart_item .purchase_note {
	font-size: 0.75rem;
	text-align: right;
}


aside#cart section.content ul li.skinclub {
    /*background: linear-gradient(85.68deg, #FFFCE4 2.75%, #F5FFE8 96.85%);*/
    background-color: var(--color-primary) !important;
    display: block;
    padding: 1rem;
    margin: 2rem 0 1rem 0;
}

aside#cart section.content ul li.skinclub span {
    font-weight: 600;
}

aside#cart section.content ul li.skinclub p {}

aside#cart section.content ul li.skinclub .info ul {
    line-height: 1;
    font-weight: 300;
    padding-left: 1rem;
    margin: 1rem 0;
}

aside#cart section.content ul li.skinclub .info ul li {
    list-style: disc;
    padding: 0;
}

aside#cart section.content ul li.skinclub .info ul li::before {
    display: none;
}

aside#cart section.content ul li.skinclub .actions {
    display: flex;
    padding-top: 0.5rem;
}

aside#cart section.content ul li.skinclub .button {
    padding: 0 1rem !important;
    height: 2rem;
    line-height: 2rem !important;
    border-radius: 1rem !important;
    font-size: 0.8rem;
    color: var(--color-base-light) !important;
    background-color: var(--color-contrast-light) !important;
    text-align: center;
    text-decoration: none;
}

/*aside#cart section.content ul li.skinclub .button.login,
aside#cart section.content ul li.skinclub .button.more {
	color: var(--color-contrast-light) !important;
	background-color: var(--color-base-light) !important;
	border: solid 0.25rem var(--color-primary) !important;
	line-height: 1.5rem !important;
}*/

aside#cart section.content ul li.campaign {
    background-color: var(--color-secondary) !important;
    padding: 1rem 1rem 1rem 0;
    margin: 2rem 0 1rem 0;
    display: flex;
    gap: 1rem;
    margin: 1rem 0;
    align-items: center;
    justify-content: space-between;
}

aside#cart section.content ul li.campaign .image {
    flex: 0 0 20%;
}

aside#cart section.content ul li.campaign .image img {
    width: 100%;
    height: auto;
    max-width: 100%;
}

aside#cart section.content ul li.campaign .info {
    flex-grow: 1;
    line-height: 1;
}

aside#cart section.content ul li.campaign .info>span {
    font-weight: 700;
}

aside#cart section.content ul li.campaign .info>p {}

aside#cart footer {
    padding: 1rem 2rem 0 2rem;
}

#cart footer .coupons {
    margin-bottom: 1rem;
}

aside#cart footer .coupons #coupon-field {
    position: relative;
    margin: 1rem 0;
}

aside#cart footer .coupons .show_coupon {
    color: var(--color-contrast-light) !important;
    text-decoration: underline;
    font-weight: 400;
    font-size: 0.8rem;
    cursor: pointer;
}

aside#cart footer .coupons .woocommerce-remove-coupon {
    color: var(--color-contrast-light) !important;
    text-decoration: underline;
    font-weight: 400;
    font-size: 0.8rem;
    width: auto !important;
}

aside#cart footer input[type=text] {
    width: 100%;
    height: 3rem;
    border: none;
    box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -webkit-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -moz-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    appearance: none;
    -webkit-appearance: none;
    border-radius: 1.5rem;
    padding: 0 1rem;
    font-size: 1rem;
}

aside#cart footer input[type=submit] {
    position: absolute;
    right: 0;
    height: 3rem;
    width: 6rem;
    cursor: pointer;
    border: none;
    border-radius: 1.5rem;
    font-size: 1rem;
    color: var(--color-base-light);
    padding: 0 !important;
    transform: scale(0.75);
    background-color: var(--color-contrast-light);
}


aside#cart footer .totals {
    padding-bottom: 1rem;
}

aside#cart footer .totals>* {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
}

aside#cart footer .totals strong {
    font-weight: 600;
}

aside#cart footer .total {}

aside#cart footer .button {
    display: inline-block;
    text-align: center;
    padding: 0.618rem 2rem !important;
    height: 3rem;
    line-height: 1.75rem !important;
    border-radius: 2rem !important;
    font-size: 1rem;
    color: var(--color-base-light) !important;
    background-color: var(--color-contrast-light) !important;
    width: 100%;
    text-decoration: none;
}



aside header {
    display: flex;
    justify-content: space-between;
    color: var(--color-contrast-light);
}

aside .close {
    /*width: 3rem;
	height: 3rem;
	cursor: pointer;
	flex: 0 auto;
	justify-content: center;
	align-self: auto;
	align-items: center;
	margin: .5rem 0;
	padding: 0;*/

    display: flex;
    align-items: center;
    margin: .5rem 0;

    padding: 4px;
    border: none;
    background: none;
    cursor: pointer;
}

aside .close .icon {
    width: 3rem;
    height: 3rem;
    position: relative;
}

aside .close .icon .topline {
    height: 1px;
    background-color: var(--color-contrast-light);
    position: absolute;
    top: 1.3rem;
    left: .85rem;
    right: .85rem;
    transition: transform 0.4s;
    transform: translate3d(0px, 0.3rem, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(-135deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
}

aside .close .icon .bottomline {
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 1.8rem;
    left: .85rem;
    right: .85rem;
    transition: transform 0.4s;
    transform: translate3d(0px, -0.22rem, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(135deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
}

aside .close span {
    font-size: 0.8rem;
    color: var(--color-contrast-light);
}



/*
 * 
 * Payment logos 
 * 
 */

.payment-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0 0 0;
}

.payment-logos>img {
    max-width: 4rem !important;
    height: auto
}



aside#cart footer .minicart-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0 0 0;
}

aside#cart footer .minicart-logos>img {
    max-width: 4rem !important;
    height: auto !important;
}








/* Gutenberg and WP */









/* WooCommerce */

.woocommerce .star-rating {
    width: 6.15em;
	height: 1.2em;
	letter-spacing: 0.15em;
}

.woocommerce .star-rating::before {
	content: "SSSSS";
	/*color: var(--color-primary);*/
	color: transparent;
	-webkit-text-stroke-width: 0.75px;
	-webkit-text-stroke-color: var(--color-contrast-light);
}

.woocommerce-pagination ul {
    display: flex !important;
    justify-content: center;
    gap: 0.5rem;
    border: none !important;
    margin: 0 !important;
    max-width: 100%;
    overflow: hidden;
}

.woocommerce-pagination ul li {
    background-color: var(--color-base-light) !important;
    border-radius: 1rem;
    border: 2px solid var(--color-contrast-light) !important;
    ;
    font-weight: 600 !important;
    padding: 0.25rem !important;
    white-space: nowrap;
    height: 2rem;
    min-width: 2rem !important;
    padding: 0 !important;
}

.woocommerce-pagination ul li span,
.woocommerce-pagination ul li a {
    line-height: calc(2rem - 4px) !important;
    padding: 0 !important;
}

.woocommerce-pagination ul li span.current {
    background-color: var(--color-contrast-light) !important;
    color: var(--color-base-light) !important;
}

.woocommerce-breadcrumb {
    padding: 1rem 0;
    background-color: var(--color-secondary);
}

ins {
    text-decoration: none;
}



.woocommerce-checkout .woocommerce {
    max-width: 640px;
    margin: auto;
}

.woocommerce-checkout main {
    padding-top: 1rem;
}

.woocommerce-checkout .woocommerce #kco-wrapper {
    padding: 0;
}

.woocommerce-checkout .woocommerce #kco-order-review {
    display: none;
}

.woocommerce-checkout .woocommerce #kco-iframe {
    padding-left: 0;
}

.woocommerce-checkout .woocommerce form.checkout .col-1 {
	width: 100%;
}
.woocommerce-checkout .woocommerce form.checkout .col-2 {
    display: none;
}

.woocommerce-checkout .woocommerce form.checkout .woocommerce-billing-fields .billing_country_field,
.woocommerce-checkout .woocommerce form.checkout .woocommerce-billing-fields .billing_company_field,
.woocommerce-checkout .woocommerce form.checkout .woocommerce-billing-fields h3{
    display: none;
}


.woocommerce-checkout .woocommerce .woocommerce-info {
    display: none;
}

.woocommerce-checkout .woocommerce .checkout_coupon {
    display: block !important;
    border: 1px solid rgb(147, 150, 154);
    margin: 0 15px;
    border-radius: 8px;
	padding: 0.5rem;
}

.woocommerce-checkout .woocommerce .checkout_coupon .form-row {
	margin: 0;
}

.woocommerce-checkout .woocommerce .ss-checkout-message {
	display: block !important;
	margin: 1rem 15px 1rem 15px;
	border-radius: 8px;
	padding: 0.5rem;
	/* border: 1px solid rgb(147, 150, 154); */
	/* background-color: rgba(255, 186, 0, 0.65); */
	background-color: rgba(255, 182, 0, 0.36);
	border: 1px solid rgb(147, 150, 154);
}
.woocommerce-checkout .woocommerce .ss-checkout-message p {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
}
.woocommerce-checkout .woocommerce .ss-checkout-message p:last-of-type {
    margin-bottom: 0;
}

.woocommerce-checkout .woocommerce .checkout_coupon .form-row-last {
    text-align: right;
}

/*
.woocommerce-checkout .woocommerce .checkout_coupon p:first-of-type {
    display: none;
}
*/


/*
 *
 * WooCommerce - My Account
 *
 */
 
 
@media screen and (max-width: 800px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    .woocommerce-account nav.woocommerce-MyAccount-navigation {
		margin-bottom: 4rem;
	}
}



.woocommerce-account .woocommerce {
    display: flex;
    justify-content: space-between;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation {
	width: 20%;
	min-width: fit-content;
    float: none;
    /*background-color: var(--color-secondary);*/
	list-style: none;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-content {
	width: 80%;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul {
    margin: 0;
	list-style: none;
	padding: 0;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a {
    font-weight: 400;
	text-decoration: none;
	font-size: 1.15rem;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active a {
    font-weight: 600;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 2rem;
}

.woocommerce-account div.woocommerce-MyAccount-content {
    /* width: 85%; */
    float: none;
}


@media screen and (max-width: 800px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    .woocommerce-account nav.woocommerce-MyAccount-navigation {}
}

.woocommerce-account .skinclub-info {
    background-color: var(--color-primary);
    padding: 2rem;
    text-align: center;
}

.woocommerce-account .skinclub-info .points {
    font-weight: 800;
}

.woocommerce-account section {
    margin-bottom: 2rem;
}

.woocommerce-account .processing-orders {
    padding-top: 2rem;
}

.woocommerce-account .processing-orders table {
    width: 100%;
}

.woocommerce-account .processing-orders table tbody td,
.woocommerce-account .processing-orders table thead th {
    text-align: left;
    vertical-align: top;
}

.woocommerce-account .processing-orders table tbody td:last-of-type,
.woocommerce-account .processing-orders table thead th:last-of-type {
    text-align: right;
}

.woocommerce-account .processing-orders table tbody td.id a {
    font-weight: 800;
}

.woocommerce-account .processing-orders table tbody td.items a {
    font-weight: 400;
}

.woocommerce-account .mycred-history-wrapper table th {
    text-align: left;
    font-weight: 800;
    padding-right: 1rem;
    padding-bottom: 1rem;
}

.woocommerce-account .mycred-history-wrapper table td {
    padding-right: 1rem;
    padding-bottom: 1rem;
}



/*
 *
 * Page Template - WP Bakery
 *
 */
.page-template-ss-wp-bakery main {
    margin: 0;
    padding: 0;
}

.page-template-ss-wp-bakery footer#site-footer {
    margin: 0;
}


main .wpb-content-wrapper {
    overflow: hidden;
}



/*
 *
 * Iver WP Bakery CSS
 *
 */
.display_inline {
    display: inline-block;
}

.white_text {
    color: white;
}










/**
 *
 * Template - SS Simple text
 *
 */

.page-template-ss-simple-text main>.container {
    max-width: 50rem;
}

.page-template-ss-simple-text main h1 {
    font-size: 2rem;
}









/*
 *
 * Single Template - Product
 *
 */


.product-template-default article>#general {
    display: flex;
    align-items: flex-start;
    gap: 3rem;
}

.product-template-default article #general .image {
    flex: 0 0 35%;
    margin-left: 10%;
    position: sticky;
    top: 7rem;
}

.product-template-default article #general .image ol {
    list-style: none;
}

.product-template-default article .image .left-arrow {
    width: 15px;
    height: 15px;
    clear: none;
    opacity: 1;
    text-transform: none;
    background-image: url(assets/images/arrow-left-dark.svg);
    background-position: 99% 55%;
    background-repeat: no-repeat;
    background-size: 13px;
    padding-right: 1rem;
    text-decoration: none;
    display: inline-block;
}

.product-template-default article .image .right-arrow {
    width: 15px;
    height: 15px;
    clear: none;
    opacity: 1;
    text-transform: none;
    background-image: url(assets/images/arrow-right-dark.svg);
    background-position: 99% 55%;
    background-repeat: no-repeat;
    background-size: 13px;
    padding-right: 1rem;
    text-decoration: none;
    display: inline-block;
}

.product-template-default article .image .yith-wcwl-add-to-wishlist {
    display: none;
}






.product-template-default article #general .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    width: 25%;
    float: left;
    margin-right: 0;
}

.product-template-default article .info {
    flex: 0 0 40%;
    margin-right: 10%;
}

.product-template-default article .info section {
    border-bottom: 1px solid rgba(34, 34, 34, .4);
    margin-bottom: 16px;
    padding-top: 0;
    padding-bottom: 1.5rem;
}

.product-template-default article .info h1 {
    margin-bottom: 0;
	font-weight: 700;
}


.product-template-default article .info .brand {
    display: flex;
    justify-content: space-between;
}

.product-template-default article .info .brand a {
    line-height: 155%;
    font-weight: 400;
}

.product-template-default article .info .brand .name {
    font-weight: 500;
    text-decoration: none;

}

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

    #breadcrumb,
    .woocommerce-breadcrumb {
        display: none;
    }

    .product-template-default article #general .image {
        position: relative;
        top: revert;
    }

    .product-template-default article>#general {
        display: block;
    }

    .product-template-default article #general .image {
        margin-left: 0 !important;
        margin-top: 0;
    }

    .product-template-default article #general .image .flex-control-nav {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1rem;
        padding: 0.5rem 0 0 0;
        margin: 0;
    }

    .product-template-default article #general .image .flex-control-nav li {
        width: unset !important;
        ;
        margin: unset !important;
        ;
        float: none !important;
        ;
    }

    .product-template-default article #general .image .flex-control-nav li img {
        display: none
    }

    .product-template-default article #general .image .flex-control-nav li:before {
        content: '';
        border: 1px solid var(--color-contrast-light);
        border-radius: 50%;
        width: 0.5rem;
        height: 0.5rem;
        display: block;
    }

    .product-template-default article #general .image .flex-control-nav li:has(img.flex-active):before {
        background: var(--color-contrast-light);
    }

    .product-template-default article .image .yith-wcwl-add-to-wishlist {
        display: none;
        position: absolute;
        right: 1rem;
        bottom: 1rem;
    }




    .product-template-default article .info {
        clear: left;
        margin: 0;
        padding: 1rem 0 0 0;
    }

    .product-template-default article .info form.cart,
    .product-template-default article .info .price,
    .product-template-default article .info .stock {
        display: none;
    }
}


.product-template-default article .info .woocommerce-product-rating {
    margin-bottom: 1rem;
}

.product-template-default article .info .price-and-availability {
	display: flex;
	justify-content: space-between;
	align-content: center;
}

.product-template-default article .info .price-and-availability .iworks-omnibus {
	margin-bottom: 0;
}
.product-template-default article .info .price-and-availability p:empty {
	display:  none;
} 
.product-template-default article .info #skinsecret-price-info-toggle {
	font-size: 0.75rem;
	display: block;
}
.product-template-default article .info #skinsecret-price-info {
	display: none;
	background-color: var(--color-base-grey);
	padding: 1rem;
}

.product-template-default article .info .purchase_note {
	font-size: 0.75rem;
	display: block;
	background-color: var(--color-base-grey);
	padding: 1rem;
	margin-top: 1rem;
}

.product-template-default article .info section.variations>div.content {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding-right: 1rem;
}

.product-template-default article .woocommerce-variation.single_variation {
    border-bottom: 1px solid rgba(34, 34, 34, .4);
    margin-bottom: 16px;
    padding-top: 0;
    padding-bottom: 1.5rem;
}

.product-template-default article.product-type-bundle form.cart .cart,
.product-template-default article .woocommerce-variation-add-to-cart,
.product-template-default article.product-type-simple form.cart,
.product-template-default article.product-type-external form.cart {
    padding: 1rem 0;
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}

.product-template-default article.product-type-bundle form.cart .cart.bundle_data::after {
    display: none;
    content: none;
    clear: none;
}

.product-template-default article form.cart .quantity {
    display: none !important;
}

.product-template-default article .woocommerce-variation-add-to-cart input,
.product-template-default article.product-type-simple .cart input {
    width: 5rem !important;
}

.product-template-default article.product-type-bundle .bundle_wrap,
.product-template-default article.product-type-simple .single_add_to_cart_button,
.product-template-default article.product-type-variable .single_add_to_cart_button,
.product-template-default article.product-type-external .single_add_to_cart_button {
    flex: 0 1 75%;
}

.product-template-default article.product-type-bundle .bundle_wrap .single_add_to_cart_button {
    width: 100%;
}


/*.product-template-default article.product-type-bundle .single_add_to_cart_button, 
.product-template-default article .single_add_to_cart_button {
	width: 75%;
	height: 3rem;
	border-radius: 1.5rem !important;
	font-size: 1rem;
	color: var(--color-base-light) !important;
	background-color: var(--color-contrast-light) !important;
}*/


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

    .product-template-default article .info form.cart,
    .product-template-default article .info .price,
    .product-template-default article .info .stock {
        display: none;
    }
}

.product-template-default article .yith-wcwl-add-to-wishlist {
    margin-top: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 1.5rem;
    font-size: 1rem;
    color: var(--color-contrast-light) !important;
    border: 1px solid var(--color-contrast-light) !important;
    background: transparent url(assets/images/icon-favourite.svg);
    background-position: center;
    background-repeat: no-repeat;
}

.product-template-default article .yith-wcwl-add-to-wishlist.exists {
    background-color: var(--color-primary);
    border: none !important;
    ;
}

.product-template-default article .yith-wcwl-add-to-wishlist div,
.product-template-default article .yith-wcwl-add-to-wishlist a {
    width: 100%;
    height: 100%;
    display: inline-block;
    line-height: 0;
    font-size: 0;
    color: transparent;
}

.product-template-default article .yith-wcwl-add-to-wishlist a>* {
    display: none;
}

.product-template-default article .yith-wcwl-add-to-wishlist span,
.product-template-default article .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse,
.product-template-default article .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse,
.product-template-default article .yith-wcwl-add-to-wishlist .view-wishlist {
    display: none;
}





.product-template-default article .price {
    display: inline-block;
    font-weight: 500;
    font-size: 1.5rem;
    margin: 1rem 0 0 0;
	color: var(--color-contrast-light);
}

.product-template-default article .price del {
    opacity: 0.5;
}

.product-template-default article .info .tags>* {
    display: inline-block;
}

.product-template-default article .contents {
    display: inline-block;
    border: 1px solid var(--color-contrast-light);
    text-decoration: none;
    border-radius: 1rem;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 400;
    white-space: nowrap;
    line-height: 155%;
    text-align: center;
}

.product-template-default article .memberprice {
    font-size: 0.75rem;
    line-height: 1rem;
    background-color: var(--color-primary);
    border-radius: 0.75rem;
    padding: 0.15rem 0.5rem;
    display: inline-block;
    width: fit-content;
}

.product-template-default article .stock {
    display: inline-block;
    line-height: 1.5rem;
    margin: 1rem 0 0 1rem;
    line-height: 2.325rem;
}

.product-template-default article .stock.out-of-stock {
    color: var(--color-danger);
}

.product-template-default article .stock.out-of-stock::before {
    display: inline-block;
    content: url(assets/images/icon-delete.svg);
    vertical-align: 0.1rem;
    margin-right: 0.5rem;
    /* filter: invert(8%) sepia(91%) saturate(6992%) hue-rotate(12deg) brightness(99%) contrast(112%); */
}

.product-template-default article .stock.in-stock {
    color: var(--color-success);
}

.product-template-default article .stock.in-stock::before {
    display: inline-block;
    content: url(assets/images/icon-check.svg);
    vertical-align: 0.1rem;
    margin-right: 0.5rem;
    filter: invert(37%) sepia(69%) saturate(6316%) hue-rotate(124deg) brightness(94%) contrast(81%);
}

.product-template-default article .stock-notifier-subscribe-form button:hover {
    background-color: revert;
}

.product-template-default article .hightlights {
    background-color: var(--color-base-light));
    padding: 2rem;
    margin: 2rem 0;
}

.product-template-default article .hightlights h2 {
    margin-top: 0;
}

.product-template-default article .highlights {
    padding: 1rem 0;
}

.product-template-default article .highlights div {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(5, 1fr);
}

.product-template-default article .woocomerce-tabs {
    padding: 1rem 0;
}

.product-template-default article .drawer {
    width: 100%;
    border-bottom: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
    font-weight: 300;
    padding: 0.75rem 0;
}

.product-template-default article .drawer>h2 {
    font-size: 1rem;
    margin: 0;
    padding: 1rem 0;
    cursor: pointer;
}

.product-template-default article .drawer>h2::after {
    content: url(assets/images/icon-add.svg);
    text-align: right;
    float: right;
}

.product-template-default article .drawer>div {
    display: none;
    border-top: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
    /*margin-top: 0.75rem;*/
    /*padding-top: 0.75rem;*/
}

.product-template-default article .drawer.show>div {
    display: block;
    border-top: none;
}

.product-template-default article .description_tab>div h2 {
    display: none;
}



.product-template-default article #shop-helper {
    display: none;
}

@media screen and (max-width: 783px) {
    .product-template-default article #shop-helper {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100vw;
        background-color: var(--color-base-grey);
        padding: 1rem;
        box-sizing: border-box;
        z-index: 999;
    }

    .product-template-default article #shop-helper .price {
        margin-right: 0.5rem;
    }

    .product-template-default article #shop-helper p {
        margin-bottom: 0;
    }

    .product-template-default article #shop-helper .iworks-omnibus {
        font-size: 0.75rem;
        margin-bottom: 0;
        margin-left: 0;
    }

    .product-template-default article #shop-helper .woocommerce-product-rating {
        display: inline-block;
        margin: 0;
    }

    .product-template-default article #shop-helper .woocommerce-product-rating a.woocommerce-review-link {
        display: none;
    }

    .product-template-default article #shop-helper .price,
    .product-template-default article #shop-helper .stock {
        margin-top: 0;
    }

    .product-template-default article #shop-helper .cart {
        padding: 0;
    }

    .product-template-default article #shop-helper button {
        border-radius: 2rem !important;
        height: 3rem !important;
    }

}

.product-template-default article #related,
.product-template-default article #brand,
.product-template-default article #comments {
    padding: 3rem 0;
}

.product-template-default article #brand {
    display: flex;
    gap: 2rem;
}

.product-template-default article #brand>.image {
    flex: 0 0 50%;
}

.product-template-default article #brand>.image img {
    height: 100%;
    object-fit: cover;
}

.product-template-default article #brand>.info {
    flex: 0 0 40%;
    margin-right: 10%;
}

.product-template-default article #brand h2 {
    font-weight: 800;
    font-size: 1.65rem;
    margin-top: 0;
}

.product-template-default article #brand>.info .content {
    line-height: 1.5;
}

.product-template-default article #brand .button {
    margin-top: 3rem;
    /*padding: 0 2rem !important;
	height: 4rem;
	line-height:4rem !important;
	border-radius: 2rem !important;
	font-size: 1rem;
	color: var(--color-base-light) !important;
	background-color: var(--color-contrast-light) !important;*/
}

@media screen and (max-width: 783px) {
    .product-template-default article #brand {
        flex-wrap: wrap;
        gap: 0;
    }

    .product-template-default article #brand>.image {
        flex: 0 0 100%;
    }

    .product-template-default article #brand>.info {
        flex: 0 0 100%;
        margin: 0;
    }
}

.product-template-default article #reviews {
    padding: 1rem 0;
}

.product-template-default article #reviews .product-rating {
    background-color: var(--color-base-grey);
    padding-top: 2rem;
}

.product-template-default article #reviews .product-rating .product-rating-summary {
    width: 50%;
}

.product-template-default article #reviews .product-rating .product-rating-summary .rating {
    font-size: 3rem;
}

.product-template-default article #reviews .product-rating .product-rating-summary .title {
    font-size: 2rem;
}

.product-template-default article #reviews .product-rating .product-rating-summary .review_count {
    /*color: var(--color-base-grey);*/
    opacity: 0.75;
}

.product-template-default article #reviews .product-rating .product-rating-details {
    width: 50%;
    padding-right: 2rem;
}

.product-template-default article #reviews .product-rating .product-rating-details .rating-graph a {
    background-color: var(--color-primary) !important;
}

.product-template-default article #reviews .contribution-type-selector {
    display: flex;
    justify-content: space-evenly;
    margin: 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
    background-color: var(--color-base-grey);
}

.product-template-default article #reviews #review_form_wrapper,
.product-template-default article #reviews #question_form_wrapper {
    background-color: var(--color-base-grey);
}

.product-template-default article #reviews #review_form_wrapper #review_title_field {
    display: none !important;
}

.product-template-default article #reviews #review_form_wrapper #review_rating_field fieldset label {
    color: var(--color-primary) !important;
}

.product-template-default article #reviews #comments .contributions-filter {
    float: none;
}

.product-template-default article #reviews #comments .commentlist {
    padding-left: 0;
}

.product-template-default article #reviews #comments .commentlist li {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
}

.product-template-default article #reviews #comments .commentlist li ul.children {
    margin-top: 0 !important;
}

.product-template-default article #reviews #comments .comment_container {
    background-color: var(--color-base-grey);
    margin: 1rem 0;
}

.product-template-default article #reviews #comments .commentlist .contribution-karma {
    display: none;
}

.product-template-default article #reviews #comments .commentlist .comment-text {
    margin-left: 0 !important;
    border: none !important;
}

.product-template-default article #reviews #comments .commentlist .comment-text .contribution-actions,
.product-template-default article #reviews #comments .commentlist .comment-text .contribution-flag-form {
    display: none !important;
}

.product-template-default article #reviews #comments .commentlist .comment-text h3 {
    font-size: 0.75rem;
    margin-bottom: 0;
}

.product-template-default article #reviews #comments .commentlist .comment-text .meta {
    margin-bottom: 0;
}

.product-template-default article #reviews #comments .commentlist .comment-text .meta:has(em.verified)::after {
    content: url(assets/images/icon-verified.svg);
    text-align: right;
    float: right;
}

.product-template-default article #reviews #comments .commentlist .comment-text .contribution-review-qualifiers>p {
    display: inline-block;
    background-color: var(--color-primary) !important;
    border: 1px var(--color-base-light) solid;
    border-radius: 1rem;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
}

.product-template-default article #reviews #comments .commentlist .comment-text .contribution-review-qualifiers>p>strong {
    font-weight: 600;
}

.product-template-default article #reviews #comments .commentlist form {
    margin-left: 0 !important;
}


.product-template-default article #reviews #comments .commentlist .comment-text .notifications.subscribe {
    display: none;
}

.product-template-default article #reviews #comments .woocommerce-noreviews {
    text-align: center;
}

/*
 *
 * Template - Brand
 *
 */

.tax-pwb-brand main {
    margin: 0;
    padding: 0;
}

.tax-pwb-brand main .reviews {
    margin: 2rem -4rem;
    padding: 3rem 2rem;
    background-color: var(--color-secondary);
}

@media screen and (max-width: 783px) {
    .tax-pwb-brand main .reviews {
        margin: 2rem -1rem;
    }
}

.tax-pwb-brand main .reviews .summary {
    width: 100%;
    text-align: center;
    padding-bottom: 2rem;
}

.tax-pwb-brand main .reviews .summary .rating {
    font-size: 3rem;
    line-height: 1;
    margin: 0;
}

.tax-pwb-brand main .reviews .summary .star-rating {
    float: none;
    margin: auto;
    margin-top: 0.5rem;
}

.tax-pwb-brand main .reviews .summary p {
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 1rem;
}

.tax-pwb-brand main .reviews .list {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    overflow-x: auto;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

.tax-pwb-brand main .reviews .list::-webkit-scrollbar {
    display: none;
}

.tax-pwb-brand main .reviews .list {}

.tax-pwb-brand main .reviews .review {
    min-width: 20rem;
    max-width: 25rem;
    background-color: var(--color-base-light);
    padding: 3rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tax-pwb-brand main .reviews .review .content {
    line-height: 1.5;
    margin-bottom: 1rem;
    margin-top: 1.5rem;
    font-size: 0.8rem;
    font-style: italic;
    quotes: "“" "”" "‘" "’";
}

.tax-pwb-brand main .reviews .review .content::before {
    content: open-quote;
}

.tax-pwb-brand main .reviews .review .content::after {
    content: close-quote;
}

.tax-pwb-brand main .reviews .review .author {
    font-weight: 600;
    font-size: 0.8rem;
}



.tax-pwb-brand main .related-posts {
    margin: 2rem -4rem;
    padding: 3rem 2rem;
    background-color: var(--color-secondary);
}

.tax-pwb-brand main .related-posts h2 {
    text-align: center;
}

.tax-pwb-brand main .related-posts .list {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    overflow-x: auto;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

.tax-pwb-brand main .related-posts .list::-webkit-scrollbar {
    display: none;
}

.tax-pwb-brand main .related-posts .list a {
    text-decoration: none;
}

.tax-pwb-brand main .related-posts .post {
    min-width: 40rem;
    aspect-ratio: 16 / 10;
    background-color: var(--color-base-light);
    padding: 1rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-size: cover;
}

.tax-pwb-brand main .related-posts .post .content {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    height: 100%;
    color: var(--color-base-light);
}

.tax-pwb-brand main .related-posts .post .content .tax-pwb-brand main .highlights {
    text-align: center;
    padding: 3rem 0;
}

.tax-pwb-brand main .highlights h2 {
    text-align: center;
}

.tax-pwb-brand main .highlights .list {
    display: flex;
    justify-content: space-evenly;
}

.tax-pwb-brand main .faq {
    max-width: 50rem;
    margin: auto;
    padding: 3rem 0;
}

.tax-pwb-brand main .faq .drawer {
    width: 100%;
    border-bottom: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
    font-weight: 300;
    padding: 0.75rem 0;
}

.tax-pwb-brand main .faq .drawer>h3 {
    font-size: 1rem;
    margin: 0;
    padding: 1rem 0;
    cursor: pointer;
}

.tax-pwb-brand main .faq .drawer>h3::after {
    content: url(assets/images/icon-add.svg);
    text-align: right;
    float: right;
}

.tax-pwb-brand main .faq .drawer>div {
    display: none;
    border-top: 1px solid color-mix(in srgb, var(--color-contrast-light) 10%, white);
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.tax-pwb-brand main .faq .drawer.show>div {
    display: block;
}

.tax-pwb-brand main .faq .description_tab>div h2 {
    display: none;
}


@media screen and (max-width: 783px) {
    .tax-pwb-brand main .related-posts {
        margin: 2rem -1rem;
    }
}




/**
 *
 * Template - Single Post
 *
 */

.post-template-default main article .poster {}

.post-template-default main article .poster img {
    max-width: 100%;
    height: auto;
}

.post-template-default main article .title,
.post-template-default main article .content {
    max-width: 40rem;
    margin: auto;
}

.post-template-default main article .title {
    text-align: center;
    margin-bottom: 2rem;
}

.post-template-default main article .title h1 {
    font-size: 2.5rem;
    margin-bottom: 0;
}

/* Product grid overview */
.post-template-default main article ul.products {
    gap: 1rem;
}

.post-template-default main article ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr);
}

.post-template-default main article ul.products.columns-5 {
    grid-template-columns: repeat(2, 1fr);
}

.post-template-default main article ul.products li .image img {
    width: 50%;
}



@media screen and (max-width: 800px) {
    .post-template-default main article .poster {
        margin: 0 -1rem;
    }
}





/**
 * 
 * Listing 
 * 
 */


main .filters {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
}

main .filters .wcpf-filter-notes .wcpf-note-item {
    padding: 0 2rem !important;
	height: 2.5rem;
	line-height: 2.5rem !important;
	border-radius: 1.75rem !important;
    font-size: 1rem;
    color: var(--color-base-light) !important;
    background-color: var(--color-contrast-light) !important;
    text-align: center;
}

main .filters .wcpf-filter-notes .wcpf-note-list .wcpf-note-item .remove-filter {
	height: 95%;
	padding: 0 !important;
}
main .filters .wcpf-filter-notes .wcpf-note-list .wcpf-note-item .remove-filter::before {
	width: 1rem;
	background-color: var(--color-base-light) !important;
}
main .filters .wcpf-filter-notes .wcpf-note-list .wcpf-note-item .remove-filter::after {
	width: 1rem;
	background-color: var(--color-base-light) !important;
}

main .filters .wcpf-filter-notes span {
    color: var(--color-base-light) !important;
}

main .filters .wcpf-filter-notes button {
    padding: 0 2rem !important;
    height: 3rem;
    line-height: 3rem !important;
    border-radius: 2rem !important;
    font-size: reset;
    color: var(--color-base-light) !important;
    background-color: reset;
    text-align: center;
}

body main .filters .button,
body main .filters select {
    background-color: transparent !important;
    color: var(--color-contrast-light) !important;
    padding: 0 !important;
}

@media screen and (min-width: 800px) {
    body main .filters #filterButton {
        display: none;
    }
}

body main .filters .button::after {
    display: inline-block;
    content: url(assets/images/icon-filter.svg);
    vertical-align: -0.4rem;
    width: 1.75rem;
}

main nav.categories {
    margin-top: 1rem;
    margin-bottom: 2rem;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.25rem;
}

main nav.categories a {
    display: inline-block;
    border: 1px solid var(--color-contrast-light);
    text-decoration: none;
    border-radius: 1rem;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 400;
}


main .listing {
    display: grid;
    gap: 4rem 2%;
    grid-template-columns: repeat(3, 1fr);
}


main .listing article {
    height: 100%;
}

main .listing a {
    text-decoration: none;
}


main .listing article .image {
    overflow: hidden;
}

main .listing article .image img {
    width: 100% !important;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4/3;
}

main .listing article .meta {
    margin-bottom: 1rem;
    font-size: 0.75rem;
}

main .listing article .info h2 {
    font-size: 1.5rem;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.blog main .pagination {
    display: flex;
    justify-content: space-between;
    margin-top: 4rem;
}


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

    main .listing {
        gap: 4rem;
        grid-template-columns: repeat(1, 1fr);
        width: 100%;
    }

    main .listing article .image {
        margin: 0 -1rem;
    }

}








/**
 *
 * Shop headers
 *
 */

.archive main header.banner {
    height: 50vh;
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 30rem;
}

.archive main header.banner .background {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.archive main header.banner .background.mobile {
    display: none;
}

.archive main header.banner .info {
    position: absolute;
    max-width: 600px;
    width: 45%;
    top: 50%;
    left: 5rem;
    transform: translateY(-50%);
}

.archive main header.banner h1 {
    padding: 0;
    margin: 0;
}


.archive main header.banner div {
    line-height: 1.5;
}

@media screen and (max-width: 783px) {
    .archive main header.banner .info {
        width: calc(100% - 10rem);
    }

    .archive main header.banner .background {
        display: none;
    }

    .archive main header.banner .background.mobile {
        display: block;
    }

    .archive main header.banner h1,
    .archive main header.banner div {
        color: var(--color-base-light);
    }
}





/**
 *
 * Cart
 *
 */


.woocommerce-cart .woocommerce .quantity .qty {
    height: 2.5rem;
    min-width: 5rem;
    box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -webkit-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -moz-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    appearance: none;
    -webkit-appearance: none;
    border-radius: 1.25rem;
    padding: 0 0.5rem 0 1rem;
    font-size: 1rem;
    text-align: left;
}

.woocommerce-cart .woocommerce #coupon_code {
    padding: 0 2rem !important;
    height: 2.5rem;
    line-height: 2.5rem !important;
    border-radius: 1.75rem !important;
    font-size: 0.85rem !important;
    ;
    border: none;
    box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -webkit-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    -moz-box-shadow: 0 0 10px rgba(200, 200, 200, 0.5);
    appearance: none;
    -webkit-appearance: none;
    max-width: 100%;
    width: 10rem;
}

.woocommerce-cart .woocommerce table.shop_table {
    border-radius: 0;
}



.woocommerce-cart .woocommerce button,
.woocommerce-cart .woocommerce .button,
.woocommerce-cart .woocommerce input[type="submit"],
.woocommerce-cart .woocommerce select {
    padding: 0 2rem !important;
    height: 2.5rem;
    line-height: 2.5rem !important;
    border-radius: 1.75rem !important;
    font-size: 0.85rem !important;
    ;
    color: var(--color-base-light) !important;
    background-color: var(--color-contrast-light) !important;
    text-align: center;
    display: inline-block;
    border: none;
    max-width: 100%;
}




/**
 *
 * Shop and archives
 *
 */
.archive main {
    margin: 0;
    padding: 0;
}


.archive main section.product-archive {
	display: flex;
	gap: 2rem;
}

.archive main section.product-archive .sidebar {
	flex: 1 0 20%;
	position: sticky;
	top: 11rem;
	height: fit-content;
}
@media screen and (max-width: 800px) {
    .archive main section.product-archive .sidebar {
		display: none;
	}
}
.archive main section.product-archive .sidebar:has(div.wcpf-filter.wcpf-all-filters-disabled) {
	display: none !important;
}




ul.products {
    display: grid;
    gap: 4rem 2%;
    grid-template-columns: repeat(5, 1fr);
}

ul.products::before,
ul.products::after {
    display: none !important;
}

ul.products.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

ul.products.columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

ul.products.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

ul.products.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

ul.products.columns-1 {
    grid-template-columns: repeat(2, 1fr);
}

ul.products li {
    height: 100%;
    position: relative;
    cursor: pointer;
	padding-top: 1rem;
}

@media screen and (max-width: 783px) {
    ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    ul.products.columns-5 {
        grid-template-columns: repeat(2, 1fr);
    }

    ul.products.columns-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    ul.products.columns-2 {
        grid-template-columns: repeat(2, 1fr);
    }

    ul.products.columns-1 {
        grid-template-columns: repeat(2, 1fr);
    }
}


ul.products li a {
    text-decoration: none;
}

ul.products li .image {
    margin-bottom: 1rem;
    overflow: hidden;
    position: relative;
}

ul.products li .image img {
    width: 75%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1/1;
    margin: auto;
    display: block;
}

ul.products li .image .memberprice {
    font-size: 0.75rem;
    line-height: 1rem;
    background-color: var(--color-primary);
    border-radius: 0.75rem;
    padding: 0.15rem 0.5rem;
    display: inline-block;
    width: fit-content;
    position: absolute;
    bottom: 0;
}

ul.products li .info {
    display: grid;
    grid-template-rows: 1.25rem 1.25rem 3rem 1rem;
    margin-bottom: 1rem;
}

ul.products li .info h2 {
    /* padding-right: 1rem; */
    margin: 0.5rem 0;
	margin-bottom: 0;
	height: 2.05rem;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1;
    /*calc( (3rem - 0.5rem) / 2 );*/
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: var(--font-normal);
	text-transform: revert;
}

ul.products li .info .brand {
    font-weight: 700;
    text-decoration: none;
    font-family: var(--font-special);
	text-transform: uppercase;
}

ul.products li .info .meta {
    opacity: 1;
    color: var(--color-contrast-dark);
    text-transform: capitalize;
    font-family: var(--font-special);;
    font-size: .95rem;
    line-height: 1rem;
    font-weight: 500;
    text-decoration: none;
}

ul.products li .info .meta del {
    opacity: 0.5;
}

ul.products li .actions {
    display: flex;
    justify-content: space-between;
	gap: 1rem;
}



ul.products li a.button {
    padding: 0 2rem !important;
    height: 2.5rem;
    line-height: 2.5rem !important;
    border-radius: 1.75rem !important;
    font-size: 0.85rem !important;
    color: var(--color-base-light) !important;
    background-color: var(--color-contrast-light) !important;
    text-align: center;
    display: inline-block;
    border: none;
	flex: 1 1 20%;
}

ul.products li a.button.add_to_cart_button.added::after {
    content: "";
}

ul.products li a.button:not(.add_to_cart_button) {
    background-color: transparent !important;
    color: var(--color-contrast-light) !important;
    ;
    border: 2px solid var(--color-contrast-light);
    line-height: calc(2.5rem - 4px) !important;
}

ul.products li a.added_to_cart {
    display: none !important;
}

ul.products li .yith-wcwl-add-to-wishlist {
    margin-top: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 1.25rem;
    font-size: 1rem;
    color: var(--color-contrast-light) !important;
    border: 1px solid var(--color-contrast-light) !important;
    background: transparent url(assets/images/icon-favourite.svg);
    background-position: center;
    background-repeat: no-repeat;
    /* background-size: 1.5rem; */
}

ul.products li .yith-wcwl-add-to-wishlist.exists {
    background-color: var(--color-primary);
    border: none !important;
    ;
}

ul.products li .yith-wcwl-add-to-wishlist div,
ul.products li .yith-wcwl-add-to-wishlist a {
    width: 100%;
    height: 100%;
    display: inline-block;
    line-height: 0;
    font-size: 0;
    color: transparent;
}

ul.products li .yith-wcwl-add-to-wishlist a>* {
    display: none;
}

ul.products li .yith-wcwl-add-to-wishlist span,
ul.products li .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse,
ul.products li .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse,
ul.products li .yith-wcwl-add-to-wishlist .view-wishlist {
    display: none;
}







ul.products li.campaign-tile {
    background-color: var(--color-secondary);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

ul.products li.campaign-tile .pill {
    background-color: var(--color-contrast-light);
    color: var(--color-base-light);
    text-align: center;
    margin: 0 auto;
    width: fit-content;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    line-height: 1rem;
    border-radius: 2rem;
    font-weight: 600;
}

ul.products li.campaign-tile .info {
    display: block;
    text-align: center;
}

ul.products li.campaign-tile .info h2 {
    font-size: 1.25rem;
    font-weight: 600;
    padding-top: 0rem;
    padding-bottom: 0.5rem;
}

ul.products li.campaign-tile .info p {
    font-size: 0.85rem;
    line-height: 1;
}

ul.products li.campaign-tile .image img {
    width: 50%;
}

ul.products li.campaign-tile footer {
    text-align: center;
    font-size: 0.65rem;
    line-height: 1;
}


/**
 *
 * Badges
 *
 */
.badge-container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.25rem;
    width: 100%;
    z-index: 20;
    pointer-events: none
}

.badge-container .badge,
.badge-container>* {
    background-color: var(--color-primary);
    position: relative;
    left: unset;
    top: unset;
	
	text-align: center !important;
    margin: none !important;
    width: fit-content;
    border-radius: 1rem !important;
    padding: 0.25rem 0.75rem !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    min-height: auto !important;
    min-width: auto !important;
}

.badge-container .sold-out,
.badge-container .onsale {
    color: var(--color-contrast-light) !important;
}

.badge-container .onsale {
    background-color: var(--color-success-light) !important;
    position: relative !important;
    left: unset !important;
    top: unset !important;
}

.badge-container .sold-out {
    background-color: transparent !important;
    /* var(--color-base-grey) */
    position: absolute;
    right: 0;
}

.badge-container .sold-out::before {
    content: url(assets/images/icon-cross.svg);
    width: 0.5rem;
    display: inline-block;
    /*vertical-align: -0.15rem;*/
    cursor: pointer;
}



.badge-container .utmerkelse {
    float: none;
    position: relative !important;
    left: unset !important;
    top: unset !important;
	background-color: transparent !important;
	height: auto;
	width: 3rem;
	padding: 0 !important;
}


.badge-container .edlp {
	background-color: #F1EEE6 !important;
}





/**
 *
 * Shortcodes
 *
 */

.salespoints {
    display: flex;
    justify-content: space-between;
}

.salespoints>div {
    display: flex;
    gap: 2rem;
}

.salespoints>div img {
    max-width: 3rem;
}

.salespoints h3 {
	font-size: 1rem;
}

.salespoints h3,
.salespoints p {
    margin: 0;
}

@media screen and (max-width: 783px) {
    .salespoints {
        flex-wrap: wrap;
        gap: 2rem;
    }

    .salespoints>div {
        flex: 1 1 100%;
    }

    .salespoints>div img {
        max-width: 2rem;
    }
}

.blog-preview {
    display: grid;
    gap: 1rem;
    grid-template:
        "a b" 1fr
        "a c" 1fr
        / 2fr 1fr;
}

.blog-preview> :nth-child(1) {
    grid-area: a;
}

.blog-preview> :nth-child(2) {
    grid-area: b;
}

.blog-preview> :nth-child(3) {
    grid-area: c;
}

.blog-preview article img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    aspect-ratio: 16/10;
}

.blog-preview article {
    position: relative;
    height: 100%
}

.blog-preview article .info {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    color: var(--color-base-light);
    font-weight: 800;
}

.blog-preview article .info h2 {
    font-size: 1.55rem;
	line-height: 1;
	color: var(--color-base-light);
}


@media screen and (max-width: 783px) {
    .blog-preview {
        grid-template:
            "a" 1fr
            "b" 1fr
            "c" 1fr
            / auto;
    }
}





.popular-categories {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    overflow-x: auto;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

.popular-categories::-webkit-scrollbar {
    display: none;
}


.popular-categories .category {
    height: 100%;
    min-width: 20rem;
    max-width: 25rem;
    background-color: var(--color-base-light);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

.popular-categories .category img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 13 / 16;
}

.popular-categories .category .content {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    color: var(--color-base-light);
}

.popular-categories .category .content .name {
    font-weight: 700;
	text-transform: uppercase;
}

.popular-categories .category .content .count {}




/**
 *
 * WPCF7
 *
 */


.wpcf7-form>p {
    margin-top: 1rem;
}




/**
 *
 * Revenue Hunt - link quiz
 *
 */


.rh-modal {
	top: calc(2rem + 4.5rem) !important;
	height: calc(100% - 2rem - 4.5rem) !important;
}

.admin-bar .rh-modal {
	top: calc(46px + 2rem + 4.5rem) !important;
	height: calc(100% - 46px - 2rem - 4.5rem) !important;
}

@media screen and (min-width: 783px) {
	.rh-modal {
		top: calc(2rem + 9rem) !important;
		height: calc(100% - 2rem - 9rem) !important;
	}
	.admin-bar .rh-modal {
		top: calc(32px + 2rem + 9rem) !important;
		height: calc(100% - 32px - 2rem - 9rem) !important;
	}
}










